<?php
 
 
 

namespace PhpWA\Protocol\Proto;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;




class WebFeatures extends \Google\Protobuf\Internal\Message
{
    


    protected $labelsDisplay = null;
    


    protected $voipIndividualOutgoing = null;
    


    protected $groupsV3 = null;
    


    protected $groupsV3Create = null;
    


    protected $changeNumberV2 = null;
    


    protected $queryStatusV3Thumbnail = null;
    


    protected $liveLocations = null;
    


    protected $queryVname = null;
    


    protected $voipIndividualIncoming = null;
    


    protected $quickRepliesQuery = null;
    


    protected $payments = null;
    


    protected $stickerPackQuery = null;
    


    protected $liveLocationsFinal = null;
    


    protected $labelsEdit = null;
    


    protected $mediaUpload = null;
    


    protected $mediaUploadRichQuickReplies = null;
    


    protected $vnameV2 = null;
    


    protected $videoPlaybackUrl = null;
    


    protected $statusRanking = null;
    


    protected $voipIndividualVideo = null;
    


    protected $thirdPartyStickers = null;
    


    protected $frequentlyForwardedSetting = null;
    


    protected $groupsV4JoinPermission = null;
    


    protected $recentStickers = null;
    


    protected $catalog = null;
    


    protected $starredStickers = null;
    


    protected $voipGroupCall = null;
    


    protected $templateMessage = null;
    


    protected $templateMessageInteractivity = null;
    


    protected $ephemeralMessages = null;
    


    protected $e2ENotificationSync = null;
    


    protected $recentStickersV2 = null;
    


    protected $recentStickersV3 = null;
    


    protected $userNotice = null;
    


    protected $support = null;
    


    protected $groupUiiCleanup = null;
    


    protected $groupDogfoodingInternalOnly = null;
    


    protected $settingsSync = null;
    


    protected $archiveV2 = null;
    


    protected $ephemeralAllowGroupMembers = null;
    


    protected $ephemeral24HDuration = null;
    


    protected $mdForceUpgrade = null;
    


    protected $disappearingMode = null;
    


    protected $externalMdOptInAvailable = null;
    


    protected $noDeleteMessageTimeLimit = null;

    




















































    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getLabelsDisplay()
    {
        return isset($this->labelsDisplay) ? $this->labelsDisplay : 0;
    }

    public function hasLabelsDisplay()
    {
        return isset($this->labelsDisplay);
    }

    public function clearLabelsDisplay()
    {
        unset($this->labelsDisplay);
    }

    




    public function setLabelsDisplay($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->labelsDisplay = $var;

        return $this;
    }

    



    public function getVoipIndividualOutgoing()
    {
        return isset($this->voipIndividualOutgoing) ? $this->voipIndividualOutgoing : 0;
    }

    public function hasVoipIndividualOutgoing()
    {
        return isset($this->voipIndividualOutgoing);
    }

    public function clearVoipIndividualOutgoing()
    {
        unset($this->voipIndividualOutgoing);
    }

    




    public function setVoipIndividualOutgoing($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualOutgoing = $var;

        return $this;
    }

    



    public function getGroupsV3()
    {
        return isset($this->groupsV3) ? $this->groupsV3 : 0;
    }

    public function hasGroupsV3()
    {
        return isset($this->groupsV3);
    }

    public function clearGroupsV3()
    {
        unset($this->groupsV3);
    }

    




    public function setGroupsV3($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV3 = $var;

        return $this;
    }

    



    public function getGroupsV3Create()
    {
        return isset($this->groupsV3Create) ? $this->groupsV3Create : 0;
    }

    public function hasGroupsV3Create()
    {
        return isset($this->groupsV3Create);
    }

    public function clearGroupsV3Create()
    {
        unset($this->groupsV3Create);
    }

    




    public function setGroupsV3Create($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV3Create = $var;

        return $this;
    }

    



    public function getChangeNumberV2()
    {
        return isset($this->changeNumberV2) ? $this->changeNumberV2 : 0;
    }

    public function hasChangeNumberV2()
    {
        return isset($this->changeNumberV2);
    }

    public function clearChangeNumberV2()
    {
        unset($this->changeNumberV2);
    }

    




    public function setChangeNumberV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->changeNumberV2 = $var;

        return $this;
    }

    



    public function getQueryStatusV3Thumbnail()
    {
        return isset($this->queryStatusV3Thumbnail) ? $this->queryStatusV3Thumbnail : 0;
    }

    public function hasQueryStatusV3Thumbnail()
    {
        return isset($this->queryStatusV3Thumbnail);
    }

    public function clearQueryStatusV3Thumbnail()
    {
        unset($this->queryStatusV3Thumbnail);
    }

    




    public function setQueryStatusV3Thumbnail($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->queryStatusV3Thumbnail = $var;

        return $this;
    }

    



    public function getLiveLocations()
    {
        return isset($this->liveLocations) ? $this->liveLocations : 0;
    }

    public function hasLiveLocations()
    {
        return isset($this->liveLocations);
    }

    public function clearLiveLocations()
    {
        unset($this->liveLocations);
    }

    




    public function setLiveLocations($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->liveLocations = $var;

        return $this;
    }

    



    public function getQueryVname()
    {
        return isset($this->queryVname) ? $this->queryVname : 0;
    }

    public function hasQueryVname()
    {
        return isset($this->queryVname);
    }

    public function clearQueryVname()
    {
        unset($this->queryVname);
    }

    




    public function setQueryVname($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->queryVname = $var;

        return $this;
    }

    



    public function getVoipIndividualIncoming()
    {
        return isset($this->voipIndividualIncoming) ? $this->voipIndividualIncoming : 0;
    }

    public function hasVoipIndividualIncoming()
    {
        return isset($this->voipIndividualIncoming);
    }

    public function clearVoipIndividualIncoming()
    {
        unset($this->voipIndividualIncoming);
    }

    




    public function setVoipIndividualIncoming($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualIncoming = $var;

        return $this;
    }

    



    public function getQuickRepliesQuery()
    {
        return isset($this->quickRepliesQuery) ? $this->quickRepliesQuery : 0;
    }

    public function hasQuickRepliesQuery()
    {
        return isset($this->quickRepliesQuery);
    }

    public function clearQuickRepliesQuery()
    {
        unset($this->quickRepliesQuery);
    }

    




    public function setQuickRepliesQuery($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->quickRepliesQuery = $var;

        return $this;
    }

    



    public function getPayments()
    {
        return isset($this->payments) ? $this->payments : 0;
    }

    public function hasPayments()
    {
        return isset($this->payments);
    }

    public function clearPayments()
    {
        unset($this->payments);
    }

    




    public function setPayments($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->payments = $var;

        return $this;
    }

    



    public function getStickerPackQuery()
    {
        return isset($this->stickerPackQuery) ? $this->stickerPackQuery : 0;
    }

    public function hasStickerPackQuery()
    {
        return isset($this->stickerPackQuery);
    }

    public function clearStickerPackQuery()
    {
        unset($this->stickerPackQuery);
    }

    




    public function setStickerPackQuery($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->stickerPackQuery = $var;

        return $this;
    }

    



    public function getLiveLocationsFinal()
    {
        return isset($this->liveLocationsFinal) ? $this->liveLocationsFinal : 0;
    }

    public function hasLiveLocationsFinal()
    {
        return isset($this->liveLocationsFinal);
    }

    public function clearLiveLocationsFinal()
    {
        unset($this->liveLocationsFinal);
    }

    




    public function setLiveLocationsFinal($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->liveLocationsFinal = $var;

        return $this;
    }

    



    public function getLabelsEdit()
    {
        return isset($this->labelsEdit) ? $this->labelsEdit : 0;
    }

    public function hasLabelsEdit()
    {
        return isset($this->labelsEdit);
    }

    public function clearLabelsEdit()
    {
        unset($this->labelsEdit);
    }

    




    public function setLabelsEdit($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->labelsEdit = $var;

        return $this;
    }

    



    public function getMediaUpload()
    {
        return isset($this->mediaUpload) ? $this->mediaUpload : 0;
    }

    public function hasMediaUpload()
    {
        return isset($this->mediaUpload);
    }

    public function clearMediaUpload()
    {
        unset($this->mediaUpload);
    }

    




    public function setMediaUpload($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mediaUpload = $var;

        return $this;
    }

    



    public function getMediaUploadRichQuickReplies()
    {
        return isset($this->mediaUploadRichQuickReplies) ? $this->mediaUploadRichQuickReplies : 0;
    }

    public function hasMediaUploadRichQuickReplies()
    {
        return isset($this->mediaUploadRichQuickReplies);
    }

    public function clearMediaUploadRichQuickReplies()
    {
        unset($this->mediaUploadRichQuickReplies);
    }

    




    public function setMediaUploadRichQuickReplies($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mediaUploadRichQuickReplies = $var;

        return $this;
    }

    



    public function getVnameV2()
    {
        return isset($this->vnameV2) ? $this->vnameV2 : 0;
    }

    public function hasVnameV2()
    {
        return isset($this->vnameV2);
    }

    public function clearVnameV2()
    {
        unset($this->vnameV2);
    }

    




    public function setVnameV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->vnameV2 = $var;

        return $this;
    }

    



    public function getVideoPlaybackUrl()
    {
        return isset($this->videoPlaybackUrl) ? $this->videoPlaybackUrl : 0;
    }

    public function hasVideoPlaybackUrl()
    {
        return isset($this->videoPlaybackUrl);
    }

    public function clearVideoPlaybackUrl()
    {
        unset($this->videoPlaybackUrl);
    }

    




    public function setVideoPlaybackUrl($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->videoPlaybackUrl = $var;

        return $this;
    }

    



    public function getStatusRanking()
    {
        return isset($this->statusRanking) ? $this->statusRanking : 0;
    }

    public function hasStatusRanking()
    {
        return isset($this->statusRanking);
    }

    public function clearStatusRanking()
    {
        unset($this->statusRanking);
    }

    




    public function setStatusRanking($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->statusRanking = $var;

        return $this;
    }

    



    public function getVoipIndividualVideo()
    {
        return isset($this->voipIndividualVideo) ? $this->voipIndividualVideo : 0;
    }

    public function hasVoipIndividualVideo()
    {
        return isset($this->voipIndividualVideo);
    }

    public function clearVoipIndividualVideo()
    {
        unset($this->voipIndividualVideo);
    }

    




    public function setVoipIndividualVideo($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualVideo = $var;

        return $this;
    }

    



    public function getThirdPartyStickers()
    {
        return isset($this->thirdPartyStickers) ? $this->thirdPartyStickers : 0;
    }

    public function hasThirdPartyStickers()
    {
        return isset($this->thirdPartyStickers);
    }

    public function clearThirdPartyStickers()
    {
        unset($this->thirdPartyStickers);
    }

    




    public function setThirdPartyStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->thirdPartyStickers = $var;

        return $this;
    }

    



    public function getFrequentlyForwardedSetting()
    {
        return isset($this->frequentlyForwardedSetting) ? $this->frequentlyForwardedSetting : 0;
    }

    public function hasFrequentlyForwardedSetting()
    {
        return isset($this->frequentlyForwardedSetting);
    }

    public function clearFrequentlyForwardedSetting()
    {
        unset($this->frequentlyForwardedSetting);
    }

    




    public function setFrequentlyForwardedSetting($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->frequentlyForwardedSetting = $var;

        return $this;
    }

    



    public function getGroupsV4JoinPermission()
    {
        return isset($this->groupsV4JoinPermission) ? $this->groupsV4JoinPermission : 0;
    }

    public function hasGroupsV4JoinPermission()
    {
        return isset($this->groupsV4JoinPermission);
    }

    public function clearGroupsV4JoinPermission()
    {
        unset($this->groupsV4JoinPermission);
    }

    




    public function setGroupsV4JoinPermission($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV4JoinPermission = $var;

        return $this;
    }

    



    public function getRecentStickers()
    {
        return isset($this->recentStickers) ? $this->recentStickers : 0;
    }

    public function hasRecentStickers()
    {
        return isset($this->recentStickers);
    }

    public function clearRecentStickers()
    {
        unset($this->recentStickers);
    }

    




    public function setRecentStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickers = $var;

        return $this;
    }

    



    public function getCatalog()
    {
        return isset($this->catalog) ? $this->catalog : 0;
    }

    public function hasCatalog()
    {
        return isset($this->catalog);
    }

    public function clearCatalog()
    {
        unset($this->catalog);
    }

    




    public function setCatalog($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->catalog = $var;

        return $this;
    }

    



    public function getStarredStickers()
    {
        return isset($this->starredStickers) ? $this->starredStickers : 0;
    }

    public function hasStarredStickers()
    {
        return isset($this->starredStickers);
    }

    public function clearStarredStickers()
    {
        unset($this->starredStickers);
    }

    




    public function setStarredStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->starredStickers = $var;

        return $this;
    }

    



    public function getVoipGroupCall()
    {
        return isset($this->voipGroupCall) ? $this->voipGroupCall : 0;
    }

    public function hasVoipGroupCall()
    {
        return isset($this->voipGroupCall);
    }

    public function clearVoipGroupCall()
    {
        unset($this->voipGroupCall);
    }

    




    public function setVoipGroupCall($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipGroupCall = $var;

        return $this;
    }

    



    public function getTemplateMessage()
    {
        return isset($this->templateMessage) ? $this->templateMessage : 0;
    }

    public function hasTemplateMessage()
    {
        return isset($this->templateMessage);
    }

    public function clearTemplateMessage()
    {
        unset($this->templateMessage);
    }

    




    public function setTemplateMessage($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->templateMessage = $var;

        return $this;
    }

    



    public function getTemplateMessageInteractivity()
    {
        return isset($this->templateMessageInteractivity) ? $this->templateMessageInteractivity : 0;
    }

    public function hasTemplateMessageInteractivity()
    {
        return isset($this->templateMessageInteractivity);
    }

    public function clearTemplateMessageInteractivity()
    {
        unset($this->templateMessageInteractivity);
    }

    




    public function setTemplateMessageInteractivity($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->templateMessageInteractivity = $var;

        return $this;
    }

    



    public function getEphemeralMessages()
    {
        return isset($this->ephemeralMessages) ? $this->ephemeralMessages : 0;
    }

    public function hasEphemeralMessages()
    {
        return isset($this->ephemeralMessages);
    }

    public function clearEphemeralMessages()
    {
        unset($this->ephemeralMessages);
    }

    




    public function setEphemeralMessages($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeralMessages = $var;

        return $this;
    }

    



    public function getE2ENotificationSync()
    {
        return isset($this->e2ENotificationSync) ? $this->e2ENotificationSync : 0;
    }

    public function hasE2ENotificationSync()
    {
        return isset($this->e2ENotificationSync);
    }

    public function clearE2ENotificationSync()
    {
        unset($this->e2ENotificationSync);
    }

    




    public function setE2ENotificationSync($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->e2ENotificationSync = $var;

        return $this;
    }

    



    public function getRecentStickersV2()
    {
        return isset($this->recentStickersV2) ? $this->recentStickersV2 : 0;
    }

    public function hasRecentStickersV2()
    {
        return isset($this->recentStickersV2);
    }

    public function clearRecentStickersV2()
    {
        unset($this->recentStickersV2);
    }

    




    public function setRecentStickersV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickersV2 = $var;

        return $this;
    }

    



    public function getRecentStickersV3()
    {
        return isset($this->recentStickersV3) ? $this->recentStickersV3 : 0;
    }

    public function hasRecentStickersV3()
    {
        return isset($this->recentStickersV3);
    }

    public function clearRecentStickersV3()
    {
        unset($this->recentStickersV3);
    }

    




    public function setRecentStickersV3($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickersV3 = $var;

        return $this;
    }

    



    public function getUserNotice()
    {
        return isset($this->userNotice) ? $this->userNotice : 0;
    }

    public function hasUserNotice()
    {
        return isset($this->userNotice);
    }

    public function clearUserNotice()
    {
        unset($this->userNotice);
    }

    




    public function setUserNotice($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->userNotice = $var;

        return $this;
    }

    



    public function getSupport()
    {
        return isset($this->support) ? $this->support : 0;
    }

    public function hasSupport()
    {
        return isset($this->support);
    }

    public function clearSupport()
    {
        unset($this->support);
    }

    




    public function setSupport($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->support = $var;

        return $this;
    }

    



    public function getGroupUiiCleanup()
    {
        return isset($this->groupUiiCleanup) ? $this->groupUiiCleanup : 0;
    }

    public function hasGroupUiiCleanup()
    {
        return isset($this->groupUiiCleanup);
    }

    public function clearGroupUiiCleanup()
    {
        unset($this->groupUiiCleanup);
    }

    




    public function setGroupUiiCleanup($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupUiiCleanup = $var;

        return $this;
    }

    



    public function getGroupDogfoodingInternalOnly()
    {
        return isset($this->groupDogfoodingInternalOnly) ? $this->groupDogfoodingInternalOnly : 0;
    }

    public function hasGroupDogfoodingInternalOnly()
    {
        return isset($this->groupDogfoodingInternalOnly);
    }

    public function clearGroupDogfoodingInternalOnly()
    {
        unset($this->groupDogfoodingInternalOnly);
    }

    




    public function setGroupDogfoodingInternalOnly($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupDogfoodingInternalOnly = $var;

        return $this;
    }

    



    public function getSettingsSync()
    {
        return isset($this->settingsSync) ? $this->settingsSync : 0;
    }

    public function hasSettingsSync()
    {
        return isset($this->settingsSync);
    }

    public function clearSettingsSync()
    {
        unset($this->settingsSync);
    }

    




    public function setSettingsSync($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->settingsSync = $var;

        return $this;
    }

    



    public function getArchiveV2()
    {
        return isset($this->archiveV2) ? $this->archiveV2 : 0;
    }

    public function hasArchiveV2()
    {
        return isset($this->archiveV2);
    }

    public function clearArchiveV2()
    {
        unset($this->archiveV2);
    }

    




    public function setArchiveV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->archiveV2 = $var;

        return $this;
    }

    



    public function getEphemeralAllowGroupMembers()
    {
        return isset($this->ephemeralAllowGroupMembers) ? $this->ephemeralAllowGroupMembers : 0;
    }

    public function hasEphemeralAllowGroupMembers()
    {
        return isset($this->ephemeralAllowGroupMembers);
    }

    public function clearEphemeralAllowGroupMembers()
    {
        unset($this->ephemeralAllowGroupMembers);
    }

    




    public function setEphemeralAllowGroupMembers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeralAllowGroupMembers = $var;

        return $this;
    }

    



    public function getEphemeral24HDuration()
    {
        return isset($this->ephemeral24HDuration) ? $this->ephemeral24HDuration : 0;
    }

    public function hasEphemeral24HDuration()
    {
        return isset($this->ephemeral24HDuration);
    }

    public function clearEphemeral24HDuration()
    {
        unset($this->ephemeral24HDuration);
    }

    




    public function setEphemeral24HDuration($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeral24HDuration = $var;

        return $this;
    }

    



    public function getMdForceUpgrade()
    {
        return isset($this->mdForceUpgrade) ? $this->mdForceUpgrade : 0;
    }

    public function hasMdForceUpgrade()
    {
        return isset($this->mdForceUpgrade);
    }

    public function clearMdForceUpgrade()
    {
        unset($this->mdForceUpgrade);
    }

    




    public function setMdForceUpgrade($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mdForceUpgrade = $var;

        return $this;
    }

    



    public function getDisappearingMode()
    {
        return isset($this->disappearingMode) ? $this->disappearingMode : 0;
    }

    public function hasDisappearingMode()
    {
        return isset($this->disappearingMode);
    }

    public function clearDisappearingMode()
    {
        unset($this->disappearingMode);
    }

    




    public function setDisappearingMode($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->disappearingMode = $var;

        return $this;
    }

    



    public function getExternalMdOptInAvailable()
    {
        return isset($this->externalMdOptInAvailable) ? $this->externalMdOptInAvailable : 0;
    }

    public function hasExternalMdOptInAvailable()
    {
        return isset($this->externalMdOptInAvailable);
    }

    public function clearExternalMdOptInAvailable()
    {
        unset($this->externalMdOptInAvailable);
    }

    




    public function setExternalMdOptInAvailable($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->externalMdOptInAvailable = $var;

        return $this;
    }

    



    public function getNoDeleteMessageTimeLimit()
    {
        return isset($this->noDeleteMessageTimeLimit) ? $this->noDeleteMessageTimeLimit : 0;
    }

    public function hasNoDeleteMessageTimeLimit()
    {
        return isset($this->noDeleteMessageTimeLimit);
    }

    public function clearNoDeleteMessageTimeLimit()
    {
        unset($this->noDeleteMessageTimeLimit);
    }

    




    public function setNoDeleteMessageTimeLimit($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->noDeleteMessageTimeLimit = $var;

        return $this;
    }

}

