<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: WAProto.proto

namespace PhpWA\Protocol\Proto;

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

/**
 * Generated from protobuf message <code>proto.WebFeatures</code>
 */
class WebFeatures extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsDisplay = 1;</code>
     */
    protected $labelsDisplay = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualOutgoing = 2;</code>
     */
    protected $voipIndividualOutgoing = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3 = 3;</code>
     */
    protected $groupsV3 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3Create = 4;</code>
     */
    protected $groupsV3Create = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag changeNumberV2 = 5;</code>
     */
    protected $changeNumberV2 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryStatusV3Thumbnail = 6;</code>
     */
    protected $queryStatusV3Thumbnail = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocations = 7;</code>
     */
    protected $liveLocations = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryVname = 8;</code>
     */
    protected $queryVname = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualIncoming = 9;</code>
     */
    protected $voipIndividualIncoming = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag quickRepliesQuery = 10;</code>
     */
    protected $quickRepliesQuery = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag payments = 11;</code>
     */
    protected $payments = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag stickerPackQuery = 12;</code>
     */
    protected $stickerPackQuery = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocationsFinal = 13;</code>
     */
    protected $liveLocationsFinal = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsEdit = 14;</code>
     */
    protected $labelsEdit = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUpload = 15;</code>
     */
    protected $mediaUpload = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUploadRichQuickReplies = 18;</code>
     */
    protected $mediaUploadRichQuickReplies = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag vnameV2 = 19;</code>
     */
    protected $vnameV2 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag videoPlaybackUrl = 20;</code>
     */
    protected $videoPlaybackUrl = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag statusRanking = 21;</code>
     */
    protected $statusRanking = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualVideo = 22;</code>
     */
    protected $voipIndividualVideo = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag thirdPartyStickers = 23;</code>
     */
    protected $thirdPartyStickers = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag frequentlyForwardedSetting = 24;</code>
     */
    protected $frequentlyForwardedSetting = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV4JoinPermission = 25;</code>
     */
    protected $groupsV4JoinPermission = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickers = 26;</code>
     */
    protected $recentStickers = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag catalog = 27;</code>
     */
    protected $catalog = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag starredStickers = 28;</code>
     */
    protected $starredStickers = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipGroupCall = 29;</code>
     */
    protected $voipGroupCall = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessage = 30;</code>
     */
    protected $templateMessage = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessageInteractivity = 31;</code>
     */
    protected $templateMessageInteractivity = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralMessages = 32;</code>
     */
    protected $ephemeralMessages = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag e2ENotificationSync = 33;</code>
     */
    protected $e2ENotificationSync = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV2 = 34;</code>
     */
    protected $recentStickersV2 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV3 = 36;</code>
     */
    protected $recentStickersV3 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag userNotice = 37;</code>
     */
    protected $userNotice = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag support = 39;</code>
     */
    protected $support = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupUiiCleanup = 40;</code>
     */
    protected $groupUiiCleanup = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupDogfoodingInternalOnly = 41;</code>
     */
    protected $groupDogfoodingInternalOnly = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag settingsSync = 42;</code>
     */
    protected $settingsSync = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag archiveV2 = 43;</code>
     */
    protected $archiveV2 = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralAllowGroupMembers = 44;</code>
     */
    protected $ephemeralAllowGroupMembers = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeral24HDuration = 45;</code>
     */
    protected $ephemeral24HDuration = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mdForceUpgrade = 46;</code>
     */
    protected $mdForceUpgrade = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag disappearingMode = 47;</code>
     */
    protected $disappearingMode = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag externalMdOptInAvailable = 48;</code>
     */
    protected $externalMdOptInAvailable = null;
    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag noDeleteMessageTimeLimit = 49;</code>
     */
    protected $noDeleteMessageTimeLimit = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $labelsDisplay
     *     @type int $voipIndividualOutgoing
     *     @type int $groupsV3
     *     @type int $groupsV3Create
     *     @type int $changeNumberV2
     *     @type int $queryStatusV3Thumbnail
     *     @type int $liveLocations
     *     @type int $queryVname
     *     @type int $voipIndividualIncoming
     *     @type int $quickRepliesQuery
     *     @type int $payments
     *     @type int $stickerPackQuery
     *     @type int $liveLocationsFinal
     *     @type int $labelsEdit
     *     @type int $mediaUpload
     *     @type int $mediaUploadRichQuickReplies
     *     @type int $vnameV2
     *     @type int $videoPlaybackUrl
     *     @type int $statusRanking
     *     @type int $voipIndividualVideo
     *     @type int $thirdPartyStickers
     *     @type int $frequentlyForwardedSetting
     *     @type int $groupsV4JoinPermission
     *     @type int $recentStickers
     *     @type int $catalog
     *     @type int $starredStickers
     *     @type int $voipGroupCall
     *     @type int $templateMessage
     *     @type int $templateMessageInteractivity
     *     @type int $ephemeralMessages
     *     @type int $e2ENotificationSync
     *     @type int $recentStickersV2
     *     @type int $recentStickersV3
     *     @type int $userNotice
     *     @type int $support
     *     @type int $groupUiiCleanup
     *     @type int $groupDogfoodingInternalOnly
     *     @type int $settingsSync
     *     @type int $archiveV2
     *     @type int $ephemeralAllowGroupMembers
     *     @type int $ephemeral24HDuration
     *     @type int $mdForceUpgrade
     *     @type int $disappearingMode
     *     @type int $externalMdOptInAvailable
     *     @type int $noDeleteMessageTimeLimit
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsDisplay = 1;</code>
     * @return int
     */
    public function getLabelsDisplay()
    {
        return isset($this->labelsDisplay) ? $this->labelsDisplay : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsDisplay = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setLabelsDisplay($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->labelsDisplay = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualOutgoing = 2;</code>
     * @return int
     */
    public function getVoipIndividualOutgoing()
    {
        return isset($this->voipIndividualOutgoing) ? $this->voipIndividualOutgoing : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualOutgoing = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setVoipIndividualOutgoing($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualOutgoing = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3 = 3;</code>
     * @return int
     */
    public function getGroupsV3()
    {
        return isset($this->groupsV3) ? $this->groupsV3 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3 = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setGroupsV3($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV3 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3Create = 4;</code>
     * @return int
     */
    public function getGroupsV3Create()
    {
        return isset($this->groupsV3Create) ? $this->groupsV3Create : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV3Create = 4;</code>
     * @param int $var
     * @return $this
     */
    public function setGroupsV3Create($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV3Create = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag changeNumberV2 = 5;</code>
     * @return int
     */
    public function getChangeNumberV2()
    {
        return isset($this->changeNumberV2) ? $this->changeNumberV2 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag changeNumberV2 = 5;</code>
     * @param int $var
     * @return $this
     */
    public function setChangeNumberV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->changeNumberV2 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryStatusV3Thumbnail = 6;</code>
     * @return int
     */
    public function getQueryStatusV3Thumbnail()
    {
        return isset($this->queryStatusV3Thumbnail) ? $this->queryStatusV3Thumbnail : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryStatusV3Thumbnail = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setQueryStatusV3Thumbnail($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->queryStatusV3Thumbnail = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocations = 7;</code>
     * @return int
     */
    public function getLiveLocations()
    {
        return isset($this->liveLocations) ? $this->liveLocations : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocations = 7;</code>
     * @param int $var
     * @return $this
     */
    public function setLiveLocations($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->liveLocations = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryVname = 8;</code>
     * @return int
     */
    public function getQueryVname()
    {
        return isset($this->queryVname) ? $this->queryVname : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag queryVname = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setQueryVname($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->queryVname = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualIncoming = 9;</code>
     * @return int
     */
    public function getVoipIndividualIncoming()
    {
        return isset($this->voipIndividualIncoming) ? $this->voipIndividualIncoming : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualIncoming = 9;</code>
     * @param int $var
     * @return $this
     */
    public function setVoipIndividualIncoming($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualIncoming = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag quickRepliesQuery = 10;</code>
     * @return int
     */
    public function getQuickRepliesQuery()
    {
        return isset($this->quickRepliesQuery) ? $this->quickRepliesQuery : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag quickRepliesQuery = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setQuickRepliesQuery($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->quickRepliesQuery = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag payments = 11;</code>
     * @return int
     */
    public function getPayments()
    {
        return isset($this->payments) ? $this->payments : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag payments = 11;</code>
     * @param int $var
     * @return $this
     */
    public function setPayments($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->payments = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag stickerPackQuery = 12;</code>
     * @return int
     */
    public function getStickerPackQuery()
    {
        return isset($this->stickerPackQuery) ? $this->stickerPackQuery : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag stickerPackQuery = 12;</code>
     * @param int $var
     * @return $this
     */
    public function setStickerPackQuery($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->stickerPackQuery = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocationsFinal = 13;</code>
     * @return int
     */
    public function getLiveLocationsFinal()
    {
        return isset($this->liveLocationsFinal) ? $this->liveLocationsFinal : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag liveLocationsFinal = 13;</code>
     * @param int $var
     * @return $this
     */
    public function setLiveLocationsFinal($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->liveLocationsFinal = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsEdit = 14;</code>
     * @return int
     */
    public function getLabelsEdit()
    {
        return isset($this->labelsEdit) ? $this->labelsEdit : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag labelsEdit = 14;</code>
     * @param int $var
     * @return $this
     */
    public function setLabelsEdit($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->labelsEdit = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUpload = 15;</code>
     * @return int
     */
    public function getMediaUpload()
    {
        return isset($this->mediaUpload) ? $this->mediaUpload : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUpload = 15;</code>
     * @param int $var
     * @return $this
     */
    public function setMediaUpload($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mediaUpload = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUploadRichQuickReplies = 18;</code>
     * @return int
     */
    public function getMediaUploadRichQuickReplies()
    {
        return isset($this->mediaUploadRichQuickReplies) ? $this->mediaUploadRichQuickReplies : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mediaUploadRichQuickReplies = 18;</code>
     * @param int $var
     * @return $this
     */
    public function setMediaUploadRichQuickReplies($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mediaUploadRichQuickReplies = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag vnameV2 = 19;</code>
     * @return int
     */
    public function getVnameV2()
    {
        return isset($this->vnameV2) ? $this->vnameV2 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag vnameV2 = 19;</code>
     * @param int $var
     * @return $this
     */
    public function setVnameV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->vnameV2 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag videoPlaybackUrl = 20;</code>
     * @return int
     */
    public function getVideoPlaybackUrl()
    {
        return isset($this->videoPlaybackUrl) ? $this->videoPlaybackUrl : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag videoPlaybackUrl = 20;</code>
     * @param int $var
     * @return $this
     */
    public function setVideoPlaybackUrl($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->videoPlaybackUrl = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag statusRanking = 21;</code>
     * @return int
     */
    public function getStatusRanking()
    {
        return isset($this->statusRanking) ? $this->statusRanking : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag statusRanking = 21;</code>
     * @param int $var
     * @return $this
     */
    public function setStatusRanking($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->statusRanking = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualVideo = 22;</code>
     * @return int
     */
    public function getVoipIndividualVideo()
    {
        return isset($this->voipIndividualVideo) ? $this->voipIndividualVideo : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipIndividualVideo = 22;</code>
     * @param int $var
     * @return $this
     */
    public function setVoipIndividualVideo($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipIndividualVideo = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag thirdPartyStickers = 23;</code>
     * @return int
     */
    public function getThirdPartyStickers()
    {
        return isset($this->thirdPartyStickers) ? $this->thirdPartyStickers : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag thirdPartyStickers = 23;</code>
     * @param int $var
     * @return $this
     */
    public function setThirdPartyStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->thirdPartyStickers = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag frequentlyForwardedSetting = 24;</code>
     * @return int
     */
    public function getFrequentlyForwardedSetting()
    {
        return isset($this->frequentlyForwardedSetting) ? $this->frequentlyForwardedSetting : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag frequentlyForwardedSetting = 24;</code>
     * @param int $var
     * @return $this
     */
    public function setFrequentlyForwardedSetting($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->frequentlyForwardedSetting = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV4JoinPermission = 25;</code>
     * @return int
     */
    public function getGroupsV4JoinPermission()
    {
        return isset($this->groupsV4JoinPermission) ? $this->groupsV4JoinPermission : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupsV4JoinPermission = 25;</code>
     * @param int $var
     * @return $this
     */
    public function setGroupsV4JoinPermission($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupsV4JoinPermission = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickers = 26;</code>
     * @return int
     */
    public function getRecentStickers()
    {
        return isset($this->recentStickers) ? $this->recentStickers : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickers = 26;</code>
     * @param int $var
     * @return $this
     */
    public function setRecentStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickers = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag catalog = 27;</code>
     * @return int
     */
    public function getCatalog()
    {
        return isset($this->catalog) ? $this->catalog : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag catalog = 27;</code>
     * @param int $var
     * @return $this
     */
    public function setCatalog($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->catalog = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag starredStickers = 28;</code>
     * @return int
     */
    public function getStarredStickers()
    {
        return isset($this->starredStickers) ? $this->starredStickers : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag starredStickers = 28;</code>
     * @param int $var
     * @return $this
     */
    public function setStarredStickers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->starredStickers = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipGroupCall = 29;</code>
     * @return int
     */
    public function getVoipGroupCall()
    {
        return isset($this->voipGroupCall) ? $this->voipGroupCall : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag voipGroupCall = 29;</code>
     * @param int $var
     * @return $this
     */
    public function setVoipGroupCall($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->voipGroupCall = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessage = 30;</code>
     * @return int
     */
    public function getTemplateMessage()
    {
        return isset($this->templateMessage) ? $this->templateMessage : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessage = 30;</code>
     * @param int $var
     * @return $this
     */
    public function setTemplateMessage($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->templateMessage = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessageInteractivity = 31;</code>
     * @return int
     */
    public function getTemplateMessageInteractivity()
    {
        return isset($this->templateMessageInteractivity) ? $this->templateMessageInteractivity : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag templateMessageInteractivity = 31;</code>
     * @param int $var
     * @return $this
     */
    public function setTemplateMessageInteractivity($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->templateMessageInteractivity = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralMessages = 32;</code>
     * @return int
     */
    public function getEphemeralMessages()
    {
        return isset($this->ephemeralMessages) ? $this->ephemeralMessages : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralMessages = 32;</code>
     * @param int $var
     * @return $this
     */
    public function setEphemeralMessages($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeralMessages = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag e2ENotificationSync = 33;</code>
     * @return int
     */
    public function getE2ENotificationSync()
    {
        return isset($this->e2ENotificationSync) ? $this->e2ENotificationSync : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag e2ENotificationSync = 33;</code>
     * @param int $var
     * @return $this
     */
    public function setE2ENotificationSync($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->e2ENotificationSync = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV2 = 34;</code>
     * @return int
     */
    public function getRecentStickersV2()
    {
        return isset($this->recentStickersV2) ? $this->recentStickersV2 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV2 = 34;</code>
     * @param int $var
     * @return $this
     */
    public function setRecentStickersV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickersV2 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV3 = 36;</code>
     * @return int
     */
    public function getRecentStickersV3()
    {
        return isset($this->recentStickersV3) ? $this->recentStickersV3 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag recentStickersV3 = 36;</code>
     * @param int $var
     * @return $this
     */
    public function setRecentStickersV3($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->recentStickersV3 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag userNotice = 37;</code>
     * @return int
     */
    public function getUserNotice()
    {
        return isset($this->userNotice) ? $this->userNotice : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag userNotice = 37;</code>
     * @param int $var
     * @return $this
     */
    public function setUserNotice($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->userNotice = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag support = 39;</code>
     * @return int
     */
    public function getSupport()
    {
        return isset($this->support) ? $this->support : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag support = 39;</code>
     * @param int $var
     * @return $this
     */
    public function setSupport($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->support = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupUiiCleanup = 40;</code>
     * @return int
     */
    public function getGroupUiiCleanup()
    {
        return isset($this->groupUiiCleanup) ? $this->groupUiiCleanup : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupUiiCleanup = 40;</code>
     * @param int $var
     * @return $this
     */
    public function setGroupUiiCleanup($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupUiiCleanup = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupDogfoodingInternalOnly = 41;</code>
     * @return int
     */
    public function getGroupDogfoodingInternalOnly()
    {
        return isset($this->groupDogfoodingInternalOnly) ? $this->groupDogfoodingInternalOnly : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag groupDogfoodingInternalOnly = 41;</code>
     * @param int $var
     * @return $this
     */
    public function setGroupDogfoodingInternalOnly($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->groupDogfoodingInternalOnly = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag settingsSync = 42;</code>
     * @return int
     */
    public function getSettingsSync()
    {
        return isset($this->settingsSync) ? $this->settingsSync : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag settingsSync = 42;</code>
     * @param int $var
     * @return $this
     */
    public function setSettingsSync($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->settingsSync = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag archiveV2 = 43;</code>
     * @return int
     */
    public function getArchiveV2()
    {
        return isset($this->archiveV2) ? $this->archiveV2 : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag archiveV2 = 43;</code>
     * @param int $var
     * @return $this
     */
    public function setArchiveV2($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->archiveV2 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralAllowGroupMembers = 44;</code>
     * @return int
     */
    public function getEphemeralAllowGroupMembers()
    {
        return isset($this->ephemeralAllowGroupMembers) ? $this->ephemeralAllowGroupMembers : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeralAllowGroupMembers = 44;</code>
     * @param int $var
     * @return $this
     */
    public function setEphemeralAllowGroupMembers($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeralAllowGroupMembers = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeral24HDuration = 45;</code>
     * @return int
     */
    public function getEphemeral24HDuration()
    {
        return isset($this->ephemeral24HDuration) ? $this->ephemeral24HDuration : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag ephemeral24HDuration = 45;</code>
     * @param int $var
     * @return $this
     */
    public function setEphemeral24HDuration($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->ephemeral24HDuration = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mdForceUpgrade = 46;</code>
     * @return int
     */
    public function getMdForceUpgrade()
    {
        return isset($this->mdForceUpgrade) ? $this->mdForceUpgrade : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag mdForceUpgrade = 46;</code>
     * @param int $var
     * @return $this
     */
    public function setMdForceUpgrade($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->mdForceUpgrade = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag disappearingMode = 47;</code>
     * @return int
     */
    public function getDisappearingMode()
    {
        return isset($this->disappearingMode) ? $this->disappearingMode : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag disappearingMode = 47;</code>
     * @param int $var
     * @return $this
     */
    public function setDisappearingMode($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->disappearingMode = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag externalMdOptInAvailable = 48;</code>
     * @return int
     */
    public function getExternalMdOptInAvailable()
    {
        return isset($this->externalMdOptInAvailable) ? $this->externalMdOptInAvailable : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag externalMdOptInAvailable = 48;</code>
     * @param int $var
     * @return $this
     */
    public function setExternalMdOptInAvailable($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->externalMdOptInAvailable = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag noDeleteMessageTimeLimit = 49;</code>
     * @return int
     */
    public function getNoDeleteMessageTimeLimit()
    {
        return isset($this->noDeleteMessageTimeLimit) ? $this->noDeleteMessageTimeLimit : 0;
    }

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

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

    /**
     * Generated from protobuf field <code>optional .proto.WebFeatures.Flag noDeleteMessageTimeLimit = 49;</code>
     * @param int $var
     * @return $this
     */
    public function setNoDeleteMessageTimeLimit($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\WebFeatures\Flag::class);
        $this->noDeleteMessageTimeLimit = $var;

        return $this;
    }

}

