#!/bin/sh








if ! [ $(id -u) = 0 ]; then   
	echo "Access denied"  
	exit 1
fi

: ${VERBOSE:=0}
if [ $VERBOSE != 0 ]; then
    RMVERBARG=-v
else
    RMVERBARG=
fi

KAVBIN_DIR="/Library/Application Support/Kaspersky Lab/KAV/Binaries"

LAUNCHDAEMON_DIR="/Library/LaunchDaemons"
LAUNCHDAEMON_KAV_ID="com.kaspersky.kav"
LAUNCHDAEMON_KAV_PLIST="$LAUNCHDAEMON_DIR/$LAUNCHDAEMON_KAV_ID.plist"

LAUNCHDAEMON_KAVD_ID="com.kaspersky.kav.kavd"
LAUNCHDAEMON_KAVD_PLIST="$LAUNCHDAEMON_DIR/$LAUNCHDAEMON_KAVD_ID.plist"

if [ -f "$LAUNCHDAEMON_KAVD_PLIST" ]
then
    LAUNCHDAEMON_KAVD_EFFECTIVE_ID="$LAUNCHDAEMON_KAVD_ID"
    LAUNCHDAEMON_KAVD_EFFECTIVE_PLIST="$LAUNCHDAEMON_KAVD_PLIST"
    KAVD_REL_PATH="Kaspersky Anti-Virus For Mac.app/Contents/MacOS/kavd.app/Contents/MacOS/kavd"
else
    LAUNCHDAEMON_KAVD_EFFECTIVE_ID="$LAUNCHDAEMON_KAV_ID"
    LAUNCHDAEMON_KAVD_EFFECTIVE_PLIST="$LAUNCHDAEMON_KAV_PLIST"
    KAVD_REL_PATH="KAV/Binaries/kav"
fi

LAUNCHAGENT_DIR="/Library/LaunchAgents"
LAUNCHAGENT_KAV_GUI_ID="com.kaspersky.kav.gui"
LAUNCHAGENT_KAV_GUI_PLIST="$LAUNCHAGENT_DIR/$LAUNCHAGENT_KAV_GUI_ID.plist"

LAUNCHCTL_AUTOUPDATE_DIR="/tmp"
LAUNCHCTL_AUTOUPDATE_ID="com.kaspersky.kav.autoupdater"
LAUNCHCTL_AUTOUPDATE_PLIST="$LAUNCHCTL_AUTOUPDATE_DIR/$LAUNCHCTL_AUTOUPDATE_ID.plist"

APP_BUNDLE="/Applications/Kaspersky Anti-Virus For Mac.app"
APP_BUNDLE_OLD="/Applications/Kaspersky Anti-Virus.app"

APPEX_BUNDLE_DIR="$APP_BUNDLE/Contents/PlugIns/KasperskySecurity.appex"

APP_SUPPORT_FOLDER="/Library/Application Support/Kaspersky Lab"
CACHES_FOLDER="/Library/Caches/com.kaspersky.kav"

LOG_DIR="Library/Logs/Kaspersky Lab"
CRASH_FILES_DIR="Library/Logs/DiagnosticReports"

SYSEXT_IDS_BASES_DROP="/var/.com_kaspersky_ids_drop_sysext"

USERS_DIR="/Users"
SCRIPT_DIR=$(dirname "$0")

LIB_RECEIPTS="/Library/Receipts"
LIB_RECEIPTS_OAS="$LIB_RECEIPTS"/oas.pkg
LIB_RECEIPTS_WEBAV="$LIB_RECEIPTS"/WebAV.pkg
LIB_RECEIPTS_PARCTL="$LIB_RECEIPTS"/ParCtl.pkg
LIB_RECEIPTS_CORE="$LIB_RECEIPTS"/Core.pkg
LIB_RECEIPTS_FINDERPLUGIN="$LIB_RECEIPTS"/FinderCMPlugin.pkg
LIB_RECEIPTS_WKS_OLD="$LIB_RECEIPTS"/wks.pkg
LIB_RECEIPTS_WKS="$LIB_RECEIPTS"/"Kaspersky Network Agent.pkg"
LIB_RECEIPTS_WKSCONNECTOR="$LIB_RECEIPTS"/"WKSConnector.pkg"
LIB_RECEIPTS_WEBTOOLBAR="$LIB_RECEIPTS"/"WebToolBar.pkg"
LIB_RECEIPTS_VKBD="$LIB_RECEIPTS"/"Vkbd.pkg"

KAV_SERVICE_LEGACY="/System/Library/Services/KAVService.service"
KAV_SERVICE="/Library/Services/KAVService.service"

KAVSYMLINK_DIR_LEGACY="/usr/bin"
KAVSYMLINK_DIR="/usr/local/bin"

MANPAGES_DIR="/usr/share/man/man1"

FINDER_PLUGIN="/Library/Contextual Menu Items/KavFinderCMPlugIn.plugin"

KAVAGENTAPP_BUNDLE_DIR="$APP_SUPPORT_FOLDER/KAV/Applications/Kaspersky Anti-Virus Agent.app"
LSREGISTER='/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister'

log()
{
    echo "$@"
}


echo ""
echo "Removing the connection with klnagent..."
KL_NAGENT_FOLDER="$APP_SUPPORT_FOLDER/klnagent/"
KL_NAGENT_EXEC="$KL_NAGENT_FOLDER/Binaries/klnagent"
KL_NAGENT_CONF="$APP_SUPPORT_FOLDER/klnagent_conf/connectors64.d/kes.conf"

if [ -e "$KL_NAGENT_CONF" ]
	then
		rm $RMVERBARG -rf "$KL_NAGENT_CONF";
		rmdir "$APP_SUPPORT_FOLDER/klnagent_conf/connectors64.d"
		rmdir "$APP_SUPPORT_FOLDER/klnagent_conf/"
		if [ -e "$KL_NAGENT_EXEC" ]
		then 
			"$KL_NAGENT_EXEC" -reload-connectors;
		fi
fi

perform_shared_container_check_out() {

SHARED_CONTAINER_RELPATH="Library/Group Containers/2Y8XE5CQ94.com.kaspersky.mac"
INTERACTIVE_USERS=$(dscacheutil -q user | grep -e uid:\ 5'[0-9][0-9]' | sed 's/uid: \(.*\)/\1/')
for INTERACTIVE_USER in $INTERACTIVE_USERS; do
	echo "Performing shared container checkin for user $INTERACTIVE_USER"
	INTERACTIVE_USER_HOME=$(dscacheutil -q user| grep -A 3 -e uid:\ "$INTERACTIVE_USER" | grep -e dir:\  | sed 's/dir: \(.*\)/\1/')

	[ ! -d "$INTERACTIVE_USER_HOME/Library" ] && continue
	[ ! -d "$INTERACTIVE_USER_HOME/Library/Group Containers" ] && continue
	[ ! -d "$INTERACTIVE_USER_HOME"/"$SHARED_CONTAINER_RELPATH" ] && continue

	REGISTRY_PATH="$INTERACTIVE_USER_HOME"/"$SHARED_CONTAINER_RELPATH"/Registry.plist
	[ ! -f "$REGISTRY_PATH" ] && continue

	INTERACTIVE_USER_NAME=`/usr/bin/id -un "$INTERACTIVE_USER"`

	TMPFILE=`/usr/bin/mktemp /tmp/KAVRegistry.plist.XXXXXX`
	/usr/bin/sudo /usr/bin/su - "$INTERACTIVE_USER_NAME" -c "\"$KAVBIN_DIR/copyfile\" \"$REGISTRY_PATH\" \"$TMPFILE\""
	/usr/libexec/PlistBuddy -c "Print :KLInstalledProducts:" "$TMPFILE" | grep -q $1
	if [ $? == 0 ]; then
		/usr/libexec/PlistBuddy -c "Delete :KLInstalledProducts: string $1" "$TMPFILE" &> /dev/null
	fi

	/usr/libexec/PlistBuddy -c "Print :XspKisLicesnse" "$TMPFILE" &> /dev/null
	if [ $? == 0 ]; then
		echo "Deleting xSP info"
		/usr/libexec/PlistBuddy -c "Delete :XspKisLicesnse" "$TMPFILE" &> /dev/null
	fi

	/usr/bin/sudo /usr/bin/su - "$INTERACTIVE_USER_NAME" -c "\"$KAVBIN_DIR/copyfile\" \"$TMPFILE\" \"$REGISTRY_PATH\""
	/bin/rm "$TMPFILE"
done

return 0

}

kill_process_tree()
{
	local pid=$1

	for i in `ps -A -o pid,ppid | awk '$2 == '${pid}' { print $1 }'`; do
		kill_process_tree "$i"
	done

 	echo "Killing pid=$pid..."
	kill -s KILL $pid
}

remove_sysext_ids_bases_drop()
{

    echo ""
    echo "Processing \"$SYSEXT_IDS_BASES_DROP\" folder..."
    if [ -d "$SYSEXT_IDS_BASES_DROP" ]
    then
    rm $RMVERBARG -rf "$SYSEXT_IDS_BASES_DROP"
    fi
}

timedwait_pid()
{
 	local pid=$1
	local timeout=$2
	local interval=$3

	local initial_timeout=$timeout
	local isalive=$pid
	while [ "$isalive" != "" ] && [ $timeout -gt 0 ]; do
		sleep $interval
		isalive=$(ps -o pid -p $pid | grep $pid)
		((timeout -= interval))
		echo "timedwait_pid: Check pid=$pid isalive=$isalive, ETA to timeout=$timeout..."
	done

	if [ "$isalive" != "" ]; then
		echo "timedwait_pid: Hangup detected for pid=$pid during timeout=$initial_timeout"
		kill_process_tree $pid
		return 1
	fi
	echo "timedwait_pid: Command executed without hangup for pid=$pid"
	wait $pid
	return $?
}

unload_agents()
{
    log "Disable and stop agents in launchctl ..."
    local records=$(/bin/ps -axwo uid,command | /usr/bin/grep -v grep | /usr/bin/grep loginwindow)
    if [ "$records" != "" ] ; then
        local oldIFS="$IFS"
        IFS=$'\n'
        for rec in `echo "$records"`
        do
            local uid=$(/bin/echo -n "$rec" | /usr/bin/awk '{print $1}')
            local target="gui/$uid/$LAUNCHAGENT_KAV_GUI_ID"


            if [ "$uid" == "0" ] ; then
                log "Skip disabling agent when no user is logged on"
                continue
            fi

            /bin/launchctl bootout "$target"
            log "bootout agent for uid $uid finished with rc=$?"
        done
        IFS="$oldIFS"
    fi


    local counter=20 # 5 secs
    while [ $counter -gt 0 ] ; do
        local uids=$(/bin/ps -axwo uid,command | /usr/bin/grep -v grep | /usr/bin/grep "Contents/MacOS/kav_agent" | /usr/bin/awk '{print $1}')
        if [ -z "$uids" ] ; then
            log "No agents to stop"
            break
        fi

        log "Wait for stopping agent for uids = $uids ... "
        sleep 0.25
        ((counter-=1))
    done

    [ $counter -gt 0 ] && return 0

    log "Unable to stop all agents."
    return 1
}

kill_agents()
{

    local pids=$(/bin/ps -axwo pid,command | /usr/bin/grep -v grep | /usr/bin/grep "Contents/MacOS/kav_agent" | /usr/bin/awk '{print $1}')
    if [ "$pids" != "" ] ; then
        local oldIFS="$IFS"
        IFS=$'\n'
        for pid in `echo "$pids"`
        do
            log "Stopping kav_agent with pid=$pid"
            /bin/kill -s KILL $pid
        done
        IFS="$oldIFS"
    fi
}

disable_kav_agents()
{
    unload_agents && return 0


    log "Kill agents and try to unload again"
    kill_agents

    unload_agents
}


echo ""
echo "Quitting product..."
KAVPID=$(ps -axwo pid,command | grep -v grep | grep "$KAVD_REL_PATH" | awk '{print $1}')
if [ "$KAVPID" != "" ]
then
    echo "/usr/local/bin/kav stop Protection"
    ( /usr/local/bin/kav stop Protection ) &
    BYEPROTECTION=$!
    timedwait_pid $BYEPROTECTION 60 1


    remove_sysext_ids_bases_drop

    echo "/usr/local/bin/kav exit"
    ( /usr/local/bin/kav exit ) &
    KAVSHELLPID=$!
    timedwait_pid $KAVSHELLPID 60 1
fi


echo ""
echo "Unregistering agent bundle from launch services..."
$LSREGISTER -R -f -u "${KAVAGENTAPP_BUNDLE_DIR}" > /dev/null 2>&1


echo ""
echo "Stopping service..."
for CURRENT_KAV_SERVICE in "$KAV_SERVICE_LEGACY" "$KAV_SERVICE"
do
	KAVPID=$(ps -axwo pid,command | grep -v grep | grep "$CURRENT_KAV_SERVICE" | awk '{print $1}')
	if [ "$KAVPID" != "" ]
	then
		kill -s KILL $KAVPID
	fi
done


echo ""
echo "Stopping application..."
KAVPID=$(ps -axwo pid,command | grep -v grep | grep "Contents/MacOS/kav_app" | awk '{print $1}')
if [ "$KAVPID" != "" ]
then
	kill -s KILL $KAVPID
fi


echo ""
echo "Stopping application..."
KAVPID=$(ps -axwo pid,command | grep -v grep | grep "Contents/MacOS/kav" | awk '{print $1}')
if [ "$KAVPID" != "" ]
then
	kill -s KILL $KAVPID
fi


disable_kav_agents


echo ""
echo "Stopping daemon..."
KAVPID=$(ps -axwo pid,command | grep -v grep | grep "$KAVD_REL_PATH" | awk '{print $1}')
if [ "$KAVPID" != "" ]
then
	kill -s TERM $KAVPID
	for ((t = 0; t < 10; t++))
	do
		PID=$(ps -axwo pid,command $KAVPID | grep -v grep | grep "$KAVD_REL_PATH" | awk '{print $1}')
		if [ "$PID" == "$KAVPID" ]
		then
			sleep 0.5
		else
			break
		fi
	done
fi


pkill -TERM -x $SYSEXT_NAME > /dev/null 2>&1


echo ""
echo "Unloading daemon from launchd..."
if [ "$(launchctl list | grep $LAUNCHDAEMON_KAVD_EFFECTIVE_ID)" != "" ]
then
	launchctl unload "$LAUNCHDAEMON_KAVD_EFFECTIVE_PLIST"
fi
if [ "$(launchctl list | grep $LAUNCHDAEMON_KAVD_ID)" != "" ]
then
	launchctl bootout system/$LAUNCHDAEMON_KAVD_ID
fi


SYSEXT_NAME="com.kaspersky.kav.sysext"

(systemextensionsctl list | grep $SYSEXT_NAME) > /dev/null 2>&1

if [ $? == 0 ]; then
    echo ""
    echo "Deactivating system extension..."


    echo "Calling kav to deactivate the extension"
    ( /usr/local/bin/kav uninstall_sysext ) &









    UNINSTALLSYSEXTPID=$!
    timedwait_pid $UNINSTALLSYSEXTPID 120 1

    if [ $? == 0 ]; then
        echo "System extension deactivated sysext process (if any) will be pkilled after daemon unload"
    else
        echo "Failed to deactivate system extension"
        sleep 2
    fi
fi


if [ -f "$LAUNCHDAEMON_KAV_PLIST" ]
then
	rm $RMVERBARG "$LAUNCHDAEMON_KAV_PLIST"
fi


if [ -f "$LAUNCHDAEMON_KAVD_PLIST" ]
then
	rm $RMVERBARG "$LAUNCHDAEMON_KAVD_PLIST"
fi


if [ -f "$LAUNCHAGENT_KAV_GUI_PLIST" ]
then
	rm $RMVERBARG "$LAUNCHAGENT_KAV_GUI_PLIST"
fi


if [ -f "$LAUNCHCTL_AUTOUPDATE_PLIST" ]
then
	sudo -u "$USER" launchctl unload "$LAUNCHCTL_AUTOUPDATE_PLIST"
	rm $RMVERBARG "$LAUNCHCTL_AUTOUPDATE_PLIST"
fi


echo ""
echo "Unregistering \"$APPEX_BUNDLE_DIR\" bundle..."
pluginkit -r "$APPEX_BUNDLE_DIR"


echo ""
echo "Processing \"$APP_BUNDLE\" bundle..."
if [ -d "$APP_BUNDLE" ]
then
    chflags -v nouchg "$APP_BUNDLE"
	rm $RMVERBARG -rf "$APP_BUNDLE"
fi


echo ""
echo "Processing \"$APP_BUNDLE_OLD\" bundle..."
if [ -d "$APP_BUNDLE_OLD" ]
then
	rm $RMVERBARG -rf "$APP_BUNDLE_OLD"
fi


perform_shared_container_check_out "com.kaspersky.kav"
perform_shared_container_check_out "com.kaspersky.kes"


echo ""
echo "Processing \"/$APP_SUPPORT_FOLDER\" folder..."
if [ -d "/$APP_SUPPORT_FOLDER" ]
then
	rm $RMVERBARG -rf "/$APP_SUPPORT_FOLDER/KAV"


	if [ -d "$APP_SUPPORT_FOLDER/Shared" ] && [ $(ls -l "$APP_SUPPORT_FOLDER/Shared" | grep -v "DS_Store" | wc -l) -eq 0 ]
	then
		rm $RMVERBARG -rf "$APP_SUPPORT_FOLDER/Shared"
	fi

	if [ -d "$APP_SUPPORT_FOLDER/UCP" ] && [ $(ls -l "$APP_SUPPORT_FOLDER" | grep "^d" | wc -l) -eq 1 ]
	then
		rm $RMVERBARG -rf "$APP_SUPPORT_FOLDER/UCP"
	fi
fi


echo ""
echo "Processing \"$SYSEXT_IDS_BASES_DROP\" folder..."
if [ -d "$SYSEXT_IDS_BASES_DROP" ]
then
	rm $RMVERBARG -rf "$SYSEXT_IDS_BASES_DROP"
fi


for USERHOME in $(ls "$USERS_DIR")
do
	if [ -d "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER" ]
	then
		echo ""
		echo "Processing \"$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER/KAV\" folder..."
		rm $RMVERBARG -rf "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER/KAV"

		if ([ -d "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER/UCP" ] && [ $(ls -l "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER" | grep "^d" | wc -l) -eq 1 ]) || [ $(ls -l "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER" | grep "^d" | wc -l) -eq 0 ]
		then
			rm $RMVERBARG -rf "$USERS_DIR/$USERHOME/$APP_SUPPORT_FOLDER"
		fi
	fi
done


echo ""
echo "Removing caches..."
if [ -d "$CACHES_FOLDER" ]
then
	rm $RMVERBARG -rf "$CACHES_FOLDER"
fi



echo ""
echo "Removing service..."
for CURRENT_KAV_SERVICE in "$KAV_SERVICE" "$KAV_SERVICE_LEGACY"
do
	if [ -d "$CURRENT_KAV_SERVICE" ]
	then
		rm $RMVERBARG -rf "$CURRENT_KAV_SERVICE"

		OSMINOR=$(sw_vers -productVersion | awk -F"." '{printf "%d\n", $2}')

		if [ $OSMINOR -gt 4 ]
		then
			sudo -u "$USER" /System/Library/CoreServices/pbs -existing_languages
		fi
	fi
done



echo
echo "Removing symbolic link..."
for CURRENT_KAVSYMLINK_DIR in "$KAVSYMLINK_DIR" "$KAVSYMLINK_DIR_LEGACY"
do
	if [ -e "$CURRENT_KAVSYMLINK_DIR"/kav ]
	then
		rm $RMVERBARG -f "$CURRENT_KAVSYMLINK_DIR"/kav
	fi
done

for USERHOME in $(ls "$USERS_DIR")
do
	for SCOPE in kav kav2012 kav_agent
	do
		if [ -f "$USERS_DIR/$USERHOME/Library/Preferences/com.kaspersky.$SCOPE.plist" ]
		then
			rm $RMVERBARG -f "$USERS_DIR/$USERHOME/Library/Preferences/com.kaspersky.$SCOPE.plist"
			rm $RMVERBARG -f "$USERS_DIR/$USERHOME/Library/Preferences/com.kaspersky.$SCOPE.plist.lockfile"
		fi
	done
done


for USERHOME in $(ls "$USERS_DIR")
do
	if [ -f "$USERS_DIR/$USERHOME/Library/LaunchAgents/com.kaspersky.kav.delayed_start.plist" ]
	then
		rm $RMVERBARG "$USERS_DIR/$USERHOME/Library/LaunchAgents/com.kaspersky.kav.delayed_start.plist"
	fi
done


for USERHOME in $(ls "$USERS_DIR")
do
	if [ -d "$USERS_DIR/$USERHOME/Library/Containers/com.kaspersky.kav.kaspersky_security" ]
	then
		rm $RMVERBARG -rf "$USERS_DIR/$USERHOME/Library/Containers/com.kaspersky.kav.kaspersky_security"
	fi
done


echo
echo "Removing authorization rights..."
/usr/bin/security authorizationdb remove com.kaspersky.licensing >/dev/null 2>&1
/usr/bin/security authorizationdb remove com.kaspersky.preferences >/dev/null 2>&1
/usr/bin/security authorizationdb remove com.kaspersky.parental >/dev/null 2>&1
/usr/bin/security authorizationdb remove com.kaspersky.parental.add_url_white >/dev/null 2>&1


echo
echo "Removing personal certificate"
/usr/bin/security delete-certificate -c "Kaspersky Web Anti-Virus Certification Authority" /Library/Keychains/System.keychain 2>&1


echo
echo "Removing man pages..."
rm $RMVERBARG -f "$MANPAGES_DIR"/kav.1


echo ""
echo "Removing Finder Contextual Menu..."
if [ -d "$FINDER_PLUGIN" ]
then
	rm $RMVERBARG -rf "$FINDER_PLUGIN"
	osascript -e 'tell application "Finder"' -e 'quit' -e 'delay 2' -e 'select window of desktop' -e 'end tell'
	osascript -e 'tell application "Kaspersky Uninstaller"' -e 'activate' -e 'end tell'
fi


echo ""
echo "Removing daemon traces from \"/$LOG_DIR\"..."
if [ -d "/$LOG_DIR" ]
then
	rm $RMVERBARG -rf "/$LOG_DIR"
fi

echo ""
echo "Removing daemon traces from \"/var/log\"..."
rm $RMVERBARG -f /var/log/kav_daemon*.log

echo ""
echo "Removing last crash timestamp from \"/var/log\"..."
rm $RMVERBARG -f /var/log/kes_last_crash_timestamp.txt

echo ""
echo "Removing kav crash logs from \"/$CRASH_FILES_DIR\"..."
rm $RMVERBARG -f "/$CRASH_FILES_DIR/"{Retired,}/kav*
rm $RMVERBARG -f "/$CRASH_FILES_DIR/"{Retired,}/kavd*
rm $RMVERBARG -f "/$CRASH_FILES_DIR/"{Retired,}/com.kaspersky.kav.sysext*
for USERHOME in $(ls "$USERS_DIR")
do
	echo ""
	echo "Removing kav crash logs from \"$USERS_DIR/$USERHOME/$CRASH_FILES_DIR\"..."
	rm $RMVERBARG -f "$USERS_DIR/$USERHOME/$CRASH_FILES_DIR/"{Retired,}/kav_app*
	rm $RMVERBARG -f "$USERS_DIR/$USERHOME/$CRASH_FILES_DIR/"{Retired,}/kav_agent*
	rm $RMVERBARG -f "$USERS_DIR/$USERHOME/$CRASH_FILES_DIR/"{Retired,}/KasperskySecurity*
done


for USERHOME in $(ls "$USERS_DIR")
do
	echo ""
	echo "Removing gui traces from \"$USERS_DIR/$USERHOME/$LOG_DIR\"..."
	rm $RMVERBARG -rf "$USERS_DIR/$USERHOME/$LOG_DIR"
done



echo ""
echo "Processing \"$LIB_RECEIPTS_CORE\" installer receipt..."
if [ -d "$LIB_RECEIPTS_CORE" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_CORE"
fi

echo "Processing \"$LIB_RECEIPTS_OAS\" installer receipt..."
if [ -d "$LIB_RECEIPTS_OAS" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_OAS"
fi

echo "Processing \"$LIB_RECEIPTS_WEBAV\" installer receipt..."
if [ -d "$LIB_RECEIPTS_WEBAV" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_WEBAV"
fi

echo "Processing \"$LIB_RECEIPTS_PARCTL\" installer receipt..."
if [ -d "$LIB_RECEIPTS_PARCTL" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_PARCTL"
fi

echo "Processing \"$LIB_RECEIPTS_FINDERPLUGIN\" installer receipt..."
if [ -d "$LIB_RECEIPTS_FINDERPLUGIN" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_FINDERPLUGIN"
fi

echo "Processing \"$LIB_RECEIPTS_WKS\" installer receipt..."
if [ -d "$LIB_RECEIPTS_WKS" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_WKS"
fi

echo "Processing \"$LIB_RECEIPTS_WKSCONNECTOR\" installer receipt..."
if [ -d "$LIB_RECEIPTS_WKS" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_WKSCONNECTOR"
fi

echo "Processing \"$LIB_RECEIPTS_WKS_OLD\" installer receipt..."
if [ -d "$LIB_RECEIPTS_WKS_OLD" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_WKS_OLD"
fi

echo "Processing \"$LIB_RECEIPTS_WEBTOOLBAR\" installer receipt..."
if [ -d "$LIB_RECEIPTS_WEBTOOLBAR" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_WEBTOOLBAR"
fi

echo "Processing \"$LIB_RECEIPTS_VKBD\" installer receipt..."
if [ -d "$LIB_RECEIPTS_VKBD" ]
then
	rm $RMVERBARG -rf "$LIB_RECEIPTS_VKBD"
fi




NM_HOST_MANIFEST_NAME="com.kaspersky.kav_agent.nm.json"
MOZILLA_NM_HOST_MANIFEST_PATH="/Library/Application Support/Mozilla/NativeMessagingHosts"/$NM_HOST_MANIFEST_NAME
CHROME_NM_HOST_MANIFEST_PATH="/Library/Google/Chrome/NativeMessagingHosts"/$NM_HOST_MANIFEST_NAME

rm $RMVERBARG "$MOZILLA_NM_HOST_MANIFEST_PATH"
rm $RMVERBARG "$CHROME_NM_HOST_MANIFEST_PATH"


rmdir "/Library/Application Support/Kaspersky Lab"



if [ -e "/usr/sbin/pkgutil" ]
then
	echo "Forgetting installation packages..."
	for pis in $(/usr/sbin/pkgutil --pkgs | /usr/bin/grep com.kaspersky.kav.)
	do
		echo "Forget package with id '$pis'"
		/usr/sbin/pkgutil --forget $pis
	done
fi

echo ""
echo "Kaspersky Anti-Virus for Mac is successfully uninstalled from your computer."
