private/Write-VPASExportCSV.ps1

<#
.Synopsis
   Output to CSV files
   CREATED BY: Vadim Melamed, EMAIL: vpasmodule@gmail.com
.DESCRIPTION
   Helper function to output data to CSV files
#>

function Write-VPASExportCSV{
    [OutputType([bool])]
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true,Position=0)]
        [Object]$Data,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true,Position=1)]
        [String]$CommandName,

        [Parameter(Mandatory=$false,ValueFromPipelineByPropertyName=$true,Position=2)]
        [String]$CSVDirectory
    )

    Begin{

    }
    Process{
        try{
            if([String]::IsNullOrEmpty($CSVDirectory)){
                $curUser = $env:UserName
                $OutputDirectory = "C:\Users\$curUser\AppData\Local\VPASModuleOutputs\ExportedCSVs\$CommandName"
            }
            else{
                if($CSVDirectory[-1] -ne "\"){
                    $CSVDirectory += "\"
                }
                $OutputDirectory = $CSVDirectory + "$CommandName"
            }

            Write-Verbose "INITIALIZING OUTPUT DIRECTORY LOCATION: $OutputDirectory"
            if(Test-Path -Path $OutputDirectory){
                #DO NOTHING
            }
            else{
                write-verbose "$OutputDirectory DOES NOT EXIST, CREATING DIRECTORY"
                $MakeDirectory = New-Item -Path $OutputDirectory -Type Directory
            }

            $curTime = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
            $targetCSV = $OutputDirectory + "\" + "Output_$curTime.csv"

            $outputmatrix = @()
            #region AccountCommands
            if($CommandName -eq "Get-VPASAccountDetails"){
                foreach($rec in $Data){
                    $platformpropertiesstr = ""
                    $AllPlatformProperties = $rec.platformAccountProperties
                    $AllPlatformKeys = $AllPlatformProperties.psobject.Properties.name
                    foreach($prop in $AllPlatformKeys){
                        $propval = $AllPlatformProperties."$prop"
                        $platformpropertiesstr += "$prop=$propval;"
                    }

                    $minihash = [ordered]@{
                        id = $rec.id
                        address = $rec.address
                        userName = $rec.userName
                        platformId = $rec.platformId
                        safeName = $rec.safeName
                        name = $rec.name
                        secretType = $rec.secretType
                        platformAccountProperties = $platformpropertiesstr
                        createdTime = $rec.createdTime
                        secretManagement_automaticManagementEnabled = $rec.secretManagement.automaticManagementEnabled
                        secretManagement_manualManagementReason = $rec.secretManagement.manualManagementReason
                        secretManagement_status = $rec.secretManagement.status
                        secretManagement_lastModifiedTime = $rec.secretManagement.lastModifiedTime
                        secretManagement_lastReconciledTime = $rec.secretManagement.lastReconciledTime
                        secretManagement_lastVerifiedTime = $rec.secretManagement.lastVerifiedTime
                        remoteMachinesAccess_remoteMachines = $rec.remoteMachinesAccess.remoteMachines
                        remoteMachinesAccess_accessRestrictedToRemoteMachines = $rec.remoteMachinesAccess.accessRestrictedToRemoteMachines
                        categoryModificationTime = $rec.categoryModificationTime
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllAccounts"){
                foreach($rec in $Data){
                    $platformpropertiesstr = ""
                    $AllPlatformProperties = $rec.platformAccountProperties
                    $AllPlatformKeys = $AllPlatformProperties.psobject.Properties.name
                    foreach($prop in $AllPlatformKeys){
                        $propval = $AllPlatformProperties."$prop"
                        $platformpropertiesstr += "$prop=$propval;"
                    }

                    $minihash = [ordered]@{
                        id = $rec.id
                        address = $rec.address
                        userName = $rec.userName
                        platformId = $rec.platformId
                        safeName = $rec.safeName
                        name = $rec.name
                        secretType = $rec.secretType
                        platformAccountProperties = $platformpropertiesstr
                        createdTime = $rec.createdTime
                        secretManagement_automaticManagementEnabled = $rec.secretManagement.automaticManagementEnabled
                        secretManagement_manualManagementReason = $rec.secretManagement.manualManagementReason
                        secretManagement_status = $rec.secretManagement.status
                        secretManagement_lastModifiedTime = $rec.secretManagement.lastModifiedTime
                        secretManagement_lastReconciledTime = $rec.secretManagement.lastReconciledTime
                        secretManagement_lastVerifiedTime = $rec.secretManagement.lastVerifiedTime
                        remoteMachinesAccess_remoteMachines = $rec.remoteMachinesAccess.remoteMachines
                        remoteMachinesAccess_accessRestrictedToRemoteMachines = $rec.remoteMachinesAccess.accessRestrictedToRemoteMachines
                        categoryModificationTime = $rec.categoryModificationTime
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountActivity"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Alert = $rec.Alert
                        Date = $rec.Date
                        User = $rec.User
                        Action = $rec.Action
                        ActionID = $rec.ActionID
                        ClientID = $rec.ClientID
                        MoreInfo = $rec.MoreInfo
                        Reason = $rec.Reason
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountGroupMembers"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        AccountID = $rec.AccountID
                        SafeName = $rec.SafeName
                        PlatformID = $rec.PlatformID
                        Address = $rec.Address
                        UserName = $rec.UserName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountGroups"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        GroupID = $rec.GroupID
                        GroupName = $rec.GroupName
                        GroupPlatformID = $rec.GroupPlatformID
                        Safe = $rec.Safe
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIncomingRequestDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        RequestorFullName = $rec.RequestorFullName
                        RequestID = $rec.RequestID
                        SafeName = $rec.SafeName
                        RequestorUserName = $rec.RequestorUserName
                        RequestorReason = $rec.RequestorReason
                        UserReason = $rec.UserReason
                        CreationDate = $rec.CreationDate
                        Operation = $rec.Operation
                        ExpirationDate = $rec.ExpirationDate
                        OperationType = $rec.OperationType
                        AccessType = $rec.AccessType
                        ConfirmationsLeft = $rec.ConfirmationsLeft
                        AccessFrom = $rec.AccessFrom
                        AccessTo = $rec.AccessTo
                        Status = $rec.Status
                        StatusTitle = $rec.StatusTitle
                        InvalidRequestReason = $rec.InvalidRequestReason
                        CurrentConfirmationLevel = $rec.CurrentConfirmationLevel
                        RequiredConfirmersCountLevel2 = $rec.RequiredConfirmersCountLevel2
                        TicketingName = $rec.TicketingSystemProperties.Name
                        TicketingNumber = $rec.TicketingSystemProperties.Number
                        TicketingStatus = $rec.TicketingSystemProperties.Status
                        AdditionalInfo = $rec.AdditionalInfo
                        AccountID = $rec.AccountDetails.AccountID
                        AccountAddress = $rec.AccountDetails.Properties.Address
                        AccountSafe = $rec.AccountDetails.Properties.Safe
                        AccountFolder = $rec.AccountDetails.Properties.Folder
                        AccountName = $rec.AccountDetails.Properties.Name
                        AccountPolicyID = $rec.AccountDetails.Properties.PolicyID
                        AccountPlatformName = $rec.AccountDetails.Properties.PlatformName
                        AccountDeviceType = $rec.AccountDetails.Properties.DeviceType
                        AccountLastModifiedDate = $rec.AccountDetails.Properties.LastModifiedDate
                        AccountLastModifiedBy = $rec.AccountDetails.Properties.LastModifiedBy
                        AccountLastUsedDate = $rec.AccountDetails.Properties.LastUsedDate
                        AccountLastUsedBy = $rec.AccountDetails.Properties.LastUsedBy
                        AccountUserName = $rec.AccountDetails.Properties.UserName
                        AccountLockedBy = $rec.AccountDetails.Properties.LockedBy
                        AccountCPMDisabled = $rec.AccountDetails.Properties.CPMDisabled
                        AccountCPMStatus = $rec.AccountDetails.Properties.CPMStatus
                        AccountManagedByCPM = $rec.AccountDetails.Properties.ManagedByCPM
                        AccountDeletedBy = $rec.AccountDetails.Properties.DeletedBy
                        AccountDeletionDate = $rec.AccountDetails.Properties.DeletionDate
                        AccountImmediateCPMTask = $rec.AccountDetails.Properties.ImmediateCPMTask
                        AccountLastCPMTask = $rec.AccountDetails.Properties.LastCPMTask
                        AccountCreationDate = $rec.AccountDetails.Properties.CreationDate
                        AccountIsSSHKey = $rec.AccountDetails.Properties.IsSSHKey
                        AccountIsIrregularPlatform = $rec.AccountDetails.Properties.IsIrregularPlatform
                        AccountCreationMethod = $rec.AccountDetails.Properties.CreationMethod

                    }
                    $grouplen = $rec.Confirmers.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            ConfirmerType = ""
                            ConfirmerID = ""
                            ConfirmerName = ""
                            ConfirmerAction = ""
                            ConfirmerNameReason = ""
                            ConfirmerActionDate = ""
                            ConfirmerMembers = ""
                            ConfirmerFullName = ""
                            ConfirmerEmail = ""
                            ConfirmerPhone = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.Confirmers){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                ConfirmerType = $group.Type
                                ConfirmerID = $group.ID
                                ConfirmerName = $group.Name
                                ConfirmerAction = $group.Action
                                ConfirmerReason = $group.Reason
                                ConfirmerActionDate = $group.ActionDate
                                ConfirmerMembers = $group.Members
                                ConfirmerFullName = $group.AdditionalDetails.fullname
                                ConfirmerEmail = $group.AdditionalDetails.email
                                ConfirmerPhone = $group.AdditionalDetails.phone
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountRequestDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        RequestID = $rec.RequestID
                        SafeName = $rec.SafeName
                        RequestorUserName = $rec.RequestorUserName
                        RequestorReason = $rec.RequestorReason
                        UserReason = $rec.UserReason
                        CreationDate = $rec.CreationDate
                        Operation = $rec.Operation
                        ExpirationDate = $rec.ExpirationDate
                        OperationType = $rec.OperationType
                        AccessType = $rec.AccessType
                        ConfirmationsLeft = $rec.ConfirmationsLeft
                        AccessFrom = $rec.AccessFrom
                        AccessTo = $rec.AccessTo
                        Status = $rec.Status
                        StatusTitle = $rec.StatusTitle
                        InvalidRequestReason = $rec.InvalidRequestReason
                        CurrentConfirmationLevel = $rec.CurrentConfirmationLevel
                        RequiredConfirmersCountLevel2 = $rec.RequiredConfirmersCountLevel2
                        TicketingName = $rec.TicketingSystemProperties.Name
                        TicketingNumber = $rec.TicketingSystemProperties.Number
                        TicketingStatus = $rec.TicketingSystemProperties.Status
                        AdditionalInfo = $rec.AdditionalInfo
                        AccountID = $rec.AccountDetails.AccountID
                        AccountAddress = $rec.AccountDetails.Properties.Address
                        AccountSafe = $rec.AccountDetails.Properties.Safe
                        AccountFolder = $rec.AccountDetails.Properties.Folder
                        AccountName = $rec.AccountDetails.Properties.Name
                        AccountPolicyID = $rec.AccountDetails.Properties.PolicyID
                        AccountPlatformName = $rec.AccountDetails.Properties.PlatformName
                        AccountDeviceType = $rec.AccountDetails.Properties.DeviceType
                        AccountLastModifiedDate = $rec.AccountDetails.Properties.LastModifiedDate
                        AccountLastModifiedBy = $rec.AccountDetails.Properties.LastModifiedBy
                        AccountLastUsedDate = $rec.AccountDetails.Properties.LastUsedDate
                        AccountLastUsedBy = $rec.AccountDetails.Properties.LastUsedBy
                        AccountUserName = $rec.AccountDetails.Properties.UserName
                        AccountLockedBy = $rec.AccountDetails.Properties.LockedBy
                        AccountCPMDisabled = $rec.AccountDetails.Properties.CPMDisabled
                        AccountCPMStatus = $rec.AccountDetails.Properties.CPMStatus
                        AccountManagedByCPM = $rec.AccountDetails.Properties.ManagedByCPM
                        AccountDeletedBy = $rec.AccountDetails.Properties.DeletedBy
                        AccountDeletionDate = $rec.AccountDetails.Properties.DeletionDate
                        AccountImmediateCPMTask = $rec.AccountDetails.Properties.ImmediateCPMTask
                        AccountLastCPMTask = $rec.AccountDetails.Properties.LastCPMTask
                        AccountCreationDate = $rec.AccountDetails.Properties.CreationDate
                        AccountIsSSHKey = $rec.AccountDetails.Properties.IsSSHKey
                        AccountIsIrregularPlatform = $rec.AccountDetails.Properties.IsIrregularPlatform
                        AccountCreationMethod = $rec.AccountDetails.Properties.CreationMethod

                    }
                    $grouplen = $rec.Confirmers.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            ConfirmerType = ""
                            ConfirmerID = ""
                            ConfirmerName = ""
                            ConfirmerAction = ""
                            ConfirmerNameReason = ""
                            ConfirmerActionDate = ""
                            ConfirmerMembers = ""
                            ConfirmerFullName = ""
                            ConfirmerEmail = ""
                            ConfirmerPhone = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.Confirmers){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                ConfirmerType = $group.Type
                                ConfirmerID = $group.ID
                                ConfirmerName = $group.Name
                                ConfirmerAction = $group.Action
                                ConfirmerReason = $group.Reason
                                ConfirmerActionDate = $group.ActionDate
                                ConfirmerMembers = $group.Members
                                ConfirmerFullName = $group.AdditionalDetails.fullname
                                ConfirmerEmail = $group.AdditionalDetails.email
                                ConfirmerPhone = $group.AdditionalDetails.phone
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllAccountRequests"){
                foreach($rec in $Data.MyRequests){
                    $minihash = [ordered]@{
                        RequestID = $rec.RequestID
                        SafeName = $rec.SafeName
                        RequestorUserName = $rec.RequestorUserName
                        RequestorReason = $rec.RequestorReason
                        UserReason = $rec.UserReason
                        CreationDate = $rec.CreationDate
                        Operation = $rec.Operation
                        ExpirationDate = $rec.ExpirationDate
                        OperationType = $rec.OperationType
                        AccessType = $rec.AccessType
                        ConfirmationsLeft = $rec.ConfirmationsLeft
                        AccessFrom = $rec.AccessFrom
                        AccessTo = $rec.AccessTo
                        Status = $rec.Status
                        StatusTitle = $rec.StatusTitle
                        InvalidRequestReason = $rec.InvalidRequestReason
                        CurrentConfirmationLevel = $rec.CurrentConfirmationLevel
                        RequiredConfirmersCountLevel2 = $rec.RequiredConfirmersCountLevel2
                        TicketingName = $rec.TicketingSystemProperties.Name
                        TicketingNumber = $rec.TicketingSystemProperties.Number
                        TicketingStatus = $rec.TicketingSystemProperties.Status
                        AdditionalInfo = $rec.AdditionalInfo
                        AccountID = $rec.AccountDetails.AccountID
                        AccountAddress = $rec.AccountDetails.Properties.Address
                        AccountSafe = $rec.AccountDetails.Properties.Safe
                        AccountFolder = $rec.AccountDetails.Properties.Folder
                        AccountName = $rec.AccountDetails.Properties.Name
                        AccountPolicyID = $rec.AccountDetails.Properties.PolicyID
                        AccountPlatformName = $rec.AccountDetails.Properties.PlatformName
                        AccountDeviceType = $rec.AccountDetails.Properties.DeviceType
                        AccountLastModifiedDate = $rec.AccountDetails.Properties.LastModifiedDate
                        AccountLastModifiedBy = $rec.AccountDetails.Properties.LastModifiedBy
                        AccountLastUsedDate = $rec.AccountDetails.Properties.LastUsedDate
                        AccountLastUsedBy = $rec.AccountDetails.Properties.LastUsedBy
                        AccountUserName = $rec.AccountDetails.Properties.UserName
                        AccountLockedBy = $rec.AccountDetails.Properties.LockedBy
                        AccountCPMDisabled = $rec.AccountDetails.Properties.CPMDisabled
                        AccountCPMStatus = $rec.AccountDetails.Properties.CPMStatus
                        AccountManagedByCPM = $rec.AccountDetails.Properties.ManagedByCPM
                        AccountDeletedBy = $rec.AccountDetails.Properties.DeletedBy
                        AccountDeletionDate = $rec.AccountDetails.Properties.DeletionDate
                        AccountImmediateCPMTask = $rec.AccountDetails.Properties.ImmediateCPMTask
                        AccountLastCPMTask = $rec.AccountDetails.Properties.LastCPMTask
                        AccountCreationDate = $rec.AccountDetails.Properties.CreationDate
                        AccountIsSSHKey = $rec.AccountDetails.Properties.IsSSHKey
                        AccountIsIrregularPlatform = $rec.AccountDetails.Properties.IsIrregularPlatform
                        AccountCreationMethod = $rec.AccountDetails.Properties.CreationMethod

                    }
                    $grouplen = $rec.Confirmers.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            ConfirmerType = ""
                            ConfirmerID = ""
                            ConfirmerName = ""
                            ConfirmerAction = ""
                            ConfirmerNameReason = ""
                            ConfirmerActionDate = ""
                            ConfirmerMembers = ""
                            ConfirmerFullName = ""
                            ConfirmerEmail = ""
                            ConfirmerPhone = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.Confirmers){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                ConfirmerType = $group.Type
                                ConfirmerID = $group.ID
                                ConfirmerName = $group.Name
                                ConfirmerAction = $group.Action
                                ConfirmerReason = $group.Reason
                                ConfirmerActionDate = $group.ActionDate
                                ConfirmerMembers = $group.Members
                                ConfirmerFullName = $group.AdditionalDetails.fullname
                                ConfirmerEmail = $group.AdditionalDetails.email
                                ConfirmerPhone = $group.AdditionalDetails.phone
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllIncomingRequests"){
                foreach($rec in $Data.IncomingRequests){
                    $minihash = [ordered]@{
                        RequestorFullName = $rec.RequestorFullName
                        RequestID = $rec.RequestID
                        SafeName = $rec.SafeName
                        RequestorUserName = $rec.RequestorUserName
                        RequestorReason = $rec.RequestorReason
                        UserReason = $rec.UserReason
                        CreationDate = $rec.CreationDate
                        Operation = $rec.Operation
                        ExpirationDate = $rec.ExpirationDate
                        OperationType = $rec.OperationType
                        AccessType = $rec.AccessType
                        ConfirmationsLeft = $rec.ConfirmationsLeft
                        AccessFrom = $rec.AccessFrom
                        AccessTo = $rec.AccessTo
                        Status = $rec.Status
                        StatusTitle = $rec.StatusTitle
                        InvalidRequestReason = $rec.InvalidRequestReason
                        CurrentConfirmationLevel = $rec.CurrentConfirmationLevel
                        RequiredConfirmersCountLevel2 = $rec.RequiredConfirmersCountLevel2
                        TicketingName = $rec.TicketingSystemProperties.Name
                        TicketingNumber = $rec.TicketingSystemProperties.Number
                        TicketingStatus = $rec.TicketingSystemProperties.Status
                        AdditionalInfo = $rec.AdditionalInfo
                        AccountID = $rec.AccountDetails.AccountID
                        AccountAddress = $rec.AccountDetails.Properties.Address
                        AccountSafe = $rec.AccountDetails.Properties.Safe
                        AccountFolder = $rec.AccountDetails.Properties.Folder
                        AccountName = $rec.AccountDetails.Properties.Name
                        AccountPolicyID = $rec.AccountDetails.Properties.PolicyID
                        AccountPlatformName = $rec.AccountDetails.Properties.PlatformName
                        AccountDeviceType = $rec.AccountDetails.Properties.DeviceType
                        AccountLastModifiedDate = $rec.AccountDetails.Properties.LastModifiedDate
                        AccountLastModifiedBy = $rec.AccountDetails.Properties.LastModifiedBy
                        AccountLastUsedDate = $rec.AccountDetails.Properties.LastUsedDate
                        AccountLastUsedBy = $rec.AccountDetails.Properties.LastUsedBy
                        AccountUserName = $rec.AccountDetails.Properties.UserName
                        AccountLockedBy = $rec.AccountDetails.Properties.LockedBy
                        AccountCPMDisabled = $rec.AccountDetails.Properties.CPMDisabled
                        AccountCPMStatus = $rec.AccountDetails.Properties.CPMStatus
                        AccountManagedByCPM = $rec.AccountDetails.Properties.ManagedByCPM
                        AccountDeletedBy = $rec.AccountDetails.Properties.DeletedBy
                        AccountDeletionDate = $rec.AccountDetails.Properties.DeletionDate
                        AccountImmediateCPMTask = $rec.AccountDetails.Properties.ImmediateCPMTask
                        AccountLastCPMTask = $rec.AccountDetails.Properties.LastCPMTask
                        AccountCreationDate = $rec.AccountDetails.Properties.CreationDate
                        AccountIsSSHKey = $rec.AccountDetails.Properties.IsSSHKey
                        AccountIsIrregularPlatform = $rec.AccountDetails.Properties.IsIrregularPlatform
                        AccountCreationMethod = $rec.AccountDetails.Properties.CreationMethod

                    }
                    $grouplen = $rec.Confirmers.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            ConfirmerType = ""
                            ConfirmerID = ""
                            ConfirmerName = ""
                            ConfirmerAction = ""
                            ConfirmerNameReason = ""
                            ConfirmerActionDate = ""
                            ConfirmerMembers = ""
                            ConfirmerFullName = ""
                            ConfirmerEmail = ""
                            ConfirmerPhone = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.Confirmers){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                ConfirmerType = $group.Type
                                ConfirmerID = $group.ID
                                ConfirmerName = $group.Name
                                ConfirmerAction = $group.Action
                                ConfirmerReason = $group.Reason
                                ConfirmerActionDate = $group.ActionDate
                                ConfirmerMembers = $group.Members
                                ConfirmerFullName = $group.AdditionalDetails.fullname
                                ConfirmerEmail = $group.AdditionalDetails.email
                                ConfirmerPhone = $group.AdditionalDetails.phone
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPasswordHistory"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        versionID = $rec.versionID
                        modifiedBy = $rec.modifiedBy
                        modificationDate = $rec.modificationDate
                        isTemporary = $rec.isTemporary
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountDetailsExtended"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        AccountID = $rec.AccountID
                        IsCompliant = $rec.Compliance.IsCompliant
                        LastModifiedDate = $rec.Compliance.LastModifiedDate
                        LastModifiedBy = $rec.Compliance.LastModifiedBy
                        ModificationType = $rec.Compliance.ModificationType
                        TotalDependencies = $rec.TotalDependencies
                        FailedDependencies = $rec.FailedDependencies
                        LastVerifiedDate = $rec.Details.LastVerifiedDate
                        LastVerifiedBy = $rec.Details.LastVerifiedBy
                        LastUsedBy = $rec.Details.LastUsedBy
                        LastUsedDate = $rec.Details.LastUsedDate
                        CreationDate = $rec.Details.CreationDate
                        Name = $rec.Details.Name
                        CreatedTime = $rec.Details.CreatedTime
                        AccountURL = $rec.Details.AccountURL
                        ManagedByCPM = $rec.Details.ManagedByCPM
                        CPMDisabled = $rec.Details.CPMDisabled
                        CPMStatus = $rec.Details.CPMStatus
                        CPMErrorDetails = $rec.Details.CPMErrorDetails
                        ImmediateCPMTask = $rec.Details.ImmediateCPMTask
                        DeletedBy = $rec.Details.DeletedBy
                        DeletionDate = $rec.Details.DeletionDate
                        LockedBy = $rec.Details.LockedBy
                        IsFavorite = $rec.Details.IsFavorite
                        IsNew = $rec.Details.IsNew
                        SafeName = $rec.Details.SafeName
                        IsGroupMember = $rec.Details.IsGroupMember
                        DualControlStatus = $rec.Details.DualControlStatus
                        LimitDomainAccess = $rec.Details.LimitDomainAccess
                        AccessDomainList = $rec.Details.AccessDomainList
                        RequestId = $rec.Details.RequestId
                        FutureTimeFrame = $rec.Details.FutureTimeFrame
                        VerificationPeriod = $rec.Platform.VerificationPeriod
                        ExpirationPeriod = $rec.Platform.ExpirationPeriod
                        HeadStartInterval = $rec.Platform.HeadStartInterval
                        PlatformID = $rec.Platform.PlatformID
                        PlatformName = $rec.Platform.PlatformName
                        IsActive = $rec.Platform.IsActive
                    }
                    $str = ""
                    foreach($client in $rec.Details.RequiredProperties.psobject.properties.name){
                        if(![String]::IsNullOrEmpty($client) -and $client -ne "Length"){
                            $clientval = $rec.Details.RequiredProperties.$client
                            $str += "$client=$clientval;"
                        }
                    }
                    $minihash += @{ RequiredProperties = $str }
                    $str = ""
                    foreach($client in $rec.Details.OptionalProperties.psobject.properties.name){
                        if(![String]::IsNullOrEmpty($client) -and $client -ne "Length"){
                            $clientval = $rec.Details.OptionalProperties.$client
                            $str += "$client=$clientval;"
                        }
                    }
                    $minihash += @{ OptionalProperties = $str }

                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAccountCompliance"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        IsCompliant = $rec.IsCompliant
                        AccountID = $rec.AccountID
                        Safe = $rec.Safe
                        Address = $rec.Address
                        Username = $rec.Username
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                        LastUsedBy = $rec.LastUsedBy
                        LastUsedDate = $rec.LastUsedDate
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion AccountCommands
            #region VaultCommands
            if($CommandName -eq "Get-VPASAllowedIPs"){
                foreach($rec in $Data){
                    foreach($ip in $rec.customerPublicIPs){
                        $minihash = [ordered]@{
                            lastTaskId = $rec.lastTaskId
                            dateUpdated = $rec.dateUpdated
                            updateInProgress = $rec.updateInProgress
                            customerPublicIPs = $ip
                        }
                        $convertobj = [PSCustomObject]$minihash
                        $outputmatrix += $convertobj
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllowedReferrer"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        referrerURL = $rec.referrerURL
                        regularExpression = $rec.regularExpression
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASVaultDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        ServerName = $rec.ServerName
                        ServerId = $rec.ServerId
                        ApplicationName = $rec.ApplicationName
                    }
                    foreach($key in $rec.Features.psobject.Properties.name){
                        $val = $rec.Features."$key"
                        $minihash += @{
                            $key = $val
                        }
                    }
                    foreach($rec2 in $rec.AuthenticationMethods){
                        $minihash += @{
                            $rec2.Id = $rec2.Enabled
                        }
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSpecificAuthenticationMethod"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        id = $rec.id
                        displayName = $rec.displayName
                        enabled = $rec.enabled
                        logoffUrl = $rec.logoffUrl
                        secondFactorAuth = $rec.secondFactorAuth
                        signInLabel = $rec.signInLabel
                        usernameFieldLabel = $rec.usernameFieldLabel
                        passwordFieldLabel = $rec.passwordFieldLabel
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAuthenticationMethods"){
                foreach($rec in $Data.Methods){
                    $minihash = [ordered]@{
                        id = $rec.id
                        displayName = $rec.displayName
                        enabled = $rec.enabled
                        logoffUrl = $rec.logoffUrl
                        secondFactorAuth = $rec.secondFactorAuth
                        signInLabel = $rec.signInLabel
                        usernameFieldLabel = $rec.usernameFieldLabel
                        passwordFieldLabel = $rec.passwordFieldLabel
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSystemComponents"){
                foreach($rec in $Data.Components){
                    $minihash = [ordered]@{
                        ComponentID = $rec.ComponentID
                        ComponentName = $rec.ComponentName
                        Description = $rec.Description
                        ConnectedComponentCount = $rec.ConnectedComponentCount
                        ComponentTotalCount = $rec.ComponentTotalCount
                        ComponentSpecificStat = $rec.ComponentSpecificStat
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSystemHealth"){
                foreach($rec in $Data.ComponentsDetails){
                    $minihash = [ordered]@{
                        ComponentIP = $rec.ComponentIP
                        ComponentUserName = $rec.ComponentUserName
                        ComponentVersion = $rec.ComponentVersion
                        ComponentSpecificStat = $rec.ComponentSpecificStat
                        IsLoggedOn = $rec.IsLoggedOn
                        LastLogonDate = $rec.LastLogonDate
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASVaultVersion"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        ExternalVersion = $rec.ExternalVersion
                        InternalVersion = $rec.InternalVersion
                        ServerName = $rec.ServerName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSearchProperties"){
                foreach($rec in $Data.advancedSearchProperties){
                    foreach($key in $rec.psobject.Properties.name){
                        $minihash = [ordered]@{
                            Property = $key
                        }
                        $str = ""
                        foreach($client in $rec.$key.validValues){
                            if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                        }
                        $minihash += @{ validValues = $str }
                        $str = ""
                        foreach($client in $rec.$key.supportedOperators){
                            if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                        }
                        $minihash += @{ supportedOperators = $str }
                        $str = ""
                        foreach($client in $rec.$key.supportedLogicalOperators){
                            if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                        }
                        $minihash += @{ supportedLogicalOperators = $str }

                        $convertobj = [PSCustomObject]$minihash
                        $outputmatrix += $convertobj
                    }
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllCustomThemes"){
                foreach($rec in $Data.CustomThemes){
                    $minihash = [ordered]@{
                        isActive = $rec.isActive
                        isSystem = $rec.isSystem
                        name = $rec.name
                        isDraft = $rec.isDraft
                        mainBackgroundImage = $rec.images.main.mainBackgroundImage
                        mainLogoDark = $rec.images.main.mainLogoDark
                        advancedSmallLogo = $rec.images.main.advancedSmallLogo
                        advancedSymbolLogo = $rec.images.main.advancedSymbolLogo
                        colorsStyle = $rec.colors.colorsStyle
                        BackgroundMain = $rec.colors.definitionByType.dark.backgroundMain
                        darkBorderMain = $rec.colors.definitionByType.dark.borderMain
                        darkTextMain = $rec.colors.definitionByType.dark.textMain
                        darkDisableMain = $rec.colors.definitionByType.dark.disableMain
                        darkDisableTextPrimary = $rec.colors.definitionByType.dark.disableTextPrimary
                        darkDisableBackgroundPrimary = $rec.colors.definitionByType.dark.disableBackgroundPrimary
                        darkSuccessPrimary = $rec.colors.definitionByType.dark.successPrimary
                        darkSuccessSecondary = $rec.colors.definitionByType.dark.successSecondary
                        darkWarningPrimary = $rec.colors.definitionByType.dark.warningPrimary
                        darkWarningSecondary = $rec.colors.definitionByType.dark.warningSecondary
                        darkInfoPrimary = $rec.colors.definitionByType.dark.infoPrimary
                        darkInfoSecondary = $rec.colors.definitionByType.dark.infoSecondary
                        darkErrorPrimary = $rec.colors.definitionByType.dark.errorPrimary
                        darkErrorSecondary = $rec.colors.definitionByType.dark.errorSecondary
                        brightBackgroundMain = $rec.colors.definitionByType.bright.backgroundMain
                        brightBorderMain = $rec.colors.definitionByType.bright.borderMain
                        brightTextMain = $rec.colors.definitionByType.bright.textMain
                        brightDisableMain = $rec.colors.definitionByType.bright.disableMain
                        brightDisableTextPrimary = $rec.colors.definitionByType.bright.disableTextPrimary
                        brightDisableBackgroundPrimary = $rec.colors.definitionByType.bright.disableBackgroundPrimary
                        brightSuccessPrimary = $rec.colors.definitionByType.bright.successPrimary
                        brightSuccessSecondary = $rec.colors.definitionByType.bright.successSecondary
                        brightWarningPrimary = $rec.colors.definitionByType.bright.warningPrimary
                        brightWarningSecondary = $rec.colors.definitionByType.bright.warningSecondary
                        brightInfoPrimary = $rec.colors.definitionByType.bright.infoPrimary
                        brightInfoSecondary = $rec.colors.definitionByType.bright.infoSecondary
                        brightErrorPrimary = $rec.colors.definitionByType.bright.errorPrimary
                        brightErrorSecondary = $rec.colors.definitionByType.bright.errorSecondary
                        menuLogoBackground = $rec.colors.menu.menuLogoBackground
                        menuBackground = $rec.colors.menu.menuBackground
                        menuHoverBackground = $rec.colors.menu.menuHoverBackground
                        menuActiveBackgroundPrimary = $rec.colors.menu.menuActiveBackgroundPrimary
                        menuActiveBackgroundSecondary = $rec.colors.menu.menuActiveBackgroundSecondary
                        menuText = $rec.colors.menu.menuText
                        menuTextActive = $rec.colors.menu.menuTextActive
                        menuIcon = $rec.colors.menu.menuIcon
                        advancedBackgroundMain = $rec.colors.advanced.backgroundMain
                        advancedBorderMain = $rec.colors.advanced.borderMain
                        advancedTextMain = $rec.colors.advanced.textMain
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCustomTheme"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        isActive = $rec.isActive
                        isSystem = $rec.isSystem
                        name = $rec.name
                        isDraft = $rec.isDraft
                        mainBackgroundImage = $rec.images.main.mainBackgroundImage
                        mainLogoDark = $rec.images.main.mainLogoDark
                        advancedSmallLogo = $rec.images.main.advancedSmallLogo
                        advancedSymbolLogo = $rec.images.main.advancedSymbolLogo
                        colorsStyle = $rec.colors.colorsStyle
                        BackgroundMain = $rec.colors.definitionByType.dark.backgroundMain
                        darkBorderMain = $rec.colors.definitionByType.dark.borderMain
                        darkTextMain = $rec.colors.definitionByType.dark.textMain
                        darkDisableMain = $rec.colors.definitionByType.dark.disableMain
                        darkDisableTextPrimary = $rec.colors.definitionByType.dark.disableTextPrimary
                        darkDisableBackgroundPrimary = $rec.colors.definitionByType.dark.disableBackgroundPrimary
                        darkSuccessPrimary = $rec.colors.definitionByType.dark.successPrimary
                        darkSuccessSecondary = $rec.colors.definitionByType.dark.successSecondary
                        darkWarningPrimary = $rec.colors.definitionByType.dark.warningPrimary
                        darkWarningSecondary = $rec.colors.definitionByType.dark.warningSecondary
                        darkInfoPrimary = $rec.colors.definitionByType.dark.infoPrimary
                        darkInfoSecondary = $rec.colors.definitionByType.dark.infoSecondary
                        darkErrorPrimary = $rec.colors.definitionByType.dark.errorPrimary
                        darkErrorSecondary = $rec.colors.definitionByType.dark.errorSecondary
                        brightBackgroundMain = $rec.colors.definitionByType.bright.backgroundMain
                        brightBorderMain = $rec.colors.definitionByType.bright.borderMain
                        brightTextMain = $rec.colors.definitionByType.bright.textMain
                        brightDisableMain = $rec.colors.definitionByType.bright.disableMain
                        brightDisableTextPrimary = $rec.colors.definitionByType.bright.disableTextPrimary
                        brightDisableBackgroundPrimary = $rec.colors.definitionByType.bright.disableBackgroundPrimary
                        brightSuccessPrimary = $rec.colors.definitionByType.bright.successPrimary
                        brightSuccessSecondary = $rec.colors.definitionByType.bright.successSecondary
                        brightWarningPrimary = $rec.colors.definitionByType.bright.warningPrimary
                        brightWarningSecondary = $rec.colors.definitionByType.bright.warningSecondary
                        brightInfoPrimary = $rec.colors.definitionByType.bright.infoPrimary
                        brightInfoSecondary = $rec.colors.definitionByType.bright.infoSecondary
                        brightErrorPrimary = $rec.colors.definitionByType.bright.errorPrimary
                        brightErrorSecondary = $rec.colors.definitionByType.bright.errorSecondary
                        menuLogoBackground = $rec.colors.menu.menuLogoBackground
                        menuBackground = $rec.colors.menu.menuBackground
                        menuHoverBackground = $rec.colors.menu.menuHoverBackground
                        menuActiveBackgroundPrimary = $rec.colors.menu.menuActiveBackgroundPrimary
                        menuActiveBackgroundSecondary = $rec.colors.menu.menuActiveBackgroundSecondary
                        menuText = $rec.colors.menu.menuText
                        menuTextActive = $rec.colors.menu.menuTextActive
                        menuIcon = $rec.colors.menu.menuIcon
                        advancedBackgroundMain = $rec.colors.advanced.backgroundMain
                        advancedBorderMain = $rec.colors.advanced.borderMain
                        advancedTextMain = $rec.colors.advanced.textMain
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCurrentCustomTheme"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        isActive = $rec.isActive
                        isSystem = $rec.isSystem
                        name = $rec.name
                        isDraft = $rec.isDraft
                        mainBackgroundImage = $rec.images.main.mainBackgroundImage
                        mainLogoDark = $rec.images.main.mainLogoDark
                        advancedSmallLogo = $rec.images.main.advancedSmallLogo
                        advancedSymbolLogo = $rec.images.main.advancedSymbolLogo
                        colorsStyle = $rec.colors.colorsStyle
                        BackgroundMain = $rec.colors.definitionByType.dark.backgroundMain
                        darkBorderMain = $rec.colors.definitionByType.dark.borderMain
                        darkTextMain = $rec.colors.definitionByType.dark.textMain
                        darkDisableMain = $rec.colors.definitionByType.dark.disableMain
                        darkDisableTextPrimary = $rec.colors.definitionByType.dark.disableTextPrimary
                        darkDisableBackgroundPrimary = $rec.colors.definitionByType.dark.disableBackgroundPrimary
                        darkSuccessPrimary = $rec.colors.definitionByType.dark.successPrimary
                        darkSuccessSecondary = $rec.colors.definitionByType.dark.successSecondary
                        darkWarningPrimary = $rec.colors.definitionByType.dark.warningPrimary
                        darkWarningSecondary = $rec.colors.definitionByType.dark.warningSecondary
                        darkInfoPrimary = $rec.colors.definitionByType.dark.infoPrimary
                        darkInfoSecondary = $rec.colors.definitionByType.dark.infoSecondary
                        darkErrorPrimary = $rec.colors.definitionByType.dark.errorPrimary
                        darkErrorSecondary = $rec.colors.definitionByType.dark.errorSecondary
                        brightBackgroundMain = $rec.colors.definitionByType.bright.backgroundMain
                        brightBorderMain = $rec.colors.definitionByType.bright.borderMain
                        brightTextMain = $rec.colors.definitionByType.bright.textMain
                        brightDisableMain = $rec.colors.definitionByType.bright.disableMain
                        brightDisableTextPrimary = $rec.colors.definitionByType.bright.disableTextPrimary
                        brightDisableBackgroundPrimary = $rec.colors.definitionByType.bright.disableBackgroundPrimary
                        brightSuccessPrimary = $rec.colors.definitionByType.bright.successPrimary
                        brightSuccessSecondary = $rec.colors.definitionByType.bright.successSecondary
                        brightWarningPrimary = $rec.colors.definitionByType.bright.warningPrimary
                        brightWarningSecondary = $rec.colors.definitionByType.bright.warningSecondary
                        brightInfoPrimary = $rec.colors.definitionByType.bright.infoPrimary
                        brightInfoSecondary = $rec.colors.definitionByType.bright.infoSecondary
                        brightErrorPrimary = $rec.colors.definitionByType.bright.errorPrimary
                        brightErrorSecondary = $rec.colors.definitionByType.bright.errorSecondary
                        menuLogoBackground = $rec.colors.menu.menuLogoBackground
                        menuBackground = $rec.colors.menu.menuBackground
                        menuHoverBackground = $rec.colors.menu.menuHoverBackground
                        menuActiveBackgroundPrimary = $rec.colors.menu.menuActiveBackgroundPrimary
                        menuActiveBackgroundSecondary = $rec.colors.menu.menuActiveBackgroundSecondary
                        menuText = $rec.colors.menu.menuText
                        menuTextActive = $rec.colors.menu.menuTextActive
                        menuIcon = $rec.colors.menu.menuIcon
                        advancedBackgroundMain = $rec.colors.advanced.backgroundMain
                        advancedBorderMain = $rec.colors.advanced.borderMain
                        advancedTextMain = $rec.colors.advanced.textMain
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDirectoryDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        DirectoryType = $rec.DirectoryType
                        BindUsername = $rec.BindUsername
                        BindPassword = $rec.BindPassword
                        SSLConnect = $rec.SSLConnect
                        LDAPDirectoryName = $rec.LDAPDirectoryName
                        LDAPDirectoryQueryOrder = $rec.LDAPDirectoryQueryOrder
                        LDAPDirectoryDescription = $rec.LDAPDirectoryDescription
                        VaultObjectNamesPrefix = $rec.VaultObjectNamesPrefix
                        PasswordObjectPath = $rec.PasswordObjectPath
                        LDAPDirectoryGroupBaseContext = $rec.LDAPDirectoryGroupBaseContext
                        ReferralsChasingHopLimit = $rec.ReferralsChasingHopLimit
                        AppendFriendlyDomainNameToGroup = $rec.AppendFriendlyDomainNameToGroup
                        RequireReferredDirectoryDefinition = $rec.RequireReferredDirectoryDefinition
                        ReferralsDNSLookup = $rec.ReferralsDNSLookup
                        DisableUserEnumeration = $rec.DisableUserEnumeration
                        AdditionalQueryFilterOptimize = $rec.AdditionalQueryFilterOptimize
                        ClientBrowsing = $rec.ClientBrowsing
                        ExternalObjectCreation = $rec.ExternalObjectCreation
                        Authentication = $rec.Authentication
                        UseLDAPCertificatesOnly = $rec.UseLDAPCertificatesOnly
                        DisablePaging = $rec.DisablePaging
                        ProvisionDisabledUsers = $rec.ProvisionDisabledUsers
                        DomainName = $rec.DomainName
                        DomainBaseContext = $rec.DomainBaseContext
                    }
                    $str = ""
                    foreach($client in $rec.LDAPDirectoryUsage){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        LDAPDirectoryUsage = $str
                    }

                    $grouplen = $rec.DCList.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            Name = ""
                            Port = ""
                            DcSSLConnect = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.DCList){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                Name = $group.Name
                                Port = $group.Port
                                DcSSLConnect = $group.SSLConnect
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDirectoryMappingDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        LDAPBranch = $rec.LDAPBranch
                        Location = $rec.Location
                        UserType = $rec.UserType
                        DisableUser = $rec.DisableUser
                        UserActivityLogPeriod = $rec.UserActivityLogPeriod
                        UserExpiration = $rec.UserExpiration
                        LogonFromHour = $rec.LogonFromHour
                        LogonToHour = $rec.LogonToHour
                        UsedQuota = $rec.UsedQuota
                        EnableENEWhenDisconnected = $rec.EnableENEWhenDisconnected
                        MappingID = $rec.MappingID
                        DirectoryMappingOrder = $rec.DirectoryMappingOrder
                        MappingName = $rec.MappingName
                        LDAPQuery = $rec.LDAPQuery
                        DomainGroupsSearchType = $rec.DomainGroupsSearchType
                    }
                    $str = ""
                    foreach($client in $rec.AuthenticationMethod){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AuthenticationMethod = $str }

                    $str = ""
                    foreach($client in $rec.MappingAuthorizations){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ MappingAuthorizations = $str }

                    $str = ""
                    foreach($client in $rec.AuthorizedInterfaces){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AuthorizedInterfaces = $str }

                    $str = ""
                    foreach($client in $rec.DomainGroups){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ DomainGroups = $str }

                    $str = ""
                    foreach($client in $rec.AllowedAuthenticationMethods){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AllowedAuthenticationMethods = $str }

                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDirectoryMappings"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        LDAPBranch = $rec.LDAPBranch
                        Location = $rec.Location
                        UserType = $rec.UserType
                        DisableUser = $rec.DisableUser
                        UserActivityLogPeriod = $rec.UserActivityLogPeriod
                        UserExpiration = $rec.UserExpiration
                        LogonFromHour = $rec.LogonFromHour
                        LogonToHour = $rec.LogonToHour
                        UsedQuota = $rec.UsedQuota
                        EnableENEWhenDisconnected = $rec.EnableENEWhenDisconnected
                        MappingID = $rec.MappingID
                        DirectoryMappingOrder = $rec.DirectoryMappingOrder
                        MappingName = $rec.MappingName
                        LDAPQuery = $rec.LDAPQuery
                        DomainGroupsSearchType = $rec.DomainGroupsSearchType
                    }
                    $str = ""
                    foreach($client in $rec.AuthenticationMethod){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AuthenticationMethod = $str }

                    $str = ""
                    foreach($client in $rec.MappingAuthorizations){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ MappingAuthorizations = $str }

                    $str = ""
                    foreach($client in $rec.AuthorizedInterfaces){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AuthorizedInterfaces = $str }

                    $str = ""
                    foreach($client in $rec.DomainGroups){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ DomainGroups = $str }

                    $str = ""
                    foreach($client in $rec.AllowedAuthenticationMethods){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ AllowedAuthenticationMethods = $str }

                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllDirectories"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        DomainName = $rec.DomainName
                        DomainBaseContext = $rec.DomainBaseContext
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion VaultCommands
            #region SafeCommands
            if($CommandName -eq "Get-VPASAllSafes"){
                foreach($rec in $Data){
                    $accountstr = ""
                    $AllAccounts = $rec.accounts
                    foreach($acct in $AllAccounts){
                        $acctID = $acct.id
                        $acctName = $acct.name
                        $accountstr += "$acctID=$acctName;"
                    }

                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        description = $rec.description
                        location = $rec.location
                        creatorID = $rec.creator.id
                        creatorName = $rec.creator.name
                        olacEnabled = $rec.olacEnabled
                        managingCPM = $rec.managingCPM
                        numberOfVersionsRetention = $rec.numberOfVersionsRetention
                        numberOfDaysRetention = $rec.numberOfDaysRetention
                        autoPurgeEnabled = $rec.autoPurgeEnabled
                        creationTime = $rec.creationTime
                        lastModificationTime = $rec.lastModificationTime
                        isExpiredMember = $rec.isExpiredMember
                        accounts = $accountstr
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSafesByPlatformID"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        Safe = $rec
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSafeMemberSearch"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        memberId = $rec.memberId
                        memberName = $rec.memberName
                        memberType = $rec.memberType
                        membershipExpirationDate = $rec.membershipExpirationDate
                        isExpiredMembershipEnable = $rec.isExpiredMembershipEnable
                        isPredefinedUser = $rec.isPredefinedUser
                        isReadOnly = $rec.isReadOnly
                        useAccounts = $rec.permissions.useAccounts
                        retrieveAccounts = $rec.permissions.retrieveAccounts
                        listAccounts = $rec.permissions.listAccounts
                        addAccounts = $rec.permissions.addAccounts
                        updateAccountContent = $rec.permissions.updateAccountContent
                        updateAccountProperties = $rec.permissions.updateAccountProperties
                        initiateCPMAccountManagementOperations = $rec.permissions.initiateCPMAccountManagementOperations
                        specifyNextAccountContent = $rec.permissions.specifyNextAccountContent
                        renameAccounts = $rec.permissions.renameAccounts
                        deleteAccounts = $rec.permissions.deleteAccounts
                        unlockAccounts = $rec.permissions.unlockAccounts
                        manageSafe = $rec.permissions.manageSafe
                        manageSafeMembers = $rec.permissions.manageSafeMembers
                        backupSafe = $rec.permissions.backupSafe
                        viewAuditLog = $rec.permissions.viewAuditLog
                        viewSafeMembers = $rec.permissions.viewSafeMembers
                        accessWithoutConfirmation = $rec.permissions.accessWithoutConfirmation
                        createFolders = $rec.permissions.createFolders
                        deleteFolders = $rec.permissions.deleteFolders
                        moveAccountsAndFolders = $rec.permissions.moveAccountsAndFolders
                        requestsAuthorizationLevel1 = $rec.permissions.requestsAuthorizationLevel1
                        requestsAuthorizationLevel2 = $rec.permissions.requestsAuthorizationLevel2
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSafeMembers"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        memberId = $rec.memberId
                        memberName = $rec.memberName
                        memberType = $rec.memberType
                        membershipExpirationDate = $rec.membershipExpirationDate
                        isExpiredMembershipEnable = $rec.isExpiredMembershipEnable
                        isPredefinedUser = $rec.isPredefinedUser
                        isReadOnly = $rec.isReadOnly
                        useAccounts = $rec.permissions.useAccounts
                        retrieveAccounts = $rec.permissions.retrieveAccounts
                        listAccounts = $rec.permissions.listAccounts
                        addAccounts = $rec.permissions.addAccounts
                        updateAccountContent = $rec.permissions.updateAccountContent
                        updateAccountProperties = $rec.permissions.updateAccountProperties
                        initiateCPMAccountManagementOperations = $rec.permissions.initiateCPMAccountManagementOperations
                        specifyNextAccountContent = $rec.permissions.specifyNextAccountContent
                        renameAccounts = $rec.permissions.renameAccounts
                        deleteAccounts = $rec.permissions.deleteAccounts
                        unlockAccounts = $rec.permissions.unlockAccounts
                        manageSafe = $rec.permissions.manageSafe
                        manageSafeMembers = $rec.permissions.manageSafeMembers
                        backupSafe = $rec.permissions.backupSafe
                        viewAuditLog = $rec.permissions.viewAuditLog
                        viewSafeMembers = $rec.permissions.viewSafeMembers
                        accessWithoutConfirmation = $rec.permissions.accessWithoutConfirmation
                        createFolders = $rec.permissions.createFolders
                        deleteFolders = $rec.permissions.deleteFolders
                        moveAccountsAndFolders = $rec.permissions.moveAccountsAndFolders
                        requestsAuthorizationLevel1 = $rec.permissions.requestsAuthorizationLevel1
                        requestsAuthorizationLevel2 = $rec.permissions.requestsAuthorizationLevel2
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSafes"){
                foreach($rec in $Data){
                    $accountstr = ""
                    $AllAccounts = $rec.accounts
                    foreach($acct in $AllAccounts){
                        $acctID = $acct.id
                        $acctName = $acct.name
                        $accountstr += "$acctID=$acctName;"
                    }

                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        description = $rec.description
                        location = $rec.location
                        creatorID = $rec.creator.id
                        creatorName = $rec.creator.name
                        olacEnabled = $rec.olacEnabled
                        managingCPM = $rec.managingCPM
                        numberOfVersionsRetention = $rec.numberOfVersionsRetention
                        numberOfDaysRetention = $rec.numberOfDaysRetention
                        autoPurgeEnabled = $rec.autoPurgeEnabled
                        creationTime = $rec.creationTime
                        lastModificationTime = $rec.lastModificationTime
                        isExpiredMember = $rec.isExpiredMember
                        accounts = $accountstr
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASSafeDetails"){
                foreach($rec in $Data){
                    $accountstr = ""
                    $AllAccounts = $rec.accounts
                    foreach($acct in $AllAccounts){
                        $acctID = $acct.id
                        $acctName = $acct.name
                        $accountstr += "$acctID=$acctName;"
                    }

                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        description = $rec.description
                        location = $rec.location
                        creatorID = $rec.creator.id
                        creatorName = $rec.creator.name
                        olacEnabled = $rec.olacEnabled
                        managingCPM = $rec.managingCPM
                        numberOfVersionsRetention = $rec.numberOfVersionsRetention
                        numberOfDaysRetention = $rec.numberOfDaysRetention
                        autoPurgeEnabled = $rec.autoPurgeEnabled
                        creationTime = $rec.creationTime
                        lastModificationTime = $rec.lastModificationTime
                        isExpiredMember = $rec.isExpiredMember
                        accounts = $accountstr
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASEmptySafes"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        safeUrlId = $rec.safeUrlId
                        safeName = $rec.safeName
                        safeNumber = $rec.safeNumber
                        description = $rec.description
                        location = $rec.location
                        creatorID = $rec.creator.id
                        creatorName = $rec.creator.name
                        olacEnabled = $rec.olacEnabled
                        managingCPM = $rec.managingCPM
                        numberOfVersionsRetention = $rec.numberOfVersionsRetention
                        numberOfDaysRetention = $rec.numberOfDaysRetention
                        autoPurgeEnabled = $rec.autoPurgeEnabled
                        creationTime = $rec.creationTime
                        lastModificationTime = $rec.lastModificationTime
                        isExpiredMember = $rec.isExpiredMember
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion SafeCommands
            #region PSMCommands
            if($CommandName -eq "Get-VPASAllPSMServers"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        ID = $rec.ID
                        Name = $rec.Name
                        Address = $rec.Address
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPSMSessionDetails"){
                foreach($rec in $Data.Recordings){
                    $minihash = [ordered]@{
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        ActualRecordings = $rec.RawProperties.ActualRecordings
                        PSMEndTime = $rec.RawProperties.PSMEndTime
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPSMSessionProperties"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        ActualRecordings = $rec.RawProperties.ActualRecordings
                        PSMEndTime = $rec.RawProperties.PSMEndTime
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPSMSessions"){
                foreach($rec in $Data.Recordings){
                    $minihash = [ordered]@{
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        ActualRecordings = $rec.RawProperties.ActualRecordings
                        PSMEndTime = $rec.RawProperties.PSMEndTime
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllPSMSessions"){
                foreach($rec in $Data.Recordings){
                    $minihash = [ordered]@{
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        ActualRecordings = $rec.RawProperties.ActualRecordings
                        PSMEndTime = $rec.RawProperties.PSMEndTime
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPSMSessionActivities"){
                foreach($rec in $Data.Activities){
                    $minihash = [ordered]@{
                        ActivityText = $rec.ActivityText
                        ActivityType = $rec.ActivityType
                        ActivityId = $rec.ActivityId
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPSMSettingsByPlatformID"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        PSMServerId = $rec.PSMServerId
                        PSMSessionRecorderSafe = $rec.PSMSessionRecorderSafe
                    }

                    $grouplen = $rec.PSMConnectors.Count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            PSMConnectorID = ""
                            Enabled = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.PSMConnectors){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                PSMConnectorID = $group.PSMConnectorID
                                Enabled = $group.Enabled
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASActiveSessionActivities"){
                foreach($rec in $Data.Activities){
                    $minihash = [ordered]@{
                        ActivityText = $rec.ActivityText
                        ActivityType = $rec.ActivityType
                        ActivityId = $rec.ActivityId
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASActiveSessionProperties"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        CanTerminate = $rec.CanTerminate
                        CanMonitor = $rec.CanMonitor
                        CanSuspend = $rec.CanSuspend
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        RecordedActivities = $rec.RecordedActivities
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $str = ""
                    foreach($client in $rec.RecordingFiles){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        RecordingFiles = $str
                    }

                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASActiveSessions"){
                foreach($rec in $Data.LiveSessions){
                    $minihash = [ordered]@{
                        CanTerminate = $rec.CanTerminate
                        CanMonitor = $rec.CanMonitor
                        CanSuspend = $rec.CanSuspend
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        RecordedActivities = $rec.RecordedActivities
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $str = ""
                    foreach($client in $rec.RecordingFiles){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        RecordingFiles = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllActiveSessions"){
                foreach($rec in $Data.LiveSessions){
                    $minihash = [ordered]@{
                        CanTerminate = $rec.CanTerminate
                        CanMonitor = $rec.CanMonitor
                        CanSuspend = $rec.CanSuspend
                        SessionID = $rec.SessionID
                        SessionGuid = $rec.SessionGuid
                        SafeName = $rec.SafeName
                        FolderName = $rec.FolderName
                        IsLive = $rec.IsLive
                        FileName = $rec.FileName
                        Start = $rec.Start
                        End = $rec.End
                        Duration = $rec.Duration
                        User = $rec.User
                        RemoteMachine = $rec.RemoteMachine
                        ProtectionDate = $rec.ProtectionDate
                        ProtectedBy = $rec.ProtectedBy
                        ProtectionEnabled = $rec.ProtectionEnabled
                        AccountUsername = $rec.AccountUsername
                        AccountPlatformID = $rec.AccountPlatformID
                        AccountAddress = $rec.AccountAddress
                        PIMSuCommand = $rec.PIMSuCommand
                        PIMSuCWD = $rec.PIMSuCWD
                        ConnectionComponentID = $rec.ConnectionComponentID
                        PSMRecordingEntity = $rec.PSMRecordingEntity
                        TicketID = $rec.TicketID
                        FromIP = $rec.FromIP
                        Protocol = $rec.Protocol
                        Client = $rec.Client
                        RiskScore = $rec.RiskScore
                        Severity = $rec.Severity
                        RecordedActivities = $rec.RecordedActivities
                        VideoSize = $rec.VideoSize
                        TextSize = $rec.TextSize
                        DetailsUrl = $rec.DetailsUrl
                        Address = $rec.RawProperties.Address
                        DeviceType = $rec.RawProperties.DeviceType
                        EntityVersion = $rec.RawProperties.EntityVersion
                        ExpectedRecordingsList = $rec.RawProperties.ExpectedRecordingsList
                        PSMClientApp = $rec.RawProperties.PSMClientApp
                        PSMPasswordID = $rec.RawProperties.PSMPasswordID
                        PSMProtocol = $rec.RawProperties.PSMProtocol
                        PSMRemoteMachine = $rec.RawProperties.PSMRemoteMachine
                        PSMSafeID = $rec.RawProperties.PSMSafeID
                        PSMSourceAddress = $rec.RawProperties.PSMSourceAddress
                        PSMStartTime = $rec.RawProperties.PSMStartTime
                        PSMStatus = $rec.RawProperties.PSMStatus
                        PSMVaultUserName = $rec.RawProperties.PSMVaultUserName
                        PolicyID = $rec.RawProperties.PolicyID
                        ProviderID = $rec.RawProperties.ProviderID
                        UserName = $rec.RawProperties.UserName
                        Safe = $rec.RawProperties.Safe
                        Folder = $rec.RawProperties.Folder
                        Name = $rec.RawProperties.Name
                    }
                    $str = ""
                    foreach($client in $rec.RecordingFiles){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        RecordingFiles = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllConnectionComponents"){
                foreach($rec in $Data.PSMConnectors){
                    $minihash = [ordered]@{
                        ID = $rec.ID
                        DisplayName = $rec.DisplayName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion PSMCommands
            #region EPVCommands
            if($CommandName -eq "Get-VPASEPVUserTypes"){
                foreach($rec in $Data.UserTypes){
                    $minihash = [ordered]@{
                        UserTypeId = $rec.UserTypeId
                        UserTypeName = $rec.UserTypeName
                        IsComponentUser = $rec.IsComponentUser
                    }
                    $clientstr = ""
                    foreach($client in $rec.AllowedClientInterfaces){
                        if(![String]::IsNullOrEmpty($client)){
                            $clientstr += "$client;"
                        }
                    }
                    $minihash += @{
                        AllowedClientInterfaces = $clientstr
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASEPVUserDetailsSearch"){
                foreach($rec in $Data.Users){
                    $minihash = [ordered]@{
                        id = $rec.id
                        username = $rec.username
                        source = $rec.source
                        userType = $rec.userType
                        componentUser = $rec.componentUser
                        location = $rec.location
                        enableUser = $rec.enableUser
                        suspended = $rec.suspended
                        firstName = $rec.personalDetails.firstName
                        middleName = $rec.personalDetails.middleName
                        lastName = $rec.personalDetails.lastName
                        organization = $rec.personalDetails.organization
                        department = $rec.personalDetails.department
                    }
                    $str = ""
                    foreach($client in $rec.vaultAuthorization){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        vaultAuthorization = $str
                    }

                    $grouplen = $rec.groupsMembership.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            groupID = ""
                            groupName = ""
                            groupType = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.groupsMembership){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                groupID = $group.groupID
                                groupName = $group.groupName
                                groupType = $group.groupType
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASEPVUserDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        enableUser = $rec.enableUser
                        changePassOnNextLogon = $rec.changePassOnNextLogon
                        expiryDate = $rec.expiryDate
                        suspended = $rec.suspended
                        lastSuccessfulLoginDate = $rec.lastSuccessfulLoginDate
                        passwordNeverExpires = $rec.passwordNeverExpires
                        distinguishedName = $rec.distinguishedName
                        description = $rec.description
                        id = $rec.id
                        username = $rec.username
                        source = $rec.source
                        userType = $rec.userType
                        componentUser = $rec.componentUser
                        location = $rec.location
                        workStreet = $rec.businessAddress.workStreet
                        workCity = $rec.businessAddress.workCity
                        workState = $rec.businessAddress.workState
                        workZip = $rec.businessAddress.workZip
                        workCountry = $rec.businessAddress.workCountry
                        homePage = $rec.internet.homePage
                        homeEmail = $rec.internet.homeEmail
                        businessEmail = $rec.internet.businessEmail
                        otherEmail = $rec.internet.otherEmail
                        homeNumber = $rec.phones.homeNumber
                        businessNumber = $rec.phones.businessNumber
                        cellularNumber = $rec.phones.cellularNumber
                        faxNumber = $rec.phones.faxNumber
                        pagerNumber = $rec.phones.pagerNumber
                        street = $rec.personalDetails.street
                        city = $rec.personalDetails.city
                        state = $rec.personalDetails.state
                        zip = $rec.personalDetails.zip
                        country = $rec.personalDetails.country
                        title = $rec.personalDetails.title
                        organization = $rec.personalDetails.organization
                        department = $rec.personalDetails.department
                        profession = $rec.personalDetails.profession
                        firstName = $rec.personalDetails.firstName
                        middleName = $rec.personalDetails.middleName
                        lastName = $rec.personalDetails.lastName
                    }
                    $str = ""
                    foreach($client in $rec.vaultAuthorization){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        vaultAuthorization = $str
                    }
                    $str = ""
                    foreach($client in $rec.authenticationMethod){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        authenticationMethod = $str
                    }
                    $str = ""
                    foreach($client in $rec.unAuthorizedInterfaces){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        unAuthorizedInterfaces = $str
                    }

                    $grouplen = $rec.groupsMembership.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            groupID = ""
                            groupName = ""
                            groupType = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.groupsMembership){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                groupID = $group.groupID
                                groupName = $group.groupName
                                groupType = $group.groupType
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASEPVGroupDetails"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        id = $rec.id
                        groupType = $rec.groupType
                        groupName = $rec.groupName
                        description = $rec.description
                        location = $rec.location
                    }
                    $grouplen = $rec.members.count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            username = ""
                            userID = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.members){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                username = $group.username
                                userID = $group.id
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCurrentEPVUserDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        AgentUser = $rec.AgentUser
                        Disabled = $rec.Disabled
                        Email = $rec.Email
                        Expired = $rec.Expired
                        ExpiryDate = $rec.ExpiryDate
                        FirstName = $rec.FirstName
                        LastName = $rec.LastName
                        Location = $rec.Location
                        Source = $rec.Source
                        Suspended = $rec.Suspended
                        UserName = $rec.UserName
                        UserTypeName = $rec.UserTypeName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllEPVGroups"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        id = $rec.id
                        groupType = $rec.groupType
                        groupName = $rec.groupName
                        description = $rec.description
                        location = $rec.location
                    }
                    $grouplen = $rec.members.Count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            username = ""
                            userID = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.members){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                username = $group.username
                                userID = $group.id
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllEPVUsers"){
                foreach($rec in $Data.Users){
                    $minihash = [ordered]@{
                        id = $rec.id
                        username = $rec.username
                        source = $rec.source
                        userType = $rec.userType
                        componentUser = $rec.componentUser
                        enableUser = $rec.enableUser
                        suspended = $rec.suspended
                        location = $rec.location
                        firstName = $rec.personalDetails.firstName
                        middleName = $rec.personalDetails.middleName
                        lastName = $rec.personalDetails.lastName
                        organization = $rec.personalDetails.organization
                        department = $rec.personalDetails.department
                    }
                    $str = ""
                    foreach($client in $rec.vaultAuthorization){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ vaultAuthorization = $str }

                    $grouplen = $rec.groupsMembership.Count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            groupID = ""
                            groupName = ""
                            groupType = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.groupsMembership){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                groupID = $group.groupID
                                groupName = $group.groupName
                                groupType = $group.groupType
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion EPVCommands
            #region PlatformCommands
            if($CommandName -eq "Get-VPASAllUsagePlatforms"){
                foreach($rec in $Data.Platforms){
                    $minihash = [ordered]@{
                        NumberOfLinkedTargetPlatforms = $rec.NumberOfLinkedTargetPlatforms
                        ID = $rec.ID
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                        PlatformBaseType = $rec.PlatformBaseType
                        PlatformBaseID = $rec.PlatformBaseID
                        AllowManualChange = $rec.CredentialsManagementPolicy.Change.AllowManual
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPlatformDetails"){
                $AllProps = @()
                foreach($rec in $Data.Details){
                    $props = $rec.psobject.Properties.name
                    foreach($prop in $props){
                        if($AllProps -notcontains $prop){
                            $AllProps += $prop
                        }
                    }
                }
                foreach($rec in $Data.Details){
                    $minihash = @{}
                    foreach($prop in $AllProps){
                        $minihash += @{
                            $prop = $rec.$prop
                        }
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASPlatformDetailsSearch"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        id = $rec.general.id
                        name = $rec.general.name
                        systemType = $rec.general.systemType
                        active = $rec.general.active
                        description = $rec.general.description
                        platformBaseID = $rec.general.platformBaseID
                        platformType = $rec.general.platformType
                        allowedSafes = $rec.credentialsManagement.allowedSafes
                        allowManualChange = $rec.credentialsManagement.allowManualChange
                        performPeriodicChange = $rec.credentialsManagement.performPeriodicChange
                        requirePasswordChangeEveryXDays = $rec.credentialsManagement.requirePasswordChangeEveryXDays
                        allowManualVerification = $rec.credentialsManagement.allowManualVerification
                        performPeriodicVerification = $rec.credentialsManagement.performPeriodicVerification
                        requirePasswordVerificationEveryXDays = $rec.credentialsManagement.requirePasswordVerificationEveryXDays
                        allowManualReconciliation = $rec.credentialsManagement.allowManualReconciliation
                        automaticReconcileWhenUnsynched = $rec.credentialsManagement.automaticReconcileWhenUnsynched
                        requirePrivilegedSessionMonitoringAndIsolation = $rec.sessionManagement.requirePrivilegedSessionMonitoringAndIsolation
                        recordAndSaveSessionActivity = $rec.sessionManagement.recordAndSaveSessionActivity
                        PSMServerID = $rec.sessionManagement.PSMServerID
                        requireDualControlPasswordAccessApproval = $rec.privilegedAccessWorkflows.requireDualControlPasswordAccessApproval
                        enforceCheckinCheckoutExclusiveAccess = $rec.privilegedAccessWorkflows.enforceCheckinCheckoutExclusiveAccess
                        enforceOnetimePasswordAccess = $rec.privilegedAccessWorkflows.enforceOnetimePasswordAccess
                    }
                    $str = ""
                    foreach($client in $rec.properties.required.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ RequiredProperties = $str }
                    $str = ""
                    foreach($client in $rec.properties.optional.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ OptionalProperties = $str }
                    $str = ""
                    foreach($client in $rec.linkedAccounts.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ linkedAccounts = $str }


                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASUsagePlatformDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        NumberOfLinkedTargetPlatforms = $rec.NumberOfLinkedTargetPlatforms
                        ID = $rec.ID
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                        PlatformBaseType = $rec.PlatformBaseType
                        PlatformBaseID = $rec.PlatformBaseID
                        AllowManualChange = $rec.CredentialsManagementPolicy.Change.AllowManual
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASRotationalPlatformDetails"){
                foreach($rec in $Data.Details){
                    $minihash = [ordered]@{
                        PolicyID = $rec.PolicyID
                        PolicyName = $rec.PolicyName
                        SearchForUsages = $rec.SearchForUsages
                        PolicyType = $rec.PolicyType
                        ImmediateInterval = $rec.ImmediateInterval
                        Interval = $rec.Interval
                        MaxConcurrentConnections = $rec.MaxConcurrentConnections
                        AllowedSafes = $rec.AllowedSafes
                        MinValidityPeriod = $rec.MinValidityPeriod
                        ResetOveridesMinValidity = $rec.ResetOveridesMinValidity
                        ResetOveridesTimeFrame = $rec.ResetOveridesTimeFrame
                        Timeout = $rec.Timeout
                        UnlockIfFail = $rec.UnlockIfFail
                        UnrecoverableErrors = $rec.UnrecoverableErrors
                        MaximumRetries = $rec.MaximumRetries
                        MinDelayBetweenRetries = $rec.MinDelayBetweenRetries
                        DllName = $rec.DllName
                        XMLFile = $rec.XMLFile
                        AllowManualChange = $rec.AllowManualChange
                        PerformPeriodicChange = $rec.PerformPeriodicChange
                        HeadStartInterval = $rec.HeadStartInterval
                        FromHour = $rec.FromHour
                        ToHour = $rec.ToHour
                        ChangeNotificationPeriod = $rec.ChangeNotificationPeriod
                        DaysNotifyPriorExpiration = $rec.DaysNotifyPriorExpiration
                        VFAllowManualVerification = $rec.VFAllowManualVerification
                        VFPerformPeriodicVerification = $rec.VFPerformPeriodicVerification
                        VFFromHour = $rec.VFFromHour
                        VFToHour = $rec.VFToHour
                        RCAllowManualReconciliation = $rec.RCAllowManualReconciliation
                        RCAutomaticReconcileWhenUnsynched = $rec.RCAutomaticReconcileWhenUnsynched
                        RCReconcileReasons = $rec.RCReconcileReasons
                        RCFromHour = $rec.RCFromHour
                        RCToHour = $rec.RCToHour
                        NFNotifyPriorExpiration = $rec.NFNotifyPriorExpiration
                        NFPriorExpirationRecipients = $rec.NFPriorExpirationRecipients
                        NFNotifyOnPasswordDisable = $rec.NFNotifyOnPasswordDisable
                        NFOnPasswordDisableRecipients = $rec.NFOnPasswordDisableRecipients
                        NFNotifyOnVerificationErrors = $rec.NFNotifyOnVerificationErrors
                        NFOnVerificationErrorsRecipients = $rec.NFOnVerificationErrorsRecipients
                        NFNotifyOnPasswordUsed = $rec.NFNotifyOnPasswordUsed
                        NFOnPasswordUsedRecipients = $rec.NFOnPasswordUsedRecipients
                        PasswordLength = $rec.PasswordLength
                        MinUpperCase = $rec.MinUpperCase
                        MinLowerCase = $rec.MinLowerCase
                        MinDigit = $rec.MinDigit
                        MinSpecial = $rec.MinSpecial
                        OneTimePassword = $rec.OneTimePassword
                        ExpirationPeriod = $rec.ExpirationPeriod
                        VFVerificationPeriod = $rec.VFVerificationPeriod
                        PasswordLevelRequestTimeframe = $rec.PasswordLevelRequestTimeframe
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllRotationalPlatforms"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        id = $rec.general.id
                        name = $rec.general.name
                        systemType = $rec.general.systemType
                        active = $rec.general.active
                        description = $rec.general.description
                        platformBaseID = $rec.general.platformBaseID
                        platformType = $rec.general.platformType
                        allowedSafes = $rec.credentialsManagement.allowedSafes
                        allowManualChange = $rec.credentialsManagement.allowManualChange
                        performPeriodicChange = $rec.credentialsManagement.performPeriodicChange
                        requirePasswordChangeEveryXDays = $rec.credentialsManagement.requirePasswordChangeEveryXDays
                        allowManualVerification = $rec.credentialsManagement.allowManualVerification
                        performPeriodicVerification = $rec.credentialsManagement.performPeriodicVerification
                        requirePasswordVerificationEveryXDays = $rec.credentialsManagement.requirePasswordVerificationEveryXDays
                        allowManualReconciliation = $rec.credentialsManagement.allowManualReconciliation
                        automaticReconcileWhenUnsynched = $rec.credentialsManagement.automaticReconcileWhenUnsynched
                        requirePrivilegedSessionMonitoringAndIsolation = $rec.sessionManagement.requirePrivilegedSessionMonitoringAndIsolation
                        recordAndSaveSessionActivity = $rec.sessionManagement.recordAndSaveSessionActivity
                        PSMServerID = $rec.sessionManagement.PSMServerID
                        requireDualControlPasswordAccessApproval = $rec.privilegedAccessWorkflows.requireDualControlPasswordAccessApproval
                        enforceCheckinCheckoutExclusiveAccess = $rec.privilegedAccessWorkflows.enforceCheckinCheckoutExclusiveAccess
                        enforceOnetimePasswordAccess = $rec.privilegedAccessWorkflows.enforceOnetimePasswordAccess
                    }
                    $str = ""
                    foreach($client in $rec.properties.required.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ RequiredProperties = $str }
                    $str = ""
                    foreach($client in $rec.properties.optional.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ OptionalProperties = $str }
                    $str = ""
                    foreach($client in $rec.linkedAccounts.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ linkedAccounts = $str }


                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllPlatforms"){
                foreach($rec in $Data.Platforms){
                    $minihash = [ordered]@{
                        id = $rec.general.id
                        name = $rec.general.name
                        systemType = $rec.general.systemType
                        active = $rec.general.active
                        description = $rec.general.description
                        platformBaseID = $rec.general.platformBaseID
                        platformType = $rec.general.platformType
                        allowedSafes = $rec.credentialsManagement.allowedSafes
                        allowManualChange = $rec.credentialsManagement.allowManualChange
                        performPeriodicChange = $rec.credentialsManagement.performPeriodicChange
                        requirePasswordChangeEveryXDays = $rec.credentialsManagement.requirePasswordChangeEveryXDays
                        allowManualVerification = $rec.credentialsManagement.allowManualVerification
                        performPeriodicVerification = $rec.credentialsManagement.performPeriodicVerification
                        requirePasswordVerificationEveryXDays = $rec.credentialsManagement.requirePasswordVerificationEveryXDays
                        allowManualReconciliation = $rec.credentialsManagement.allowManualReconciliation
                        automaticReconcileWhenUnsynched = $rec.credentialsManagement.automaticReconcileWhenUnsynched
                        requirePrivilegedSessionMonitoringAndIsolation = $rec.sessionManagement.requirePrivilegedSessionMonitoringAndIsolation
                        recordAndSaveSessionActivity = $rec.sessionManagement.recordAndSaveSessionActivity
                        PSMServerID = $rec.sessionManagement.PSMServerID
                        requireDualControlPasswordAccessApproval = $rec.privilegedAccessWorkflows.requireDualControlPasswordAccessApproval
                        enforceCheckinCheckoutExclusiveAccess = $rec.privilegedAccessWorkflows.enforceCheckinCheckoutExclusiveAccess
                        enforceOnetimePasswordAccess = $rec.privilegedAccessWorkflows.enforceOnetimePasswordAccess
                    }
                    $str = ""
                    foreach($client in $rec.properties.required.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ RequiredProperties = $str }
                    $str = ""
                    foreach($client in $rec.properties.optional.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ OptionalProperties = $str }
                    $str = ""
                    foreach($client in $rec.linkedAccounts.name){
                        if(![String]::IsNullOrEmpty($client)){ $str += "$client;" }
                    }
                    $minihash += @{ linkedAccounts = $str }


                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllTargetPlatforms"){
                foreach($rec in $Data.Platforms){
                    $minihash = [ordered]@{
                        Active = $rec.Active
                        SystemType = $rec.SystemType
                        AllowedSafes = $rec.AllowedSafes
                        ID = $rec.ID
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                        PlatformBaseType = $rec.PlatformBaseType
                        PlatformBaseID = $rec.PlatformBaseID
                        RequireDualControlPasswordAccessApprovalActive = $rec.PrivilegedAccessWorkflows.RequireDualControlPasswordAccessApproval.IsActive
                        RequireDualControlPasswordAccessApprovalException = $rec.PrivilegedAccessWorkflows.RequireDualControlPasswordAccessApproval.IsAnException
                        EnforceCheckinCheckoutExclusiveAccessActive = $rec.PrivilegedAccessWorkflows.EnforceCheckinCheckoutExclusiveAccess.IsActive
                        EnforceCheckinCheckoutExclusiveAccessException = $rec.PrivilegedAccessWorkflows.EnforceCheckinCheckoutExclusiveAccess.IsAnException
                        EnforceOnetimePasswordAccessActive = $rec.PrivilegedAccessWorkflows.EnforceOnetimePasswordAccess.IsActive
                        EnforceOnetimePasswordAccessException = $rec.PrivilegedAccessWorkflows.EnforceOnetimePasswordAccess.IsAnException
                        RequireUsersToSpecifyReasonForAccessActive = $rec.PrivilegedAccessWorkflows.RequireUsersToSpecifyReasonForAccess.IsActive
                        RequireUsersToSpecifyReasonForAccessException = $rec.PrivilegedAccessWorkflows.RequireUsersToSpecifyReasonForAccess.IsAnException
                        VFPerformAutomatic = $rec.CredentialsManagementPolicy.Verification.PerformAutomatic
                        VFRequirePasswordEveryXDays = $rec.CredentialsManagementPolicy.Verification.RequirePasswordEveryXDays
                        VFAutoOnAdd = $rec.CredentialsManagementPolicy.Verification.AutoOnAdd
                        VFAllowManual = $rec.CredentialsManagementPolicy.Verification.AllowManual
                        ChangePerformAutomatic = $rec.CredentialsManagementPolicy.Change.PerformAutomatic
                        ChangeRequirePasswordEveryXDays = $rec.CredentialsManagementPolicy.Change.RequirePasswordEveryXDays
                        ChangeAutoOnAdd = $rec.CredentialsManagementPolicy.Change.AutoOnAdd
                        ChangeAllowManual = $rec.CredentialsManagementPolicy.Change.AllowManual
                        ReconcileAutomaticReconcileWhenUnsynced = $rec.CredentialsManagementPolicy.Reconcile.AutomaticReconcileWhenUnsynced
                        ReconcileAllowManual = $rec.CredentialsManagementPolicy.Reconcile.AllowManual
                        ChangePasswordInResetMode = $rec.CredentialsManagementPolicy.SecretUpdateConfiguration.ChangePasswordInResetMode
                        PSMServerId = $rec.PrivilegedSessionManagement.PSMServerId
                        PSMServerName = $rec.PrivilegedSessionManagement.PSMServerName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASEmptyPlatforms"){
                $AllProps = @()
                foreach($rec in $Data.value){
                    $props = $rec.psobject.Properties.name
                    foreach($prop in $props){
                        if($AllProps -notcontains $prop){
                            $AllProps += $prop
                        }
                    }
                }
                foreach($rec in $Data.value){
                    $minihash = @{}
                    foreach($prop in $AllProps){
                        $minihash += @{
                            $prop = $rec.$prop
                        }
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASGroupPlatformDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Active = $rec.Active
                        ID = $rec.ID
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllGroupPlatforms"){
                foreach($rec in $Data.Platforms){
                    $minihash = [ordered]@{
                        Active = $rec.Active
                        ID = $rec.ID
                        PlatformID = $rec.PlatformID
                        Name = $rec.Name
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion PlatformCommands
            #region ApplicationCommands
            if($CommandName -eq "Get-VPASApplicationAuthentications"){
                foreach($rec in $Data.authentication){
                    $minihash = [ordered]@{
                        AllowInternalScripts = $rec.AllowInternalScripts
                        AppID = $rec.AppID
                        AuthType = $rec.AuthType
                        AuthValue = $rec.AuthValue
                        Comment = $rec.Comment
                        IsFolder = $rec.IsFolder
                        authID = $rec.authID
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASApplicationDetails"){
                foreach($rec in $Data.application){
                    $minihash = [ordered]@{
                        AccessPermittedFrom = $rec.AccessPermittedFrom
                        AccessPermittedTo = $rec.AccessPermittedTo
                        AllowExtendedAuthenticationRestrictions = $rec.AllowExtendedAuthenticationRestrictions
                        AppID = $rec.AppID
                        BusinessOwnerEmail = $rec.BusinessOwnerEmail
                        BusinessOwnerFName = $rec.BusinessOwnerFName
                        BusinessOwnerLName = $rec.BusinessOwnerLName
                        BusinessOwnerPhone = $rec.BusinessOwnerPhone
                        Description = $rec.Description
                        Disabled = $rec.Disabled
                        ExpirationDate = $rec.ExpirationDate
                        Location = $rec.Location
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASAllApplications"){
                foreach($rec in $Data.application){
                    $minihash = [ordered]@{
                        AccessPermittedFrom = $rec.AccessPermittedFrom
                        AccessPermittedTo = $rec.AccessPermittedTo
                        AllowExtendedAuthenticationRestrictions = $rec.AllowExtendedAuthenticationRestrictions
                        AppID = $rec.AppID
                        BusinessOwnerEmail = $rec.BusinessOwnerEmail
                        BusinessOwnerFName = $rec.BusinessOwnerFName
                        BusinessOwnerLName = $rec.BusinessOwnerLName
                        BusinessOwnerPhone = $rec.BusinessOwnerPhone
                        Description = $rec.Description
                        Disabled = $rec.Disabled
                        ExpirationDate = $rec.ExpirationDate
                        Location = $rec.Location
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion ApplicationCommands
            #region IdentityCommands
            if($CommandName -eq "Get-VPASIdentityAdminSecurityQuestion"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Uuid = $rec.Uuid
                        Culture = $rec.Culture
                        Question = $rec.Question
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityAllAdminSecurityQuestions"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Uuid = $rec.Uuid
                        Culture = $rec.Culture
                        Question = $rec.Question
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityAllRoles"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        _TableName = $rec._TableName
                        Name = $rec.Name
                        ID = $rec.ID
                        OrgPath = $rec.OrgPath
                        Description = $rec.Description
                        IsHidden = $rec.IsHidden
                        RoleType = $rec.RoleType
                        OrgId = $rec.OrgId
                        ReadOnly = $rec.ReadOnly
                        DirectoryServiceUuid = $rec.DirectoryServiceUuid
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityAllUsers"){
                foreach($rec in $Data.Row){
                    $minihash = [ordered]@{
                        Uuid = $rec.Uuid
                        DisplayName = $rec.DisplayName
                        Name = $rec.Name
                        Mail = $rec.Mail
                        ReportsTo = $rec.ReportsTo
                        PreferredCulture = $rec.PreferredCulture
                        HomeNumber = $rec.HomeNumber
                        StartDate = $rec.StartDate
                        MobileNumber = $rec.MobileNumber
                        EndDate = $rec.EndDate
                        PictureUri = $rec.PictureUri
                        Description = $rec.Description
                        OfficeNumber = $rec.OfficeNumber
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityCurrentUserDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        User = $rec.User
                        UserUuid = $rec.UserUuid
                        TenantId = $rec.TenantId
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityCurrentUserSecurityQuestions"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        AnswerMinLength = $rec.AnswerMinLength
                        MaxQuestions = $rec.MaxQuestions
                        MinAdminQuestions = $rec.MinAdminQuestions
                        MinUserQuestions = $rec.MinUserQuestions
                    }

                    foreach($question in $rec.AdminQuestions){
                        $minihash2 = @{
                            QuestionType = "AdminQuestion"
                            Uuid = $question.Uuid
                            Culture = $question.Culture
                            Question = $question.Question
                        }
                        $minihash2 += $minihash
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }

                    foreach($question in $rec.Questions){
                        $minihash2 = @{
                            QuestionType = "UserQuestion"
                            Uuid = $question.Uuid
                            Question = $question.QuestionText
                            Culture = ""
                        }
                        $minihash2 += $minihash
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityRoleDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        _TableName = $rec._TableName
                        Name = $rec.Name
                        ID = $rec.ID
                        OrgPath = $rec.OrgPath
                        Description = $rec.Description
                        IsHidden = $rec.IsHidden
                        RoleType = $rec.RoleType
                        OrgId = $rec.OrgId
                        ReadOnly = $rec.ReadOnly
                        DirectoryServiceUuid = $rec.DirectoryServiceUuid
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityRoles"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        _TableName = $rec._TableName
                        Name = $rec.Name
                        ID = $rec.ID
                        OrgPath = $rec.OrgPath
                        Description = $rec.Description
                        IsHidden = $rec.IsHidden
                        RoleType = $rec.RoleType
                        OrgId = $rec.OrgId
                        ReadOnly = $rec.ReadOnly
                        DirectoryServiceUuid = $rec.DirectoryServiceUuid
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityTenantDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Version = $rec.Version
                        PodRegion = $rec.PodRegion
                        PodFqdn = $rec.PodFqdn
                        PodName = $rec.PodName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityUserDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Uuid = $rec.Uuid
                        State = $rec.State
                        LastModifiedDate = $rec.LastModifiedDate
                        DisplayName = $rec.DisplayName
                        Version = $rec.Version
                        Mail = $rec.Mail
                        Name = $rec.Name
                        ReportsTo = $rec.ReportsTo
                        CreateDate = $rec.CreateDate
                        HomeNumber = $rec.HomeNumber
                        LockedByAdmin = $rec.LockedByAdmin
                        MobileNumber = $rec.MobileNumber
                        Alias = $rec.Alias
                        OfficeNumber = $rec.OfficeNumber
                        InEverybodyRole = $rec.InEverybodyRole
                        LastPasswordChangeDate = $rec.LastPasswordChangeDate
                        OauthClient = $rec.OauthClient
                        PasswordNeverExpire = $rec.PasswordNeverExpire
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASIdentityUserSecurityQuestions"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        AnswerMinLength = $rec.AnswerMinLength
                        MaxQuestions = $rec.MaxQuestions
                        MinAdminQuestions = $rec.MinAdminQuestions
                        MinUserQuestions = $rec.MinUserQuestions
                    }

                    foreach($question in $rec.AdminQuestions){
                        $minihash2 = @{
                            QuestionType = "AdminQuestion"
                            Uuid = $question.Uuid
                            Culture = $question.Culture
                            Question = $question.Question
                        }
                        $minihash2 += $minihash
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }

                    foreach($question in $rec.Questions){
                        $minihash2 = @{
                            QuestionType = "UserQuestion"
                            Uuid = $question.Uuid
                            Question = $question.QuestionText
                            Culture = ""
                        }
                        $minihash2 += $minihash
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion IdentityCommands
            #region ConnectorManagementCommands
            if($CommandName -eq "Get-VPASCMAllConnectorPools"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        poolId = $rec.poolId
                        name = $rec.name
                        description = $rec.description
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMAllConnectors"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        connectorId = $rec.connectorId
                        connectorStatus = $rec.connectorStatus
                        platformType = $rec.platformType
                        connectorPoolId = $rec.connectorPoolId
                        version = $rec.version
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        hostname = $rec.host.hostname
                        privateIp = $rec.host.privateIp
                        publicIp = $rec.host.publicIp
                        os = $rec.host.os
                        osVersion = $rec.host.osVersion
                        osName = $rec.host.osName
                        cloudRegion = $rec.host.cloudRegion
                        cloudAccount = $rec.host.cloudAccount
                        cpuType = $rec.host.cpuType
                        totalCpu = $rec.host.totalCpu
                        usedCpu = $rec.host.usedCpu
                        totalMemory = $rec.host.totalMemory
                        usedMemory = $rec.host.usedMemory
                        hostConfig = $rec.host.hostConfig
                    }
                    $str = ""
                    foreach($ver in $rec.upgradeVersions){
                        $str += "$ver;"
                    }
                    $minihash += @{ upgradeVersions = $str }

                    foreach($comp in $rec.components){
                        $minihash2 = @{
                            componentId = $comp.componentId
                            componentName = $comp.componentName
                            acronym = $comp.acronym
                            componentStatus = $comp.componentStatus
                            componentVersion = $comp.version
                            componentUsedCpu = $comp.usedCpu
                            componentUsedMemory = $comp.usedMemory
                            componentInstalledAt = $comp.installedAt
                            componentUpdatedAt = $comp.updatedAt
                            maintenanceStatus = $comp.maintenanceStatus
                        }
                        $str = ""
                        foreach($ver in $comp.upgradeVersions){
                            $str += "$ver;"
                        }
                        $minihash2 += @{ componentUpgradeVersions = $str }

                        $minihash2 += $minihash
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMConnectorDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        connectorId = $rec.connectorId
                        connectorStatus = $rec.connectorStatus
                        platformType = $rec.platformType
                        connectorPoolId = $rec.connectorPoolId
                        version = $rec.version
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        hostname = $rec.host.hostname
                        privateIp = $rec.host.privateIp
                        publicIp = $rec.host.publicIp
                        os = $rec.host.os
                        osVersion = $rec.host.osVersion
                        osName = $rec.host.osName
                        cloudRegion = $rec.host.cloudRegion
                        cloudAccount = $rec.host.cloudAccount
                        cpuType = $rec.host.cpuType
                        totalCpu = $rec.host.totalCpu
                        usedCpu = $rec.host.usedCpu
                        totalMemory = $rec.host.totalMemory
                        usedMemory = $rec.host.usedMemory
                        hostConfig = $rec.host.hostConfig
                    }
                    $str = ""
                    foreach($client in $rec.upgradeVersions){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        upgradeVersions = $str
                    }

                    $grouplen = $rec.components.Count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            componentId = ""
                            componentName = ""
                            acronym = ""
                            componentStatus = ""
                            componentConnectorId = ""
                            componentVersion = ""
                            componentUpgradeVersions = ""
                            componentUsedCpu = ""
                            componentUsedMemory = ""
                            componentInstalledAt = ""
                            componentUpdatedAt = ""
                            maintenanceStatus = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.components){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                componentId = $group.componentId
                                componentName = $group.componentName
                                acronym = $group.acronym
                                componentStatus = $group.componentStatus
                                componentConnectorId = $group.connectorId
                                componentVersion = $group.version
                                componentUsedCpu = $group.usedCpu
                                componentUsedMemory = $group.usedMemory
                                componentInstalledAt = $group.installedAt
                                componentUpdatedAt = $group.updatedAt
                                maintenanceStatus = $group.maintenanceStatus
                            }
                            $str = ""
                            foreach($client in $group.upgradeVersions){
                                if(![String]::IsNullOrEmpty($client)){
                                    $str += "$client;"
                                }
                            }
                            $minihash2 += @{
                                componentUpgradeVersions = $str
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMConnectorPoolDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        poolId = $rec.poolId
                        name = $rec.name
                        description = $rec.description
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMConnectors"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        connectorId = $rec.connectorId
                        connectorStatus = $rec.connectorStatus
                        platformType = $rec.platformType
                        connectorPoolId = $rec.connectorPoolId
                        version = $rec.version
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        hostname = $rec.host.hostname
                        privateIp = $rec.host.privateIp
                        publicIp = $rec.host.publicIp
                        os = $rec.host.os
                        osVersion = $rec.host.osVersion
                        osName = $rec.host.osName
                        cloudRegion = $rec.host.cloudRegion
                        cloudAccount = $rec.host.cloudAccount
                        cpuType = $rec.host.cpuType
                        totalCpu = $rec.host.totalCpu
                        usedCpu = $rec.host.usedCpu
                        totalMemory = $rec.host.totalMemory
                        usedMemory = $rec.host.usedMemory
                        hostConfig = $rec.host.hostConfig
                    }
                    $str = ""
                    foreach($client in $rec.upgradeVersions){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        upgradeVersions = $str
                    }

                    $grouplen = $rec.components.Count
                    if($grouplen -eq 0){
                        $minihash2 = $minihash
                        $minihash2 += @{
                            componentId = ""
                            componentName = ""
                            acronym = ""
                            componentStatus = ""
                            componentConnectorId = ""
                            componentVersion = ""
                            componentUpgradeVersions = ""
                            componentUsedCpu = ""
                            componentUsedMemory = ""
                            componentInstalledAt = ""
                            componentUpdatedAt = ""
                            maintenanceStatus = ""
                        }
                        $convertobj = [PSCustomObject]$minihash2
                        $outputmatrix += $convertobj
                    }
                    else{
                        foreach($group in $rec.components){
                            $minihash2 = $minihash
                            $minihash2 += @{
                                componentId = $group.componentId
                                componentName = $group.componentName
                                acronym = $group.acronym
                                componentStatus = $group.componentStatus
                                componentConnectorId = $group.connectorId
                                componentVersion = $group.version
                                componentUsedCpu = $group.usedCpu
                                componentUsedMemory = $group.usedMemory
                                componentInstalledAt = $group.installedAt
                                componentUpdatedAt = $group.updatedAt
                                maintenanceStatus = $group.maintenanceStatus
                            }
                            $str = ""
                            foreach($client in $group.upgradeVersions){
                                if(![String]::IsNullOrEmpty($client)){
                                    $str += "$client;"
                                }
                            }
                            $minihash2 += @{
                                componentUpgradeVersions = $str
                            }
                            $convertobj = [PSCustomObject]$minihash2
                            $outputmatrix += $convertobj
                        }
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMConnectorComponentDetails"){
                foreach($rec in $Data){
                    $minihash = @{
                        componentId = $rec.componentId
                        componentName = $rec.componentName
                        acronym = $rec.acronym
                        componentStatus = $rec.componentStatus
                        connectorId = $rec.connectorId
                        version = $rec.version
                        usedCpu = $rec.usedCpu
                        usedMemory = $rec.usedMemory
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        maintenanceStatus = $rec.maintenanceStatus
                    }
                    $str = ""
                    foreach($client in $rec.upgradeVersions){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        upgradeVersions = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }
                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMAllConnectorComponents"){
                foreach($rec in $Data.components){
                    $minihash = @{
                        componentId = $rec.componentId
                        componentName = $rec.componentName
                        acronym = $rec.acronym
                        componentStatus = $rec.componentStatus
                        connectorId = $rec.connectorId
                        version = $rec.version
                        usedCpu = $rec.usedCpu
                        usedMemory = $rec.usedMemory
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        maintenanceStatus = $rec.maintenanceStatus
                    }
                    $str = ""
                    foreach($client in $rec.upgradeVersions){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        upgradeVersions = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMComponentLogList"){
                foreach($rec in $Data.logs){
                    $minihash = [ordered]@{
                        logId = $rec.logId
                        date = $rec.date
                        displayName = $rec.displayName
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASCMAllComponents"){
                foreach($rec in $Data.components){
                    $minihash = @{
                        componentId = $rec.componentId
                        componentName = $rec.componentName
                        acronym = $rec.acronym
                        componentStatus = $rec.componentStatus
                        connectorId = $rec.connectorId
                        version = $rec.version
                        usedCpu = $rec.usedCpu
                        usedMemory = $rec.usedMemory
                        installedAt = $rec.installedAt
                        updatedAt = $rec.updatedAt
                        maintenanceStatus = $rec.maintenanceStatus
                    }
                    $str = ""
                    foreach($client in $rec.upgradeVersions){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        upgradeVersions = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion ConnectorManagementCommands
            #region DPACommands
            if($CommandName -eq "Get-VPASDPAAllPolicies"){
                foreach($rec in $Data.items){
                    $minihash = [ordered]@{
                        policyId = $rec.policyId
                        status = $rec.status
                        policyName = $rec.policyName
                        description = $rec.description
                        createdOn = $rec.createdOn
                        createdBy = $rec.createdBy
                        updatedOn = $rec.updatedOn
                        updatedBy = $rec.updatedBy
                    }
                    $str = ""
                    foreach($client in $rec.ruleNames){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        ruleNames = $str
                    }
                    $str = ""
                    foreach($client in $rec.platforms){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        platforms = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPAAllStrongAccounts"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        secret_id = $rec.secret_id
                        tenant_id = $rec.tenant_id
                        secret_type = $rec.secret_type
                        secret_name = $rec.secret_name
                        is_active = $rec.is_active
                        certFileName = $rec.secret_details.certFileName
                        account_domain = $rec.secret_details.account_domain
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPAAllStrongAccountSets"){
                foreach($rec in $Data.target_sets){
                    $minihash = [ordered]@{
                        name = $rec.name
                        provision_format = $rec.provision_format
                        description = $rec.description
                        enable_certificate_validation = $rec.enable_certificate_validation
                        secret_type = $rec.secret_type
                        secret_id = $rec.secret_id
                        type = $rec.type
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPAPolicies"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        policyId = $rec.policyId
                        status = $rec.status
                        policyName = $rec.policyName
                        description = $rec.description
                        createdOn = $rec.createdOn
                        createdBy = $rec.createdBy
                        updatedOn = $rec.updatedOn
                        updatedBy = $rec.updatedBy
                    }
                    $str = ""
                    foreach($client in $rec.ruleNames){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        ruleNames = $str
                    }
                    $str = ""
                    foreach($client in $rec.platforms){
                        if(![String]::IsNullOrEmpty($client)){
                            $str += "$client;"
                        }
                    }
                    $minihash += @{
                        platforms = $str
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPAStrongAccounts"){
                foreach($rec in $Data.value){
                    $minihash = [ordered]@{
                        secret_id = $rec.secret_id
                        tenant_id = $rec.tenant_id
                        secret_type = $rec.secret_type
                        secret_name = $rec.secret_name
                        is_active = $rec.is_active
                        certFileName = $rec.secret_details.certFileName
                        account_domain = $rec.secret_details.account_domain
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPAStrongAccountDetails"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        secret_id = $rec.secret_id
                        tenant_id = $rec.tenant_id
                        secret_type = $rec.secret_type
                        secret_name = $rec.secret_name
                        is_active = $rec.is_active
                        is_rotatable = $rec.is_rotatable
                        certFileName = $rec.secret_details.certFileName
                        account_domain = $rec.secret_details.account_domain
                        creation_time = $rec.creation_time
                        last_modified = $rec.last_modified
                        tenant_encrypted = $rec.secret.tenant_encrypted
                        secret_data = $rec.secret.secret_data
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Get-VPASDPASettings"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        mfaCaching_isMfaCachingEnabled = $rec.mfaCaching.isMfaCachingEnabled
                        mfaCaching_keyExpirationTimeSec = $rec.mfaCaching.keyExpirationTimeSec
                        mfaCaching_clientIpEnforced = $rec.mfaCaching.clientIpEnforced
                        mfaCaching_tokenUsageCount = $rec.mfaCaching.tokenUsageCount
                        sshMfaCaching_isMfaCachingEnabled = $rec.sshMfaCaching.isMfaCachingEnabled
                        sshMfaCaching_keyExpirationTimeSec = $rec.sshMfaCaching.keyExpirationTimeSec
                        sshMfaCaching_clientIpEnforced = $rec.sshMfaCaching.clientIpEnforced
                        sshMfaCaching_tokenUsageCount = $rec.sshMfaCaching.tokenUsageCount
                        rdpMfaCaching_isMfaCachingEnabled = $rec.rdpMfaCaching.isMfaCachingEnabled
                        rdpMfaCaching_keyExpirationTimeSec = $rec.rdpMfaCaching.keyExpirationTimeSec
                        rdpMfaCaching_clientIpEnforced = $rec.rdpMfaCaching.clientIpEnforced
                        rdpMfaCaching_tokenUsageCount = $rec.rdpMfaCaching.tokenUsageCount
                        rdpTokenMfaCaching_isMfaCachingEnabled = $rec.rdpTokenMfaCaching.isMfaCachingEnabled
                        rdpTokenMfaCaching_keyExpirationTimeSec = $rec.rdpTokenMfaCaching.keyExpirationTimeSec
                        rdpTokenMfaCaching_clientIpEnforced = $rec.rdpTokenMfaCaching.clientIpEnforced
                        rdpTokenMfaCaching_tokenUsageCount = $rec.rdpTokenMfaCaching.tokenUsageCount
                        adbMfaCaching_isMfaCachingEnabled = $rec.adbMfaCaching.isMfaCachingEnabled
                        adbMfaCaching_keyExpirationTimeSec = $rec.adbMfaCaching.keyExpirationTimeSec
                        adbMfaCaching_clientIpEnforced = $rec.adbMfaCaching.clientIpEnforced
                        adbMfaCaching_tokenUsageCount = $rec.adbMfaCaching.tokenUsageCount
                        k8sMfaCaching_isMfaCachingEnabled = $rec.k8sMfaCaching.isMfaCachingEnabled
                        k8sMfaCaching_keyExpirationTimeSec = $rec.k8sMfaCaching.keyExpirationTimeSec
                        k8sMfaCaching_clientIpEnforced = $rec.k8sMfaCaching.clientIpEnforced
                        k8sMfaCaching_tokenUsageCount = $rec.k8sMfaCaching.tokenUsageCount
                        sshCommandAudit_isCommandParsingForAuditEnabled = $rec.sshCommandAudit.isCommandParsingForAuditEnabled
                        sshCommandAudit_shellPromptForAudit = $rec.sshCommandAudit.shellPromptForAudit
                        standingAccessAvailable = $rec.standingAccess.standingAccessAvailable
                        sessionMaxDuration = $rec.standingAccess.sessionMaxDuration
                        sessionIdleTime = $rec.standingAccess.sessionIdleTime
                        fingerprintValidation = $rec.standingAccess.fingerprintValidation
                        sshStandingAccessAvailable = $rec.standingAccess.sshStandingAccessAvailable
                        rdpStandingAccessAvailable = $rec.standingAccess.rdpStandingAccessAvailable
                        adbStandingAccessAvailable = $rec.standingAccess.adbStandingAccessAvailable
                        rdpFileTransfer = $rec.rdpFileTransfer.enabled
                        certificateValidation = $rec.certificateValidation.enabled
                        rdpKeyboardLayout = $rec.rdpKeyboardLayout.layout
                        rdpRecording = $rec.rdpRecording.enabled
                        sshRecording = $rec.sshRecording.enabled
                        logonSequence = $rec.logonSequence.logonSequence
                        tenantType = $rec.selfHostedPam.tenantType
                        connectorPoolId = $rec.selfHostedPam.connectorPoolId
                        pvwaBaseUrl = $rec.selfHostedPam.pvwaBaseUrl
                        serviceUserSecretId = $rec.selfHostedPam.serviceUserSecretId
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion DPACommands
            #region MISCCommands
            if($CommandName -eq "Find-VPASTargetValue"){
                foreach($rec in $Data){
                    $minihash = [ordered]@{
                        Condition = $rec.Condition
                        Asset = $rec.Asset
                        Value = $rec.Value
                        ExtraInfo = $rec.ExtraInfo
                    }
                    $convertobj = [PSCustomObject]$minihash
                    $outputmatrix += $convertobj
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            if($CommandName -eq "Invoke-VPASHealthCheck"){
                foreach($rec in $Data.Keys){
                    foreach($entry in $Data.$rec){
                        $minihash = [ordered]@{
                            Check = $entry.Check
                            Category = $entry.Category
                            TargetName = $entry.TargetName
                            Recommendation = $entry.Recommendation
                        }
                        $convertobj = [PSCustomObject]$minihash
                        $outputmatrix += $convertobj
                    }
                }

                $outputmatrix | Export-Csv -Path $targetCSV -NoTypeInformation
                Write-VPASOutput -str "CSV FILE EXPORTED TO: $targetCSV" -type C
                return $true
            }
            #endregion MISCCommands

            Write-VPASOutput -str "FAILED TO EXPORT TO CSV FILE" -type E
            return $false
        }catch{
            Write-VPASOutput -str "COULD NOT WRITE TO CSV FILES" -type E
            Write-VPASOutput -str "$_" -type E
            return $false
        }
    }
    End{

    }
}

# SIG # Begin signature block
# MIIroAYJKoZIhvcNAQcCoIIrkTCCK40CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUN77M6kR5LSH/GzikkVOeIor8
# cluggiTbMIIFbzCCBFegAwIBAgIQSPyTtGBVlI02p8mKidaUFjANBgkqhkiG9w0B
# AQwFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVy
# MRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEh
# MB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTIxMDUyNTAwMDAw
# MFoXDTI4MTIzMTIzNTk1OVowVjELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1NlY3Rp
# Z28gTGltaXRlZDEtMCsGA1UEAxMkU2VjdGlnbyBQdWJsaWMgQ29kZSBTaWduaW5n
# IFJvb3QgUjQ2MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjeeUEiIE
# JHQu/xYjApKKtq42haxH1CORKz7cfeIxoFFvrISR41KKteKW3tCHYySJiv/vEpM7
# fbu2ir29BX8nm2tl06UMabG8STma8W1uquSggyfamg0rUOlLW7O4ZDakfko9qXGr
# YbNzszwLDO/bM1flvjQ345cbXf0fEj2CA3bm+z9m0pQxafptszSswXp43JJQ8mTH
# qi0Eq8Nq6uAvp6fcbtfo/9ohq0C/ue4NnsbZnpnvxt4fqQx2sycgoda6/YDnAdLv
# 64IplXCN/7sVz/7RDzaiLk8ykHRGa0c1E3cFM09jLrgt4b9lpwRrGNhx+swI8m2J
# mRCxrds+LOSqGLDGBwF1Z95t6WNjHjZ/aYm+qkU+blpfj6Fby50whjDoA7NAxg0P
# OM1nqFOI+rgwZfpvx+cdsYN0aT6sxGg7seZnM5q2COCABUhA7vaCZEao9XOwBpXy
# bGWfv1VbHJxXGsd4RnxwqpQbghesh+m2yQ6BHEDWFhcp/FycGCvqRfXvvdVnTyhe
# Be6QTHrnxvTQ/PrNPjJGEyA2igTqt6oHRpwNkzoJZplYXCmjuQymMDg80EY2NXyc
# uu7D1fkKdvp+BRtAypI16dV60bV/AK6pkKrFfwGcELEW/MxuGNxvYv6mUKe4e7id
# FT/+IAx1yCJaE5UZkADpGtXChvHjjuxf9OUCAwEAAaOCARIwggEOMB8GA1UdIwQY
# MBaAFKARCiM+lvEH7OKvKe+CpX/QMKS0MB0GA1UdDgQWBBQy65Ka/zWWSC8oQEJw
# IDaRXBeF5jAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zATBgNVHSUE
# DDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYGZ4EMAQQBMEMGA1Ud
# HwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FBQUNlcnRpZmlj
# YXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IBAQASv6Hvi3Sa
# mES4aUa1qyQKDKSKZ7g6gb9Fin1SB6iNH04hhTmja14tIIa/ELiueTtTzbT72ES+
# BtlcY2fUQBaHRIZyKtYyFfUSg8L54V0RQGf2QidyxSPiAjgaTCDi2wH3zUZPJqJ8
# ZsBRNraJAlTH/Fj7bADu/pimLpWhDFMpH2/YGaZPnvesCepdgsaLr4CnvYFIUoQx
# 2jLsFeSmTD1sOXPUC4U5IOCFGmjhp0g4qdE2JXfBjRkWxYhMZn0vY86Y6GnfrDyo
# XZ3JHFuu2PMvdM+4fvbXg50RlmKarkUT2n/cR/vfw1Kf5gZV6Z2M8jpiUbzsJA8p
# 1FiAhORFe1rYMIIGFDCCA/ygAwIBAgIQeiOu2lNplg+RyD5c9MfjPzANBgkqhkiG
# 9w0BAQwFADBXMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVk
# MS4wLAYDVQQDEyVTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIFJvb3QgUjQ2
# MB4XDTIxMDMyMjAwMDAwMFoXDTM2MDMyMTIzNTk1OVowVTELMAkGA1UEBhMCR0Ix
# GDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDEsMCoGA1UEAxMjU2VjdGlnbyBQdWJs
# aWMgVGltZSBTdGFtcGluZyBDQSBSMzYwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw
# ggGKAoIBgQDNmNhDQatugivs9jN+JjTkiYzT7yISgFQ+7yavjA6Bg+OiIjPm/N/t
# 3nC7wYUrUlY3mFyI32t2o6Ft3EtxJXCc5MmZQZ8AxCbh5c6WzeJDB9qkQVa46xiY
# Epc81KnBkAWgsaXnLURoYZzksHIzzCNxtIXnb9njZholGw9djnjkTdAA83abEOHQ
# 4ujOGIaBhPXG2NdV8TNgFWZ9BojlAvflxNMCOwkCnzlH4oCw5+4v1nssWeN1y4+R
# laOywwRMUi54fr2vFsU5QPrgb6tSjvEUh1EC4M29YGy/SIYM8ZpHadmVjbi3Pl8h
# JiTWw9jiCKv31pcAaeijS9fc6R7DgyyLIGflmdQMwrNRxCulVq8ZpysiSYNi79tw
# 5RHWZUEhnRfs/hsp/fwkXsynu1jcsUX+HuG8FLa2BNheUPtOcgw+vHJcJ8HnJCrc
# UWhdFczf8O+pDiyGhVYX+bDDP3GhGS7TmKmGnbZ9N+MpEhWmbiAVPbgkqykSkzyY
# Vr15OApZYK8CAwEAAaOCAVwwggFYMB8GA1UdIwQYMBaAFPZ3at0//QET/xahbIIC
# L9AKPRQlMB0GA1UdDgQWBBRfWO1MMXqiYUKNUoC6s2GXGaIymzAOBgNVHQ8BAf8E
# BAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNVHSUEDDAKBggrBgEFBQcDCDAR
# BgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL2NybC5z
# ZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljVGltZVN0YW1waW5nUm9vdFI0Ni5jcmww
# fAYIKwYBBQUHAQEEcDBuMEcGCCsGAQUFBzAChjtodHRwOi8vY3J0LnNlY3RpZ28u
# Y29tL1NlY3RpZ29QdWJsaWNUaW1lU3RhbXBpbmdSb290UjQ2LnA3YzAjBggrBgEF
# BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQADggIB
# ABLXeyCtDjVYDJ6BHSVY/UwtZ3Svx2ImIfZVVGnGoUaGdltoX4hDskBMZx5NY5L6
# SCcwDMZhHOmbyMhyOVJDwm1yrKYqGDHWzpwVkFJ+996jKKAXyIIaUf5JVKjccev3
# w16mNIUlNTkpJEor7edVJZiRJVCAmWAaHcw9zP0hY3gj+fWp8MbOocI9Zn78xvm9
# XKGBp6rEs9sEiq/pwzvg2/KjXE2yWUQIkms6+yslCRqNXPjEnBnxuUB1fm6bPAV+
# Tsr/Qrd+mOCJemo06ldon4pJFbQd0TQVIMLv5koklInHvyaf6vATJP4DfPtKzSBP
# kKlOtyaFTAjD2Nu+di5hErEVVaMqSVbfPzd6kNXOhYm23EWm6N2s2ZHCHVhlUgHa
# C4ACMRCgXjYfQEDtYEK54dUwPJXV7icz0rgCzs9VI29DwsjVZFpO4ZIVR33LwXyP
# DbYFkLqYmgHjR3tKVkhh9qKV2WCmBuC27pIOx6TYvyqiYbntinmpOqh/QPAnhDge
# xKG9GX/n1PggkGi9HCapZp8fRwg8RftwS21Ln61euBG0yONM6noD2XQPrFwpm3Gc
# uqJMf0o8LLrFkSLRQNwxPDDkWXhW+gZswbaiie5fd/W2ygcto78XCSPfFWveUOSZ
# 5SqK95tBO8aTHmEa4lpJVD7HrTEn9jb1EGvxOb1cnn0CMIIGGjCCBAKgAwIBAgIQ
# Yh1tDFIBnjuQeRUgiSEcCjANBgkqhkiG9w0BAQwFADBWMQswCQYDVQQGEwJHQjEY
# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMS0wKwYDVQQDEyRTZWN0aWdvIFB1Ymxp
# YyBDb2RlIFNpZ25pbmcgUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIx
# MjM1OTU5WjBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVk
# MSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgUjM2MIIB
# ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAmyudU/o1P45gBkNqwM/1f/bI
# U1MYyM7TbH78WAeVF3llMwsRHgBGRmxDeEDIArCS2VCoVk4Y/8j6stIkmYV5Gej4
# NgNjVQ4BYoDjGMwdjioXan1hlaGFt4Wk9vT0k2oWJMJjL9G//N523hAm4jF4UjrW
# 2pvv9+hdPX8tbbAfI3v0VdJiJPFy/7XwiunD7mBxNtecM6ytIdUlh08T2z7mJEXZ
# D9OWcJkZk5wDuf2q52PN43jc4T9OkoXZ0arWZVeffvMr/iiIROSCzKoDmWABDRzV
# /UiQ5vqsaeFaqQdzFf4ed8peNWh1OaZXnYvZQgWx/SXiJDRSAolRzZEZquE6cbcH
# 747FHncs/Kzcn0Ccv2jrOW+LPmnOyB+tAfiWu01TPhCr9VrkxsHC5qFNxaThTG5j
# 4/Kc+ODD2dX/fmBECELcvzUHf9shoFvrn35XGf2RPaNTO2uSZ6n9otv7jElspkfK
# 9qEATHZcodp+R4q2OIypxR//YEb3fkDn3UayWW9bAgMBAAGjggFkMIIBYDAfBgNV
# HSMEGDAWgBQy65Ka/zWWSC8oQEJwIDaRXBeF5jAdBgNVHQ4EFgQUDyrLIIcouOxv
# SK4rVKYpqhekzQwwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
# EwYDVR0lBAwwCgYIKwYBBQUHAwMwGwYDVR0gBBQwEjAGBgRVHSAAMAgGBmeBDAEE
# ATBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3Rp
# Z29QdWJsaWNDb2RlU2lnbmluZ1Jvb3RSNDYuY3JsMHsGCCsGAQUFBwEBBG8wbTBG
# BggrBgEFBQcwAoY6aHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGlj
# Q29kZVNpZ25pbmdSb290UjQ2LnA3YzAjBggrBgEFBQcwAYYXaHR0cDovL29jc3Au
# c2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQADggIBAAb/guF3YzZue6EVIJsT/wT+
# mHVEYcNWlXHRkT+FoetAQLHI1uBy/YXKZDk8+Y1LoNqHrp22AKMGxQtgCivnDHFy
# AQ9GXTmlk7MjcgQbDCx6mn7yIawsppWkvfPkKaAQsiqaT9DnMWBHVNIabGqgQSGT
# rQWo43MOfsPynhbz2Hyxf5XWKZpRvr3dMapandPfYgoZ8iDL2OR3sYztgJrbG6VZ
# 9DoTXFm1g0Rf97Aaen1l4c+w3DC+IkwFkvjFV3jS49ZSc4lShKK6BrPTJYs4NG1D
# GzmpToTnwoqZ8fAmi2XlZnuchC4NPSZaPATHvNIzt+z1PHo35D/f7j2pO1S8BCys
# QDHCbM5Mnomnq5aYcKCsdbh0czchOm8bkinLrYrKpii+Tk7pwL7TjRKLXkomm5D1
# Umds++pip8wH2cQpf93at3VDcOK4N7EwoIJB0kak6pSzEu4I64U6gZs7tS/dGNSl
# jf2OSSnRr7KWzq03zl8l75jy+hOds9TWSenLbjBQUGR96cFr6lEUfAIEHVC1L68Y
# 1GGxx4/eRI82ut83axHMViw1+sVpbPxg51Tbnio1lB93079WPFnYaOvfGAA0e0zc
# fF/M9gXr+korwQTh2Prqooq2bYNMvUoUKD85gnJ+t0smrWrb8dee2CvYZXD5laGt
# aAxOfy/VKNmwuWuAh9kcMIIGRzCCBK+gAwIBAgIQacs5SDkvNuif0aEmZmr03jAN
# BgkqhkiG9w0BAQwFADBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBM
# aW1pdGVkMSswKQYDVQQDEyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0Eg
# UjM2MB4XDTI1MDEyOTAwMDAwMFoXDTI4MDEyOTIzNTk1OVowXjELMAkGA1UEBhMC
# VVMxEzARBgNVBAgMCk5ldyBKZXJzZXkxHDAaBgNVBAoME0N5YmVyTWVsIENvbnN1
# bHRpbmcxHDAaBgNVBAMME0N5YmVyTWVsIENvbnN1bHRpbmcwggIiMA0GCSqGSIb3
# DQEBAQUAA4ICDwAwggIKAoICAQDBQmSvdfamF8o0CJr4vbHCcJ4rwx6T1HR3d32u
# 4aIf9v9p/GV4nFdG4PP9SMjWw7Nx9CLFqGPpkw7aDU2IxwpfPYExDzkCj2pgiyeV
# KlL0itTlPocb6i1cZLe/WHV7aUkGkVlfvyYIqdJ9uw711dhNWmMhlqo+/qyp+gpK
# qaiFHm6mWNVg2KLTH5Pu38cBoGhS1tn7mlQbtALNjehkpFw2AAntEIBzM3ZEg9WB
# xQlgYY0yAPkydYbJfTEOEFJqHUPTSV46jx22Jb9dl0cEIPsGrCp+Jo5Ugusp9oZE
# CZ8bGt7Vc9jYoIWGpqcRDq1JZFNCSVvNE4N3ECGjq6W3kYW7ot0CP1DkpJ93a5wr
# ksQ6bvYGUy3lghkMvzjkkq/NVUDEVcdNR7PsUFf654vSw+iLINZ+9kYg+Znplfnd
# T/JSMJDAaWkM5oLu6+ao0774QWrsHOttz7M8EDU+3PntYHglwWoej6qXIFRurgXd
# wAXXyXYcSmkOTbPqrjSwsbs8CuSwGqebbRSDKfjRzDqQ9D1AZ/JHHaaUkBbAYBsV
# MrvypDSrP/1o37mt4Zky28BnEp5ztEGp0HJ44X4rFVWWz+BfeuZWcVUcGKW2YFHo
# bNwGmJ/OanLvlnmtpZIRLF9ZkbzCHHomi+RId4g3fc3FsGxKqEW9Vj8PCumwKc6L
# UwZU4wIDAQABo4IBiTCCAYUwHwYDVR0jBBgwFoAUDyrLIIcouOxvSK4rVKYpqhek
# zQwwHQYDVR0OBBYEFCiCHmEfvPkU1uIc2sPugFDBq88SMA4GA1UdDwEB/wQEAwIH
# gDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMEoGA1UdIARDMEEw
# NQYMKwYBBAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5j
# b20vQ1BTMAgGBmeBDAEEATBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLnNl
# Y3RpZ28uY29tL1NlY3RpZ29QdWJsaWNDb2RlU2lnbmluZ0NBUjM2LmNybDB5Bggr
# BgEFBQcBAQRtMGswRAYIKwYBBQUHMAKGOGh0dHA6Ly9jcnQuc2VjdGlnby5jb20v
# U2VjdGlnb1B1YmxpY0NvZGVTaWduaW5nQ0FSMzYuY3J0MCMGCCsGAQUFBzABhhdo
# dHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAYEAmLUUP/C5
# nHN/qX27dIrfNezHdUul/uhOA5CwNkD7P4pvLJButR/S1OmvozuzJJTce6824Iyl
# nXkRwUFj04XLbodkBL7+YwQ5ml7CjdDSVo+sI/38jcEQ6FgosV/TTJSiFAgqMNwk
# x/kSzvQ1/Ufp5YVKggCXGJ4VitIzl5nMbzzu35G/uy4vmCQfh0KPYUTJYiRsF6Z3
# XJiIVtYrEwN/ikif/WFGrzsFj1OOWHNn5qDOP80xExmRS09z/wdZE9RdjPv5fYLn
# KWy1+GQ/w1vzg/l2vUXIgBV0MxalUfTP4V9Spsodrb+noPXiCy5n+6hy9yCf3EQb
# 3G1n8rT/a454fLSijMm6bhrgBRqhPUUtn6ZIBdEJzJUI6ftuXrQnB/U7zf32xcTT
# AW7WPem7DFK/4JrSaxiXcSkxQ4kXJDVoDPUJdpb0c5XdWVJO0DCkB35ONEIoqT6V
# jEIjLPSw9UXE420r1OIpV8FRJqrW4Fr5RUveEUlyF+FyygVOYZECNsjRMIIGXTCC
# BMWgAwIBAgIQOlJqLITOVeYdZfzMEtjpiTANBgkqhkiG9w0BAQwFADBVMQswCQYD
# VQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYDVQQDEyNTZWN0
# aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFIzNjAeFw0yNDAxMTUwMDAwMDBa
# Fw0zNTA0MTQyMzU5NTlaMG4xCzAJBgNVBAYTAkdCMRMwEQYDVQQIEwpNYW5jaGVz
# dGVyMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxMDAuBgNVBAMTJ1NlY3RpZ28g
# UHVibGljIFRpbWUgU3RhbXBpbmcgU2lnbmVyIFIzNTCCAiIwDQYJKoZIhvcNAQEB
# BQADggIPADCCAgoCggIBAI3RZ/TBSJu9/ThJOk1hgZvD2NxFpWEENo0GnuOYloD1
# 1BlbmKCGtcY0xiMrsN7LlEgcyoshtP3P2J/vneZhuiMmspY7hk/Q3l0FPZPBllo9
# vwT6GpoNnxXLZz7HU2ITBsTNOs9fhbdAWr/Mm8MNtYov32osvjYYlDNfefnBajrQ
# qSV8Wf5ZvbaY5lZhKqQJUaXxpi4TXZKohLgxU7g9RrFd477j7jxilCU2ptz+d1OC
# zNFAsXgyPEM+NEMPUz2q+ktNlxMZXPF9WLIhOhE3E8/oNSJkNTqhcBGsbDI/1qCU
# 9fBhuSojZ0u5/1+IjMG6AINyI6XLxM8OAGQmaMB8gs2IZxUTOD7jTFR2HE1xoL7q
# vSO4+JHtvNceHu//dGeVm5Pdkay3Et+YTt9EwAXBsd0PPmC0cuqNJNcOI0XnwjE+
# 2+Zk8bauVz5ir7YHz7mlj5Bmf7W8SJ8jQwO2IDoHHFC46ePg+eoNors0QrC0PWnO
# gDeMkW6gmLBtq3CEOSDU8iNicwNsNb7ABz0W1E3qlSw7jTmNoGCKCgVkLD2FaMs2
# qAVVOjuUxvmtWMn1pIFVUvZ1yrPIVbYt1aTld2nrmh544Auh3tgggy/WluoLXlHt
# AJgvFwrVsKXj8ekFt0TmaPL0lHvQEe5jHbufhc05lvCtdwbfBl/2ARSTuy1s8CgF
# AgMBAAGjggGOMIIBijAfBgNVHSMEGDAWgBRfWO1MMXqiYUKNUoC6s2GXGaIymzAd
# BgNVHQ4EFgQUaO+kMklptlI4HepDOSz0FGqeDIUwDgYDVR0PAQH/BAQDAgbAMAwG
# A1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwSgYDVR0gBEMwQTA1
# BgwrBgEEAbIxAQIBAwgwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNv
# bS9DUFMwCAYGZ4EMAQQCMEoGA1UdHwRDMEEwP6A9oDuGOWh0dHA6Ly9jcmwuc2Vj
# dGlnby5jb20vU2VjdGlnb1B1YmxpY1RpbWVTdGFtcGluZ0NBUjM2LmNybDB6Bggr
# BgEFBQcBAQRuMGwwRQYIKwYBBQUHMAKGOWh0dHA6Ly9jcnQuc2VjdGlnby5jb20v
# U2VjdGlnb1B1YmxpY1RpbWVTdGFtcGluZ0NBUjM2LmNydDAjBggrBgEFBQcwAYYX
# aHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcNAQEMBQADggGBALDcLsn6
# TzZMii/2yU/V7xhPH58Oxr/+EnrZjpIyvYTz2u/zbL+fzB7lbrPml8ERajOVbuda
# n6x08J1RMXD9hByq+yEfpv1G+z2pmnln5XucfA9MfzLMrCArNNMbUjVcRcsAr18e
# eZeloN5V4jwrovDeLOdZl0tB7fOX5F6N2rmXaNTuJR8yS2F+EWaL5VVg+RH8FelX
# tRvVDLJZ5uqSNIckdGa/eUFhtDKTTz9LtOUh46v2JD5Q3nt8mDhAjTKp2fo/KJ6F
# LWdKAvApGzjpPwDqFeJKf+kJdoBKd2zQuwzk5Wgph9uA46VYK8p/BTJJahKCuGdy
# KFIFfEfakC4NXa+vwY4IRp49lzQPLo7WticqMaaqb8hE2QmCFIyLOvWIg4837bd+
# 60FcCGbHwmL/g1ObIf0rRS9ceK4DY9rfBnHFH2v1d4hRVvZXyCVlrL7ZQuVzjjkL
# MK9VJlXTVkHpuC8K5S4HHTv2AJx6mOdkMJwS4gLlJ7gXrIVpnxG+aIniGDCCBoIw
# ggRqoAMCAQICEDbCsL18Gzrno7PdNsvJdWgwDQYJKoZIhvcNAQEMBQAwgYgxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJzZXkg
# Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQDEyVV
# U0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIxMDMyMjAw
# MDAwMFoXDTM4MDExODIzNTk1OVowVzELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1Nl
# Y3RpZ28gTGltaXRlZDEuMCwGA1UEAxMlU2VjdGlnbyBQdWJsaWMgVGltZSBTdGFt
# cGluZyBSb290IFI0NjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIid
# 2LlFZ50d3ei5JoGaVFTAfEkFm8xaFQ/ZlBBEtEFAgXcUmanU5HYsyAhTXiDQkiUv
# pVdYqZ1uYoZEMgtHES1l1Cc6HaqZzEbOOp6YiTx63ywTon434aXVydmhx7Dx4IBr
# Aou7hNGsKioIBPy5GMN7KmgYmuu4f92sKKjbxqohUSfjk1mJlAjthgF7Hjx4vvyV
# DQGsd5KarLW5d73E3ThobSkob2SL48LpUR/O627pDchxll+bTSv1gASn/hp6IuHJ
# orEu6EopoB1CNFp/+HpTXeNARXUmdRMKbnXWflq+/g36NJXB35ZvxQw6zid61qmr
# lD/IbKJA6COw/8lFSPQwBP1ityZdwuCysCKZ9ZjczMqbUcLFyq6KdOpuzVDR3ZUw
# xDKL1wCAxgL2Mpz7eZbrb/JWXiOcNzDpQsmwGQ6Stw8tTCqPumhLRPb7YkzM8/6N
# nWH3T9ClmcGSF22LEyJYNWCHrQqYubNeKolzqUbCqhSqmr/UdUeb49zYHr7ALL8b
# AJyPDmubNqMtuaobKASBqP84uhqcRY/pjnYd+V5/dcu9ieERjiRKKsxCG1t6tG9o
# j7liwPddXEcYGOUiWLm742st50jGwTzxbMpepmOP1mLnJskvZaN5e45NuzAHteOR
# lsSuDt5t4BBRCJL+5EZnnw0ezntk9R8QJyAkL6/bAgMBAAGjggEWMIIBEjAfBgNV
# HSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU9ndq3T/9ARP/
# FqFsggIv0Ao9FCUwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEwYD
# VR0lBAwwCgYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcw
# RaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0
# aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUH
# MAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIB
# AA6+ZUHtaES45aHF1BGH5Lc7JYzrftrIF5Ht2PFDxKKFOct/awAEWgHQMVHol9ZL
# Syd/pYMbaC0IZ+XBW9xhdkkmUV/KbUOiL7g98M/yzRyqUOZ1/IY7Ay0YbMniIibJ
# rPcgFp73WDnRDKtVutShPSZQZAdtFwXnuiWl8eFARK3PmLqEm9UsVX+55DbVIz33
# Mbhba0HUTEYv3yJ1fwKGxPBsP/MgTECimh7eXomvMm0/GPxX2uhwCcs/YLxDnBdV
# VlxvDjHjO1cuwbOpkiJGHmLXXVNbsdXUC2xBrq9fLrfe8IBsA4hopwsCj8hTuwKX
# JlSTrZcPRVSccP5i9U28gZ7OMzoJGlxZ5384OKm0r568Mo9TYrqzKeKZgFo0fj2/
# 0iHbj55hc20jfxvK3mQi+H7xpbzxZOFGm/yVQkpo+ffv5gdhp+hv1GDsvJOtJinJ
# mgGbBFZIThbqI+MHvAmMmkfb3fTxmSkop2mSJL1Y2x/955S29Gu0gSJIkc3z30vU
# /iXrMpWx2tS7UVfVP+5tKuzGtgkP7d/doqDrLF1u6Ci3TpjAZdeLLlRQZm867eVe
# XED58LXd1Dk6UvaAhvmWYXoiLz4JA5gPBcz7J311uahxCweNxE+xxxR3kT0WKzAS
# o5G/PyDez6NHdIUKBeE3jDPs2ACc6CkJ1Sji4PKWVT0/MYIGLzCCBisCAQEwaDBU
# MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQD
# EyJTZWN0aWdvIFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgUjM2AhBpyzlIOS826J/R
# oSZmavTeMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkG
# CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEE
# AYI3AgEVMCMGCSqGSIb3DQEJBDEWBBSQmlOVhzk81jP1JfjYRFRFDIHB9jANBgkq
# hkiG9w0BAQEFAASCAgBlgkqcDlw4bf/i93gVPtxi+aTjRJpsaLZJea89sHui3817
# NNu4Q4UmVt5m3ogttSSn2QNMUaP31UGHYifbevYe//DmCO33pfBA3RVpKH3c8PrW
# 2QidKDx/4cCaMPu8rSOaIpSsY1D1Z0kwlJ7okcdEd06Xxt/wUZfc1Osqonl17pOT
# Sb6L3xZ99B8hiXbNmWQY/wTl2R9FEv3kD3WddFICVYkqS6IDlw0vl0IL/hsg7grY
# R7hRNWbpkcRSxY5wVq4VK5iLR/2z3Lo4eZ3vyKs1eWnxDcJmGoPfAbq0H4EzHMuI
# 1PwxKknm0xOyMUsyWvGQo//XwebypF9S95E4PuK55jO/XJSexGHBNwAW6qX6b8Qr
# GYo5MSLsjJ/PUNUcbf20Xwhsp6+lc9TJZwTmLvbgerbqf/I+nKs8s3PlQzhf59Px
# lRf1ZpUr8Cpk7O8rRnczP511WQOvMH2vOITnPsMgcw5IgAd7ZXnxPVVqEGDITdHn
# W0qg3vvzvMHvWympu5Ksf88W8CzSbLbACAT1C+0nojzT95Nuvj33z731fsYPV0ey
# kqbDa5msVSbvyT/JkwvI6eN8QwI8HzDMOZnvKCiFGgwq0Eo7pf4i4YqM3P+XnZBu
# QaJmCOfRDyJhzne2wZDYRH4OM41qsuE2CVUf0BMeGuy+n/ZcfVkZzWljtWIUqqGC
# AyIwggMeBgkqhkiG9w0BCQYxggMPMIIDCwIBATBpMFUxCzAJBgNVBAYTAkdCMRgw
# FgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLDAqBgNVBAMTI1NlY3RpZ28gUHVibGlj
# IFRpbWUgU3RhbXBpbmcgQ0EgUjM2AhA6UmoshM5V5h1l/MwS2OmJMA0GCWCGSAFl
# AwQCAgUAoHkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUx
# DxcNMjUwMjA1MTQwNzQ4WjA/BgkqhkiG9w0BCQQxMgQwvHGHcAM2uRBPB643wdV2
# U2q8XuOTc+Uo+I60Cc3Ih+3qd88nKTNoQeiaxPMuaWr+MA0GCSqGSIb3DQEBAQUA
# BIICAFN4LFa8H/byTph5bfh5QCGUkHrhIA455FMdslzto6WFos+jGbSGT6LvM5Td
# 4xi0hyEGBoeBpdth8zuDwFZ5uQRW/4+cbe50bpSGuBLOXy/DnH4X9grS4LyxR3p+
# xwMFz0bdJsXcCWtO4KMec1j7lvBFRLwh1MW4tYI/P+iCBIAoKrDpp9u0nQR/4RA6
# 9Xgt2FpIG2oZOR6Nl/1q4C5aFEzQfxlYcg/Dt98VnzbWQR3jvfVKhzOqvy8+I5km
# PbnI2KtpgzPv0Xh5s17noOAQi7XH8+m56cHn63S1ve+ph78KQeQp8TJW5S1pjwVo
# WOxdgmirTrm1jIQXGfCvMAHZzWu8/PD+6ivxvBnVh6c5koJjf8xNIQnNHumdwKL6
# CxcH8Sip7DPMrVy5Fji4aMqewpMfJjRHis20zlb1hJgRdQarAuynLlNyDYa2lu29
# EQ2U6Xbur++xgVh/wN9qwQI/0aON2Lcv/OXdkyniGK682y5CT+cYgN2RQWJpufQc
# wOK4yvPDT9eRAnsW4naQCI1iK7m3pU8G+8cqI6kFud6aUHe+Xs47ycO+hlUsPqvB
# 4U7veaYqo6+iBFf9sy/GwReRU8j3pDUMNCO84r29bxDbjxU1HeIZ5O0mCbIn7yym
# QtviEZcIqunBEQLv60HfSRN+0YLOb7g9wMa5+X61cxE7WwtQ
# SIG # End signature block