//
//  Generated code. Do not modify.
//  source: bilibili/app/dynamic/v2/dynamic.proto
//
// @dart = 2.12

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

import 'package:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;

import '../../../google/protobuf/any.pb.dart' as $2;
import '../../../dagw/component/avatar/v1/avatar.pb.dart' as $3;
import '../../archive/middleware/v1/preload.pb.dart' as $1;
import 'dynamic.pbenum.dart';

export 'dynamic.pbenum.dart';

/// 活动皮肤
class AdditionalActSkin extends $pb.GeneratedMessage {
  factory AdditionalActSkin({
    $core.String? svga,
    $core.String? lastImage,
    $fixnum.Int64? playTimes,
  }) {
    final $result = create();
    if (svga != null) {
      $result.svga = svga;
    }
    if (lastImage != null) {
      $result.lastImage = lastImage;
    }
    if (playTimes != null) {
      $result.playTimes = playTimes;
    }
    return $result;
  }
  AdditionalActSkin._() : super();
  factory AdditionalActSkin.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalActSkin.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalActSkin',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'svga')
    ..aOS(2, _omitFieldNames ? '' : 'lastImage')
    ..aInt64(3, _omitFieldNames ? '' : 'playTimes')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalActSkin clone() => AdditionalActSkin()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalActSkin copyWith(void Function(AdditionalActSkin) updates) =>
      super.copyWith((message) => updates(message as AdditionalActSkin))
          as AdditionalActSkin;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalActSkin create() => AdditionalActSkin._();
  AdditionalActSkin createEmptyInstance() => create();
  static $pb.PbList<AdditionalActSkin> createRepeated() =>
      $pb.PbList<AdditionalActSkin>();
  @$core.pragma('dart2js:noInline')
  static AdditionalActSkin getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalActSkin>(create);
  static AdditionalActSkin? _defaultInstance;

  /// 动画SVGA资源
  @$pb.TagNumber(1)
  $core.String get svga => $_getSZ(0);
  @$pb.TagNumber(1)
  set svga($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSvga() => $_has(0);
  @$pb.TagNumber(1)
  void clearSvga() => clearField(1);

  /// 动画SVGA最后一帧图片资源
  @$pb.TagNumber(2)
  $core.String get lastImage => $_getSZ(1);
  @$pb.TagNumber(2)
  set lastImage($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLastImage() => $_has(1);
  @$pb.TagNumber(2)
  void clearLastImage() => clearField(2);

  /// 动画播放次数
  @$pb.TagNumber(3)
  $fixnum.Int64 get playTimes => $_getI64(2);
  @$pb.TagNumber(3)
  set playTimes($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayTimes() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayTimes() => clearField(3);
}

/// 动态-附加卡-按钮
class AdditionalButton extends $pb.GeneratedMessage {
  factory AdditionalButton({
    AddButtonType? type,
    AdditionalButtonStyle? jumpStyle,
    $core.String? jumpUrl,
    AdditionalButtonStyle? uncheck,
    AdditionalButtonStyle? check_5,
    AdditionalButtonStatus? status,
    AdditionalButtonClickType? clickType,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (jumpStyle != null) {
      $result.jumpStyle = jumpStyle;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (uncheck != null) {
      $result.uncheck = uncheck;
    }
    if (check_5 != null) {
      $result.check_5 = check_5;
    }
    if (status != null) {
      $result.status = status;
    }
    if (clickType != null) {
      $result.clickType = clickType;
    }
    return $result;
  }
  AdditionalButton._() : super();
  factory AdditionalButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<AddButtonType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: AddButtonType.bt_none,
        valueOf: AddButtonType.valueOf,
        enumValues: AddButtonType.values)
    ..aOM<AdditionalButtonStyle>(2, _omitFieldNames ? '' : 'jumpStyle',
        subBuilder: AdditionalButtonStyle.create)
    ..aOS(3, _omitFieldNames ? '' : 'jumpUrl')
    ..aOM<AdditionalButtonStyle>(4, _omitFieldNames ? '' : 'uncheck',
        subBuilder: AdditionalButtonStyle.create)
    ..aOM<AdditionalButtonStyle>(5, _omitFieldNames ? '' : 'check',
        subBuilder: AdditionalButtonStyle.create)
    ..e<AdditionalButtonStatus>(
        6, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionalButtonStatus.none,
        valueOf: AdditionalButtonStatus.valueOf,
        enumValues: AdditionalButtonStatus.values)
    ..e<AdditionalButtonClickType>(
        7, _omitFieldNames ? '' : 'clickType', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionalButtonClickType.click_none,
        valueOf: AdditionalButtonClickType.valueOf,
        enumValues: AdditionalButtonClickType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalButton clone() => AdditionalButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalButton copyWith(void Function(AdditionalButton) updates) =>
      super.copyWith((message) => updates(message as AdditionalButton))
          as AdditionalButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalButton create() => AdditionalButton._();
  AdditionalButton createEmptyInstance() => create();
  static $pb.PbList<AdditionalButton> createRepeated() =>
      $pb.PbList<AdditionalButton>();
  @$core.pragma('dart2js:noInline')
  static AdditionalButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalButton>(create);
  static AdditionalButton? _defaultInstance;

  /// 按钮类型
  @$pb.TagNumber(1)
  AddButtonType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(AddButtonType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// jump-跳转样式
  @$pb.TagNumber(2)
  AdditionalButtonStyle get jumpStyle => $_getN(1);
  @$pb.TagNumber(2)
  set jumpStyle(AdditionalButtonStyle v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasJumpStyle() => $_has(1);
  @$pb.TagNumber(2)
  void clearJumpStyle() => clearField(2);
  @$pb.TagNumber(2)
  AdditionalButtonStyle ensureJumpStyle() => $_ensure(1);

  /// jump-跳转链接
  @$pb.TagNumber(3)
  $core.String get jumpUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set jumpUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasJumpUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearJumpUrl() => clearField(3);

  /// button-未点样式
  @$pb.TagNumber(4)
  AdditionalButtonStyle get uncheck => $_getN(3);
  @$pb.TagNumber(4)
  set uncheck(AdditionalButtonStyle v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUncheck() => $_has(3);
  @$pb.TagNumber(4)
  void clearUncheck() => clearField(4);
  @$pb.TagNumber(4)
  AdditionalButtonStyle ensureUncheck() => $_ensure(3);

  /// button-已点样式
  @$pb.TagNumber(5)
  AdditionalButtonStyle get check_5 => $_getN(4);
  @$pb.TagNumber(5)
  set check_5(AdditionalButtonStyle v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCheck_5() => $_has(4);
  @$pb.TagNumber(5)
  void clearCheck_5() => clearField(5);
  @$pb.TagNumber(5)
  AdditionalButtonStyle ensureCheck_5() => $_ensure(4);

  /// button-当前状态
  @$pb.TagNumber(6)
  AdditionalButtonStatus get status => $_getN(5);
  @$pb.TagNumber(6)
  set status(AdditionalButtonStatus v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasStatus() => $_has(5);
  @$pb.TagNumber(6)
  void clearStatus() => clearField(6);

  /// 按钮点击样式
  @$pb.TagNumber(7)
  AdditionalButtonClickType get clickType => $_getN(6);
  @$pb.TagNumber(7)
  set clickType(AdditionalButtonClickType v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasClickType() => $_has(6);
  @$pb.TagNumber(7)
  void clearClickType() => clearField(7);
}

class AdditionalButtonInteractive extends $pb.GeneratedMessage {
  factory AdditionalButtonInteractive({
    $core.String? popups,
    $core.String? confirm,
    $core.String? cancel,
    $core.String? desc,
  }) {
    final $result = create();
    if (popups != null) {
      $result.popups = popups;
    }
    if (confirm != null) {
      $result.confirm = confirm;
    }
    if (cancel != null) {
      $result.cancel = cancel;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    return $result;
  }
  AdditionalButtonInteractive._() : super();
  factory AdditionalButtonInteractive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalButtonInteractive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalButtonInteractive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'popups')
    ..aOS(2, _omitFieldNames ? '' : 'confirm')
    ..aOS(3, _omitFieldNames ? '' : 'cancel')
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalButtonInteractive clone() =>
      AdditionalButtonInteractive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalButtonInteractive copyWith(
          void Function(AdditionalButtonInteractive) updates) =>
      super.copyWith(
              (message) => updates(message as AdditionalButtonInteractive))
          as AdditionalButtonInteractive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalButtonInteractive create() =>
      AdditionalButtonInteractive._();
  AdditionalButtonInteractive createEmptyInstance() => create();
  static $pb.PbList<AdditionalButtonInteractive> createRepeated() =>
      $pb.PbList<AdditionalButtonInteractive>();
  @$core.pragma('dart2js:noInline')
  static AdditionalButtonInteractive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalButtonInteractive>(create);
  static AdditionalButtonInteractive? _defaultInstance;

  /// 是否弹窗
  @$pb.TagNumber(1)
  $core.String get popups => $_getSZ(0);
  @$pb.TagNumber(1)
  set popups($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPopups() => $_has(0);
  @$pb.TagNumber(1)
  void clearPopups() => clearField(1);

  /// 弹窗确认文案
  @$pb.TagNumber(2)
  $core.String get confirm => $_getSZ(1);
  @$pb.TagNumber(2)
  set confirm($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasConfirm() => $_has(1);
  @$pb.TagNumber(2)
  void clearConfirm() => clearField(2);

  /// 弹窗取消文案
  @$pb.TagNumber(3)
  $core.String get cancel => $_getSZ(2);
  @$pb.TagNumber(3)
  set cancel($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCancel() => $_has(2);
  @$pb.TagNumber(3)
  void clearCancel() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);
}

class AdditionalButtonShare extends $pb.GeneratedMessage {
  factory AdditionalButtonShare({
    $core.int? show,
    $core.String? icon,
    $core.String? text,
  }) {
    final $result = create();
    if (show != null) {
      $result.show = show;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (text != null) {
      $result.text = text;
    }
    return $result;
  }
  AdditionalButtonShare._() : super();
  factory AdditionalButtonShare.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalButtonShare.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalButtonShare',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'show', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'icon')
    ..aOS(3, _omitFieldNames ? '' : 'text')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalButtonShare clone() =>
      AdditionalButtonShare()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalButtonShare copyWith(
          void Function(AdditionalButtonShare) updates) =>
      super.copyWith((message) => updates(message as AdditionalButtonShare))
          as AdditionalButtonShare;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalButtonShare create() => AdditionalButtonShare._();
  AdditionalButtonShare createEmptyInstance() => create();
  static $pb.PbList<AdditionalButtonShare> createRepeated() =>
      $pb.PbList<AdditionalButtonShare>();
  @$core.pragma('dart2js:noInline')
  static AdditionalButtonShare getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalButtonShare>(create);
  static AdditionalButtonShare? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get show => $_getIZ(0);
  @$pb.TagNumber(1)
  set show($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasShow() => $_has(0);
  @$pb.TagNumber(1)
  void clearShow() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get icon => $_getSZ(1);
  @$pb.TagNumber(2)
  set icon($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIcon() => $_has(1);
  @$pb.TagNumber(2)
  void clearIcon() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get text => $_getSZ(2);
  @$pb.TagNumber(3)
  set text($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasText() => $_has(2);
  @$pb.TagNumber(3)
  void clearText() => clearField(3);
}

/// 动态-附加卡-按钮样式
class AdditionalButtonStyle extends $pb.GeneratedMessage {
  factory AdditionalButtonStyle({
    $core.String? icon,
    $core.String? text,
    AdditionalButtonInteractive? interactive,
    AddButtonBgStyle? bgStyle,
    $core.String? toast,
    DisableState? disable,
    AdditionalButtonShare? share,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (text != null) {
      $result.text = text;
    }
    if (interactive != null) {
      $result.interactive = interactive;
    }
    if (bgStyle != null) {
      $result.bgStyle = bgStyle;
    }
    if (toast != null) {
      $result.toast = toast;
    }
    if (disable != null) {
      $result.disable = disable;
    }
    if (share != null) {
      $result.share = share;
    }
    return $result;
  }
  AdditionalButtonStyle._() : super();
  factory AdditionalButtonStyle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalButtonStyle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalButtonStyle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..aOM<AdditionalButtonInteractive>(3, _omitFieldNames ? '' : 'interactive',
        subBuilder: AdditionalButtonInteractive.create)
    ..e<AddButtonBgStyle>(
        4, _omitFieldNames ? '' : 'bgStyle', $pb.PbFieldType.OE,
        defaultOrMaker: AddButtonBgStyle.fill,
        valueOf: AddButtonBgStyle.valueOf,
        enumValues: AddButtonBgStyle.values)
    ..aOS(5, _omitFieldNames ? '' : 'toast')
    ..e<DisableState>(6, _omitFieldNames ? '' : 'disable', $pb.PbFieldType.OE,
        defaultOrMaker: DisableState.highlight,
        valueOf: DisableState.valueOf,
        enumValues: DisableState.values)
    ..aOM<AdditionalButtonShare>(7, _omitFieldNames ? '' : 'share',
        subBuilder: AdditionalButtonShare.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalButtonStyle clone() =>
      AdditionalButtonStyle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalButtonStyle copyWith(
          void Function(AdditionalButtonStyle) updates) =>
      super.copyWith((message) => updates(message as AdditionalButtonStyle))
          as AdditionalButtonStyle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalButtonStyle create() => AdditionalButtonStyle._();
  AdditionalButtonStyle createEmptyInstance() => create();
  static $pb.PbList<AdditionalButtonStyle> createRepeated() =>
      $pb.PbList<AdditionalButtonStyle>();
  @$core.pragma('dart2js:noInline')
  static AdditionalButtonStyle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalButtonStyle>(create);
  static AdditionalButtonStyle? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 文案
  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);

  /// 按钮点击交互
  @$pb.TagNumber(3)
  AdditionalButtonInteractive get interactive => $_getN(2);
  @$pb.TagNumber(3)
  set interactive(AdditionalButtonInteractive v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasInteractive() => $_has(2);
  @$pb.TagNumber(3)
  void clearInteractive() => clearField(3);
  @$pb.TagNumber(3)
  AdditionalButtonInteractive ensureInteractive() => $_ensure(2);

  /// 当前按钮填充样式
  @$pb.TagNumber(4)
  AddButtonBgStyle get bgStyle => $_getN(3);
  @$pb.TagNumber(4)
  set bgStyle(AddButtonBgStyle v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasBgStyle() => $_has(3);
  @$pb.TagNumber(4)
  void clearBgStyle() => clearField(4);

  /// toast文案, 当disable=1时有效
  @$pb.TagNumber(5)
  $core.String get toast => $_getSZ(4);
  @$pb.TagNumber(5)
  set toast($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasToast() => $_has(4);
  @$pb.TagNumber(5)
  void clearToast() => clearField(5);

  /// 当前按钮样式,
  /// 0:高亮 1:置灰(按钮不可点击)
  @$pb.TagNumber(6)
  DisableState get disable => $_getN(5);
  @$pb.TagNumber(6)
  set disable(DisableState v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDisable() => $_has(5);
  @$pb.TagNumber(6)
  void clearDisable() => clearField(6);

  @$pb.TagNumber(7)
  AdditionalButtonShare get share => $_getN(6);
  @$pb.TagNumber(7)
  set share(AdditionalButtonShare v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasShare() => $_has(6);
  @$pb.TagNumber(7)
  void clearShare() => clearField(7);
  @$pb.TagNumber(7)
  AdditionalButtonShare ensureShare() => $_ensure(6);
}

/// 动态-附加卡-番剧卡
class AdditionalPGC extends $pb.GeneratedMessage {
  factory AdditionalPGC({
    $core.String? headText,
    $core.String? title,
    $core.String? imageUrl,
    $core.String? descText1,
    $core.String? descText2,
    $core.String? url,
    AdditionalButton? button,
    $core.String? headIcon,
    ImageStyle? style,
    $core.String? type,
  }) {
    final $result = create();
    if (headText != null) {
      $result.headText = headText;
    }
    if (title != null) {
      $result.title = title;
    }
    if (imageUrl != null) {
      $result.imageUrl = imageUrl;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (url != null) {
      $result.url = url;
    }
    if (button != null) {
      $result.button = button;
    }
    if (headIcon != null) {
      $result.headIcon = headIcon;
    }
    if (style != null) {
      $result.style = style;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  AdditionalPGC._() : super();
  factory AdditionalPGC.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionalPGC.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionalPGC',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'headText')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'imageUrl')
    ..aOS(4, _omitFieldNames ? '' : 'descText1', protoName: 'desc_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'descText2', protoName: 'desc_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'url')
    ..aOM<AdditionalButton>(7, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(8, _omitFieldNames ? '' : 'headIcon')
    ..e<ImageStyle>(9, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: ImageStyle.add_style_vertical,
        valueOf: ImageStyle.valueOf,
        enumValues: ImageStyle.values)
    ..aOS(10, _omitFieldNames ? '' : 'type')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionalPGC clone() => AdditionalPGC()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionalPGC copyWith(void Function(AdditionalPGC) updates) =>
      super.copyWith((message) => updates(message as AdditionalPGC))
          as AdditionalPGC;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionalPGC create() => AdditionalPGC._();
  AdditionalPGC createEmptyInstance() => create();
  static $pb.PbList<AdditionalPGC> createRepeated() =>
      $pb.PbList<AdditionalPGC>();
  @$core.pragma('dart2js:noInline')
  static AdditionalPGC getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionalPGC>(create);
  static AdditionalPGC? _defaultInstance;

  /// 头部说明文案
  @$pb.TagNumber(1)
  $core.String get headText => $_getSZ(0);
  @$pb.TagNumber(1)
  set headText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHeadText() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeadText() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 展示图
  @$pb.TagNumber(3)
  $core.String get imageUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set imageUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasImageUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearImageUrl() => clearField(3);

  /// 描述文字1
  @$pb.TagNumber(4)
  $core.String get descText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set descText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescText1() => clearField(4);

  /// 描述文字2
  @$pb.TagNumber(5)
  $core.String get descText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText2() => clearField(5);

  /// 点击跳转链接
  @$pb.TagNumber(6)
  $core.String get url => $_getSZ(5);
  @$pb.TagNumber(6)
  set url($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUrl() => $_has(5);
  @$pb.TagNumber(6)
  void clearUrl() => clearField(6);

  /// 按钮
  @$pb.TagNumber(7)
  AdditionalButton get button => $_getN(6);
  @$pb.TagNumber(7)
  set button(AdditionalButton v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasButton() => $_has(6);
  @$pb.TagNumber(7)
  void clearButton() => clearField(7);
  @$pb.TagNumber(7)
  AdditionalButton ensureButton() => $_ensure(6);

  /// 头部icon
  @$pb.TagNumber(8)
  $core.String get headIcon => $_getSZ(7);
  @$pb.TagNumber(8)
  set headIcon($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasHeadIcon() => $_has(7);
  @$pb.TagNumber(8)
  void clearHeadIcon() => clearField(8);

  /// style
  @$pb.TagNumber(9)
  ImageStyle get style => $_getN(8);
  @$pb.TagNumber(9)
  set style(ImageStyle v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasStyle() => $_has(8);
  @$pb.TagNumber(9)
  void clearStyle() => clearField(9);

  /// 动态本身的类型 type
  @$pb.TagNumber(10)
  $core.String get type => $_getSZ(9);
  @$pb.TagNumber(10)
  set type($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasType() => $_has(9);
  @$pb.TagNumber(10)
  void clearType() => clearField(10);
}

/// 动态-附加卡-专栏
class AdditionArticle extends $pb.GeneratedMessage {
  factory AdditionArticle({
    $core.String? title,
    MdlDynDrawItem? cover,
    $core.String? descTextLeft,
    $core.String? descTextRight,
    $core.String? uri,
    $core.String? cardType,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (descTextLeft != null) {
      $result.descTextLeft = descTextLeft;
    }
    if (descTextRight != null) {
      $result.descTextRight = descTextRight;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  AdditionArticle._() : super();
  factory AdditionArticle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionArticle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionArticle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<MdlDynDrawItem>(2, _omitFieldNames ? '' : 'cover',
        subBuilder: MdlDynDrawItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'descTextLeft')
    ..aOS(4, _omitFieldNames ? '' : 'descTextRight')
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..aOS(6, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionArticle clone() => AdditionArticle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionArticle copyWith(void Function(AdditionArticle) updates) =>
      super.copyWith((message) => updates(message as AdditionArticle))
          as AdditionArticle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionArticle create() => AdditionArticle._();
  AdditionArticle createEmptyInstance() => create();
  static $pb.PbList<AdditionArticle> createRepeated() =>
      $pb.PbList<AdditionArticle>();
  @$core.pragma('dart2js:noInline')
  static AdditionArticle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionArticle>(create);
  static AdditionArticle? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  MdlDynDrawItem get cover => $_getN(1);
  @$pb.TagNumber(2)
  set cover(MdlDynDrawItem v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);
  @$pb.TagNumber(2)
  MdlDynDrawItem ensureCover() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.String get descTextLeft => $_getSZ(2);
  @$pb.TagNumber(3)
  set descTextLeft($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDescTextLeft() => $_has(2);
  @$pb.TagNumber(3)
  void clearDescTextLeft() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get descTextRight => $_getSZ(3);
  @$pb.TagNumber(4)
  set descTextRight($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescTextRight() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescTextRight() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get cardType => $_getSZ(5);
  @$pb.TagNumber(6)
  set cardType($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCardType() => $_has(5);
  @$pb.TagNumber(6)
  void clearCardType() => clearField(6);
}

/// 动态-附加卡-通用卡
class AdditionCommon extends $pb.GeneratedMessage {
  factory AdditionCommon({
    $core.String? headText,
    $core.String? title,
    $core.String? imageUrl,
    $core.String? descText1,
    $core.String? descText2,
    $core.String? url,
    AdditionalButton? button,
    $core.String? headIcon,
    ImageStyle? style,
    $core.String? type,
    $core.String? cardType,
  }) {
    final $result = create();
    if (headText != null) {
      $result.headText = headText;
    }
    if (title != null) {
      $result.title = title;
    }
    if (imageUrl != null) {
      $result.imageUrl = imageUrl;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (url != null) {
      $result.url = url;
    }
    if (button != null) {
      $result.button = button;
    }
    if (headIcon != null) {
      $result.headIcon = headIcon;
    }
    if (style != null) {
      $result.style = style;
    }
    if (type != null) {
      $result.type = type;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  AdditionCommon._() : super();
  factory AdditionCommon.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionCommon.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionCommon',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'headText')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'imageUrl')
    ..aOS(4, _omitFieldNames ? '' : 'descText1', protoName: 'desc_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'descText2', protoName: 'desc_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'url')
    ..aOM<AdditionalButton>(7, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(8, _omitFieldNames ? '' : 'headIcon')
    ..e<ImageStyle>(9, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: ImageStyle.add_style_vertical,
        valueOf: ImageStyle.valueOf,
        enumValues: ImageStyle.values)
    ..aOS(10, _omitFieldNames ? '' : 'type')
    ..aOS(11, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionCommon clone() => AdditionCommon()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionCommon copyWith(void Function(AdditionCommon) updates) =>
      super.copyWith((message) => updates(message as AdditionCommon))
          as AdditionCommon;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionCommon create() => AdditionCommon._();
  AdditionCommon createEmptyInstance() => create();
  static $pb.PbList<AdditionCommon> createRepeated() =>
      $pb.PbList<AdditionCommon>();
  @$core.pragma('dart2js:noInline')
  static AdditionCommon getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionCommon>(create);
  static AdditionCommon? _defaultInstance;

  /// 头部说明文案
  @$pb.TagNumber(1)
  $core.String get headText => $_getSZ(0);
  @$pb.TagNumber(1)
  set headText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHeadText() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeadText() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 展示图
  @$pb.TagNumber(3)
  $core.String get imageUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set imageUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasImageUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearImageUrl() => clearField(3);

  /// 描述文字1
  @$pb.TagNumber(4)
  $core.String get descText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set descText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescText1() => clearField(4);

  /// 描述文字2
  @$pb.TagNumber(5)
  $core.String get descText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText2() => clearField(5);

  /// 点击跳转链接
  @$pb.TagNumber(6)
  $core.String get url => $_getSZ(5);
  @$pb.TagNumber(6)
  set url($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUrl() => $_has(5);
  @$pb.TagNumber(6)
  void clearUrl() => clearField(6);

  /// 按钮
  @$pb.TagNumber(7)
  AdditionalButton get button => $_getN(6);
  @$pb.TagNumber(7)
  set button(AdditionalButton v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasButton() => $_has(6);
  @$pb.TagNumber(7)
  void clearButton() => clearField(7);
  @$pb.TagNumber(7)
  AdditionalButton ensureButton() => $_ensure(6);

  /// 头部icon
  @$pb.TagNumber(8)
  $core.String get headIcon => $_getSZ(7);
  @$pb.TagNumber(8)
  set headIcon($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasHeadIcon() => $_has(7);
  @$pb.TagNumber(8)
  void clearHeadIcon() => clearField(8);

  /// style
  @$pb.TagNumber(9)
  ImageStyle get style => $_getN(8);
  @$pb.TagNumber(9)
  set style(ImageStyle v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasStyle() => $_has(8);
  @$pb.TagNumber(9)
  void clearStyle() => clearField(9);

  /// 动态本身的类型 type
  @$pb.TagNumber(10)
  $core.String get type => $_getSZ(9);
  @$pb.TagNumber(10)
  set type($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasType() => $_has(9);
  @$pb.TagNumber(10)
  void clearType() => clearField(10);

  /// 附加卡类型
  @$pb.TagNumber(11)
  $core.String get cardType => $_getSZ(10);
  @$pb.TagNumber(11)
  set cardType($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCardType() => $_has(10);
  @$pb.TagNumber(11)
  void clearCardType() => clearField(11);
}

enum AdditionEsport_Item { additionEsportMoba, notSet }

/// 动态-附加卡-电竞卡
class AdditionEsport extends $pb.GeneratedMessage {
  factory AdditionEsport({
    EspaceStyle? style,
    AdditionEsportMoba? additionEsportMoba,
    $core.String? type,
    $core.String? cardType,
  }) {
    final $result = create();
    if (style != null) {
      $result.style = style;
    }
    if (additionEsportMoba != null) {
      $result.additionEsportMoba = additionEsportMoba;
    }
    if (type != null) {
      $result.type = type;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  AdditionEsport._() : super();
  factory AdditionEsport.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionEsport.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, AdditionEsport_Item>
      _AdditionEsport_ItemByTag = {
    2: AdditionEsport_Item.additionEsportMoba,
    0: AdditionEsport_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionEsport',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2])
    ..e<EspaceStyle>(1, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: EspaceStyle.moba,
        valueOf: EspaceStyle.valueOf,
        enumValues: EspaceStyle.values)
    ..aOM<AdditionEsportMoba>(2, _omitFieldNames ? '' : 'additionEsportMoba',
        subBuilder: AdditionEsportMoba.create)
    ..aOS(3, _omitFieldNames ? '' : 'type')
    ..aOS(4, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionEsport clone() => AdditionEsport()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionEsport copyWith(void Function(AdditionEsport) updates) =>
      super.copyWith((message) => updates(message as AdditionEsport))
          as AdditionEsport;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionEsport create() => AdditionEsport._();
  AdditionEsport createEmptyInstance() => create();
  static $pb.PbList<AdditionEsport> createRepeated() =>
      $pb.PbList<AdditionEsport>();
  @$core.pragma('dart2js:noInline')
  static AdditionEsport getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionEsport>(create);
  static AdditionEsport? _defaultInstance;

  AdditionEsport_Item whichItem() =>
      _AdditionEsport_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 电竞类型
  @$pb.TagNumber(1)
  EspaceStyle get style => $_getN(0);
  @$pb.TagNumber(1)
  set style(EspaceStyle v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStyle() => $_has(0);
  @$pb.TagNumber(1)
  void clearStyle() => clearField(1);

  /// moba类
  @$pb.TagNumber(2)
  AdditionEsportMoba get additionEsportMoba => $_getN(1);
  @$pb.TagNumber(2)
  set additionEsportMoba(AdditionEsportMoba v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAdditionEsportMoba() => $_has(1);
  @$pb.TagNumber(2)
  void clearAdditionEsportMoba() => clearField(2);
  @$pb.TagNumber(2)
  AdditionEsportMoba ensureAdditionEsportMoba() => $_ensure(1);

  /// 动态本身的类型 type
  @$pb.TagNumber(3)
  $core.String get type => $_getSZ(2);
  @$pb.TagNumber(3)
  set type($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasType() => $_has(2);
  @$pb.TagNumber(3)
  void clearType() => clearField(3);

  /// 附加卡类型
  @$pb.TagNumber(4)
  $core.String get cardType => $_getSZ(3);
  @$pb.TagNumber(4)
  set cardType($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCardType() => $_has(3);
  @$pb.TagNumber(4)
  void clearCardType() => clearField(4);
}

/// 动态-附加卡-电竞卡-moba类
class AdditionEsportMoba extends $pb.GeneratedMessage {
  factory AdditionEsportMoba({
    $core.String? headText,
    $core.String? title,
    $core.Iterable<MatchTeam>? matchTeam,
    AdditionEsportMobaStatus? additionEsportMobaStatus,
    $core.String? uri,
    AdditionalButton? button,
    $core.String? subTitle,
    $core.String? type,
    $core.String? cardType,
    $core.String? headIcon,
  }) {
    final $result = create();
    if (headText != null) {
      $result.headText = headText;
    }
    if (title != null) {
      $result.title = title;
    }
    if (matchTeam != null) {
      $result.matchTeam.addAll(matchTeam);
    }
    if (additionEsportMobaStatus != null) {
      $result.additionEsportMobaStatus = additionEsportMobaStatus;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (button != null) {
      $result.button = button;
    }
    if (subTitle != null) {
      $result.subTitle = subTitle;
    }
    if (type != null) {
      $result.type = type;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    if (headIcon != null) {
      $result.headIcon = headIcon;
    }
    return $result;
  }
  AdditionEsportMoba._() : super();
  factory AdditionEsportMoba.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionEsportMoba.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionEsportMoba',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'headText')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..pc<MatchTeam>(3, _omitFieldNames ? '' : 'matchTeam', $pb.PbFieldType.PM,
        subBuilder: MatchTeam.create)
    ..aOM<AdditionEsportMobaStatus>(
        4, _omitFieldNames ? '' : 'additionEsportMobaStatus',
        subBuilder: AdditionEsportMobaStatus.create)
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..aOM<AdditionalButton>(6, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(7, _omitFieldNames ? '' : 'subTitle')
    ..aOS(10, _omitFieldNames ? '' : 'type')
    ..aOS(11, _omitFieldNames ? '' : 'cardType')
    ..aOS(12, _omitFieldNames ? '' : 'headIcon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionEsportMoba clone() => AdditionEsportMoba()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionEsportMoba copyWith(void Function(AdditionEsportMoba) updates) =>
      super.copyWith((message) => updates(message as AdditionEsportMoba))
          as AdditionEsportMoba;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionEsportMoba create() => AdditionEsportMoba._();
  AdditionEsportMoba createEmptyInstance() => create();
  static $pb.PbList<AdditionEsportMoba> createRepeated() =>
      $pb.PbList<AdditionEsportMoba>();
  @$core.pragma('dart2js:noInline')
  static AdditionEsportMoba getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionEsportMoba>(create);
  static AdditionEsportMoba? _defaultInstance;

  /// 头部说明文案
  @$pb.TagNumber(1)
  $core.String get headText => $_getSZ(0);
  @$pb.TagNumber(1)
  set headText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHeadText() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeadText() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 战队列表
  @$pb.TagNumber(3)
  $core.List<MatchTeam> get matchTeam => $_getList(2);

  /// 比赛信息
  @$pb.TagNumber(4)
  AdditionEsportMobaStatus get additionEsportMobaStatus => $_getN(3);
  @$pb.TagNumber(4)
  set additionEsportMobaStatus(AdditionEsportMobaStatus v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasAdditionEsportMobaStatus() => $_has(3);
  @$pb.TagNumber(4)
  void clearAdditionEsportMobaStatus() => clearField(4);
  @$pb.TagNumber(4)
  AdditionEsportMobaStatus ensureAdditionEsportMobaStatus() => $_ensure(3);

  /// 卡片跳转
  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  /// 按钮
  @$pb.TagNumber(6)
  AdditionalButton get button => $_getN(5);
  @$pb.TagNumber(6)
  set button(AdditionalButton v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasButton() => $_has(5);
  @$pb.TagNumber(6)
  void clearButton() => clearField(6);
  @$pb.TagNumber(6)
  AdditionalButton ensureButton() => $_ensure(5);

  /// 副标题
  @$pb.TagNumber(7)
  $core.String get subTitle => $_getSZ(6);
  @$pb.TagNumber(7)
  set subTitle($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasSubTitle() => $_has(6);
  @$pb.TagNumber(7)
  void clearSubTitle() => clearField(7);

  /// 动态本身的类型 type
  @$pb.TagNumber(10)
  $core.String get type => $_getSZ(7);
  @$pb.TagNumber(10)
  set type($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasType() => $_has(7);
  @$pb.TagNumber(10)
  void clearType() => clearField(10);

  /// 附加卡类型
  @$pb.TagNumber(11)
  $core.String get cardType => $_getSZ(8);
  @$pb.TagNumber(11)
  set cardType($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCardType() => $_has(8);
  @$pb.TagNumber(11)
  void clearCardType() => clearField(11);

  /// 附加卡图标
  @$pb.TagNumber(12)
  $core.String get headIcon => $_getSZ(9);
  @$pb.TagNumber(12)
  set headIcon($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasHeadIcon() => $_has(9);
  @$pb.TagNumber(12)
  void clearHeadIcon() => clearField(12);
}

/// 动态-附加卡-电竞卡-moba类-比赛信息
class AdditionEsportMobaStatus extends $pb.GeneratedMessage {
  factory AdditionEsportMobaStatus({
    $core.Iterable<AdditionEsportMobaStatusDesc>? additionEsportMobaStatusDesc,
    $core.String? title,
    $core.int? status,
    $core.String? color,
    $core.String? nightColor,
  }) {
    final $result = create();
    if (additionEsportMobaStatusDesc != null) {
      $result.additionEsportMobaStatusDesc.addAll(additionEsportMobaStatusDesc);
    }
    if (title != null) {
      $result.title = title;
    }
    if (status != null) {
      $result.status = status;
    }
    if (color != null) {
      $result.color = color;
    }
    if (nightColor != null) {
      $result.nightColor = nightColor;
    }
    return $result;
  }
  AdditionEsportMobaStatus._() : super();
  factory AdditionEsportMobaStatus.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionEsportMobaStatus.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionEsportMobaStatus',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<AdditionEsportMobaStatusDesc>(
        1,
        _omitFieldNames ? '' : 'additionEsportMobaStatusDesc',
        $pb.PbFieldType.PM,
        subBuilder: AdditionEsportMobaStatusDesc.create)
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'color')
    ..aOS(5, _omitFieldNames ? '' : 'nightColor')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionEsportMobaStatus clone() =>
      AdditionEsportMobaStatus()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionEsportMobaStatus copyWith(
          void Function(AdditionEsportMobaStatus) updates) =>
      super.copyWith((message) => updates(message as AdditionEsportMobaStatus))
          as AdditionEsportMobaStatus;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionEsportMobaStatus create() => AdditionEsportMobaStatus._();
  AdditionEsportMobaStatus createEmptyInstance() => create();
  static $pb.PbList<AdditionEsportMobaStatus> createRepeated() =>
      $pb.PbList<AdditionEsportMobaStatus>();
  @$core.pragma('dart2js:noInline')
  static AdditionEsportMobaStatus getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionEsportMobaStatus>(create);
  static AdditionEsportMobaStatus? _defaultInstance;

  /// 文案类
  @$pb.TagNumber(1)
  $core.List<AdditionEsportMobaStatusDesc> get additionEsportMobaStatusDesc =>
      $_getList(0);

  /// 比赛状态文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 比赛状态状态
  @$pb.TagNumber(3)
  $core.int get status => $_getIZ(2);
  @$pb.TagNumber(3)
  set status($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => clearField(3);

  /// 日间色值
  @$pb.TagNumber(4)
  $core.String get color => $_getSZ(3);
  @$pb.TagNumber(4)
  set color($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasColor() => $_has(3);
  @$pb.TagNumber(4)
  void clearColor() => clearField(4);

  /// 夜间色值
  @$pb.TagNumber(5)
  $core.String get nightColor => $_getSZ(4);
  @$pb.TagNumber(5)
  set nightColor($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasNightColor() => $_has(4);
  @$pb.TagNumber(5)
  void clearNightColor() => clearField(5);
}

/// 动态-附加卡-电竞卡-moba类-比赛信息-文案类
class AdditionEsportMobaStatusDesc extends $pb.GeneratedMessage {
  factory AdditionEsportMobaStatusDesc({
    $core.String? title,
    $core.String? color,
    $core.String? nightColor,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (color != null) {
      $result.color = color;
    }
    if (nightColor != null) {
      $result.nightColor = nightColor;
    }
    return $result;
  }
  AdditionEsportMobaStatusDesc._() : super();
  factory AdditionEsportMobaStatusDesc.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionEsportMobaStatusDesc.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionEsportMobaStatusDesc',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'color')
    ..aOS(3, _omitFieldNames ? '' : 'nightColor')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionEsportMobaStatusDesc clone() =>
      AdditionEsportMobaStatusDesc()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionEsportMobaStatusDesc copyWith(
          void Function(AdditionEsportMobaStatusDesc) updates) =>
      super.copyWith(
              (message) => updates(message as AdditionEsportMobaStatusDesc))
          as AdditionEsportMobaStatusDesc;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionEsportMobaStatusDesc create() =>
      AdditionEsportMobaStatusDesc._();
  AdditionEsportMobaStatusDesc createEmptyInstance() => create();
  static $pb.PbList<AdditionEsportMobaStatusDesc> createRepeated() =>
      $pb.PbList<AdditionEsportMobaStatusDesc>();
  @$core.pragma('dart2js:noInline')
  static AdditionEsportMobaStatusDesc getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionEsportMobaStatusDesc>(create);
  static AdditionEsportMobaStatusDesc? _defaultInstance;

  /// 文案
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 日间色值
  @$pb.TagNumber(2)
  $core.String get color => $_getSZ(1);
  @$pb.TagNumber(2)
  set color($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasColor() => $_has(1);
  @$pb.TagNumber(2)
  void clearColor() => clearField(2);

  /// 夜间色值
  @$pb.TagNumber(3)
  $core.String get nightColor => $_getSZ(2);
  @$pb.TagNumber(3)
  set nightColor($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasNightColor() => $_has(2);
  @$pb.TagNumber(3)
  void clearNightColor() => clearField(3);
}

/// 动态-附加卡-商品卡
class AdditionGoods extends $pb.GeneratedMessage {
  factory AdditionGoods({
    $core.String? rcmdDesc,
    $core.Iterable<GoodsItem>? goodsItems,
    $core.String? cardType,
    $core.String? icon,
    $core.String? uri,
    $core.int? sourceType,
    $core.int? jumpType,
    $core.String? appName,
    $core.String? adMarkIcon,
  }) {
    final $result = create();
    if (rcmdDesc != null) {
      $result.rcmdDesc = rcmdDesc;
    }
    if (goodsItems != null) {
      $result.goodsItems.addAll(goodsItems);
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (sourceType != null) {
      $result.sourceType = sourceType;
    }
    if (jumpType != null) {
      $result.jumpType = jumpType;
    }
    if (appName != null) {
      $result.appName = appName;
    }
    if (adMarkIcon != null) {
      $result.adMarkIcon = adMarkIcon;
    }
    return $result;
  }
  AdditionGoods._() : super();
  factory AdditionGoods.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionGoods.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionGoods',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'rcmdDesc')
    ..pc<GoodsItem>(2, _omitFieldNames ? '' : 'goodsItems', $pb.PbFieldType.PM,
        subBuilder: GoodsItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'cardType')
    ..aOS(4, _omitFieldNames ? '' : 'icon')
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'sourceType', $pb.PbFieldType.O3)
    ..a<$core.int>(7, _omitFieldNames ? '' : 'jumpType', $pb.PbFieldType.O3)
    ..aOS(8, _omitFieldNames ? '' : 'appName')
    ..aOS(9, _omitFieldNames ? '' : 'adMarkIcon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionGoods clone() => AdditionGoods()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionGoods copyWith(void Function(AdditionGoods) updates) =>
      super.copyWith((message) => updates(message as AdditionGoods))
          as AdditionGoods;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionGoods create() => AdditionGoods._();
  AdditionGoods createEmptyInstance() => create();
  static $pb.PbList<AdditionGoods> createRepeated() =>
      $pb.PbList<AdditionGoods>();
  @$core.pragma('dart2js:noInline')
  static AdditionGoods getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionGoods>(create);
  static AdditionGoods? _defaultInstance;

  /// 推荐文案
  @$pb.TagNumber(1)
  $core.String get rcmdDesc => $_getSZ(0);
  @$pb.TagNumber(1)
  set rcmdDesc($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRcmdDesc() => $_has(0);
  @$pb.TagNumber(1)
  void clearRcmdDesc() => clearField(1);

  /// 商品信息
  @$pb.TagNumber(2)
  $core.List<GoodsItem> get goodsItems => $_getList(1);

  /// 附加卡类型
  @$pb.TagNumber(3)
  $core.String get cardType => $_getSZ(2);
  @$pb.TagNumber(3)
  set cardType($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCardType() => $_has(2);
  @$pb.TagNumber(3)
  void clearCardType() => clearField(3);

  /// 头部icon
  @$pb.TagNumber(4)
  $core.String get icon => $_getSZ(3);
  @$pb.TagNumber(4)
  set icon($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIcon() => $_has(3);
  @$pb.TagNumber(4)
  void clearIcon() => clearField(4);

  /// 商品附加卡整卡跳转
  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  /// 商品类型
  /// 1:淘宝 2:会员购，注：实际是获取的goods_items里面的第一个source_type
  @$pb.TagNumber(6)
  $core.int get sourceType => $_getIZ(5);
  @$pb.TagNumber(6)
  set sourceType($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasSourceType() => $_has(5);
  @$pb.TagNumber(6)
  void clearSourceType() => clearField(6);

  @$pb.TagNumber(7)
  $core.int get jumpType => $_getIZ(6);
  @$pb.TagNumber(7)
  set jumpType($core.int v) {
    $_setSignedInt32(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasJumpType() => $_has(6);
  @$pb.TagNumber(7)
  void clearJumpType() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get appName => $_getSZ(7);
  @$pb.TagNumber(8)
  set appName($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasAppName() => $_has(7);
  @$pb.TagNumber(8)
  void clearAppName() => clearField(8);

  @$pb.TagNumber(9)
  $core.String get adMarkIcon => $_getSZ(8);
  @$pb.TagNumber(9)
  set adMarkIcon($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasAdMarkIcon() => $_has(8);
  @$pb.TagNumber(9)
  void clearAdMarkIcon() => clearField(9);
}

/// 动态-附加卡-直播附加卡
class AdditionLiveRoom extends $pb.GeneratedMessage {
  factory AdditionLiveRoom({
    $core.String? title,
    $core.String? cover,
    VideoBadge? badge,
    CoverIconWithText? descTextUpper,
    $core.String? descTextLower,
    $core.String? uri,
    $core.String? cardType,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (descTextUpper != null) {
      $result.descTextUpper = descTextUpper;
    }
    if (descTextLower != null) {
      $result.descTextLower = descTextLower;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  AdditionLiveRoom._() : super();
  factory AdditionLiveRoom.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionLiveRoom.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionLiveRoom',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOM<VideoBadge>(3, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..aOM<CoverIconWithText>(4, _omitFieldNames ? '' : 'descTextUpper',
        subBuilder: CoverIconWithText.create)
    ..aOS(5, _omitFieldNames ? '' : 'descTextLower')
    ..aOS(6, _omitFieldNames ? '' : 'uri')
    ..aOS(7, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionLiveRoom clone() => AdditionLiveRoom()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionLiveRoom copyWith(void Function(AdditionLiveRoom) updates) =>
      super.copyWith((message) => updates(message as AdditionLiveRoom))
          as AdditionLiveRoom;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionLiveRoom create() => AdditionLiveRoom._();
  AdditionLiveRoom createEmptyInstance() => create();
  static $pb.PbList<AdditionLiveRoom> createRepeated() =>
      $pb.PbList<AdditionLiveRoom>();
  @$core.pragma('dart2js:noInline')
  static AdditionLiveRoom getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionLiveRoom>(create);
  static AdditionLiveRoom? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  @$pb.TagNumber(3)
  VideoBadge get badge => $_getN(2);
  @$pb.TagNumber(3)
  set badge(VideoBadge v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasBadge() => $_has(2);
  @$pb.TagNumber(3)
  void clearBadge() => clearField(3);
  @$pb.TagNumber(3)
  VideoBadge ensureBadge() => $_ensure(2);

  @$pb.TagNumber(4)
  CoverIconWithText get descTextUpper => $_getN(3);
  @$pb.TagNumber(4)
  set descTextUpper(CoverIconWithText v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescTextUpper() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescTextUpper() => clearField(4);
  @$pb.TagNumber(4)
  CoverIconWithText ensureDescTextUpper() => $_ensure(3);

  @$pb.TagNumber(5)
  $core.String get descTextLower => $_getSZ(4);
  @$pb.TagNumber(5)
  set descTextLower($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescTextLower() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescTextLower() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get uri => $_getSZ(5);
  @$pb.TagNumber(6)
  set uri($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUri() => $_has(5);
  @$pb.TagNumber(6)
  void clearUri() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get cardType => $_getSZ(6);
  @$pb.TagNumber(7)
  set cardType($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasCardType() => $_has(6);
  @$pb.TagNumber(7)
  void clearCardType() => clearField(7);
}

/// 动态-附加卡-UGC视频附加卡
class AdditionUgc extends $pb.GeneratedMessage {
  factory AdditionUgc({
    $core.String? headText,
    $core.String? title,
    $core.String? cover,
    $core.String? descText1,
    $core.String? descText2,
    $core.String? uri,
    $core.String? duration,
    $core.bool? lineFeed,
    $core.String? cardType,
  }) {
    final $result = create();
    if (headText != null) {
      $result.headText = headText;
    }
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (lineFeed != null) {
      $result.lineFeed = lineFeed;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  AdditionUgc._() : super();
  factory AdditionUgc.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionUgc.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionUgc',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'headText')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'cover')
    ..aOS(4, _omitFieldNames ? '' : 'descText1', protoName: 'desc_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'descText2', protoName: 'desc_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'uri')
    ..aOS(7, _omitFieldNames ? '' : 'duration')
    ..aOB(8, _omitFieldNames ? '' : 'lineFeed')
    ..aOS(9, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionUgc clone() => AdditionUgc()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionUgc copyWith(void Function(AdditionUgc) updates) =>
      super.copyWith((message) => updates(message as AdditionUgc))
          as AdditionUgc;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionUgc create() => AdditionUgc._();
  AdditionUgc createEmptyInstance() => create();
  static $pb.PbList<AdditionUgc> createRepeated() => $pb.PbList<AdditionUgc>();
  @$core.pragma('dart2js:noInline')
  static AdditionUgc getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionUgc>(create);
  static AdditionUgc? _defaultInstance;

  /// 说明文案
  @$pb.TagNumber(1)
  $core.String get headText => $_getSZ(0);
  @$pb.TagNumber(1)
  set headText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHeadText() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeadText() => clearField(1);

  /// 稿件标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 封面
  @$pb.TagNumber(3)
  $core.String get cover => $_getSZ(2);
  @$pb.TagNumber(3)
  set cover($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCover() => $_has(2);
  @$pb.TagNumber(3)
  void clearCover() => clearField(3);

  /// 描述文字1
  @$pb.TagNumber(4)
  $core.String get descText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set descText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescText1() => clearField(4);

  /// 描述文字2
  @$pb.TagNumber(5)
  $core.String get descText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText2() => clearField(5);

  /// 接秒开
  @$pb.TagNumber(6)
  $core.String get uri => $_getSZ(5);
  @$pb.TagNumber(6)
  set uri($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUri() => $_has(5);
  @$pb.TagNumber(6)
  void clearUri() => clearField(6);

  /// 时长
  @$pb.TagNumber(7)
  $core.String get duration => $_getSZ(6);
  @$pb.TagNumber(7)
  set duration($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDuration() => $_has(6);
  @$pb.TagNumber(7)
  void clearDuration() => clearField(7);

  /// 标题支持换行-标题支持单行和双行，本期不支持填充up昵称，支持双行展示，字段默认为true
  @$pb.TagNumber(8)
  $core.bool get lineFeed => $_getBF(7);
  @$pb.TagNumber(8)
  set lineFeed($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasLineFeed() => $_has(7);
  @$pb.TagNumber(8)
  void clearLineFeed() => clearField(8);

  /// 附加卡类型
  @$pb.TagNumber(9)
  $core.String get cardType => $_getSZ(8);
  @$pb.TagNumber(9)
  set cardType($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasCardType() => $_has(8);
  @$pb.TagNumber(9)
  void clearCardType() => clearField(9);
}

/// up主预约发布卡
class AdditionUP extends $pb.GeneratedMessage {
  factory AdditionUP({
    $core.String? title,
    HighlightText? descText1,
    $core.String? descText2,
    $core.String? url,
    AdditionalButton? button,
    $core.String? cardType,
    $fixnum.Int64? reserveTotal,
    AdditionalActSkin? actSkin,
    $fixnum.Int64? rid,
    $core.int? lotteryType,
    HighlightText? descText3,
    $fixnum.Int64? upMid,
    AdditionUserInfo? userInfo,
    $core.String? dynamicId,
    $core.bool? showText2,
    $fixnum.Int64? dynType,
    $core.String? businessId,
    $core.String? badgeText,
    $core.bool? isPremiere,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (url != null) {
      $result.url = url;
    }
    if (button != null) {
      $result.button = button;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    if (reserveTotal != null) {
      $result.reserveTotal = reserveTotal;
    }
    if (actSkin != null) {
      $result.actSkin = actSkin;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (lotteryType != null) {
      $result.lotteryType = lotteryType;
    }
    if (descText3 != null) {
      $result.descText3 = descText3;
    }
    if (upMid != null) {
      $result.upMid = upMid;
    }
    if (userInfo != null) {
      $result.userInfo = userInfo;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (showText2 != null) {
      $result.showText2 = showText2;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (businessId != null) {
      $result.businessId = businessId;
    }
    if (badgeText != null) {
      $result.badgeText = badgeText;
    }
    if (isPremiere != null) {
      $result.isPremiere = isPremiere;
    }
    return $result;
  }
  AdditionUP._() : super();
  factory AdditionUP.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionUP.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionUP',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<HighlightText>(2, _omitFieldNames ? '' : 'descText1',
        protoName: 'desc_text_1', subBuilder: HighlightText.create)
    ..aOS(3, _omitFieldNames ? '' : 'descText2', protoName: 'desc_text_2')
    ..aOS(4, _omitFieldNames ? '' : 'url')
    ..aOM<AdditionalButton>(5, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(6, _omitFieldNames ? '' : 'cardType')
    ..aInt64(7, _omitFieldNames ? '' : 'reserveTotal')
    ..aOM<AdditionalActSkin>(8, _omitFieldNames ? '' : 'actSkin',
        subBuilder: AdditionalActSkin.create)
    ..aInt64(9, _omitFieldNames ? '' : 'rid')
    ..a<$core.int>(10, _omitFieldNames ? '' : 'lotteryType', $pb.PbFieldType.O3)
    ..aOM<HighlightText>(11, _omitFieldNames ? '' : 'descText3',
        subBuilder: HighlightText.create)
    ..aInt64(12, _omitFieldNames ? '' : 'upMid')
    ..aOM<AdditionUserInfo>(13, _omitFieldNames ? '' : 'userInfo',
        subBuilder: AdditionUserInfo.create)
    ..aOS(14, _omitFieldNames ? '' : 'dynamicId')
    ..aOB(15, _omitFieldNames ? '' : 'showText2')
    ..aInt64(16, _omitFieldNames ? '' : 'dynType')
    ..aOS(17, _omitFieldNames ? '' : 'businessId')
    ..aOS(18, _omitFieldNames ? '' : 'badgeText')
    ..aOB(19, _omitFieldNames ? '' : 'isPremiere')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionUP clone() => AdditionUP()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionUP copyWith(void Function(AdditionUP) updates) =>
      super.copyWith((message) => updates(message as AdditionUP)) as AdditionUP;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionUP create() => AdditionUP._();
  AdditionUP createEmptyInstance() => create();
  static $pb.PbList<AdditionUP> createRepeated() => $pb.PbList<AdditionUP>();
  @$core.pragma('dart2js:noInline')
  static AdditionUP getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionUP>(create);
  static AdditionUP? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 高亮文本，描述文字1
  @$pb.TagNumber(2)
  HighlightText get descText1 => $_getN(1);
  @$pb.TagNumber(2)
  set descText1(HighlightText v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDescText1() => $_has(1);
  @$pb.TagNumber(2)
  void clearDescText1() => clearField(2);
  @$pb.TagNumber(2)
  HighlightText ensureDescText1() => $_ensure(1);

  /// 描述文字2
  @$pb.TagNumber(3)
  $core.String get descText2 => $_getSZ(2);
  @$pb.TagNumber(3)
  set descText2($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDescText2() => $_has(2);
  @$pb.TagNumber(3)
  void clearDescText2() => clearField(3);

  /// 点击跳转链接
  @$pb.TagNumber(4)
  $core.String get url => $_getSZ(3);
  @$pb.TagNumber(4)
  set url($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearUrl() => clearField(4);

  /// 按钮
  @$pb.TagNumber(5)
  AdditionalButton get button => $_getN(4);
  @$pb.TagNumber(5)
  set button(AdditionalButton v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasButton() => $_has(4);
  @$pb.TagNumber(5)
  void clearButton() => clearField(5);
  @$pb.TagNumber(5)
  AdditionalButton ensureButton() => $_ensure(4);

  /// 附加卡类型
  @$pb.TagNumber(6)
  $core.String get cardType => $_getSZ(5);
  @$pb.TagNumber(6)
  set cardType($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCardType() => $_has(5);
  @$pb.TagNumber(6)
  void clearCardType() => clearField(6);

  /// 预约人数(用于预约人数变化)
  @$pb.TagNumber(7)
  $fixnum.Int64 get reserveTotal => $_getI64(6);
  @$pb.TagNumber(7)
  set reserveTotal($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasReserveTotal() => $_has(6);
  @$pb.TagNumber(7)
  void clearReserveTotal() => clearField(7);

  /// 活动皮肤
  @$pb.TagNumber(8)
  AdditionalActSkin get actSkin => $_getN(7);
  @$pb.TagNumber(8)
  set actSkin(AdditionalActSkin v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasActSkin() => $_has(7);
  @$pb.TagNumber(8)
  void clearActSkin() => clearField(8);
  @$pb.TagNumber(8)
  AdditionalActSkin ensureActSkin() => $_ensure(7);

  /// 预约id
  @$pb.TagNumber(9)
  $fixnum.Int64 get rid => $_getI64(8);
  @$pb.TagNumber(9)
  set rid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasRid() => $_has(8);
  @$pb.TagNumber(9)
  void clearRid() => clearField(9);

  @$pb.TagNumber(10)
  $core.int get lotteryType => $_getIZ(9);
  @$pb.TagNumber(10)
  set lotteryType($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasLotteryType() => $_has(9);
  @$pb.TagNumber(10)
  void clearLotteryType() => clearField(10);

  @$pb.TagNumber(11)
  HighlightText get descText3 => $_getN(10);
  @$pb.TagNumber(11)
  set descText3(HighlightText v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasDescText3() => $_has(10);
  @$pb.TagNumber(11)
  void clearDescText3() => clearField(11);
  @$pb.TagNumber(11)
  HighlightText ensureDescText3() => $_ensure(10);

  @$pb.TagNumber(12)
  $fixnum.Int64 get upMid => $_getI64(11);
  @$pb.TagNumber(12)
  set upMid($fixnum.Int64 v) {
    $_setInt64(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasUpMid() => $_has(11);
  @$pb.TagNumber(12)
  void clearUpMid() => clearField(12);

  @$pb.TagNumber(13)
  AdditionUserInfo get userInfo => $_getN(12);
  @$pb.TagNumber(13)
  set userInfo(AdditionUserInfo v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasUserInfo() => $_has(12);
  @$pb.TagNumber(13)
  void clearUserInfo() => clearField(13);
  @$pb.TagNumber(13)
  AdditionUserInfo ensureUserInfo() => $_ensure(12);

  @$pb.TagNumber(14)
  $core.String get dynamicId => $_getSZ(13);
  @$pb.TagNumber(14)
  set dynamicId($core.String v) {
    $_setString(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasDynamicId() => $_has(13);
  @$pb.TagNumber(14)
  void clearDynamicId() => clearField(14);

  @$pb.TagNumber(15)
  $core.bool get showText2 => $_getBF(14);
  @$pb.TagNumber(15)
  set showText2($core.bool v) {
    $_setBool(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasShowText2() => $_has(14);
  @$pb.TagNumber(15)
  void clearShowText2() => clearField(15);

  @$pb.TagNumber(16)
  $fixnum.Int64 get dynType => $_getI64(15);
  @$pb.TagNumber(16)
  set dynType($fixnum.Int64 v) {
    $_setInt64(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasDynType() => $_has(15);
  @$pb.TagNumber(16)
  void clearDynType() => clearField(16);

  @$pb.TagNumber(17)
  $core.String get businessId => $_getSZ(16);
  @$pb.TagNumber(17)
  set businessId($core.String v) {
    $_setString(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasBusinessId() => $_has(16);
  @$pb.TagNumber(17)
  void clearBusinessId() => clearField(17);

  @$pb.TagNumber(18)
  $core.String get badgeText => $_getSZ(17);
  @$pb.TagNumber(18)
  set badgeText($core.String v) {
    $_setString(17, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasBadgeText() => $_has(17);
  @$pb.TagNumber(18)
  void clearBadgeText() => clearField(18);

  @$pb.TagNumber(19)
  $core.bool get isPremiere => $_getBF(18);
  @$pb.TagNumber(19)
  set isPremiere($core.bool v) {
    $_setBool(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasIsPremiere() => $_has(18);
  @$pb.TagNumber(19)
  void clearIsPremiere() => clearField(19);
}

class AdditionUserInfo extends $pb.GeneratedMessage {
  factory AdditionUserInfo({
    $core.String? name,
    $core.String? face,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (face != null) {
      $result.face = face;
    }
    return $result;
  }
  AdditionUserInfo._() : super();
  factory AdditionUserInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionUserInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionUserInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'name')
    ..aOS(2, _omitFieldNames ? '' : 'face')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionUserInfo clone() => AdditionUserInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionUserInfo copyWith(void Function(AdditionUserInfo) updates) =>
      super.copyWith((message) => updates(message as AdditionUserInfo))
          as AdditionUserInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionUserInfo create() => AdditionUserInfo._();
  AdditionUserInfo createEmptyInstance() => create();
  static $pb.PbList<AdditionUserInfo> createRepeated() =>
      $pb.PbList<AdditionUserInfo>();
  @$core.pragma('dart2js:noInline')
  static AdditionUserInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionUserInfo>(create);
  static AdditionUserInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get face => $_getSZ(1);
  @$pb.TagNumber(2)
  set face($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFace() => $_has(1);
  @$pb.TagNumber(2)
  void clearFace() => clearField(2);
}

/// 动态-附加卡-投票
class AdditionVote extends $pb.GeneratedMessage {
  factory AdditionVote({
    $core.String? imageUrl,
    $core.String? title,
    $core.String? text1,
    $core.String? buttonText,
    $core.String? url,
  }) {
    final $result = create();
    if (imageUrl != null) {
      $result.imageUrl = imageUrl;
    }
    if (title != null) {
      $result.title = title;
    }
    if (text1 != null) {
      $result.text1 = text1;
    }
    if (buttonText != null) {
      $result.buttonText = buttonText;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  AdditionVote._() : super();
  factory AdditionVote.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVote.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVote',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'imageUrl')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'text1', protoName: 'text_1')
    ..aOS(4, _omitFieldNames ? '' : 'buttonText')
    ..aOS(5, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVote clone() => AdditionVote()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVote copyWith(void Function(AdditionVote) updates) =>
      super.copyWith((message) => updates(message as AdditionVote))
          as AdditionVote;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVote create() => AdditionVote._();
  AdditionVote createEmptyInstance() => create();
  static $pb.PbList<AdditionVote> createRepeated() =>
      $pb.PbList<AdditionVote>();
  @$core.pragma('dart2js:noInline')
  static AdditionVote getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVote>(create);
  static AdditionVote? _defaultInstance;

  /// 封面图
  @$pb.TagNumber(1)
  $core.String get imageUrl => $_getSZ(0);
  @$pb.TagNumber(1)
  set imageUrl($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasImageUrl() => $_has(0);
  @$pb.TagNumber(1)
  void clearImageUrl() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 展示项1
  @$pb.TagNumber(3)
  $core.String get text1 => $_getSZ(2);
  @$pb.TagNumber(3)
  set text1($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasText1() => $_has(2);
  @$pb.TagNumber(3)
  void clearText1() => clearField(3);

  /// button文案
  @$pb.TagNumber(4)
  $core.String get buttonText => $_getSZ(3);
  @$pb.TagNumber(4)
  set buttonText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasButtonText() => $_has(3);
  @$pb.TagNumber(4)
  void clearButtonText() => clearField(4);

  /// 点击跳转链接
  @$pb.TagNumber(5)
  $core.String get url => $_getSZ(4);
  @$pb.TagNumber(5)
  set url($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearUrl() => clearField(5);
}

enum AdditionVote2_Item {
  additionVoteWord,
  additionVotePic,
  additionVoteDefaule,
  notSet
}

/// 动态模块-投票
class AdditionVote2 extends $pb.GeneratedMessage {
  factory AdditionVote2({
    AdditionVoteType? additionVoteType,
    $fixnum.Int64? voteId,
    $core.String? title,
    $core.String? label,
    $fixnum.Int64? deadline,
    $core.String? openText,
    $core.String? closeText,
    $core.String? votedText,
    AdditionVoteState? state,
    AdditionVoteWord? additionVoteWord,
    AdditionVotePic? additionVotePic,
    AdditionVoteDefaule? additionVoteDefaule,
    $core.int? bizType,
    $fixnum.Int64? total,
    $core.String? cardType,
    $core.String? tips,
    $core.String? uri,
    $core.bool? isVoted,
    $core.int? choiceCnt,
    $core.bool? defauleSelectShare,
  }) {
    final $result = create();
    if (additionVoteType != null) {
      $result.additionVoteType = additionVoteType;
    }
    if (voteId != null) {
      $result.voteId = voteId;
    }
    if (title != null) {
      $result.title = title;
    }
    if (label != null) {
      $result.label = label;
    }
    if (deadline != null) {
      $result.deadline = deadline;
    }
    if (openText != null) {
      $result.openText = openText;
    }
    if (closeText != null) {
      $result.closeText = closeText;
    }
    if (votedText != null) {
      $result.votedText = votedText;
    }
    if (state != null) {
      $result.state = state;
    }
    if (additionVoteWord != null) {
      $result.additionVoteWord = additionVoteWord;
    }
    if (additionVotePic != null) {
      $result.additionVotePic = additionVotePic;
    }
    if (additionVoteDefaule != null) {
      $result.additionVoteDefaule = additionVoteDefaule;
    }
    if (bizType != null) {
      $result.bizType = bizType;
    }
    if (total != null) {
      $result.total = total;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    if (tips != null) {
      $result.tips = tips;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (isVoted != null) {
      $result.isVoted = isVoted;
    }
    if (choiceCnt != null) {
      $result.choiceCnt = choiceCnt;
    }
    if (defauleSelectShare != null) {
      $result.defauleSelectShare = defauleSelectShare;
    }
    return $result;
  }
  AdditionVote2._() : super();
  factory AdditionVote2.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVote2.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, AdditionVote2_Item>
      _AdditionVote2_ItemByTag = {
    10: AdditionVote2_Item.additionVoteWord,
    11: AdditionVote2_Item.additionVotePic,
    12: AdditionVote2_Item.additionVoteDefaule,
    0: AdditionVote2_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVote2',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [10, 11, 12])
    ..e<AdditionVoteType>(
        1, _omitFieldNames ? '' : 'additionVoteType', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionVoteType.addition_vote_type_none,
        valueOf: AdditionVoteType.valueOf,
        enumValues: AdditionVoteType.values)
    ..aInt64(2, _omitFieldNames ? '' : 'voteId')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'label')
    ..aInt64(5, _omitFieldNames ? '' : 'deadline')
    ..aOS(6, _omitFieldNames ? '' : 'openText')
    ..aOS(7, _omitFieldNames ? '' : 'closeText')
    ..aOS(8, _omitFieldNames ? '' : 'votedText')
    ..e<AdditionVoteState>(
        9, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionVoteState.addition_vote_state_none,
        valueOf: AdditionVoteState.valueOf,
        enumValues: AdditionVoteState.values)
    ..aOM<AdditionVoteWord>(10, _omitFieldNames ? '' : 'additionVoteWord',
        subBuilder: AdditionVoteWord.create)
    ..aOM<AdditionVotePic>(11, _omitFieldNames ? '' : 'additionVotePic',
        subBuilder: AdditionVotePic.create)
    ..aOM<AdditionVoteDefaule>(12, _omitFieldNames ? '' : 'additionVoteDefaule',
        subBuilder: AdditionVoteDefaule.create)
    ..a<$core.int>(13, _omitFieldNames ? '' : 'bizType', $pb.PbFieldType.O3)
    ..aInt64(14, _omitFieldNames ? '' : 'total')
    ..aOS(15, _omitFieldNames ? '' : 'cardType')
    ..aOS(16, _omitFieldNames ? '' : 'tips')
    ..aOS(17, _omitFieldNames ? '' : 'uri')
    ..aOB(18, _omitFieldNames ? '' : 'isVoted')
    ..a<$core.int>(19, _omitFieldNames ? '' : 'choiceCnt', $pb.PbFieldType.O3)
    ..aOB(20, _omitFieldNames ? '' : 'defauleSelectShare')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVote2 clone() => AdditionVote2()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVote2 copyWith(void Function(AdditionVote2) updates) =>
      super.copyWith((message) => updates(message as AdditionVote2))
          as AdditionVote2;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVote2 create() => AdditionVote2._();
  AdditionVote2 createEmptyInstance() => create();
  static $pb.PbList<AdditionVote2> createRepeated() =>
      $pb.PbList<AdditionVote2>();
  @$core.pragma('dart2js:noInline')
  static AdditionVote2 getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVote2>(create);
  static AdditionVote2? _defaultInstance;

  AdditionVote2_Item whichItem() => _AdditionVote2_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 投票类型
  @$pb.TagNumber(1)
  AdditionVoteType get additionVoteType => $_getN(0);
  @$pb.TagNumber(1)
  set additionVoteType(AdditionVoteType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAdditionVoteType() => $_has(0);
  @$pb.TagNumber(1)
  void clearAdditionVoteType() => clearField(1);

  /// 投票ID
  @$pb.TagNumber(2)
  $fixnum.Int64 get voteId => $_getI64(1);
  @$pb.TagNumber(2)
  set voteId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasVoteId() => $_has(1);
  @$pb.TagNumber(2)
  void clearVoteId() => clearField(2);

  /// 标题
  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  /// 已过期： xxx人参与· 投票已过期。button 展示去查看
  /// 未过期： xxx人参与· 剩xx天xx时xx分。button展示去投票
  @$pb.TagNumber(4)
  $core.String get label => $_getSZ(3);
  @$pb.TagNumber(4)
  set label($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLabel() => $_has(3);
  @$pb.TagNumber(4)
  void clearLabel() => clearField(4);

  /// 剩余时间
  @$pb.TagNumber(5)
  $fixnum.Int64 get deadline => $_getI64(4);
  @$pb.TagNumber(5)
  set deadline($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDeadline() => $_has(4);
  @$pb.TagNumber(5)
  void clearDeadline() => clearField(5);

  /// 生效文案
  @$pb.TagNumber(6)
  $core.String get openText => $_getSZ(5);
  @$pb.TagNumber(6)
  set openText($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasOpenText() => $_has(5);
  @$pb.TagNumber(6)
  void clearOpenText() => clearField(6);

  /// 过期文案
  @$pb.TagNumber(7)
  $core.String get closeText => $_getSZ(6);
  @$pb.TagNumber(7)
  set closeText($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasCloseText() => $_has(6);
  @$pb.TagNumber(7)
  void clearCloseText() => clearField(7);

  /// 已投票
  @$pb.TagNumber(8)
  $core.String get votedText => $_getSZ(7);
  @$pb.TagNumber(8)
  set votedText($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasVotedText() => $_has(7);
  @$pb.TagNumber(8)
  void clearVotedText() => clearField(8);

  /// 投票状态
  @$pb.TagNumber(9)
  AdditionVoteState get state => $_getN(8);
  @$pb.TagNumber(9)
  set state(AdditionVoteState v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasState() => $_has(8);
  @$pb.TagNumber(9)
  void clearState() => clearField(9);

  @$pb.TagNumber(10)
  AdditionVoteWord get additionVoteWord => $_getN(9);
  @$pb.TagNumber(10)
  set additionVoteWord(AdditionVoteWord v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAdditionVoteWord() => $_has(9);
  @$pb.TagNumber(10)
  void clearAdditionVoteWord() => clearField(10);
  @$pb.TagNumber(10)
  AdditionVoteWord ensureAdditionVoteWord() => $_ensure(9);

  @$pb.TagNumber(11)
  AdditionVotePic get additionVotePic => $_getN(10);
  @$pb.TagNumber(11)
  set additionVotePic(AdditionVotePic v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasAdditionVotePic() => $_has(10);
  @$pb.TagNumber(11)
  void clearAdditionVotePic() => clearField(11);
  @$pb.TagNumber(11)
  AdditionVotePic ensureAdditionVotePic() => $_ensure(10);

  @$pb.TagNumber(12)
  AdditionVoteDefaule get additionVoteDefaule => $_getN(11);
  @$pb.TagNumber(12)
  set additionVoteDefaule(AdditionVoteDefaule v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasAdditionVoteDefaule() => $_has(11);
  @$pb.TagNumber(12)
  void clearAdditionVoteDefaule() => clearField(12);
  @$pb.TagNumber(12)
  AdditionVoteDefaule ensureAdditionVoteDefaule() => $_ensure(11);

  /// 业务类型
  /// 0:动态投票 1:话题h5组件
  @$pb.TagNumber(13)
  $core.int get bizType => $_getIZ(12);
  @$pb.TagNumber(13)
  set bizType($core.int v) {
    $_setSignedInt32(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasBizType() => $_has(12);
  @$pb.TagNumber(13)
  void clearBizType() => clearField(13);

  /// 投票总人数
  @$pb.TagNumber(14)
  $fixnum.Int64 get total => $_getI64(13);
  @$pb.TagNumber(14)
  set total($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasTotal() => $_has(13);
  @$pb.TagNumber(14)
  void clearTotal() => clearField(14);

  /// 附加卡类型
  @$pb.TagNumber(15)
  $core.String get cardType => $_getSZ(14);
  @$pb.TagNumber(15)
  set cardType($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasCardType() => $_has(14);
  @$pb.TagNumber(15)
  void clearCardType() => clearField(15);

  /// 异常提示
  @$pb.TagNumber(16)
  $core.String get tips => $_getSZ(15);
  @$pb.TagNumber(16)
  set tips($core.String v) {
    $_setString(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasTips() => $_has(15);
  @$pb.TagNumber(16)
  void clearTips() => clearField(16);

  /// 跳转地址
  @$pb.TagNumber(17)
  $core.String get uri => $_getSZ(16);
  @$pb.TagNumber(17)
  set uri($core.String v) {
    $_setString(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasUri() => $_has(16);
  @$pb.TagNumber(17)
  void clearUri() => clearField(17);

  /// 是否投票
  @$pb.TagNumber(18)
  $core.bool get isVoted => $_getBF(17);
  @$pb.TagNumber(18)
  set isVoted($core.bool v) {
    $_setBool(17, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasIsVoted() => $_has(17);
  @$pb.TagNumber(18)
  void clearIsVoted() => clearField(18);

  /// 投票最多多选个数，单选为1
  @$pb.TagNumber(19)
  $core.int get choiceCnt => $_getIZ(18);
  @$pb.TagNumber(19)
  set choiceCnt($core.int v) {
    $_setSignedInt32(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasChoiceCnt() => $_has(18);
  @$pb.TagNumber(19)
  void clearChoiceCnt() => clearField(19);

  /// 是否默认选中分享到动态
  @$pb.TagNumber(20)
  $core.bool get defauleSelectShare => $_getBF(19);
  @$pb.TagNumber(20)
  set defauleSelectShare($core.bool v) {
    $_setBool(19, v);
  }

  @$pb.TagNumber(20)
  $core.bool hasDefauleSelectShare() => $_has(19);
  @$pb.TagNumber(20)
  void clearDefauleSelectShare() => clearField(20);
}

/// 外露投票
class AdditionVoteDefaule extends $pb.GeneratedMessage {
  factory AdditionVoteDefaule({
    $core.Iterable<$core.String>? cover,
  }) {
    final $result = create();
    if (cover != null) {
      $result.cover.addAll(cover);
    }
    return $result;
  }
  AdditionVoteDefaule._() : super();
  factory AdditionVoteDefaule.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVoteDefaule.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVoteDefaule',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pPS(1, _omitFieldNames ? '' : 'cover')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVoteDefaule clone() => AdditionVoteDefaule()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVoteDefaule copyWith(void Function(AdditionVoteDefaule) updates) =>
      super.copyWith((message) => updates(message as AdditionVoteDefaule))
          as AdditionVoteDefaule;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVoteDefaule create() => AdditionVoteDefaule._();
  AdditionVoteDefaule createEmptyInstance() => create();
  static $pb.PbList<AdditionVoteDefaule> createRepeated() =>
      $pb.PbList<AdditionVoteDefaule>();
  @$core.pragma('dart2js:noInline')
  static AdditionVoteDefaule getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVoteDefaule>(create);
  static AdditionVoteDefaule? _defaultInstance;

  /// 图片 多张
  @$pb.TagNumber(1)
  $core.List<$core.String> get cover => $_getList(0);
}

/// 外露图片类型
class AdditionVotePic extends $pb.GeneratedMessage {
  factory AdditionVotePic({
    $core.Iterable<AdditionVotePicItem>? item,
  }) {
    final $result = create();
    if (item != null) {
      $result.item.addAll(item);
    }
    return $result;
  }
  AdditionVotePic._() : super();
  factory AdditionVotePic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVotePic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVotePic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<AdditionVotePicItem>(
        1, _omitFieldNames ? '' : 'item', $pb.PbFieldType.PM,
        subBuilder: AdditionVotePicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVotePic clone() => AdditionVotePic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVotePic copyWith(void Function(AdditionVotePic) updates) =>
      super.copyWith((message) => updates(message as AdditionVotePic))
          as AdditionVotePic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVotePic create() => AdditionVotePic._();
  AdditionVotePic createEmptyInstance() => create();
  static $pb.PbList<AdditionVotePic> createRepeated() =>
      $pb.PbList<AdditionVotePic>();
  @$core.pragma('dart2js:noInline')
  static AdditionVotePic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVotePic>(create);
  static AdditionVotePic? _defaultInstance;

  /// 图片投票详情
  @$pb.TagNumber(1)
  $core.List<AdditionVotePicItem> get item => $_getList(0);
}

/// 图片投票详情
class AdditionVotePicItem extends $pb.GeneratedMessage {
  factory AdditionVotePicItem({
    $core.int? optIdx,
    $core.String? cover,
    $core.bool? isVote,
    $core.int? total,
    $core.double? persent,
    $core.String? title,
    $core.bool? isMaxOption,
  }) {
    final $result = create();
    if (optIdx != null) {
      $result.optIdx = optIdx;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (isVote != null) {
      $result.isVote = isVote;
    }
    if (total != null) {
      $result.total = total;
    }
    if (persent != null) {
      $result.persent = persent;
    }
    if (title != null) {
      $result.title = title;
    }
    if (isMaxOption != null) {
      $result.isMaxOption = isMaxOption;
    }
    return $result;
  }
  AdditionVotePicItem._() : super();
  factory AdditionVotePicItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVotePicItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVotePicItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'optIdx', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOB(3, _omitFieldNames ? '' : 'isVote')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'total', $pb.PbFieldType.O3)
    ..a<$core.double>(5, _omitFieldNames ? '' : 'persent', $pb.PbFieldType.OD)
    ..aOS(6, _omitFieldNames ? '' : 'title')
    ..aOB(7, _omitFieldNames ? '' : 'isMaxOption')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVotePicItem clone() => AdditionVotePicItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVotePicItem copyWith(void Function(AdditionVotePicItem) updates) =>
      super.copyWith((message) => updates(message as AdditionVotePicItem))
          as AdditionVotePicItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVotePicItem create() => AdditionVotePicItem._();
  AdditionVotePicItem createEmptyInstance() => create();
  static $pb.PbList<AdditionVotePicItem> createRepeated() =>
      $pb.PbList<AdditionVotePicItem>();
  @$core.pragma('dart2js:noInline')
  static AdditionVotePicItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVotePicItem>(create);
  static AdditionVotePicItem? _defaultInstance;

  /// 选项索引，从1开始
  @$pb.TagNumber(1)
  $core.int get optIdx => $_getIZ(0);
  @$pb.TagNumber(1)
  set optIdx($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOptIdx() => $_has(0);
  @$pb.TagNumber(1)
  void clearOptIdx() => clearField(1);

  /// 图片
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 选中状态
  @$pb.TagNumber(3)
  $core.bool get isVote => $_getBF(2);
  @$pb.TagNumber(3)
  set isVote($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIsVote() => $_has(2);
  @$pb.TagNumber(3)
  void clearIsVote() => clearField(3);

  /// 人数
  @$pb.TagNumber(4)
  $core.int get total => $_getIZ(3);
  @$pb.TagNumber(4)
  set total($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTotal() => $_has(3);
  @$pb.TagNumber(4)
  void clearTotal() => clearField(4);

  /// 占比
  @$pb.TagNumber(5)
  $core.double get persent => $_getN(4);
  @$pb.TagNumber(5)
  set persent($core.double v) {
    $_setDouble(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPersent() => $_has(4);
  @$pb.TagNumber(5)
  void clearPersent() => clearField(5);

  /// 标题文案
  @$pb.TagNumber(6)
  $core.String get title => $_getSZ(5);
  @$pb.TagNumber(6)
  set title($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearTitle() => clearField(6);

  /// 是否投票人数最多的选项
  @$pb.TagNumber(7)
  $core.bool get isMaxOption => $_getBF(6);
  @$pb.TagNumber(7)
  set isMaxOption($core.bool v) {
    $_setBool(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasIsMaxOption() => $_has(6);
  @$pb.TagNumber(7)
  void clearIsMaxOption() => clearField(7);
}

/// 外露文字类型
class AdditionVoteWord extends $pb.GeneratedMessage {
  factory AdditionVoteWord({
    $core.Iterable<AdditionVoteWordItem>? item,
  }) {
    final $result = create();
    if (item != null) {
      $result.item.addAll(item);
    }
    return $result;
  }
  AdditionVoteWord._() : super();
  factory AdditionVoteWord.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVoteWord.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVoteWord',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<AdditionVoteWordItem>(
        1, _omitFieldNames ? '' : 'item', $pb.PbFieldType.PM,
        subBuilder: AdditionVoteWordItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVoteWord clone() => AdditionVoteWord()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVoteWord copyWith(void Function(AdditionVoteWord) updates) =>
      super.copyWith((message) => updates(message as AdditionVoteWord))
          as AdditionVoteWord;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVoteWord create() => AdditionVoteWord._();
  AdditionVoteWord createEmptyInstance() => create();
  static $pb.PbList<AdditionVoteWord> createRepeated() =>
      $pb.PbList<AdditionVoteWord>();
  @$core.pragma('dart2js:noInline')
  static AdditionVoteWord getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVoteWord>(create);
  static AdditionVoteWord? _defaultInstance;

  /// 外露文字投票详情
  @$pb.TagNumber(1)
  $core.List<AdditionVoteWordItem> get item => $_getList(0);
}

/// 外露文字投票详情
class AdditionVoteWordItem extends $pb.GeneratedMessage {
  factory AdditionVoteWordItem({
    $core.int? optIdx,
    $core.String? title,
    $core.bool? isVote,
    $core.int? total,
    $core.double? persent,
    $core.bool? isMaxOption,
  }) {
    final $result = create();
    if (optIdx != null) {
      $result.optIdx = optIdx;
    }
    if (title != null) {
      $result.title = title;
    }
    if (isVote != null) {
      $result.isVote = isVote;
    }
    if (total != null) {
      $result.total = total;
    }
    if (persent != null) {
      $result.persent = persent;
    }
    if (isMaxOption != null) {
      $result.isMaxOption = isMaxOption;
    }
    return $result;
  }
  AdditionVoteWordItem._() : super();
  factory AdditionVoteWordItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdditionVoteWordItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdditionVoteWordItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'optIdx', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOB(3, _omitFieldNames ? '' : 'isVote')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'total', $pb.PbFieldType.O3)
    ..a<$core.double>(5, _omitFieldNames ? '' : 'persent', $pb.PbFieldType.OD)
    ..aOB(6, _omitFieldNames ? '' : 'isMaxOption')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdditionVoteWordItem clone() =>
      AdditionVoteWordItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdditionVoteWordItem copyWith(void Function(AdditionVoteWordItem) updates) =>
      super.copyWith((message) => updates(message as AdditionVoteWordItem))
          as AdditionVoteWordItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdditionVoteWordItem create() => AdditionVoteWordItem._();
  AdditionVoteWordItem createEmptyInstance() => create();
  static $pb.PbList<AdditionVoteWordItem> createRepeated() =>
      $pb.PbList<AdditionVoteWordItem>();
  @$core.pragma('dart2js:noInline')
  static AdditionVoteWordItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AdditionVoteWordItem>(create);
  static AdditionVoteWordItem? _defaultInstance;

  /// 选项索引，从1开始
  @$pb.TagNumber(1)
  $core.int get optIdx => $_getIZ(0);
  @$pb.TagNumber(1)
  set optIdx($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOptIdx() => $_has(0);
  @$pb.TagNumber(1)
  void clearOptIdx() => clearField(1);

  /// 文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 选中状态
  @$pb.TagNumber(3)
  $core.bool get isVote => $_getBF(2);
  @$pb.TagNumber(3)
  set isVote($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIsVote() => $_has(2);
  @$pb.TagNumber(3)
  void clearIsVote() => clearField(3);

  /// 人数
  @$pb.TagNumber(4)
  $core.int get total => $_getIZ(3);
  @$pb.TagNumber(4)
  set total($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTotal() => $_has(3);
  @$pb.TagNumber(4)
  void clearTotal() => clearField(4);

  /// 占比
  @$pb.TagNumber(5)
  $core.double get persent => $_getN(4);
  @$pb.TagNumber(5)
  set persent($core.double v) {
    $_setDouble(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPersent() => $_has(4);
  @$pb.TagNumber(5)
  void clearPersent() => clearField(5);

  /// 是否投票人数最多的选项
  @$pb.TagNumber(6)
  $core.bool get isMaxOption => $_getBF(5);
  @$pb.TagNumber(6)
  set isMaxOption($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasIsMaxOption() => $_has(5);
  @$pb.TagNumber(6)
  void clearIsMaxOption() => clearField(6);
}

/// 综合页请求广告所需字段，由客户端-网关透传
class AdParam extends $pb.GeneratedMessage {
  factory AdParam({
    $core.String? adExtra,
    $core.String? requestId,
  }) {
    final $result = create();
    if (adExtra != null) {
      $result.adExtra = adExtra;
    }
    if (requestId != null) {
      $result.requestId = requestId;
    }
    return $result;
  }
  AdParam._() : super();
  factory AdParam.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AdParam.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AdParam',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'adExtra')
    ..aOS(2, _omitFieldNames ? '' : 'requestId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AdParam clone() => AdParam()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AdParam copyWith(void Function(AdParam) updates) =>
      super.copyWith((message) => updates(message as AdParam)) as AdParam;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AdParam create() => AdParam._();
  AdParam createEmptyInstance() => create();
  static $pb.PbList<AdParam> createRepeated() => $pb.PbList<AdParam>();
  @$core.pragma('dart2js:noInline')
  static AdParam getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AdParam>(create);
  static AdParam? _defaultInstance;

  /// 综合页请求广告所需字段，由客户端-网关透传
  @$pb.TagNumber(1)
  $core.String get adExtra => $_getSZ(0);
  @$pb.TagNumber(1)
  set adExtra($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAdExtra() => $_has(0);
  @$pb.TagNumber(1)
  void clearAdExtra() => clearField(1);

  /// request_id
  @$pb.TagNumber(2)
  $core.String get requestId => $_getSZ(1);
  @$pb.TagNumber(2)
  set requestId($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRequestId() => $_has(1);
  @$pb.TagNumber(2)
  void clearRequestId() => clearField(2);
}

class AlumniDynamicsReply extends $pb.GeneratedMessage {
  factory AlumniDynamicsReply({
    $core.Iterable<DynamicItem>? list,
    $core.String? toast,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  AlumniDynamicsReply._() : super();
  factory AlumniDynamicsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AlumniDynamicsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AlumniDynamicsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'toast')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AlumniDynamicsReply clone() => AlumniDynamicsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AlumniDynamicsReply copyWith(void Function(AlumniDynamicsReply) updates) =>
      super.copyWith((message) => updates(message as AlumniDynamicsReply))
          as AlumniDynamicsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AlumniDynamicsReply create() => AlumniDynamicsReply._();
  AlumniDynamicsReply createEmptyInstance() => create();
  static $pb.PbList<AlumniDynamicsReply> createRepeated() =>
      $pb.PbList<AlumniDynamicsReply>();
  @$core.pragma('dart2js:noInline')
  static AlumniDynamicsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AlumniDynamicsReply>(create);
  static AlumniDynamicsReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  @$pb.TagNumber(2)
  $core.String get toast => $_getSZ(1);
  @$pb.TagNumber(2)
  set toast($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasToast() => $_has(1);
  @$pb.TagNumber(2)
  void clearToast() => clearField(2);
}

class AlumniDynamicsReq extends $pb.GeneratedMessage {
  factory AlumniDynamicsReq({
    $fixnum.Int64? campusId,
    $core.int? firstTime,
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    $core.int? page,
    $core.int? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (firstTime != null) {
      $result.firstTime = firstTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (page != null) {
      $result.page = page;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  AlumniDynamicsReq._() : super();
  factory AlumniDynamicsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory AlumniDynamicsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'AlumniDynamicsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'firstTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  AlumniDynamicsReq clone() => AlumniDynamicsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  AlumniDynamicsReq copyWith(void Function(AlumniDynamicsReq) updates) =>
      super.copyWith((message) => updates(message as AlumniDynamicsReq))
          as AlumniDynamicsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AlumniDynamicsReq create() => AlumniDynamicsReq._();
  AlumniDynamicsReq createEmptyInstance() => create();
  static $pb.PbList<AlumniDynamicsReq> createRepeated() =>
      $pb.PbList<AlumniDynamicsReq>();
  @$core.pragma('dart2js:noInline')
  static AlumniDynamicsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<AlumniDynamicsReq>(create);
  static AlumniDynamicsReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get firstTime => $_getIZ(1);
  @$pb.TagNumber(2)
  set firstTime($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFirstTime() => $_has(1);
  @$pb.TagNumber(2)
  void clearFirstTime() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.int get localTime => $_getIZ(3);
  @$pb.TagNumber(4)
  set localTime($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLocalTime() => $_has(3);
  @$pb.TagNumber(4)
  void clearLocalTime() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get page => $_getIZ(4);
  @$pb.TagNumber(5)
  set page($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPage() => $_has(4);
  @$pb.TagNumber(5)
  void clearPage() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get fromType => $_getIZ(5);
  @$pb.TagNumber(6)
  set fromType($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFromType() => $_has(5);
  @$pb.TagNumber(6)
  void clearFromType() => clearField(6);
}

class CampusBannerInfo extends $pb.GeneratedMessage {
  factory CampusBannerInfo({
    $core.String? image,
    $core.String? jumpUrl,
  }) {
    final $result = create();
    if (image != null) {
      $result.image = image;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    return $result;
  }
  CampusBannerInfo._() : super();
  factory CampusBannerInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusBannerInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusBannerInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'image')
    ..aOS(2, _omitFieldNames ? '' : 'jumpUrl')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusBannerInfo clone() => CampusBannerInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusBannerInfo copyWith(void Function(CampusBannerInfo) updates) =>
      super.copyWith((message) => updates(message as CampusBannerInfo))
          as CampusBannerInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusBannerInfo create() => CampusBannerInfo._();
  CampusBannerInfo createEmptyInstance() => create();
  static $pb.PbList<CampusBannerInfo> createRepeated() =>
      $pb.PbList<CampusBannerInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusBannerInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusBannerInfo>(create);
  static CampusBannerInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get image => $_getSZ(0);
  @$pb.TagNumber(1)
  set image($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasImage() => $_has(0);
  @$pb.TagNumber(1)
  void clearImage() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get jumpUrl => $_getSZ(1);
  @$pb.TagNumber(2)
  set jumpUrl($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasJumpUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearJumpUrl() => clearField(2);
}

class CampusBillboardInternalReq extends $pb.GeneratedMessage {
  factory CampusBillboardInternalReq({
    $fixnum.Int64? mid,
    $fixnum.Int64? campusId,
    $core.String? versionCode,
  }) {
    final $result = create();
    if (mid != null) {
      $result.mid = mid;
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (versionCode != null) {
      $result.versionCode = versionCode;
    }
    return $result;
  }
  CampusBillboardInternalReq._() : super();
  factory CampusBillboardInternalReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusBillboardInternalReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusBillboardInternalReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'mid')
    ..aInt64(2, _omitFieldNames ? '' : 'campusId')
    ..aOS(3, _omitFieldNames ? '' : 'versionCode')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusBillboardInternalReq clone() =>
      CampusBillboardInternalReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusBillboardInternalReq copyWith(
          void Function(CampusBillboardInternalReq) updates) =>
      super.copyWith(
              (message) => updates(message as CampusBillboardInternalReq))
          as CampusBillboardInternalReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusBillboardInternalReq create() => CampusBillboardInternalReq._();
  CampusBillboardInternalReq createEmptyInstance() => create();
  static $pb.PbList<CampusBillboardInternalReq> createRepeated() =>
      $pb.PbList<CampusBillboardInternalReq>();
  @$core.pragma('dart2js:noInline')
  static CampusBillboardInternalReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusBillboardInternalReq>(create);
  static CampusBillboardInternalReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get mid => $_getI64(0);
  @$pb.TagNumber(1)
  set mid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMid() => $_has(0);
  @$pb.TagNumber(1)
  void clearMid() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get campusId => $_getI64(1);
  @$pb.TagNumber(2)
  set campusId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusId() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusId() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get versionCode => $_getSZ(2);
  @$pb.TagNumber(3)
  set versionCode($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasVersionCode() => $_has(2);
  @$pb.TagNumber(3)
  void clearVersionCode() => clearField(3);
}

class CampusBillBoardReply extends $pb.GeneratedMessage {
  factory CampusBillBoardReply({
    $core.String? title,
    $core.String? helpUri,
    $core.String? campusName,
    $fixnum.Int64? buildTime,
    $core.String? versionCode,
    $core.Iterable<OfficialItem>? list,
    $core.String? shareUri,
    $core.int? bindNotice,
    $core.String? updateToast,
    $fixnum.Int64? campusId,
    CampusFeatureProgress? openProgress,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (helpUri != null) {
      $result.helpUri = helpUri;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (buildTime != null) {
      $result.buildTime = buildTime;
    }
    if (versionCode != null) {
      $result.versionCode = versionCode;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (shareUri != null) {
      $result.shareUri = shareUri;
    }
    if (bindNotice != null) {
      $result.bindNotice = bindNotice;
    }
    if (updateToast != null) {
      $result.updateToast = updateToast;
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (openProgress != null) {
      $result.openProgress = openProgress;
    }
    return $result;
  }
  CampusBillBoardReply._() : super();
  factory CampusBillBoardReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusBillBoardReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusBillBoardReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'helpUri')
    ..aOS(3, _omitFieldNames ? '' : 'campusName')
    ..aInt64(4, _omitFieldNames ? '' : 'buildTime')
    ..aOS(5, _omitFieldNames ? '' : 'versionCode')
    ..pc<OfficialItem>(6, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: OfficialItem.create)
    ..aOS(7, _omitFieldNames ? '' : 'shareUri')
    ..a<$core.int>(8, _omitFieldNames ? '' : 'bindNotice', $pb.PbFieldType.O3)
    ..aOS(9, _omitFieldNames ? '' : 'updateToast')
    ..aInt64(10, _omitFieldNames ? '' : 'campusId')
    ..aOM<CampusFeatureProgress>(11, _omitFieldNames ? '' : 'openProgress',
        subBuilder: CampusFeatureProgress.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusBillBoardReply clone() =>
      CampusBillBoardReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusBillBoardReply copyWith(void Function(CampusBillBoardReply) updates) =>
      super.copyWith((message) => updates(message as CampusBillBoardReply))
          as CampusBillBoardReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusBillBoardReply create() => CampusBillBoardReply._();
  CampusBillBoardReply createEmptyInstance() => create();
  static $pb.PbList<CampusBillBoardReply> createRepeated() =>
      $pb.PbList<CampusBillBoardReply>();
  @$core.pragma('dart2js:noInline')
  static CampusBillBoardReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusBillBoardReply>(create);
  static CampusBillBoardReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get helpUri => $_getSZ(1);
  @$pb.TagNumber(2)
  set helpUri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHelpUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearHelpUri() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get campusName => $_getSZ(2);
  @$pb.TagNumber(3)
  set campusName($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCampusName() => $_has(2);
  @$pb.TagNumber(3)
  void clearCampusName() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get buildTime => $_getI64(3);
  @$pb.TagNumber(4)
  set buildTime($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasBuildTime() => $_has(3);
  @$pb.TagNumber(4)
  void clearBuildTime() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get versionCode => $_getSZ(4);
  @$pb.TagNumber(5)
  set versionCode($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasVersionCode() => $_has(4);
  @$pb.TagNumber(5)
  void clearVersionCode() => clearField(5);

  @$pb.TagNumber(6)
  $core.List<OfficialItem> get list => $_getList(5);

  @$pb.TagNumber(7)
  $core.String get shareUri => $_getSZ(6);
  @$pb.TagNumber(7)
  set shareUri($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasShareUri() => $_has(6);
  @$pb.TagNumber(7)
  void clearShareUri() => clearField(7);

  @$pb.TagNumber(8)
  $core.int get bindNotice => $_getIZ(7);
  @$pb.TagNumber(8)
  set bindNotice($core.int v) {
    $_setSignedInt32(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBindNotice() => $_has(7);
  @$pb.TagNumber(8)
  void clearBindNotice() => clearField(8);

  @$pb.TagNumber(9)
  $core.String get updateToast => $_getSZ(8);
  @$pb.TagNumber(9)
  set updateToast($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasUpdateToast() => $_has(8);
  @$pb.TagNumber(9)
  void clearUpdateToast() => clearField(9);

  @$pb.TagNumber(10)
  $fixnum.Int64 get campusId => $_getI64(9);
  @$pb.TagNumber(10)
  set campusId($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasCampusId() => $_has(9);
  @$pb.TagNumber(10)
  void clearCampusId() => clearField(10);

  @$pb.TagNumber(11)
  CampusFeatureProgress get openProgress => $_getN(10);
  @$pb.TagNumber(11)
  set openProgress(CampusFeatureProgress v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasOpenProgress() => $_has(10);
  @$pb.TagNumber(11)
  void clearOpenProgress() => clearField(11);
  @$pb.TagNumber(11)
  CampusFeatureProgress ensureOpenProgress() => $_ensure(10);
}

class CampusBillBoardReq extends $pb.GeneratedMessage {
  factory CampusBillBoardReq({
    $fixnum.Int64? campusId,
    $core.String? versionCode,
    $1.PlayerArgs? playerArgs,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (versionCode != null) {
      $result.versionCode = versionCode;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  CampusBillBoardReq._() : super();
  factory CampusBillBoardReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusBillBoardReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusBillBoardReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'versionCode')
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..e<CampusReqFromType>(
        4, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusBillBoardReq clone() => CampusBillBoardReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusBillBoardReq copyWith(void Function(CampusBillBoardReq) updates) =>
      super.copyWith((message) => updates(message as CampusBillBoardReq))
          as CampusBillBoardReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusBillBoardReq create() => CampusBillBoardReq._();
  CampusBillBoardReq createEmptyInstance() => create();
  static $pb.PbList<CampusBillBoardReq> createRepeated() =>
      $pb.PbList<CampusBillBoardReq>();
  @$core.pragma('dart2js:noInline')
  static CampusBillBoardReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusBillBoardReq>(create);
  static CampusBillBoardReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get versionCode => $_getSZ(1);
  @$pb.TagNumber(2)
  set versionCode($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasVersionCode() => $_has(1);
  @$pb.TagNumber(2)
  void clearVersionCode() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(4)
  CampusReqFromType get fromType => $_getN(3);
  @$pb.TagNumber(4)
  set fromType(CampusReqFromType v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasFromType() => $_has(3);
  @$pb.TagNumber(4)
  void clearFromType() => clearField(4);
}

class CampusEntryTabReq extends $pb.GeneratedMessage {
  factory CampusEntryTabReq({
    $fixnum.Int64? campusId,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    return $result;
  }
  CampusEntryTabReq._() : super();
  factory CampusEntryTabReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusEntryTabReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusEntryTabReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusEntryTabReq clone() => CampusEntryTabReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusEntryTabReq copyWith(void Function(CampusEntryTabReq) updates) =>
      super.copyWith((message) => updates(message as CampusEntryTabReq))
          as CampusEntryTabReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusEntryTabReq create() => CampusEntryTabReq._();
  CampusEntryTabReq createEmptyInstance() => create();
  static $pb.PbList<CampusEntryTabReq> createRepeated() =>
      $pb.PbList<CampusEntryTabReq>();
  @$core.pragma('dart2js:noInline')
  static CampusEntryTabReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusEntryTabReq>(create);
  static CampusEntryTabReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);
}

class CampusEntryTabResp extends $pb.GeneratedMessage {
  factory CampusEntryTabResp({
    CampusEntryType? entryType,
  }) {
    final $result = create();
    if (entryType != null) {
      $result.entryType = entryType;
    }
    return $result;
  }
  CampusEntryTabResp._() : super();
  factory CampusEntryTabResp.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusEntryTabResp.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusEntryTabResp',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<CampusEntryType>(
        1, _omitFieldNames ? '' : 'entryType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusEntryType.NONE,
        valueOf: CampusEntryType.valueOf,
        enumValues: CampusEntryType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusEntryTabResp clone() => CampusEntryTabResp()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusEntryTabResp copyWith(void Function(CampusEntryTabResp) updates) =>
      super.copyWith((message) => updates(message as CampusEntryTabResp))
          as CampusEntryTabResp;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusEntryTabResp create() => CampusEntryTabResp._();
  CampusEntryTabResp createEmptyInstance() => create();
  static $pb.PbList<CampusEntryTabResp> createRepeated() =>
      $pb.PbList<CampusEntryTabResp>();
  @$core.pragma('dart2js:noInline')
  static CampusEntryTabResp getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusEntryTabResp>(create);
  static CampusEntryTabResp? _defaultInstance;

  @$pb.TagNumber(1)
  CampusEntryType get entryType => $_getN(0);
  @$pb.TagNumber(1)
  set entryType(CampusEntryType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasEntryType() => $_has(0);
  @$pb.TagNumber(1)
  void clearEntryType() => clearField(1);
}

class CampusFeatureProgress extends $pb.GeneratedMessage {
  factory CampusFeatureProgress({
    $fixnum.Int64? progressFull,
    $fixnum.Int64? progressAchieved,
    $core.String? descTitle,
    $core.String? desc1,
    CampusLabel? btn,
  }) {
    final $result = create();
    if (progressFull != null) {
      $result.progressFull = progressFull;
    }
    if (progressAchieved != null) {
      $result.progressAchieved = progressAchieved;
    }
    if (descTitle != null) {
      $result.descTitle = descTitle;
    }
    if (desc1 != null) {
      $result.desc1 = desc1;
    }
    if (btn != null) {
      $result.btn = btn;
    }
    return $result;
  }
  CampusFeatureProgress._() : super();
  factory CampusFeatureProgress.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusFeatureProgress.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusFeatureProgress',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'progressFull')
    ..aInt64(2, _omitFieldNames ? '' : 'progressAchieved')
    ..aOS(3, _omitFieldNames ? '' : 'descTitle')
    ..aOS(4, _omitFieldNames ? '' : 'desc1', protoName: 'desc_1')
    ..aOM<CampusLabel>(5, _omitFieldNames ? '' : 'btn',
        subBuilder: CampusLabel.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusFeatureProgress clone() =>
      CampusFeatureProgress()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusFeatureProgress copyWith(
          void Function(CampusFeatureProgress) updates) =>
      super.copyWith((message) => updates(message as CampusFeatureProgress))
          as CampusFeatureProgress;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusFeatureProgress create() => CampusFeatureProgress._();
  CampusFeatureProgress createEmptyInstance() => create();
  static $pb.PbList<CampusFeatureProgress> createRepeated() =>
      $pb.PbList<CampusFeatureProgress>();
  @$core.pragma('dart2js:noInline')
  static CampusFeatureProgress getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusFeatureProgress>(create);
  static CampusFeatureProgress? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get progressFull => $_getI64(0);
  @$pb.TagNumber(1)
  set progressFull($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasProgressFull() => $_has(0);
  @$pb.TagNumber(1)
  void clearProgressFull() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get progressAchieved => $_getI64(1);
  @$pb.TagNumber(2)
  set progressAchieved($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasProgressAchieved() => $_has(1);
  @$pb.TagNumber(2)
  void clearProgressAchieved() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get descTitle => $_getSZ(2);
  @$pb.TagNumber(3)
  set descTitle($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDescTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearDescTitle() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get desc1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc1() => clearField(4);

  @$pb.TagNumber(5)
  CampusLabel get btn => $_getN(4);
  @$pb.TagNumber(5)
  set btn(CampusLabel v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasBtn() => $_has(4);
  @$pb.TagNumber(5)
  void clearBtn() => clearField(5);
  @$pb.TagNumber(5)
  CampusLabel ensureBtn() => $_ensure(4);
}

class CampusFeedbackInfo extends $pb.GeneratedMessage {
  factory CampusFeedbackInfo({
    $core.int? bizType,
    $fixnum.Int64? bizId,
    $fixnum.Int64? campusId,
    $core.String? reason,
  }) {
    final $result = create();
    if (bizType != null) {
      $result.bizType = bizType;
    }
    if (bizId != null) {
      $result.bizId = bizId;
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    return $result;
  }
  CampusFeedbackInfo._() : super();
  factory CampusFeedbackInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusFeedbackInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusFeedbackInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'bizType', $pb.PbFieldType.O3)
    ..aInt64(2, _omitFieldNames ? '' : 'bizId')
    ..aInt64(3, _omitFieldNames ? '' : 'campusId')
    ..aOS(4, _omitFieldNames ? '' : 'reason')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusFeedbackInfo clone() => CampusFeedbackInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusFeedbackInfo copyWith(void Function(CampusFeedbackInfo) updates) =>
      super.copyWith((message) => updates(message as CampusFeedbackInfo))
          as CampusFeedbackInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusFeedbackInfo create() => CampusFeedbackInfo._();
  CampusFeedbackInfo createEmptyInstance() => create();
  static $pb.PbList<CampusFeedbackInfo> createRepeated() =>
      $pb.PbList<CampusFeedbackInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusFeedbackInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusFeedbackInfo>(create);
  static CampusFeedbackInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get bizType => $_getIZ(0);
  @$pb.TagNumber(1)
  set bizType($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasBizType() => $_has(0);
  @$pb.TagNumber(1)
  void clearBizType() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get bizId => $_getI64(1);
  @$pb.TagNumber(2)
  set bizId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBizId() => $_has(1);
  @$pb.TagNumber(2)
  void clearBizId() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get campusId => $_getI64(2);
  @$pb.TagNumber(3)
  set campusId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCampusId() => $_has(2);
  @$pb.TagNumber(3)
  void clearCampusId() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get reason => $_getSZ(3);
  @$pb.TagNumber(4)
  set reason($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasReason() => $_has(3);
  @$pb.TagNumber(4)
  void clearReason() => clearField(4);
}

class CampusFeedbackReply extends $pb.GeneratedMessage {
  factory CampusFeedbackReply({
    $core.String? message,
  }) {
    final $result = create();
    if (message != null) {
      $result.message = message;
    }
    return $result;
  }
  CampusFeedbackReply._() : super();
  factory CampusFeedbackReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusFeedbackReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusFeedbackReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'message')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusFeedbackReply clone() => CampusFeedbackReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusFeedbackReply copyWith(void Function(CampusFeedbackReply) updates) =>
      super.copyWith((message) => updates(message as CampusFeedbackReply))
          as CampusFeedbackReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusFeedbackReply create() => CampusFeedbackReply._();
  CampusFeedbackReply createEmptyInstance() => create();
  static $pb.PbList<CampusFeedbackReply> createRepeated() =>
      $pb.PbList<CampusFeedbackReply>();
  @$core.pragma('dart2js:noInline')
  static CampusFeedbackReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusFeedbackReply>(create);
  static CampusFeedbackReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get message => $_getSZ(0);
  @$pb.TagNumber(1)
  set message($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMessage() => $_has(0);
  @$pb.TagNumber(1)
  void clearMessage() => clearField(1);
}

class CampusFeedbackReq extends $pb.GeneratedMessage {
  factory CampusFeedbackReq({
    $core.Iterable<CampusFeedbackInfo>? infos,
    $core.int? from,
  }) {
    final $result = create();
    if (infos != null) {
      $result.infos.addAll(infos);
    }
    if (from != null) {
      $result.from = from;
    }
    return $result;
  }
  CampusFeedbackReq._() : super();
  factory CampusFeedbackReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusFeedbackReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusFeedbackReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<CampusFeedbackInfo>(
        1, _omitFieldNames ? '' : 'infos', $pb.PbFieldType.PM,
        subBuilder: CampusFeedbackInfo.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'from', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusFeedbackReq clone() => CampusFeedbackReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusFeedbackReq copyWith(void Function(CampusFeedbackReq) updates) =>
      super.copyWith((message) => updates(message as CampusFeedbackReq))
          as CampusFeedbackReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusFeedbackReq create() => CampusFeedbackReq._();
  CampusFeedbackReq createEmptyInstance() => create();
  static $pb.PbList<CampusFeedbackReq> createRepeated() =>
      $pb.PbList<CampusFeedbackReq>();
  @$core.pragma('dart2js:noInline')
  static CampusFeedbackReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusFeedbackReq>(create);
  static CampusFeedbackReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<CampusFeedbackInfo> get infos => $_getList(0);

  @$pb.TagNumber(2)
  $core.int get from => $_getIZ(1);
  @$pb.TagNumber(2)
  set from($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFrom() => $_has(1);
  @$pb.TagNumber(2)
  void clearFrom() => clearField(2);
}

class CampusHomePagesReply extends $pb.GeneratedMessage {
  factory CampusHomePagesReply({
    CampusRcmdTop? top,
    CampusTop? campusTop,
    $core.int? pageType,
  }) {
    final $result = create();
    if (top != null) {
      $result.top = top;
    }
    if (campusTop != null) {
      $result.campusTop = campusTop;
    }
    if (pageType != null) {
      $result.pageType = pageType;
    }
    return $result;
  }
  CampusHomePagesReply._() : super();
  factory CampusHomePagesReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusHomePagesReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusHomePagesReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<CampusRcmdTop>(1, _omitFieldNames ? '' : 'top',
        subBuilder: CampusRcmdTop.create)
    ..aOM<CampusTop>(2, _omitFieldNames ? '' : 'campusTop',
        subBuilder: CampusTop.create)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'pageType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusHomePagesReply clone() =>
      CampusHomePagesReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusHomePagesReply copyWith(void Function(CampusHomePagesReply) updates) =>
      super.copyWith((message) => updates(message as CampusHomePagesReply))
          as CampusHomePagesReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusHomePagesReply create() => CampusHomePagesReply._();
  CampusHomePagesReply createEmptyInstance() => create();
  static $pb.PbList<CampusHomePagesReply> createRepeated() =>
      $pb.PbList<CampusHomePagesReply>();
  @$core.pragma('dart2js:noInline')
  static CampusHomePagesReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusHomePagesReply>(create);
  static CampusHomePagesReply? _defaultInstance;

  @$pb.TagNumber(1)
  CampusRcmdTop get top => $_getN(0);
  @$pb.TagNumber(1)
  set top(CampusRcmdTop v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTop() => $_has(0);
  @$pb.TagNumber(1)
  void clearTop() => clearField(1);
  @$pb.TagNumber(1)
  CampusRcmdTop ensureTop() => $_ensure(0);

  @$pb.TagNumber(2)
  CampusTop get campusTop => $_getN(1);
  @$pb.TagNumber(2)
  set campusTop(CampusTop v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusTop() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusTop() => clearField(2);
  @$pb.TagNumber(2)
  CampusTop ensureCampusTop() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.int get pageType => $_getIZ(2);
  @$pb.TagNumber(3)
  set pageType($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPageType() => $_has(2);
  @$pb.TagNumber(3)
  void clearPageType() => clearField(3);
}

class CampusHomePagesReq extends $pb.GeneratedMessage {
  factory CampusHomePagesReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.double? lat,
    $core.double? lng,
    $1.PlayerArgs? playerArgs,
    $core.int? pageType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (lat != null) {
      $result.lat = lat;
    }
    if (lng != null) {
      $result.lng = lng;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (pageType != null) {
      $result.pageType = pageType;
    }
    return $result;
  }
  CampusHomePagesReq._() : super();
  factory CampusHomePagesReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusHomePagesReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusHomePagesReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..a<$core.double>(3, _omitFieldNames ? '' : 'lat', $pb.PbFieldType.OD)
    ..a<$core.double>(4, _omitFieldNames ? '' : 'lng', $pb.PbFieldType.OD)
    ..aOM<$1.PlayerArgs>(5, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'pageType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusHomePagesReq clone() => CampusHomePagesReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusHomePagesReq copyWith(void Function(CampusHomePagesReq) updates) =>
      super.copyWith((message) => updates(message as CampusHomePagesReq))
          as CampusHomePagesReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusHomePagesReq create() => CampusHomePagesReq._();
  CampusHomePagesReq createEmptyInstance() => create();
  static $pb.PbList<CampusHomePagesReq> createRepeated() =>
      $pb.PbList<CampusHomePagesReq>();
  @$core.pragma('dart2js:noInline')
  static CampusHomePagesReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusHomePagesReq>(create);
  static CampusHomePagesReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get lat => $_getN(2);
  @$pb.TagNumber(3)
  set lat($core.double v) {
    $_setDouble(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLat() => $_has(2);
  @$pb.TagNumber(3)
  void clearLat() => clearField(3);

  @$pb.TagNumber(4)
  $core.double get lng => $_getN(3);
  @$pb.TagNumber(4)
  set lng($core.double v) {
    $_setDouble(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLng() => $_has(3);
  @$pb.TagNumber(4)
  void clearLng() => clearField(4);

  @$pb.TagNumber(5)
  $1.PlayerArgs get playerArgs => $_getN(4);
  @$pb.TagNumber(5)
  set playerArgs($1.PlayerArgs v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayerArgs() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayerArgs() => clearField(5);
  @$pb.TagNumber(5)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(4);

  @$pb.TagNumber(6)
  $core.int get pageType => $_getIZ(5);
  @$pb.TagNumber(6)
  set pageType($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasPageType() => $_has(5);
  @$pb.TagNumber(6)
  void clearPageType() => clearField(6);
}

class CampusHomeRcmdTopic extends $pb.GeneratedMessage {
  factory CampusHomeRcmdTopic({
    ModuleTitle? title,
    $core.Iterable<TopicItem>? topic,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (topic != null) {
      $result.topic.addAll(topic);
    }
    return $result;
  }
  CampusHomeRcmdTopic._() : super();
  factory CampusHomeRcmdTopic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusHomeRcmdTopic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusHomeRcmdTopic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<ModuleTitle>(1, _omitFieldNames ? '' : 'title',
        subBuilder: ModuleTitle.create)
    ..pc<TopicItem>(2, _omitFieldNames ? '' : 'topic', $pb.PbFieldType.PM,
        subBuilder: TopicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusHomeRcmdTopic clone() => CampusHomeRcmdTopic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusHomeRcmdTopic copyWith(void Function(CampusHomeRcmdTopic) updates) =>
      super.copyWith((message) => updates(message as CampusHomeRcmdTopic))
          as CampusHomeRcmdTopic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusHomeRcmdTopic create() => CampusHomeRcmdTopic._();
  CampusHomeRcmdTopic createEmptyInstance() => create();
  static $pb.PbList<CampusHomeRcmdTopic> createRepeated() =>
      $pb.PbList<CampusHomeRcmdTopic>();
  @$core.pragma('dart2js:noInline')
  static CampusHomeRcmdTopic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusHomeRcmdTopic>(create);
  static CampusHomeRcmdTopic? _defaultInstance;

  @$pb.TagNumber(1)
  ModuleTitle get title => $_getN(0);
  @$pb.TagNumber(1)
  set title(ModuleTitle v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);
  @$pb.TagNumber(1)
  ModuleTitle ensureTitle() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.List<TopicItem> get topic => $_getList(1);
}

class CampusInfo extends $pb.GeneratedMessage {
  factory CampusInfo({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.String? desc,
    $fixnum.Int64? online,
    $core.String? url,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (online != null) {
      $result.online = online;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  CampusInfo._() : super();
  factory CampusInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aOS(3, _omitFieldNames ? '' : 'desc')
    ..aInt64(4, _omitFieldNames ? '' : 'online')
    ..aOS(5, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusInfo clone() => CampusInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusInfo copyWith(void Function(CampusInfo) updates) =>
      super.copyWith((message) => updates(message as CampusInfo)) as CampusInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusInfo create() => CampusInfo._();
  CampusInfo createEmptyInstance() => create();
  static $pb.PbList<CampusInfo> createRepeated() => $pb.PbList<CampusInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusInfo>(create);
  static CampusInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get desc => $_getSZ(2);
  @$pb.TagNumber(3)
  set desc($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDesc() => $_has(2);
  @$pb.TagNumber(3)
  void clearDesc() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get online => $_getI64(3);
  @$pb.TagNumber(4)
  set online($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOnline() => $_has(3);
  @$pb.TagNumber(4)
  void clearOnline() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get url => $_getSZ(4);
  @$pb.TagNumber(5)
  set url($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearUrl() => clearField(5);
}

class CampusLabel extends $pb.GeneratedMessage {
  factory CampusLabel({
    $core.String? text,
    $core.String? url,
    $core.String? desc,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (url != null) {
      $result.url = url;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    return $result;
  }
  CampusLabel._() : super();
  factory CampusLabel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusLabel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusLabel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'url')
    ..aOS(3, _omitFieldNames ? '' : 'desc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusLabel clone() => CampusLabel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusLabel copyWith(void Function(CampusLabel) updates) =>
      super.copyWith((message) => updates(message as CampusLabel))
          as CampusLabel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusLabel create() => CampusLabel._();
  CampusLabel createEmptyInstance() => create();
  static $pb.PbList<CampusLabel> createRepeated() => $pb.PbList<CampusLabel>();
  @$core.pragma('dart2js:noInline')
  static CampusLabel getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusLabel>(create);
  static CampusLabel? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get url => $_getSZ(1);
  @$pb.TagNumber(2)
  set url($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearUrl() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get desc => $_getSZ(2);
  @$pb.TagNumber(3)
  set desc($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDesc() => $_has(2);
  @$pb.TagNumber(3)
  void clearDesc() => clearField(3);
}

class CampusMateLikeListReply extends $pb.GeneratedMessage {
  factory CampusMateLikeListReply({
    $core.Iterable<ModuleAuthor>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  CampusMateLikeListReply._() : super();
  factory CampusMateLikeListReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMateLikeListReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMateLikeListReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ModuleAuthor>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: ModuleAuthor.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMateLikeListReply clone() =>
      CampusMateLikeListReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMateLikeListReply copyWith(
          void Function(CampusMateLikeListReply) updates) =>
      super.copyWith((message) => updates(message as CampusMateLikeListReply))
          as CampusMateLikeListReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMateLikeListReply create() => CampusMateLikeListReply._();
  CampusMateLikeListReply createEmptyInstance() => create();
  static $pb.PbList<CampusMateLikeListReply> createRepeated() =>
      $pb.PbList<CampusMateLikeListReply>();
  @$core.pragma('dart2js:noInline')
  static CampusMateLikeListReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMateLikeListReply>(create);
  static CampusMateLikeListReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<ModuleAuthor> get list => $_getList(0);
}

class CampusMateLikeListReq extends $pb.GeneratedMessage {
  factory CampusMateLikeListReq({
    $fixnum.Int64? dynamicId,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  CampusMateLikeListReq._() : super();
  factory CampusMateLikeListReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMateLikeListReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMateLikeListReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'dynamicId')
    ..e<CampusReqFromType>(
        2, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMateLikeListReq clone() =>
      CampusMateLikeListReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMateLikeListReq copyWith(
          void Function(CampusMateLikeListReq) updates) =>
      super.copyWith((message) => updates(message as CampusMateLikeListReq))
          as CampusMateLikeListReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMateLikeListReq create() => CampusMateLikeListReq._();
  CampusMateLikeListReq createEmptyInstance() => create();
  static $pb.PbList<CampusMateLikeListReq> createRepeated() =>
      $pb.PbList<CampusMateLikeListReq>();
  @$core.pragma('dart2js:noInline')
  static CampusMateLikeListReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMateLikeListReq>(create);
  static CampusMateLikeListReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get dynamicId => $_getI64(0);
  @$pb.TagNumber(1)
  set dynamicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicId() => clearField(1);

  @$pb.TagNumber(2)
  CampusReqFromType get fromType => $_getN(1);
  @$pb.TagNumber(2)
  set fromType(CampusReqFromType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFromType() => $_has(1);
  @$pb.TagNumber(2)
  void clearFromType() => clearField(2);
}

class CampusMngBadge extends $pb.GeneratedMessage {
  factory CampusMngBadge({
    $core.String? title,
    $core.String? badgeUrl,
    $core.String? uploadHintMsg,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (badgeUrl != null) {
      $result.badgeUrl = badgeUrl;
    }
    if (uploadHintMsg != null) {
      $result.uploadHintMsg = uploadHintMsg;
    }
    return $result;
  }
  CampusMngBadge._() : super();
  factory CampusMngBadge.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngBadge.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngBadge',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'badgeUrl')
    ..aOS(3, _omitFieldNames ? '' : 'uploadHintMsg')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngBadge clone() => CampusMngBadge()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngBadge copyWith(void Function(CampusMngBadge) updates) =>
      super.copyWith((message) => updates(message as CampusMngBadge))
          as CampusMngBadge;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngBadge create() => CampusMngBadge._();
  CampusMngBadge createEmptyInstance() => create();
  static $pb.PbList<CampusMngBadge> createRepeated() =>
      $pb.PbList<CampusMngBadge>();
  @$core.pragma('dart2js:noInline')
  static CampusMngBadge getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngBadge>(create);
  static CampusMngBadge? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get badgeUrl => $_getSZ(1);
  @$pb.TagNumber(2)
  set badgeUrl($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBadgeUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearBadgeUrl() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get uploadHintMsg => $_getSZ(2);
  @$pb.TagNumber(3)
  set uploadHintMsg($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUploadHintMsg() => $_has(2);
  @$pb.TagNumber(3)
  void clearUploadHintMsg() => clearField(3);
}

class CampusMngBasicInfo extends $pb.GeneratedMessage {
  factory CampusMngBasicInfo({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.String? hintMsg,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (hintMsg != null) {
      $result.hintMsg = hintMsg;
    }
    return $result;
  }
  CampusMngBasicInfo._() : super();
  factory CampusMngBasicInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngBasicInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngBasicInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aOS(3, _omitFieldNames ? '' : 'hintMsg')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngBasicInfo clone() => CampusMngBasicInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngBasicInfo copyWith(void Function(CampusMngBasicInfo) updates) =>
      super.copyWith((message) => updates(message as CampusMngBasicInfo))
          as CampusMngBasicInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngBasicInfo create() => CampusMngBasicInfo._();
  CampusMngBasicInfo createEmptyInstance() => create();
  static $pb.PbList<CampusMngBasicInfo> createRepeated() =>
      $pb.PbList<CampusMngBasicInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusMngBasicInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngBasicInfo>(create);
  static CampusMngBasicInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get hintMsg => $_getSZ(2);
  @$pb.TagNumber(3)
  set hintMsg($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHintMsg() => $_has(2);
  @$pb.TagNumber(3)
  void clearHintMsg() => clearField(3);
}

class CampusMngDetailReply extends $pb.GeneratedMessage {
  factory CampusMngDetailReply({
    $core.Iterable<CampusMngItem>? items,
    $core.String? topHintBarMsg,
    $core.String? bottomSubmitHintMsg,
    $fixnum.Int64? campusId,
    $core.String? campusName,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (topHintBarMsg != null) {
      $result.topHintBarMsg = topHintBarMsg;
    }
    if (bottomSubmitHintMsg != null) {
      $result.bottomSubmitHintMsg = bottomSubmitHintMsg;
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    return $result;
  }
  CampusMngDetailReply._() : super();
  factory CampusMngDetailReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngDetailReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngDetailReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<CampusMngItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: CampusMngItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'topHintBarMsg')
    ..aOS(3, _omitFieldNames ? '' : 'bottomSubmitHintMsg')
    ..aInt64(4, _omitFieldNames ? '' : 'campusId')
    ..aOS(5, _omitFieldNames ? '' : 'campusName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngDetailReply clone() =>
      CampusMngDetailReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngDetailReply copyWith(void Function(CampusMngDetailReply) updates) =>
      super.copyWith((message) => updates(message as CampusMngDetailReply))
          as CampusMngDetailReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngDetailReply create() => CampusMngDetailReply._();
  CampusMngDetailReply createEmptyInstance() => create();
  static $pb.PbList<CampusMngDetailReply> createRepeated() =>
      $pb.PbList<CampusMngDetailReply>();
  @$core.pragma('dart2js:noInline')
  static CampusMngDetailReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngDetailReply>(create);
  static CampusMngDetailReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<CampusMngItem> get items => $_getList(0);

  @$pb.TagNumber(2)
  $core.String get topHintBarMsg => $_getSZ(1);
  @$pb.TagNumber(2)
  set topHintBarMsg($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTopHintBarMsg() => $_has(1);
  @$pb.TagNumber(2)
  void clearTopHintBarMsg() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get bottomSubmitHintMsg => $_getSZ(2);
  @$pb.TagNumber(3)
  set bottomSubmitHintMsg($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasBottomSubmitHintMsg() => $_has(2);
  @$pb.TagNumber(3)
  void clearBottomSubmitHintMsg() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get campusId => $_getI64(3);
  @$pb.TagNumber(4)
  set campusId($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCampusId() => $_has(3);
  @$pb.TagNumber(4)
  void clearCampusId() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get campusName => $_getSZ(4);
  @$pb.TagNumber(5)
  set campusName($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCampusName() => $_has(4);
  @$pb.TagNumber(5)
  void clearCampusName() => clearField(5);
}

class CampusMngDetailReq extends $pb.GeneratedMessage {
  factory CampusMngDetailReq({
    $fixnum.Int64? campusId,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    return $result;
  }
  CampusMngDetailReq._() : super();
  factory CampusMngDetailReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngDetailReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngDetailReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngDetailReq clone() => CampusMngDetailReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngDetailReq copyWith(void Function(CampusMngDetailReq) updates) =>
      super.copyWith((message) => updates(message as CampusMngDetailReq))
          as CampusMngDetailReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngDetailReq create() => CampusMngDetailReq._();
  CampusMngDetailReq createEmptyInstance() => create();
  static $pb.PbList<CampusMngDetailReq> createRepeated() =>
      $pb.PbList<CampusMngDetailReq>();
  @$core.pragma('dart2js:noInline')
  static CampusMngDetailReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngDetailReq>(create);
  static CampusMngDetailReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);
}

enum CampusMngItem_Item { basicInfo, badge, slogan, quiz, notSet }

class CampusMngItem extends $pb.GeneratedMessage {
  factory CampusMngItem({
    $core.int? auditStatus,
    $core.String? auditMessage,
    $core.int? itemType,
    $core.String? mngItemId,
    $core.bool? isDel,
    CampusMngBasicInfo? basicInfo,
    CampusMngBadge? badge,
    $core.String? slogan,
    CampusMngQuiz? quiz,
  }) {
    final $result = create();
    if (auditStatus != null) {
      $result.auditStatus = auditStatus;
    }
    if (auditMessage != null) {
      $result.auditMessage = auditMessage;
    }
    if (itemType != null) {
      $result.itemType = itemType;
    }
    if (mngItemId != null) {
      $result.mngItemId = mngItemId;
    }
    if (isDel != null) {
      $result.isDel = isDel;
    }
    if (basicInfo != null) {
      $result.basicInfo = basicInfo;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (slogan != null) {
      $result.slogan = slogan;
    }
    if (quiz != null) {
      $result.quiz = quiz;
    }
    return $result;
  }
  CampusMngItem._() : super();
  factory CampusMngItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, CampusMngItem_Item>
      _CampusMngItem_ItemByTag = {
    6: CampusMngItem_Item.basicInfo,
    7: CampusMngItem_Item.badge,
    8: CampusMngItem_Item.slogan,
    9: CampusMngItem_Item.quiz,
    0: CampusMngItem_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [6, 7, 8, 9])
    ..a<$core.int>(1, _omitFieldNames ? '' : 'auditStatus', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'auditMessage')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'itemType', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'mngItemId')
    ..aOB(5, _omitFieldNames ? '' : 'isDel')
    ..aOM<CampusMngBasicInfo>(6, _omitFieldNames ? '' : 'basicInfo',
        subBuilder: CampusMngBasicInfo.create)
    ..aOM<CampusMngBadge>(7, _omitFieldNames ? '' : 'badge',
        subBuilder: CampusMngBadge.create)
    ..aOS(8, _omitFieldNames ? '' : 'slogan')
    ..aOM<CampusMngQuiz>(9, _omitFieldNames ? '' : 'quiz',
        subBuilder: CampusMngQuiz.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngItem clone() => CampusMngItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngItem copyWith(void Function(CampusMngItem) updates) =>
      super.copyWith((message) => updates(message as CampusMngItem))
          as CampusMngItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngItem create() => CampusMngItem._();
  CampusMngItem createEmptyInstance() => create();
  static $pb.PbList<CampusMngItem> createRepeated() =>
      $pb.PbList<CampusMngItem>();
  @$core.pragma('dart2js:noInline')
  static CampusMngItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngItem>(create);
  static CampusMngItem? _defaultInstance;

  CampusMngItem_Item whichItem() => _CampusMngItem_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  $core.int get auditStatus => $_getIZ(0);
  @$pb.TagNumber(1)
  set auditStatus($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAuditStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearAuditStatus() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get auditMessage => $_getSZ(1);
  @$pb.TagNumber(2)
  set auditMessage($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAuditMessage() => $_has(1);
  @$pb.TagNumber(2)
  void clearAuditMessage() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get itemType => $_getIZ(2);
  @$pb.TagNumber(3)
  set itemType($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasItemType() => $_has(2);
  @$pb.TagNumber(3)
  void clearItemType() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get mngItemId => $_getSZ(3);
  @$pb.TagNumber(4)
  set mngItemId($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasMngItemId() => $_has(3);
  @$pb.TagNumber(4)
  void clearMngItemId() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isDel => $_getBF(4);
  @$pb.TagNumber(5)
  set isDel($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasIsDel() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsDel() => clearField(5);

  @$pb.TagNumber(6)
  CampusMngBasicInfo get basicInfo => $_getN(5);
  @$pb.TagNumber(6)
  set basicInfo(CampusMngBasicInfo v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBasicInfo() => $_has(5);
  @$pb.TagNumber(6)
  void clearBasicInfo() => clearField(6);
  @$pb.TagNumber(6)
  CampusMngBasicInfo ensureBasicInfo() => $_ensure(5);

  @$pb.TagNumber(7)
  CampusMngBadge get badge => $_getN(6);
  @$pb.TagNumber(7)
  set badge(CampusMngBadge v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBadge() => $_has(6);
  @$pb.TagNumber(7)
  void clearBadge() => clearField(7);
  @$pb.TagNumber(7)
  CampusMngBadge ensureBadge() => $_ensure(6);

  @$pb.TagNumber(8)
  $core.String get slogan => $_getSZ(7);
  @$pb.TagNumber(8)
  set slogan($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasSlogan() => $_has(7);
  @$pb.TagNumber(8)
  void clearSlogan() => clearField(8);

  @$pb.TagNumber(9)
  CampusMngQuiz get quiz => $_getN(8);
  @$pb.TagNumber(9)
  set quiz(CampusMngQuiz v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasQuiz() => $_has(8);
  @$pb.TagNumber(9)
  void clearQuiz() => clearField(9);
  @$pb.TagNumber(9)
  CampusMngQuiz ensureQuiz() => $_ensure(8);
}

class CampusMngQuiz extends $pb.GeneratedMessage {
  factory CampusMngQuiz({
    $core.String? title,
    CampusLabel? moreLabel,
    $core.String? addLabel,
    $core.String? submitLabel,
    $fixnum.Int64? quizCount,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (moreLabel != null) {
      $result.moreLabel = moreLabel;
    }
    if (addLabel != null) {
      $result.addLabel = addLabel;
    }
    if (submitLabel != null) {
      $result.submitLabel = submitLabel;
    }
    if (quizCount != null) {
      $result.quizCount = quizCount;
    }
    return $result;
  }
  CampusMngQuiz._() : super();
  factory CampusMngQuiz.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngQuiz.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngQuiz',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<CampusLabel>(2, _omitFieldNames ? '' : 'moreLabel',
        subBuilder: CampusLabel.create)
    ..aOS(3, _omitFieldNames ? '' : 'addLabel')
    ..aOS(4, _omitFieldNames ? '' : 'submitLabel')
    ..aInt64(5, _omitFieldNames ? '' : 'quizCount')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngQuiz clone() => CampusMngQuiz()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngQuiz copyWith(void Function(CampusMngQuiz) updates) =>
      super.copyWith((message) => updates(message as CampusMngQuiz))
          as CampusMngQuiz;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngQuiz create() => CampusMngQuiz._();
  CampusMngQuiz createEmptyInstance() => create();
  static $pb.PbList<CampusMngQuiz> createRepeated() =>
      $pb.PbList<CampusMngQuiz>();
  @$core.pragma('dart2js:noInline')
  static CampusMngQuiz getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngQuiz>(create);
  static CampusMngQuiz? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  CampusLabel get moreLabel => $_getN(1);
  @$pb.TagNumber(2)
  set moreLabel(CampusLabel v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMoreLabel() => $_has(1);
  @$pb.TagNumber(2)
  void clearMoreLabel() => clearField(2);
  @$pb.TagNumber(2)
  CampusLabel ensureMoreLabel() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.String get addLabel => $_getSZ(2);
  @$pb.TagNumber(3)
  set addLabel($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasAddLabel() => $_has(2);
  @$pb.TagNumber(3)
  void clearAddLabel() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get submitLabel => $_getSZ(3);
  @$pb.TagNumber(4)
  set submitLabel($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSubmitLabel() => $_has(3);
  @$pb.TagNumber(4)
  void clearSubmitLabel() => clearField(4);

  @$pb.TagNumber(5)
  $fixnum.Int64 get quizCount => $_getI64(4);
  @$pb.TagNumber(5)
  set quizCount($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasQuizCount() => $_has(4);
  @$pb.TagNumber(5)
  void clearQuizCount() => clearField(5);
}

class CampusMngQuizDetail extends $pb.GeneratedMessage {
  factory CampusMngQuizDetail({
    $fixnum.Int64? quizId,
    $core.String? question,
    $core.String? correctAnswer,
    $core.Iterable<$core.String>? wrongAnswerList,
    $core.int? auditStatus,
    $core.String? auditMessage,
  }) {
    final $result = create();
    if (quizId != null) {
      $result.quizId = quizId;
    }
    if (question != null) {
      $result.question = question;
    }
    if (correctAnswer != null) {
      $result.correctAnswer = correctAnswer;
    }
    if (wrongAnswerList != null) {
      $result.wrongAnswerList.addAll(wrongAnswerList);
    }
    if (auditStatus != null) {
      $result.auditStatus = auditStatus;
    }
    if (auditMessage != null) {
      $result.auditMessage = auditMessage;
    }
    return $result;
  }
  CampusMngQuizDetail._() : super();
  factory CampusMngQuizDetail.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngQuizDetail.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngQuizDetail',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'quizId')
    ..aOS(2, _omitFieldNames ? '' : 'question')
    ..aOS(3, _omitFieldNames ? '' : 'correctAnswer')
    ..pPS(4, _omitFieldNames ? '' : 'wrongAnswerList')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'auditStatus', $pb.PbFieldType.O3)
    ..aOS(6, _omitFieldNames ? '' : 'auditMessage')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngQuizDetail clone() => CampusMngQuizDetail()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngQuizDetail copyWith(void Function(CampusMngQuizDetail) updates) =>
      super.copyWith((message) => updates(message as CampusMngQuizDetail))
          as CampusMngQuizDetail;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngQuizDetail create() => CampusMngQuizDetail._();
  CampusMngQuizDetail createEmptyInstance() => create();
  static $pb.PbList<CampusMngQuizDetail> createRepeated() =>
      $pb.PbList<CampusMngQuizDetail>();
  @$core.pragma('dart2js:noInline')
  static CampusMngQuizDetail getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngQuizDetail>(create);
  static CampusMngQuizDetail? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get quizId => $_getI64(0);
  @$pb.TagNumber(1)
  set quizId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasQuizId() => $_has(0);
  @$pb.TagNumber(1)
  void clearQuizId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get question => $_getSZ(1);
  @$pb.TagNumber(2)
  set question($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasQuestion() => $_has(1);
  @$pb.TagNumber(2)
  void clearQuestion() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get correctAnswer => $_getSZ(2);
  @$pb.TagNumber(3)
  set correctAnswer($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCorrectAnswer() => $_has(2);
  @$pb.TagNumber(3)
  void clearCorrectAnswer() => clearField(3);

  @$pb.TagNumber(4)
  $core.List<$core.String> get wrongAnswerList => $_getList(3);

  @$pb.TagNumber(5)
  $core.int get auditStatus => $_getIZ(4);
  @$pb.TagNumber(5)
  set auditStatus($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasAuditStatus() => $_has(4);
  @$pb.TagNumber(5)
  void clearAuditStatus() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get auditMessage => $_getSZ(5);
  @$pb.TagNumber(6)
  set auditMessage($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAuditMessage() => $_has(5);
  @$pb.TagNumber(6)
  void clearAuditMessage() => clearField(6);
}

class CampusMngQuizOperateReply extends $pb.GeneratedMessage {
  factory CampusMngQuizOperateReply({
    $core.String? toast,
    $core.Iterable<CampusMngQuizDetail>? quiz,
    $fixnum.Int64? quizTotal,
  }) {
    final $result = create();
    if (toast != null) {
      $result.toast = toast;
    }
    if (quiz != null) {
      $result.quiz.addAll(quiz);
    }
    if (quizTotal != null) {
      $result.quizTotal = quizTotal;
    }
    return $result;
  }
  CampusMngQuizOperateReply._() : super();
  factory CampusMngQuizOperateReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngQuizOperateReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngQuizOperateReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'toast')
    ..pc<CampusMngQuizDetail>(
        2, _omitFieldNames ? '' : 'quiz', $pb.PbFieldType.PM,
        subBuilder: CampusMngQuizDetail.create)
    ..aInt64(3, _omitFieldNames ? '' : 'quizTotal')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngQuizOperateReply clone() =>
      CampusMngQuizOperateReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngQuizOperateReply copyWith(
          void Function(CampusMngQuizOperateReply) updates) =>
      super.copyWith((message) => updates(message as CampusMngQuizOperateReply))
          as CampusMngQuizOperateReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngQuizOperateReply create() => CampusMngQuizOperateReply._();
  CampusMngQuizOperateReply createEmptyInstance() => create();
  static $pb.PbList<CampusMngQuizOperateReply> createRepeated() =>
      $pb.PbList<CampusMngQuizOperateReply>();
  @$core.pragma('dart2js:noInline')
  static CampusMngQuizOperateReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngQuizOperateReply>(create);
  static CampusMngQuizOperateReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get toast => $_getSZ(0);
  @$pb.TagNumber(1)
  set toast($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasToast() => $_has(0);
  @$pb.TagNumber(1)
  void clearToast() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<CampusMngQuizDetail> get quiz => $_getList(1);

  @$pb.TagNumber(3)
  $fixnum.Int64 get quizTotal => $_getI64(2);
  @$pb.TagNumber(3)
  set quizTotal($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasQuizTotal() => $_has(2);
  @$pb.TagNumber(3)
  void clearQuizTotal() => clearField(3);
}

class CampusMngQuizOperateReq extends $pb.GeneratedMessage {
  factory CampusMngQuizOperateReq({
    $core.int? action,
    $fixnum.Int64? campusId,
    $core.Iterable<CampusMngQuizDetail>? quiz,
  }) {
    final $result = create();
    if (action != null) {
      $result.action = action;
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (quiz != null) {
      $result.quiz.addAll(quiz);
    }
    return $result;
  }
  CampusMngQuizOperateReq._() : super();
  factory CampusMngQuizOperateReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngQuizOperateReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngQuizOperateReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'action', $pb.PbFieldType.O3)
    ..aInt64(2, _omitFieldNames ? '' : 'campusId')
    ..pc<CampusMngQuizDetail>(
        3, _omitFieldNames ? '' : 'quiz', $pb.PbFieldType.PM,
        subBuilder: CampusMngQuizDetail.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngQuizOperateReq clone() =>
      CampusMngQuizOperateReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngQuizOperateReq copyWith(
          void Function(CampusMngQuizOperateReq) updates) =>
      super.copyWith((message) => updates(message as CampusMngQuizOperateReq))
          as CampusMngQuizOperateReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngQuizOperateReq create() => CampusMngQuizOperateReq._();
  CampusMngQuizOperateReq createEmptyInstance() => create();
  static $pb.PbList<CampusMngQuizOperateReq> createRepeated() =>
      $pb.PbList<CampusMngQuizOperateReq>();
  @$core.pragma('dart2js:noInline')
  static CampusMngQuizOperateReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngQuizOperateReq>(create);
  static CampusMngQuizOperateReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get action => $_getIZ(0);
  @$pb.TagNumber(1)
  set action($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAction() => $_has(0);
  @$pb.TagNumber(1)
  void clearAction() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get campusId => $_getI64(1);
  @$pb.TagNumber(2)
  set campusId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusId() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusId() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<CampusMngQuizDetail> get quiz => $_getList(2);
}

class CampusMngSlogan extends $pb.GeneratedMessage {
  factory CampusMngSlogan({
    $core.String? title,
    $core.String? slogan,
    $core.String? inputHintMsg,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (slogan != null) {
      $result.slogan = slogan;
    }
    if (inputHintMsg != null) {
      $result.inputHintMsg = inputHintMsg;
    }
    return $result;
  }
  CampusMngSlogan._() : super();
  factory CampusMngSlogan.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngSlogan.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngSlogan',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'slogan')
    ..aOS(3, _omitFieldNames ? '' : 'inputHintMsg')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngSlogan clone() => CampusMngSlogan()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngSlogan copyWith(void Function(CampusMngSlogan) updates) =>
      super.copyWith((message) => updates(message as CampusMngSlogan))
          as CampusMngSlogan;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngSlogan create() => CampusMngSlogan._();
  CampusMngSlogan createEmptyInstance() => create();
  static $pb.PbList<CampusMngSlogan> createRepeated() =>
      $pb.PbList<CampusMngSlogan>();
  @$core.pragma('dart2js:noInline')
  static CampusMngSlogan getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngSlogan>(create);
  static CampusMngSlogan? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get slogan => $_getSZ(1);
  @$pb.TagNumber(2)
  set slogan($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSlogan() => $_has(1);
  @$pb.TagNumber(2)
  void clearSlogan() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get inputHintMsg => $_getSZ(2);
  @$pb.TagNumber(3)
  set inputHintMsg($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasInputHintMsg() => $_has(2);
  @$pb.TagNumber(3)
  void clearInputHintMsg() => clearField(3);
}

class CampusMngSubmitReply extends $pb.GeneratedMessage {
  factory CampusMngSubmitReply({
    $core.String? toast,
  }) {
    final $result = create();
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  CampusMngSubmitReply._() : super();
  factory CampusMngSubmitReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngSubmitReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngSubmitReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'toast')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngSubmitReply clone() =>
      CampusMngSubmitReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngSubmitReply copyWith(void Function(CampusMngSubmitReply) updates) =>
      super.copyWith((message) => updates(message as CampusMngSubmitReply))
          as CampusMngSubmitReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngSubmitReply create() => CampusMngSubmitReply._();
  CampusMngSubmitReply createEmptyInstance() => create();
  static $pb.PbList<CampusMngSubmitReply> createRepeated() =>
      $pb.PbList<CampusMngSubmitReply>();
  @$core.pragma('dart2js:noInline')
  static CampusMngSubmitReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngSubmitReply>(create);
  static CampusMngSubmitReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get toast => $_getSZ(0);
  @$pb.TagNumber(1)
  set toast($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasToast() => $_has(0);
  @$pb.TagNumber(1)
  void clearToast() => clearField(1);
}

class CampusMngSubmitReq extends $pb.GeneratedMessage {
  factory CampusMngSubmitReq({
    $fixnum.Int64? campusId,
    $core.Iterable<CampusMngItem>? modifiedItems,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (modifiedItems != null) {
      $result.modifiedItems.addAll(modifiedItems);
    }
    return $result;
  }
  CampusMngSubmitReq._() : super();
  factory CampusMngSubmitReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusMngSubmitReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusMngSubmitReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..pc<CampusMngItem>(
        2, _omitFieldNames ? '' : 'modifiedItems', $pb.PbFieldType.PM,
        subBuilder: CampusMngItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusMngSubmitReq clone() => CampusMngSubmitReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusMngSubmitReq copyWith(void Function(CampusMngSubmitReq) updates) =>
      super.copyWith((message) => updates(message as CampusMngSubmitReq))
          as CampusMngSubmitReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusMngSubmitReq create() => CampusMngSubmitReq._();
  CampusMngSubmitReq createEmptyInstance() => create();
  static $pb.PbList<CampusMngSubmitReq> createRepeated() =>
      $pb.PbList<CampusMngSubmitReq>();
  @$core.pragma('dart2js:noInline')
  static CampusMngSubmitReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusMngSubmitReq>(create);
  static CampusMngSubmitReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<CampusMngItem> get modifiedItems => $_getList(1);
}

class CampusNoticeInfo extends $pb.GeneratedMessage {
  factory CampusNoticeInfo({
    $core.String? title,
    $core.String? desc,
    CampusLabel? button,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (button != null) {
      $result.button = button;
    }
    return $result;
  }
  CampusNoticeInfo._() : super();
  factory CampusNoticeInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusNoticeInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusNoticeInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOM<CampusLabel>(3, _omitFieldNames ? '' : 'button',
        subBuilder: CampusLabel.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusNoticeInfo clone() => CampusNoticeInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusNoticeInfo copyWith(void Function(CampusNoticeInfo) updates) =>
      super.copyWith((message) => updates(message as CampusNoticeInfo))
          as CampusNoticeInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusNoticeInfo create() => CampusNoticeInfo._();
  CampusNoticeInfo createEmptyInstance() => create();
  static $pb.PbList<CampusNoticeInfo> createRepeated() =>
      $pb.PbList<CampusNoticeInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusNoticeInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusNoticeInfo>(create);
  static CampusNoticeInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  @$pb.TagNumber(3)
  CampusLabel get button => $_getN(2);
  @$pb.TagNumber(3)
  set button(CampusLabel v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasButton() => $_has(2);
  @$pb.TagNumber(3)
  void clearButton() => clearField(3);
  @$pb.TagNumber(3)
  CampusLabel ensureButton() => $_ensure(2);
}

class CampusRcmdFeedReply extends $pb.GeneratedMessage {
  factory CampusRcmdFeedReply({
    $core.Iterable<DynamicItem>? list,
    $core.String? toast,
    GuideBarInfo? guideBar,
    $core.bool? hasMore,
    $core.bool? update,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (toast != null) {
      $result.toast = toast;
    }
    if (guideBar != null) {
      $result.guideBar = guideBar;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (update != null) {
      $result.update = update;
    }
    return $result;
  }
  CampusRcmdFeedReply._() : super();
  factory CampusRcmdFeedReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdFeedReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdFeedReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'toast')
    ..aOM<GuideBarInfo>(3, _omitFieldNames ? '' : 'guideBar',
        subBuilder: GuideBarInfo.create)
    ..aOB(4, _omitFieldNames ? '' : 'hasMore')
    ..aOB(5, _omitFieldNames ? '' : 'update')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdFeedReply clone() => CampusRcmdFeedReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdFeedReply copyWith(void Function(CampusRcmdFeedReply) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdFeedReply))
          as CampusRcmdFeedReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdFeedReply create() => CampusRcmdFeedReply._();
  CampusRcmdFeedReply createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdFeedReply> createRepeated() =>
      $pb.PbList<CampusRcmdFeedReply>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdFeedReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdFeedReply>(create);
  static CampusRcmdFeedReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  @$pb.TagNumber(2)
  $core.String get toast => $_getSZ(1);
  @$pb.TagNumber(2)
  set toast($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasToast() => $_has(1);
  @$pb.TagNumber(2)
  void clearToast() => clearField(2);

  @$pb.TagNumber(3)
  GuideBarInfo get guideBar => $_getN(2);
  @$pb.TagNumber(3)
  set guideBar(GuideBarInfo v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasGuideBar() => $_has(2);
  @$pb.TagNumber(3)
  void clearGuideBar() => clearField(3);
  @$pb.TagNumber(3)
  GuideBarInfo ensureGuideBar() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.bool get hasMore => $_getBF(3);
  @$pb.TagNumber(4)
  set hasMore($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasHasMore() => $_has(3);
  @$pb.TagNumber(4)
  void clearHasMore() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get update => $_getBF(4);
  @$pb.TagNumber(5)
  set update($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUpdate() => $_has(4);
  @$pb.TagNumber(5)
  void clearUpdate() => clearField(5);
}

class CampusRcmdFeedReq extends $pb.GeneratedMessage {
  factory CampusRcmdFeedReq({
    $fixnum.Int64? campusId,
    $core.int? firstTime,
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    $core.int? page,
    $core.int? scroll,
    $core.String? viewDynId,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (firstTime != null) {
      $result.firstTime = firstTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (page != null) {
      $result.page = page;
    }
    if (scroll != null) {
      $result.scroll = scroll;
    }
    if (viewDynId != null) {
      $result.viewDynId = viewDynId;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  CampusRcmdFeedReq._() : super();
  factory CampusRcmdFeedReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdFeedReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdFeedReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'firstTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'scroll', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'viewDynId')
    ..e<CampusReqFromType>(
        8, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdFeedReq clone() => CampusRcmdFeedReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdFeedReq copyWith(void Function(CampusRcmdFeedReq) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdFeedReq))
          as CampusRcmdFeedReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdFeedReq create() => CampusRcmdFeedReq._();
  CampusRcmdFeedReq createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdFeedReq> createRepeated() =>
      $pb.PbList<CampusRcmdFeedReq>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdFeedReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdFeedReq>(create);
  static CampusRcmdFeedReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get firstTime => $_getIZ(1);
  @$pb.TagNumber(2)
  set firstTime($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFirstTime() => $_has(1);
  @$pb.TagNumber(2)
  void clearFirstTime() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.int get localTime => $_getIZ(3);
  @$pb.TagNumber(4)
  set localTime($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLocalTime() => $_has(3);
  @$pb.TagNumber(4)
  void clearLocalTime() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get page => $_getIZ(4);
  @$pb.TagNumber(5)
  set page($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPage() => $_has(4);
  @$pb.TagNumber(5)
  void clearPage() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get scroll => $_getIZ(5);
  @$pb.TagNumber(6)
  set scroll($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasScroll() => $_has(5);
  @$pb.TagNumber(6)
  void clearScroll() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get viewDynId => $_getSZ(6);
  @$pb.TagNumber(7)
  set viewDynId($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasViewDynId() => $_has(6);
  @$pb.TagNumber(7)
  void clearViewDynId() => clearField(7);

  @$pb.TagNumber(8)
  CampusReqFromType get fromType => $_getN(7);
  @$pb.TagNumber(8)
  set fromType(CampusReqFromType v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasFromType() => $_has(7);
  @$pb.TagNumber(8)
  void clearFromType() => clearField(8);
}

class CampusRcmdInfo extends $pb.GeneratedMessage {
  factory CampusRcmdInfo({
    $core.String? title,
    $core.Iterable<CampusRcmdItem>? items,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  CampusRcmdInfo._() : super();
  factory CampusRcmdInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<CampusRcmdItem>(2, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: CampusRcmdItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdInfo clone() => CampusRcmdInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdInfo copyWith(void Function(CampusRcmdInfo) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdInfo))
          as CampusRcmdInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdInfo create() => CampusRcmdInfo._();
  CampusRcmdInfo createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdInfo> createRepeated() =>
      $pb.PbList<CampusRcmdInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdInfo>(create);
  static CampusRcmdInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<CampusRcmdItem> get items => $_getList(1);
}

class CampusRcmdItem extends $pb.GeneratedMessage {
  factory CampusRcmdItem({
    $core.String? title,
    $core.Iterable<RcmdItem>? items,
    $fixnum.Int64? campusId,
    CampusLabel? entryLabel,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (entryLabel != null) {
      $result.entryLabel = entryLabel;
    }
    return $result;
  }
  CampusRcmdItem._() : super();
  factory CampusRcmdItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<RcmdItem>(2, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: RcmdItem.create)
    ..aInt64(3, _omitFieldNames ? '' : 'campusId')
    ..aOM<CampusLabel>(4, _omitFieldNames ? '' : 'entryLabel',
        subBuilder: CampusLabel.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdItem clone() => CampusRcmdItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdItem copyWith(void Function(CampusRcmdItem) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdItem))
          as CampusRcmdItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdItem create() => CampusRcmdItem._();
  CampusRcmdItem createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdItem> createRepeated() =>
      $pb.PbList<CampusRcmdItem>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdItem>(create);
  static CampusRcmdItem? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<RcmdItem> get items => $_getList(1);

  @$pb.TagNumber(3)
  $fixnum.Int64 get campusId => $_getI64(2);
  @$pb.TagNumber(3)
  set campusId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCampusId() => $_has(2);
  @$pb.TagNumber(3)
  void clearCampusId() => clearField(3);

  @$pb.TagNumber(4)
  CampusLabel get entryLabel => $_getN(3);
  @$pb.TagNumber(4)
  set entryLabel(CampusLabel v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasEntryLabel() => $_has(3);
  @$pb.TagNumber(4)
  void clearEntryLabel() => clearField(4);
  @$pb.TagNumber(4)
  CampusLabel ensureEntryLabel() => $_ensure(3);
}

class CampusRcmdReply extends $pb.GeneratedMessage {
  factory CampusRcmdReply({
    CampusRcmdTop? top,
    CampusRcmdInfo? rcmd,
    CampusTop? campusTop,
    $core.int? pageType,
    $core.int? jumpHomePop,
  }) {
    final $result = create();
    if (top != null) {
      $result.top = top;
    }
    if (rcmd != null) {
      $result.rcmd = rcmd;
    }
    if (campusTop != null) {
      $result.campusTop = campusTop;
    }
    if (pageType != null) {
      $result.pageType = pageType;
    }
    if (jumpHomePop != null) {
      $result.jumpHomePop = jumpHomePop;
    }
    return $result;
  }
  CampusRcmdReply._() : super();
  factory CampusRcmdReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<CampusRcmdTop>(1, _omitFieldNames ? '' : 'top',
        subBuilder: CampusRcmdTop.create)
    ..aOM<CampusRcmdInfo>(2, _omitFieldNames ? '' : 'rcmd',
        subBuilder: CampusRcmdInfo.create)
    ..aOM<CampusTop>(3, _omitFieldNames ? '' : 'campusTop',
        subBuilder: CampusTop.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'pageType', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'jumpHomePop', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdReply clone() => CampusRcmdReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdReply copyWith(void Function(CampusRcmdReply) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdReply))
          as CampusRcmdReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdReply create() => CampusRcmdReply._();
  CampusRcmdReply createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdReply> createRepeated() =>
      $pb.PbList<CampusRcmdReply>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdReply>(create);
  static CampusRcmdReply? _defaultInstance;

  @$pb.TagNumber(1)
  CampusRcmdTop get top => $_getN(0);
  @$pb.TagNumber(1)
  set top(CampusRcmdTop v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTop() => $_has(0);
  @$pb.TagNumber(1)
  void clearTop() => clearField(1);
  @$pb.TagNumber(1)
  CampusRcmdTop ensureTop() => $_ensure(0);

  @$pb.TagNumber(2)
  CampusRcmdInfo get rcmd => $_getN(1);
  @$pb.TagNumber(2)
  set rcmd(CampusRcmdInfo v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRcmd() => $_has(1);
  @$pb.TagNumber(2)
  void clearRcmd() => clearField(2);
  @$pb.TagNumber(2)
  CampusRcmdInfo ensureRcmd() => $_ensure(1);

  @$pb.TagNumber(3)
  CampusTop get campusTop => $_getN(2);
  @$pb.TagNumber(3)
  set campusTop(CampusTop v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCampusTop() => $_has(2);
  @$pb.TagNumber(3)
  void clearCampusTop() => clearField(3);
  @$pb.TagNumber(3)
  CampusTop ensureCampusTop() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.int get pageType => $_getIZ(3);
  @$pb.TagNumber(4)
  set pageType($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPageType() => $_has(3);
  @$pb.TagNumber(4)
  void clearPageType() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get jumpHomePop => $_getIZ(4);
  @$pb.TagNumber(5)
  set jumpHomePop($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasJumpHomePop() => $_has(4);
  @$pb.TagNumber(5)
  void clearJumpHomePop() => clearField(5);
}

class CampusRcmdReq extends $pb.GeneratedMessage {
  factory CampusRcmdReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.double? lat,
    $core.double? lng,
    $1.PlayerArgs? playerArgs,
    CampusReqFromType? fromType,
    CampusHomePageType? pageType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (lat != null) {
      $result.lat = lat;
    }
    if (lng != null) {
      $result.lng = lng;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    if (pageType != null) {
      $result.pageType = pageType;
    }
    return $result;
  }
  CampusRcmdReq._() : super();
  factory CampusRcmdReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..a<$core.double>(3, _omitFieldNames ? '' : 'lat', $pb.PbFieldType.OD)
    ..a<$core.double>(4, _omitFieldNames ? '' : 'lng', $pb.PbFieldType.OD)
    ..aOM<$1.PlayerArgs>(5, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..e<CampusReqFromType>(
        6, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..e<CampusHomePageType>(
        7, _omitFieldNames ? '' : 'pageType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusHomePageType.PAGE_MAJOR,
        valueOf: CampusHomePageType.valueOf,
        enumValues: CampusHomePageType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdReq clone() => CampusRcmdReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdReq copyWith(void Function(CampusRcmdReq) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdReq))
          as CampusRcmdReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdReq create() => CampusRcmdReq._();
  CampusRcmdReq createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdReq> createRepeated() =>
      $pb.PbList<CampusRcmdReq>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdReq>(create);
  static CampusRcmdReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get lat => $_getN(2);
  @$pb.TagNumber(3)
  set lat($core.double v) {
    $_setDouble(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLat() => $_has(2);
  @$pb.TagNumber(3)
  void clearLat() => clearField(3);

  @$pb.TagNumber(4)
  $core.double get lng => $_getN(3);
  @$pb.TagNumber(4)
  set lng($core.double v) {
    $_setDouble(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLng() => $_has(3);
  @$pb.TagNumber(4)
  void clearLng() => clearField(4);

  @$pb.TagNumber(5)
  $1.PlayerArgs get playerArgs => $_getN(4);
  @$pb.TagNumber(5)
  set playerArgs($1.PlayerArgs v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayerArgs() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayerArgs() => clearField(5);
  @$pb.TagNumber(5)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(4);

  @$pb.TagNumber(6)
  CampusReqFromType get fromType => $_getN(5);
  @$pb.TagNumber(6)
  set fromType(CampusReqFromType v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFromType() => $_has(5);
  @$pb.TagNumber(6)
  void clearFromType() => clearField(6);

  @$pb.TagNumber(7)
  CampusHomePageType get pageType => $_getN(6);
  @$pb.TagNumber(7)
  set pageType(CampusHomePageType v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPageType() => $_has(6);
  @$pb.TagNumber(7)
  void clearPageType() => clearField(7);
}

class CampusRcmdTop extends $pb.GeneratedMessage {
  factory CampusRcmdTop({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.String? title,
    $core.String? desc,
    $core.int? type,
    RcmdTopButton? button,
    CampusLabel? switchLabel,
    CampusLabel? noticeLabel,
    $core.String? desc2,
    $core.String? desc3,
    CampusLabel? inviteLabel,
    CampusLabel? reserveLabel,
    $fixnum.Int64? reserveNumber,
    $fixnum.Int64? maxReserve,
    CampusLabel? schoolLabel,
    CampusLabel? mngLabel,
    CampusHomeRcmdTopic? rcmdTopic,
    $core.bool? auditBeforeOpen,
    $core.String? auditMessage,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (type != null) {
      $result.type = type;
    }
    if (button != null) {
      $result.button = button;
    }
    if (switchLabel != null) {
      $result.switchLabel = switchLabel;
    }
    if (noticeLabel != null) {
      $result.noticeLabel = noticeLabel;
    }
    if (desc2 != null) {
      $result.desc2 = desc2;
    }
    if (desc3 != null) {
      $result.desc3 = desc3;
    }
    if (inviteLabel != null) {
      $result.inviteLabel = inviteLabel;
    }
    if (reserveLabel != null) {
      $result.reserveLabel = reserveLabel;
    }
    if (reserveNumber != null) {
      $result.reserveNumber = reserveNumber;
    }
    if (maxReserve != null) {
      $result.maxReserve = maxReserve;
    }
    if (schoolLabel != null) {
      $result.schoolLabel = schoolLabel;
    }
    if (mngLabel != null) {
      $result.mngLabel = mngLabel;
    }
    if (rcmdTopic != null) {
      $result.rcmdTopic = rcmdTopic;
    }
    if (auditBeforeOpen != null) {
      $result.auditBeforeOpen = auditBeforeOpen;
    }
    if (auditMessage != null) {
      $result.auditMessage = auditMessage;
    }
    return $result;
  }
  CampusRcmdTop._() : super();
  factory CampusRcmdTop.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRcmdTop.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRcmdTop',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..aOM<RcmdTopButton>(6, _omitFieldNames ? '' : 'button',
        subBuilder: RcmdTopButton.create)
    ..aOM<CampusLabel>(7, _omitFieldNames ? '' : 'switchLabel',
        subBuilder: CampusLabel.create)
    ..aOM<CampusLabel>(8, _omitFieldNames ? '' : 'noticeLabel',
        subBuilder: CampusLabel.create)
    ..aOS(9, _omitFieldNames ? '' : 'desc2')
    ..aOS(10, _omitFieldNames ? '' : 'desc3')
    ..aOM<CampusLabel>(11, _omitFieldNames ? '' : 'inviteLabel',
        subBuilder: CampusLabel.create)
    ..aOM<CampusLabel>(12, _omitFieldNames ? '' : 'reserveLabel',
        subBuilder: CampusLabel.create)
    ..aInt64(13, _omitFieldNames ? '' : 'reserveNumber')
    ..aInt64(14, _omitFieldNames ? '' : 'maxReserve')
    ..aOM<CampusLabel>(15, _omitFieldNames ? '' : 'schoolLabel',
        subBuilder: CampusLabel.create)
    ..aOM<CampusLabel>(16, _omitFieldNames ? '' : 'mngLabel',
        subBuilder: CampusLabel.create)
    ..aOM<CampusHomeRcmdTopic>(17, _omitFieldNames ? '' : 'rcmdTopic',
        subBuilder: CampusHomeRcmdTopic.create)
    ..aOB(18, _omitFieldNames ? '' : 'auditBeforeOpen')
    ..aOS(19, _omitFieldNames ? '' : 'auditMessage')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRcmdTop clone() => CampusRcmdTop()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRcmdTop copyWith(void Function(CampusRcmdTop) updates) =>
      super.copyWith((message) => updates(message as CampusRcmdTop))
          as CampusRcmdTop;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRcmdTop create() => CampusRcmdTop._();
  CampusRcmdTop createEmptyInstance() => create();
  static $pb.PbList<CampusRcmdTop> createRepeated() =>
      $pb.PbList<CampusRcmdTop>();
  @$core.pragma('dart2js:noInline')
  static CampusRcmdTop getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRcmdTop>(create);
  static CampusRcmdTop? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get type => $_getIZ(4);
  @$pb.TagNumber(5)
  set type($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(5)
  void clearType() => clearField(5);

  @$pb.TagNumber(6)
  RcmdTopButton get button => $_getN(5);
  @$pb.TagNumber(6)
  set button(RcmdTopButton v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasButton() => $_has(5);
  @$pb.TagNumber(6)
  void clearButton() => clearField(6);
  @$pb.TagNumber(6)
  RcmdTopButton ensureButton() => $_ensure(5);

  @$pb.TagNumber(7)
  CampusLabel get switchLabel => $_getN(6);
  @$pb.TagNumber(7)
  set switchLabel(CampusLabel v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasSwitchLabel() => $_has(6);
  @$pb.TagNumber(7)
  void clearSwitchLabel() => clearField(7);
  @$pb.TagNumber(7)
  CampusLabel ensureSwitchLabel() => $_ensure(6);

  @$pb.TagNumber(8)
  CampusLabel get noticeLabel => $_getN(7);
  @$pb.TagNumber(8)
  set noticeLabel(CampusLabel v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasNoticeLabel() => $_has(7);
  @$pb.TagNumber(8)
  void clearNoticeLabel() => clearField(8);
  @$pb.TagNumber(8)
  CampusLabel ensureNoticeLabel() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.String get desc2 => $_getSZ(8);
  @$pb.TagNumber(9)
  set desc2($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasDesc2() => $_has(8);
  @$pb.TagNumber(9)
  void clearDesc2() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get desc3 => $_getSZ(9);
  @$pb.TagNumber(10)
  set desc3($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasDesc3() => $_has(9);
  @$pb.TagNumber(10)
  void clearDesc3() => clearField(10);

  @$pb.TagNumber(11)
  CampusLabel get inviteLabel => $_getN(10);
  @$pb.TagNumber(11)
  set inviteLabel(CampusLabel v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasInviteLabel() => $_has(10);
  @$pb.TagNumber(11)
  void clearInviteLabel() => clearField(11);
  @$pb.TagNumber(11)
  CampusLabel ensureInviteLabel() => $_ensure(10);

  @$pb.TagNumber(12)
  CampusLabel get reserveLabel => $_getN(11);
  @$pb.TagNumber(12)
  set reserveLabel(CampusLabel v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasReserveLabel() => $_has(11);
  @$pb.TagNumber(12)
  void clearReserveLabel() => clearField(12);
  @$pb.TagNumber(12)
  CampusLabel ensureReserveLabel() => $_ensure(11);

  @$pb.TagNumber(13)
  $fixnum.Int64 get reserveNumber => $_getI64(12);
  @$pb.TagNumber(13)
  set reserveNumber($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasReserveNumber() => $_has(12);
  @$pb.TagNumber(13)
  void clearReserveNumber() => clearField(13);

  @$pb.TagNumber(14)
  $fixnum.Int64 get maxReserve => $_getI64(13);
  @$pb.TagNumber(14)
  set maxReserve($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasMaxReserve() => $_has(13);
  @$pb.TagNumber(14)
  void clearMaxReserve() => clearField(14);

  @$pb.TagNumber(15)
  CampusLabel get schoolLabel => $_getN(14);
  @$pb.TagNumber(15)
  set schoolLabel(CampusLabel v) {
    setField(15, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasSchoolLabel() => $_has(14);
  @$pb.TagNumber(15)
  void clearSchoolLabel() => clearField(15);
  @$pb.TagNumber(15)
  CampusLabel ensureSchoolLabel() => $_ensure(14);

  @$pb.TagNumber(16)
  CampusLabel get mngLabel => $_getN(15);
  @$pb.TagNumber(16)
  set mngLabel(CampusLabel v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasMngLabel() => $_has(15);
  @$pb.TagNumber(16)
  void clearMngLabel() => clearField(16);
  @$pb.TagNumber(16)
  CampusLabel ensureMngLabel() => $_ensure(15);

  @$pb.TagNumber(17)
  CampusHomeRcmdTopic get rcmdTopic => $_getN(16);
  @$pb.TagNumber(17)
  set rcmdTopic(CampusHomeRcmdTopic v) {
    setField(17, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasRcmdTopic() => $_has(16);
  @$pb.TagNumber(17)
  void clearRcmdTopic() => clearField(17);
  @$pb.TagNumber(17)
  CampusHomeRcmdTopic ensureRcmdTopic() => $_ensure(16);

  @$pb.TagNumber(18)
  $core.bool get auditBeforeOpen => $_getBF(17);
  @$pb.TagNumber(18)
  set auditBeforeOpen($core.bool v) {
    $_setBool(17, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasAuditBeforeOpen() => $_has(17);
  @$pb.TagNumber(18)
  void clearAuditBeforeOpen() => clearField(18);

  @$pb.TagNumber(19)
  $core.String get auditMessage => $_getSZ(18);
  @$pb.TagNumber(19)
  set auditMessage($core.String v) {
    $_setString(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasAuditMessage() => $_has(18);
  @$pb.TagNumber(19)
  void clearAuditMessage() => clearField(19);
}

class CampusRecommendReply extends $pb.GeneratedMessage {
  factory CampusRecommendReply({
    $core.Iterable<RcmdItem>? items,
    $core.bool? hasMore,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    return $result;
  }
  CampusRecommendReply._() : super();
  factory CampusRecommendReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRecommendReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRecommendReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<RcmdItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: RcmdItem.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRecommendReply clone() =>
      CampusRecommendReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRecommendReply copyWith(void Function(CampusRecommendReply) updates) =>
      super.copyWith((message) => updates(message as CampusRecommendReply))
          as CampusRecommendReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRecommendReply create() => CampusRecommendReply._();
  CampusRecommendReply createEmptyInstance() => create();
  static $pb.PbList<CampusRecommendReply> createRepeated() =>
      $pb.PbList<CampusRecommendReply>();
  @$core.pragma('dart2js:noInline')
  static CampusRecommendReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRecommendReply>(create);
  static CampusRecommendReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<RcmdItem> get items => $_getList(0);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);
}

class CampusRecommendReq extends $pb.GeneratedMessage {
  factory CampusRecommendReq({
    $fixnum.Int64? campusId,
    $fixnum.Int64? pageNo,
    $1.PlayerArgs? playerArgs,
    CampusRcmdReqFrom? from,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (pageNo != null) {
      $result.pageNo = pageNo;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (from != null) {
      $result.from = from;
    }
    return $result;
  }
  CampusRecommendReq._() : super();
  factory CampusRecommendReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRecommendReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRecommendReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aInt64(2, _omitFieldNames ? '' : 'pageNo')
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..e<CampusRcmdReqFrom>(4, _omitFieldNames ? '' : 'from', $pb.PbFieldType.OE,
        defaultOrMaker: CampusRcmdReqFrom.CAMPUS_RCMD_FROM_UNKNOWN,
        valueOf: CampusRcmdReqFrom.valueOf,
        enumValues: CampusRcmdReqFrom.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRecommendReq clone() => CampusRecommendReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRecommendReq copyWith(void Function(CampusRecommendReq) updates) =>
      super.copyWith((message) => updates(message as CampusRecommendReq))
          as CampusRecommendReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRecommendReq create() => CampusRecommendReq._();
  CampusRecommendReq createEmptyInstance() => create();
  static $pb.PbList<CampusRecommendReq> createRepeated() =>
      $pb.PbList<CampusRecommendReq>();
  @$core.pragma('dart2js:noInline')
  static CampusRecommendReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRecommendReq>(create);
  static CampusRecommendReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get pageNo => $_getI64(1);
  @$pb.TagNumber(2)
  set pageNo($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPageNo() => $_has(1);
  @$pb.TagNumber(2)
  void clearPageNo() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(4)
  CampusRcmdReqFrom get from => $_getN(3);
  @$pb.TagNumber(4)
  set from(CampusRcmdReqFrom v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasFrom() => $_has(3);
  @$pb.TagNumber(4)
  void clearFrom() => clearField(4);
}

class CampusRedDotReply extends $pb.GeneratedMessage {
  factory CampusRedDotReply({
    $core.int? redDot,
  }) {
    final $result = create();
    if (redDot != null) {
      $result.redDot = redDot;
    }
    return $result;
  }
  CampusRedDotReply._() : super();
  factory CampusRedDotReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRedDotReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRedDotReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'redDot', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRedDotReply clone() => CampusRedDotReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRedDotReply copyWith(void Function(CampusRedDotReply) updates) =>
      super.copyWith((message) => updates(message as CampusRedDotReply))
          as CampusRedDotReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRedDotReply create() => CampusRedDotReply._();
  CampusRedDotReply createEmptyInstance() => create();
  static $pb.PbList<CampusRedDotReply> createRepeated() =>
      $pb.PbList<CampusRedDotReply>();
  @$core.pragma('dart2js:noInline')
  static CampusRedDotReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRedDotReply>(create);
  static CampusRedDotReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get redDot => $_getIZ(0);
  @$pb.TagNumber(1)
  set redDot($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRedDot() => $_has(0);
  @$pb.TagNumber(1)
  void clearRedDot() => clearField(1);
}

class CampusRedDotReq extends $pb.GeneratedMessage {
  factory CampusRedDotReq({
    $fixnum.Int64? campusId,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  CampusRedDotReq._() : super();
  factory CampusRedDotReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusRedDotReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusRedDotReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..e<CampusReqFromType>(
        2, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusRedDotReq clone() => CampusRedDotReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusRedDotReq copyWith(void Function(CampusRedDotReq) updates) =>
      super.copyWith((message) => updates(message as CampusRedDotReq))
          as CampusRedDotReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusRedDotReq create() => CampusRedDotReq._();
  CampusRedDotReq createEmptyInstance() => create();
  static $pb.PbList<CampusRedDotReq> createRepeated() =>
      $pb.PbList<CampusRedDotReq>();
  @$core.pragma('dart2js:noInline')
  static CampusRedDotReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusRedDotReq>(create);
  static CampusRedDotReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  CampusReqFromType get fromType => $_getN(1);
  @$pb.TagNumber(2)
  set fromType(CampusReqFromType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFromType() => $_has(1);
  @$pb.TagNumber(2)
  void clearFromType() => clearField(2);
}

class CampusShowTabInfo extends $pb.GeneratedMessage {
  factory CampusShowTabInfo({
    $core.String? name,
    $core.String? url,
    $core.int? type,
    $core.int? redDot,
    $core.String? iconUrl,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (url != null) {
      $result.url = url;
    }
    if (type != null) {
      $result.type = type;
    }
    if (redDot != null) {
      $result.redDot = redDot;
    }
    if (iconUrl != null) {
      $result.iconUrl = iconUrl;
    }
    return $result;
  }
  CampusShowTabInfo._() : super();
  factory CampusShowTabInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusShowTabInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusShowTabInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'name')
    ..aOS(2, _omitFieldNames ? '' : 'url')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'redDot', $pb.PbFieldType.O3)
    ..aOS(5, _omitFieldNames ? '' : 'iconUrl')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusShowTabInfo clone() => CampusShowTabInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusShowTabInfo copyWith(void Function(CampusShowTabInfo) updates) =>
      super.copyWith((message) => updates(message as CampusShowTabInfo))
          as CampusShowTabInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusShowTabInfo create() => CampusShowTabInfo._();
  CampusShowTabInfo createEmptyInstance() => create();
  static $pb.PbList<CampusShowTabInfo> createRepeated() =>
      $pb.PbList<CampusShowTabInfo>();
  @$core.pragma('dart2js:noInline')
  static CampusShowTabInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusShowTabInfo>(create);
  static CampusShowTabInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get url => $_getSZ(1);
  @$pb.TagNumber(2)
  set url($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearUrl() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get type => $_getIZ(2);
  @$pb.TagNumber(3)
  set type($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasType() => $_has(2);
  @$pb.TagNumber(3)
  void clearType() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get redDot => $_getIZ(3);
  @$pb.TagNumber(4)
  set redDot($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRedDot() => $_has(3);
  @$pb.TagNumber(4)
  void clearRedDot() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get iconUrl => $_getSZ(4);
  @$pb.TagNumber(5)
  set iconUrl($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasIconUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearIconUrl() => clearField(5);
}

class CampusSquareReply extends $pb.GeneratedMessage {
  factory CampusSquareReply({
    $core.String? title,
    $core.Iterable<RcmdCampusBrief>? list,
    CampusLabel? button,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (button != null) {
      $result.button = button;
    }
    return $result;
  }
  CampusSquareReply._() : super();
  factory CampusSquareReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusSquareReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusSquareReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<RcmdCampusBrief>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: RcmdCampusBrief.create)
    ..aOM<CampusLabel>(3, _omitFieldNames ? '' : 'button',
        subBuilder: CampusLabel.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusSquareReply clone() => CampusSquareReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusSquareReply copyWith(void Function(CampusSquareReply) updates) =>
      super.copyWith((message) => updates(message as CampusSquareReply))
          as CampusSquareReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusSquareReply create() => CampusSquareReply._();
  CampusSquareReply createEmptyInstance() => create();
  static $pb.PbList<CampusSquareReply> createRepeated() =>
      $pb.PbList<CampusSquareReply>();
  @$core.pragma('dart2js:noInline')
  static CampusSquareReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusSquareReply>(create);
  static CampusSquareReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<RcmdCampusBrief> get list => $_getList(1);

  @$pb.TagNumber(3)
  CampusLabel get button => $_getN(2);
  @$pb.TagNumber(3)
  set button(CampusLabel v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasButton() => $_has(2);
  @$pb.TagNumber(3)
  void clearButton() => clearField(3);
  @$pb.TagNumber(3)
  CampusLabel ensureButton() => $_ensure(2);
}

class CampusSquareReq extends $pb.GeneratedMessage {
  factory CampusSquareReq({
    $fixnum.Int64? campusId,
    $core.double? lat,
    $core.double? lng,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (lat != null) {
      $result.lat = lat;
    }
    if (lng != null) {
      $result.lng = lng;
    }
    return $result;
  }
  CampusSquareReq._() : super();
  factory CampusSquareReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusSquareReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusSquareReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..a<$core.double>(2, _omitFieldNames ? '' : 'lat', $pb.PbFieldType.OD)
    ..a<$core.double>(3, _omitFieldNames ? '' : 'lng', $pb.PbFieldType.OD)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusSquareReq clone() => CampusSquareReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusSquareReq copyWith(void Function(CampusSquareReq) updates) =>
      super.copyWith((message) => updates(message as CampusSquareReq))
          as CampusSquareReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusSquareReq create() => CampusSquareReq._();
  CampusSquareReq createEmptyInstance() => create();
  static $pb.PbList<CampusSquareReq> createRepeated() =>
      $pb.PbList<CampusSquareReq>();
  @$core.pragma('dart2js:noInline')
  static CampusSquareReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusSquareReq>(create);
  static CampusSquareReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get lat => $_getN(1);
  @$pb.TagNumber(2)
  set lat($core.double v) {
    $_setDouble(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLat() => $_has(1);
  @$pb.TagNumber(2)
  void clearLat() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get lng => $_getN(2);
  @$pb.TagNumber(3)
  set lng($core.double v) {
    $_setDouble(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLng() => $_has(2);
  @$pb.TagNumber(3)
  void clearLng() => clearField(3);
}

class CampusTop extends $pb.GeneratedMessage {
  factory CampusTop({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.Iterable<CampusShowTabInfo>? tabs,
    CampusLabel? switchLabel,
    $core.String? title,
    $core.Iterable<CampusBannerInfo>? banner,
    CampusLabel? inviteLabel,
    CampusNoticeInfo? notice,
    TopicSquareInfo? topicSquare,
    $core.String? campusBadge,
    $core.String? campusBackground,
    $core.String? campusMotto,
    CampusLabel? mngEntry,
    $core.String? campusIntro,
    $core.String? campusNameLink,
    $core.String? bottomLeftText,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (tabs != null) {
      $result.tabs.addAll(tabs);
    }
    if (switchLabel != null) {
      $result.switchLabel = switchLabel;
    }
    if (title != null) {
      $result.title = title;
    }
    if (banner != null) {
      $result.banner.addAll(banner);
    }
    if (inviteLabel != null) {
      $result.inviteLabel = inviteLabel;
    }
    if (notice != null) {
      $result.notice = notice;
    }
    if (topicSquare != null) {
      $result.topicSquare = topicSquare;
    }
    if (campusBadge != null) {
      $result.campusBadge = campusBadge;
    }
    if (campusBackground != null) {
      $result.campusBackground = campusBackground;
    }
    if (campusMotto != null) {
      $result.campusMotto = campusMotto;
    }
    if (mngEntry != null) {
      $result.mngEntry = mngEntry;
    }
    if (campusIntro != null) {
      $result.campusIntro = campusIntro;
    }
    if (campusNameLink != null) {
      $result.campusNameLink = campusNameLink;
    }
    if (bottomLeftText != null) {
      $result.bottomLeftText = bottomLeftText;
    }
    return $result;
  }
  CampusTop._() : super();
  factory CampusTop.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusTop.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusTop',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..pc<CampusShowTabInfo>(
        3, _omitFieldNames ? '' : 'tabs', $pb.PbFieldType.PM,
        subBuilder: CampusShowTabInfo.create)
    ..aOM<CampusLabel>(4, _omitFieldNames ? '' : 'switchLabel',
        subBuilder: CampusLabel.create)
    ..aOS(5, _omitFieldNames ? '' : 'title')
    ..pc<CampusBannerInfo>(
        6, _omitFieldNames ? '' : 'banner', $pb.PbFieldType.PM,
        subBuilder: CampusBannerInfo.create)
    ..aOM<CampusLabel>(7, _omitFieldNames ? '' : 'inviteLabel',
        subBuilder: CampusLabel.create)
    ..aOM<CampusNoticeInfo>(8, _omitFieldNames ? '' : 'notice',
        subBuilder: CampusNoticeInfo.create)
    ..aOM<TopicSquareInfo>(9, _omitFieldNames ? '' : 'topicSquare',
        subBuilder: TopicSquareInfo.create)
    ..aOS(10, _omitFieldNames ? '' : 'campusBadge')
    ..aOS(11, _omitFieldNames ? '' : 'campusBackground')
    ..aOS(12, _omitFieldNames ? '' : 'campusMotto')
    ..aOM<CampusLabel>(13, _omitFieldNames ? '' : 'mngEntry',
        subBuilder: CampusLabel.create)
    ..aOS(14, _omitFieldNames ? '' : 'campusIntro')
    ..aOS(15, _omitFieldNames ? '' : 'campusNameLink')
    ..aOS(16, _omitFieldNames ? '' : 'bottomLeftText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusTop clone() => CampusTop()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusTop copyWith(void Function(CampusTop) updates) =>
      super.copyWith((message) => updates(message as CampusTop)) as CampusTop;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusTop create() => CampusTop._();
  CampusTop createEmptyInstance() => create();
  static $pb.PbList<CampusTop> createRepeated() => $pb.PbList<CampusTop>();
  @$core.pragma('dart2js:noInline')
  static CampusTop getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CampusTop>(create);
  static CampusTop? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<CampusShowTabInfo> get tabs => $_getList(2);

  @$pb.TagNumber(4)
  CampusLabel get switchLabel => $_getN(3);
  @$pb.TagNumber(4)
  set switchLabel(CampusLabel v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSwitchLabel() => $_has(3);
  @$pb.TagNumber(4)
  void clearSwitchLabel() => clearField(4);
  @$pb.TagNumber(4)
  CampusLabel ensureSwitchLabel() => $_ensure(3);

  @$pb.TagNumber(5)
  $core.String get title => $_getSZ(4);
  @$pb.TagNumber(5)
  set title($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasTitle() => $_has(4);
  @$pb.TagNumber(5)
  void clearTitle() => clearField(5);

  @$pb.TagNumber(6)
  $core.List<CampusBannerInfo> get banner => $_getList(5);

  @$pb.TagNumber(7)
  CampusLabel get inviteLabel => $_getN(6);
  @$pb.TagNumber(7)
  set inviteLabel(CampusLabel v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasInviteLabel() => $_has(6);
  @$pb.TagNumber(7)
  void clearInviteLabel() => clearField(7);
  @$pb.TagNumber(7)
  CampusLabel ensureInviteLabel() => $_ensure(6);

  @$pb.TagNumber(8)
  CampusNoticeInfo get notice => $_getN(7);
  @$pb.TagNumber(8)
  set notice(CampusNoticeInfo v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasNotice() => $_has(7);
  @$pb.TagNumber(8)
  void clearNotice() => clearField(8);
  @$pb.TagNumber(8)
  CampusNoticeInfo ensureNotice() => $_ensure(7);

  @$pb.TagNumber(9)
  TopicSquareInfo get topicSquare => $_getN(8);
  @$pb.TagNumber(9)
  set topicSquare(TopicSquareInfo v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasTopicSquare() => $_has(8);
  @$pb.TagNumber(9)
  void clearTopicSquare() => clearField(9);
  @$pb.TagNumber(9)
  TopicSquareInfo ensureTopicSquare() => $_ensure(8);

  @$pb.TagNumber(10)
  $core.String get campusBadge => $_getSZ(9);
  @$pb.TagNumber(10)
  set campusBadge($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasCampusBadge() => $_has(9);
  @$pb.TagNumber(10)
  void clearCampusBadge() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get campusBackground => $_getSZ(10);
  @$pb.TagNumber(11)
  set campusBackground($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCampusBackground() => $_has(10);
  @$pb.TagNumber(11)
  void clearCampusBackground() => clearField(11);

  @$pb.TagNumber(12)
  $core.String get campusMotto => $_getSZ(11);
  @$pb.TagNumber(12)
  set campusMotto($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasCampusMotto() => $_has(11);
  @$pb.TagNumber(12)
  void clearCampusMotto() => clearField(12);

  @$pb.TagNumber(13)
  CampusLabel get mngEntry => $_getN(12);
  @$pb.TagNumber(13)
  set mngEntry(CampusLabel v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasMngEntry() => $_has(12);
  @$pb.TagNumber(13)
  void clearMngEntry() => clearField(13);
  @$pb.TagNumber(13)
  CampusLabel ensureMngEntry() => $_ensure(12);

  @$pb.TagNumber(14)
  $core.String get campusIntro => $_getSZ(13);
  @$pb.TagNumber(14)
  set campusIntro($core.String v) {
    $_setString(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasCampusIntro() => $_has(13);
  @$pb.TagNumber(14)
  void clearCampusIntro() => clearField(14);

  @$pb.TagNumber(15)
  $core.String get campusNameLink => $_getSZ(14);
  @$pb.TagNumber(15)
  set campusNameLink($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasCampusNameLink() => $_has(14);
  @$pb.TagNumber(15)
  void clearCampusNameLink() => clearField(15);

  @$pb.TagNumber(16)
  $core.String get bottomLeftText => $_getSZ(15);
  @$pb.TagNumber(16)
  set bottomLeftText($core.String v) {
    $_setString(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasBottomLeftText() => $_has(15);
  @$pb.TagNumber(16)
  void clearBottomLeftText() => clearField(16);
}

class CampusTopicRcmdFeedReply extends $pb.GeneratedMessage {
  factory CampusTopicRcmdFeedReply({
    $core.Iterable<DynamicItem>? list,
    $core.String? toast,
    $core.bool? hasMore,
    $core.String? offset,
    IconButton? joinDiscuss,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (toast != null) {
      $result.toast = toast;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (joinDiscuss != null) {
      $result.joinDiscuss = joinDiscuss;
    }
    return $result;
  }
  CampusTopicRcmdFeedReply._() : super();
  factory CampusTopicRcmdFeedReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusTopicRcmdFeedReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusTopicRcmdFeedReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'toast')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..aOS(4, _omitFieldNames ? '' : 'offset')
    ..aOM<IconButton>(5, _omitFieldNames ? '' : 'joinDiscuss',
        subBuilder: IconButton.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusTopicRcmdFeedReply clone() =>
      CampusTopicRcmdFeedReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusTopicRcmdFeedReply copyWith(
          void Function(CampusTopicRcmdFeedReply) updates) =>
      super.copyWith((message) => updates(message as CampusTopicRcmdFeedReply))
          as CampusTopicRcmdFeedReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusTopicRcmdFeedReply create() => CampusTopicRcmdFeedReply._();
  CampusTopicRcmdFeedReply createEmptyInstance() => create();
  static $pb.PbList<CampusTopicRcmdFeedReply> createRepeated() =>
      $pb.PbList<CampusTopicRcmdFeedReply>();
  @$core.pragma('dart2js:noInline')
  static CampusTopicRcmdFeedReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusTopicRcmdFeedReply>(create);
  static CampusTopicRcmdFeedReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  @$pb.TagNumber(2)
  $core.String get toast => $_getSZ(1);
  @$pb.TagNumber(2)
  set toast($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasToast() => $_has(1);
  @$pb.TagNumber(2)
  void clearToast() => clearField(2);

  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get offset => $_getSZ(3);
  @$pb.TagNumber(4)
  set offset($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearOffset() => clearField(4);

  @$pb.TagNumber(5)
  IconButton get joinDiscuss => $_getN(4);
  @$pb.TagNumber(5)
  set joinDiscuss(IconButton v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasJoinDiscuss() => $_has(4);
  @$pb.TagNumber(5)
  void clearJoinDiscuss() => clearField(5);
  @$pb.TagNumber(5)
  IconButton ensureJoinDiscuss() => $_ensure(4);
}

class CampusTopicRcmdFeedReq extends $pb.GeneratedMessage {
  factory CampusTopicRcmdFeedReq({
    $fixnum.Int64? campusId,
    $core.String? offset,
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  CampusTopicRcmdFeedReq._() : super();
  factory CampusTopicRcmdFeedReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CampusTopicRcmdFeedReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CampusTopicRcmdFeedReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..e<CampusReqFromType>(
        5, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CampusTopicRcmdFeedReq clone() =>
      CampusTopicRcmdFeedReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CampusTopicRcmdFeedReq copyWith(
          void Function(CampusTopicRcmdFeedReq) updates) =>
      super.copyWith((message) => updates(message as CampusTopicRcmdFeedReq))
          as CampusTopicRcmdFeedReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CampusTopicRcmdFeedReq create() => CampusTopicRcmdFeedReq._();
  CampusTopicRcmdFeedReq createEmptyInstance() => create();
  static $pb.PbList<CampusTopicRcmdFeedReq> createRepeated() =>
      $pb.PbList<CampusTopicRcmdFeedReq>();
  @$core.pragma('dart2js:noInline')
  static CampusTopicRcmdFeedReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CampusTopicRcmdFeedReq>(create);
  static CampusTopicRcmdFeedReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.int get localTime => $_getIZ(3);
  @$pb.TagNumber(4)
  set localTime($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLocalTime() => $_has(3);
  @$pb.TagNumber(4)
  void clearLocalTime() => clearField(4);

  @$pb.TagNumber(5)
  CampusReqFromType get fromType => $_getN(4);
  @$pb.TagNumber(5)
  set fromType(CampusReqFromType v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasFromType() => $_has(4);
  @$pb.TagNumber(5)
  void clearFromType() => clearField(5);
}

class CardParagraph extends $pb.GeneratedMessage {
  factory CardParagraph({
    ModuleAdditional? additionalCard,
    LinkNodeType? bizType,
    $core.String? bizId,
  }) {
    final $result = create();
    if (additionalCard != null) {
      $result.additionalCard = additionalCard;
    }
    if (bizType != null) {
      $result.bizType = bizType;
    }
    if (bizId != null) {
      $result.bizId = bizId;
    }
    return $result;
  }
  CardParagraph._() : super();
  factory CardParagraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CardParagraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CardParagraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<ModuleAdditional>(1, _omitFieldNames ? '' : 'additionalCard',
        subBuilder: ModuleAdditional.create)
    ..e<LinkNodeType>(2, _omitFieldNames ? '' : 'bizType', $pb.PbFieldType.OE,
        defaultOrMaker: LinkNodeType.INVALID,
        valueOf: LinkNodeType.valueOf,
        enumValues: LinkNodeType.values)
    ..aOS(3, _omitFieldNames ? '' : 'bizId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CardParagraph clone() => CardParagraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CardParagraph copyWith(void Function(CardParagraph) updates) =>
      super.copyWith((message) => updates(message as CardParagraph))
          as CardParagraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CardParagraph create() => CardParagraph._();
  CardParagraph createEmptyInstance() => create();
  static $pb.PbList<CardParagraph> createRepeated() =>
      $pb.PbList<CardParagraph>();
  @$core.pragma('dart2js:noInline')
  static CardParagraph getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CardParagraph>(create);
  static CardParagraph? _defaultInstance;

  @$pb.TagNumber(1)
  ModuleAdditional get additionalCard => $_getN(0);
  @$pb.TagNumber(1)
  set additionalCard(ModuleAdditional v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAdditionalCard() => $_has(0);
  @$pb.TagNumber(1)
  void clearAdditionalCard() => clearField(1);
  @$pb.TagNumber(1)
  ModuleAdditional ensureAdditionalCard() => $_ensure(0);

  @$pb.TagNumber(2)
  LinkNodeType get bizType => $_getN(1);
  @$pb.TagNumber(2)
  set bizType(LinkNodeType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBizType() => $_has(1);
  @$pb.TagNumber(2)
  void clearBizType() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get bizId => $_getSZ(2);
  @$pb.TagNumber(3)
  set bizId($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasBizId() => $_has(2);
  @$pb.TagNumber(3)
  void clearBizId() => clearField(3);
}

/// 动态卡片列表
class CardVideoDynList extends $pb.GeneratedMessage {
  factory CardVideoDynList({
    $core.Iterable<DynamicItem>? list,
    $fixnum.Int64? updateNum,
    $core.String? historyOffset,
    $core.String? updateBaseline,
    $core.bool? hasMore,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (updateNum != null) {
      $result.updateNum = updateNum;
    }
    if (historyOffset != null) {
      $result.historyOffset = historyOffset;
    }
    if (updateBaseline != null) {
      $result.updateBaseline = updateBaseline;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    return $result;
  }
  CardVideoDynList._() : super();
  factory CardVideoDynList.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CardVideoDynList.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CardVideoDynList',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aInt64(2, _omitFieldNames ? '' : 'updateNum')
    ..aOS(3, _omitFieldNames ? '' : 'historyOffset')
    ..aOS(4, _omitFieldNames ? '' : 'updateBaseline')
    ..aOB(5, _omitFieldNames ? '' : 'hasMore')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CardVideoDynList clone() => CardVideoDynList()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CardVideoDynList copyWith(void Function(CardVideoDynList) updates) =>
      super.copyWith((message) => updates(message as CardVideoDynList))
          as CardVideoDynList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CardVideoDynList create() => CardVideoDynList._();
  CardVideoDynList createEmptyInstance() => create();
  static $pb.PbList<CardVideoDynList> createRepeated() =>
      $pb.PbList<CardVideoDynList>();
  @$core.pragma('dart2js:noInline')
  static CardVideoDynList getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CardVideoDynList>(create);
  static CardVideoDynList? _defaultInstance;

  /// 动态列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 更新的动态数
  @$pb.TagNumber(2)
  $fixnum.Int64 get updateNum => $_getI64(1);
  @$pb.TagNumber(2)
  set updateNum($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUpdateNum() => $_has(1);
  @$pb.TagNumber(2)
  void clearUpdateNum() => clearField(2);

  /// 历史偏移
  @$pb.TagNumber(3)
  $core.String get historyOffset => $_getSZ(2);
  @$pb.TagNumber(3)
  set historyOffset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHistoryOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearHistoryOffset() => clearField(3);

  /// 更新基础信息
  @$pb.TagNumber(4)
  $core.String get updateBaseline => $_getSZ(3);
  @$pb.TagNumber(4)
  set updateBaseline($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUpdateBaseline() => $_has(3);
  @$pb.TagNumber(4)
  void clearUpdateBaseline() => clearField(4);

  /// 是否还有更多数据
  @$pb.TagNumber(5)
  $core.bool get hasMore => $_getBF(4);
  @$pb.TagNumber(5)
  set hasMore($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasHasMore() => $_has(4);
  @$pb.TagNumber(5)
  void clearHasMore() => clearField(5);
}

/// 视频页-我的追番
class CardVideoFollowList extends $pb.GeneratedMessage {
  factory CardVideoFollowList({
    $core.String? viewAllLink,
    $core.Iterable<FollowListItem>? list,
  }) {
    final $result = create();
    if (viewAllLink != null) {
      $result.viewAllLink = viewAllLink;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  CardVideoFollowList._() : super();
  factory CardVideoFollowList.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CardVideoFollowList.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CardVideoFollowList',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'viewAllLink')
    ..pc<FollowListItem>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: FollowListItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CardVideoFollowList clone() => CardVideoFollowList()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CardVideoFollowList copyWith(void Function(CardVideoFollowList) updates) =>
      super.copyWith((message) => updates(message as CardVideoFollowList))
          as CardVideoFollowList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CardVideoFollowList create() => CardVideoFollowList._();
  CardVideoFollowList createEmptyInstance() => create();
  static $pb.PbList<CardVideoFollowList> createRepeated() =>
      $pb.PbList<CardVideoFollowList>();
  @$core.pragma('dart2js:noInline')
  static CardVideoFollowList getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CardVideoFollowList>(create);
  static CardVideoFollowList? _defaultInstance;

  /// 查看全部(跳转链接)
  @$pb.TagNumber(1)
  $core.String get viewAllLink => $_getSZ(0);
  @$pb.TagNumber(1)
  set viewAllLink($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasViewAllLink() => $_has(0);
  @$pb.TagNumber(1)
  void clearViewAllLink() => clearField(1);

  /// 追番列表
  @$pb.TagNumber(2)
  $core.List<FollowListItem> get list => $_getList(1);
}

/// 视频页-最近访问
class CardVideoUpList extends $pb.GeneratedMessage {
  factory CardVideoUpList({
    $core.String? title,
    $core.Iterable<UpListItem>? list,
    $core.String? footprint,
    $core.int? showLiveNum,
    UpListMoreLabel? moreLabel,
    $core.int? titleSwitch,
    $core.bool? showMoreLabel,
    $core.bool? showInPersonal,
    $core.bool? showMoreButton,
    $core.Iterable<UpListItem>? listSecond,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (footprint != null) {
      $result.footprint = footprint;
    }
    if (showLiveNum != null) {
      $result.showLiveNum = showLiveNum;
    }
    if (moreLabel != null) {
      $result.moreLabel = moreLabel;
    }
    if (titleSwitch != null) {
      $result.titleSwitch = titleSwitch;
    }
    if (showMoreLabel != null) {
      $result.showMoreLabel = showMoreLabel;
    }
    if (showInPersonal != null) {
      $result.showInPersonal = showInPersonal;
    }
    if (showMoreButton != null) {
      $result.showMoreButton = showMoreButton;
    }
    if (listSecond != null) {
      $result.listSecond.addAll(listSecond);
    }
    return $result;
  }
  CardVideoUpList._() : super();
  factory CardVideoUpList.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CardVideoUpList.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CardVideoUpList',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<UpListItem>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: UpListItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'footprint')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'showLiveNum', $pb.PbFieldType.O3)
    ..aOM<UpListMoreLabel>(5, _omitFieldNames ? '' : 'moreLabel',
        subBuilder: UpListMoreLabel.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'titleSwitch', $pb.PbFieldType.O3)
    ..aOB(7, _omitFieldNames ? '' : 'showMoreLabel')
    ..aOB(8, _omitFieldNames ? '' : 'showInPersonal')
    ..aOB(9, _omitFieldNames ? '' : 'showMoreButton')
    ..pc<UpListItem>(
        10, _omitFieldNames ? '' : 'listSecond', $pb.PbFieldType.PM,
        subBuilder: UpListItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CardVideoUpList clone() => CardVideoUpList()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CardVideoUpList copyWith(void Function(CardVideoUpList) updates) =>
      super.copyWith((message) => updates(message as CardVideoUpList))
          as CardVideoUpList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CardVideoUpList create() => CardVideoUpList._();
  CardVideoUpList createEmptyInstance() => create();
  static $pb.PbList<CardVideoUpList> createRepeated() =>
      $pb.PbList<CardVideoUpList>();
  @$core.pragma('dart2js:noInline')
  static CardVideoUpList getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CardVideoUpList>(create);
  static CardVideoUpList? _defaultInstance;

  /// 标题展示文案
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// up主列表
  @$pb.TagNumber(2)
  $core.List<UpListItem> get list => $_getList(1);

  /// 服务端生成的透传上报字段
  @$pb.TagNumber(3)
  $core.String get footprint => $_getSZ(2);
  @$pb.TagNumber(3)
  set footprint($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFootprint() => $_has(2);
  @$pb.TagNumber(3)
  void clearFootprint() => clearField(3);

  /// 直播数
  @$pb.TagNumber(4)
  $core.int get showLiveNum => $_getIZ(3);
  @$pb.TagNumber(4)
  set showLiveNum($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasShowLiveNum() => $_has(3);
  @$pb.TagNumber(4)
  void clearShowLiveNum() => clearField(4);

  /// 跳转label
  @$pb.TagNumber(5)
  UpListMoreLabel get moreLabel => $_getN(4);
  @$pb.TagNumber(5)
  set moreLabel(UpListMoreLabel v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasMoreLabel() => $_has(4);
  @$pb.TagNumber(5)
  void clearMoreLabel() => clearField(5);
  @$pb.TagNumber(5)
  UpListMoreLabel ensureMoreLabel() => $_ensure(4);

  /// 标题开关(综合页)
  @$pb.TagNumber(6)
  $core.int get titleSwitch => $_getIZ(5);
  @$pb.TagNumber(6)
  set titleSwitch($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasTitleSwitch() => $_has(5);
  @$pb.TagNumber(6)
  void clearTitleSwitch() => clearField(6);

  /// 是否展示右上角查看更多label
  @$pb.TagNumber(7)
  $core.bool get showMoreLabel => $_getBF(6);
  @$pb.TagNumber(7)
  set showMoreLabel($core.bool v) {
    $_setBool(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasShowMoreLabel() => $_has(6);
  @$pb.TagNumber(7)
  void clearShowMoreLabel() => clearField(7);

  /// 是否在快速消费页查看更多按钮
  @$pb.TagNumber(8)
  $core.bool get showInPersonal => $_getBF(7);
  @$pb.TagNumber(8)
  set showInPersonal($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasShowInPersonal() => $_has(7);
  @$pb.TagNumber(8)
  void clearShowInPersonal() => clearField(8);

  /// 是否展示右侧查看更多按钮
  @$pb.TagNumber(9)
  $core.bool get showMoreButton => $_getBF(8);
  @$pb.TagNumber(9)
  set showMoreButton($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasShowMoreButton() => $_has(8);
  @$pb.TagNumber(9)
  void clearShowMoreButton() => clearField(9);

  @$pb.TagNumber(10)
  $core.List<UpListItem> get listSecond => $_getList(9);
}

class ChannelInfo extends $pb.GeneratedMessage {
  factory ChannelInfo({
    $fixnum.Int64? channelId,
    $core.String? channelName,
    $core.String? desc,
    $core.bool? isAtten,
    $core.String? typeIcon,
    $core.Iterable<RcmdItem>? items,
    $core.String? icon,
    $core.String? jumpUri,
  }) {
    final $result = create();
    if (channelId != null) {
      $result.channelId = channelId;
    }
    if (channelName != null) {
      $result.channelName = channelName;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (isAtten != null) {
      $result.isAtten = isAtten;
    }
    if (typeIcon != null) {
      $result.typeIcon = typeIcon;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (jumpUri != null) {
      $result.jumpUri = jumpUri;
    }
    return $result;
  }
  ChannelInfo._() : super();
  factory ChannelInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ChannelInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ChannelInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'channelId')
    ..aOS(2, _omitFieldNames ? '' : 'channelName')
    ..aOS(3, _omitFieldNames ? '' : 'desc')
    ..aOB(4, _omitFieldNames ? '' : 'isAtten')
    ..aOS(5, _omitFieldNames ? '' : 'typeIcon')
    ..pc<RcmdItem>(6, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: RcmdItem.create)
    ..aOS(7, _omitFieldNames ? '' : 'icon')
    ..aOS(8, _omitFieldNames ? '' : 'jumpUri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ChannelInfo clone() => ChannelInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ChannelInfo copyWith(void Function(ChannelInfo) updates) =>
      super.copyWith((message) => updates(message as ChannelInfo))
          as ChannelInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ChannelInfo create() => ChannelInfo._();
  ChannelInfo createEmptyInstance() => create();
  static $pb.PbList<ChannelInfo> createRepeated() => $pb.PbList<ChannelInfo>();
  @$core.pragma('dart2js:noInline')
  static ChannelInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ChannelInfo>(create);
  static ChannelInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get channelId => $_getI64(0);
  @$pb.TagNumber(1)
  set channelId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasChannelId() => $_has(0);
  @$pb.TagNumber(1)
  void clearChannelId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get channelName => $_getSZ(1);
  @$pb.TagNumber(2)
  set channelName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasChannelName() => $_has(1);
  @$pb.TagNumber(2)
  void clearChannelName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get desc => $_getSZ(2);
  @$pb.TagNumber(3)
  set desc($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDesc() => $_has(2);
  @$pb.TagNumber(3)
  void clearDesc() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get isAtten => $_getBF(3);
  @$pb.TagNumber(4)
  set isAtten($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsAtten() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsAtten() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get typeIcon => $_getSZ(4);
  @$pb.TagNumber(5)
  set typeIcon($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasTypeIcon() => $_has(4);
  @$pb.TagNumber(5)
  void clearTypeIcon() => clearField(5);

  @$pb.TagNumber(6)
  $core.List<RcmdItem> get items => $_getList(5);

  @$pb.TagNumber(7)
  $core.String get icon => $_getSZ(6);
  @$pb.TagNumber(7)
  set icon($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasIcon() => $_has(6);
  @$pb.TagNumber(7)
  void clearIcon() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get jumpUri => $_getSZ(7);
  @$pb.TagNumber(8)
  set jumpUri($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasJumpUri() => $_has(7);
  @$pb.TagNumber(8)
  void clearJumpUri() => clearField(8);
}

/// 评论外露展示项
class CmtShowItem extends $pb.GeneratedMessage {
  factory CmtShowItem({
    $fixnum.Int64? uid,
    $core.String? uname,
    $core.String? uri,
    $core.String? comment,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (uname != null) {
      $result.uname = uname;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (comment != null) {
      $result.comment = comment;
    }
    return $result;
  }
  CmtShowItem._() : super();
  factory CmtShowItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CmtShowItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CmtShowItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..aOS(2, _omitFieldNames ? '' : 'uname')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'comment')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CmtShowItem clone() => CmtShowItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CmtShowItem copyWith(void Function(CmtShowItem) updates) =>
      super.copyWith((message) => updates(message as CmtShowItem))
          as CmtShowItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CmtShowItem create() => CmtShowItem._();
  CmtShowItem createEmptyInstance() => create();
  static $pb.PbList<CmtShowItem> createRepeated() => $pb.PbList<CmtShowItem>();
  @$core.pragma('dart2js:noInline')
  static CmtShowItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CmtShowItem>(create);
  static CmtShowItem? _defaultInstance;

  /// 用户mid
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 用户昵称
  @$pb.TagNumber(2)
  $core.String get uname => $_getSZ(1);
  @$pb.TagNumber(2)
  set uname($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUname() => $_has(1);
  @$pb.TagNumber(2)
  void clearUname() => clearField(2);

  /// 点击跳转链接
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 评论内容
  @$pb.TagNumber(4)
  $core.String get comment => $_getSZ(3);
  @$pb.TagNumber(4)
  set comment($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasComment() => $_has(3);
  @$pb.TagNumber(4)
  void clearComment() => clearField(4);
}

class Colors extends $pb.GeneratedMessage {
  factory Colors({
    $core.String? colorDay,
    $core.String? colorNight,
  }) {
    final $result = create();
    if (colorDay != null) {
      $result.colorDay = colorDay;
    }
    if (colorNight != null) {
      $result.colorNight = colorNight;
    }
    return $result;
  }
  Colors._() : super();
  factory Colors.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Colors.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Colors',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'colorDay')
    ..aOS(2, _omitFieldNames ? '' : 'colorNight')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Colors clone() => Colors()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Colors copyWith(void Function(Colors) updates) =>
      super.copyWith((message) => updates(message as Colors)) as Colors;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Colors create() => Colors._();
  Colors createEmptyInstance() => create();
  static $pb.PbList<Colors> createRepeated() => $pb.PbList<Colors>();
  @$core.pragma('dart2js:noInline')
  static Colors getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Colors>(create);
  static Colors? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get colorDay => $_getSZ(0);
  @$pb.TagNumber(1)
  set colorDay($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasColorDay() => $_has(0);
  @$pb.TagNumber(1)
  void clearColorDay() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get colorNight => $_getSZ(1);
  @$pb.TagNumber(2)
  set colorNight($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasColorNight() => $_has(1);
  @$pb.TagNumber(2)
  void clearColorNight() => clearField(2);
}

/// 精选评论区
class CommentDetail extends $pb.GeneratedMessage {
  factory CommentDetail({
    $core.bool? canModify,
    $fixnum.Int64? status,
  }) {
    final $result = create();
    if (canModify != null) {
      $result.canModify = canModify;
    }
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  CommentDetail._() : super();
  factory CommentDetail.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CommentDetail.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CommentDetail',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'canModify')
    ..aInt64(2, _omitFieldNames ? '' : 'status')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CommentDetail clone() => CommentDetail()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CommentDetail copyWith(void Function(CommentDetail) updates) =>
      super.copyWith((message) => updates(message as CommentDetail))
          as CommentDetail;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CommentDetail create() => CommentDetail._();
  CommentDetail createEmptyInstance() => create();
  static $pb.PbList<CommentDetail> createRepeated() =>
      $pb.PbList<CommentDetail>();
  @$core.pragma('dart2js:noInline')
  static CommentDetail getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CommentDetail>(create);
  static CommentDetail? _defaultInstance;

  /// 该功能能不能用
  @$pb.TagNumber(1)
  $core.bool get canModify => $_getBF(0);
  @$pb.TagNumber(1)
  set canModify($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCanModify() => $_has(0);
  @$pb.TagNumber(1)
  void clearCanModify() => clearField(1);

  /// up关闭评论区功能 1允许关闭 0允许开放
  /// 精选评论区功能 1允许停止评论精选 0允许评论精选
  @$pb.TagNumber(2)
  $fixnum.Int64 get status => $_getI64(1);
  @$pb.TagNumber(2)
  set status($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasStatus() => $_has(1);
  @$pb.TagNumber(2)
  void clearStatus() => clearField(2);
}

class Config extends $pb.GeneratedMessage {
  factory Config({
    $core.bool? storyVerticalExp,
    $fixnum.Int64? detailViewBits,
  }) {
    final $result = create();
    if (storyVerticalExp != null) {
      $result.storyVerticalExp = storyVerticalExp;
    }
    if (detailViewBits != null) {
      $result.detailViewBits = detailViewBits;
    }
    return $result;
  }
  Config._() : super();
  factory Config.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Config.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Config',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'storyVerticalExp')
    ..aInt64(2, _omitFieldNames ? '' : 'detailViewBits')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Config clone() => Config()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Config copyWith(void Function(Config) updates) =>
      super.copyWith((message) => updates(message as Config)) as Config;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Config create() => Config._();
  Config createEmptyInstance() => create();
  static $pb.PbList<Config> createRepeated() => $pb.PbList<Config>();
  @$core.pragma('dart2js:noInline')
  static Config getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Config>(create);
  static Config? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get storyVerticalExp => $_getBF(0);
  @$pb.TagNumber(1)
  set storyVerticalExp($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStoryVerticalExp() => $_has(0);
  @$pb.TagNumber(1)
  void clearStoryVerticalExp() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get detailViewBits => $_getI64(1);
  @$pb.TagNumber(2)
  set detailViewBits($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDetailViewBits() => $_has(1);
  @$pb.TagNumber(2)
  void clearDetailViewBits() => clearField(2);
}

class CoverIconWithText extends $pb.GeneratedMessage {
  factory CoverIconWithText({
    $core.int? icon,
    $core.String? text,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (text != null) {
      $result.text = text;
    }
    return $result;
  }
  CoverIconWithText._() : super();
  factory CoverIconWithText.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory CoverIconWithText.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'CoverIconWithText',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'icon', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  CoverIconWithText clone() => CoverIconWithText()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  CoverIconWithText copyWith(void Function(CoverIconWithText) updates) =>
      super.copyWith((message) => updates(message as CoverIconWithText))
          as CoverIconWithText;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CoverIconWithText create() => CoverIconWithText._();
  CoverIconWithText createEmptyInstance() => create();
  static $pb.PbList<CoverIconWithText> createRepeated() =>
      $pb.PbList<CoverIconWithText>();
  @$core.pragma('dart2js:noInline')
  static CoverIconWithText getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<CoverIconWithText>(create);
  static CoverIconWithText? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get icon => $_getIZ(0);
  @$pb.TagNumber(1)
  set icon($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);
}

/// 装扮卡片-粉丝勋章信息
class DecoCardFan extends $pb.GeneratedMessage {
  factory DecoCardFan({
    $core.int? isFan,
    $core.int? number,
    $core.String? numberStr,
    $core.String? color,
  }) {
    final $result = create();
    if (isFan != null) {
      $result.isFan = isFan;
    }
    if (number != null) {
      $result.number = number;
    }
    if (numberStr != null) {
      $result.numberStr = numberStr;
    }
    if (color != null) {
      $result.color = color;
    }
    return $result;
  }
  DecoCardFan._() : super();
  factory DecoCardFan.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DecoCardFan.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DecoCardFan',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'isFan', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3)
    ..aOS(3, _omitFieldNames ? '' : 'numberStr')
    ..aOS(4, _omitFieldNames ? '' : 'color')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DecoCardFan clone() => DecoCardFan()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DecoCardFan copyWith(void Function(DecoCardFan) updates) =>
      super.copyWith((message) => updates(message as DecoCardFan))
          as DecoCardFan;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DecoCardFan create() => DecoCardFan._();
  DecoCardFan createEmptyInstance() => create();
  static $pb.PbList<DecoCardFan> createRepeated() => $pb.PbList<DecoCardFan>();
  @$core.pragma('dart2js:noInline')
  static DecoCardFan getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DecoCardFan>(create);
  static DecoCardFan? _defaultInstance;

  /// 是否是粉丝
  @$pb.TagNumber(1)
  $core.int get isFan => $_getIZ(0);
  @$pb.TagNumber(1)
  set isFan($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIsFan() => $_has(0);
  @$pb.TagNumber(1)
  void clearIsFan() => clearField(1);

  /// 数量
  @$pb.TagNumber(2)
  $core.int get number => $_getIZ(1);
  @$pb.TagNumber(2)
  set number($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasNumber() => $_has(1);
  @$pb.TagNumber(2)
  void clearNumber() => clearField(2);

  /// 数量 str
  @$pb.TagNumber(3)
  $core.String get numberStr => $_getSZ(2);
  @$pb.TagNumber(3)
  set numberStr($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasNumberStr() => $_has(2);
  @$pb.TagNumber(3)
  void clearNumberStr() => clearField(3);

  /// 颜色
  @$pb.TagNumber(4)
  $core.String get color => $_getSZ(3);
  @$pb.TagNumber(4)
  set color($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasColor() => $_has(3);
  @$pb.TagNumber(4)
  void clearColor() => clearField(4);
}

/// 装扮卡片
class DecorateCard extends $pb.GeneratedMessage {
  factory DecorateCard({
    $fixnum.Int64? id,
    $core.String? cardUrl,
    $core.String? jumpUrl,
    DecoCardFan? fan,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (cardUrl != null) {
      $result.cardUrl = cardUrl;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (fan != null) {
      $result.fan = fan;
    }
    return $result;
  }
  DecorateCard._() : super();
  factory DecorateCard.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DecorateCard.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DecorateCard',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'cardUrl')
    ..aOS(3, _omitFieldNames ? '' : 'jumpUrl')
    ..aOM<DecoCardFan>(4, _omitFieldNames ? '' : 'fan',
        subBuilder: DecoCardFan.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DecorateCard clone() => DecorateCard()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DecorateCard copyWith(void Function(DecorateCard) updates) =>
      super.copyWith((message) => updates(message as DecorateCard))
          as DecorateCard;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DecorateCard create() => DecorateCard._();
  DecorateCard createEmptyInstance() => create();
  static $pb.PbList<DecorateCard> createRepeated() =>
      $pb.PbList<DecorateCard>();
  @$core.pragma('dart2js:noInline')
  static DecorateCard getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DecorateCard>(create);
  static DecorateCard? _defaultInstance;

  /// 装扮卡片id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 装扮卡片链接
  @$pb.TagNumber(2)
  $core.String get cardUrl => $_getSZ(1);
  @$pb.TagNumber(2)
  set cardUrl($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCardUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearCardUrl() => clearField(2);

  /// 装扮卡片点击跳转链接
  @$pb.TagNumber(3)
  $core.String get jumpUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set jumpUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasJumpUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearJumpUrl() => clearField(3);

  /// 粉丝样式
  @$pb.TagNumber(4)
  DecoCardFan get fan => $_getN(3);
  @$pb.TagNumber(4)
  set fan(DecoCardFan v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasFan() => $_has(3);
  @$pb.TagNumber(4)
  void clearFan() => clearField(4);
  @$pb.TagNumber(4)
  DecoCardFan ensureFan() => $_ensure(3);
}

/// 文本描述
class Description extends $pb.GeneratedMessage {
  factory Description({
    $core.String? text,
    DescType? type,
    $core.String? uri,
    EmojiType? emojiType,
    $core.String? goodsType,
    $core.String? iconUrl,
    $core.String? iconName,
    $core.String? rid,
    ModuleDescGoods? goods,
    $core.String? origText,
    $core.int? emojiSize,
    EmojiSizeSpec? emojiSizeSpec,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (type != null) {
      $result.type = type;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (emojiType != null) {
      $result.emojiType = emojiType;
    }
    if (goodsType != null) {
      $result.goodsType = goodsType;
    }
    if (iconUrl != null) {
      $result.iconUrl = iconUrl;
    }
    if (iconName != null) {
      $result.iconName = iconName;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (goods != null) {
      $result.goods = goods;
    }
    if (origText != null) {
      $result.origText = origText;
    }
    if (emojiSize != null) {
      $result.emojiSize = emojiSize;
    }
    if (emojiSizeSpec != null) {
      $result.emojiSizeSpec = emojiSizeSpec;
    }
    return $result;
  }
  Description._() : super();
  factory Description.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Description.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Description',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..e<DescType>(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: DescType.desc_type_none,
        valueOf: DescType.valueOf,
        enumValues: DescType.values)
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..e<EmojiType>(4, _omitFieldNames ? '' : 'emojiType', $pb.PbFieldType.OE,
        defaultOrMaker: EmojiType.emoji_none,
        valueOf: EmojiType.valueOf,
        enumValues: EmojiType.values)
    ..aOS(5, _omitFieldNames ? '' : 'goodsType')
    ..aOS(6, _omitFieldNames ? '' : 'iconUrl')
    ..aOS(7, _omitFieldNames ? '' : 'iconName')
    ..aOS(8, _omitFieldNames ? '' : 'rid')
    ..aOM<ModuleDescGoods>(9, _omitFieldNames ? '' : 'goods',
        subBuilder: ModuleDescGoods.create)
    ..aOS(10, _omitFieldNames ? '' : 'origText')
    ..a<$core.int>(11, _omitFieldNames ? '' : 'emojiSize', $pb.PbFieldType.O3)
    ..aOM<EmojiSizeSpec>(12, _omitFieldNames ? '' : 'emojiSizeSpec',
        subBuilder: EmojiSizeSpec.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Description clone() => Description()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Description copyWith(void Function(Description) updates) =>
      super.copyWith((message) => updates(message as Description))
          as Description;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Description create() => Description._();
  Description createEmptyInstance() => create();
  static $pb.PbList<Description> createRepeated() => $pb.PbList<Description>();
  @$core.pragma('dart2js:noInline')
  static Description getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<Description>(create);
  static Description? _defaultInstance;

  /// 文本内容
  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  /// 文本类型
  @$pb.TagNumber(2)
  DescType get type => $_getN(1);
  @$pb.TagNumber(2)
  set type(DescType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasType() => $_has(1);
  @$pb.TagNumber(2)
  void clearType() => clearField(2);

  /// 点击跳转链接
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// emoji类型
  @$pb.TagNumber(4)
  EmojiType get emojiType => $_getN(3);
  @$pb.TagNumber(4)
  set emojiType(EmojiType v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasEmojiType() => $_has(3);
  @$pb.TagNumber(4)
  void clearEmojiType() => clearField(4);

  /// 商品类型
  @$pb.TagNumber(5)
  $core.String get goodsType => $_getSZ(4);
  @$pb.TagNumber(5)
  set goodsType($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasGoodsType() => $_has(4);
  @$pb.TagNumber(5)
  void clearGoodsType() => clearField(5);

  /// 前置Icon
  @$pb.TagNumber(6)
  $core.String get iconUrl => $_getSZ(5);
  @$pb.TagNumber(6)
  set iconUrl($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasIconUrl() => $_has(5);
  @$pb.TagNumber(6)
  void clearIconUrl() => clearField(6);

  /// icon_name
  @$pb.TagNumber(7)
  $core.String get iconName => $_getSZ(6);
  @$pb.TagNumber(7)
  set iconName($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasIconName() => $_has(6);
  @$pb.TagNumber(7)
  void clearIconName() => clearField(7);

  /// 资源ID
  @$pb.TagNumber(8)
  $core.String get rid => $_getSZ(7);
  @$pb.TagNumber(8)
  set rid($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasRid() => $_has(7);
  @$pb.TagNumber(8)
  void clearRid() => clearField(8);

  /// 商品卡特殊字段
  @$pb.TagNumber(9)
  ModuleDescGoods get goods => $_getN(8);
  @$pb.TagNumber(9)
  set goods(ModuleDescGoods v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasGoods() => $_has(8);
  @$pb.TagNumber(9)
  void clearGoods() => clearField(9);
  @$pb.TagNumber(9)
  ModuleDescGoods ensureGoods() => $_ensure(8);

  /// 文本原始文案
  @$pb.TagNumber(10)
  $core.String get origText => $_getSZ(9);
  @$pb.TagNumber(10)
  set origText($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasOrigText() => $_has(9);
  @$pb.TagNumber(10)
  void clearOrigText() => clearField(10);

  @$pb.TagNumber(11)
  $core.int get emojiSize => $_getIZ(10);
  @$pb.TagNumber(11)
  set emojiSize($core.int v) {
    $_setSignedInt32(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasEmojiSize() => $_has(10);
  @$pb.TagNumber(11)
  void clearEmojiSize() => clearField(11);

  @$pb.TagNumber(12)
  EmojiSizeSpec get emojiSizeSpec => $_getN(11);
  @$pb.TagNumber(12)
  set emojiSizeSpec(EmojiSizeSpec v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasEmojiSizeSpec() => $_has(11);
  @$pb.TagNumber(12)
  void clearEmojiSizeSpec() => clearField(12);
  @$pb.TagNumber(12)
  EmojiSizeSpec ensureEmojiSizeSpec() => $_ensure(11);
}

/// 尺寸信息
class Dimension extends $pb.GeneratedMessage {
  factory Dimension({
    $fixnum.Int64? height,
    $fixnum.Int64? width,
    $fixnum.Int64? rotate,
  }) {
    final $result = create();
    if (height != null) {
      $result.height = height;
    }
    if (width != null) {
      $result.width = width;
    }
    if (rotate != null) {
      $result.rotate = rotate;
    }
    return $result;
  }
  Dimension._() : super();
  factory Dimension.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Dimension.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Dimension',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'height')
    ..aInt64(2, _omitFieldNames ? '' : 'width')
    ..aInt64(3, _omitFieldNames ? '' : 'rotate')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Dimension clone() => Dimension()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Dimension copyWith(void Function(Dimension) updates) =>
      super.copyWith((message) => updates(message as Dimension)) as Dimension;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Dimension create() => Dimension._();
  Dimension createEmptyInstance() => create();
  static $pb.PbList<Dimension> createRepeated() => $pb.PbList<Dimension>();
  @$core.pragma('dart2js:noInline')
  static Dimension getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Dimension>(create);
  static Dimension? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get height => $_getI64(0);
  @$pb.TagNumber(1)
  set height($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHeight() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeight() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get width => $_getI64(1);
  @$pb.TagNumber(2)
  set width($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasWidth() => $_has(1);
  @$pb.TagNumber(2)
  void clearWidth() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get rotate => $_getI64(2);
  @$pb.TagNumber(3)
  set rotate($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRotate() => $_has(2);
  @$pb.TagNumber(3)
  void clearRotate() => clearField(3);
}

/// 动态通用附加卡-follow/取消follow-响应
class DynAdditionCommonFollowReply extends $pb.GeneratedMessage {
  factory DynAdditionCommonFollowReply({
    AdditionalButtonStatus? status,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  DynAdditionCommonFollowReply._() : super();
  factory DynAdditionCommonFollowReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAdditionCommonFollowReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAdditionCommonFollowReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<AdditionalButtonStatus>(
        1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionalButtonStatus.none,
        valueOf: AdditionalButtonStatus.valueOf,
        enumValues: AdditionalButtonStatus.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAdditionCommonFollowReply clone() =>
      DynAdditionCommonFollowReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAdditionCommonFollowReply copyWith(
          void Function(DynAdditionCommonFollowReply) updates) =>
      super.copyWith(
              (message) => updates(message as DynAdditionCommonFollowReply))
          as DynAdditionCommonFollowReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAdditionCommonFollowReply create() =>
      DynAdditionCommonFollowReply._();
  DynAdditionCommonFollowReply createEmptyInstance() => create();
  static $pb.PbList<DynAdditionCommonFollowReply> createRepeated() =>
      $pb.PbList<DynAdditionCommonFollowReply>();
  @$core.pragma('dart2js:noInline')
  static DynAdditionCommonFollowReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAdditionCommonFollowReply>(create);
  static DynAdditionCommonFollowReply? _defaultInstance;

  @$pb.TagNumber(1)
  AdditionalButtonStatus get status => $_getN(0);
  @$pb.TagNumber(1)
  set status(AdditionalButtonStatus v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);
}

/// 动态通用附加卡-follow/取消follow-请求
class DynAdditionCommonFollowReq extends $pb.GeneratedMessage {
  factory DynAdditionCommonFollowReq({
    AdditionalButtonStatus? status,
    $core.String? dynId,
    $core.String? cardType,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    if (dynId != null) {
      $result.dynId = dynId;
    }
    if (cardType != null) {
      $result.cardType = cardType;
    }
    return $result;
  }
  DynAdditionCommonFollowReq._() : super();
  factory DynAdditionCommonFollowReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAdditionCommonFollowReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAdditionCommonFollowReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<AdditionalButtonStatus>(
        1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionalButtonStatus.none,
        valueOf: AdditionalButtonStatus.valueOf,
        enumValues: AdditionalButtonStatus.values)
    ..aOS(2, _omitFieldNames ? '' : 'dynId')
    ..aOS(3, _omitFieldNames ? '' : 'cardType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAdditionCommonFollowReq clone() =>
      DynAdditionCommonFollowReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAdditionCommonFollowReq copyWith(
          void Function(DynAdditionCommonFollowReq) updates) =>
      super.copyWith(
              (message) => updates(message as DynAdditionCommonFollowReq))
          as DynAdditionCommonFollowReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAdditionCommonFollowReq create() => DynAdditionCommonFollowReq._();
  DynAdditionCommonFollowReq createEmptyInstance() => create();
  static $pb.PbList<DynAdditionCommonFollowReq> createRepeated() =>
      $pb.PbList<DynAdditionCommonFollowReq>();
  @$core.pragma('dart2js:noInline')
  static DynAdditionCommonFollowReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAdditionCommonFollowReq>(create);
  static DynAdditionCommonFollowReq? _defaultInstance;

  @$pb.TagNumber(1)
  AdditionalButtonStatus get status => $_getN(0);
  @$pb.TagNumber(1)
  set status(AdditionalButtonStatus v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get dynId => $_getSZ(1);
  @$pb.TagNumber(2)
  set dynId($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynId() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynId() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get cardType => $_getSZ(2);
  @$pb.TagNumber(3)
  set cardType($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCardType() => $_has(2);
  @$pb.TagNumber(3)
  void clearCardType() => clearField(3);
}

/// 最近访问-个人feed流列表-返回
class DynAllPersonalReply extends $pb.GeneratedMessage {
  factory DynAllPersonalReply({
    $core.Iterable<DynamicItem>? list,
    $core.String? offset,
    $core.bool? hasMore,
    $core.String? readOffset,
    Relation? relation,
    TopAdditionUP? additionUp,
    $core.String? title,
    $core.String? titleSub,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (readOffset != null) {
      $result.readOffset = readOffset;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (additionUp != null) {
      $result.additionUp = additionUp;
    }
    if (title != null) {
      $result.title = title;
    }
    if (titleSub != null) {
      $result.titleSub = titleSub;
    }
    return $result;
  }
  DynAllPersonalReply._() : super();
  factory DynAllPersonalReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAllPersonalReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAllPersonalReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..aOS(4, _omitFieldNames ? '' : 'readOffset')
    ..aOM<Relation>(5, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..aOM<TopAdditionUP>(6, _omitFieldNames ? '' : 'additionUp',
        subBuilder: TopAdditionUP.create)
    ..aOS(7, _omitFieldNames ? '' : 'title')
    ..aOS(8, _omitFieldNames ? '' : 'titleSub')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAllPersonalReply clone() => DynAllPersonalReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAllPersonalReply copyWith(void Function(DynAllPersonalReply) updates) =>
      super.copyWith((message) => updates(message as DynAllPersonalReply))
          as DynAllPersonalReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAllPersonalReply create() => DynAllPersonalReply._();
  DynAllPersonalReply createEmptyInstance() => create();
  static $pb.PbList<DynAllPersonalReply> createRepeated() =>
      $pb.PbList<DynAllPersonalReply>();
  @$core.pragma('dart2js:noInline')
  static DynAllPersonalReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAllPersonalReply>(create);
  static DynAllPersonalReply? _defaultInstance;

  /// 动态列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 偏移量
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 是否还有更多数据
  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);

  /// 已读进度
  @$pb.TagNumber(4)
  $core.String get readOffset => $_getSZ(3);
  @$pb.TagNumber(4)
  set readOffset($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasReadOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearReadOffset() => clearField(4);

  /// 关注状态
  @$pb.TagNumber(5)
  Relation get relation => $_getN(4);
  @$pb.TagNumber(5)
  set relation(Relation v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasRelation() => $_has(4);
  @$pb.TagNumber(5)
  void clearRelation() => clearField(5);
  @$pb.TagNumber(5)
  Relation ensureRelation() => $_ensure(4);

  /// 顶部预约卡
  @$pb.TagNumber(6)
  TopAdditionUP get additionUp => $_getN(5);
  @$pb.TagNumber(6)
  set additionUp(TopAdditionUP v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAdditionUp() => $_has(5);
  @$pb.TagNumber(6)
  void clearAdditionUp() => clearField(6);
  @$pb.TagNumber(6)
  TopAdditionUP ensureAdditionUp() => $_ensure(5);

  @$pb.TagNumber(7)
  $core.String get title => $_getSZ(6);
  @$pb.TagNumber(7)
  set title($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasTitle() => $_has(6);
  @$pb.TagNumber(7)
  void clearTitle() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get titleSub => $_getSZ(7);
  @$pb.TagNumber(8)
  set titleSub($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasTitleSub() => $_has(7);
  @$pb.TagNumber(8)
  void clearTitleSub() => clearField(8);
}

/// 最近访问-个人feed流列表-请求
class DynAllPersonalReq extends $pb.GeneratedMessage {
  factory DynAllPersonalReq({
    $fixnum.Int64? hostUid,
    $core.String? offset,
    $core.int? page,
    $core.int? isPreload,
    PlayurlParam? playurlParam,
    $core.int? localTime,
    $core.String? footprint,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
    $core.String? personalExtra,
  }) {
    final $result = create();
    if (hostUid != null) {
      $result.hostUid = hostUid;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (page != null) {
      $result.page = page;
    }
    if (isPreload != null) {
      $result.isPreload = isPreload;
    }
    if (playurlParam != null) {
      $result.playurlParam = playurlParam;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (footprint != null) {
      $result.footprint = footprint;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (personalExtra != null) {
      $result.personalExtra = personalExtra;
    }
    return $result;
  }
  DynAllPersonalReq._() : super();
  factory DynAllPersonalReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAllPersonalReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAllPersonalReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'hostUid')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'isPreload', $pb.PbFieldType.O3)
    ..aOM<PlayurlParam>(5, _omitFieldNames ? '' : 'playurlParam',
        subBuilder: PlayurlParam.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'footprint')
    ..aOS(8, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(9, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOS(10, _omitFieldNames ? '' : 'personalExtra')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAllPersonalReq clone() => DynAllPersonalReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAllPersonalReq copyWith(void Function(DynAllPersonalReq) updates) =>
      super.copyWith((message) => updates(message as DynAllPersonalReq))
          as DynAllPersonalReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAllPersonalReq create() => DynAllPersonalReq._();
  DynAllPersonalReq createEmptyInstance() => create();
  static $pb.PbList<DynAllPersonalReq> createRepeated() =>
      $pb.PbList<DynAllPersonalReq>();
  @$core.pragma('dart2js:noInline')
  static DynAllPersonalReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAllPersonalReq>(create);
  static DynAllPersonalReq? _defaultInstance;

  /// 被访问者的 UID
  @$pb.TagNumber(1)
  $fixnum.Int64 get hostUid => $_getI64(0);
  @$pb.TagNumber(1)
  set hostUid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHostUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearHostUid() => clearField(1);

  /// 偏移量 第一页可传空
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 标明下拉几次
  @$pb.TagNumber(3)
  $core.int get page => $_getIZ(2);
  @$pb.TagNumber(3)
  set page($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPage() => $_has(2);
  @$pb.TagNumber(3)
  void clearPage() => clearField(3);

  /// 是否是预加载 默认是1；客户端预加载。1：是预加载，不更新已读进度，不会影响小红点；0：非预加载，更新已读进度
  @$pb.TagNumber(4)
  $core.int get isPreload => $_getIZ(3);
  @$pb.TagNumber(4)
  set isPreload($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsPreload() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsPreload() => clearField(4);

  /// 秒开参数 新版本废弃，统一使用player_args
  @$pb.TagNumber(5)
  PlayurlParam get playurlParam => $_getN(4);
  @$pb.TagNumber(5)
  set playurlParam(PlayurlParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayurlParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayurlParam() => clearField(5);
  @$pb.TagNumber(5)
  PlayurlParam ensurePlayurlParam() => $_ensure(4);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(6)
  $core.int get localTime => $_getIZ(5);
  @$pb.TagNumber(6)
  set localTime($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLocalTime() => $_has(5);
  @$pb.TagNumber(6)
  void clearLocalTime() => clearField(6);

  /// 服务端生成的透传上报字段
  @$pb.TagNumber(7)
  $core.String get footprint => $_getSZ(6);
  @$pb.TagNumber(7)
  set footprint($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasFootprint() => $_has(6);
  @$pb.TagNumber(7)
  void clearFootprint() => clearField(7);

  /// 来源
  @$pb.TagNumber(8)
  $core.String get from => $_getSZ(7);
  @$pb.TagNumber(8)
  set from($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasFrom() => $_has(7);
  @$pb.TagNumber(8)
  void clearFrom() => clearField(8);

  /// 秒开用
  @$pb.TagNumber(9)
  $1.PlayerArgs get playerArgs => $_getN(8);
  @$pb.TagNumber(9)
  set playerArgs($1.PlayerArgs v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasPlayerArgs() => $_has(8);
  @$pb.TagNumber(9)
  void clearPlayerArgs() => clearField(9);
  @$pb.TagNumber(9)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(8);

  @$pb.TagNumber(10)
  $core.String get personalExtra => $_getSZ(9);
  @$pb.TagNumber(10)
  set personalExtra($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPersonalExtra() => $_has(9);
  @$pb.TagNumber(10)
  void clearPersonalExtra() => clearField(10);
}

/// 动态综合页-响应
class DynAllReply extends $pb.GeneratedMessage {
  factory DynAllReply({
    DynamicList? dynamicList,
    CardVideoUpList? upList,
    TopicList? topicList,
    Unfollow? unfollow,
    DynRegionRcmd? regionRcmd,
    Config? config,
  }) {
    final $result = create();
    if (dynamicList != null) {
      $result.dynamicList = dynamicList;
    }
    if (upList != null) {
      $result.upList = upList;
    }
    if (topicList != null) {
      $result.topicList = topicList;
    }
    if (unfollow != null) {
      $result.unfollow = unfollow;
    }
    if (regionRcmd != null) {
      $result.regionRcmd = regionRcmd;
    }
    if (config != null) {
      $result.config = config;
    }
    return $result;
  }
  DynAllReply._() : super();
  factory DynAllReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAllReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAllReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynamicList>(1, _omitFieldNames ? '' : 'dynamicList',
        subBuilder: DynamicList.create)
    ..aOM<CardVideoUpList>(2, _omitFieldNames ? '' : 'upList',
        subBuilder: CardVideoUpList.create)
    ..aOM<TopicList>(3, _omitFieldNames ? '' : 'topicList',
        subBuilder: TopicList.create)
    ..aOM<Unfollow>(4, _omitFieldNames ? '' : 'unfollow',
        subBuilder: Unfollow.create)
    ..aOM<DynRegionRcmd>(5, _omitFieldNames ? '' : 'regionRcmd',
        subBuilder: DynRegionRcmd.create)
    ..aOM<Config>(6, _omitFieldNames ? '' : 'config', subBuilder: Config.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAllReply clone() => DynAllReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAllReply copyWith(void Function(DynAllReply) updates) =>
      super.copyWith((message) => updates(message as DynAllReply))
          as DynAllReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAllReply create() => DynAllReply._();
  DynAllReply createEmptyInstance() => create();
  static $pb.PbList<DynAllReply> createRepeated() => $pb.PbList<DynAllReply>();
  @$core.pragma('dart2js:noInline')
  static DynAllReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAllReply>(create);
  static DynAllReply? _defaultInstance;

  /// 卡片列表
  @$pb.TagNumber(1)
  DynamicList get dynamicList => $_getN(0);
  @$pb.TagNumber(1)
  set dynamicList(DynamicList v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicList() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicList() => clearField(1);
  @$pb.TagNumber(1)
  DynamicList ensureDynamicList() => $_ensure(0);

  /// 顶部up list
  @$pb.TagNumber(2)
  CardVideoUpList get upList => $_getN(1);
  @$pb.TagNumber(2)
  set upList(CardVideoUpList v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUpList() => $_has(1);
  @$pb.TagNumber(2)
  void clearUpList() => clearField(2);
  @$pb.TagNumber(2)
  CardVideoUpList ensureUpList() => $_ensure(1);

  /// 话题广场
  @$pb.TagNumber(3)
  TopicList get topicList => $_getN(2);
  @$pb.TagNumber(3)
  set topicList(TopicList v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTopicList() => $_has(2);
  @$pb.TagNumber(3)
  void clearTopicList() => clearField(3);
  @$pb.TagNumber(3)
  TopicList ensureTopicList() => $_ensure(2);

  /// 无关注推荐
  @$pb.TagNumber(4)
  Unfollow get unfollow => $_getN(3);
  @$pb.TagNumber(4)
  set unfollow(Unfollow v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUnfollow() => $_has(3);
  @$pb.TagNumber(4)
  void clearUnfollow() => clearField(4);
  @$pb.TagNumber(4)
  Unfollow ensureUnfollow() => $_ensure(3);

  /// 分区UP推荐
  @$pb.TagNumber(5)
  DynRegionRcmd get regionRcmd => $_getN(4);
  @$pb.TagNumber(5)
  set regionRcmd(DynRegionRcmd v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasRegionRcmd() => $_has(4);
  @$pb.TagNumber(5)
  void clearRegionRcmd() => clearField(5);
  @$pb.TagNumber(5)
  DynRegionRcmd ensureRegionRcmd() => $_ensure(4);

  @$pb.TagNumber(6)
  Config get config => $_getN(5);
  @$pb.TagNumber(6)
  set config(Config v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasConfig() => $_has(5);
  @$pb.TagNumber(6)
  void clearConfig() => clearField(6);
  @$pb.TagNumber(6)
  Config ensureConfig() => $_ensure(5);
}

/// 动态综合页-请求
class DynAllReq extends $pb.GeneratedMessage {
  factory DynAllReq({
    $core.String? updateBaseline,
    $core.String? offset,
    $core.int? page,
    Refresh? refreshType,
    PlayurlParam? playurlParam,
    $core.String? assistBaseline,
    $core.int? localTime,
    RcmdUPsParam? rcmdUpsParam,
    AdParam? adParam,
    $core.int? coldStart,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
    $fixnum.Int64? tabRecallUid,
    $core.int? tabRecallType,
  }) {
    final $result = create();
    if (updateBaseline != null) {
      $result.updateBaseline = updateBaseline;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (page != null) {
      $result.page = page;
    }
    if (refreshType != null) {
      $result.refreshType = refreshType;
    }
    if (playurlParam != null) {
      $result.playurlParam = playurlParam;
    }
    if (assistBaseline != null) {
      $result.assistBaseline = assistBaseline;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (rcmdUpsParam != null) {
      $result.rcmdUpsParam = rcmdUpsParam;
    }
    if (adParam != null) {
      $result.adParam = adParam;
    }
    if (coldStart != null) {
      $result.coldStart = coldStart;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (tabRecallUid != null) {
      $result.tabRecallUid = tabRecallUid;
    }
    if (tabRecallType != null) {
      $result.tabRecallType = tabRecallType;
    }
    return $result;
  }
  DynAllReq._() : super();
  factory DynAllReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAllReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAllReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'updateBaseline')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..e<Refresh>(4, _omitFieldNames ? '' : 'refreshType', $pb.PbFieldType.OE,
        defaultOrMaker: Refresh.refresh_new,
        valueOf: Refresh.valueOf,
        enumValues: Refresh.values)
    ..aOM<PlayurlParam>(5, _omitFieldNames ? '' : 'playurlParam',
        subBuilder: PlayurlParam.create)
    ..aOS(6, _omitFieldNames ? '' : 'assistBaseline')
    ..a<$core.int>(7, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<RcmdUPsParam>(8, _omitFieldNames ? '' : 'rcmdUpsParam',
        subBuilder: RcmdUPsParam.create)
    ..aOM<AdParam>(9, _omitFieldNames ? '' : 'adParam',
        subBuilder: AdParam.create)
    ..a<$core.int>(10, _omitFieldNames ? '' : 'coldStart', $pb.PbFieldType.O3)
    ..aOS(11, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(12, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aInt64(13, _omitFieldNames ? '' : 'tabRecallUid')
    ..a<$core.int>(
        14, _omitFieldNames ? '' : 'tabRecallType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAllReq clone() => DynAllReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAllReq copyWith(void Function(DynAllReq) updates) =>
      super.copyWith((message) => updates(message as DynAllReq)) as DynAllReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAllReq create() => DynAllReq._();
  DynAllReq createEmptyInstance() => create();
  static $pb.PbList<DynAllReq> createRepeated() => $pb.PbList<DynAllReq>();
  @$core.pragma('dart2js:noInline')
  static DynAllReq getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DynAllReq>(create);
  static DynAllReq? _defaultInstance;

  /// 透传 update_baseline
  @$pb.TagNumber(1)
  $core.String get updateBaseline => $_getSZ(0);
  @$pb.TagNumber(1)
  set updateBaseline($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUpdateBaseline() => $_has(0);
  @$pb.TagNumber(1)
  void clearUpdateBaseline() => clearField(1);

  /// 透传 history_offset
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 向下翻页数
  @$pb.TagNumber(3)
  $core.int get page => $_getIZ(2);
  @$pb.TagNumber(3)
  set page($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPage() => $_has(2);
  @$pb.TagNumber(3)
  void clearPage() => clearField(3);

  /// 刷新方式 1向上刷新 2向下翻页
  @$pb.TagNumber(4)
  Refresh get refreshType => $_getN(3);
  @$pb.TagNumber(4)
  set refreshType(Refresh v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRefreshType() => $_has(3);
  @$pb.TagNumber(4)
  void clearRefreshType() => clearField(4);

  /// 秒开参数 新版本废弃，统一使用player_args
  @$pb.TagNumber(5)
  PlayurlParam get playurlParam => $_getN(4);
  @$pb.TagNumber(5)
  set playurlParam(PlayurlParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayurlParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayurlParam() => clearField(5);
  @$pb.TagNumber(5)
  PlayurlParam ensurePlayurlParam() => $_ensure(4);

  /// 综合页当前更新的最大值
  @$pb.TagNumber(6)
  $core.String get assistBaseline => $_getSZ(5);
  @$pb.TagNumber(6)
  set assistBaseline($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAssistBaseline() => $_has(5);
  @$pb.TagNumber(6)
  void clearAssistBaseline() => clearField(6);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(7)
  $core.int get localTime => $_getIZ(6);
  @$pb.TagNumber(7)
  set localTime($core.int v) {
    $_setSignedInt32(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasLocalTime() => $_has(6);
  @$pb.TagNumber(7)
  void clearLocalTime() => clearField(7);

  /// 推荐up主入参(new的时候传)
  @$pb.TagNumber(8)
  RcmdUPsParam get rcmdUpsParam => $_getN(7);
  @$pb.TagNumber(8)
  set rcmdUpsParam(RcmdUPsParam v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasRcmdUpsParam() => $_has(7);
  @$pb.TagNumber(8)
  void clearRcmdUpsParam() => clearField(8);
  @$pb.TagNumber(8)
  RcmdUPsParam ensureRcmdUpsParam() => $_ensure(7);

  /// 广告参数
  @$pb.TagNumber(9)
  AdParam get adParam => $_getN(8);
  @$pb.TagNumber(9)
  set adParam(AdParam v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasAdParam() => $_has(8);
  @$pb.TagNumber(9)
  void clearAdParam() => clearField(9);
  @$pb.TagNumber(9)
  AdParam ensureAdParam() => $_ensure(8);

  /// 是否冷启
  @$pb.TagNumber(10)
  $core.int get coldStart => $_getIZ(9);
  @$pb.TagNumber(10)
  set coldStart($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasColdStart() => $_has(9);
  @$pb.TagNumber(10)
  void clearColdStart() => clearField(10);

  /// 来源
  @$pb.TagNumber(11)
  $core.String get from => $_getSZ(10);
  @$pb.TagNumber(11)
  set from($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasFrom() => $_has(10);
  @$pb.TagNumber(11)
  void clearFrom() => clearField(11);

  /// 秒开参数
  @$pb.TagNumber(12)
  $1.PlayerArgs get playerArgs => $_getN(11);
  @$pb.TagNumber(12)
  set playerArgs($1.PlayerArgs v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasPlayerArgs() => $_has(11);
  @$pb.TagNumber(12)
  void clearPlayerArgs() => clearField(12);
  @$pb.TagNumber(12)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(11);

  @$pb.TagNumber(13)
  $fixnum.Int64 get tabRecallUid => $_getI64(12);
  @$pb.TagNumber(13)
  set tabRecallUid($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasTabRecallUid() => $_has(12);
  @$pb.TagNumber(13)
  void clearTabRecallUid() => clearField(13);

  @$pb.TagNumber(14)
  $core.int get tabRecallType => $_getIZ(13);
  @$pb.TagNumber(14)
  set tabRecallType($core.int v) {
    $_setSignedInt32(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasTabRecallType() => $_has(13);
  @$pb.TagNumber(14)
  void clearTabRecallType() => clearField(14);
}

/// 最近访问-标记已读-请求
class DynAllUpdOffsetReq extends $pb.GeneratedMessage {
  factory DynAllUpdOffsetReq({
    $fixnum.Int64? hostUid,
    $core.String? readOffset,
    $core.String? footprint,
    $core.String? personalExtra,
  }) {
    final $result = create();
    if (hostUid != null) {
      $result.hostUid = hostUid;
    }
    if (readOffset != null) {
      $result.readOffset = readOffset;
    }
    if (footprint != null) {
      $result.footprint = footprint;
    }
    if (personalExtra != null) {
      $result.personalExtra = personalExtra;
    }
    return $result;
  }
  DynAllUpdOffsetReq._() : super();
  factory DynAllUpdOffsetReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynAllUpdOffsetReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynAllUpdOffsetReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'hostUid')
    ..aOS(2, _omitFieldNames ? '' : 'readOffset')
    ..aOS(3, _omitFieldNames ? '' : 'footprint')
    ..aOS(4, _omitFieldNames ? '' : 'personalExtra')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynAllUpdOffsetReq clone() => DynAllUpdOffsetReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynAllUpdOffsetReq copyWith(void Function(DynAllUpdOffsetReq) updates) =>
      super.copyWith((message) => updates(message as DynAllUpdOffsetReq))
          as DynAllUpdOffsetReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynAllUpdOffsetReq create() => DynAllUpdOffsetReq._();
  DynAllUpdOffsetReq createEmptyInstance() => create();
  static $pb.PbList<DynAllUpdOffsetReq> createRepeated() =>
      $pb.PbList<DynAllUpdOffsetReq>();
  @$core.pragma('dart2js:noInline')
  static DynAllUpdOffsetReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynAllUpdOffsetReq>(create);
  static DynAllUpdOffsetReq? _defaultInstance;

  /// 被访问者的UID
  @$pb.TagNumber(1)
  $fixnum.Int64 get hostUid => $_getI64(0);
  @$pb.TagNumber(1)
  set hostUid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHostUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearHostUid() => clearField(1);

  /// 用户已读进度
  @$pb.TagNumber(2)
  $core.String get readOffset => $_getSZ(1);
  @$pb.TagNumber(2)
  set readOffset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasReadOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearReadOffset() => clearField(2);

  /// 服务端生成的透传上报字段
  @$pb.TagNumber(3)
  $core.String get footprint => $_getSZ(2);
  @$pb.TagNumber(3)
  set footprint($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFootprint() => $_has(2);
  @$pb.TagNumber(3)
  void clearFootprint() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get personalExtra => $_getSZ(3);
  @$pb.TagNumber(4)
  set personalExtra($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPersonalExtra() => $_has(3);
  @$pb.TagNumber(4)
  void clearPersonalExtra() => clearField(4);
}

/// 动态卡片
class DynamicItem extends $pb.GeneratedMessage {
  factory DynamicItem({
    DynamicType? cardType,
    DynamicType? itemType,
    $core.Iterable<Module>? modules,
    Extend? extend,
    $core.int? hasFold,
    $core.String? serverInfo,
  }) {
    final $result = create();
    if (cardType != null) {
      $result.cardType = cardType;
    }
    if (itemType != null) {
      $result.itemType = itemType;
    }
    if (modules != null) {
      $result.modules.addAll(modules);
    }
    if (extend != null) {
      $result.extend = extend;
    }
    if (hasFold != null) {
      $result.hasFold = hasFold;
    }
    if (serverInfo != null) {
      $result.serverInfo = serverInfo;
    }
    return $result;
  }
  DynamicItem._() : super();
  factory DynamicItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynamicItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynamicItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<DynamicType>(1, _omitFieldNames ? '' : 'cardType', $pb.PbFieldType.OE,
        defaultOrMaker: DynamicType.dyn_none,
        valueOf: DynamicType.valueOf,
        enumValues: DynamicType.values)
    ..e<DynamicType>(2, _omitFieldNames ? '' : 'itemType', $pb.PbFieldType.OE,
        defaultOrMaker: DynamicType.dyn_none,
        valueOf: DynamicType.valueOf,
        enumValues: DynamicType.values)
    ..pc<Module>(3, _omitFieldNames ? '' : 'modules', $pb.PbFieldType.PM,
        subBuilder: Module.create)
    ..aOM<Extend>(4, _omitFieldNames ? '' : 'extend', subBuilder: Extend.create)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'hasFold', $pb.PbFieldType.O3)
    ..aOS(6, _omitFieldNames ? '' : 'serverInfo')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynamicItem clone() => DynamicItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynamicItem copyWith(void Function(DynamicItem) updates) =>
      super.copyWith((message) => updates(message as DynamicItem))
          as DynamicItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynamicItem create() => DynamicItem._();
  DynamicItem createEmptyInstance() => create();
  static $pb.PbList<DynamicItem> createRepeated() => $pb.PbList<DynamicItem>();
  @$core.pragma('dart2js:noInline')
  static DynamicItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynamicItem>(create);
  static DynamicItem? _defaultInstance;

  /// 动态卡片类型
  @$pb.TagNumber(1)
  DynamicType get cardType => $_getN(0);
  @$pb.TagNumber(1)
  set cardType(DynamicType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCardType() => $_has(0);
  @$pb.TagNumber(1)
  void clearCardType() => clearField(1);

  /// 转发类型下，源卡片类型
  @$pb.TagNumber(2)
  DynamicType get itemType => $_getN(1);
  @$pb.TagNumber(2)
  set itemType(DynamicType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasItemType() => $_has(1);
  @$pb.TagNumber(2)
  void clearItemType() => clearField(2);

  /// 模块内容
  @$pb.TagNumber(3)
  $core.List<Module> get modules => $_getList(2);

  /// 操作相关字段
  @$pb.TagNumber(4)
  Extend get extend => $_getN(3);
  @$pb.TagNumber(4)
  set extend(Extend v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasExtend() => $_has(3);
  @$pb.TagNumber(4)
  void clearExtend() => clearField(4);
  @$pb.TagNumber(4)
  Extend ensureExtend() => $_ensure(3);

  /// 该卡片下面是否含有折叠卡
  @$pb.TagNumber(5)
  $core.int get hasFold => $_getIZ(4);
  @$pb.TagNumber(5)
  set hasFold($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasHasFold() => $_has(4);
  @$pb.TagNumber(5)
  void clearHasFold() => clearField(5);

  /// 透传到客户端的埋点字段。
  @$pb.TagNumber(6)
  $core.String get serverInfo => $_getSZ(5);
  @$pb.TagNumber(6)
  set serverInfo($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasServerInfo() => $_has(5);
  @$pb.TagNumber(6)
  void clearServerInfo() => clearField(6);
}

/// 动态卡片列表
class DynamicList extends $pb.GeneratedMessage {
  factory DynamicList({
    $core.Iterable<DynamicItem>? list,
    $fixnum.Int64? updateNum,
    $core.String? historyOffset,
    $core.String? updateBaseline,
    $core.bool? hasMore,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (updateNum != null) {
      $result.updateNum = updateNum;
    }
    if (historyOffset != null) {
      $result.historyOffset = historyOffset;
    }
    if (updateBaseline != null) {
      $result.updateBaseline = updateBaseline;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    return $result;
  }
  DynamicList._() : super();
  factory DynamicList.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynamicList.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynamicList',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aInt64(2, _omitFieldNames ? '' : 'updateNum')
    ..aOS(3, _omitFieldNames ? '' : 'historyOffset')
    ..aOS(4, _omitFieldNames ? '' : 'updateBaseline')
    ..aOB(5, _omitFieldNames ? '' : 'hasMore')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynamicList clone() => DynamicList()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynamicList copyWith(void Function(DynamicList) updates) =>
      super.copyWith((message) => updates(message as DynamicList))
          as DynamicList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynamicList create() => DynamicList._();
  DynamicList createEmptyInstance() => create();
  static $pb.PbList<DynamicList> createRepeated() => $pb.PbList<DynamicList>();
  @$core.pragma('dart2js:noInline')
  static DynamicList getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynamicList>(create);
  static DynamicList? _defaultInstance;

  /// 动态列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 更新的动态数
  @$pb.TagNumber(2)
  $fixnum.Int64 get updateNum => $_getI64(1);
  @$pb.TagNumber(2)
  set updateNum($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUpdateNum() => $_has(1);
  @$pb.TagNumber(2)
  void clearUpdateNum() => clearField(2);

  /// 历史偏移
  @$pb.TagNumber(3)
  $core.String get historyOffset => $_getSZ(2);
  @$pb.TagNumber(3)
  set historyOffset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHistoryOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearHistoryOffset() => clearField(3);

  /// 更新基础信息
  @$pb.TagNumber(4)
  $core.String get updateBaseline => $_getSZ(3);
  @$pb.TagNumber(4)
  set updateBaseline($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUpdateBaseline() => $_has(3);
  @$pb.TagNumber(4)
  void clearUpdateBaseline() => clearField(4);

  /// 是否还有更多数据
  @$pb.TagNumber(5)
  $core.bool get hasMore => $_getBF(4);
  @$pb.TagNumber(5)
  set hasMore($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasHasMore() => $_has(4);
  @$pb.TagNumber(5)
  void clearHasMore() => clearField(5);
}

/// 动态详情页-响应
class DynDetailReply extends $pb.GeneratedMessage {
  factory DynDetailReply({
    DynamicItem? item,
  }) {
    final $result = create();
    if (item != null) {
      $result.item = item;
    }
    return $result;
  }
  DynDetailReply._() : super();
  factory DynDetailReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynDetailReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynDetailReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynamicItem>(1, _omitFieldNames ? '' : 'item',
        subBuilder: DynamicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynDetailReply clone() => DynDetailReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynDetailReply copyWith(void Function(DynDetailReply) updates) =>
      super.copyWith((message) => updates(message as DynDetailReply))
          as DynDetailReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynDetailReply create() => DynDetailReply._();
  DynDetailReply createEmptyInstance() => create();
  static $pb.PbList<DynDetailReply> createRepeated() =>
      $pb.PbList<DynDetailReply>();
  @$core.pragma('dart2js:noInline')
  static DynDetailReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynDetailReply>(create);
  static DynDetailReply? _defaultInstance;

  /// 动态详情
  @$pb.TagNumber(1)
  DynamicItem get item => $_getN(0);
  @$pb.TagNumber(1)
  set item(DynamicItem v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasItem() => $_has(0);
  @$pb.TagNumber(1)
  void clearItem() => clearField(1);
  @$pb.TagNumber(1)
  DynamicItem ensureItem() => $_ensure(0);
}

/// 动态详情页-请求
class DynDetailReq extends $pb.GeneratedMessage {
  factory DynDetailReq({
    $fixnum.Int64? uid,
    $core.String? dynamicId,
    $fixnum.Int64? dynType,
    $fixnum.Int64? rid,
    AdParam? adParam,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
    $core.String? shareId,
    $core.int? shareMode,
    $core.int? localTime,
    $core.String? pattern,
    Config? config,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (adParam != null) {
      $result.adParam = adParam;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (shareId != null) {
      $result.shareId = shareId;
    }
    if (shareMode != null) {
      $result.shareMode = shareMode;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (pattern != null) {
      $result.pattern = pattern;
    }
    if (config != null) {
      $result.config = config;
    }
    return $result;
  }
  DynDetailReq._() : super();
  factory DynDetailReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynDetailReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynDetailReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..aOS(2, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(3, _omitFieldNames ? '' : 'dynType')
    ..aInt64(4, _omitFieldNames ? '' : 'rid')
    ..aOM<AdParam>(5, _omitFieldNames ? '' : 'adParam',
        subBuilder: AdParam.create)
    ..aOS(6, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(7, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOS(8, _omitFieldNames ? '' : 'shareId')
    ..a<$core.int>(9, _omitFieldNames ? '' : 'shareMode', $pb.PbFieldType.O3)
    ..a<$core.int>(10, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOS(11, _omitFieldNames ? '' : 'pattern')
    ..aOM<Config>(12, _omitFieldNames ? '' : 'config',
        subBuilder: Config.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynDetailReq clone() => DynDetailReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynDetailReq copyWith(void Function(DynDetailReq) updates) =>
      super.copyWith((message) => updates(message as DynDetailReq))
          as DynDetailReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynDetailReq create() => DynDetailReq._();
  DynDetailReq createEmptyInstance() => create();
  static $pb.PbList<DynDetailReq> createRepeated() =>
      $pb.PbList<DynDetailReq>();
  @$core.pragma('dart2js:noInline')
  static DynDetailReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynDetailReq>(create);
  static DynDetailReq? _defaultInstance;

  /// up主uid
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 动态ID
  @$pb.TagNumber(2)
  $core.String get dynamicId => $_getSZ(1);
  @$pb.TagNumber(2)
  set dynamicId($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynamicId() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynamicId() => clearField(2);

  /// 动态类型
  @$pb.TagNumber(3)
  $fixnum.Int64 get dynType => $_getI64(2);
  @$pb.TagNumber(3)
  set dynType($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDynType() => $_has(2);
  @$pb.TagNumber(3)
  void clearDynType() => clearField(3);

  /// 业务方资源id
  @$pb.TagNumber(4)
  $fixnum.Int64 get rid => $_getI64(3);
  @$pb.TagNumber(4)
  set rid($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRid() => $_has(3);
  @$pb.TagNumber(4)
  void clearRid() => clearField(4);

  /// 广告参数
  @$pb.TagNumber(5)
  AdParam get adParam => $_getN(4);
  @$pb.TagNumber(5)
  set adParam(AdParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasAdParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearAdParam() => clearField(5);
  @$pb.TagNumber(5)
  AdParam ensureAdParam() => $_ensure(4);

  /// From来源
  @$pb.TagNumber(6)
  $core.String get from => $_getSZ(5);
  @$pb.TagNumber(6)
  set from($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFrom() => $_has(5);
  @$pb.TagNumber(6)
  void clearFrom() => clearField(6);

  /// 秒开参数
  @$pb.TagNumber(7)
  $1.PlayerArgs get playerArgs => $_getN(6);
  @$pb.TagNumber(7)
  set playerArgs($1.PlayerArgs v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPlayerArgs() => $_has(6);
  @$pb.TagNumber(7)
  void clearPlayerArgs() => clearField(7);
  @$pb.TagNumber(7)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(6);

  /// 分享id
  @$pb.TagNumber(8)
  $core.String get shareId => $_getSZ(7);
  @$pb.TagNumber(8)
  set shareId($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasShareId() => $_has(7);
  @$pb.TagNumber(8)
  void clearShareId() => clearField(8);

  /// 分享类型
  /// 1:文字 2:图片 3:链接 4:视频 5:音频
  @$pb.TagNumber(9)
  $core.int get shareMode => $_getIZ(8);
  @$pb.TagNumber(9)
  set shareMode($core.int v) {
    $_setSignedInt32(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasShareMode() => $_has(8);
  @$pb.TagNumber(9)
  void clearShareMode() => clearField(9);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(10)
  $core.int get localTime => $_getIZ(9);
  @$pb.TagNumber(10)
  set localTime($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasLocalTime() => $_has(9);
  @$pb.TagNumber(10)
  void clearLocalTime() => clearField(10);

  /// pattern
  @$pb.TagNumber(11)
  $core.String get pattern => $_getSZ(10);
  @$pb.TagNumber(11)
  set pattern($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasPattern() => $_has(10);
  @$pb.TagNumber(11)
  void clearPattern() => clearField(11);

  @$pb.TagNumber(12)
  Config get config => $_getN(11);
  @$pb.TagNumber(12)
  set config(Config v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasConfig() => $_has(11);
  @$pb.TagNumber(12)
  void clearConfig() => clearField(12);
  @$pb.TagNumber(12)
  Config ensureConfig() => $_ensure(11);
}

/// 批量动态id获取动态详情-响应
class DynDetailsReply extends $pb.GeneratedMessage {
  factory DynDetailsReply({
    $core.Iterable<DynamicItem>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  DynDetailsReply._() : super();
  factory DynDetailsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynDetailsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynDetailsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynDetailsReply clone() => DynDetailsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynDetailsReply copyWith(void Function(DynDetailsReply) updates) =>
      super.copyWith((message) => updates(message as DynDetailsReply))
          as DynDetailsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynDetailsReply create() => DynDetailsReply._();
  DynDetailsReply createEmptyInstance() => create();
  static $pb.PbList<DynDetailsReply> createRepeated() =>
      $pb.PbList<DynDetailsReply>();
  @$core.pragma('dart2js:noInline')
  static DynDetailsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynDetailsReply>(create);
  static DynDetailsReply? _defaultInstance;

  /// 动态列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);
}

/// 批量动态id获取动态详情-请求
class DynDetailsReq extends $pb.GeneratedMessage {
  factory DynDetailsReq({
    $core.String? dynamicIds,
    PlayurlParam? playurlParam,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
    Config? config,
  }) {
    final $result = create();
    if (dynamicIds != null) {
      $result.dynamicIds = dynamicIds;
    }
    if (playurlParam != null) {
      $result.playurlParam = playurlParam;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (config != null) {
      $result.config = config;
    }
    return $result;
  }
  DynDetailsReq._() : super();
  factory DynDetailsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynDetailsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynDetailsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'dynamicIds')
    ..aOM<PlayurlParam>(2, _omitFieldNames ? '' : 'playurlParam',
        subBuilder: PlayurlParam.create)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOM<Config>(5, _omitFieldNames ? '' : 'config', subBuilder: Config.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynDetailsReq clone() => DynDetailsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynDetailsReq copyWith(void Function(DynDetailsReq) updates) =>
      super.copyWith((message) => updates(message as DynDetailsReq))
          as DynDetailsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynDetailsReq create() => DynDetailsReq._();
  DynDetailsReq createEmptyInstance() => create();
  static $pb.PbList<DynDetailsReq> createRepeated() =>
      $pb.PbList<DynDetailsReq>();
  @$core.pragma('dart2js:noInline')
  static DynDetailsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynDetailsReq>(create);
  static DynDetailsReq? _defaultInstance;

  /// 动态id
  @$pb.TagNumber(1)
  $core.String get dynamicIds => $_getSZ(0);
  @$pb.TagNumber(1)
  set dynamicIds($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicIds() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicIds() => clearField(1);

  /// 秒开参数 新版本废弃，统一使用player_args
  @$pb.TagNumber(2)
  PlayurlParam get playurlParam => $_getN(1);
  @$pb.TagNumber(2)
  set playurlParam(PlayurlParam v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPlayurlParam() => $_has(1);
  @$pb.TagNumber(2)
  void clearPlayurlParam() => clearField(2);
  @$pb.TagNumber(2)
  PlayurlParam ensurePlayurlParam() => $_ensure(1);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(3)
  $core.int get localTime => $_getIZ(2);
  @$pb.TagNumber(3)
  set localTime($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLocalTime() => $_has(2);
  @$pb.TagNumber(3)
  void clearLocalTime() => clearField(3);

  /// 秒开参数
  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(3);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(3);

  @$pb.TagNumber(5)
  Config get config => $_getN(4);
  @$pb.TagNumber(5)
  set config(Config v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasConfig() => $_has(4);
  @$pb.TagNumber(5)
  void clearConfig() => clearField(5);
  @$pb.TagNumber(5)
  Config ensureConfig() => $_ensure(4);
}

/// 动态发布生成临时卡-响应
class DynFakeCardReply extends $pb.GeneratedMessage {
  factory DynFakeCardReply({
    DynamicItem? item,
  }) {
    final $result = create();
    if (item != null) {
      $result.item = item;
    }
    return $result;
  }
  DynFakeCardReply._() : super();
  factory DynFakeCardReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynFakeCardReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynFakeCardReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynamicItem>(1, _omitFieldNames ? '' : 'item',
        subBuilder: DynamicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynFakeCardReply clone() => DynFakeCardReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynFakeCardReply copyWith(void Function(DynFakeCardReply) updates) =>
      super.copyWith((message) => updates(message as DynFakeCardReply))
          as DynFakeCardReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynFakeCardReply create() => DynFakeCardReply._();
  DynFakeCardReply createEmptyInstance() => create();
  static $pb.PbList<DynFakeCardReply> createRepeated() =>
      $pb.PbList<DynFakeCardReply>();
  @$core.pragma('dart2js:noInline')
  static DynFakeCardReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynFakeCardReply>(create);
  static DynFakeCardReply? _defaultInstance;

  /// 动态卡片
  @$pb.TagNumber(1)
  DynamicItem get item => $_getN(0);
  @$pb.TagNumber(1)
  set item(DynamicItem v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasItem() => $_has(0);
  @$pb.TagNumber(1)
  void clearItem() => clearField(1);
  @$pb.TagNumber(1)
  DynamicItem ensureItem() => $_ensure(0);
}

/// 动态发布生成临时卡-请求
class DynFakeCardReq extends $pb.GeneratedMessage {
  factory DynFakeCardReq({
    $core.String? content,
  }) {
    final $result = create();
    if (content != null) {
      $result.content = content;
    }
    return $result;
  }
  DynFakeCardReq._() : super();
  factory DynFakeCardReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynFakeCardReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynFakeCardReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'content')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynFakeCardReq clone() => DynFakeCardReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynFakeCardReq copyWith(void Function(DynFakeCardReq) updates) =>
      super.copyWith((message) => updates(message as DynFakeCardReq))
          as DynFakeCardReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynFakeCardReq create() => DynFakeCardReq._();
  DynFakeCardReq createEmptyInstance() => create();
  static $pb.PbList<DynFakeCardReq> createRepeated() =>
      $pb.PbList<DynFakeCardReq>();
  @$core.pragma('dart2js:noInline')
  static DynFakeCardReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynFakeCardReq>(create);
  static DynFakeCardReq? _defaultInstance;

  /// 卡片内容json string
  @$pb.TagNumber(1)
  $core.String get content => $_getSZ(0);
  @$pb.TagNumber(1)
  set content($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasContent() => $_has(0);
  @$pb.TagNumber(1)
  void clearContent() => clearField(1);
}

class DynFeatureGate extends $pb.GeneratedMessage {
  factory DynFeatureGate({
    $core.bool? enhancedInteraction,
  }) {
    final $result = create();
    if (enhancedInteraction != null) {
      $result.enhancedInteraction = enhancedInteraction;
    }
    return $result;
  }
  DynFeatureGate._() : super();
  factory DynFeatureGate.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynFeatureGate.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynFeatureGate',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'enhancedInteraction')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynFeatureGate clone() => DynFeatureGate()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynFeatureGate copyWith(void Function(DynFeatureGate) updates) =>
      super.copyWith((message) => updates(message as DynFeatureGate))
          as DynFeatureGate;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynFeatureGate create() => DynFeatureGate._();
  DynFeatureGate createEmptyInstance() => create();
  static $pb.PbList<DynFeatureGate> createRepeated() =>
      $pb.PbList<DynFeatureGate>();
  @$core.pragma('dart2js:noInline')
  static DynFeatureGate getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynFeatureGate>(create);
  static DynFeatureGate? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get enhancedInteraction => $_getBF(0);
  @$pb.TagNumber(1)
  set enhancedInteraction($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasEnhancedInteraction() => $_has(0);
  @$pb.TagNumber(1)
  void clearEnhancedInteraction() => clearField(1);
}

class DynFriendReply extends $pb.GeneratedMessage {
  factory DynFriendReply({
    $core.Iterable<DynamicItem>? dynList,
    $core.bool? hasMore,
    $core.String? offset,
  }) {
    final $result = create();
    if (dynList != null) {
      $result.dynList.addAll(dynList);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  DynFriendReply._() : super();
  factory DynFriendReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynFriendReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynFriendReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'dynList', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynFriendReply clone() => DynFriendReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynFriendReply copyWith(void Function(DynFriendReply) updates) =>
      super.copyWith((message) => updates(message as DynFriendReply))
          as DynFriendReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynFriendReply create() => DynFriendReply._();
  DynFriendReply createEmptyInstance() => create();
  static $pb.PbList<DynFriendReply> createRepeated() =>
      $pb.PbList<DynFriendReply>();
  @$core.pragma('dart2js:noInline')
  static DynFriendReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynFriendReply>(create);
  static DynFriendReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynamicItem> get dynList => $_getList(0);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);
}

class DynFriendReq extends $pb.GeneratedMessage {
  factory DynFriendReq({
    $core.String? offset,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
  }) {
    final $result = create();
    if (offset != null) {
      $result.offset = offset;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    return $result;
  }
  DynFriendReq._() : super();
  factory DynFriendReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynFriendReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynFriendReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynFriendReq clone() => DynFriendReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynFriendReq copyWith(void Function(DynFriendReq) updates) =>
      super.copyWith((message) => updates(message as DynFriendReq))
          as DynFriendReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynFriendReq create() => DynFriendReq._();
  DynFriendReq createEmptyInstance() => create();
  static $pb.PbList<DynFriendReq> createRepeated() =>
      $pb.PbList<DynFriendReq>();
  @$core.pragma('dart2js:noInline')
  static DynFriendReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynFriendReq>(create);
  static DynFriendReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get offset => $_getSZ(0);
  @$pb.TagNumber(1)
  set offset($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOffset() => $_has(0);
  @$pb.TagNumber(1)
  void clearOffset() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get localTime => $_getIZ(1);
  @$pb.TagNumber(2)
  set localTime($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLocalTime() => $_has(1);
  @$pb.TagNumber(2)
  void clearLocalTime() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);
}

/// 轻浏览-响应
class DynLightReply extends $pb.GeneratedMessage {
  factory DynLightReply({
    DynamicList? dynamicList,
  }) {
    final $result = create();
    if (dynamicList != null) {
      $result.dynamicList = dynamicList;
    }
    return $result;
  }
  DynLightReply._() : super();
  factory DynLightReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynLightReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynLightReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynamicList>(1, _omitFieldNames ? '' : 'dynamicList',
        subBuilder: DynamicList.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynLightReply clone() => DynLightReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynLightReply copyWith(void Function(DynLightReply) updates) =>
      super.copyWith((message) => updates(message as DynLightReply))
          as DynLightReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynLightReply create() => DynLightReply._();
  DynLightReply createEmptyInstance() => create();
  static $pb.PbList<DynLightReply> createRepeated() =>
      $pb.PbList<DynLightReply>();
  @$core.pragma('dart2js:noInline')
  static DynLightReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynLightReply>(create);
  static DynLightReply? _defaultInstance;

  /// 卡片列表
  @$pb.TagNumber(1)
  DynamicList get dynamicList => $_getN(0);
  @$pb.TagNumber(1)
  set dynamicList(DynamicList v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicList() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicList() => clearField(1);
  @$pb.TagNumber(1)
  DynamicList ensureDynamicList() => $_ensure(0);
}

/// 轻浏览-请求
class DynLightReq extends $pb.GeneratedMessage {
  factory DynLightReq({
    $core.String? historyOffset,
    $core.int? page,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    $core.int? fromType,
    $fixnum.Int64? fakeUid,
  }) {
    final $result = create();
    if (historyOffset != null) {
      $result.historyOffset = historyOffset;
    }
    if (page != null) {
      $result.page = page;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    if (fakeUid != null) {
      $result.fakeUid = fakeUid;
    }
    return $result;
  }
  DynLightReq._() : super();
  factory DynLightReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynLightReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynLightReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'historyOffset')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..aOS(3, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.O3)
    ..aInt64(7, _omitFieldNames ? '' : 'fakeUid')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynLightReq clone() => DynLightReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynLightReq copyWith(void Function(DynLightReq) updates) =>
      super.copyWith((message) => updates(message as DynLightReq))
          as DynLightReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynLightReq create() => DynLightReq._();
  DynLightReq createEmptyInstance() => create();
  static $pb.PbList<DynLightReq> createRepeated() => $pb.PbList<DynLightReq>();
  @$core.pragma('dart2js:noInline')
  static DynLightReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynLightReq>(create);
  static DynLightReq? _defaultInstance;

  /// 透传 history_offset
  @$pb.TagNumber(1)
  $core.String get historyOffset => $_getSZ(0);
  @$pb.TagNumber(1)
  set historyOffset($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHistoryOffset() => $_has(0);
  @$pb.TagNumber(1)
  void clearHistoryOffset() => clearField(1);

  /// 向下翻页数
  @$pb.TagNumber(2)
  $core.int get page => $_getIZ(1);
  @$pb.TagNumber(2)
  set page($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPage() => $_has(1);
  @$pb.TagNumber(2)
  void clearPage() => clearField(2);

  /// 来源
  @$pb.TagNumber(3)
  $core.String get from => $_getSZ(2);
  @$pb.TagNumber(3)
  set from($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFrom() => $_has(2);
  @$pb.TagNumber(3)
  void clearFrom() => clearField(3);

  /// 秒开参数
  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(3);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(3);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(5)
  $core.int get localTime => $_getIZ(4);
  @$pb.TagNumber(5)
  set localTime($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLocalTime() => $_has(4);
  @$pb.TagNumber(5)
  void clearLocalTime() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get fromType => $_getIZ(5);
  @$pb.TagNumber(6)
  set fromType($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFromType() => $_has(5);
  @$pb.TagNumber(6)
  void clearFromType() => clearField(6);

  @$pb.TagNumber(7)
  $fixnum.Int64 get fakeUid => $_getI64(6);
  @$pb.TagNumber(7)
  set fakeUid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasFakeUid() => $_has(6);
  @$pb.TagNumber(7)
  void clearFakeUid() => clearField(7);
}

/// 查看更多-列表-响应
class DynMixUpListViewMoreReply extends $pb.GeneratedMessage {
  factory DynMixUpListViewMoreReply({
    $core.Iterable<MixUpListItem>? items,
    $core.String? searchDefaultText,
    $core.Iterable<SortType>? sortTypes,
    $core.bool? showMoreSortTypes,
    $core.int? defaultSortType,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (searchDefaultText != null) {
      $result.searchDefaultText = searchDefaultText;
    }
    if (sortTypes != null) {
      $result.sortTypes.addAll(sortTypes);
    }
    if (showMoreSortTypes != null) {
      $result.showMoreSortTypes = showMoreSortTypes;
    }
    if (defaultSortType != null) {
      $result.defaultSortType = defaultSortType;
    }
    return $result;
  }
  DynMixUpListViewMoreReply._() : super();
  factory DynMixUpListViewMoreReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynMixUpListViewMoreReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynMixUpListViewMoreReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<MixUpListItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: MixUpListItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'searchDefaultText')
    ..pc<SortType>(3, _omitFieldNames ? '' : 'sortTypes', $pb.PbFieldType.PM,
        subBuilder: SortType.create)
    ..aOB(4, _omitFieldNames ? '' : 'showMoreSortTypes')
    ..a<$core.int>(
        5, _omitFieldNames ? '' : 'defaultSortType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynMixUpListViewMoreReply clone() =>
      DynMixUpListViewMoreReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynMixUpListViewMoreReply copyWith(
          void Function(DynMixUpListViewMoreReply) updates) =>
      super.copyWith((message) => updates(message as DynMixUpListViewMoreReply))
          as DynMixUpListViewMoreReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynMixUpListViewMoreReply create() => DynMixUpListViewMoreReply._();
  DynMixUpListViewMoreReply createEmptyInstance() => create();
  static $pb.PbList<DynMixUpListViewMoreReply> createRepeated() =>
      $pb.PbList<DynMixUpListViewMoreReply>();
  @$core.pragma('dart2js:noInline')
  static DynMixUpListViewMoreReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynMixUpListViewMoreReply>(create);
  static DynMixUpListViewMoreReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<MixUpListItem> get items => $_getList(0);

  @$pb.TagNumber(2)
  $core.String get searchDefaultText => $_getSZ(1);
  @$pb.TagNumber(2)
  set searchDefaultText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSearchDefaultText() => $_has(1);
  @$pb.TagNumber(2)
  void clearSearchDefaultText() => clearField(2);

  /// 排序类型列表
  @$pb.TagNumber(3)
  $core.List<SortType> get sortTypes => $_getList(2);

  /// 是否展示更多的排序策略
  @$pb.TagNumber(4)
  $core.bool get showMoreSortTypes => $_getBF(3);
  @$pb.TagNumber(4)
  set showMoreSortTypes($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasShowMoreSortTypes() => $_has(3);
  @$pb.TagNumber(4)
  void clearShowMoreSortTypes() => clearField(4);

  /// 默认排序策略
  @$pb.TagNumber(5)
  $core.int get defaultSortType => $_getIZ(4);
  @$pb.TagNumber(5)
  set defaultSortType($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDefaultSortType() => $_has(4);
  @$pb.TagNumber(5)
  void clearDefaultSortType() => clearField(5);
}

/// 查看更多-请求
class DynMixUpListViewMoreReq extends $pb.GeneratedMessage {
  factory DynMixUpListViewMoreReq({
    $core.int? sortType,
  }) {
    final $result = create();
    if (sortType != null) {
      $result.sortType = sortType;
    }
    return $result;
  }
  DynMixUpListViewMoreReq._() : super();
  factory DynMixUpListViewMoreReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynMixUpListViewMoreReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynMixUpListViewMoreReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'sortType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynMixUpListViewMoreReq clone() =>
      DynMixUpListViewMoreReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynMixUpListViewMoreReq copyWith(
          void Function(DynMixUpListViewMoreReq) updates) =>
      super.copyWith((message) => updates(message as DynMixUpListViewMoreReq))
          as DynMixUpListViewMoreReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynMixUpListViewMoreReq create() => DynMixUpListViewMoreReq._();
  DynMixUpListViewMoreReq createEmptyInstance() => create();
  static $pb.PbList<DynMixUpListViewMoreReq> createRepeated() =>
      $pb.PbList<DynMixUpListViewMoreReq>();
  @$core.pragma('dart2js:noInline')
  static DynMixUpListViewMoreReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynMixUpListViewMoreReq>(create);
  static DynMixUpListViewMoreReq? _defaultInstance;

  /// 排序策略
  /// 1:推荐排序 2:最常访问 3:最近关注，其他值为默认排序
  @$pb.TagNumber(1)
  $core.int get sortType => $_getIZ(0);
  @$pb.TagNumber(1)
  set sortType($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSortType() => $_has(0);
  @$pb.TagNumber(1)
  void clearSortType() => clearField(1);
}

/// 推荐页-响应
class DynRcmdReply extends $pb.GeneratedMessage {
  factory DynRcmdReply({
    DynRegionRcmd? regionRcmd,
    DynamicList? dynamicList,
  }) {
    final $result = create();
    if (regionRcmd != null) {
      $result.regionRcmd = regionRcmd;
    }
    if (dynamicList != null) {
      $result.dynamicList = dynamicList;
    }
    return $result;
  }
  DynRcmdReply._() : super();
  factory DynRcmdReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRcmdReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRcmdReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynRegionRcmd>(1, _omitFieldNames ? '' : 'regionRcmd',
        subBuilder: DynRegionRcmd.create)
    ..aOM<DynamicList>(2, _omitFieldNames ? '' : 'dynamicList',
        subBuilder: DynamicList.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRcmdReply clone() => DynRcmdReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRcmdReply copyWith(void Function(DynRcmdReply) updates) =>
      super.copyWith((message) => updates(message as DynRcmdReply))
          as DynRcmdReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRcmdReply create() => DynRcmdReply._();
  DynRcmdReply createEmptyInstance() => create();
  static $pb.PbList<DynRcmdReply> createRepeated() =>
      $pb.PbList<DynRcmdReply>();
  @$core.pragma('dart2js:noInline')
  static DynRcmdReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRcmdReply>(create);
  static DynRcmdReply? _defaultInstance;

  /// 推荐页返回参数
  @$pb.TagNumber(1)
  DynRegionRcmd get regionRcmd => $_getN(0);
  @$pb.TagNumber(1)
  set regionRcmd(DynRegionRcmd v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRegionRcmd() => $_has(0);
  @$pb.TagNumber(1)
  void clearRegionRcmd() => clearField(1);
  @$pb.TagNumber(1)
  DynRegionRcmd ensureRegionRcmd() => $_ensure(0);

  @$pb.TagNumber(2)
  DynamicList get dynamicList => $_getN(1);
  @$pb.TagNumber(2)
  set dynamicList(DynamicList v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynamicList() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynamicList() => clearField(2);
  @$pb.TagNumber(2)
  DynamicList ensureDynamicList() => $_ensure(1);
}

/// 推荐页-请求
class DynRcmdReq extends $pb.GeneratedMessage {
  factory DynRcmdReq({
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    $fixnum.Int64? fakeUid,
    $core.bool? isRefresh,
  }) {
    final $result = create();
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (fakeUid != null) {
      $result.fakeUid = fakeUid;
    }
    if (isRefresh != null) {
      $result.isRefresh = isRefresh;
    }
    return $result;
  }
  DynRcmdReq._() : super();
  factory DynRcmdReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRcmdReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRcmdReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<$1.PlayerArgs>(1, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aInt64(3, _omitFieldNames ? '' : 'fakeUid')
    ..aOB(4, _omitFieldNames ? '' : 'isRefresh')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRcmdReq clone() => DynRcmdReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRcmdReq copyWith(void Function(DynRcmdReq) updates) =>
      super.copyWith((message) => updates(message as DynRcmdReq)) as DynRcmdReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRcmdReq create() => DynRcmdReq._();
  DynRcmdReq createEmptyInstance() => create();
  static $pb.PbList<DynRcmdReq> createRepeated() => $pb.PbList<DynRcmdReq>();
  @$core.pragma('dart2js:noInline')
  static DynRcmdReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRcmdReq>(create);
  static DynRcmdReq? _defaultInstance;

  /// 秒开参数
  @$pb.TagNumber(1)
  $1.PlayerArgs get playerArgs => $_getN(0);
  @$pb.TagNumber(1)
  set playerArgs($1.PlayerArgs v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPlayerArgs() => $_has(0);
  @$pb.TagNumber(1)
  void clearPlayerArgs() => clearField(1);
  @$pb.TagNumber(1)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(0);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(2)
  $core.int get localTime => $_getIZ(1);
  @$pb.TagNumber(2)
  set localTime($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLocalTime() => $_has(1);
  @$pb.TagNumber(2)
  void clearLocalTime() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get fakeUid => $_getI64(2);
  @$pb.TagNumber(3)
  set fakeUid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFakeUid() => $_has(2);
  @$pb.TagNumber(3)
  void clearFakeUid() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get isRefresh => $_getBF(3);
  @$pb.TagNumber(4)
  set isRefresh($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsRefresh() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsRefresh() => clearField(4);
}

/// 关注推荐up主换一换-响应
class DynRcmdUpExchangeReply extends $pb.GeneratedMessage {
  factory DynRcmdUpExchangeReply({
    Unfollow? unfollow,
  }) {
    final $result = create();
    if (unfollow != null) {
      $result.unfollow = unfollow;
    }
    return $result;
  }
  DynRcmdUpExchangeReply._() : super();
  factory DynRcmdUpExchangeReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRcmdUpExchangeReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRcmdUpExchangeReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<Unfollow>(1, _omitFieldNames ? '' : 'unfollow',
        subBuilder: Unfollow.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRcmdUpExchangeReply clone() =>
      DynRcmdUpExchangeReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRcmdUpExchangeReply copyWith(
          void Function(DynRcmdUpExchangeReply) updates) =>
      super.copyWith((message) => updates(message as DynRcmdUpExchangeReply))
          as DynRcmdUpExchangeReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRcmdUpExchangeReply create() => DynRcmdUpExchangeReply._();
  DynRcmdUpExchangeReply createEmptyInstance() => create();
  static $pb.PbList<DynRcmdUpExchangeReply> createRepeated() =>
      $pb.PbList<DynRcmdUpExchangeReply>();
  @$core.pragma('dart2js:noInline')
  static DynRcmdUpExchangeReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRcmdUpExchangeReply>(create);
  static DynRcmdUpExchangeReply? _defaultInstance;

  /// 无关注推荐
  @$pb.TagNumber(1)
  Unfollow get unfollow => $_getN(0);
  @$pb.TagNumber(1)
  set unfollow(Unfollow v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUnfollow() => $_has(0);
  @$pb.TagNumber(1)
  void clearUnfollow() => clearField(1);
  @$pb.TagNumber(1)
  Unfollow ensureUnfollow() => $_ensure(0);
}

/// 关注推荐up主换一换-请求
class DynRcmdUpExchangeReq extends $pb.GeneratedMessage {
  factory DynRcmdUpExchangeReq({
    $fixnum.Int64? uid,
    $fixnum.Int64? dislikeTs,
    $core.String? from,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (dislikeTs != null) {
      $result.dislikeTs = dislikeTs;
    }
    if (from != null) {
      $result.from = from;
    }
    return $result;
  }
  DynRcmdUpExchangeReq._() : super();
  factory DynRcmdUpExchangeReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRcmdUpExchangeReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRcmdUpExchangeReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..aInt64(2, _omitFieldNames ? '' : 'dislikeTs', protoName: 'dislikeTs')
    ..aOS(3, _omitFieldNames ? '' : 'from')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRcmdUpExchangeReq clone() =>
      DynRcmdUpExchangeReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRcmdUpExchangeReq copyWith(void Function(DynRcmdUpExchangeReq) updates) =>
      super.copyWith((message) => updates(message as DynRcmdUpExchangeReq))
          as DynRcmdUpExchangeReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRcmdUpExchangeReq create() => DynRcmdUpExchangeReq._();
  DynRcmdUpExchangeReq createEmptyInstance() => create();
  static $pb.PbList<DynRcmdUpExchangeReq> createRepeated() =>
      $pb.PbList<DynRcmdUpExchangeReq>();
  @$core.pragma('dart2js:noInline')
  static DynRcmdUpExchangeReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRcmdUpExchangeReq>(create);
  static DynRcmdUpExchangeReq? _defaultInstance;

  /// 登录用户id
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 上一次不感兴趣的ts，单位：秒；该字段透传给搜索
  @$pb.TagNumber(2)
  $fixnum.Int64 get dislikeTs => $_getI64(1);
  @$pb.TagNumber(2)
  set dislikeTs($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDislikeTs() => $_has(1);
  @$pb.TagNumber(2)
  void clearDislikeTs() => clearField(2);

  /// 需要与服务端确认或参照客户端现有参数
  @$pb.TagNumber(3)
  $core.String get from => $_getSZ(2);
  @$pb.TagNumber(3)
  set from($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFrom() => $_has(2);
  @$pb.TagNumber(3)
  void clearFrom() => clearField(3);
}

/// 推荐页返回参数
class DynRegionRcmd extends $pb.GeneratedMessage {
  factory DynRegionRcmd({
    $core.Iterable<DynRegionRcmdItem>? items,
    RcmdOption? opts,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (opts != null) {
      $result.opts = opts;
    }
    return $result;
  }
  DynRegionRcmd._() : super();
  factory DynRegionRcmd.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRegionRcmd.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRegionRcmd',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynRegionRcmdItem>(
        1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: DynRegionRcmdItem.create)
    ..aOM<RcmdOption>(2, _omitFieldNames ? '' : 'opts',
        subBuilder: RcmdOption.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRegionRcmd clone() => DynRegionRcmd()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRegionRcmd copyWith(void Function(DynRegionRcmd) updates) =>
      super.copyWith((message) => updates(message as DynRegionRcmd))
          as DynRegionRcmd;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRegionRcmd create() => DynRegionRcmd._();
  DynRegionRcmd createEmptyInstance() => create();
  static $pb.PbList<DynRegionRcmd> createRepeated() =>
      $pb.PbList<DynRegionRcmd>();
  @$core.pragma('dart2js:noInline')
  static DynRegionRcmd getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRegionRcmd>(create);
  static DynRegionRcmd? _defaultInstance;

  /// 分区推荐项目列表
  @$pb.TagNumber(1)
  $core.List<DynRegionRcmdItem> get items => $_getList(0);

  /// 分区聚类推荐选项
  @$pb.TagNumber(2)
  RcmdOption get opts => $_getN(1);
  @$pb.TagNumber(2)
  set opts(RcmdOption v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOpts() => $_has(1);
  @$pb.TagNumber(2)
  void clearOpts() => clearField(2);
  @$pb.TagNumber(2)
  RcmdOption ensureOpts() => $_ensure(1);
}

/// 分区推荐项目
class DynRegionRcmdItem extends $pb.GeneratedMessage {
  factory DynRegionRcmdItem({
    $fixnum.Int64? rid,
    $core.String? title,
    $core.Iterable<ModuleRcmd>? items,
  }) {
    final $result = create();
    if (rid != null) {
      $result.rid = rid;
    }
    if (title != null) {
      $result.title = title;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  DynRegionRcmdItem._() : super();
  factory DynRegionRcmdItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynRegionRcmdItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynRegionRcmdItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'rid')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..pc<ModuleRcmd>(3, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: ModuleRcmd.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynRegionRcmdItem clone() => DynRegionRcmdItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynRegionRcmdItem copyWith(void Function(DynRegionRcmdItem) updates) =>
      super.copyWith((message) => updates(message as DynRegionRcmdItem))
          as DynRegionRcmdItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynRegionRcmdItem create() => DynRegionRcmdItem._();
  DynRegionRcmdItem createEmptyInstance() => create();
  static $pb.PbList<DynRegionRcmdItem> createRepeated() =>
      $pb.PbList<DynRegionRcmdItem>();
  @$core.pragma('dart2js:noInline')
  static DynRegionRcmdItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynRegionRcmdItem>(create);
  static DynRegionRcmdItem? _defaultInstance;

  /// 分区id
  @$pb.TagNumber(1)
  $fixnum.Int64 get rid => $_getI64(0);
  @$pb.TagNumber(1)
  set rid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRid() => $_has(0);
  @$pb.TagNumber(1)
  void clearRid() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 推荐模块
  @$pb.TagNumber(3)
  $core.List<ModuleRcmd> get items => $_getList(2);
}

class DynScreenTab extends $pb.GeneratedMessage {
  factory DynScreenTab({
    $core.String? title,
    $core.String? name,
    $core.bool? defaultTab,
    $core.bool? strategyShowOnEntrance,
    $core.bool? strategyShowOnRefresh,
    $core.bool? strategyShowOnPullUp,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (name != null) {
      $result.name = name;
    }
    if (defaultTab != null) {
      $result.defaultTab = defaultTab;
    }
    if (strategyShowOnEntrance != null) {
      $result.strategyShowOnEntrance = strategyShowOnEntrance;
    }
    if (strategyShowOnRefresh != null) {
      $result.strategyShowOnRefresh = strategyShowOnRefresh;
    }
    if (strategyShowOnPullUp != null) {
      $result.strategyShowOnPullUp = strategyShowOnPullUp;
    }
    return $result;
  }
  DynScreenTab._() : super();
  factory DynScreenTab.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynScreenTab.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynScreenTab',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOB(3, _omitFieldNames ? '' : 'defaultTab')
    ..aOB(4, _omitFieldNames ? '' : 'strategyShowOnEntrance')
    ..aOB(5, _omitFieldNames ? '' : 'strategyShowOnRefresh')
    ..aOB(6, _omitFieldNames ? '' : 'strategyShowOnPullUp')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynScreenTab clone() => DynScreenTab()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynScreenTab copyWith(void Function(DynScreenTab) updates) =>
      super.copyWith((message) => updates(message as DynScreenTab))
          as DynScreenTab;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynScreenTab create() => DynScreenTab._();
  DynScreenTab createEmptyInstance() => create();
  static $pb.PbList<DynScreenTab> createRepeated() =>
      $pb.PbList<DynScreenTab>();
  @$core.pragma('dart2js:noInline')
  static DynScreenTab getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynScreenTab>(create);
  static DynScreenTab? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  @$pb.TagNumber(3)
  $core.bool get defaultTab => $_getBF(2);
  @$pb.TagNumber(3)
  set defaultTab($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDefaultTab() => $_has(2);
  @$pb.TagNumber(3)
  void clearDefaultTab() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get strategyShowOnEntrance => $_getBF(3);
  @$pb.TagNumber(4)
  set strategyShowOnEntrance($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasStrategyShowOnEntrance() => $_has(3);
  @$pb.TagNumber(4)
  void clearStrategyShowOnEntrance() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get strategyShowOnRefresh => $_getBF(4);
  @$pb.TagNumber(5)
  set strategyShowOnRefresh($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasStrategyShowOnRefresh() => $_has(4);
  @$pb.TagNumber(5)
  void clearStrategyShowOnRefresh() => clearField(5);

  @$pb.TagNumber(6)
  $core.bool get strategyShowOnPullUp => $_getBF(5);
  @$pb.TagNumber(6)
  set strategyShowOnPullUp($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasStrategyShowOnPullUp() => $_has(5);
  @$pb.TagNumber(6)
  void clearStrategyShowOnPullUp() => clearField(6);
}

class DynSearchReply extends $pb.GeneratedMessage {
  factory DynSearchReply({
    SearchChannel? channelInfo,
    SearchTopic? searchTopic,
    SearchInfo? searchInfo,
  }) {
    final $result = create();
    if (channelInfo != null) {
      $result.channelInfo = channelInfo;
    }
    if (searchTopic != null) {
      $result.searchTopic = searchTopic;
    }
    if (searchInfo != null) {
      $result.searchInfo = searchInfo;
    }
    return $result;
  }
  DynSearchReply._() : super();
  factory DynSearchReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSearchReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSearchReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<SearchChannel>(1, _omitFieldNames ? '' : 'channelInfo',
        subBuilder: SearchChannel.create)
    ..aOM<SearchTopic>(2, _omitFieldNames ? '' : 'searchTopic',
        subBuilder: SearchTopic.create)
    ..aOM<SearchInfo>(3, _omitFieldNames ? '' : 'searchInfo',
        subBuilder: SearchInfo.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSearchReply clone() => DynSearchReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSearchReply copyWith(void Function(DynSearchReply) updates) =>
      super.copyWith((message) => updates(message as DynSearchReply))
          as DynSearchReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSearchReply create() => DynSearchReply._();
  DynSearchReply createEmptyInstance() => create();
  static $pb.PbList<DynSearchReply> createRepeated() =>
      $pb.PbList<DynSearchReply>();
  @$core.pragma('dart2js:noInline')
  static DynSearchReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSearchReply>(create);
  static DynSearchReply? _defaultInstance;

  @$pb.TagNumber(1)
  SearchChannel get channelInfo => $_getN(0);
  @$pb.TagNumber(1)
  set channelInfo(SearchChannel v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasChannelInfo() => $_has(0);
  @$pb.TagNumber(1)
  void clearChannelInfo() => clearField(1);
  @$pb.TagNumber(1)
  SearchChannel ensureChannelInfo() => $_ensure(0);

  @$pb.TagNumber(2)
  SearchTopic get searchTopic => $_getN(1);
  @$pb.TagNumber(2)
  set searchTopic(SearchTopic v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSearchTopic() => $_has(1);
  @$pb.TagNumber(2)
  void clearSearchTopic() => clearField(2);
  @$pb.TagNumber(2)
  SearchTopic ensureSearchTopic() => $_ensure(1);

  @$pb.TagNumber(3)
  SearchInfo get searchInfo => $_getN(2);
  @$pb.TagNumber(3)
  set searchInfo(SearchInfo v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasSearchInfo() => $_has(2);
  @$pb.TagNumber(3)
  void clearSearchInfo() => clearField(3);
  @$pb.TagNumber(3)
  SearchInfo ensureSearchInfo() => $_ensure(2);
}

class DynSearchReq extends $pb.GeneratedMessage {
  factory DynSearchReq({
    $core.String? keyword,
    $core.int? page,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
  }) {
    final $result = create();
    if (keyword != null) {
      $result.keyword = keyword;
    }
    if (page != null) {
      $result.page = page;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    return $result;
  }
  DynSearchReq._() : super();
  factory DynSearchReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSearchReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSearchReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'keyword')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSearchReq clone() => DynSearchReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSearchReq copyWith(void Function(DynSearchReq) updates) =>
      super.copyWith((message) => updates(message as DynSearchReq))
          as DynSearchReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSearchReq create() => DynSearchReq._();
  DynSearchReq createEmptyInstance() => create();
  static $pb.PbList<DynSearchReq> createRepeated() =>
      $pb.PbList<DynSearchReq>();
  @$core.pragma('dart2js:noInline')
  static DynSearchReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSearchReq>(create);
  static DynSearchReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get keyword => $_getSZ(0);
  @$pb.TagNumber(1)
  set keyword($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasKeyword() => $_has(0);
  @$pb.TagNumber(1)
  void clearKeyword() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get page => $_getIZ(1);
  @$pb.TagNumber(2)
  set page($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPage() => $_has(1);
  @$pb.TagNumber(2)
  void clearPage() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get localTime => $_getIZ(2);
  @$pb.TagNumber(3)
  set localTime($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLocalTime() => $_has(2);
  @$pb.TagNumber(3)
  void clearLocalTime() => clearField(3);

  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(3);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(3);
}

class DynServerDetailsReply extends $pb.GeneratedMessage {
  factory DynServerDetailsReply({
    $core.Map<$fixnum.Int64, DynamicItem>? items,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  DynServerDetailsReply._() : super();
  factory DynServerDetailsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynServerDetailsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynServerDetailsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..m<$fixnum.Int64, DynamicItem>(1, _omitFieldNames ? '' : 'items',
        entryClassName: 'DynServerDetailsReply.ItemsEntry',
        keyFieldType: $pb.PbFieldType.O6,
        valueFieldType: $pb.PbFieldType.OM,
        valueCreator: DynamicItem.create,
        valueDefaultOrMaker: DynamicItem.getDefault,
        packageName: const $pb.PackageName('bilibili.app.dynamic.v2'))
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynServerDetailsReply clone() =>
      DynServerDetailsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynServerDetailsReply copyWith(
          void Function(DynServerDetailsReply) updates) =>
      super.copyWith((message) => updates(message as DynServerDetailsReply))
          as DynServerDetailsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynServerDetailsReply create() => DynServerDetailsReply._();
  DynServerDetailsReply createEmptyInstance() => create();
  static $pb.PbList<DynServerDetailsReply> createRepeated() =>
      $pb.PbList<DynServerDetailsReply>();
  @$core.pragma('dart2js:noInline')
  static DynServerDetailsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynServerDetailsReply>(create);
  static DynServerDetailsReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.Map<$fixnum.Int64, DynamicItem> get items => $_getMap(0);
}

class DynServerDetailsReq extends $pb.GeneratedMessage {
  factory DynServerDetailsReq({
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
    $core.String? mobiApp,
    $core.String? device,
    $core.String? buvid,
    $fixnum.Int64? build,
    $fixnum.Int64? mid,
    $core.String? platform,
    $core.bool? isMaster,
    $core.Iterable<$fixnum.Int64>? topDynamicIds,
  }) {
    final $result = create();
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (mobiApp != null) {
      $result.mobiApp = mobiApp;
    }
    if (device != null) {
      $result.device = device;
    }
    if (buvid != null) {
      $result.buvid = buvid;
    }
    if (build != null) {
      $result.build = build;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (platform != null) {
      $result.platform = platform;
    }
    if (isMaster != null) {
      $result.isMaster = isMaster;
    }
    if (topDynamicIds != null) {
      $result.topDynamicIds.addAll(topDynamicIds);
    }
    return $result;
  }
  DynServerDetailsReq._() : super();
  factory DynServerDetailsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynServerDetailsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynServerDetailsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOS(4, _omitFieldNames ? '' : 'mobiApp')
    ..aOS(5, _omitFieldNames ? '' : 'device')
    ..aOS(6, _omitFieldNames ? '' : 'buvid')
    ..aInt64(7, _omitFieldNames ? '' : 'build')
    ..aInt64(8, _omitFieldNames ? '' : 'mid')
    ..aOS(9, _omitFieldNames ? '' : 'platform')
    ..aOB(10, _omitFieldNames ? '' : 'isMaster')
    ..p<$fixnum.Int64>(
        11, _omitFieldNames ? '' : 'topDynamicIds', $pb.PbFieldType.K6)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynServerDetailsReq clone() => DynServerDetailsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynServerDetailsReq copyWith(void Function(DynServerDetailsReq) updates) =>
      super.copyWith((message) => updates(message as DynServerDetailsReq))
          as DynServerDetailsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynServerDetailsReq create() => DynServerDetailsReq._();
  DynServerDetailsReq createEmptyInstance() => create();
  static $pb.PbList<DynServerDetailsReq> createRepeated() =>
      $pb.PbList<DynServerDetailsReq>();
  @$core.pragma('dart2js:noInline')
  static DynServerDetailsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynServerDetailsReq>(create);
  static DynServerDetailsReq? _defaultInstance;

  @$pb.TagNumber(2)
  $core.int get localTime => $_getIZ(0);
  @$pb.TagNumber(2)
  set localTime($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLocalTime() => $_has(0);
  @$pb.TagNumber(2)
  void clearLocalTime() => clearField(2);

  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(1);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(1);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(1);

  @$pb.TagNumber(4)
  $core.String get mobiApp => $_getSZ(2);
  @$pb.TagNumber(4)
  set mobiApp($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasMobiApp() => $_has(2);
  @$pb.TagNumber(4)
  void clearMobiApp() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get device => $_getSZ(3);
  @$pb.TagNumber(5)
  set device($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDevice() => $_has(3);
  @$pb.TagNumber(5)
  void clearDevice() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get buvid => $_getSZ(4);
  @$pb.TagNumber(6)
  set buvid($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBuvid() => $_has(4);
  @$pb.TagNumber(6)
  void clearBuvid() => clearField(6);

  @$pb.TagNumber(7)
  $fixnum.Int64 get build => $_getI64(5);
  @$pb.TagNumber(7)
  set build($fixnum.Int64 v) {
    $_setInt64(5, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBuild() => $_has(5);
  @$pb.TagNumber(7)
  void clearBuild() => clearField(7);

  @$pb.TagNumber(8)
  $fixnum.Int64 get mid => $_getI64(6);
  @$pb.TagNumber(8)
  set mid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasMid() => $_has(6);
  @$pb.TagNumber(8)
  void clearMid() => clearField(8);

  @$pb.TagNumber(9)
  $core.String get platform => $_getSZ(7);
  @$pb.TagNumber(9)
  set platform($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasPlatform() => $_has(7);
  @$pb.TagNumber(9)
  void clearPlatform() => clearField(9);

  @$pb.TagNumber(10)
  $core.bool get isMaster => $_getBF(8);
  @$pb.TagNumber(10)
  set isMaster($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasIsMaster() => $_has(8);
  @$pb.TagNumber(10)
  void clearIsMaster() => clearField(10);

  @$pb.TagNumber(11)
  $core.List<$fixnum.Int64> get topDynamicIds => $_getList(9);
}

/// 空间页动态-请求
class DynSpaceReq extends $pb.GeneratedMessage {
  factory DynSpaceReq({
    $fixnum.Int64? hostUid,
    $core.String? historyOffset,
    $1.PlayerArgs? playerArgs,
    $core.int? localTime,
    $fixnum.Int64? page,
    $core.String? from,
  }) {
    final $result = create();
    if (hostUid != null) {
      $result.hostUid = hostUid;
    }
    if (historyOffset != null) {
      $result.historyOffset = historyOffset;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (page != null) {
      $result.page = page;
    }
    if (from != null) {
      $result.from = from;
    }
    return $result;
  }
  DynSpaceReq._() : super();
  factory DynSpaceReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSpaceReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSpaceReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'hostUid')
    ..aOS(2, _omitFieldNames ? '' : 'historyOffset')
    ..aOM<$1.PlayerArgs>(3, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aInt64(5, _omitFieldNames ? '' : 'page')
    ..aOS(6, _omitFieldNames ? '' : 'from')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSpaceReq clone() => DynSpaceReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSpaceReq copyWith(void Function(DynSpaceReq) updates) =>
      super.copyWith((message) => updates(message as DynSpaceReq))
          as DynSpaceReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSpaceReq create() => DynSpaceReq._();
  DynSpaceReq createEmptyInstance() => create();
  static $pb.PbList<DynSpaceReq> createRepeated() => $pb.PbList<DynSpaceReq>();
  @$core.pragma('dart2js:noInline')
  static DynSpaceReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSpaceReq>(create);
  static DynSpaceReq? _defaultInstance;

  /// 被访问者，也就是空间主人的uid
  @$pb.TagNumber(1)
  $fixnum.Int64 get hostUid => $_getI64(0);
  @$pb.TagNumber(1)
  set hostUid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHostUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearHostUid() => clearField(1);

  /// 动态偏移history_offset
  @$pb.TagNumber(2)
  $core.String get historyOffset => $_getSZ(1);
  @$pb.TagNumber(2)
  set historyOffset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHistoryOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearHistoryOffset() => clearField(2);

  /// 秒开参数
  @$pb.TagNumber(3)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(3)
  set playerArgs($1.PlayerArgs v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(3)
  void clearPlayerArgs() => clearField(3);
  @$pb.TagNumber(3)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(4)
  $core.int get localTime => $_getIZ(3);
  @$pb.TagNumber(4)
  set localTime($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLocalTime() => $_has(3);
  @$pb.TagNumber(4)
  void clearLocalTime() => clearField(4);

  /// 向下翻页数，默认从1开始
  @$pb.TagNumber(5)
  $fixnum.Int64 get page => $_getI64(4);
  @$pb.TagNumber(5)
  set page($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPage() => $_has(4);
  @$pb.TagNumber(5)
  void clearPage() => clearField(5);

  /// 来源，空间页：space，直播tab：live
  @$pb.TagNumber(6)
  $core.String get from => $_getSZ(5);
  @$pb.TagNumber(6)
  set from($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFrom() => $_has(5);
  @$pb.TagNumber(6)
  void clearFrom() => clearField(6);
}

/// 空间页动态-响应
class DynSpaceRsp extends $pb.GeneratedMessage {
  factory DynSpaceRsp({
    $core.Iterable<DynamicItem>? list,
    $core.String? historyOffset,
    $core.bool? hasMore,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (historyOffset != null) {
      $result.historyOffset = historyOffset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    return $result;
  }
  DynSpaceRsp._() : super();
  factory DynSpaceRsp.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSpaceRsp.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSpaceRsp',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'historyOffset')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSpaceRsp clone() => DynSpaceRsp()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSpaceRsp copyWith(void Function(DynSpaceRsp) updates) =>
      super.copyWith((message) => updates(message as DynSpaceRsp))
          as DynSpaceRsp;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSpaceRsp create() => DynSpaceRsp._();
  DynSpaceRsp createEmptyInstance() => create();
  static $pb.PbList<DynSpaceRsp> createRepeated() => $pb.PbList<DynSpaceRsp>();
  @$core.pragma('dart2js:noInline')
  static DynSpaceRsp getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSpaceRsp>(create);
  static DynSpaceRsp? _defaultInstance;

  /// 卡片列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 历史偏移
  @$pb.TagNumber(2)
  $core.String get historyOffset => $_getSZ(1);
  @$pb.TagNumber(2)
  set historyOffset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHistoryOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearHistoryOffset() => clearField(2);

  /// 是否还有更多数据
  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);
}

class DynSpaceSearchDetailsReply extends $pb.GeneratedMessage {
  factory DynSpaceSearchDetailsReply({
    $core.Map<$fixnum.Int64, DynamicItem>? items,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  DynSpaceSearchDetailsReply._() : super();
  factory DynSpaceSearchDetailsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSpaceSearchDetailsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSpaceSearchDetailsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..m<$fixnum.Int64, DynamicItem>(1, _omitFieldNames ? '' : 'items',
        entryClassName: 'DynSpaceSearchDetailsReply.ItemsEntry',
        keyFieldType: $pb.PbFieldType.O6,
        valueFieldType: $pb.PbFieldType.OM,
        valueCreator: DynamicItem.create,
        valueDefaultOrMaker: DynamicItem.getDefault,
        packageName: const $pb.PackageName('bilibili.app.dynamic.v2'))
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSpaceSearchDetailsReply clone() =>
      DynSpaceSearchDetailsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSpaceSearchDetailsReply copyWith(
          void Function(DynSpaceSearchDetailsReply) updates) =>
      super.copyWith(
              (message) => updates(message as DynSpaceSearchDetailsReply))
          as DynSpaceSearchDetailsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSpaceSearchDetailsReply create() => DynSpaceSearchDetailsReply._();
  DynSpaceSearchDetailsReply createEmptyInstance() => create();
  static $pb.PbList<DynSpaceSearchDetailsReply> createRepeated() =>
      $pb.PbList<DynSpaceSearchDetailsReply>();
  @$core.pragma('dart2js:noInline')
  static DynSpaceSearchDetailsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSpaceSearchDetailsReply>(create);
  static DynSpaceSearchDetailsReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.Map<$fixnum.Int64, DynamicItem> get items => $_getMap(0);
}

class DynSpaceSearchDetailsReq extends $pb.GeneratedMessage {
  factory DynSpaceSearchDetailsReq({
    $core.Iterable<$core.String>? searchWords,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
    $core.String? mobiApp,
    $core.String? device,
    $core.String? buvid,
    $fixnum.Int64? build,
    $fixnum.Int64? mid,
    $core.String? platform,
    $core.String? ip,
    $core.int? netType,
    $core.int? tfType,
  }) {
    final $result = create();
    if (searchWords != null) {
      $result.searchWords.addAll(searchWords);
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (mobiApp != null) {
      $result.mobiApp = mobiApp;
    }
    if (device != null) {
      $result.device = device;
    }
    if (buvid != null) {
      $result.buvid = buvid;
    }
    if (build != null) {
      $result.build = build;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (platform != null) {
      $result.platform = platform;
    }
    if (ip != null) {
      $result.ip = ip;
    }
    if (netType != null) {
      $result.netType = netType;
    }
    if (tfType != null) {
      $result.tfType = tfType;
    }
    return $result;
  }
  DynSpaceSearchDetailsReq._() : super();
  factory DynSpaceSearchDetailsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynSpaceSearchDetailsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynSpaceSearchDetailsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pPS(2, _omitFieldNames ? '' : 'searchWords')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOS(5, _omitFieldNames ? '' : 'mobiApp')
    ..aOS(6, _omitFieldNames ? '' : 'device')
    ..aOS(7, _omitFieldNames ? '' : 'buvid')
    ..aInt64(8, _omitFieldNames ? '' : 'build')
    ..aInt64(9, _omitFieldNames ? '' : 'mid')
    ..aOS(10, _omitFieldNames ? '' : 'platform')
    ..aOS(11, _omitFieldNames ? '' : 'ip')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'netType', $pb.PbFieldType.O3)
    ..a<$core.int>(13, _omitFieldNames ? '' : 'tfType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynSpaceSearchDetailsReq clone() =>
      DynSpaceSearchDetailsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynSpaceSearchDetailsReq copyWith(
          void Function(DynSpaceSearchDetailsReq) updates) =>
      super.copyWith((message) => updates(message as DynSpaceSearchDetailsReq))
          as DynSpaceSearchDetailsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynSpaceSearchDetailsReq create() => DynSpaceSearchDetailsReq._();
  DynSpaceSearchDetailsReq createEmptyInstance() => create();
  static $pb.PbList<DynSpaceSearchDetailsReq> createRepeated() =>
      $pb.PbList<DynSpaceSearchDetailsReq>();
  @$core.pragma('dart2js:noInline')
  static DynSpaceSearchDetailsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynSpaceSearchDetailsReq>(create);
  static DynSpaceSearchDetailsReq? _defaultInstance;

  @$pb.TagNumber(2)
  $core.List<$core.String> get searchWords => $_getList(0);

  @$pb.TagNumber(3)
  $core.int get localTime => $_getIZ(1);
  @$pb.TagNumber(3)
  set localTime($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLocalTime() => $_has(1);
  @$pb.TagNumber(3)
  void clearLocalTime() => clearField(3);

  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(2);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(2);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(2);

  @$pb.TagNumber(5)
  $core.String get mobiApp => $_getSZ(3);
  @$pb.TagNumber(5)
  set mobiApp($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasMobiApp() => $_has(3);
  @$pb.TagNumber(5)
  void clearMobiApp() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get device => $_getSZ(4);
  @$pb.TagNumber(6)
  set device($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDevice() => $_has(4);
  @$pb.TagNumber(6)
  void clearDevice() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get buvid => $_getSZ(5);
  @$pb.TagNumber(7)
  set buvid($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBuvid() => $_has(5);
  @$pb.TagNumber(7)
  void clearBuvid() => clearField(7);

  @$pb.TagNumber(8)
  $fixnum.Int64 get build => $_getI64(6);
  @$pb.TagNumber(8)
  set build($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBuild() => $_has(6);
  @$pb.TagNumber(8)
  void clearBuild() => clearField(8);

  @$pb.TagNumber(9)
  $fixnum.Int64 get mid => $_getI64(7);
  @$pb.TagNumber(9)
  set mid($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasMid() => $_has(7);
  @$pb.TagNumber(9)
  void clearMid() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get platform => $_getSZ(8);
  @$pb.TagNumber(10)
  set platform($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPlatform() => $_has(8);
  @$pb.TagNumber(10)
  void clearPlatform() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get ip => $_getSZ(9);
  @$pb.TagNumber(11)
  set ip($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasIp() => $_has(9);
  @$pb.TagNumber(11)
  void clearIp() => clearField(11);

  @$pb.TagNumber(12)
  $core.int get netType => $_getIZ(10);
  @$pb.TagNumber(12)
  set netType($core.int v) {
    $_setSignedInt32(10, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasNetType() => $_has(10);
  @$pb.TagNumber(12)
  void clearNetType() => clearField(12);

  @$pb.TagNumber(13)
  $core.int get tfType => $_getIZ(11);
  @$pb.TagNumber(13)
  set tfType($core.int v) {
    $_setSignedInt32(11, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasTfType() => $_has(11);
  @$pb.TagNumber(13)
  void clearTfType() => clearField(13);
}

class DynTab extends $pb.GeneratedMessage {
  factory DynTab({
    $core.String? title,
    $core.String? uri,
    $core.String? bubble,
    $core.int? redPoint,
    $fixnum.Int64? cityId,
    $core.int? isPopup,
    Popup? popup,
    $core.bool? defaultTab,
    $core.String? subTitle,
    $core.String? anchor,
    $core.String? internalTest,
    $core.int? type,
    DynTab? backUp,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (bubble != null) {
      $result.bubble = bubble;
    }
    if (redPoint != null) {
      $result.redPoint = redPoint;
    }
    if (cityId != null) {
      $result.cityId = cityId;
    }
    if (isPopup != null) {
      $result.isPopup = isPopup;
    }
    if (popup != null) {
      $result.popup = popup;
    }
    if (defaultTab != null) {
      $result.defaultTab = defaultTab;
    }
    if (subTitle != null) {
      $result.subTitle = subTitle;
    }
    if (anchor != null) {
      $result.anchor = anchor;
    }
    if (internalTest != null) {
      $result.internalTest = internalTest;
    }
    if (type != null) {
      $result.type = type;
    }
    if (backUp != null) {
      $result.backUp = backUp;
    }
    return $result;
  }
  DynTab._() : super();
  factory DynTab.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynTab.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynTab',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'bubble')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'redPoint', $pb.PbFieldType.O3)
    ..aInt64(5, _omitFieldNames ? '' : 'cityId')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'isPopup', $pb.PbFieldType.O3)
    ..aOM<Popup>(7, _omitFieldNames ? '' : 'popup', subBuilder: Popup.create)
    ..aOB(8, _omitFieldNames ? '' : 'defaultTab')
    ..aOS(9, _omitFieldNames ? '' : 'subTitle')
    ..aOS(10, _omitFieldNames ? '' : 'anchor')
    ..aOS(11, _omitFieldNames ? '' : 'internalTest')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..aOM<DynTab>(13, _omitFieldNames ? '' : 'backUp',
        subBuilder: DynTab.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynTab clone() => DynTab()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynTab copyWith(void Function(DynTab) updates) =>
      super.copyWith((message) => updates(message as DynTab)) as DynTab;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynTab create() => DynTab._();
  DynTab createEmptyInstance() => create();
  static $pb.PbList<DynTab> createRepeated() => $pb.PbList<DynTab>();
  @$core.pragma('dart2js:noInline')
  static DynTab getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DynTab>(create);
  static DynTab? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get bubble => $_getSZ(2);
  @$pb.TagNumber(3)
  set bubble($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasBubble() => $_has(2);
  @$pb.TagNumber(3)
  void clearBubble() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get redPoint => $_getIZ(3);
  @$pb.TagNumber(4)
  set redPoint($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRedPoint() => $_has(3);
  @$pb.TagNumber(4)
  void clearRedPoint() => clearField(4);

  @$pb.TagNumber(5)
  $fixnum.Int64 get cityId => $_getI64(4);
  @$pb.TagNumber(5)
  set cityId($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCityId() => $_has(4);
  @$pb.TagNumber(5)
  void clearCityId() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get isPopup => $_getIZ(5);
  @$pb.TagNumber(6)
  set isPopup($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasIsPopup() => $_has(5);
  @$pb.TagNumber(6)
  void clearIsPopup() => clearField(6);

  @$pb.TagNumber(7)
  Popup get popup => $_getN(6);
  @$pb.TagNumber(7)
  set popup(Popup v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPopup() => $_has(6);
  @$pb.TagNumber(7)
  void clearPopup() => clearField(7);
  @$pb.TagNumber(7)
  Popup ensurePopup() => $_ensure(6);

  @$pb.TagNumber(8)
  $core.bool get defaultTab => $_getBF(7);
  @$pb.TagNumber(8)
  set defaultTab($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasDefaultTab() => $_has(7);
  @$pb.TagNumber(8)
  void clearDefaultTab() => clearField(8);

  @$pb.TagNumber(9)
  $core.String get subTitle => $_getSZ(8);
  @$pb.TagNumber(9)
  set subTitle($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasSubTitle() => $_has(8);
  @$pb.TagNumber(9)
  void clearSubTitle() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get anchor => $_getSZ(9);
  @$pb.TagNumber(10)
  set anchor($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAnchor() => $_has(9);
  @$pb.TagNumber(10)
  void clearAnchor() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get internalTest => $_getSZ(10);
  @$pb.TagNumber(11)
  set internalTest($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasInternalTest() => $_has(10);
  @$pb.TagNumber(11)
  void clearInternalTest() => clearField(11);

  @$pb.TagNumber(12)
  $core.int get type => $_getIZ(11);
  @$pb.TagNumber(12)
  set type($core.int v) {
    $_setSignedInt32(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasType() => $_has(11);
  @$pb.TagNumber(12)
  void clearType() => clearField(12);

  @$pb.TagNumber(13)
  DynTab get backUp => $_getN(12);
  @$pb.TagNumber(13)
  set backUp(DynTab v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasBackUp() => $_has(12);
  @$pb.TagNumber(13)
  void clearBackUp() => clearField(13);
  @$pb.TagNumber(13)
  DynTab ensureBackUp() => $_ensure(12);
}

class DynTabReply extends $pb.GeneratedMessage {
  factory DynTabReply({
    $core.Iterable<DynTab>? dynTab,
    $core.Iterable<DynScreenTab>? screenTab,
  }) {
    final $result = create();
    if (dynTab != null) {
      $result.dynTab.addAll(dynTab);
    }
    if (screenTab != null) {
      $result.screenTab.addAll(screenTab);
    }
    return $result;
  }
  DynTabReply._() : super();
  factory DynTabReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynTabReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynTabReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynTab>(1, _omitFieldNames ? '' : 'dynTab', $pb.PbFieldType.PM,
        subBuilder: DynTab.create)
    ..pc<DynScreenTab>(
        2, _omitFieldNames ? '' : 'screenTab', $pb.PbFieldType.PM,
        subBuilder: DynScreenTab.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynTabReply clone() => DynTabReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynTabReply copyWith(void Function(DynTabReply) updates) =>
      super.copyWith((message) => updates(message as DynTabReply))
          as DynTabReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynTabReply create() => DynTabReply._();
  DynTabReply createEmptyInstance() => create();
  static $pb.PbList<DynTabReply> createRepeated() => $pb.PbList<DynTabReply>();
  @$core.pragma('dart2js:noInline')
  static DynTabReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynTabReply>(create);
  static DynTabReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynTab> get dynTab => $_getList(0);

  @$pb.TagNumber(2)
  $core.List<DynScreenTab> get screenTab => $_getList(1);
}

class DynTabReq extends $pb.GeneratedMessage {
  factory DynTabReq({
    $core.int? teenagersMode,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (teenagersMode != null) {
      $result.teenagersMode = teenagersMode;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  DynTabReq._() : super();
  factory DynTabReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynTabReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynTabReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(
        1, _omitFieldNames ? '' : 'teenagersMode', $pb.PbFieldType.O3)
    ..e<CampusReqFromType>(
        2, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynTabReq clone() => DynTabReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynTabReq copyWith(void Function(DynTabReq) updates) =>
      super.copyWith((message) => updates(message as DynTabReq)) as DynTabReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynTabReq create() => DynTabReq._();
  DynTabReq createEmptyInstance() => create();
  static $pb.PbList<DynTabReq> createRepeated() => $pb.PbList<DynTabReq>();
  @$core.pragma('dart2js:noInline')
  static DynTabReq getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DynTabReq>(create);
  static DynTabReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get teenagersMode => $_getIZ(0);
  @$pb.TagNumber(1)
  set teenagersMode($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTeenagersMode() => $_has(0);
  @$pb.TagNumber(1)
  void clearTeenagersMode() => clearField(1);

  @$pb.TagNumber(2)
  CampusReqFromType get fromType => $_getN(1);
  @$pb.TagNumber(2)
  set fromType(CampusReqFromType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFromType() => $_has(1);
  @$pb.TagNumber(2)
  void clearFromType() => clearField(2);
}

/// 动态点赞-请求
class DynThumbReq extends $pb.GeneratedMessage {
  factory DynThumbReq({
    $fixnum.Int64? uid,
    $core.String? dynId,
    $fixnum.Int64? dynType,
    $core.String? rid,
    ThumbType? type,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (dynId != null) {
      $result.dynId = dynId;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  DynThumbReq._() : super();
  factory DynThumbReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynThumbReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynThumbReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..aOS(2, _omitFieldNames ? '' : 'dynId')
    ..aInt64(3, _omitFieldNames ? '' : 'dynType')
    ..aOS(4, _omitFieldNames ? '' : 'rid')
    ..e<ThumbType>(5, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: ThumbType.cancel,
        valueOf: ThumbType.valueOf,
        enumValues: ThumbType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynThumbReq clone() => DynThumbReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynThumbReq copyWith(void Function(DynThumbReq) updates) =>
      super.copyWith((message) => updates(message as DynThumbReq))
          as DynThumbReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynThumbReq create() => DynThumbReq._();
  DynThumbReq createEmptyInstance() => create();
  static $pb.PbList<DynThumbReq> createRepeated() => $pb.PbList<DynThumbReq>();
  @$core.pragma('dart2js:noInline')
  static DynThumbReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynThumbReq>(create);
  static DynThumbReq? _defaultInstance;

  /// 用户uid
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 动态id
  @$pb.TagNumber(2)
  $core.String get dynId => $_getSZ(1);
  @$pb.TagNumber(2)
  set dynId($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynId() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynId() => clearField(2);

  /// 动态类型(透传extend中的dyn_type)
  @$pb.TagNumber(3)
  $fixnum.Int64 get dynType => $_getI64(2);
  @$pb.TagNumber(3)
  set dynType($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDynType() => $_has(2);
  @$pb.TagNumber(3)
  void clearDynType() => clearField(3);

  /// 业务方资源id
  @$pb.TagNumber(4)
  $core.String get rid => $_getSZ(3);
  @$pb.TagNumber(4)
  set rid($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRid() => $_has(3);
  @$pb.TagNumber(4)
  void clearRid() => clearField(4);

  /// 点赞类型
  @$pb.TagNumber(5)
  ThumbType get type => $_getN(4);
  @$pb.TagNumber(5)
  set type(ThumbType v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(5)
  void clearType() => clearField(5);
}

/// 最近访问-个人feed流列表-响应
class DynVideoPersonalReply extends $pb.GeneratedMessage {
  factory DynVideoPersonalReply({
    $core.Iterable<DynamicItem>? list,
    $core.String? offset,
    $core.bool? hasMore,
    $core.String? readOffset,
    Relation? relation,
    TopAdditionUP? additionUp,
    $core.String? title,
    $core.String? titleSub,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (readOffset != null) {
      $result.readOffset = readOffset;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (additionUp != null) {
      $result.additionUp = additionUp;
    }
    if (title != null) {
      $result.title = title;
    }
    if (titleSub != null) {
      $result.titleSub = titleSub;
    }
    return $result;
  }
  DynVideoPersonalReply._() : super();
  factory DynVideoPersonalReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVideoPersonalReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVideoPersonalReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..aOS(4, _omitFieldNames ? '' : 'readOffset')
    ..aOM<Relation>(5, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..aOM<TopAdditionUP>(6, _omitFieldNames ? '' : 'additionUp',
        subBuilder: TopAdditionUP.create)
    ..aOS(7, _omitFieldNames ? '' : 'title')
    ..aOS(8, _omitFieldNames ? '' : 'titleSub')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVideoPersonalReply clone() =>
      DynVideoPersonalReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVideoPersonalReply copyWith(
          void Function(DynVideoPersonalReply) updates) =>
      super.copyWith((message) => updates(message as DynVideoPersonalReply))
          as DynVideoPersonalReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVideoPersonalReply create() => DynVideoPersonalReply._();
  DynVideoPersonalReply createEmptyInstance() => create();
  static $pb.PbList<DynVideoPersonalReply> createRepeated() =>
      $pb.PbList<DynVideoPersonalReply>();
  @$core.pragma('dart2js:noInline')
  static DynVideoPersonalReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVideoPersonalReply>(create);
  static DynVideoPersonalReply? _defaultInstance;

  /// 动态列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 偏移量
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 是否还有更多数据
  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);

  /// 已读进度
  @$pb.TagNumber(4)
  $core.String get readOffset => $_getSZ(3);
  @$pb.TagNumber(4)
  set readOffset($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasReadOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearReadOffset() => clearField(4);

  /// 关注状态
  @$pb.TagNumber(5)
  Relation get relation => $_getN(4);
  @$pb.TagNumber(5)
  set relation(Relation v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasRelation() => $_has(4);
  @$pb.TagNumber(5)
  void clearRelation() => clearField(5);
  @$pb.TagNumber(5)
  Relation ensureRelation() => $_ensure(4);

  /// 顶部预约卡
  @$pb.TagNumber(6)
  TopAdditionUP get additionUp => $_getN(5);
  @$pb.TagNumber(6)
  set additionUp(TopAdditionUP v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAdditionUp() => $_has(5);
  @$pb.TagNumber(6)
  void clearAdditionUp() => clearField(6);
  @$pb.TagNumber(6)
  TopAdditionUP ensureAdditionUp() => $_ensure(5);

  @$pb.TagNumber(7)
  $core.String get title => $_getSZ(6);
  @$pb.TagNumber(7)
  set title($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasTitle() => $_has(6);
  @$pb.TagNumber(7)
  void clearTitle() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get titleSub => $_getSZ(7);
  @$pb.TagNumber(8)
  set titleSub($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasTitleSub() => $_has(7);
  @$pb.TagNumber(8)
  void clearTitleSub() => clearField(8);
}

/// 最近访问-个人feed流列表-请求
class DynVideoPersonalReq extends $pb.GeneratedMessage {
  factory DynVideoPersonalReq({
    $fixnum.Int64? hostUid,
    $core.String? offset,
    $core.int? page,
    $core.int? isPreload,
    PlayurlParam? playurlParam,
    $core.int? localTime,
    $core.String? footprint,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
    $fixnum.Int64? pegasusAvid,
    $core.String? personalExtra,
  }) {
    final $result = create();
    if (hostUid != null) {
      $result.hostUid = hostUid;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (page != null) {
      $result.page = page;
    }
    if (isPreload != null) {
      $result.isPreload = isPreload;
    }
    if (playurlParam != null) {
      $result.playurlParam = playurlParam;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (footprint != null) {
      $result.footprint = footprint;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (pegasusAvid != null) {
      $result.pegasusAvid = pegasusAvid;
    }
    if (personalExtra != null) {
      $result.personalExtra = personalExtra;
    }
    return $result;
  }
  DynVideoPersonalReq._() : super();
  factory DynVideoPersonalReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVideoPersonalReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVideoPersonalReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'hostUid')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'isPreload', $pb.PbFieldType.O3)
    ..aOM<PlayurlParam>(5, _omitFieldNames ? '' : 'playurlParam',
        subBuilder: PlayurlParam.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'footprint')
    ..aOS(8, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(9, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aInt64(10, _omitFieldNames ? '' : 'pegasusAvid')
    ..aOS(11, _omitFieldNames ? '' : 'personalExtra')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVideoPersonalReq clone() => DynVideoPersonalReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVideoPersonalReq copyWith(void Function(DynVideoPersonalReq) updates) =>
      super.copyWith((message) => updates(message as DynVideoPersonalReq))
          as DynVideoPersonalReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVideoPersonalReq create() => DynVideoPersonalReq._();
  DynVideoPersonalReq createEmptyInstance() => create();
  static $pb.PbList<DynVideoPersonalReq> createRepeated() =>
      $pb.PbList<DynVideoPersonalReq>();
  @$core.pragma('dart2js:noInline')
  static DynVideoPersonalReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVideoPersonalReq>(create);
  static DynVideoPersonalReq? _defaultInstance;

  /// 被访问者的 UID
  @$pb.TagNumber(1)
  $fixnum.Int64 get hostUid => $_getI64(0);
  @$pb.TagNumber(1)
  set hostUid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHostUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearHostUid() => clearField(1);

  /// 偏移量 第一页可传空
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 标明下拉几次
  @$pb.TagNumber(3)
  $core.int get page => $_getIZ(2);
  @$pb.TagNumber(3)
  set page($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPage() => $_has(2);
  @$pb.TagNumber(3)
  void clearPage() => clearField(3);

  /// 是否是预加载
  @$pb.TagNumber(4)
  $core.int get isPreload => $_getIZ(3);
  @$pb.TagNumber(4)
  set isPreload($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsPreload() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsPreload() => clearField(4);

  /// 秒开参数 新版本废弃，统一使用player_args
  @$pb.TagNumber(5)
  PlayurlParam get playurlParam => $_getN(4);
  @$pb.TagNumber(5)
  set playurlParam(PlayurlParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayurlParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayurlParam() => clearField(5);
  @$pb.TagNumber(5)
  PlayurlParam ensurePlayurlParam() => $_ensure(4);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(6)
  $core.int get localTime => $_getIZ(5);
  @$pb.TagNumber(6)
  set localTime($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLocalTime() => $_has(5);
  @$pb.TagNumber(6)
  void clearLocalTime() => clearField(6);

  /// 服务端生成的透传上报字段
  @$pb.TagNumber(7)
  $core.String get footprint => $_getSZ(6);
  @$pb.TagNumber(7)
  set footprint($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasFootprint() => $_has(6);
  @$pb.TagNumber(7)
  void clearFootprint() => clearField(7);

  /// 来源
  @$pb.TagNumber(8)
  $core.String get from => $_getSZ(7);
  @$pb.TagNumber(8)
  set from($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasFrom() => $_has(7);
  @$pb.TagNumber(8)
  void clearFrom() => clearField(8);

  /// 秒开参数
  @$pb.TagNumber(9)
  $1.PlayerArgs get playerArgs => $_getN(8);
  @$pb.TagNumber(9)
  set playerArgs($1.PlayerArgs v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasPlayerArgs() => $_has(8);
  @$pb.TagNumber(9)
  void clearPlayerArgs() => clearField(9);
  @$pb.TagNumber(9)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(8);

  @$pb.TagNumber(10)
  $fixnum.Int64 get pegasusAvid => $_getI64(9);
  @$pb.TagNumber(10)
  set pegasusAvid($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPegasusAvid() => $_has(9);
  @$pb.TagNumber(10)
  void clearPegasusAvid() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get personalExtra => $_getSZ(10);
  @$pb.TagNumber(11)
  set personalExtra($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasPersonalExtra() => $_has(10);
  @$pb.TagNumber(11)
  void clearPersonalExtra() => clearField(11);
}

/// 动态视频页-响应
class DynVideoReply extends $pb.GeneratedMessage {
  factory DynVideoReply({
    CardVideoDynList? dynamicList,
    CardVideoUpList? videoUpList,
    CardVideoFollowList? videoFollowList,
  }) {
    final $result = create();
    if (dynamicList != null) {
      $result.dynamicList = dynamicList;
    }
    if (videoUpList != null) {
      $result.videoUpList = videoUpList;
    }
    if (videoFollowList != null) {
      $result.videoFollowList = videoFollowList;
    }
    return $result;
  }
  DynVideoReply._() : super();
  factory DynVideoReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVideoReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVideoReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<CardVideoDynList>(1, _omitFieldNames ? '' : 'dynamicList',
        subBuilder: CardVideoDynList.create)
    ..aOM<CardVideoUpList>(2, _omitFieldNames ? '' : 'videoUpList',
        subBuilder: CardVideoUpList.create)
    ..aOM<CardVideoFollowList>(3, _omitFieldNames ? '' : 'videoFollowList',
        subBuilder: CardVideoFollowList.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVideoReply clone() => DynVideoReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVideoReply copyWith(void Function(DynVideoReply) updates) =>
      super.copyWith((message) => updates(message as DynVideoReply))
          as DynVideoReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVideoReply create() => DynVideoReply._();
  DynVideoReply createEmptyInstance() => create();
  static $pb.PbList<DynVideoReply> createRepeated() =>
      $pb.PbList<DynVideoReply>();
  @$core.pragma('dart2js:noInline')
  static DynVideoReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVideoReply>(create);
  static DynVideoReply? _defaultInstance;

  /// 卡片列表
  @$pb.TagNumber(1)
  CardVideoDynList get dynamicList => $_getN(0);
  @$pb.TagNumber(1)
  set dynamicList(CardVideoDynList v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicList() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicList() => clearField(1);
  @$pb.TagNumber(1)
  CardVideoDynList ensureDynamicList() => $_ensure(0);

  /// 动态卡片
  @$pb.TagNumber(2)
  CardVideoUpList get videoUpList => $_getN(1);
  @$pb.TagNumber(2)
  set videoUpList(CardVideoUpList v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasVideoUpList() => $_has(1);
  @$pb.TagNumber(2)
  void clearVideoUpList() => clearField(2);
  @$pb.TagNumber(2)
  CardVideoUpList ensureVideoUpList() => $_ensure(1);

  /// 视频页-我的追番
  @$pb.TagNumber(3)
  CardVideoFollowList get videoFollowList => $_getN(2);
  @$pb.TagNumber(3)
  set videoFollowList(CardVideoFollowList v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasVideoFollowList() => $_has(2);
  @$pb.TagNumber(3)
  void clearVideoFollowList() => clearField(3);
  @$pb.TagNumber(3)
  CardVideoFollowList ensureVideoFollowList() => $_ensure(2);
}

/// 动态视频页-请求
class DynVideoReq extends $pb.GeneratedMessage {
  factory DynVideoReq({
    $core.String? updateBaseline,
    $core.String? offset,
    $core.int? page,
    Refresh? refreshType,
    PlayurlParam? playurlParam,
    $core.String? assistBaseline,
    $core.int? localTime,
    $core.String? from,
    $1.PlayerArgs? playerArgs,
  }) {
    final $result = create();
    if (updateBaseline != null) {
      $result.updateBaseline = updateBaseline;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (page != null) {
      $result.page = page;
    }
    if (refreshType != null) {
      $result.refreshType = refreshType;
    }
    if (playurlParam != null) {
      $result.playurlParam = playurlParam;
    }
    if (assistBaseline != null) {
      $result.assistBaseline = assistBaseline;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (from != null) {
      $result.from = from;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    return $result;
  }
  DynVideoReq._() : super();
  factory DynVideoReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVideoReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVideoReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'updateBaseline')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..e<Refresh>(4, _omitFieldNames ? '' : 'refreshType', $pb.PbFieldType.OE,
        defaultOrMaker: Refresh.refresh_new,
        valueOf: Refresh.valueOf,
        enumValues: Refresh.values)
    ..aOM<PlayurlParam>(5, _omitFieldNames ? '' : 'playurlParam',
        subBuilder: PlayurlParam.create)
    ..aOS(6, _omitFieldNames ? '' : 'assistBaseline')
    ..a<$core.int>(7, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOS(8, _omitFieldNames ? '' : 'from')
    ..aOM<$1.PlayerArgs>(9, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVideoReq clone() => DynVideoReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVideoReq copyWith(void Function(DynVideoReq) updates) =>
      super.copyWith((message) => updates(message as DynVideoReq))
          as DynVideoReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVideoReq create() => DynVideoReq._();
  DynVideoReq createEmptyInstance() => create();
  static $pb.PbList<DynVideoReq> createRepeated() => $pb.PbList<DynVideoReq>();
  @$core.pragma('dart2js:noInline')
  static DynVideoReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVideoReq>(create);
  static DynVideoReq? _defaultInstance;

  /// 透传 update_baseline
  @$pb.TagNumber(1)
  $core.String get updateBaseline => $_getSZ(0);
  @$pb.TagNumber(1)
  set updateBaseline($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUpdateBaseline() => $_has(0);
  @$pb.TagNumber(1)
  void clearUpdateBaseline() => clearField(1);

  /// 透传 history_offset
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 向下翻页数
  @$pb.TagNumber(3)
  $core.int get page => $_getIZ(2);
  @$pb.TagNumber(3)
  set page($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPage() => $_has(2);
  @$pb.TagNumber(3)
  void clearPage() => clearField(3);

  /// 刷新方式
  /// 1:向上刷新 2:向下翻页
  @$pb.TagNumber(4)
  Refresh get refreshType => $_getN(3);
  @$pb.TagNumber(4)
  set refreshType(Refresh v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRefreshType() => $_has(3);
  @$pb.TagNumber(4)
  void clearRefreshType() => clearField(4);

  /// 秒开参数 新版本废弃，统一使用player_args
  @$pb.TagNumber(5)
  PlayurlParam get playurlParam => $_getN(4);
  @$pb.TagNumber(5)
  set playurlParam(PlayurlParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPlayurlParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearPlayurlParam() => clearField(5);
  @$pb.TagNumber(5)
  PlayurlParam ensurePlayurlParam() => $_ensure(4);

  /// 综合页当前更新的最大值
  @$pb.TagNumber(6)
  $core.String get assistBaseline => $_getSZ(5);
  @$pb.TagNumber(6)
  set assistBaseline($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAssistBaseline() => $_has(5);
  @$pb.TagNumber(6)
  void clearAssistBaseline() => clearField(6);

  /// 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8
  @$pb.TagNumber(7)
  $core.int get localTime => $_getIZ(6);
  @$pb.TagNumber(7)
  set localTime($core.int v) {
    $_setSignedInt32(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasLocalTime() => $_has(6);
  @$pb.TagNumber(7)
  void clearLocalTime() => clearField(7);

  /// 来源
  @$pb.TagNumber(8)
  $core.String get from => $_getSZ(7);
  @$pb.TagNumber(8)
  set from($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasFrom() => $_has(7);
  @$pb.TagNumber(8)
  void clearFrom() => clearField(8);

  /// 秒开参数
  @$pb.TagNumber(9)
  $1.PlayerArgs get playerArgs => $_getN(8);
  @$pb.TagNumber(9)
  set playerArgs($1.PlayerArgs v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasPlayerArgs() => $_has(8);
  @$pb.TagNumber(9)
  void clearPlayerArgs() => clearField(9);
  @$pb.TagNumber(9)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(8);
}

/// 最近访问-标记已读-请求
class DynVideoUpdOffsetReq extends $pb.GeneratedMessage {
  factory DynVideoUpdOffsetReq({
    $fixnum.Int64? hostUid,
    $core.String? readOffset,
    $core.String? footprint,
    $core.String? personalExtra,
  }) {
    final $result = create();
    if (hostUid != null) {
      $result.hostUid = hostUid;
    }
    if (readOffset != null) {
      $result.readOffset = readOffset;
    }
    if (footprint != null) {
      $result.footprint = footprint;
    }
    if (personalExtra != null) {
      $result.personalExtra = personalExtra;
    }
    return $result;
  }
  DynVideoUpdOffsetReq._() : super();
  factory DynVideoUpdOffsetReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVideoUpdOffsetReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVideoUpdOffsetReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'hostUid')
    ..aOS(2, _omitFieldNames ? '' : 'readOffset')
    ..aOS(3, _omitFieldNames ? '' : 'footprint')
    ..aOS(4, _omitFieldNames ? '' : 'personalExtra')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVideoUpdOffsetReq clone() =>
      DynVideoUpdOffsetReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVideoUpdOffsetReq copyWith(void Function(DynVideoUpdOffsetReq) updates) =>
      super.copyWith((message) => updates(message as DynVideoUpdOffsetReq))
          as DynVideoUpdOffsetReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVideoUpdOffsetReq create() => DynVideoUpdOffsetReq._();
  DynVideoUpdOffsetReq createEmptyInstance() => create();
  static $pb.PbList<DynVideoUpdOffsetReq> createRepeated() =>
      $pb.PbList<DynVideoUpdOffsetReq>();
  @$core.pragma('dart2js:noInline')
  static DynVideoUpdOffsetReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVideoUpdOffsetReq>(create);
  static DynVideoUpdOffsetReq? _defaultInstance;

  /// 被访问者的UID
  @$pb.TagNumber(1)
  $fixnum.Int64 get hostUid => $_getI64(0);
  @$pb.TagNumber(1)
  set hostUid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHostUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearHostUid() => clearField(1);

  /// 用户已读进度
  @$pb.TagNumber(2)
  $core.String get readOffset => $_getSZ(1);
  @$pb.TagNumber(2)
  set readOffset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasReadOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearReadOffset() => clearField(2);

  /// 服务端生成的透传上报字段
  @$pb.TagNumber(3)
  $core.String get footprint => $_getSZ(2);
  @$pb.TagNumber(3)
  set footprint($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFootprint() => $_has(2);
  @$pb.TagNumber(3)
  void clearFootprint() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get personalExtra => $_getSZ(3);
  @$pb.TagNumber(4)
  set personalExtra($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPersonalExtra() => $_has(3);
  @$pb.TagNumber(4)
  void clearPersonalExtra() => clearField(4);
}

/// 投票操作-响应
class DynVoteReply extends $pb.GeneratedMessage {
  factory DynVoteReply({
    AdditionVote2? item,
    $core.String? toast,
  }) {
    final $result = create();
    if (item != null) {
      $result.item = item;
    }
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  DynVoteReply._() : super();
  factory DynVoteReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVoteReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVoteReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<AdditionVote2>(1, _omitFieldNames ? '' : 'item',
        subBuilder: AdditionVote2.create)
    ..aOS(2, _omitFieldNames ? '' : 'toast')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVoteReply clone() => DynVoteReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVoteReply copyWith(void Function(DynVoteReply) updates) =>
      super.copyWith((message) => updates(message as DynVoteReply))
          as DynVoteReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVoteReply create() => DynVoteReply._();
  DynVoteReply createEmptyInstance() => create();
  static $pb.PbList<DynVoteReply> createRepeated() =>
      $pb.PbList<DynVoteReply>();
  @$core.pragma('dart2js:noInline')
  static DynVoteReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVoteReply>(create);
  static DynVoteReply? _defaultInstance;

  /// 投票详情
  @$pb.TagNumber(1)
  AdditionVote2 get item => $_getN(0);
  @$pb.TagNumber(1)
  set item(AdditionVote2 v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasItem() => $_has(0);
  @$pb.TagNumber(1)
  void clearItem() => clearField(1);
  @$pb.TagNumber(1)
  AdditionVote2 ensureItem() => $_ensure(0);

  /// 投票操作返回状态
  @$pb.TagNumber(2)
  $core.String get toast => $_getSZ(1);
  @$pb.TagNumber(2)
  set toast($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasToast() => $_has(1);
  @$pb.TagNumber(2)
  void clearToast() => clearField(2);
}

/// 投票操作-请求
class DynVoteReq extends $pb.GeneratedMessage {
  factory DynVoteReq({
    $fixnum.Int64? voteId,
    $core.Iterable<$fixnum.Int64>? votes,
    VoteStatus? status,
    $core.String? dynamicId,
    $core.bool? share,
  }) {
    final $result = create();
    if (voteId != null) {
      $result.voteId = voteId;
    }
    if (votes != null) {
      $result.votes.addAll(votes);
    }
    if (status != null) {
      $result.status = status;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (share != null) {
      $result.share = share;
    }
    return $result;
  }
  DynVoteReq._() : super();
  factory DynVoteReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory DynVoteReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'DynVoteReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'voteId')
    ..p<$fixnum.Int64>(2, _omitFieldNames ? '' : 'votes', $pb.PbFieldType.K6)
    ..e<VoteStatus>(3, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: VoteStatus.normal,
        valueOf: VoteStatus.valueOf,
        enumValues: VoteStatus.values)
    ..aOS(4, _omitFieldNames ? '' : 'dynamicId')
    ..aOB(5, _omitFieldNames ? '' : 'share')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  DynVoteReq clone() => DynVoteReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  DynVoteReq copyWith(void Function(DynVoteReq) updates) =>
      super.copyWith((message) => updates(message as DynVoteReq)) as DynVoteReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static DynVoteReq create() => DynVoteReq._();
  DynVoteReq createEmptyInstance() => create();
  static $pb.PbList<DynVoteReq> createRepeated() => $pb.PbList<DynVoteReq>();
  @$core.pragma('dart2js:noInline')
  static DynVoteReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<DynVoteReq>(create);
  static DynVoteReq? _defaultInstance;

  /// 投票ID
  @$pb.TagNumber(1)
  $fixnum.Int64 get voteId => $_getI64(0);
  @$pb.TagNumber(1)
  set voteId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasVoteId() => $_has(0);
  @$pb.TagNumber(1)
  void clearVoteId() => clearField(1);

  /// 选项索引数组
  @$pb.TagNumber(2)
  $core.List<$fixnum.Int64> get votes => $_getList(1);

  /// 状态
  @$pb.TagNumber(3)
  VoteStatus get status => $_getN(2);
  @$pb.TagNumber(3)
  set status(VoteStatus v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => clearField(3);

  /// 动态ID
  @$pb.TagNumber(4)
  $core.String get dynamicId => $_getSZ(3);
  @$pb.TagNumber(4)
  set dynamicId($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDynamicId() => $_has(3);
  @$pb.TagNumber(4)
  void clearDynamicId() => clearField(4);

  /// 是否分享
  @$pb.TagNumber(5)
  $core.bool get share => $_getBF(4);
  @$pb.TagNumber(5)
  set share($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasShare() => $_has(4);
  @$pb.TagNumber(5)
  void clearShare() => clearField(5);
}

class EmojiSizeSpec extends $pb.GeneratedMessage {
  factory EmojiSizeSpec({
    $fixnum.Int64? width,
  }) {
    final $result = create();
    if (width != null) {
      $result.width = width;
    }
    return $result;
  }
  EmojiSizeSpec._() : super();
  factory EmojiSizeSpec.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory EmojiSizeSpec.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'EmojiSizeSpec',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'width')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  EmojiSizeSpec clone() => EmojiSizeSpec()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  EmojiSizeSpec copyWith(void Function(EmojiSizeSpec) updates) =>
      super.copyWith((message) => updates(message as EmojiSizeSpec))
          as EmojiSizeSpec;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static EmojiSizeSpec create() => EmojiSizeSpec._();
  EmojiSizeSpec createEmptyInstance() => create();
  static $pb.PbList<EmojiSizeSpec> createRepeated() =>
      $pb.PbList<EmojiSizeSpec>();
  @$core.pragma('dart2js:noInline')
  static EmojiSizeSpec getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<EmojiSizeSpec>(create);
  static EmojiSizeSpec? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get width => $_getI64(0);
  @$pb.TagNumber(1)
  set width($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasWidth() => $_has(0);
  @$pb.TagNumber(1)
  void clearWidth() => clearField(1);
}

class EmoteNode extends $pb.GeneratedMessage {
  factory EmoteNode({
    WordNode? rawText,
    $core.String? emoteUrl,
    EmoteSize? emoteWidth,
    $core.bool? isInlineImg,
    ImgInlineCfg? inlineImgCfg,
  }) {
    final $result = create();
    if (rawText != null) {
      $result.rawText = rawText;
    }
    if (emoteUrl != null) {
      $result.emoteUrl = emoteUrl;
    }
    if (emoteWidth != null) {
      $result.emoteWidth = emoteWidth;
    }
    if (isInlineImg != null) {
      $result.isInlineImg = isInlineImg;
    }
    if (inlineImgCfg != null) {
      $result.inlineImgCfg = inlineImgCfg;
    }
    return $result;
  }
  EmoteNode._() : super();
  factory EmoteNode.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory EmoteNode.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'EmoteNode',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<WordNode>(1, _omitFieldNames ? '' : 'rawText',
        subBuilder: WordNode.create)
    ..aOS(2, _omitFieldNames ? '' : 'emoteUrl')
    ..aOM<EmoteSize>(3, _omitFieldNames ? '' : 'emoteWidth',
        subBuilder: EmoteSize.create)
    ..aOB(4, _omitFieldNames ? '' : 'isInlineImg')
    ..aOM<ImgInlineCfg>(5, _omitFieldNames ? '' : 'inlineImgCfg',
        subBuilder: ImgInlineCfg.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  EmoteNode clone() => EmoteNode()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  EmoteNode copyWith(void Function(EmoteNode) updates) =>
      super.copyWith((message) => updates(message as EmoteNode)) as EmoteNode;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static EmoteNode create() => EmoteNode._();
  EmoteNode createEmptyInstance() => create();
  static $pb.PbList<EmoteNode> createRepeated() => $pb.PbList<EmoteNode>();
  @$core.pragma('dart2js:noInline')
  static EmoteNode getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<EmoteNode>(create);
  static EmoteNode? _defaultInstance;

  @$pb.TagNumber(1)
  WordNode get rawText => $_getN(0);
  @$pb.TagNumber(1)
  set rawText(WordNode v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRawText() => $_has(0);
  @$pb.TagNumber(1)
  void clearRawText() => clearField(1);
  @$pb.TagNumber(1)
  WordNode ensureRawText() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get emoteUrl => $_getSZ(1);
  @$pb.TagNumber(2)
  set emoteUrl($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasEmoteUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearEmoteUrl() => clearField(2);

  @$pb.TagNumber(3)
  EmoteSize get emoteWidth => $_getN(2);
  @$pb.TagNumber(3)
  set emoteWidth(EmoteSize v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasEmoteWidth() => $_has(2);
  @$pb.TagNumber(3)
  void clearEmoteWidth() => clearField(3);
  @$pb.TagNumber(3)
  EmoteSize ensureEmoteWidth() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.bool get isInlineImg => $_getBF(3);
  @$pb.TagNumber(4)
  set isInlineImg($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsInlineImg() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsInlineImg() => clearField(4);

  @$pb.TagNumber(5)
  ImgInlineCfg get inlineImgCfg => $_getN(4);
  @$pb.TagNumber(5)
  set inlineImgCfg(ImgInlineCfg v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasInlineImgCfg() => $_has(4);
  @$pb.TagNumber(5)
  void clearInlineImgCfg() => clearField(5);
  @$pb.TagNumber(5)
  ImgInlineCfg ensureInlineImgCfg() => $_ensure(4);
}

class EmoteSize extends $pb.GeneratedMessage {
  factory EmoteSize({
    $core.double? width,
    $core.int? emojiSize,
  }) {
    final $result = create();
    if (width != null) {
      $result.width = width;
    }
    if (emojiSize != null) {
      $result.emojiSize = emojiSize;
    }
    return $result;
  }
  EmoteSize._() : super();
  factory EmoteSize.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory EmoteSize.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'EmoteSize',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'width', $pb.PbFieldType.OD)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'emojiSize', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  EmoteSize clone() => EmoteSize()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  EmoteSize copyWith(void Function(EmoteSize) updates) =>
      super.copyWith((message) => updates(message as EmoteSize)) as EmoteSize;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static EmoteSize create() => EmoteSize._();
  EmoteSize createEmptyInstance() => create();
  static $pb.PbList<EmoteSize> createRepeated() => $pb.PbList<EmoteSize>();
  @$core.pragma('dart2js:noInline')
  static EmoteSize getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<EmoteSize>(create);
  static EmoteSize? _defaultInstance;

  @$pb.TagNumber(1)
  $core.double get width => $_getN(0);
  @$pb.TagNumber(1)
  set width($core.double v) {
    $_setDouble(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasWidth() => $_has(0);
  @$pb.TagNumber(1)
  void clearWidth() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get emojiSize => $_getIZ(1);
  @$pb.TagNumber(2)
  set emojiSize($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasEmojiSize() => $_has(1);
  @$pb.TagNumber(2)
  void clearEmojiSize() => clearField(2);
}

/// 扩展字段，用于动态部分操作使用
class Extend extends $pb.GeneratedMessage {
  factory Extend({
    $core.String? dynIdStr,
    $core.String? businessId,
    $core.String? origDynIdStr,
    $core.String? origName,
    $core.String? origImgUrl,
    $core.Iterable<Description>? origDesc,
    $core.Iterable<Description>? desc,
    DynamicType? origDynType,
    $core.String? shareType,
    $core.String? shareScene,
    $core.bool? isFastShare,
    $core.int? rType,
    $fixnum.Int64? dynType,
    $fixnum.Int64? uid,
    $core.String? cardUrl,
    $2.Any? sourceContent,
    $core.String? origFace,
    ExtendReply? reply,
    $core.String? trackId,
    ModuleOpusSummary? opusSummary,
    OnlyFansProperty? onlyFansProperty,
    DynFeatureGate? featureGate,
    $core.bool? isInAudit,
    $core.Map<$core.String, $core.String>? historyReport,
  }) {
    final $result = create();
    if (dynIdStr != null) {
      $result.dynIdStr = dynIdStr;
    }
    if (businessId != null) {
      $result.businessId = businessId;
    }
    if (origDynIdStr != null) {
      $result.origDynIdStr = origDynIdStr;
    }
    if (origName != null) {
      $result.origName = origName;
    }
    if (origImgUrl != null) {
      $result.origImgUrl = origImgUrl;
    }
    if (origDesc != null) {
      $result.origDesc.addAll(origDesc);
    }
    if (desc != null) {
      $result.desc.addAll(desc);
    }
    if (origDynType != null) {
      $result.origDynType = origDynType;
    }
    if (shareType != null) {
      $result.shareType = shareType;
    }
    if (shareScene != null) {
      $result.shareScene = shareScene;
    }
    if (isFastShare != null) {
      $result.isFastShare = isFastShare;
    }
    if (rType != null) {
      $result.rType = rType;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (uid != null) {
      $result.uid = uid;
    }
    if (cardUrl != null) {
      $result.cardUrl = cardUrl;
    }
    if (sourceContent != null) {
      $result.sourceContent = sourceContent;
    }
    if (origFace != null) {
      $result.origFace = origFace;
    }
    if (reply != null) {
      $result.reply = reply;
    }
    if (trackId != null) {
      $result.trackId = trackId;
    }
    if (opusSummary != null) {
      $result.opusSummary = opusSummary;
    }
    if (onlyFansProperty != null) {
      $result.onlyFansProperty = onlyFansProperty;
    }
    if (featureGate != null) {
      $result.featureGate = featureGate;
    }
    if (isInAudit != null) {
      $result.isInAudit = isInAudit;
    }
    if (historyReport != null) {
      $result.historyReport.addAll(historyReport);
    }
    return $result;
  }
  Extend._() : super();
  factory Extend.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Extend.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Extend',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'dynIdStr')
    ..aOS(2, _omitFieldNames ? '' : 'businessId')
    ..aOS(3, _omitFieldNames ? '' : 'origDynIdStr')
    ..aOS(4, _omitFieldNames ? '' : 'origName')
    ..aOS(5, _omitFieldNames ? '' : 'origImgUrl')
    ..pc<Description>(6, _omitFieldNames ? '' : 'origDesc', $pb.PbFieldType.PM,
        subBuilder: Description.create)
    ..pc<Description>(7, _omitFieldNames ? '' : 'desc', $pb.PbFieldType.PM,
        subBuilder: Description.create)
    ..e<DynamicType>(
        8, _omitFieldNames ? '' : 'origDynType', $pb.PbFieldType.OE,
        defaultOrMaker: DynamicType.dyn_none,
        valueOf: DynamicType.valueOf,
        enumValues: DynamicType.values)
    ..aOS(9, _omitFieldNames ? '' : 'shareType')
    ..aOS(10, _omitFieldNames ? '' : 'shareScene')
    ..aOB(11, _omitFieldNames ? '' : 'isFastShare')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'rType', $pb.PbFieldType.O3)
    ..aInt64(13, _omitFieldNames ? '' : 'dynType')
    ..aInt64(14, _omitFieldNames ? '' : 'uid')
    ..aOS(15, _omitFieldNames ? '' : 'cardUrl')
    ..aOM<$2.Any>(16, _omitFieldNames ? '' : 'sourceContent',
        subBuilder: $2.Any.create)
    ..aOS(17, _omitFieldNames ? '' : 'origFace')
    ..aOM<ExtendReply>(18, _omitFieldNames ? '' : 'reply',
        subBuilder: ExtendReply.create)
    ..aOS(19, _omitFieldNames ? '' : 'trackId')
    ..aOM<ModuleOpusSummary>(20, _omitFieldNames ? '' : 'opusSummary',
        subBuilder: ModuleOpusSummary.create)
    ..aOM<OnlyFansProperty>(21, _omitFieldNames ? '' : 'onlyFansProperty',
        subBuilder: OnlyFansProperty.create)
    ..aOM<DynFeatureGate>(22, _omitFieldNames ? '' : 'featureGate',
        subBuilder: DynFeatureGate.create)
    ..aOB(23, _omitFieldNames ? '' : 'isInAudit')
    ..m<$core.String, $core.String>(24, _omitFieldNames ? '' : 'historyReport',
        entryClassName: 'Extend.HistoryReportEntry',
        keyFieldType: $pb.PbFieldType.OS,
        valueFieldType: $pb.PbFieldType.OS,
        packageName: const $pb.PackageName('bilibili.app.dynamic.v2'))
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Extend clone() => Extend()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Extend copyWith(void Function(Extend) updates) =>
      super.copyWith((message) => updates(message as Extend)) as Extend;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Extend create() => Extend._();
  Extend createEmptyInstance() => create();
  static $pb.PbList<Extend> createRepeated() => $pb.PbList<Extend>();
  @$core.pragma('dart2js:noInline')
  static Extend getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Extend>(create);
  static Extend? _defaultInstance;

  /// 动态id
  @$pb.TagNumber(1)
  $core.String get dynIdStr => $_getSZ(0);
  @$pb.TagNumber(1)
  set dynIdStr($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynIdStr() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynIdStr() => clearField(1);

  /// 业务方id
  @$pb.TagNumber(2)
  $core.String get businessId => $_getSZ(1);
  @$pb.TagNumber(2)
  set businessId($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBusinessId() => $_has(1);
  @$pb.TagNumber(2)
  void clearBusinessId() => clearField(2);

  /// 源动态id
  @$pb.TagNumber(3)
  $core.String get origDynIdStr => $_getSZ(2);
  @$pb.TagNumber(3)
  set origDynIdStr($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOrigDynIdStr() => $_has(2);
  @$pb.TagNumber(3)
  void clearOrigDynIdStr() => clearField(3);

  /// 转发卡：用户名
  @$pb.TagNumber(4)
  $core.String get origName => $_getSZ(3);
  @$pb.TagNumber(4)
  set origName($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOrigName() => $_has(3);
  @$pb.TagNumber(4)
  void clearOrigName() => clearField(4);

  /// 转发卡：图片url
  @$pb.TagNumber(5)
  $core.String get origImgUrl => $_getSZ(4);
  @$pb.TagNumber(5)
  set origImgUrl($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasOrigImgUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearOrigImgUrl() => clearField(5);

  /// 转发卡：文字内容
  @$pb.TagNumber(6)
  $core.List<Description> get origDesc => $_getList(5);

  /// 填充文字内容
  @$pb.TagNumber(7)
  $core.List<Description> get desc => $_getList(6);

  /// 被转发的源动态类型
  @$pb.TagNumber(8)
  DynamicType get origDynType => $_getN(7);
  @$pb.TagNumber(8)
  set origDynType(DynamicType v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasOrigDynType() => $_has(7);
  @$pb.TagNumber(8)
  void clearOrigDynType() => clearField(8);

  /// 分享到站外展示类型
  @$pb.TagNumber(9)
  $core.String get shareType => $_getSZ(8);
  @$pb.TagNumber(9)
  set shareType($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasShareType() => $_has(8);
  @$pb.TagNumber(9)
  void clearShareType() => clearField(9);

  /// 分享的场景
  @$pb.TagNumber(10)
  $core.String get shareScene => $_getSZ(9);
  @$pb.TagNumber(10)
  set shareScene($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasShareScene() => $_has(9);
  @$pb.TagNumber(10)
  void clearShareScene() => clearField(10);

  /// 是否快速转发
  @$pb.TagNumber(11)
  $core.bool get isFastShare => $_getBF(10);
  @$pb.TagNumber(11)
  set isFastShare($core.bool v) {
    $_setBool(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasIsFastShare() => $_has(10);
  @$pb.TagNumber(11)
  void clearIsFastShare() => clearField(11);

  /// r_type 分享和转发
  @$pb.TagNumber(12)
  $core.int get rType => $_getIZ(11);
  @$pb.TagNumber(12)
  set rType($core.int v) {
    $_setSignedInt32(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasRType() => $_has(11);
  @$pb.TagNumber(12)
  void clearRType() => clearField(12);

  /// 数据源的动态类型
  @$pb.TagNumber(13)
  $fixnum.Int64 get dynType => $_getI64(12);
  @$pb.TagNumber(13)
  set dynType($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasDynType() => $_has(12);
  @$pb.TagNumber(13)
  void clearDynType() => clearField(13);

  /// 用户id
  @$pb.TagNumber(14)
  $fixnum.Int64 get uid => $_getI64(13);
  @$pb.TagNumber(14)
  set uid($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasUid() => $_has(13);
  @$pb.TagNumber(14)
  void clearUid() => clearField(14);

  /// 卡片跳转
  @$pb.TagNumber(15)
  $core.String get cardUrl => $_getSZ(14);
  @$pb.TagNumber(15)
  set cardUrl($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasCardUrl() => $_has(14);
  @$pb.TagNumber(15)
  void clearCardUrl() => clearField(15);

  /// 透传字段
  @$pb.TagNumber(16)
  $2.Any get sourceContent => $_getN(15);
  @$pb.TagNumber(16)
  set sourceContent($2.Any v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasSourceContent() => $_has(15);
  @$pb.TagNumber(16)
  void clearSourceContent() => clearField(16);
  @$pb.TagNumber(16)
  $2.Any ensureSourceContent() => $_ensure(15);

  /// 转发卡：用户头像
  @$pb.TagNumber(17)
  $core.String get origFace => $_getSZ(16);
  @$pb.TagNumber(17)
  set origFace($core.String v) {
    $_setString(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasOrigFace() => $_has(16);
  @$pb.TagNumber(17)
  void clearOrigFace() => clearField(17);

  /// 评论跳转
  @$pb.TagNumber(18)
  ExtendReply get reply => $_getN(17);
  @$pb.TagNumber(18)
  set reply(ExtendReply v) {
    setField(18, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasReply() => $_has(17);
  @$pb.TagNumber(18)
  void clearReply() => clearField(18);
  @$pb.TagNumber(18)
  ExtendReply ensureReply() => $_ensure(17);

  @$pb.TagNumber(19)
  $core.String get trackId => $_getSZ(18);
  @$pb.TagNumber(19)
  set trackId($core.String v) {
    $_setString(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasTrackId() => $_has(18);
  @$pb.TagNumber(19)
  void clearTrackId() => clearField(19);

  @$pb.TagNumber(20)
  ModuleOpusSummary get opusSummary => $_getN(19);
  @$pb.TagNumber(20)
  set opusSummary(ModuleOpusSummary v) {
    setField(20, v);
  }

  @$pb.TagNumber(20)
  $core.bool hasOpusSummary() => $_has(19);
  @$pb.TagNumber(20)
  void clearOpusSummary() => clearField(20);
  @$pb.TagNumber(20)
  ModuleOpusSummary ensureOpusSummary() => $_ensure(19);

  @$pb.TagNumber(21)
  OnlyFansProperty get onlyFansProperty => $_getN(20);
  @$pb.TagNumber(21)
  set onlyFansProperty(OnlyFansProperty v) {
    setField(21, v);
  }

  @$pb.TagNumber(21)
  $core.bool hasOnlyFansProperty() => $_has(20);
  @$pb.TagNumber(21)
  void clearOnlyFansProperty() => clearField(21);
  @$pb.TagNumber(21)
  OnlyFansProperty ensureOnlyFansProperty() => $_ensure(20);

  @$pb.TagNumber(22)
  DynFeatureGate get featureGate => $_getN(21);
  @$pb.TagNumber(22)
  set featureGate(DynFeatureGate v) {
    setField(22, v);
  }

  @$pb.TagNumber(22)
  $core.bool hasFeatureGate() => $_has(21);
  @$pb.TagNumber(22)
  void clearFeatureGate() => clearField(22);
  @$pb.TagNumber(22)
  DynFeatureGate ensureFeatureGate() => $_ensure(21);

  @$pb.TagNumber(23)
  $core.bool get isInAudit => $_getBF(22);
  @$pb.TagNumber(23)
  set isInAudit($core.bool v) {
    $_setBool(22, v);
  }

  @$pb.TagNumber(23)
  $core.bool hasIsInAudit() => $_has(22);
  @$pb.TagNumber(23)
  void clearIsInAudit() => clearField(23);

  @$pb.TagNumber(24)
  $core.Map<$core.String, $core.String> get historyReport => $_getMap(23);
}

/// 评论扩展
class ExtendReply extends $pb.GeneratedMessage {
  factory ExtendReply({
    $core.String? uri,
    $core.Iterable<ExtendReplyParam>? params,
  }) {
    final $result = create();
    if (uri != null) {
      $result.uri = uri;
    }
    if (params != null) {
      $result.params.addAll(params);
    }
    return $result;
  }
  ExtendReply._() : super();
  factory ExtendReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtendReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtendReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'uri')
    ..pc<ExtendReplyParam>(
        2, _omitFieldNames ? '' : 'params', $pb.PbFieldType.PM,
        subBuilder: ExtendReplyParam.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtendReply clone() => ExtendReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtendReply copyWith(void Function(ExtendReply) updates) =>
      super.copyWith((message) => updates(message as ExtendReply))
          as ExtendReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtendReply create() => ExtendReply._();
  ExtendReply createEmptyInstance() => create();
  static $pb.PbList<ExtendReply> createRepeated() => $pb.PbList<ExtendReply>();
  @$core.pragma('dart2js:noInline')
  static ExtendReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtendReply>(create);
  static ExtendReply? _defaultInstance;

  /// 基础跳转地址
  @$pb.TagNumber(1)
  $core.String get uri => $_getSZ(0);
  @$pb.TagNumber(1)
  set uri($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUri() => $_has(0);
  @$pb.TagNumber(1)
  void clearUri() => clearField(1);

  /// 参数部分
  @$pb.TagNumber(2)
  $core.List<ExtendReplyParam> get params => $_getList(1);
}

/// 评论扩展参数部分
class ExtendReplyParam extends $pb.GeneratedMessage {
  factory ExtendReplyParam({
    $core.String? key,
    $core.String? value,
  }) {
    final $result = create();
    if (key != null) {
      $result.key = key;
    }
    if (value != null) {
      $result.value = value;
    }
    return $result;
  }
  ExtendReplyParam._() : super();
  factory ExtendReplyParam.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtendReplyParam.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtendReplyParam',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'key')
    ..aOS(2, _omitFieldNames ? '' : 'value')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtendReplyParam clone() => ExtendReplyParam()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtendReplyParam copyWith(void Function(ExtendReplyParam) updates) =>
      super.copyWith((message) => updates(message as ExtendReplyParam))
          as ExtendReplyParam;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtendReplyParam create() => ExtendReplyParam._();
  ExtendReplyParam createEmptyInstance() => create();
  static $pb.PbList<ExtendReplyParam> createRepeated() =>
      $pb.PbList<ExtendReplyParam>();
  @$core.pragma('dart2js:noInline')
  static ExtendReplyParam getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtendReplyParam>(create);
  static ExtendReplyParam? _defaultInstance;

  /// 参数名
  @$pb.TagNumber(1)
  $core.String get key => $_getSZ(0);
  @$pb.TagNumber(1)
  set key($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasKey() => $_has(0);
  @$pb.TagNumber(1)
  void clearKey() => clearField(1);

  /// 参数值
  @$pb.TagNumber(2)
  $core.String get value => $_getSZ(1);
  @$pb.TagNumber(2)
  set value($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => clearField(2);
}

/// 动态-拓展小卡模块-通用小卡
class ExtInfoCommon extends $pb.GeneratedMessage {
  factory ExtInfoCommon({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
    $core.int? poiType,
    DynExtendType? type,
    $core.String? subModule,
    $core.String? actionText,
    $core.String? actionUrl,
    $fixnum.Int64? rid,
    $core.bool? isShowLight,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (poiType != null) {
      $result.poiType = poiType;
    }
    if (type != null) {
      $result.type = type;
    }
    if (subModule != null) {
      $result.subModule = subModule;
    }
    if (actionText != null) {
      $result.actionText = actionText;
    }
    if (actionUrl != null) {
      $result.actionUrl = actionUrl;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (isShowLight != null) {
      $result.isShowLight = isShowLight;
    }
    return $result;
  }
  ExtInfoCommon._() : super();
  factory ExtInfoCommon.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoCommon.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoCommon',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'poiType', $pb.PbFieldType.O3)
    ..e<DynExtendType>(5, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: DynExtendType.dyn_ext_type_none,
        valueOf: DynExtendType.valueOf,
        enumValues: DynExtendType.values)
    ..aOS(6, _omitFieldNames ? '' : 'subModule')
    ..aOS(7, _omitFieldNames ? '' : 'actionText')
    ..aOS(8, _omitFieldNames ? '' : 'actionUrl')
    ..aInt64(9, _omitFieldNames ? '' : 'rid')
    ..aOB(10, _omitFieldNames ? '' : 'isShowLight')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoCommon clone() => ExtInfoCommon()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoCommon copyWith(void Function(ExtInfoCommon) updates) =>
      super.copyWith((message) => updates(message as ExtInfoCommon))
          as ExtInfoCommon;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoCommon create() => ExtInfoCommon._();
  ExtInfoCommon createEmptyInstance() => create();
  static $pb.PbList<ExtInfoCommon> createRepeated() =>
      $pb.PbList<ExtInfoCommon>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoCommon getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoCommon>(create);
  static ExtInfoCommon? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);

  /// poiType
  @$pb.TagNumber(4)
  $core.int get poiType => $_getIZ(3);
  @$pb.TagNumber(4)
  set poiType($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPoiType() => $_has(3);
  @$pb.TagNumber(4)
  void clearPoiType() => clearField(4);

  /// 类型
  @$pb.TagNumber(5)
  DynExtendType get type => $_getN(4);
  @$pb.TagNumber(5)
  set type(DynExtendType v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasType() => $_has(4);
  @$pb.TagNumber(5)
  void clearType() => clearField(5);

  /// 客户端埋点用
  @$pb.TagNumber(6)
  $core.String get subModule => $_getSZ(5);
  @$pb.TagNumber(6)
  set subModule($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasSubModule() => $_has(5);
  @$pb.TagNumber(6)
  void clearSubModule() => clearField(6);

  /// 行动点文案
  @$pb.TagNumber(7)
  $core.String get actionText => $_getSZ(6);
  @$pb.TagNumber(7)
  set actionText($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasActionText() => $_has(6);
  @$pb.TagNumber(7)
  void clearActionText() => clearField(7);

  /// 行动点链接
  @$pb.TagNumber(8)
  $core.String get actionUrl => $_getSZ(7);
  @$pb.TagNumber(8)
  set actionUrl($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasActionUrl() => $_has(7);
  @$pb.TagNumber(8)
  void clearActionUrl() => clearField(8);

  /// 资源rid
  @$pb.TagNumber(9)
  $fixnum.Int64 get rid => $_getI64(8);
  @$pb.TagNumber(9)
  set rid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasRid() => $_has(8);
  @$pb.TagNumber(9)
  void clearRid() => clearField(9);

  /// 轻浏览是否展示
  @$pb.TagNumber(10)
  $core.bool get isShowLight => $_getBF(9);
  @$pb.TagNumber(10)
  set isShowLight($core.bool v) {
    $_setBool(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasIsShowLight() => $_has(9);
  @$pb.TagNumber(10)
  void clearIsShowLight() => clearField(10);
}

/// 动态-拓展小卡模块-游戏小卡
class ExtInfoGame extends $pb.GeneratedMessage {
  factory ExtInfoGame({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  ExtInfoGame._() : super();
  factory ExtInfoGame.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoGame.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoGame',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoGame clone() => ExtInfoGame()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoGame copyWith(void Function(ExtInfoGame) updates) =>
      super.copyWith((message) => updates(message as ExtInfoGame))
          as ExtInfoGame;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoGame create() => ExtInfoGame._();
  ExtInfoGame createEmptyInstance() => create();
  static $pb.PbList<ExtInfoGame> createRepeated() => $pb.PbList<ExtInfoGame>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoGame getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoGame>(create);
  static ExtInfoGame? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);
}

/// 动态-拓展小卡模块-热门小卡
class ExtInfoHot extends $pb.GeneratedMessage {
  factory ExtInfoHot({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  ExtInfoHot._() : super();
  factory ExtInfoHot.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoHot.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoHot',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoHot clone() => ExtInfoHot()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoHot copyWith(void Function(ExtInfoHot) updates) =>
      super.copyWith((message) => updates(message as ExtInfoHot)) as ExtInfoHot;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoHot create() => ExtInfoHot._();
  ExtInfoHot createEmptyInstance() => create();
  static $pb.PbList<ExtInfoHot> createRepeated() => $pb.PbList<ExtInfoHot>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoHot getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoHot>(create);
  static ExtInfoHot? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);
}

/// 动态-拓展小卡模块-lbs小卡
class ExtInfoLBS extends $pb.GeneratedMessage {
  factory ExtInfoLBS({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
    $core.int? poiType,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (poiType != null) {
      $result.poiType = poiType;
    }
    return $result;
  }
  ExtInfoLBS._() : super();
  factory ExtInfoLBS.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoLBS.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoLBS',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'poiType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoLBS clone() => ExtInfoLBS()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoLBS copyWith(void Function(ExtInfoLBS) updates) =>
      super.copyWith((message) => updates(message as ExtInfoLBS)) as ExtInfoLBS;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoLBS create() => ExtInfoLBS._();
  ExtInfoLBS createEmptyInstance() => create();
  static $pb.PbList<ExtInfoLBS> createRepeated() => $pb.PbList<ExtInfoLBS>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoLBS getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoLBS>(create);
  static ExtInfoLBS? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);

  /// poiType
  @$pb.TagNumber(4)
  $core.int get poiType => $_getIZ(3);
  @$pb.TagNumber(4)
  set poiType($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPoiType() => $_has(3);
  @$pb.TagNumber(4)
  void clearPoiType() => clearField(4);
}

/// 动态-拓展小卡模块-ogv小卡
class ExtInfoOGV extends $pb.GeneratedMessage {
  factory ExtInfoOGV({
    $core.Iterable<InfoOGV>? infoOgv,
  }) {
    final $result = create();
    if (infoOgv != null) {
      $result.infoOgv.addAll(infoOgv);
    }
    return $result;
  }
  ExtInfoOGV._() : super();
  factory ExtInfoOGV.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoOGV.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoOGV',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<InfoOGV>(1, _omitFieldNames ? '' : 'infoOgv', $pb.PbFieldType.PM,
        subBuilder: InfoOGV.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoOGV clone() => ExtInfoOGV()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoOGV copyWith(void Function(ExtInfoOGV) updates) =>
      super.copyWith((message) => updates(message as ExtInfoOGV)) as ExtInfoOGV;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoOGV create() => ExtInfoOGV._();
  ExtInfoOGV createEmptyInstance() => create();
  static $pb.PbList<ExtInfoOGV> createRepeated() => $pb.PbList<ExtInfoOGV>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoOGV getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoOGV>(create);
  static ExtInfoOGV? _defaultInstance;

  /// ogv小卡
  @$pb.TagNumber(1)
  $core.List<InfoOGV> get infoOgv => $_getList(0);
}

/// 动态-拓展小卡模块-话题小卡
class ExtInfoTopic extends $pb.GeneratedMessage {
  factory ExtInfoTopic({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  ExtInfoTopic._() : super();
  factory ExtInfoTopic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ExtInfoTopic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ExtInfoTopic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ExtInfoTopic clone() => ExtInfoTopic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ExtInfoTopic copyWith(void Function(ExtInfoTopic) updates) =>
      super.copyWith((message) => updates(message as ExtInfoTopic))
          as ExtInfoTopic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ExtInfoTopic create() => ExtInfoTopic._();
  ExtInfoTopic createEmptyInstance() => create();
  static $pb.PbList<ExtInfoTopic> createRepeated() =>
      $pb.PbList<ExtInfoTopic>();
  @$core.pragma('dart2js:noInline')
  static ExtInfoTopic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ExtInfoTopic>(create);
  static ExtInfoTopic? _defaultInstance;

  /// 标题-话题名
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);
}

class FeedFilterReply extends $pb.GeneratedMessage {
  factory FeedFilterReply({
    $core.String? offset,
    $core.bool? hasMore,
    $core.Iterable<DynamicItem>? list,
  }) {
    final $result = create();
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  FeedFilterReply._() : super();
  factory FeedFilterReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory FeedFilterReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'FeedFilterReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'offset')
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..pc<DynamicItem>(3, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  FeedFilterReply clone() => FeedFilterReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  FeedFilterReply copyWith(void Function(FeedFilterReply) updates) =>
      super.copyWith((message) => updates(message as FeedFilterReply))
          as FeedFilterReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static FeedFilterReply create() => FeedFilterReply._();
  FeedFilterReply createEmptyInstance() => create();
  static $pb.PbList<FeedFilterReply> createRepeated() =>
      $pb.PbList<FeedFilterReply>();
  @$core.pragma('dart2js:noInline')
  static FeedFilterReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<FeedFilterReply>(create);
  static FeedFilterReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get offset => $_getSZ(0);
  @$pb.TagNumber(1)
  set offset($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOffset() => $_has(0);
  @$pb.TagNumber(1)
  void clearOffset() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<DynamicItem> get list => $_getList(2);
}

class FeedFilterReq extends $pb.GeneratedMessage {
  factory FeedFilterReq({
    $core.String? offset,
    $core.String? tab,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
    AdParam? adParam,
    $core.int? coldStart,
    $fixnum.Int64? page,
  }) {
    final $result = create();
    if (offset != null) {
      $result.offset = offset;
    }
    if (tab != null) {
      $result.tab = tab;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    if (adParam != null) {
      $result.adParam = adParam;
    }
    if (coldStart != null) {
      $result.coldStart = coldStart;
    }
    if (page != null) {
      $result.page = page;
    }
    return $result;
  }
  FeedFilterReq._() : super();
  factory FeedFilterReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory FeedFilterReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'FeedFilterReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'offset')
    ..aOS(2, _omitFieldNames ? '' : 'tab')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..aOM<AdParam>(5, _omitFieldNames ? '' : 'adParam',
        subBuilder: AdParam.create)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'coldStart', $pb.PbFieldType.O3)
    ..aInt64(7, _omitFieldNames ? '' : 'page')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  FeedFilterReq clone() => FeedFilterReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  FeedFilterReq copyWith(void Function(FeedFilterReq) updates) =>
      super.copyWith((message) => updates(message as FeedFilterReq))
          as FeedFilterReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static FeedFilterReq create() => FeedFilterReq._();
  FeedFilterReq createEmptyInstance() => create();
  static $pb.PbList<FeedFilterReq> createRepeated() =>
      $pb.PbList<FeedFilterReq>();
  @$core.pragma('dart2js:noInline')
  static FeedFilterReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<FeedFilterReq>(create);
  static FeedFilterReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get offset => $_getSZ(0);
  @$pb.TagNumber(1)
  set offset($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOffset() => $_has(0);
  @$pb.TagNumber(1)
  void clearOffset() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get tab => $_getSZ(1);
  @$pb.TagNumber(2)
  set tab($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTab() => $_has(1);
  @$pb.TagNumber(2)
  void clearTab() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get localTime => $_getIZ(2);
  @$pb.TagNumber(3)
  set localTime($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLocalTime() => $_has(2);
  @$pb.TagNumber(3)
  void clearLocalTime() => clearField(3);

  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(3);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(3);

  @$pb.TagNumber(5)
  AdParam get adParam => $_getN(4);
  @$pb.TagNumber(5)
  set adParam(AdParam v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasAdParam() => $_has(4);
  @$pb.TagNumber(5)
  void clearAdParam() => clearField(5);
  @$pb.TagNumber(5)
  AdParam ensureAdParam() => $_ensure(4);

  @$pb.TagNumber(6)
  $core.int get coldStart => $_getIZ(5);
  @$pb.TagNumber(6)
  set coldStart($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasColdStart() => $_has(5);
  @$pb.TagNumber(6)
  void clearColdStart() => clearField(6);

  @$pb.TagNumber(7)
  $fixnum.Int64 get page => $_getI64(6);
  @$pb.TagNumber(7)
  set page($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPage() => $_has(6);
  @$pb.TagNumber(7)
  void clearPage() => clearField(7);
}

class FetchTabSettingReply extends $pb.GeneratedMessage {
  factory FetchTabSettingReply({
    $core.int? status,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  FetchTabSettingReply._() : super();
  factory FetchTabSettingReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory FetchTabSettingReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'FetchTabSettingReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  FetchTabSettingReply clone() =>
      FetchTabSettingReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  FetchTabSettingReply copyWith(void Function(FetchTabSettingReply) updates) =>
      super.copyWith((message) => updates(message as FetchTabSettingReply))
          as FetchTabSettingReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static FetchTabSettingReply create() => FetchTabSettingReply._();
  FetchTabSettingReply createEmptyInstance() => create();
  static $pb.PbList<FetchTabSettingReply> createRepeated() =>
      $pb.PbList<FetchTabSettingReply>();
  @$core.pragma('dart2js:noInline')
  static FetchTabSettingReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<FetchTabSettingReply>(create);
  static FetchTabSettingReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get status => $_getIZ(0);
  @$pb.TagNumber(1)
  set status($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);
}

/// 视频页-我的追番-番剧信息
class FollowListItem extends $pb.GeneratedMessage {
  factory FollowListItem({
    $fixnum.Int64? seasonId,
    $core.String? title,
    $core.String? cover,
    $core.String? url,
    NewEP? newEp,
    $core.String? subTitle,
    $fixnum.Int64? pos,
  }) {
    final $result = create();
    if (seasonId != null) {
      $result.seasonId = seasonId;
    }
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (url != null) {
      $result.url = url;
    }
    if (newEp != null) {
      $result.newEp = newEp;
    }
    if (subTitle != null) {
      $result.subTitle = subTitle;
    }
    if (pos != null) {
      $result.pos = pos;
    }
    return $result;
  }
  FollowListItem._() : super();
  factory FollowListItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory FollowListItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'FollowListItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'seasonId')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'cover')
    ..aOS(4, _omitFieldNames ? '' : 'url')
    ..aOM<NewEP>(5, _omitFieldNames ? '' : 'newEp', subBuilder: NewEP.create)
    ..aOS(6, _omitFieldNames ? '' : 'subTitle')
    ..aInt64(7, _omitFieldNames ? '' : 'pos')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  FollowListItem clone() => FollowListItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  FollowListItem copyWith(void Function(FollowListItem) updates) =>
      super.copyWith((message) => updates(message as FollowListItem))
          as FollowListItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static FollowListItem create() => FollowListItem._();
  FollowListItem createEmptyInstance() => create();
  static $pb.PbList<FollowListItem> createRepeated() =>
      $pb.PbList<FollowListItem>();
  @$core.pragma('dart2js:noInline')
  static FollowListItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<FollowListItem>(create);
  static FollowListItem? _defaultInstance;

  /// season_id
  @$pb.TagNumber(1)
  $fixnum.Int64 get seasonId => $_getI64(0);
  @$pb.TagNumber(1)
  set seasonId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSeasonId() => $_has(0);
  @$pb.TagNumber(1)
  void clearSeasonId() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 封面图
  @$pb.TagNumber(3)
  $core.String get cover => $_getSZ(2);
  @$pb.TagNumber(3)
  set cover($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCover() => $_has(2);
  @$pb.TagNumber(3)
  void clearCover() => clearField(3);

  /// 跳转链接
  @$pb.TagNumber(4)
  $core.String get url => $_getSZ(3);
  @$pb.TagNumber(4)
  set url($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearUrl() => clearField(4);

  /// new_ep
  @$pb.TagNumber(5)
  NewEP get newEp => $_getN(4);
  @$pb.TagNumber(5)
  set newEp(NewEP v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasNewEp() => $_has(4);
  @$pb.TagNumber(5)
  void clearNewEp() => clearField(5);
  @$pb.TagNumber(5)
  NewEP ensureNewEp() => $_ensure(4);

  /// 子标题
  @$pb.TagNumber(6)
  $core.String get subTitle => $_getSZ(5);
  @$pb.TagNumber(6)
  set subTitle($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasSubTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearSubTitle() => clearField(6);

  /// 卡片位次
  @$pb.TagNumber(7)
  $fixnum.Int64 get pos => $_getI64(6);
  @$pb.TagNumber(7)
  set pos($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPos() => $_has(6);
  @$pb.TagNumber(7)
  void clearPos() => clearField(7);
}

/// 动态-附加卡-商品卡-商品
class GoodsItem extends $pb.GeneratedMessage {
  factory GoodsItem({
    $core.String? cover,
    $core.String? schemaPackageName,
    $core.int? sourceType,
    $core.String? jumpUrl,
    $core.String? jumpDesc,
    $core.String? title,
    $core.String? brief,
    $core.String? price,
    $fixnum.Int64? itemId,
    $core.String? schemaUrl,
    $core.Iterable<$core.String>? openWhiteList,
    $core.bool? userWebV2,
    $core.String? adMark,
    $core.String? appName,
    GoodsJumpType? jumpType,
  }) {
    final $result = create();
    if (cover != null) {
      $result.cover = cover;
    }
    if (schemaPackageName != null) {
      $result.schemaPackageName = schemaPackageName;
    }
    if (sourceType != null) {
      $result.sourceType = sourceType;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (jumpDesc != null) {
      $result.jumpDesc = jumpDesc;
    }
    if (title != null) {
      $result.title = title;
    }
    if (brief != null) {
      $result.brief = brief;
    }
    if (price != null) {
      $result.price = price;
    }
    if (itemId != null) {
      $result.itemId = itemId;
    }
    if (schemaUrl != null) {
      $result.schemaUrl = schemaUrl;
    }
    if (openWhiteList != null) {
      $result.openWhiteList.addAll(openWhiteList);
    }
    if (userWebV2 != null) {
      $result.userWebV2 = userWebV2;
    }
    if (adMark != null) {
      $result.adMark = adMark;
    }
    if (appName != null) {
      $result.appName = appName;
    }
    if (jumpType != null) {
      $result.jumpType = jumpType;
    }
    return $result;
  }
  GoodsItem._() : super();
  factory GoodsItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory GoodsItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'GoodsItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'cover')
    ..aOS(2, _omitFieldNames ? '' : 'schemaPackageName')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'sourceType', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'jumpUrl')
    ..aOS(5, _omitFieldNames ? '' : 'jumpDesc')
    ..aOS(6, _omitFieldNames ? '' : 'title')
    ..aOS(7, _omitFieldNames ? '' : 'brief')
    ..aOS(8, _omitFieldNames ? '' : 'price')
    ..aInt64(9, _omitFieldNames ? '' : 'itemId')
    ..aOS(10, _omitFieldNames ? '' : 'schemaUrl')
    ..pPS(11, _omitFieldNames ? '' : 'openWhiteList')
    ..aOB(12, _omitFieldNames ? '' : 'userWebV2')
    ..aOS(13, _omitFieldNames ? '' : 'adMark')
    ..aOS(14, _omitFieldNames ? '' : 'appName')
    ..e<GoodsJumpType>(
        15, _omitFieldNames ? '' : 'jumpType', $pb.PbFieldType.OE,
        defaultOrMaker: GoodsJumpType.goods_none,
        valueOf: GoodsJumpType.valueOf,
        enumValues: GoodsJumpType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  GoodsItem clone() => GoodsItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  GoodsItem copyWith(void Function(GoodsItem) updates) =>
      super.copyWith((message) => updates(message as GoodsItem)) as GoodsItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GoodsItem create() => GoodsItem._();
  GoodsItem createEmptyInstance() => create();
  static $pb.PbList<GoodsItem> createRepeated() => $pb.PbList<GoodsItem>();
  @$core.pragma('dart2js:noInline')
  static GoodsItem getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GoodsItem>(create);
  static GoodsItem? _defaultInstance;

  /// 图片
  @$pb.TagNumber(1)
  $core.String get cover => $_getSZ(0);
  @$pb.TagNumber(1)
  set cover($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCover() => $_has(0);
  @$pb.TagNumber(1)
  void clearCover() => clearField(1);

  /// schemaPackageName(Android用)
  @$pb.TagNumber(2)
  $core.String get schemaPackageName => $_getSZ(1);
  @$pb.TagNumber(2)
  set schemaPackageName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSchemaPackageName() => $_has(1);
  @$pb.TagNumber(2)
  void clearSchemaPackageName() => clearField(2);

  /// 商品类型
  /// 1:淘宝 2:会员购
  @$pb.TagNumber(3)
  $core.int get sourceType => $_getIZ(2);
  @$pb.TagNumber(3)
  set sourceType($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasSourceType() => $_has(2);
  @$pb.TagNumber(3)
  void clearSourceType() => clearField(3);

  /// 跳转链接
  @$pb.TagNumber(4)
  $core.String get jumpUrl => $_getSZ(3);
  @$pb.TagNumber(4)
  set jumpUrl($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasJumpUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearJumpUrl() => clearField(4);

  /// 跳转文案
  @$pb.TagNumber(5)
  $core.String get jumpDesc => $_getSZ(4);
  @$pb.TagNumber(5)
  set jumpDesc($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasJumpDesc() => $_has(4);
  @$pb.TagNumber(5)
  void clearJumpDesc() => clearField(5);

  /// 标题
  @$pb.TagNumber(6)
  $core.String get title => $_getSZ(5);
  @$pb.TagNumber(6)
  set title($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearTitle() => clearField(6);

  /// 摘要
  @$pb.TagNumber(7)
  $core.String get brief => $_getSZ(6);
  @$pb.TagNumber(7)
  set brief($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBrief() => $_has(6);
  @$pb.TagNumber(7)
  void clearBrief() => clearField(7);

  /// 价格
  @$pb.TagNumber(8)
  $core.String get price => $_getSZ(7);
  @$pb.TagNumber(8)
  set price($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasPrice() => $_has(7);
  @$pb.TagNumber(8)
  void clearPrice() => clearField(8);

  /// item_id
  @$pb.TagNumber(9)
  $fixnum.Int64 get itemId => $_getI64(8);
  @$pb.TagNumber(9)
  set itemId($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasItemId() => $_has(8);
  @$pb.TagNumber(9)
  void clearItemId() => clearField(9);

  /// schema_url
  @$pb.TagNumber(10)
  $core.String get schemaUrl => $_getSZ(9);
  @$pb.TagNumber(10)
  set schemaUrl($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasSchemaUrl() => $_has(9);
  @$pb.TagNumber(10)
  void clearSchemaUrl() => clearField(10);

  /// open_white_list
  @$pb.TagNumber(11)
  $core.List<$core.String> get openWhiteList => $_getList(10);

  /// use_web_v2
  @$pb.TagNumber(12)
  $core.bool get userWebV2 => $_getBF(11);
  @$pb.TagNumber(12)
  set userWebV2($core.bool v) {
    $_setBool(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasUserWebV2() => $_has(11);
  @$pb.TagNumber(12)
  void clearUserWebV2() => clearField(12);

  /// ad mark
  @$pb.TagNumber(13)
  $core.String get adMark => $_getSZ(12);
  @$pb.TagNumber(13)
  set adMark($core.String v) {
    $_setString(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasAdMark() => $_has(12);
  @$pb.TagNumber(13)
  void clearAdMark() => clearField(13);

  @$pb.TagNumber(14)
  $core.String get appName => $_getSZ(13);
  @$pb.TagNumber(14)
  set appName($core.String v) {
    $_setString(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasAppName() => $_has(13);
  @$pb.TagNumber(14)
  void clearAppName() => clearField(14);

  @$pb.TagNumber(15)
  GoodsJumpType get jumpType => $_getN(14);
  @$pb.TagNumber(15)
  set jumpType(GoodsJumpType v) {
    setField(15, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasJumpType() => $_has(14);
  @$pb.TagNumber(15)
  void clearJumpType() => clearField(15);
}

class GuideBarInfo extends $pb.GeneratedMessage {
  factory GuideBarInfo({
    $core.int? show,
    $core.int? page,
    $core.int? position,
    $core.String? desc,
    $core.int? jumpPage,
    $core.int? jumpPosition,
  }) {
    final $result = create();
    if (show != null) {
      $result.show = show;
    }
    if (page != null) {
      $result.page = page;
    }
    if (position != null) {
      $result.position = position;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (jumpPage != null) {
      $result.jumpPage = jumpPage;
    }
    if (jumpPosition != null) {
      $result.jumpPosition = jumpPosition;
    }
    return $result;
  }
  GuideBarInfo._() : super();
  factory GuideBarInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory GuideBarInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'GuideBarInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'show', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'position', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'jumpPage', $pb.PbFieldType.O3)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'jumpPosition', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  GuideBarInfo clone() => GuideBarInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  GuideBarInfo copyWith(void Function(GuideBarInfo) updates) =>
      super.copyWith((message) => updates(message as GuideBarInfo))
          as GuideBarInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static GuideBarInfo create() => GuideBarInfo._();
  GuideBarInfo createEmptyInstance() => create();
  static $pb.PbList<GuideBarInfo> createRepeated() =>
      $pb.PbList<GuideBarInfo>();
  @$core.pragma('dart2js:noInline')
  static GuideBarInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<GuideBarInfo>(create);
  static GuideBarInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get show => $_getIZ(0);
  @$pb.TagNumber(1)
  set show($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasShow() => $_has(0);
  @$pb.TagNumber(1)
  void clearShow() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get page => $_getIZ(1);
  @$pb.TagNumber(2)
  set page($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPage() => $_has(1);
  @$pb.TagNumber(2)
  void clearPage() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get position => $_getIZ(2);
  @$pb.TagNumber(3)
  set position($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPosition() => $_has(2);
  @$pb.TagNumber(3)
  void clearPosition() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get jumpPage => $_getIZ(4);
  @$pb.TagNumber(5)
  set jumpPage($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasJumpPage() => $_has(4);
  @$pb.TagNumber(5)
  void clearJumpPage() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get jumpPosition => $_getIZ(5);
  @$pb.TagNumber(6)
  set jumpPosition($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasJumpPosition() => $_has(5);
  @$pb.TagNumber(6)
  void clearJumpPosition() => clearField(6);
}

/// 高亮文本
class HighlightText extends $pb.GeneratedMessage {
  factory HighlightText({
    $core.String? text,
    HighlightTextStyle? textStyle,
    $core.String? jumpUrl,
    $core.String? icon,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (textStyle != null) {
      $result.textStyle = textStyle;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  HighlightText._() : super();
  factory HighlightText.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory HighlightText.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'HighlightText',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..e<HighlightTextStyle>(
        2, _omitFieldNames ? '' : 'textStyle', $pb.PbFieldType.OE,
        defaultOrMaker: HighlightTextStyle.style_none,
        valueOf: HighlightTextStyle.valueOf,
        enumValues: HighlightTextStyle.values)
    ..aOS(3, _omitFieldNames ? '' : 'jumpUrl')
    ..aOS(4, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  HighlightText clone() => HighlightText()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  HighlightText copyWith(void Function(HighlightText) updates) =>
      super.copyWith((message) => updates(message as HighlightText))
          as HighlightText;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static HighlightText create() => HighlightText._();
  HighlightText createEmptyInstance() => create();
  static $pb.PbList<HighlightText> createRepeated() =>
      $pb.PbList<HighlightText>();
  @$core.pragma('dart2js:noInline')
  static HighlightText getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<HighlightText>(create);
  static HighlightText? _defaultInstance;

  /// 展示文本
  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  /// 高亮类型
  @$pb.TagNumber(2)
  HighlightTextStyle get textStyle => $_getN(1);
  @$pb.TagNumber(2)
  set textStyle(HighlightTextStyle v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTextStyle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTextStyle() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get jumpUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set jumpUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasJumpUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearJumpUrl() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get icon => $_getSZ(3);
  @$pb.TagNumber(4)
  set icon($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIcon() => $_has(3);
  @$pb.TagNumber(4)
  void clearIcon() => clearField(4);
}

class HomeSubscribeReply extends $pb.GeneratedMessage {
  factory HomeSubscribeReply({
    $core.int? online,
  }) {
    final $result = create();
    if (online != null) {
      $result.online = online;
    }
    return $result;
  }
  HomeSubscribeReply._() : super();
  factory HomeSubscribeReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory HomeSubscribeReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'HomeSubscribeReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'online', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  HomeSubscribeReply clone() => HomeSubscribeReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  HomeSubscribeReply copyWith(void Function(HomeSubscribeReply) updates) =>
      super.copyWith((message) => updates(message as HomeSubscribeReply))
          as HomeSubscribeReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static HomeSubscribeReply create() => HomeSubscribeReply._();
  HomeSubscribeReply createEmptyInstance() => create();
  static $pb.PbList<HomeSubscribeReply> createRepeated() =>
      $pb.PbList<HomeSubscribeReply>();
  @$core.pragma('dart2js:noInline')
  static HomeSubscribeReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<HomeSubscribeReply>(create);
  static HomeSubscribeReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get online => $_getIZ(0);
  @$pb.TagNumber(1)
  set online($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOnline() => $_has(0);
  @$pb.TagNumber(1)
  void clearOnline() => clearField(1);
}

class HomeSubscribeReq extends $pb.GeneratedMessage {
  factory HomeSubscribeReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    return $result;
  }
  HomeSubscribeReq._() : super();
  factory HomeSubscribeReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory HomeSubscribeReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'HomeSubscribeReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  HomeSubscribeReq clone() => HomeSubscribeReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  HomeSubscribeReq copyWith(void Function(HomeSubscribeReq) updates) =>
      super.copyWith((message) => updates(message as HomeSubscribeReq))
          as HomeSubscribeReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static HomeSubscribeReq create() => HomeSubscribeReq._();
  HomeSubscribeReq createEmptyInstance() => create();
  static $pb.PbList<HomeSubscribeReq> createRepeated() =>
      $pb.PbList<HomeSubscribeReq>();
  @$core.pragma('dart2js:noInline')
  static HomeSubscribeReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<HomeSubscribeReq>(create);
  static HomeSubscribeReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);
}

class IconBadge extends $pb.GeneratedMessage {
  factory IconBadge({
    $core.String? iconBgUrl,
    $core.String? text,
  }) {
    final $result = create();
    if (iconBgUrl != null) {
      $result.iconBgUrl = iconBgUrl;
    }
    if (text != null) {
      $result.text = text;
    }
    return $result;
  }
  IconBadge._() : super();
  factory IconBadge.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory IconBadge.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'IconBadge',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'iconBgUrl')
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  IconBadge clone() => IconBadge()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  IconBadge copyWith(void Function(IconBadge) updates) =>
      super.copyWith((message) => updates(message as IconBadge)) as IconBadge;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IconBadge create() => IconBadge._();
  IconBadge createEmptyInstance() => create();
  static $pb.PbList<IconBadge> createRepeated() => $pb.PbList<IconBadge>();
  @$core.pragma('dart2js:noInline')
  static IconBadge getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IconBadge>(create);
  static IconBadge? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get iconBgUrl => $_getSZ(0);
  @$pb.TagNumber(1)
  set iconBgUrl($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIconBgUrl() => $_has(0);
  @$pb.TagNumber(1)
  void clearIconBgUrl() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);
}

class IconButton extends $pb.GeneratedMessage {
  factory IconButton({
    $core.String? text,
    $core.String? iconHead,
    $core.String? iconTail,
    $core.String? jumpUri,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (iconHead != null) {
      $result.iconHead = iconHead;
    }
    if (iconTail != null) {
      $result.iconTail = iconTail;
    }
    if (jumpUri != null) {
      $result.jumpUri = jumpUri;
    }
    return $result;
  }
  IconButton._() : super();
  factory IconButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory IconButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'IconButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'iconHead')
    ..aOS(3, _omitFieldNames ? '' : 'iconTail')
    ..aOS(4, _omitFieldNames ? '' : 'jumpUri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  IconButton clone() => IconButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  IconButton copyWith(void Function(IconButton) updates) =>
      super.copyWith((message) => updates(message as IconButton)) as IconButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IconButton create() => IconButton._();
  IconButton createEmptyInstance() => create();
  static $pb.PbList<IconButton> createRepeated() => $pb.PbList<IconButton>();
  @$core.pragma('dart2js:noInline')
  static IconButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<IconButton>(create);
  static IconButton? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get iconHead => $_getSZ(1);
  @$pb.TagNumber(2)
  set iconHead($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIconHead() => $_has(1);
  @$pb.TagNumber(2)
  void clearIconHead() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get iconTail => $_getSZ(2);
  @$pb.TagNumber(3)
  set iconTail($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIconTail() => $_has(2);
  @$pb.TagNumber(3)
  void clearIconTail() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get jumpUri => $_getSZ(3);
  @$pb.TagNumber(4)
  set jumpUri($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasJumpUri() => $_has(3);
  @$pb.TagNumber(4)
  void clearJumpUri() => clearField(4);
}

class ImageSet extends $pb.GeneratedMessage {
  factory ImageSet({
    $core.String? imgDay,
    $core.String? imgDark,
  }) {
    final $result = create();
    if (imgDay != null) {
      $result.imgDay = imgDay;
    }
    if (imgDark != null) {
      $result.imgDark = imgDark;
    }
    return $result;
  }
  ImageSet._() : super();
  factory ImageSet.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ImageSet.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ImageSet',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'imgDay')
    ..aOS(2, _omitFieldNames ? '' : 'imgDark')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ImageSet clone() => ImageSet()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ImageSet copyWith(void Function(ImageSet) updates) =>
      super.copyWith((message) => updates(message as ImageSet)) as ImageSet;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ImageSet create() => ImageSet._();
  ImageSet createEmptyInstance() => create();
  static $pb.PbList<ImageSet> createRepeated() => $pb.PbList<ImageSet>();
  @$core.pragma('dart2js:noInline')
  static ImageSet getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ImageSet>(create);
  static ImageSet? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get imgDay => $_getSZ(0);
  @$pb.TagNumber(1)
  set imgDay($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasImgDay() => $_has(0);
  @$pb.TagNumber(1)
  void clearImgDay() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get imgDark => $_getSZ(1);
  @$pb.TagNumber(2)
  set imgDark($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasImgDark() => $_has(1);
  @$pb.TagNumber(2)
  void clearImgDark() => clearField(2);
}

class ImgInlineCfg extends $pb.GeneratedMessage {
  factory ImgInlineCfg({
    $core.double? width,
    $core.double? height,
    Colors? color,
  }) {
    final $result = create();
    if (width != null) {
      $result.width = width;
    }
    if (height != null) {
      $result.height = height;
    }
    if (color != null) {
      $result.color = color;
    }
    return $result;
  }
  ImgInlineCfg._() : super();
  factory ImgInlineCfg.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ImgInlineCfg.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ImgInlineCfg',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'width', $pb.PbFieldType.OD)
    ..a<$core.double>(2, _omitFieldNames ? '' : 'height', $pb.PbFieldType.OD)
    ..aOM<Colors>(3, _omitFieldNames ? '' : 'color', subBuilder: Colors.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ImgInlineCfg clone() => ImgInlineCfg()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ImgInlineCfg copyWith(void Function(ImgInlineCfg) updates) =>
      super.copyWith((message) => updates(message as ImgInlineCfg))
          as ImgInlineCfg;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ImgInlineCfg create() => ImgInlineCfg._();
  ImgInlineCfg createEmptyInstance() => create();
  static $pb.PbList<ImgInlineCfg> createRepeated() =>
      $pb.PbList<ImgInlineCfg>();
  @$core.pragma('dart2js:noInline')
  static ImgInlineCfg getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ImgInlineCfg>(create);
  static ImgInlineCfg? _defaultInstance;

  @$pb.TagNumber(1)
  $core.double get width => $_getN(0);
  @$pb.TagNumber(1)
  set width($core.double v) {
    $_setDouble(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasWidth() => $_has(0);
  @$pb.TagNumber(1)
  void clearWidth() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get height => $_getN(1);
  @$pb.TagNumber(2)
  set height($core.double v) {
    $_setDouble(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHeight() => $_has(1);
  @$pb.TagNumber(2)
  void clearHeight() => clearField(2);

  @$pb.TagNumber(3)
  Colors get color => $_getN(2);
  @$pb.TagNumber(3)
  set color(Colors v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasColor() => $_has(2);
  @$pb.TagNumber(3)
  void clearColor() => clearField(3);
  @$pb.TagNumber(3)
  Colors ensureColor() => $_ensure(2);
}

/// 动态-拓展小卡模块-ogv小卡-(one of 片单、榜单、分区)
class InfoOGV extends $pb.GeneratedMessage {
  factory InfoOGV({
    $core.String? title,
    $core.String? uri,
    $core.String? icon,
    $core.String? subModule,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (subModule != null) {
      $result.subModule = subModule;
    }
    return $result;
  }
  InfoOGV._() : super();
  factory InfoOGV.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory InfoOGV.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'InfoOGV',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..aOS(4, _omitFieldNames ? '' : 'subModule')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  InfoOGV clone() => InfoOGV()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  InfoOGV copyWith(void Function(InfoOGV) updates) =>
      super.copyWith((message) => updates(message as InfoOGV)) as InfoOGV;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static InfoOGV create() => InfoOGV._();
  InfoOGV createEmptyInstance() => create();
  static $pb.PbList<InfoOGV> createRepeated() => $pb.PbList<InfoOGV>();
  @$core.pragma('dart2js:noInline')
  static InfoOGV getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<InfoOGV>(create);
  static InfoOGV? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 小图标
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);

  /// 客户端埋点用
  @$pb.TagNumber(4)
  $core.String get subModule => $_getSZ(3);
  @$pb.TagNumber(4)
  set subModule($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSubModule() => $_has(3);
  @$pb.TagNumber(4)
  void clearSubModule() => clearField(4);
}

class InteractionFace extends $pb.GeneratedMessage {
  factory InteractionFace({
    $fixnum.Int64? mid,
    $core.String? face,
  }) {
    final $result = create();
    if (mid != null) {
      $result.mid = mid;
    }
    if (face != null) {
      $result.face = face;
    }
    return $result;
  }
  InteractionFace._() : super();
  factory InteractionFace.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory InteractionFace.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'InteractionFace',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'mid')
    ..aOS(2, _omitFieldNames ? '' : 'face')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  InteractionFace clone() => InteractionFace()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  InteractionFace copyWith(void Function(InteractionFace) updates) =>
      super.copyWith((message) => updates(message as InteractionFace))
          as InteractionFace;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static InteractionFace create() => InteractionFace._();
  InteractionFace createEmptyInstance() => create();
  static $pb.PbList<InteractionFace> createRepeated() =>
      $pb.PbList<InteractionFace>();
  @$core.pragma('dart2js:noInline')
  static InteractionFace getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<InteractionFace>(create);
  static InteractionFace? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get mid => $_getI64(0);
  @$pb.TagNumber(1)
  set mid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMid() => $_has(0);
  @$pb.TagNumber(1)
  void clearMid() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get face => $_getSZ(1);
  @$pb.TagNumber(2)
  set face($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFace() => $_has(1);
  @$pb.TagNumber(2)
  void clearFace() => clearField(2);
}

/// 外露交互模块
class InteractionItem extends $pb.GeneratedMessage {
  factory InteractionItem({
    LocalIconType? iconType,
    $core.Iterable<Description>? desc,
    $core.String? uri,
    $core.String? dynamicId,
    $fixnum.Int64? commentMid,
    $core.Iterable<InteractionFace>? faces,
    InteractionStat? stat,
    $core.String? icon,
  }) {
    final $result = create();
    if (iconType != null) {
      $result.iconType = iconType;
    }
    if (desc != null) {
      $result.desc.addAll(desc);
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (commentMid != null) {
      $result.commentMid = commentMid;
    }
    if (faces != null) {
      $result.faces.addAll(faces);
    }
    if (stat != null) {
      $result.stat = stat;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  InteractionItem._() : super();
  factory InteractionItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory InteractionItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'InteractionItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<LocalIconType>(1, _omitFieldNames ? '' : 'iconType', $pb.PbFieldType.OE,
        defaultOrMaker: LocalIconType.local_icon_comment,
        valueOf: LocalIconType.valueOf,
        enumValues: LocalIconType.values)
    ..pc<Description>(2, _omitFieldNames ? '' : 'desc', $pb.PbFieldType.PM,
        subBuilder: Description.create)
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(6, _omitFieldNames ? '' : 'commentMid')
    ..pc<InteractionFace>(7, _omitFieldNames ? '' : 'faces', $pb.PbFieldType.PM,
        subBuilder: InteractionFace.create)
    ..aOM<InteractionStat>(8, _omitFieldNames ? '' : 'stat',
        subBuilder: InteractionStat.create)
    ..aOS(9, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  InteractionItem clone() => InteractionItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  InteractionItem copyWith(void Function(InteractionItem) updates) =>
      super.copyWith((message) => updates(message as InteractionItem))
          as InteractionItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static InteractionItem create() => InteractionItem._();
  InteractionItem createEmptyInstance() => create();
  static $pb.PbList<InteractionItem> createRepeated() =>
      $pb.PbList<InteractionItem>();
  @$core.pragma('dart2js:noInline')
  static InteractionItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<InteractionItem>(create);
  static InteractionItem? _defaultInstance;

  /// 外露模块类型
  @$pb.TagNumber(1)
  LocalIconType get iconType => $_getN(0);
  @$pb.TagNumber(1)
  set iconType(LocalIconType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIconType() => $_has(0);
  @$pb.TagNumber(1)
  void clearIconType() => clearField(1);

  /// 外露模块文案
  @$pb.TagNumber(2)
  $core.List<Description> get desc => $_getList(1);

  /// 外露模块uri相关 根据type不同用法不同
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 动态id
  @$pb.TagNumber(4)
  $core.String get dynamicId => $_getSZ(3);
  @$pb.TagNumber(4)
  set dynamicId($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDynamicId() => $_has(3);
  @$pb.TagNumber(4)
  void clearDynamicId() => clearField(4);

  /// 评论mid
  @$pb.TagNumber(6)
  $fixnum.Int64 get commentMid => $_getI64(4);
  @$pb.TagNumber(6)
  set commentMid($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCommentMid() => $_has(4);
  @$pb.TagNumber(6)
  void clearCommentMid() => clearField(6);

  @$pb.TagNumber(7)
  $core.List<InteractionFace> get faces => $_getList(5);

  @$pb.TagNumber(8)
  InteractionStat get stat => $_getN(6);
  @$pb.TagNumber(8)
  set stat(InteractionStat v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasStat() => $_has(6);
  @$pb.TagNumber(8)
  void clearStat() => clearField(8);
  @$pb.TagNumber(8)
  InteractionStat ensureStat() => $_ensure(6);

  @$pb.TagNumber(9)
  $core.String get icon => $_getSZ(7);
  @$pb.TagNumber(9)
  set icon($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasIcon() => $_has(7);
  @$pb.TagNumber(9)
  void clearIcon() => clearField(9);
}

class InteractionStat extends $pb.GeneratedMessage {
  factory InteractionStat({
    $fixnum.Int64? like,
  }) {
    final $result = create();
    if (like != null) {
      $result.like = like;
    }
    return $result;
  }
  InteractionStat._() : super();
  factory InteractionStat.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory InteractionStat.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'InteractionStat',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'like')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  InteractionStat clone() => InteractionStat()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  InteractionStat copyWith(void Function(InteractionStat) updates) =>
      super.copyWith((message) => updates(message as InteractionStat))
          as InteractionStat;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static InteractionStat create() => InteractionStat._();
  InteractionStat createEmptyInstance() => create();
  static $pb.PbList<InteractionStat> createRepeated() =>
      $pb.PbList<InteractionStat>();
  @$core.pragma('dart2js:noInline')
  static InteractionStat getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<InteractionStat>(create);
  static InteractionStat? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get like => $_getI64(0);
  @$pb.TagNumber(1)
  set like($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasLike() => $_has(0);
  @$pb.TagNumber(1)
  void clearLike() => clearField(1);
}

class LbsPoiDetail extends $pb.GeneratedMessage {
  factory LbsPoiDetail({
    $core.String? poi,
    $fixnum.Int64? type,
    $core.Iterable<$core.String>? basePic,
    $core.Iterable<$core.String>? cover,
    $core.String? address,
    $core.String? title,
  }) {
    final $result = create();
    if (poi != null) {
      $result.poi = poi;
    }
    if (type != null) {
      $result.type = type;
    }
    if (basePic != null) {
      $result.basePic.addAll(basePic);
    }
    if (cover != null) {
      $result.cover.addAll(cover);
    }
    if (address != null) {
      $result.address = address;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  LbsPoiDetail._() : super();
  factory LbsPoiDetail.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LbsPoiDetail.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LbsPoiDetail',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'poi')
    ..aInt64(2, _omitFieldNames ? '' : 'type')
    ..pPS(3, _omitFieldNames ? '' : 'basePic')
    ..pPS(4, _omitFieldNames ? '' : 'cover')
    ..aOS(5, _omitFieldNames ? '' : 'address')
    ..aOS(6, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LbsPoiDetail clone() => LbsPoiDetail()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LbsPoiDetail copyWith(void Function(LbsPoiDetail) updates) =>
      super.copyWith((message) => updates(message as LbsPoiDetail))
          as LbsPoiDetail;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LbsPoiDetail create() => LbsPoiDetail._();
  LbsPoiDetail createEmptyInstance() => create();
  static $pb.PbList<LbsPoiDetail> createRepeated() =>
      $pb.PbList<LbsPoiDetail>();
  @$core.pragma('dart2js:noInline')
  static LbsPoiDetail getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LbsPoiDetail>(create);
  static LbsPoiDetail? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get poi => $_getSZ(0);
  @$pb.TagNumber(1)
  set poi($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPoi() => $_has(0);
  @$pb.TagNumber(1)
  void clearPoi() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get type => $_getI64(1);
  @$pb.TagNumber(2)
  set type($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasType() => $_has(1);
  @$pb.TagNumber(2)
  void clearType() => clearField(2);

  @$pb.TagNumber(3)
  $core.List<$core.String> get basePic => $_getList(2);

  @$pb.TagNumber(4)
  $core.List<$core.String> get cover => $_getList(3);

  @$pb.TagNumber(5)
  $core.String get address => $_getSZ(4);
  @$pb.TagNumber(5)
  set address($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasAddress() => $_has(4);
  @$pb.TagNumber(5)
  void clearAddress() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get title => $_getSZ(5);
  @$pb.TagNumber(6)
  set title($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearTitle() => clearField(6);
}

class LbsPoiReply extends $pb.GeneratedMessage {
  factory LbsPoiReply({
    $core.bool? hasMore,
    $core.String? offset,
    LbsPoiDetail? detail,
    $core.Iterable<DynamicItem>? list,
  }) {
    final $result = create();
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (detail != null) {
      $result.detail = detail;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  LbsPoiReply._() : super();
  factory LbsPoiReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LbsPoiReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LbsPoiReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'hasMore')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..aOM<LbsPoiDetail>(3, _omitFieldNames ? '' : 'detail',
        subBuilder: LbsPoiDetail.create)
    ..pc<DynamicItem>(4, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LbsPoiReply clone() => LbsPoiReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LbsPoiReply copyWith(void Function(LbsPoiReply) updates) =>
      super.copyWith((message) => updates(message as LbsPoiReply))
          as LbsPoiReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LbsPoiReply create() => LbsPoiReply._();
  LbsPoiReply createEmptyInstance() => create();
  static $pb.PbList<LbsPoiReply> createRepeated() => $pb.PbList<LbsPoiReply>();
  @$core.pragma('dart2js:noInline')
  static LbsPoiReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LbsPoiReply>(create);
  static LbsPoiReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get hasMore => $_getBF(0);
  @$pb.TagNumber(1)
  set hasMore($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHasMore() => $_has(0);
  @$pb.TagNumber(1)
  void clearHasMore() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  @$pb.TagNumber(3)
  LbsPoiDetail get detail => $_getN(2);
  @$pb.TagNumber(3)
  set detail(LbsPoiDetail v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDetail() => $_has(2);
  @$pb.TagNumber(3)
  void clearDetail() => clearField(3);
  @$pb.TagNumber(3)
  LbsPoiDetail ensureDetail() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.List<DynamicItem> get list => $_getList(3);
}

class LbsPoiReq extends $pb.GeneratedMessage {
  factory LbsPoiReq({
    $core.String? poi,
    $fixnum.Int64? type,
    $core.String? offset,
    $core.int? refreshType,
    $core.int? localTime,
    $1.PlayerArgs? playerArgs,
  }) {
    final $result = create();
    if (poi != null) {
      $result.poi = poi;
    }
    if (type != null) {
      $result.type = type;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (refreshType != null) {
      $result.refreshType = refreshType;
    }
    if (localTime != null) {
      $result.localTime = localTime;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    return $result;
  }
  LbsPoiReq._() : super();
  factory LbsPoiReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LbsPoiReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LbsPoiReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'poi')
    ..aInt64(2, _omitFieldNames ? '' : 'type')
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'refreshType', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'localTime', $pb.PbFieldType.O3)
    ..aOM<$1.PlayerArgs>(6, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LbsPoiReq clone() => LbsPoiReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LbsPoiReq copyWith(void Function(LbsPoiReq) updates) =>
      super.copyWith((message) => updates(message as LbsPoiReq)) as LbsPoiReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LbsPoiReq create() => LbsPoiReq._();
  LbsPoiReq createEmptyInstance() => create();
  static $pb.PbList<LbsPoiReq> createRepeated() => $pb.PbList<LbsPoiReq>();
  @$core.pragma('dart2js:noInline')
  static LbsPoiReq getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LbsPoiReq>(create);
  static LbsPoiReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get poi => $_getSZ(0);
  @$pb.TagNumber(1)
  set poi($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPoi() => $_has(0);
  @$pb.TagNumber(1)
  void clearPoi() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get type => $_getI64(1);
  @$pb.TagNumber(2)
  set type($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasType() => $_has(1);
  @$pb.TagNumber(2)
  void clearType() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get refreshType => $_getIZ(3);
  @$pb.TagNumber(4)
  set refreshType($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRefreshType() => $_has(3);
  @$pb.TagNumber(4)
  void clearRefreshType() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get localTime => $_getIZ(4);
  @$pb.TagNumber(5)
  set localTime($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLocalTime() => $_has(4);
  @$pb.TagNumber(5)
  void clearLocalTime() => clearField(5);

  @$pb.TagNumber(6)
  $1.PlayerArgs get playerArgs => $_getN(5);
  @$pb.TagNumber(6)
  set playerArgs($1.PlayerArgs v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasPlayerArgs() => $_has(5);
  @$pb.TagNumber(6)
  void clearPlayerArgs() => clearField(6);
  @$pb.TagNumber(6)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(5);
}

class LegacyTopicFeedReply extends $pb.GeneratedMessage {
  factory LegacyTopicFeedReply({
    $core.Iterable<DynamicItem>? list,
    $core.bool? hasMore,
    $core.String? offset,
    $core.Iterable<SortType>? supportedSortTypes,
    $core.Iterable<SortType>? feedCardFilters,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (supportedSortTypes != null) {
      $result.supportedSortTypes.addAll(supportedSortTypes);
    }
    if (feedCardFilters != null) {
      $result.feedCardFilters.addAll(feedCardFilters);
    }
    return $result;
  }
  LegacyTopicFeedReply._() : super();
  factory LegacyTopicFeedReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LegacyTopicFeedReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LegacyTopicFeedReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..pc<SortType>(
        4, _omitFieldNames ? '' : 'supportedSortTypes', $pb.PbFieldType.PM,
        subBuilder: SortType.create)
    ..pc<SortType>(
        5, _omitFieldNames ? '' : 'feedCardFilters', $pb.PbFieldType.PM,
        subBuilder: SortType.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LegacyTopicFeedReply clone() =>
      LegacyTopicFeedReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LegacyTopicFeedReply copyWith(void Function(LegacyTopicFeedReply) updates) =>
      super.copyWith((message) => updates(message as LegacyTopicFeedReply))
          as LegacyTopicFeedReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LegacyTopicFeedReply create() => LegacyTopicFeedReply._();
  LegacyTopicFeedReply createEmptyInstance() => create();
  static $pb.PbList<LegacyTopicFeedReply> createRepeated() =>
      $pb.PbList<LegacyTopicFeedReply>();
  @$core.pragma('dart2js:noInline')
  static LegacyTopicFeedReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LegacyTopicFeedReply>(create);
  static LegacyTopicFeedReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);

  @$pb.TagNumber(4)
  $core.List<SortType> get supportedSortTypes => $_getList(3);

  @$pb.TagNumber(5)
  $core.List<SortType> get feedCardFilters => $_getList(4);
}

class LegacyTopicFeedReq extends $pb.GeneratedMessage {
  factory LegacyTopicFeedReq({
    $fixnum.Int64? topicId,
    $core.String? topicName,
    $core.String? offset,
    SortType? sortType,
    SortType? cardFilter,
  }) {
    final $result = create();
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (topicName != null) {
      $result.topicName = topicName;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (sortType != null) {
      $result.sortType = sortType;
    }
    if (cardFilter != null) {
      $result.cardFilter = cardFilter;
    }
    return $result;
  }
  LegacyTopicFeedReq._() : super();
  factory LegacyTopicFeedReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LegacyTopicFeedReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LegacyTopicFeedReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'topicId')
    ..aOS(2, _omitFieldNames ? '' : 'topicName')
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..aOM<SortType>(4, _omitFieldNames ? '' : 'sortType',
        subBuilder: SortType.create)
    ..aOM<SortType>(5, _omitFieldNames ? '' : 'cardFilter',
        subBuilder: SortType.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LegacyTopicFeedReq clone() => LegacyTopicFeedReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LegacyTopicFeedReq copyWith(void Function(LegacyTopicFeedReq) updates) =>
      super.copyWith((message) => updates(message as LegacyTopicFeedReq))
          as LegacyTopicFeedReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LegacyTopicFeedReq create() => LegacyTopicFeedReq._();
  LegacyTopicFeedReq createEmptyInstance() => create();
  static $pb.PbList<LegacyTopicFeedReq> createRepeated() =>
      $pb.PbList<LegacyTopicFeedReq>();
  @$core.pragma('dart2js:noInline')
  static LegacyTopicFeedReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LegacyTopicFeedReq>(create);
  static LegacyTopicFeedReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get topicId => $_getI64(0);
  @$pb.TagNumber(1)
  set topicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTopicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearTopicId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get topicName => $_getSZ(1);
  @$pb.TagNumber(2)
  set topicName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTopicName() => $_has(1);
  @$pb.TagNumber(2)
  void clearTopicName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);

  @$pb.TagNumber(4)
  SortType get sortType => $_getN(3);
  @$pb.TagNumber(4)
  set sortType(SortType v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSortType() => $_has(3);
  @$pb.TagNumber(4)
  void clearSortType() => clearField(4);
  @$pb.TagNumber(4)
  SortType ensureSortType() => $_ensure(3);

  @$pb.TagNumber(5)
  SortType get cardFilter => $_getN(4);
  @$pb.TagNumber(5)
  set cardFilter(SortType v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCardFilter() => $_has(4);
  @$pb.TagNumber(5)
  void clearCardFilter() => clearField(5);
  @$pb.TagNumber(5)
  SortType ensureCardFilter() => $_ensure(4);
}

/// 点赞动画
class LikeAnimation extends $pb.GeneratedMessage {
  factory LikeAnimation({
    $core.String? begin,
    $core.String? proc,
    $core.String? end,
    $fixnum.Int64? likeIconId,
  }) {
    final $result = create();
    if (begin != null) {
      $result.begin = begin;
    }
    if (proc != null) {
      $result.proc = proc;
    }
    if (end != null) {
      $result.end = end;
    }
    if (likeIconId != null) {
      $result.likeIconId = likeIconId;
    }
    return $result;
  }
  LikeAnimation._() : super();
  factory LikeAnimation.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LikeAnimation.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LikeAnimation',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'begin')
    ..aOS(2, _omitFieldNames ? '' : 'proc')
    ..aOS(3, _omitFieldNames ? '' : 'end')
    ..aInt64(4, _omitFieldNames ? '' : 'likeIconId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LikeAnimation clone() => LikeAnimation()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LikeAnimation copyWith(void Function(LikeAnimation) updates) =>
      super.copyWith((message) => updates(message as LikeAnimation))
          as LikeAnimation;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LikeAnimation create() => LikeAnimation._();
  LikeAnimation createEmptyInstance() => create();
  static $pb.PbList<LikeAnimation> createRepeated() =>
      $pb.PbList<LikeAnimation>();
  @$core.pragma('dart2js:noInline')
  static LikeAnimation getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LikeAnimation>(create);
  static LikeAnimation? _defaultInstance;

  /// 开始动画
  @$pb.TagNumber(1)
  $core.String get begin => $_getSZ(0);
  @$pb.TagNumber(1)
  set begin($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasBegin() => $_has(0);
  @$pb.TagNumber(1)
  void clearBegin() => clearField(1);

  /// 过程动画
  @$pb.TagNumber(2)
  $core.String get proc => $_getSZ(1);
  @$pb.TagNumber(2)
  set proc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasProc() => $_has(1);
  @$pb.TagNumber(2)
  void clearProc() => clearField(2);

  /// 结束动画
  @$pb.TagNumber(3)
  $core.String get end => $_getSZ(2);
  @$pb.TagNumber(3)
  set end($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasEnd() => $_has(2);
  @$pb.TagNumber(3)
  void clearEnd() => clearField(3);

  /// id
  @$pb.TagNumber(4)
  $fixnum.Int64 get likeIconId => $_getI64(3);
  @$pb.TagNumber(4)
  set likeIconId($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLikeIconId() => $_has(3);
  @$pb.TagNumber(4)
  void clearLikeIconId() => clearField(4);
}

/// 点赞拓展信息
class LikeInfo extends $pb.GeneratedMessage {
  factory LikeInfo({
    LikeAnimation? animation,
    $core.bool? isLike,
  }) {
    final $result = create();
    if (animation != null) {
      $result.animation = animation;
    }
    if (isLike != null) {
      $result.isLike = isLike;
    }
    return $result;
  }
  LikeInfo._() : super();
  factory LikeInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LikeInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LikeInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<LikeAnimation>(1, _omitFieldNames ? '' : 'animation',
        subBuilder: LikeAnimation.create)
    ..aOB(2, _omitFieldNames ? '' : 'isLike')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LikeInfo clone() => LikeInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LikeInfo copyWith(void Function(LikeInfo) updates) =>
      super.copyWith((message) => updates(message as LikeInfo)) as LikeInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LikeInfo create() => LikeInfo._();
  LikeInfo createEmptyInstance() => create();
  static $pb.PbList<LikeInfo> createRepeated() => $pb.PbList<LikeInfo>();
  @$core.pragma('dart2js:noInline')
  static LikeInfo getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LikeInfo>(create);
  static LikeInfo? _defaultInstance;

  /// 点赞动画
  @$pb.TagNumber(1)
  LikeAnimation get animation => $_getN(0);
  @$pb.TagNumber(1)
  set animation(LikeAnimation v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAnimation() => $_has(0);
  @$pb.TagNumber(1)
  void clearAnimation() => clearField(1);
  @$pb.TagNumber(1)
  LikeAnimation ensureAnimation() => $_ensure(0);

  /// 是否点赞
  @$pb.TagNumber(2)
  $core.bool get isLike => $_getBF(1);
  @$pb.TagNumber(2)
  set isLike($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIsLike() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsLike() => clearField(2);
}

/// 点赞列表-响应
class LikeListReply extends $pb.GeneratedMessage {
  factory LikeListReply({
    $core.Iterable<ModuleAuthor>? list,
    $core.bool? hasMore,
    $fixnum.Int64? totalCount,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (totalCount != null) {
      $result.totalCount = totalCount;
    }
    return $result;
  }
  LikeListReply._() : super();
  factory LikeListReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LikeListReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LikeListReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ModuleAuthor>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: ModuleAuthor.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..aInt64(3, _omitFieldNames ? '' : 'totalCount')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LikeListReply clone() => LikeListReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LikeListReply copyWith(void Function(LikeListReply) updates) =>
      super.copyWith((message) => updates(message as LikeListReply))
          as LikeListReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LikeListReply create() => LikeListReply._();
  LikeListReply createEmptyInstance() => create();
  static $pb.PbList<LikeListReply> createRepeated() =>
      $pb.PbList<LikeListReply>();
  @$core.pragma('dart2js:noInline')
  static LikeListReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LikeListReply>(create);
  static LikeListReply? _defaultInstance;

  /// 用户模块列表
  @$pb.TagNumber(1)
  $core.List<ModuleAuthor> get list => $_getList(0);

  /// 是否还有更多数据
  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  /// 点赞总数
  @$pb.TagNumber(3)
  $fixnum.Int64 get totalCount => $_getI64(2);
  @$pb.TagNumber(3)
  set totalCount($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTotalCount() => $_has(2);
  @$pb.TagNumber(3)
  void clearTotalCount() => clearField(3);
}

/// 点赞列表-请求
class LikeListReq extends $pb.GeneratedMessage {
  factory LikeListReq({
    $core.String? dynamicId,
    $fixnum.Int64? dynType,
    $fixnum.Int64? rid,
    $fixnum.Int64? uidOffset,
    $core.int? page,
  }) {
    final $result = create();
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (uidOffset != null) {
      $result.uidOffset = uidOffset;
    }
    if (page != null) {
      $result.page = page;
    }
    return $result;
  }
  LikeListReq._() : super();
  factory LikeListReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LikeListReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LikeListReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(2, _omitFieldNames ? '' : 'dynType')
    ..aInt64(3, _omitFieldNames ? '' : 'rid')
    ..aInt64(4, _omitFieldNames ? '' : 'uidOffset')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'page', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LikeListReq clone() => LikeListReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LikeListReq copyWith(void Function(LikeListReq) updates) =>
      super.copyWith((message) => updates(message as LikeListReq))
          as LikeListReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LikeListReq create() => LikeListReq._();
  LikeListReq createEmptyInstance() => create();
  static $pb.PbList<LikeListReq> createRepeated() => $pb.PbList<LikeListReq>();
  @$core.pragma('dart2js:noInline')
  static LikeListReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LikeListReq>(create);
  static LikeListReq? _defaultInstance;

  /// 动态ID
  @$pb.TagNumber(1)
  $core.String get dynamicId => $_getSZ(0);
  @$pb.TagNumber(1)
  set dynamicId($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicId() => clearField(1);

  /// 动态类型
  @$pb.TagNumber(2)
  $fixnum.Int64 get dynType => $_getI64(1);
  @$pb.TagNumber(2)
  set dynType($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynType() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynType() => clearField(2);

  /// 业务方资源id
  @$pb.TagNumber(3)
  $fixnum.Int64 get rid => $_getI64(2);
  @$pb.TagNumber(3)
  set rid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRid() => $_has(2);
  @$pb.TagNumber(3)
  void clearRid() => clearField(3);

  /// 上一页最后一个uid
  @$pb.TagNumber(4)
  $fixnum.Int64 get uidOffset => $_getI64(3);
  @$pb.TagNumber(4)
  set uidOffset($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUidOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearUidOffset() => clearField(4);

  /// 下拉页数
  @$pb.TagNumber(5)
  $core.int get page => $_getIZ(4);
  @$pb.TagNumber(5)
  set page($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPage() => $_has(4);
  @$pb.TagNumber(5)
  void clearPage() => clearField(5);
}

/// 点赞用户
class LikeUser extends $pb.GeneratedMessage {
  factory LikeUser({
    $fixnum.Int64? uid,
    $core.String? uname,
    $core.String? uri,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (uname != null) {
      $result.uname = uname;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  LikeUser._() : super();
  factory LikeUser.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LikeUser.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LikeUser',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..aOS(2, _omitFieldNames ? '' : 'uname')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LikeUser clone() => LikeUser()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LikeUser copyWith(void Function(LikeUser) updates) =>
      super.copyWith((message) => updates(message as LikeUser)) as LikeUser;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LikeUser create() => LikeUser._();
  LikeUser createEmptyInstance() => create();
  static $pb.PbList<LikeUser> createRepeated() => $pb.PbList<LikeUser>();
  @$core.pragma('dart2js:noInline')
  static LikeUser getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LikeUser>(create);
  static LikeUser? _defaultInstance;

  /// 用户mid
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 用户昵称
  @$pb.TagNumber(2)
  $core.String get uname => $_getSZ(1);
  @$pb.TagNumber(2)
  set uname($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUname() => $_has(1);
  @$pb.TagNumber(2)
  void clearUname() => clearField(2);

  /// 点击跳转链接
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);
}

class LineParagraph extends $pb.GeneratedMessage {
  factory LineParagraph({
    MdlDynDrawItem? pic,
  }) {
    final $result = create();
    if (pic != null) {
      $result.pic = pic;
    }
    return $result;
  }
  LineParagraph._() : super();
  factory LineParagraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LineParagraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LineParagraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<MdlDynDrawItem>(1, _omitFieldNames ? '' : 'pic',
        subBuilder: MdlDynDrawItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LineParagraph clone() => LineParagraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LineParagraph copyWith(void Function(LineParagraph) updates) =>
      super.copyWith((message) => updates(message as LineParagraph))
          as LineParagraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LineParagraph create() => LineParagraph._();
  LineParagraph createEmptyInstance() => create();
  static $pb.PbList<LineParagraph> createRepeated() =>
      $pb.PbList<LineParagraph>();
  @$core.pragma('dart2js:noInline')
  static LineParagraph getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LineParagraph>(create);
  static LineParagraph? _defaultInstance;

  @$pb.TagNumber(1)
  MdlDynDrawItem get pic => $_getN(0);
  @$pb.TagNumber(1)
  set pic(MdlDynDrawItem v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPic() => $_has(0);
  @$pb.TagNumber(1)
  void clearPic() => clearField(1);
  @$pb.TagNumber(1)
  MdlDynDrawItem ensurePic() => $_ensure(0);
}

class LinkNode extends $pb.GeneratedMessage {
  factory LinkNode({
    $core.String? showText,
    $core.String? link,
    $core.String? icon,
    $core.String? iconSuffix,
    $core.String? linkType,
    LinkNodeType? linkTypeEnum,
    $core.String? bizId,
    $fixnum.Int64? timestamp,
    GoodsItem? goodsItem,
    NoteVideoTS? noteVideoTs,
  }) {
    final $result = create();
    if (showText != null) {
      $result.showText = showText;
    }
    if (link != null) {
      $result.link = link;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (iconSuffix != null) {
      $result.iconSuffix = iconSuffix;
    }
    if (linkType != null) {
      $result.linkType = linkType;
    }
    if (linkTypeEnum != null) {
      $result.linkTypeEnum = linkTypeEnum;
    }
    if (bizId != null) {
      $result.bizId = bizId;
    }
    if (timestamp != null) {
      $result.timestamp = timestamp;
    }
    if (goodsItem != null) {
      $result.goodsItem = goodsItem;
    }
    if (noteVideoTs != null) {
      $result.noteVideoTs = noteVideoTs;
    }
    return $result;
  }
  LinkNode._() : super();
  factory LinkNode.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LinkNode.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LinkNode',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'showText')
    ..aOS(2, _omitFieldNames ? '' : 'link')
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..aOS(4, _omitFieldNames ? '' : 'iconSuffix')
    ..aOS(5, _omitFieldNames ? '' : 'linkType')
    ..e<LinkNodeType>(
        6, _omitFieldNames ? '' : 'linkTypeEnum', $pb.PbFieldType.OE,
        defaultOrMaker: LinkNodeType.INVALID,
        valueOf: LinkNodeType.valueOf,
        enumValues: LinkNodeType.values)
    ..aOS(7, _omitFieldNames ? '' : 'bizId')
    ..aInt64(8, _omitFieldNames ? '' : 'timestamp')
    ..aOM<GoodsItem>(9, _omitFieldNames ? '' : 'goodsItem',
        subBuilder: GoodsItem.create)
    ..aOM<NoteVideoTS>(10, _omitFieldNames ? '' : 'noteVideoTs',
        subBuilder: NoteVideoTS.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LinkNode clone() => LinkNode()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LinkNode copyWith(void Function(LinkNode) updates) =>
      super.copyWith((message) => updates(message as LinkNode)) as LinkNode;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LinkNode create() => LinkNode._();
  LinkNode createEmptyInstance() => create();
  static $pb.PbList<LinkNode> createRepeated() => $pb.PbList<LinkNode>();
  @$core.pragma('dart2js:noInline')
  static LinkNode getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LinkNode>(create);
  static LinkNode? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get showText => $_getSZ(0);
  @$pb.TagNumber(1)
  set showText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasShowText() => $_has(0);
  @$pb.TagNumber(1)
  void clearShowText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get link => $_getSZ(1);
  @$pb.TagNumber(2)
  set link($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLink() => $_has(1);
  @$pb.TagNumber(2)
  void clearLink() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get iconSuffix => $_getSZ(3);
  @$pb.TagNumber(4)
  set iconSuffix($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIconSuffix() => $_has(3);
  @$pb.TagNumber(4)
  void clearIconSuffix() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get linkType => $_getSZ(4);
  @$pb.TagNumber(5)
  set linkType($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLinkType() => $_has(4);
  @$pb.TagNumber(5)
  void clearLinkType() => clearField(5);

  @$pb.TagNumber(6)
  LinkNodeType get linkTypeEnum => $_getN(5);
  @$pb.TagNumber(6)
  set linkTypeEnum(LinkNodeType v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLinkTypeEnum() => $_has(5);
  @$pb.TagNumber(6)
  void clearLinkTypeEnum() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get bizId => $_getSZ(6);
  @$pb.TagNumber(7)
  set bizId($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBizId() => $_has(6);
  @$pb.TagNumber(7)
  void clearBizId() => clearField(7);

  @$pb.TagNumber(8)
  $fixnum.Int64 get timestamp => $_getI64(7);
  @$pb.TagNumber(8)
  set timestamp($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasTimestamp() => $_has(7);
  @$pb.TagNumber(8)
  void clearTimestamp() => clearField(8);

  @$pb.TagNumber(9)
  GoodsItem get goodsItem => $_getN(8);
  @$pb.TagNumber(9)
  set goodsItem(GoodsItem v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasGoodsItem() => $_has(8);
  @$pb.TagNumber(9)
  void clearGoodsItem() => clearField(9);
  @$pb.TagNumber(9)
  GoodsItem ensureGoodsItem() => $_ensure(8);

  @$pb.TagNumber(10)
  NoteVideoTS get noteVideoTs => $_getN(9);
  @$pb.TagNumber(10)
  set noteVideoTs(NoteVideoTS v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasNoteVideoTs() => $_has(9);
  @$pb.TagNumber(10)
  void clearNoteVideoTs() => clearField(10);
  @$pb.TagNumber(10)
  NoteVideoTS ensureNoteVideoTs() => $_ensure(9);
}

/// 直播信息
class LiveInfo extends $pb.GeneratedMessage {
  factory LiveInfo({
    $core.int? isLiving,
    $core.String? uri,
    LiveState? liveState,
  }) {
    final $result = create();
    if (isLiving != null) {
      $result.isLiving = isLiving;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (liveState != null) {
      $result.liveState = liveState;
    }
    return $result;
  }
  LiveInfo._() : super();
  factory LiveInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LiveInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LiveInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'isLiving', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..e<LiveState>(3, _omitFieldNames ? '' : 'liveState', $pb.PbFieldType.OE,
        defaultOrMaker: LiveState.live_none,
        valueOf: LiveState.valueOf,
        enumValues: LiveState.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LiveInfo clone() => LiveInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LiveInfo copyWith(void Function(LiveInfo) updates) =>
      super.copyWith((message) => updates(message as LiveInfo)) as LiveInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LiveInfo create() => LiveInfo._();
  LiveInfo createEmptyInstance() => create();
  static $pb.PbList<LiveInfo> createRepeated() => $pb.PbList<LiveInfo>();
  @$core.pragma('dart2js:noInline')
  static LiveInfo getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<LiveInfo>(create);
  static LiveInfo? _defaultInstance;

  /// 是否在直播
  /// 0:未直播 1:正在直播 (废弃)
  @$pb.TagNumber(1)
  $core.int get isLiving => $_getIZ(0);
  @$pb.TagNumber(1)
  set isLiving($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIsLiving() => $_has(0);
  @$pb.TagNumber(1)
  void clearIsLiving() => clearField(1);

  /// 跳转链接
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 直播状态
  @$pb.TagNumber(3)
  LiveState get liveState => $_getN(2);
  @$pb.TagNumber(3)
  set liveState(LiveState v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLiveState() => $_has(2);
  @$pb.TagNumber(3)
  void clearLiveState() => clearField(3);
}

class LivePendant extends $pb.GeneratedMessage {
  factory LivePendant({
    $core.String? text,
    $core.String? icon,
    $fixnum.Int64? pendantId,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (pendantId != null) {
      $result.pendantId = pendantId;
    }
    return $result;
  }
  LivePendant._() : super();
  factory LivePendant.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory LivePendant.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'LivePendant',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'icon')
    ..aInt64(3, _omitFieldNames ? '' : 'pendantId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  LivePendant clone() => LivePendant()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  LivePendant copyWith(void Function(LivePendant) updates) =>
      super.copyWith((message) => updates(message as LivePendant))
          as LivePendant;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static LivePendant create() => LivePendant._();
  LivePendant createEmptyInstance() => create();
  static $pb.PbList<LivePendant> createRepeated() => $pb.PbList<LivePendant>();
  @$core.pragma('dart2js:noInline')
  static LivePendant getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<LivePendant>(create);
  static LivePendant? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get icon => $_getSZ(1);
  @$pb.TagNumber(2)
  set icon($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIcon() => $_has(1);
  @$pb.TagNumber(2)
  void clearIcon() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get pendantId => $_getI64(2);
  @$pb.TagNumber(3)
  set pendantId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPendantId() => $_has(2);
  @$pb.TagNumber(3)
  void clearPendantId() => clearField(3);
}

/// 动态-附加卡-电竞卡-战队
class MatchTeam extends $pb.GeneratedMessage {
  factory MatchTeam({
    $fixnum.Int64? id,
    $core.String? name,
    $core.String? cover,
    $core.String? color,
    $core.String? nightColor,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (name != null) {
      $result.name = name;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (color != null) {
      $result.color = color;
    }
    if (nightColor != null) {
      $result.nightColor = nightColor;
    }
    return $result;
  }
  MatchTeam._() : super();
  factory MatchTeam.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MatchTeam.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MatchTeam',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOS(3, _omitFieldNames ? '' : 'cover')
    ..aOS(4, _omitFieldNames ? '' : 'color')
    ..aOS(5, _omitFieldNames ? '' : 'nightColor')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MatchTeam clone() => MatchTeam()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MatchTeam copyWith(void Function(MatchTeam) updates) =>
      super.copyWith((message) => updates(message as MatchTeam)) as MatchTeam;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MatchTeam create() => MatchTeam._();
  MatchTeam createEmptyInstance() => create();
  static $pb.PbList<MatchTeam> createRepeated() => $pb.PbList<MatchTeam>();
  @$core.pragma('dart2js:noInline')
  static MatchTeam getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MatchTeam>(create);
  static MatchTeam? _defaultInstance;

  /// 战队ID
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 战队名
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  /// 战队图标
  @$pb.TagNumber(3)
  $core.String get cover => $_getSZ(2);
  @$pb.TagNumber(3)
  set cover($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCover() => $_has(2);
  @$pb.TagNumber(3)
  void clearCover() => clearField(3);

  /// 日间色值
  @$pb.TagNumber(4)
  $core.String get color => $_getSZ(3);
  @$pb.TagNumber(4)
  set color($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasColor() => $_has(3);
  @$pb.TagNumber(4)
  void clearColor() => clearField(4);

  /// 夜间色值
  @$pb.TagNumber(5)
  $core.String get nightColor => $_getSZ(4);
  @$pb.TagNumber(5)
  set nightColor($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasNightColor() => $_has(4);
  @$pb.TagNumber(5)
  void clearNightColor() => clearField(5);
}

/// 动态列表渲染部分-详情模块-小程序/小游戏
class MdlDynApplet extends $pb.GeneratedMessage {
  factory MdlDynApplet({
    $fixnum.Int64? id,
    $core.String? uri,
    $core.String? title,
    $core.String? subTitle,
    $core.String? cover,
    $core.String? icon,
    $core.String? label,
    $core.String? buttonTitle,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (subTitle != null) {
      $result.subTitle = subTitle;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (label != null) {
      $result.label = label;
    }
    if (buttonTitle != null) {
      $result.buttonTitle = buttonTitle;
    }
    return $result;
  }
  MdlDynApplet._() : super();
  factory MdlDynApplet.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynApplet.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynApplet',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..aOS(5, _omitFieldNames ? '' : 'subTitle')
    ..aOS(6, _omitFieldNames ? '' : 'cover')
    ..aOS(7, _omitFieldNames ? '' : 'icon')
    ..aOS(8, _omitFieldNames ? '' : 'label')
    ..aOS(9, _omitFieldNames ? '' : 'buttonTitle')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynApplet clone() => MdlDynApplet()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynApplet copyWith(void Function(MdlDynApplet) updates) =>
      super.copyWith((message) => updates(message as MdlDynApplet))
          as MdlDynApplet;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynApplet create() => MdlDynApplet._();
  MdlDynApplet createEmptyInstance() => create();
  static $pb.PbList<MdlDynApplet> createRepeated() =>
      $pb.PbList<MdlDynApplet>();
  @$core.pragma('dart2js:noInline')
  static MdlDynApplet getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynApplet>(create);
  static MdlDynApplet? _defaultInstance;

  /// 小程序id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 主标题
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);

  /// 副标题
  @$pb.TagNumber(5)
  $core.String get subTitle => $_getSZ(3);
  @$pb.TagNumber(5)
  set subTitle($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasSubTitle() => $_has(3);
  @$pb.TagNumber(5)
  void clearSubTitle() => clearField(5);

  /// 封面图
  @$pb.TagNumber(6)
  $core.String get cover => $_getSZ(4);
  @$pb.TagNumber(6)
  set cover($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCover() => $_has(4);
  @$pb.TagNumber(6)
  void clearCover() => clearField(6);

  /// 小程序icon
  @$pb.TagNumber(7)
  $core.String get icon => $_getSZ(5);
  @$pb.TagNumber(7)
  set icon($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasIcon() => $_has(5);
  @$pb.TagNumber(7)
  void clearIcon() => clearField(7);

  /// 小程序标题
  @$pb.TagNumber(8)
  $core.String get label => $_getSZ(6);
  @$pb.TagNumber(8)
  set label($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasLabel() => $_has(6);
  @$pb.TagNumber(8)
  void clearLabel() => clearField(8);

  /// 按钮文案
  @$pb.TagNumber(9)
  $core.String get buttonTitle => $_getSZ(7);
  @$pb.TagNumber(9)
  set buttonTitle($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasButtonTitle() => $_has(7);
  @$pb.TagNumber(9)
  void clearButtonTitle() => clearField(9);
}

/// 动态-详情模块-稿件
class MdlDynArchive extends $pb.GeneratedMessage {
  factory MdlDynArchive({
    $core.String? title,
    $core.String? cover,
    $core.String? uri,
    $core.String? coverLeftText1,
    $core.String? coverLeftText2,
    $core.String? coverLeftText3,
    $fixnum.Int64? avid,
    $fixnum.Int64? cid,
    MediaType? mediaType,
    Dimension? dimension,
    $core.Iterable<VideoBadge>? badge,
    $core.bool? canPlay,
    VideoType? stype,
    $core.bool? isPGC,
    $core.String? inlineURL,
    $fixnum.Int64? episodeId,
    $core.int? subType,
    $fixnum.Int64? pgcSeasonId,
    $core.String? playIcon,
    $fixnum.Int64? duration,
    $core.String? jumpUrl,
    $core.bool? isPreview,
    $core.Iterable<VideoBadge>? badgeCategory,
    $core.bool? isFeature,
    ReserveType? reserveType,
    $core.String? bvid,
    $core.int? view,
    $core.bool? showPremiereBadge,
    $core.bool? premiereCard,
    $core.bool? showProgress,
    $fixnum.Int64? partDuration,
    $fixnum.Int64? partProgress,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    if (avid != null) {
      $result.avid = avid;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (mediaType != null) {
      $result.mediaType = mediaType;
    }
    if (dimension != null) {
      $result.dimension = dimension;
    }
    if (badge != null) {
      $result.badge.addAll(badge);
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (stype != null) {
      $result.stype = stype;
    }
    if (isPGC != null) {
      $result.isPGC = isPGC;
    }
    if (inlineURL != null) {
      $result.inlineURL = inlineURL;
    }
    if (episodeId != null) {
      $result.episodeId = episodeId;
    }
    if (subType != null) {
      $result.subType = subType;
    }
    if (pgcSeasonId != null) {
      $result.pgcSeasonId = pgcSeasonId;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (isPreview != null) {
      $result.isPreview = isPreview;
    }
    if (badgeCategory != null) {
      $result.badgeCategory.addAll(badgeCategory);
    }
    if (isFeature != null) {
      $result.isFeature = isFeature;
    }
    if (reserveType != null) {
      $result.reserveType = reserveType;
    }
    if (bvid != null) {
      $result.bvid = bvid;
    }
    if (view != null) {
      $result.view = view;
    }
    if (showPremiereBadge != null) {
      $result.showPremiereBadge = showPremiereBadge;
    }
    if (premiereCard != null) {
      $result.premiereCard = premiereCard;
    }
    if (showProgress != null) {
      $result.showProgress = showProgress;
    }
    if (partDuration != null) {
      $result.partDuration = partDuration;
    }
    if (partProgress != null) {
      $result.partProgress = partProgress;
    }
    return $result;
  }
  MdlDynArchive._() : super();
  factory MdlDynArchive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynArchive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynArchive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'coverLeftText1',
        protoName: 'cover_left_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'coverLeftText2',
        protoName: 'cover_left_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'coverLeftText3',
        protoName: 'cover_left_text_3')
    ..aInt64(7, _omitFieldNames ? '' : 'avid')
    ..aInt64(8, _omitFieldNames ? '' : 'cid')
    ..e<MediaType>(9, _omitFieldNames ? '' : 'mediaType', $pb.PbFieldType.OE,
        defaultOrMaker: MediaType.MediaTypeNone,
        valueOf: MediaType.valueOf,
        enumValues: MediaType.values)
    ..aOM<Dimension>(10, _omitFieldNames ? '' : 'dimension',
        subBuilder: Dimension.create)
    ..pc<VideoBadge>(11, _omitFieldNames ? '' : 'badge', $pb.PbFieldType.PM,
        subBuilder: VideoBadge.create)
    ..aOB(12, _omitFieldNames ? '' : 'canPlay')
    ..e<VideoType>(13, _omitFieldNames ? '' : 'stype', $pb.PbFieldType.OE,
        defaultOrMaker: VideoType.video_type_general,
        valueOf: VideoType.valueOf,
        enumValues: VideoType.values)
    ..aOB(14, _omitFieldNames ? '' : 'isPGC', protoName: 'isPGC')
    ..aOS(15, _omitFieldNames ? '' : 'inlineURL', protoName: 'inlineURL')
    ..aInt64(16, _omitFieldNames ? '' : 'EpisodeId', protoName: 'EpisodeId')
    ..a<$core.int>(17, _omitFieldNames ? '' : 'SubType', $pb.PbFieldType.O3,
        protoName: 'SubType')
    ..aInt64(18, _omitFieldNames ? '' : 'PgcSeasonId', protoName: 'PgcSeasonId')
    ..aOS(19, _omitFieldNames ? '' : 'playIcon')
    ..aInt64(20, _omitFieldNames ? '' : 'duration')
    ..aOS(21, _omitFieldNames ? '' : 'jumpUrl')
    ..aOB(22, _omitFieldNames ? '' : 'isPreview')
    ..pc<VideoBadge>(
        23, _omitFieldNames ? '' : 'badgeCategory', $pb.PbFieldType.PM,
        subBuilder: VideoBadge.create)
    ..aOB(24, _omitFieldNames ? '' : 'isFeature')
    ..e<ReserveType>(
        25, _omitFieldNames ? '' : 'reserveType', $pb.PbFieldType.OE,
        defaultOrMaker: ReserveType.reserve_none,
        valueOf: ReserveType.valueOf,
        enumValues: ReserveType.values)
    ..aOS(26, _omitFieldNames ? '' : 'bvid')
    ..a<$core.int>(27, _omitFieldNames ? '' : 'view', $pb.PbFieldType.O3)
    ..aOB(28, _omitFieldNames ? '' : 'showPremiereBadge')
    ..aOB(29, _omitFieldNames ? '' : 'premiereCard')
    ..aOB(30, _omitFieldNames ? '' : 'showProgress')
    ..aInt64(31, _omitFieldNames ? '' : 'partDuration')
    ..aInt64(32, _omitFieldNames ? '' : 'partProgress')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynArchive clone() => MdlDynArchive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynArchive copyWith(void Function(MdlDynArchive) updates) =>
      super.copyWith((message) => updates(message as MdlDynArchive))
          as MdlDynArchive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynArchive create() => MdlDynArchive._();
  MdlDynArchive createEmptyInstance() => create();
  static $pb.PbList<MdlDynArchive> createRepeated() =>
      $pb.PbList<MdlDynArchive>();
  @$core.pragma('dart2js:noInline')
  static MdlDynArchive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynArchive>(create);
  static MdlDynArchive? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 秒开地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 视频封面展示项 1
  @$pb.TagNumber(4)
  $core.String get coverLeftText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set coverLeftText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCoverLeftText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearCoverLeftText1() => clearField(4);

  /// 视频封面展示项 2
  @$pb.TagNumber(5)
  $core.String get coverLeftText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set coverLeftText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCoverLeftText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearCoverLeftText2() => clearField(5);

  /// 封面视频展示项 3
  @$pb.TagNumber(6)
  $core.String get coverLeftText3 => $_getSZ(5);
  @$pb.TagNumber(6)
  set coverLeftText3($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverLeftText3() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverLeftText3() => clearField(6);

  /// avid
  @$pb.TagNumber(7)
  $fixnum.Int64 get avid => $_getI64(6);
  @$pb.TagNumber(7)
  set avid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasAvid() => $_has(6);
  @$pb.TagNumber(7)
  void clearAvid() => clearField(7);

  /// cid
  @$pb.TagNumber(8)
  $fixnum.Int64 get cid => $_getI64(7);
  @$pb.TagNumber(8)
  set cid($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasCid() => $_has(7);
  @$pb.TagNumber(8)
  void clearCid() => clearField(8);

  /// 视频源类型
  @$pb.TagNumber(9)
  MediaType get mediaType => $_getN(8);
  @$pb.TagNumber(9)
  set mediaType(MediaType v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasMediaType() => $_has(8);
  @$pb.TagNumber(9)
  void clearMediaType() => clearField(9);

  /// 尺寸信息
  @$pb.TagNumber(10)
  Dimension get dimension => $_getN(9);
  @$pb.TagNumber(10)
  set dimension(Dimension v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasDimension() => $_has(9);
  @$pb.TagNumber(10)
  void clearDimension() => clearField(10);
  @$pb.TagNumber(10)
  Dimension ensureDimension() => $_ensure(9);

  /// 角标，多个角标之前有间距
  @$pb.TagNumber(11)
  $core.List<VideoBadge> get badge => $_getList(10);

  /// 是否能够自动播放
  @$pb.TagNumber(12)
  $core.bool get canPlay => $_getBF(11);
  @$pb.TagNumber(12)
  set canPlay($core.bool v) {
    $_setBool(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasCanPlay() => $_has(11);
  @$pb.TagNumber(12)
  void clearCanPlay() => clearField(12);

  /// stype
  @$pb.TagNumber(13)
  VideoType get stype => $_getN(12);
  @$pb.TagNumber(13)
  set stype(VideoType v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasStype() => $_has(12);
  @$pb.TagNumber(13)
  void clearStype() => clearField(13);

  /// 是否PGC
  @$pb.TagNumber(14)
  $core.bool get isPGC => $_getBF(13);
  @$pb.TagNumber(14)
  set isPGC($core.bool v) {
    $_setBool(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasIsPGC() => $_has(13);
  @$pb.TagNumber(14)
  void clearIsPGC() => clearField(14);

  /// inline播放地址
  @$pb.TagNumber(15)
  $core.String get inlineURL => $_getSZ(14);
  @$pb.TagNumber(15)
  set inlineURL($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasInlineURL() => $_has(14);
  @$pb.TagNumber(15)
  void clearInlineURL() => clearField(15);

  /// PGC的epid
  @$pb.TagNumber(16)
  $fixnum.Int64 get episodeId => $_getI64(15);
  @$pb.TagNumber(16)
  set episodeId($fixnum.Int64 v) {
    $_setInt64(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasEpisodeId() => $_has(15);
  @$pb.TagNumber(16)
  void clearEpisodeId() => clearField(16);

  /// 子类型
  @$pb.TagNumber(17)
  $core.int get subType => $_getIZ(16);
  @$pb.TagNumber(17)
  set subType($core.int v) {
    $_setSignedInt32(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasSubType() => $_has(16);
  @$pb.TagNumber(17)
  void clearSubType() => clearField(17);

  /// PGC的ssid
  @$pb.TagNumber(18)
  $fixnum.Int64 get pgcSeasonId => $_getI64(17);
  @$pb.TagNumber(18)
  set pgcSeasonId($fixnum.Int64 v) {
    $_setInt64(17, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasPgcSeasonId() => $_has(17);
  @$pb.TagNumber(18)
  void clearPgcSeasonId() => clearField(18);

  /// 播放按钮
  @$pb.TagNumber(19)
  $core.String get playIcon => $_getSZ(18);
  @$pb.TagNumber(19)
  set playIcon($core.String v) {
    $_setString(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasPlayIcon() => $_has(18);
  @$pb.TagNumber(19)
  void clearPlayIcon() => clearField(19);

  /// 时长
  @$pb.TagNumber(20)
  $fixnum.Int64 get duration => $_getI64(19);
  @$pb.TagNumber(20)
  set duration($fixnum.Int64 v) {
    $_setInt64(19, v);
  }

  @$pb.TagNumber(20)
  $core.bool hasDuration() => $_has(19);
  @$pb.TagNumber(20)
  void clearDuration() => clearField(20);

  /// 跳转地址
  @$pb.TagNumber(21)
  $core.String get jumpUrl => $_getSZ(20);
  @$pb.TagNumber(21)
  set jumpUrl($core.String v) {
    $_setString(20, v);
  }

  @$pb.TagNumber(21)
  $core.bool hasJumpUrl() => $_has(20);
  @$pb.TagNumber(21)
  void clearJumpUrl() => clearField(21);

  /// 番剧是否为预览视频
  @$pb.TagNumber(22)
  $core.bool get isPreview => $_getBF(21);
  @$pb.TagNumber(22)
  set isPreview($core.bool v) {
    $_setBool(21, v);
  }

  @$pb.TagNumber(22)
  $core.bool hasIsPreview() => $_has(21);
  @$pb.TagNumber(22)
  void clearIsPreview() => clearField(22);

  /// 新角标，多个角标之前没有间距
  @$pb.TagNumber(23)
  $core.List<VideoBadge> get badgeCategory => $_getList(22);

  /// 当前是否是pgc正片
  @$pb.TagNumber(24)
  $core.bool get isFeature => $_getBF(23);
  @$pb.TagNumber(24)
  set isFeature($core.bool v) {
    $_setBool(23, v);
  }

  @$pb.TagNumber(24)
  $core.bool hasIsFeature() => $_has(23);
  @$pb.TagNumber(24)
  void clearIsFeature() => clearField(24);

  /// 是否是预约召回
  @$pb.TagNumber(25)
  ReserveType get reserveType => $_getN(24);
  @$pb.TagNumber(25)
  set reserveType(ReserveType v) {
    setField(25, v);
  }

  @$pb.TagNumber(25)
  $core.bool hasReserveType() => $_has(24);
  @$pb.TagNumber(25)
  void clearReserveType() => clearField(25);

  /// bvid
  @$pb.TagNumber(26)
  $core.String get bvid => $_getSZ(25);
  @$pb.TagNumber(26)
  set bvid($core.String v) {
    $_setString(25, v);
  }

  @$pb.TagNumber(26)
  $core.bool hasBvid() => $_has(25);
  @$pb.TagNumber(26)
  void clearBvid() => clearField(26);

  /// 播放数
  @$pb.TagNumber(27)
  $core.int get view => $_getIZ(26);
  @$pb.TagNumber(27)
  set view($core.int v) {
    $_setSignedInt32(26, v);
  }

  @$pb.TagNumber(27)
  $core.bool hasView() => $_has(26);
  @$pb.TagNumber(27)
  void clearView() => clearField(27);

  @$pb.TagNumber(28)
  $core.bool get showPremiereBadge => $_getBF(27);
  @$pb.TagNumber(28)
  set showPremiereBadge($core.bool v) {
    $_setBool(27, v);
  }

  @$pb.TagNumber(28)
  $core.bool hasShowPremiereBadge() => $_has(27);
  @$pb.TagNumber(28)
  void clearShowPremiereBadge() => clearField(28);

  @$pb.TagNumber(29)
  $core.bool get premiereCard => $_getBF(28);
  @$pb.TagNumber(29)
  set premiereCard($core.bool v) {
    $_setBool(28, v);
  }

  @$pb.TagNumber(29)
  $core.bool hasPremiereCard() => $_has(28);
  @$pb.TagNumber(29)
  void clearPremiereCard() => clearField(29);

  @$pb.TagNumber(30)
  $core.bool get showProgress => $_getBF(29);
  @$pb.TagNumber(30)
  set showProgress($core.bool v) {
    $_setBool(29, v);
  }

  @$pb.TagNumber(30)
  $core.bool hasShowProgress() => $_has(29);
  @$pb.TagNumber(30)
  void clearShowProgress() => clearField(30);

  @$pb.TagNumber(31)
  $fixnum.Int64 get partDuration => $_getI64(30);
  @$pb.TagNumber(31)
  set partDuration($fixnum.Int64 v) {
    $_setInt64(30, v);
  }

  @$pb.TagNumber(31)
  $core.bool hasPartDuration() => $_has(30);
  @$pb.TagNumber(31)
  void clearPartDuration() => clearField(31);

  @$pb.TagNumber(32)
  $fixnum.Int64 get partProgress => $_getI64(31);
  @$pb.TagNumber(32)
  set partProgress($fixnum.Int64 v) {
    $_setInt64(31, v);
  }

  @$pb.TagNumber(32)
  $core.bool hasPartProgress() => $_has(31);
  @$pb.TagNumber(32)
  void clearPartProgress() => clearField(32);
}

/// 动态列表渲染部分-详情模块-专栏模块
class MdlDynArticle extends $pb.GeneratedMessage {
  factory MdlDynArticle({
    $fixnum.Int64? id,
    $core.String? uri,
    $core.String? title,
    $core.String? desc,
    $core.Iterable<$core.String>? covers,
    $core.String? label,
    $core.int? templateID,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (covers != null) {
      $result.covers.addAll(covers);
    }
    if (label != null) {
      $result.label = label;
    }
    if (templateID != null) {
      $result.templateID = templateID;
    }
    return $result;
  }
  MdlDynArticle._() : super();
  factory MdlDynArticle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynArticle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynArticle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..pPS(5, _omitFieldNames ? '' : 'covers')
    ..aOS(6, _omitFieldNames ? '' : 'label')
    ..a<$core.int>(7, _omitFieldNames ? '' : 'templateID', $pb.PbFieldType.O3,
        protoName: 'templateID')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynArticle clone() => MdlDynArticle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynArticle copyWith(void Function(MdlDynArticle) updates) =>
      super.copyWith((message) => updates(message as MdlDynArticle))
          as MdlDynArticle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynArticle create() => MdlDynArticle._();
  MdlDynArticle createEmptyInstance() => create();
  static $pb.PbList<MdlDynArticle> createRepeated() =>
      $pb.PbList<MdlDynArticle>();
  @$core.pragma('dart2js:noInline')
  static MdlDynArticle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynArticle>(create);
  static MdlDynArticle? _defaultInstance;

  /// 专栏id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 标题
  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  /// 文案部分
  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);

  /// 配图
  @$pb.TagNumber(5)
  $core.List<$core.String> get covers => $_getList(4);

  /// 阅读量标签
  @$pb.TagNumber(6)
  $core.String get label => $_getSZ(5);
  @$pb.TagNumber(6)
  set label($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLabel() => $_has(5);
  @$pb.TagNumber(6)
  void clearLabel() => clearField(6);

  /// 模板类型
  @$pb.TagNumber(7)
  $core.int get templateID => $_getIZ(6);
  @$pb.TagNumber(7)
  set templateID($core.int v) {
    $_setSignedInt32(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasTemplateID() => $_has(6);
  @$pb.TagNumber(7)
  void clearTemplateID() => clearField(7);
}

/// 动态列表渲染部分-详情模块-通用
class MdlDynCommon extends $pb.GeneratedMessage {
  factory MdlDynCommon({
    $fixnum.Int64? oid,
    $core.String? uri,
    $core.String? title,
    $core.String? desc,
    $core.String? cover,
    $core.String? label,
    $core.int? bizType,
    $fixnum.Int64? sketchID,
    MdlDynCommonType? style,
    $core.Iterable<VideoBadge>? badge,
    AdditionalButton? button,
  }) {
    final $result = create();
    if (oid != null) {
      $result.oid = oid;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (label != null) {
      $result.label = label;
    }
    if (bizType != null) {
      $result.bizType = bizType;
    }
    if (sketchID != null) {
      $result.sketchID = sketchID;
    }
    if (style != null) {
      $result.style = style;
    }
    if (badge != null) {
      $result.badge.addAll(badge);
    }
    if (button != null) {
      $result.button = button;
    }
    return $result;
  }
  MdlDynCommon._() : super();
  factory MdlDynCommon.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynCommon.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynCommon',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'oid')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..aOS(5, _omitFieldNames ? '' : 'cover')
    ..aOS(6, _omitFieldNames ? '' : 'label')
    ..a<$core.int>(7, _omitFieldNames ? '' : 'bizType', $pb.PbFieldType.O3,
        protoName: 'bizType')
    ..aInt64(8, _omitFieldNames ? '' : 'sketchID', protoName: 'sketchID')
    ..e<MdlDynCommonType>(9, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: MdlDynCommonType.mdl_dyn_common_none,
        valueOf: MdlDynCommonType.valueOf,
        enumValues: MdlDynCommonType.values)
    ..pc<VideoBadge>(10, _omitFieldNames ? '' : 'badge', $pb.PbFieldType.PM,
        subBuilder: VideoBadge.create)
    ..aOM<AdditionalButton>(11, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynCommon clone() => MdlDynCommon()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynCommon copyWith(void Function(MdlDynCommon) updates) =>
      super.copyWith((message) => updates(message as MdlDynCommon))
          as MdlDynCommon;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynCommon create() => MdlDynCommon._();
  MdlDynCommon createEmptyInstance() => create();
  static $pb.PbList<MdlDynCommon> createRepeated() =>
      $pb.PbList<MdlDynCommon>();
  @$core.pragma('dart2js:noInline')
  static MdlDynCommon getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynCommon>(create);
  static MdlDynCommon? _defaultInstance;

  /// 物料id
  @$pb.TagNumber(1)
  $fixnum.Int64 get oid => $_getI64(0);
  @$pb.TagNumber(1)
  set oid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOid() => $_has(0);
  @$pb.TagNumber(1)
  void clearOid() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 标题
  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  /// 描述 漫画卡标题下第一行
  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);

  /// 封面
  @$pb.TagNumber(5)
  $core.String get cover => $_getSZ(4);
  @$pb.TagNumber(5)
  set cover($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCover() => $_has(4);
  @$pb.TagNumber(5)
  void clearCover() => clearField(5);

  /// 标签1 漫画卡标题下第二行
  @$pb.TagNumber(6)
  $core.String get label => $_getSZ(5);
  @$pb.TagNumber(6)
  set label($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLabel() => $_has(5);
  @$pb.TagNumber(6)
  void clearLabel() => clearField(6);

  /// 所属业务类型
  @$pb.TagNumber(7)
  $core.int get bizType => $_getIZ(6);
  @$pb.TagNumber(7)
  set bizType($core.int v) {
    $_setSignedInt32(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBizType() => $_has(6);
  @$pb.TagNumber(7)
  void clearBizType() => clearField(7);

  /// 镜像数据ID
  @$pb.TagNumber(8)
  $fixnum.Int64 get sketchID => $_getI64(7);
  @$pb.TagNumber(8)
  set sketchID($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasSketchID() => $_has(7);
  @$pb.TagNumber(8)
  void clearSketchID() => clearField(8);

  /// 卡片样式
  @$pb.TagNumber(9)
  MdlDynCommonType get style => $_getN(8);
  @$pb.TagNumber(9)
  set style(MdlDynCommonType v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasStyle() => $_has(8);
  @$pb.TagNumber(9)
  void clearStyle() => clearField(9);

  /// 角标
  @$pb.TagNumber(10)
  $core.List<VideoBadge> get badge => $_getList(9);

  @$pb.TagNumber(11)
  AdditionalButton get button => $_getN(10);
  @$pb.TagNumber(11)
  set button(AdditionalButton v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasButton() => $_has(10);
  @$pb.TagNumber(11)
  void clearButton() => clearField(11);
  @$pb.TagNumber(11)
  AdditionalButton ensureButton() => $_ensure(10);
}

/// 动态-详情模块-付费课程批次
class MdlDynCourBatch extends $pb.GeneratedMessage {
  factory MdlDynCourBatch({
    $core.String? title,
    $core.String? cover,
    $core.String? uri,
    $core.String? text1,
    $core.String? text2,
    VideoBadge? badge,
    $core.String? playIcon,
    $core.bool? canPlay,
    $core.bool? isPreview,
    $core.String? coverLeftText1,
    $core.String? coverLeftText2,
    $core.String? coverLeftText3,
    $fixnum.Int64? avid,
    $fixnum.Int64? cid,
    $fixnum.Int64? epid,
    $fixnum.Int64? duration,
    $fixnum.Int64? seasonId,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (text1 != null) {
      $result.text1 = text1;
    }
    if (text2 != null) {
      $result.text2 = text2;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (isPreview != null) {
      $result.isPreview = isPreview;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    if (avid != null) {
      $result.avid = avid;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (epid != null) {
      $result.epid = epid;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (seasonId != null) {
      $result.seasonId = seasonId;
    }
    return $result;
  }
  MdlDynCourBatch._() : super();
  factory MdlDynCourBatch.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynCourBatch.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynCourBatch',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'text1', protoName: 'text_1')
    ..aOS(5, _omitFieldNames ? '' : 'text2', protoName: 'text_2')
    ..aOM<VideoBadge>(6, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..aOS(7, _omitFieldNames ? '' : 'playIcon')
    ..aOB(8, _omitFieldNames ? '' : 'canPlay')
    ..aOB(9, _omitFieldNames ? '' : 'isPreview')
    ..aOS(10, _omitFieldNames ? '' : 'coverLeftText1',
        protoName: 'cover_left_text_1')
    ..aOS(11, _omitFieldNames ? '' : 'coverLeftText2',
        protoName: 'cover_left_text_2')
    ..aOS(12, _omitFieldNames ? '' : 'coverLeftText3',
        protoName: 'cover_left_text_3')
    ..aInt64(13, _omitFieldNames ? '' : 'avid')
    ..aInt64(14, _omitFieldNames ? '' : 'cid')
    ..aInt64(15, _omitFieldNames ? '' : 'epid')
    ..aInt64(16, _omitFieldNames ? '' : 'duration')
    ..aInt64(17, _omitFieldNames ? '' : 'seasonId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynCourBatch clone() => MdlDynCourBatch()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynCourBatch copyWith(void Function(MdlDynCourBatch) updates) =>
      super.copyWith((message) => updates(message as MdlDynCourBatch))
          as MdlDynCourBatch;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynCourBatch create() => MdlDynCourBatch._();
  MdlDynCourBatch createEmptyInstance() => create();
  static $pb.PbList<MdlDynCourBatch> createRepeated() =>
      $pb.PbList<MdlDynCourBatch>();
  @$core.pragma('dart2js:noInline')
  static MdlDynCourBatch getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynCourBatch>(create);
  static MdlDynCourBatch? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 跳转地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 展示项 1(本集标题)
  @$pb.TagNumber(4)
  $core.String get text1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set text1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearText1() => clearField(4);

  /// 展示项 2(更新了多少个视频)
  @$pb.TagNumber(5)
  $core.String get text2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set text2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearText2() => clearField(5);

  /// 角标
  @$pb.TagNumber(6)
  VideoBadge get badge => $_getN(5);
  @$pb.TagNumber(6)
  set badge(VideoBadge v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBadge() => $_has(5);
  @$pb.TagNumber(6)
  void clearBadge() => clearField(6);
  @$pb.TagNumber(6)
  VideoBadge ensureBadge() => $_ensure(5);

  /// 播放按钮
  @$pb.TagNumber(7)
  $core.String get playIcon => $_getSZ(6);
  @$pb.TagNumber(7)
  set playIcon($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPlayIcon() => $_has(6);
  @$pb.TagNumber(7)
  void clearPlayIcon() => clearField(7);

  @$pb.TagNumber(8)
  $core.bool get canPlay => $_getBF(7);
  @$pb.TagNumber(8)
  set canPlay($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasCanPlay() => $_has(7);
  @$pb.TagNumber(8)
  void clearCanPlay() => clearField(8);

  @$pb.TagNumber(9)
  $core.bool get isPreview => $_getBF(8);
  @$pb.TagNumber(9)
  set isPreview($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasIsPreview() => $_has(8);
  @$pb.TagNumber(9)
  void clearIsPreview() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get coverLeftText1 => $_getSZ(9);
  @$pb.TagNumber(10)
  set coverLeftText1($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasCoverLeftText1() => $_has(9);
  @$pb.TagNumber(10)
  void clearCoverLeftText1() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get coverLeftText2 => $_getSZ(10);
  @$pb.TagNumber(11)
  set coverLeftText2($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCoverLeftText2() => $_has(10);
  @$pb.TagNumber(11)
  void clearCoverLeftText2() => clearField(11);

  @$pb.TagNumber(12)
  $core.String get coverLeftText3 => $_getSZ(11);
  @$pb.TagNumber(12)
  set coverLeftText3($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasCoverLeftText3() => $_has(11);
  @$pb.TagNumber(12)
  void clearCoverLeftText3() => clearField(12);

  @$pb.TagNumber(13)
  $fixnum.Int64 get avid => $_getI64(12);
  @$pb.TagNumber(13)
  set avid($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasAvid() => $_has(12);
  @$pb.TagNumber(13)
  void clearAvid() => clearField(13);

  @$pb.TagNumber(14)
  $fixnum.Int64 get cid => $_getI64(13);
  @$pb.TagNumber(14)
  set cid($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasCid() => $_has(13);
  @$pb.TagNumber(14)
  void clearCid() => clearField(14);

  @$pb.TagNumber(15)
  $fixnum.Int64 get epid => $_getI64(14);
  @$pb.TagNumber(15)
  set epid($fixnum.Int64 v) {
    $_setInt64(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasEpid() => $_has(14);
  @$pb.TagNumber(15)
  void clearEpid() => clearField(15);

  @$pb.TagNumber(16)
  $fixnum.Int64 get duration => $_getI64(15);
  @$pb.TagNumber(16)
  set duration($fixnum.Int64 v) {
    $_setInt64(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasDuration() => $_has(15);
  @$pb.TagNumber(16)
  void clearDuration() => clearField(16);

  @$pb.TagNumber(17)
  $fixnum.Int64 get seasonId => $_getI64(16);
  @$pb.TagNumber(17)
  set seasonId($fixnum.Int64 v) {
    $_setInt64(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasSeasonId() => $_has(16);
  @$pb.TagNumber(17)
  void clearSeasonId() => clearField(17);
}

/// 动态-详情模块-付费课程系列
class MdlDynCourSeason extends $pb.GeneratedMessage {
  factory MdlDynCourSeason({
    $core.String? title,
    $core.String? cover,
    $core.String? uri,
    $core.String? text1,
    $core.String? desc,
    VideoBadge? badge,
    $core.String? playIcon,
    $core.bool? canPlay,
    $core.bool? isPreview,
    $fixnum.Int64? avid,
    $fixnum.Int64? cid,
    $fixnum.Int64? epid,
    $fixnum.Int64? duration,
    $fixnum.Int64? seasonId,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (text1 != null) {
      $result.text1 = text1;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (isPreview != null) {
      $result.isPreview = isPreview;
    }
    if (avid != null) {
      $result.avid = avid;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (epid != null) {
      $result.epid = epid;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (seasonId != null) {
      $result.seasonId = seasonId;
    }
    return $result;
  }
  MdlDynCourSeason._() : super();
  factory MdlDynCourSeason.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynCourSeason.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynCourSeason',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'text1', protoName: 'text_1')
    ..aOS(5, _omitFieldNames ? '' : 'desc')
    ..aOM<VideoBadge>(6, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..aOS(7, _omitFieldNames ? '' : 'playIcon')
    ..aOB(8, _omitFieldNames ? '' : 'canPlay')
    ..aOB(9, _omitFieldNames ? '' : 'isPreview')
    ..aInt64(10, _omitFieldNames ? '' : 'avid')
    ..aInt64(11, _omitFieldNames ? '' : 'cid')
    ..aInt64(12, _omitFieldNames ? '' : 'epid')
    ..aInt64(13, _omitFieldNames ? '' : 'duration')
    ..aInt64(14, _omitFieldNames ? '' : 'seasonId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynCourSeason clone() => MdlDynCourSeason()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynCourSeason copyWith(void Function(MdlDynCourSeason) updates) =>
      super.copyWith((message) => updates(message as MdlDynCourSeason))
          as MdlDynCourSeason;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynCourSeason create() => MdlDynCourSeason._();
  MdlDynCourSeason createEmptyInstance() => create();
  static $pb.PbList<MdlDynCourSeason> createRepeated() =>
      $pb.PbList<MdlDynCourSeason>();
  @$core.pragma('dart2js:noInline')
  static MdlDynCourSeason getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynCourSeason>(create);
  static MdlDynCourSeason? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 跳转地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 展示项 1(更新信息)
  @$pb.TagNumber(4)
  $core.String get text1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set text1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearText1() => clearField(4);

  /// 描述信息
  @$pb.TagNumber(5)
  $core.String get desc => $_getSZ(4);
  @$pb.TagNumber(5)
  set desc($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDesc() => $_has(4);
  @$pb.TagNumber(5)
  void clearDesc() => clearField(5);

  /// 角标
  @$pb.TagNumber(6)
  VideoBadge get badge => $_getN(5);
  @$pb.TagNumber(6)
  set badge(VideoBadge v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBadge() => $_has(5);
  @$pb.TagNumber(6)
  void clearBadge() => clearField(6);
  @$pb.TagNumber(6)
  VideoBadge ensureBadge() => $_ensure(5);

  /// 播放按钮
  @$pb.TagNumber(7)
  $core.String get playIcon => $_getSZ(6);
  @$pb.TagNumber(7)
  set playIcon($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPlayIcon() => $_has(6);
  @$pb.TagNumber(7)
  void clearPlayIcon() => clearField(7);

  @$pb.TagNumber(8)
  $core.bool get canPlay => $_getBF(7);
  @$pb.TagNumber(8)
  set canPlay($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasCanPlay() => $_has(7);
  @$pb.TagNumber(8)
  void clearCanPlay() => clearField(8);

  @$pb.TagNumber(9)
  $core.bool get isPreview => $_getBF(8);
  @$pb.TagNumber(9)
  set isPreview($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasIsPreview() => $_has(8);
  @$pb.TagNumber(9)
  void clearIsPreview() => clearField(9);

  @$pb.TagNumber(10)
  $fixnum.Int64 get avid => $_getI64(9);
  @$pb.TagNumber(10)
  set avid($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAvid() => $_has(9);
  @$pb.TagNumber(10)
  void clearAvid() => clearField(10);

  @$pb.TagNumber(11)
  $fixnum.Int64 get cid => $_getI64(10);
  @$pb.TagNumber(11)
  set cid($fixnum.Int64 v) {
    $_setInt64(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCid() => $_has(10);
  @$pb.TagNumber(11)
  void clearCid() => clearField(11);

  @$pb.TagNumber(12)
  $fixnum.Int64 get epid => $_getI64(11);
  @$pb.TagNumber(12)
  set epid($fixnum.Int64 v) {
    $_setInt64(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasEpid() => $_has(11);
  @$pb.TagNumber(12)
  void clearEpid() => clearField(12);

  @$pb.TagNumber(13)
  $fixnum.Int64 get duration => $_getI64(12);
  @$pb.TagNumber(13)
  set duration($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasDuration() => $_has(12);
  @$pb.TagNumber(13)
  void clearDuration() => clearField(13);

  @$pb.TagNumber(14)
  $fixnum.Int64 get seasonId => $_getI64(13);
  @$pb.TagNumber(14)
  set seasonId($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasSeasonId() => $_has(13);
  @$pb.TagNumber(14)
  void clearSeasonId() => clearField(14);
}

class MdlDynCourUp extends $pb.GeneratedMessage {
  factory MdlDynCourUp({
    $core.String? title,
    $core.String? desc,
    $core.String? cover,
    $core.String? uri,
    $core.String? text1,
    VideoBadge? badge,
    $core.String? playIcon,
    $core.bool? canPlay,
    $core.bool? isPreview,
    $fixnum.Int64? avid,
    $fixnum.Int64? cid,
    $fixnum.Int64? epid,
    $fixnum.Int64? duration,
    $fixnum.Int64? seasonId,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (text1 != null) {
      $result.text1 = text1;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (isPreview != null) {
      $result.isPreview = isPreview;
    }
    if (avid != null) {
      $result.avid = avid;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (epid != null) {
      $result.epid = epid;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (seasonId != null) {
      $result.seasonId = seasonId;
    }
    return $result;
  }
  MdlDynCourUp._() : super();
  factory MdlDynCourUp.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynCourUp.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynCourUp',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOS(3, _omitFieldNames ? '' : 'cover')
    ..aOS(4, _omitFieldNames ? '' : 'uri')
    ..aOS(5, _omitFieldNames ? '' : 'text1', protoName: 'text_1')
    ..aOM<VideoBadge>(6, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..aOS(7, _omitFieldNames ? '' : 'playIcon')
    ..aOB(8, _omitFieldNames ? '' : 'canPlay')
    ..aOB(9, _omitFieldNames ? '' : 'isPreview')
    ..aInt64(10, _omitFieldNames ? '' : 'avid')
    ..aInt64(11, _omitFieldNames ? '' : 'cid')
    ..aInt64(12, _omitFieldNames ? '' : 'epid')
    ..aInt64(13, _omitFieldNames ? '' : 'duration')
    ..aInt64(14, _omitFieldNames ? '' : 'seasonId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynCourUp clone() => MdlDynCourUp()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynCourUp copyWith(void Function(MdlDynCourUp) updates) =>
      super.copyWith((message) => updates(message as MdlDynCourUp))
          as MdlDynCourUp;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynCourUp create() => MdlDynCourUp._();
  MdlDynCourUp createEmptyInstance() => create();
  static $pb.PbList<MdlDynCourUp> createRepeated() =>
      $pb.PbList<MdlDynCourUp>();
  @$core.pragma('dart2js:noInline')
  static MdlDynCourUp getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynCourUp>(create);
  static MdlDynCourUp? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get cover => $_getSZ(2);
  @$pb.TagNumber(3)
  set cover($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCover() => $_has(2);
  @$pb.TagNumber(3)
  void clearCover() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get uri => $_getSZ(3);
  @$pb.TagNumber(4)
  set uri($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUri() => $_has(3);
  @$pb.TagNumber(4)
  void clearUri() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get text1 => $_getSZ(4);
  @$pb.TagNumber(5)
  set text1($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasText1() => $_has(4);
  @$pb.TagNumber(5)
  void clearText1() => clearField(5);

  @$pb.TagNumber(6)
  VideoBadge get badge => $_getN(5);
  @$pb.TagNumber(6)
  set badge(VideoBadge v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBadge() => $_has(5);
  @$pb.TagNumber(6)
  void clearBadge() => clearField(6);
  @$pb.TagNumber(6)
  VideoBadge ensureBadge() => $_ensure(5);

  @$pb.TagNumber(7)
  $core.String get playIcon => $_getSZ(6);
  @$pb.TagNumber(7)
  set playIcon($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPlayIcon() => $_has(6);
  @$pb.TagNumber(7)
  void clearPlayIcon() => clearField(7);

  @$pb.TagNumber(8)
  $core.bool get canPlay => $_getBF(7);
  @$pb.TagNumber(8)
  set canPlay($core.bool v) {
    $_setBool(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasCanPlay() => $_has(7);
  @$pb.TagNumber(8)
  void clearCanPlay() => clearField(8);

  @$pb.TagNumber(9)
  $core.bool get isPreview => $_getBF(8);
  @$pb.TagNumber(9)
  set isPreview($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasIsPreview() => $_has(8);
  @$pb.TagNumber(9)
  void clearIsPreview() => clearField(9);

  @$pb.TagNumber(10)
  $fixnum.Int64 get avid => $_getI64(9);
  @$pb.TagNumber(10)
  set avid($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAvid() => $_has(9);
  @$pb.TagNumber(10)
  void clearAvid() => clearField(10);

  @$pb.TagNumber(11)
  $fixnum.Int64 get cid => $_getI64(10);
  @$pb.TagNumber(11)
  set cid($fixnum.Int64 v) {
    $_setInt64(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCid() => $_has(10);
  @$pb.TagNumber(11)
  void clearCid() => clearField(11);

  @$pb.TagNumber(12)
  $fixnum.Int64 get epid => $_getI64(11);
  @$pb.TagNumber(12)
  set epid($fixnum.Int64 v) {
    $_setInt64(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasEpid() => $_has(11);
  @$pb.TagNumber(12)
  void clearEpid() => clearField(12);

  @$pb.TagNumber(13)
  $fixnum.Int64 get duration => $_getI64(12);
  @$pb.TagNumber(13)
  set duration($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasDuration() => $_has(12);
  @$pb.TagNumber(13)
  void clearDuration() => clearField(13);

  @$pb.TagNumber(14)
  $fixnum.Int64 get seasonId => $_getI64(13);
  @$pb.TagNumber(14)
  set seasonId($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasSeasonId() => $_has(13);
  @$pb.TagNumber(14)
  void clearSeasonId() => clearField(14);
}

/// 动态列表渲染部分-详情模块-图文模块
class MdlDynDraw extends $pb.GeneratedMessage {
  factory MdlDynDraw({
    $core.Iterable<MdlDynDrawItem>? items,
    $core.String? uri,
    $fixnum.Int64? id,
    $core.bool? isDrawFirst,
    $core.bool? isBigCover,
    $core.bool? isArticleCover,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (id != null) {
      $result.id = id;
    }
    if (isDrawFirst != null) {
      $result.isDrawFirst = isDrawFirst;
    }
    if (isBigCover != null) {
      $result.isBigCover = isBigCover;
    }
    if (isArticleCover != null) {
      $result.isArticleCover = isArticleCover;
    }
    return $result;
  }
  MdlDynDraw._() : super();
  factory MdlDynDraw.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynDraw.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynDraw',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<MdlDynDrawItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: MdlDynDrawItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aInt64(3, _omitFieldNames ? '' : 'id')
    ..aOB(4, _omitFieldNames ? '' : 'isDrawFirst')
    ..aOB(5, _omitFieldNames ? '' : 'isBigCover')
    ..aOB(6, _omitFieldNames ? '' : 'isArticleCover')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynDraw clone() => MdlDynDraw()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynDraw copyWith(void Function(MdlDynDraw) updates) =>
      super.copyWith((message) => updates(message as MdlDynDraw)) as MdlDynDraw;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynDraw create() => MdlDynDraw._();
  MdlDynDraw createEmptyInstance() => create();
  static $pb.PbList<MdlDynDraw> createRepeated() => $pb.PbList<MdlDynDraw>();
  @$core.pragma('dart2js:noInline')
  static MdlDynDraw getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynDraw>(create);
  static MdlDynDraw? _defaultInstance;

  /// 图片
  @$pb.TagNumber(1)
  $core.List<MdlDynDrawItem> get items => $_getList(0);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 图文ID
  @$pb.TagNumber(3)
  $fixnum.Int64 get id => $_getI64(2);
  @$pb.TagNumber(3)
  set id($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasId() => $_has(2);
  @$pb.TagNumber(3)
  void clearId() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get isDrawFirst => $_getBF(3);
  @$pb.TagNumber(4)
  set isDrawFirst($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsDrawFirst() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsDrawFirst() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isBigCover => $_getBF(4);
  @$pb.TagNumber(5)
  set isBigCover($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasIsBigCover() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsBigCover() => clearField(5);

  @$pb.TagNumber(6)
  $core.bool get isArticleCover => $_getBF(5);
  @$pb.TagNumber(6)
  set isArticleCover($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasIsArticleCover() => $_has(5);
  @$pb.TagNumber(6)
  void clearIsArticleCover() => clearField(6);
}

/// 动态列表渲染部分-详情模块-图文
class MdlDynDrawItem extends $pb.GeneratedMessage {
  factory MdlDynDrawItem({
    $core.String? src,
    $fixnum.Int64? width,
    $fixnum.Int64? height,
    $core.double? size,
    $core.Iterable<MdlDynDrawTag>? tags,
  }) {
    final $result = create();
    if (src != null) {
      $result.src = src;
    }
    if (width != null) {
      $result.width = width;
    }
    if (height != null) {
      $result.height = height;
    }
    if (size != null) {
      $result.size = size;
    }
    if (tags != null) {
      $result.tags.addAll(tags);
    }
    return $result;
  }
  MdlDynDrawItem._() : super();
  factory MdlDynDrawItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynDrawItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynDrawItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'src')
    ..aInt64(2, _omitFieldNames ? '' : 'width')
    ..aInt64(3, _omitFieldNames ? '' : 'height')
    ..a<$core.double>(4, _omitFieldNames ? '' : 'size', $pb.PbFieldType.OF)
    ..pc<MdlDynDrawTag>(5, _omitFieldNames ? '' : 'tags', $pb.PbFieldType.PM,
        subBuilder: MdlDynDrawTag.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynDrawItem clone() => MdlDynDrawItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynDrawItem copyWith(void Function(MdlDynDrawItem) updates) =>
      super.copyWith((message) => updates(message as MdlDynDrawItem))
          as MdlDynDrawItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynDrawItem create() => MdlDynDrawItem._();
  MdlDynDrawItem createEmptyInstance() => create();
  static $pb.PbList<MdlDynDrawItem> createRepeated() =>
      $pb.PbList<MdlDynDrawItem>();
  @$core.pragma('dart2js:noInline')
  static MdlDynDrawItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynDrawItem>(create);
  static MdlDynDrawItem? _defaultInstance;

  /// 图片链接
  @$pb.TagNumber(1)
  $core.String get src => $_getSZ(0);
  @$pb.TagNumber(1)
  set src($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSrc() => $_has(0);
  @$pb.TagNumber(1)
  void clearSrc() => clearField(1);

  /// 图片宽度
  @$pb.TagNumber(2)
  $fixnum.Int64 get width => $_getI64(1);
  @$pb.TagNumber(2)
  set width($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasWidth() => $_has(1);
  @$pb.TagNumber(2)
  void clearWidth() => clearField(2);

  /// 图片高度
  @$pb.TagNumber(3)
  $fixnum.Int64 get height => $_getI64(2);
  @$pb.TagNumber(3)
  set height($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHeight() => $_has(2);
  @$pb.TagNumber(3)
  void clearHeight() => clearField(3);

  /// 图片大小
  @$pb.TagNumber(4)
  $core.double get size => $_getN(3);
  @$pb.TagNumber(4)
  set size($core.double v) {
    $_setFloat(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSize() => $_has(3);
  @$pb.TagNumber(4)
  void clearSize() => clearField(4);

  /// 图片标签
  @$pb.TagNumber(5)
  $core.List<MdlDynDrawTag> get tags => $_getList(4);
}

/// 动态列表渲染部分-详情模块-图文-标签
class MdlDynDrawTag extends $pb.GeneratedMessage {
  factory MdlDynDrawTag({
    MdlDynDrawTagType? type,
    MdlDynDrawTagItem? item,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (item != null) {
      $result.item = item;
    }
    return $result;
  }
  MdlDynDrawTag._() : super();
  factory MdlDynDrawTag.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynDrawTag.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynDrawTag',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<MdlDynDrawTagType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: MdlDynDrawTagType.mdl_draw_tag_none,
        valueOf: MdlDynDrawTagType.valueOf,
        enumValues: MdlDynDrawTagType.values)
    ..aOM<MdlDynDrawTagItem>(2, _omitFieldNames ? '' : 'item',
        subBuilder: MdlDynDrawTagItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynDrawTag clone() => MdlDynDrawTag()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynDrawTag copyWith(void Function(MdlDynDrawTag) updates) =>
      super.copyWith((message) => updates(message as MdlDynDrawTag))
          as MdlDynDrawTag;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynDrawTag create() => MdlDynDrawTag._();
  MdlDynDrawTag createEmptyInstance() => create();
  static $pb.PbList<MdlDynDrawTag> createRepeated() =>
      $pb.PbList<MdlDynDrawTag>();
  @$core.pragma('dart2js:noInline')
  static MdlDynDrawTag getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynDrawTag>(create);
  static MdlDynDrawTag? _defaultInstance;

  /// 标签类型
  @$pb.TagNumber(1)
  MdlDynDrawTagType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(MdlDynDrawTagType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 标签详情
  @$pb.TagNumber(2)
  MdlDynDrawTagItem get item => $_getN(1);
  @$pb.TagNumber(2)
  set item(MdlDynDrawTagItem v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasItem() => $_has(1);
  @$pb.TagNumber(2)
  void clearItem() => clearField(2);
  @$pb.TagNumber(2)
  MdlDynDrawTagItem ensureItem() => $_ensure(1);
}

/// 动态列表部分-详情模块-图文-标签详情
class MdlDynDrawTagItem extends $pb.GeneratedMessage {
  factory MdlDynDrawTagItem({
    $core.String? url,
    $core.String? text,
    $fixnum.Int64? x,
    $fixnum.Int64? y,
    $core.int? orientation,
    $core.int? source,
    $fixnum.Int64? itemId,
    $fixnum.Int64? mid,
    $fixnum.Int64? tid,
    $core.String? poi,
    $core.String? schemaUrl,
  }) {
    final $result = create();
    if (url != null) {
      $result.url = url;
    }
    if (text != null) {
      $result.text = text;
    }
    if (x != null) {
      $result.x = x;
    }
    if (y != null) {
      $result.y = y;
    }
    if (orientation != null) {
      $result.orientation = orientation;
    }
    if (source != null) {
      $result.source = source;
    }
    if (itemId != null) {
      $result.itemId = itemId;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (tid != null) {
      $result.tid = tid;
    }
    if (poi != null) {
      $result.poi = poi;
    }
    if (schemaUrl != null) {
      $result.schemaUrl = schemaUrl;
    }
    return $result;
  }
  MdlDynDrawTagItem._() : super();
  factory MdlDynDrawTagItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynDrawTagItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynDrawTagItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'url')
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..aInt64(3, _omitFieldNames ? '' : 'x')
    ..aInt64(4, _omitFieldNames ? '' : 'y')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'orientation', $pb.PbFieldType.O3)
    ..a<$core.int>(6, _omitFieldNames ? '' : 'source', $pb.PbFieldType.O3)
    ..aInt64(7, _omitFieldNames ? '' : 'itemId')
    ..aInt64(8, _omitFieldNames ? '' : 'mid')
    ..aInt64(9, _omitFieldNames ? '' : 'tid')
    ..aOS(10, _omitFieldNames ? '' : 'poi')
    ..aOS(11, _omitFieldNames ? '' : 'schemaUrl')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynDrawTagItem clone() => MdlDynDrawTagItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynDrawTagItem copyWith(void Function(MdlDynDrawTagItem) updates) =>
      super.copyWith((message) => updates(message as MdlDynDrawTagItem))
          as MdlDynDrawTagItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynDrawTagItem create() => MdlDynDrawTagItem._();
  MdlDynDrawTagItem createEmptyInstance() => create();
  static $pb.PbList<MdlDynDrawTagItem> createRepeated() =>
      $pb.PbList<MdlDynDrawTagItem>();
  @$core.pragma('dart2js:noInline')
  static MdlDynDrawTagItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynDrawTagItem>(create);
  static MdlDynDrawTagItem? _defaultInstance;

  /// 跳转链接
  @$pb.TagNumber(1)
  $core.String get url => $_getSZ(0);
  @$pb.TagNumber(1)
  set url($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUrl() => $_has(0);
  @$pb.TagNumber(1)
  void clearUrl() => clearField(1);

  /// 标签内容
  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);

  /// 坐标-x
  @$pb.TagNumber(3)
  $fixnum.Int64 get x => $_getI64(2);
  @$pb.TagNumber(3)
  set x($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasX() => $_has(2);
  @$pb.TagNumber(3)
  void clearX() => clearField(3);

  /// 坐标-y
  @$pb.TagNumber(4)
  $fixnum.Int64 get y => $_getI64(3);
  @$pb.TagNumber(4)
  set y($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasY() => $_has(3);
  @$pb.TagNumber(4)
  void clearY() => clearField(4);

  /// 方向
  @$pb.TagNumber(5)
  $core.int get orientation => $_getIZ(4);
  @$pb.TagNumber(5)
  set orientation($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasOrientation() => $_has(4);
  @$pb.TagNumber(5)
  void clearOrientation() => clearField(5);

  /// 来源
  /// 0:未知 1:淘宝 2:自营
  @$pb.TagNumber(6)
  $core.int get source => $_getIZ(5);
  @$pb.TagNumber(6)
  set source($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasSource() => $_has(5);
  @$pb.TagNumber(6)
  void clearSource() => clearField(6);

  /// 商品id
  @$pb.TagNumber(7)
  $fixnum.Int64 get itemId => $_getI64(6);
  @$pb.TagNumber(7)
  set itemId($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasItemId() => $_has(6);
  @$pb.TagNumber(7)
  void clearItemId() => clearField(7);

  /// 用户mid
  @$pb.TagNumber(8)
  $fixnum.Int64 get mid => $_getI64(7);
  @$pb.TagNumber(8)
  set mid($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasMid() => $_has(7);
  @$pb.TagNumber(8)
  void clearMid() => clearField(8);

  /// 话题id
  @$pb.TagNumber(9)
  $fixnum.Int64 get tid => $_getI64(8);
  @$pb.TagNumber(9)
  set tid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasTid() => $_has(8);
  @$pb.TagNumber(9)
  void clearTid() => clearField(9);

  /// lbs信息
  @$pb.TagNumber(10)
  $core.String get poi => $_getSZ(9);
  @$pb.TagNumber(10)
  set poi($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPoi() => $_has(9);
  @$pb.TagNumber(10)
  void clearPoi() => clearField(10);

  /// 商品标签链接
  @$pb.TagNumber(11)
  $core.String get schemaUrl => $_getSZ(10);
  @$pb.TagNumber(11)
  set schemaUrl($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasSchemaUrl() => $_has(10);
  @$pb.TagNumber(11)
  void clearSchemaUrl() => clearField(11);
}

/// 动态列表渲染部分-详情模块-转发模块
class MdlDynForward extends $pb.GeneratedMessage {
  factory MdlDynForward({
    DynamicItem? item,
    $core.int? rtype,
  }) {
    final $result = create();
    if (item != null) {
      $result.item = item;
    }
    if (rtype != null) {
      $result.rtype = rtype;
    }
    return $result;
  }
  MdlDynForward._() : super();
  factory MdlDynForward.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynForward.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynForward',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<DynamicItem>(1, _omitFieldNames ? '' : 'item',
        subBuilder: DynamicItem.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'rtype', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynForward clone() => MdlDynForward()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynForward copyWith(void Function(MdlDynForward) updates) =>
      super.copyWith((message) => updates(message as MdlDynForward))
          as MdlDynForward;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynForward create() => MdlDynForward._();
  MdlDynForward createEmptyInstance() => create();
  static $pb.PbList<MdlDynForward> createRepeated() =>
      $pb.PbList<MdlDynForward>();
  @$core.pragma('dart2js:noInline')
  static MdlDynForward getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynForward>(create);
  static MdlDynForward? _defaultInstance;

  /// 动态转发核心模块 套娃
  @$pb.TagNumber(1)
  DynamicItem get item => $_getN(0);
  @$pb.TagNumber(1)
  set item(DynamicItem v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasItem() => $_has(0);
  @$pb.TagNumber(1)
  void clearItem() => clearField(1);
  @$pb.TagNumber(1)
  DynamicItem ensureItem() => $_ensure(0);

  /// 透传类型
  /// 0:分享 1:转发
  @$pb.TagNumber(2)
  $core.int get rtype => $_getIZ(1);
  @$pb.TagNumber(2)
  set rtype($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRtype() => $_has(1);
  @$pb.TagNumber(2)
  void clearRtype() => clearField(2);
}

/// 动态列表渲染部分-详情模块-直播
class MdlDynLive extends $pb.GeneratedMessage {
  factory MdlDynLive({
    $fixnum.Int64? id,
    $core.String? uri,
    $core.String? title,
    $core.String? cover,
    $core.String? coverLabel,
    $core.String? coverLabel2,
    LiveState? liveState,
    VideoBadge? badge,
    ReserveType? reserveType,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (coverLabel != null) {
      $result.coverLabel = coverLabel;
    }
    if (coverLabel2 != null) {
      $result.coverLabel2 = coverLabel2;
    }
    if (liveState != null) {
      $result.liveState = liveState;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (reserveType != null) {
      $result.reserveType = reserveType;
    }
    return $result;
  }
  MdlDynLive._() : super();
  factory MdlDynLive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynLive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynLive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'cover')
    ..aOS(5, _omitFieldNames ? '' : 'coverLabel')
    ..aOS(6, _omitFieldNames ? '' : 'coverLabel2')
    ..e<LiveState>(7, _omitFieldNames ? '' : 'liveState', $pb.PbFieldType.OE,
        defaultOrMaker: LiveState.live_none,
        valueOf: LiveState.valueOf,
        enumValues: LiveState.values)
    ..aOM<VideoBadge>(8, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..e<ReserveType>(
        9, _omitFieldNames ? '' : 'reserveType', $pb.PbFieldType.OE,
        defaultOrMaker: ReserveType.reserve_none,
        valueOf: ReserveType.valueOf,
        enumValues: ReserveType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynLive clone() => MdlDynLive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynLive copyWith(void Function(MdlDynLive) updates) =>
      super.copyWith((message) => updates(message as MdlDynLive)) as MdlDynLive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynLive create() => MdlDynLive._();
  MdlDynLive createEmptyInstance() => create();
  static $pb.PbList<MdlDynLive> createRepeated() => $pb.PbList<MdlDynLive>();
  @$core.pragma('dart2js:noInline')
  static MdlDynLive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynLive>(create);
  static MdlDynLive? _defaultInstance;

  /// 房间号
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 直播间标题
  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  /// 直播间封面
  @$pb.TagNumber(4)
  $core.String get cover => $_getSZ(3);
  @$pb.TagNumber(4)
  set cover($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCover() => $_has(3);
  @$pb.TagNumber(4)
  void clearCover() => clearField(4);

  /// 标题1 例: 陪伴学习
  @$pb.TagNumber(5)
  $core.String get coverLabel => $_getSZ(4);
  @$pb.TagNumber(5)
  set coverLabel($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCoverLabel() => $_has(4);
  @$pb.TagNumber(5)
  void clearCoverLabel() => clearField(5);

  /// 标题2 例: 54.6万人气
  @$pb.TagNumber(6)
  $core.String get coverLabel2 => $_getSZ(5);
  @$pb.TagNumber(6)
  set coverLabel2($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverLabel2() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverLabel2() => clearField(6);

  /// 直播状态
  @$pb.TagNumber(7)
  LiveState get liveState => $_getN(6);
  @$pb.TagNumber(7)
  set liveState(LiveState v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasLiveState() => $_has(6);
  @$pb.TagNumber(7)
  void clearLiveState() => clearField(7);

  /// 直播角标
  @$pb.TagNumber(8)
  VideoBadge get badge => $_getN(7);
  @$pb.TagNumber(8)
  set badge(VideoBadge v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBadge() => $_has(7);
  @$pb.TagNumber(8)
  void clearBadge() => clearField(8);
  @$pb.TagNumber(8)
  VideoBadge ensureBadge() => $_ensure(7);

  /// 是否是预约召回
  @$pb.TagNumber(9)
  ReserveType get reserveType => $_getN(8);
  @$pb.TagNumber(9)
  set reserveType(ReserveType v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasReserveType() => $_has(8);
  @$pb.TagNumber(9)
  void clearReserveType() => clearField(9);
}

/// 动态列表渲染部分-详情模块-直播推荐
class MdlDynLiveRcmd extends $pb.GeneratedMessage {
  factory MdlDynLiveRcmd({
    $core.String? content,
    ReserveType? reserveType,
    LivePendant? pendant,
  }) {
    final $result = create();
    if (content != null) {
      $result.content = content;
    }
    if (reserveType != null) {
      $result.reserveType = reserveType;
    }
    if (pendant != null) {
      $result.pendant = pendant;
    }
    return $result;
  }
  MdlDynLiveRcmd._() : super();
  factory MdlDynLiveRcmd.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynLiveRcmd.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynLiveRcmd',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'content')
    ..e<ReserveType>(
        2, _omitFieldNames ? '' : 'reserveType', $pb.PbFieldType.OE,
        defaultOrMaker: ReserveType.reserve_none,
        valueOf: ReserveType.valueOf,
        enumValues: ReserveType.values)
    ..aOM<LivePendant>(3, _omitFieldNames ? '' : 'pendant',
        subBuilder: LivePendant.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynLiveRcmd clone() => MdlDynLiveRcmd()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynLiveRcmd copyWith(void Function(MdlDynLiveRcmd) updates) =>
      super.copyWith((message) => updates(message as MdlDynLiveRcmd))
          as MdlDynLiveRcmd;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynLiveRcmd create() => MdlDynLiveRcmd._();
  MdlDynLiveRcmd createEmptyInstance() => create();
  static $pb.PbList<MdlDynLiveRcmd> createRepeated() =>
      $pb.PbList<MdlDynLiveRcmd>();
  @$core.pragma('dart2js:noInline')
  static MdlDynLiveRcmd getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynLiveRcmd>(create);
  static MdlDynLiveRcmd? _defaultInstance;

  /// 直播数据
  @$pb.TagNumber(1)
  $core.String get content => $_getSZ(0);
  @$pb.TagNumber(1)
  set content($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasContent() => $_has(0);
  @$pb.TagNumber(1)
  void clearContent() => clearField(1);

  /// 是否是预约召回
  @$pb.TagNumber(2)
  ReserveType get reserveType => $_getN(1);
  @$pb.TagNumber(2)
  set reserveType(ReserveType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasReserveType() => $_has(1);
  @$pb.TagNumber(2)
  void clearReserveType() => clearField(2);

  @$pb.TagNumber(3)
  LivePendant get pendant => $_getN(2);
  @$pb.TagNumber(3)
  set pendant(LivePendant v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPendant() => $_has(2);
  @$pb.TagNumber(3)
  void clearPendant() => clearField(3);
  @$pb.TagNumber(3)
  LivePendant ensurePendant() => $_ensure(2);
}

/// 动态列表渲染部分-详情模块-播单
class MdlDynMedialist extends $pb.GeneratedMessage {
  factory MdlDynMedialist({
    $fixnum.Int64? id,
    $core.String? uri,
    $core.String? title,
    $core.String? subTitle,
    $core.String? cover,
    $core.int? coverType,
    VideoBadge? badge,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (subTitle != null) {
      $result.subTitle = subTitle;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (coverType != null) {
      $result.coverType = coverType;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    return $result;
  }
  MdlDynMedialist._() : super();
  factory MdlDynMedialist.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynMedialist.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynMedialist',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'subTitle')
    ..aOS(5, _omitFieldNames ? '' : 'cover')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'coverType', $pb.PbFieldType.O3)
    ..aOM<VideoBadge>(7, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynMedialist clone() => MdlDynMedialist()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynMedialist copyWith(void Function(MdlDynMedialist) updates) =>
      super.copyWith((message) => updates(message as MdlDynMedialist))
          as MdlDynMedialist;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynMedialist create() => MdlDynMedialist._();
  MdlDynMedialist createEmptyInstance() => create();
  static $pb.PbList<MdlDynMedialist> createRepeated() =>
      $pb.PbList<MdlDynMedialist>();
  @$core.pragma('dart2js:noInline')
  static MdlDynMedialist getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynMedialist>(create);
  static MdlDynMedialist? _defaultInstance;

  /// 播单id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// 主标题
  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  /// 副标题
  @$pb.TagNumber(4)
  $core.String get subTitle => $_getSZ(3);
  @$pb.TagNumber(4)
  set subTitle($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasSubTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearSubTitle() => clearField(4);

  /// 封面图
  @$pb.TagNumber(5)
  $core.String get cover => $_getSZ(4);
  @$pb.TagNumber(5)
  set cover($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCover() => $_has(4);
  @$pb.TagNumber(5)
  void clearCover() => clearField(5);

  /// 封面类型
  @$pb.TagNumber(6)
  $core.int get coverType => $_getIZ(5);
  @$pb.TagNumber(6)
  set coverType($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverType() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverType() => clearField(6);

  /// 角标
  @$pb.TagNumber(7)
  VideoBadge get badge => $_getN(6);
  @$pb.TagNumber(7)
  set badge(VideoBadge v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBadge() => $_has(6);
  @$pb.TagNumber(7)
  void clearBadge() => clearField(7);
  @$pb.TagNumber(7)
  VideoBadge ensureBadge() => $_ensure(6);
}

/// 动态列表渲染部分-详情模块-音频模块
class MdlDynMusic extends $pb.GeneratedMessage {
  factory MdlDynMusic({
    $fixnum.Int64? id,
    $core.String? uri,
    $fixnum.Int64? upId,
    $core.String? title,
    $core.String? cover,
    $core.String? label1,
    $core.String? upper,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (upId != null) {
      $result.upId = upId;
    }
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (label1 != null) {
      $result.label1 = label1;
    }
    if (upper != null) {
      $result.upper = upper;
    }
    return $result;
  }
  MdlDynMusic._() : super();
  factory MdlDynMusic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynMusic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynMusic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..aInt64(3, _omitFieldNames ? '' : 'upId')
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..aOS(5, _omitFieldNames ? '' : 'cover')
    ..aOS(6, _omitFieldNames ? '' : 'label1')
    ..aOS(7, _omitFieldNames ? '' : 'upper')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynMusic clone() => MdlDynMusic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynMusic copyWith(void Function(MdlDynMusic) updates) =>
      super.copyWith((message) => updates(message as MdlDynMusic))
          as MdlDynMusic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynMusic create() => MdlDynMusic._();
  MdlDynMusic createEmptyInstance() => create();
  static $pb.PbList<MdlDynMusic> createRepeated() => $pb.PbList<MdlDynMusic>();
  @$core.pragma('dart2js:noInline')
  static MdlDynMusic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynMusic>(create);
  static MdlDynMusic? _defaultInstance;

  /// 音频id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);

  /// upId
  @$pb.TagNumber(3)
  $fixnum.Int64 get upId => $_getI64(2);
  @$pb.TagNumber(3)
  set upId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUpId() => $_has(2);
  @$pb.TagNumber(3)
  void clearUpId() => clearField(3);

  /// 歌名
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(3);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);

  /// 专辑封面
  @$pb.TagNumber(5)
  $core.String get cover => $_getSZ(4);
  @$pb.TagNumber(5)
  set cover($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCover() => $_has(4);
  @$pb.TagNumber(5)
  void clearCover() => clearField(5);

  /// 展示项1
  @$pb.TagNumber(6)
  $core.String get label1 => $_getSZ(5);
  @$pb.TagNumber(6)
  set label1($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLabel1() => $_has(5);
  @$pb.TagNumber(6)
  void clearLabel1() => clearField(6);

  /// upper
  @$pb.TagNumber(7)
  $core.String get upper => $_getSZ(6);
  @$pb.TagNumber(7)
  set upper($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasUpper() => $_has(6);
  @$pb.TagNumber(7)
  void clearUpper() => clearField(7);
}

/// 动态-详情模块-pgc
class MdlDynPGC extends $pb.GeneratedMessage {
  factory MdlDynPGC({
    $core.String? title,
    $core.String? cover,
    $core.String? uri,
    $core.String? coverLeftText1,
    $core.String? coverLeftText2,
    $core.String? coverLeftText3,
    $fixnum.Int64? cid,
    $fixnum.Int64? seasonId,
    $fixnum.Int64? epid,
    $fixnum.Int64? aid,
    MediaType? mediaType,
    VideoSubType? subType,
    $core.bool? isPreview,
    Dimension? dimension,
    $core.Iterable<VideoBadge>? badge,
    $core.bool? canPlay,
    PGCSeason? season,
    $core.String? playIcon,
    $fixnum.Int64? duration,
    $core.String? jumpUrl,
    $core.Iterable<VideoBadge>? badgeCategory,
    $core.bool? isFeature,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (seasonId != null) {
      $result.seasonId = seasonId;
    }
    if (epid != null) {
      $result.epid = epid;
    }
    if (aid != null) {
      $result.aid = aid;
    }
    if (mediaType != null) {
      $result.mediaType = mediaType;
    }
    if (subType != null) {
      $result.subType = subType;
    }
    if (isPreview != null) {
      $result.isPreview = isPreview;
    }
    if (dimension != null) {
      $result.dimension = dimension;
    }
    if (badge != null) {
      $result.badge.addAll(badge);
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (season != null) {
      $result.season = season;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (badgeCategory != null) {
      $result.badgeCategory.addAll(badgeCategory);
    }
    if (isFeature != null) {
      $result.isFeature = isFeature;
    }
    return $result;
  }
  MdlDynPGC._() : super();
  factory MdlDynPGC.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynPGC.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynPGC',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'coverLeftText1',
        protoName: 'cover_left_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'coverLeftText2',
        protoName: 'cover_left_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'coverLeftText3',
        protoName: 'cover_left_text_3')
    ..aInt64(7, _omitFieldNames ? '' : 'cid')
    ..aInt64(8, _omitFieldNames ? '' : 'seasonId')
    ..aInt64(9, _omitFieldNames ? '' : 'epid')
    ..aInt64(10, _omitFieldNames ? '' : 'aid')
    ..e<MediaType>(11, _omitFieldNames ? '' : 'mediaType', $pb.PbFieldType.OE,
        defaultOrMaker: MediaType.MediaTypeNone,
        valueOf: MediaType.valueOf,
        enumValues: MediaType.values)
    ..e<VideoSubType>(12, _omitFieldNames ? '' : 'subType', $pb.PbFieldType.OE,
        defaultOrMaker: VideoSubType.VideoSubTypeNone,
        valueOf: VideoSubType.valueOf,
        enumValues: VideoSubType.values)
    ..aOB(13, _omitFieldNames ? '' : 'isPreview')
    ..aOM<Dimension>(14, _omitFieldNames ? '' : 'dimension',
        subBuilder: Dimension.create)
    ..pc<VideoBadge>(15, _omitFieldNames ? '' : 'badge', $pb.PbFieldType.PM,
        subBuilder: VideoBadge.create)
    ..aOB(16, _omitFieldNames ? '' : 'canPlay')
    ..aOM<PGCSeason>(17, _omitFieldNames ? '' : 'season',
        subBuilder: PGCSeason.create)
    ..aOS(18, _omitFieldNames ? '' : 'playIcon')
    ..aInt64(19, _omitFieldNames ? '' : 'duration')
    ..aOS(20, _omitFieldNames ? '' : 'jumpUrl')
    ..pc<VideoBadge>(
        21, _omitFieldNames ? '' : 'badgeCategory', $pb.PbFieldType.PM,
        subBuilder: VideoBadge.create)
    ..aOB(22, _omitFieldNames ? '' : 'isFeature')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynPGC clone() => MdlDynPGC()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynPGC copyWith(void Function(MdlDynPGC) updates) =>
      super.copyWith((message) => updates(message as MdlDynPGC)) as MdlDynPGC;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynPGC create() => MdlDynPGC._();
  MdlDynPGC createEmptyInstance() => create();
  static $pb.PbList<MdlDynPGC> createRepeated() => $pb.PbList<MdlDynPGC>();
  @$core.pragma('dart2js:noInline')
  static MdlDynPGC getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<MdlDynPGC>(create);
  static MdlDynPGC? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 秒开地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 视频封面展示项 1
  @$pb.TagNumber(4)
  $core.String get coverLeftText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set coverLeftText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCoverLeftText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearCoverLeftText1() => clearField(4);

  /// 视频封面展示项 2
  @$pb.TagNumber(5)
  $core.String get coverLeftText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set coverLeftText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCoverLeftText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearCoverLeftText2() => clearField(5);

  /// 封面视频展示项 3
  @$pb.TagNumber(6)
  $core.String get coverLeftText3 => $_getSZ(5);
  @$pb.TagNumber(6)
  set coverLeftText3($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverLeftText3() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverLeftText3() => clearField(6);

  /// cid
  @$pb.TagNumber(7)
  $fixnum.Int64 get cid => $_getI64(6);
  @$pb.TagNumber(7)
  set cid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasCid() => $_has(6);
  @$pb.TagNumber(7)
  void clearCid() => clearField(7);

  /// season_id
  @$pb.TagNumber(8)
  $fixnum.Int64 get seasonId => $_getI64(7);
  @$pb.TagNumber(8)
  set seasonId($fixnum.Int64 v) {
    $_setInt64(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasSeasonId() => $_has(7);
  @$pb.TagNumber(8)
  void clearSeasonId() => clearField(8);

  /// epid
  @$pb.TagNumber(9)
  $fixnum.Int64 get epid => $_getI64(8);
  @$pb.TagNumber(9)
  set epid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasEpid() => $_has(8);
  @$pb.TagNumber(9)
  void clearEpid() => clearField(9);

  /// aid
  @$pb.TagNumber(10)
  $fixnum.Int64 get aid => $_getI64(9);
  @$pb.TagNumber(10)
  set aid($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAid() => $_has(9);
  @$pb.TagNumber(10)
  void clearAid() => clearField(10);

  /// 视频源类型
  @$pb.TagNumber(11)
  MediaType get mediaType => $_getN(10);
  @$pb.TagNumber(11)
  set mediaType(MediaType v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasMediaType() => $_has(10);
  @$pb.TagNumber(11)
  void clearMediaType() => clearField(11);

  /// 番剧类型
  @$pb.TagNumber(12)
  VideoSubType get subType => $_getN(11);
  @$pb.TagNumber(12)
  set subType(VideoSubType v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasSubType() => $_has(11);
  @$pb.TagNumber(12)
  void clearSubType() => clearField(12);

  /// 番剧是否为预览视频
  @$pb.TagNumber(13)
  $core.bool get isPreview => $_getBF(12);
  @$pb.TagNumber(13)
  set isPreview($core.bool v) {
    $_setBool(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasIsPreview() => $_has(12);
  @$pb.TagNumber(13)
  void clearIsPreview() => clearField(13);

  /// 尺寸信息
  @$pb.TagNumber(14)
  Dimension get dimension => $_getN(13);
  @$pb.TagNumber(14)
  set dimension(Dimension v) {
    setField(14, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasDimension() => $_has(13);
  @$pb.TagNumber(14)
  void clearDimension() => clearField(14);
  @$pb.TagNumber(14)
  Dimension ensureDimension() => $_ensure(13);

  /// 角标，多个角标之前有间距
  @$pb.TagNumber(15)
  $core.List<VideoBadge> get badge => $_getList(14);

  /// 是否能够自动播放
  @$pb.TagNumber(16)
  $core.bool get canPlay => $_getBF(15);
  @$pb.TagNumber(16)
  set canPlay($core.bool v) {
    $_setBool(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasCanPlay() => $_has(15);
  @$pb.TagNumber(16)
  void clearCanPlay() => clearField(16);

  /// season
  @$pb.TagNumber(17)
  PGCSeason get season => $_getN(16);
  @$pb.TagNumber(17)
  set season(PGCSeason v) {
    setField(17, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasSeason() => $_has(16);
  @$pb.TagNumber(17)
  void clearSeason() => clearField(17);
  @$pb.TagNumber(17)
  PGCSeason ensureSeason() => $_ensure(16);

  /// 播放按钮
  @$pb.TagNumber(18)
  $core.String get playIcon => $_getSZ(17);
  @$pb.TagNumber(18)
  set playIcon($core.String v) {
    $_setString(17, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasPlayIcon() => $_has(17);
  @$pb.TagNumber(18)
  void clearPlayIcon() => clearField(18);

  /// 时长
  @$pb.TagNumber(19)
  $fixnum.Int64 get duration => $_getI64(18);
  @$pb.TagNumber(19)
  set duration($fixnum.Int64 v) {
    $_setInt64(18, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasDuration() => $_has(18);
  @$pb.TagNumber(19)
  void clearDuration() => clearField(19);

  /// 跳转地址
  @$pb.TagNumber(20)
  $core.String get jumpUrl => $_getSZ(19);
  @$pb.TagNumber(20)
  set jumpUrl($core.String v) {
    $_setString(19, v);
  }

  @$pb.TagNumber(20)
  $core.bool hasJumpUrl() => $_has(19);
  @$pb.TagNumber(20)
  void clearJumpUrl() => clearField(20);

  /// 新角标，多个角标之前没有间距
  @$pb.TagNumber(21)
  $core.List<VideoBadge> get badgeCategory => $_getList(20);

  /// 当前是否是pgc正片
  @$pb.TagNumber(22)
  $core.bool get isFeature => $_getBF(21);
  @$pb.TagNumber(22)
  set isFeature($core.bool v) {
    $_setBool(21, v);
  }

  @$pb.TagNumber(22)
  $core.bool hasIsFeature() => $_has(21);
  @$pb.TagNumber(22)
  void clearIsFeature() => clearField(22);
}

/// 动态列表渲染部分-详情模块-订阅卡
class MdlDynSubscription extends $pb.GeneratedMessage {
  factory MdlDynSubscription({
    $fixnum.Int64? id,
    $fixnum.Int64? adId,
    $core.String? uri,
    $core.String? title,
    $core.String? cover,
    $core.String? adTitle,
    VideoBadge? badge,
    $core.String? tips,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (adId != null) {
      $result.adId = adId;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (adTitle != null) {
      $result.adTitle = adTitle;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (tips != null) {
      $result.tips = tips;
    }
    return $result;
  }
  MdlDynSubscription._() : super();
  factory MdlDynSubscription.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynSubscription.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynSubscription',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aInt64(2, _omitFieldNames ? '' : 'adId')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..aOS(5, _omitFieldNames ? '' : 'cover')
    ..aOS(6, _omitFieldNames ? '' : 'adTitle')
    ..aOM<VideoBadge>(7, _omitFieldNames ? '' : 'badge',
        subBuilder: VideoBadge.create)
    ..aOS(8, _omitFieldNames ? '' : 'tips')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynSubscription clone() => MdlDynSubscription()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynSubscription copyWith(void Function(MdlDynSubscription) updates) =>
      super.copyWith((message) => updates(message as MdlDynSubscription))
          as MdlDynSubscription;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynSubscription create() => MdlDynSubscription._();
  MdlDynSubscription createEmptyInstance() => create();
  static $pb.PbList<MdlDynSubscription> createRepeated() =>
      $pb.PbList<MdlDynSubscription>();
  @$core.pragma('dart2js:noInline')
  static MdlDynSubscription getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynSubscription>(create);
  static MdlDynSubscription? _defaultInstance;

  /// 卡片物料id
  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 广告创意id
  @$pb.TagNumber(2)
  $fixnum.Int64 get adId => $_getI64(1);
  @$pb.TagNumber(2)
  set adId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAdId() => $_has(1);
  @$pb.TagNumber(2)
  void clearAdId() => clearField(2);

  /// 跳转地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 标题
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(3);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);

  /// 封面图
  @$pb.TagNumber(5)
  $core.String get cover => $_getSZ(4);
  @$pb.TagNumber(5)
  set cover($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCover() => $_has(4);
  @$pb.TagNumber(5)
  void clearCover() => clearField(5);

  /// 广告标题
  @$pb.TagNumber(6)
  $core.String get adTitle => $_getSZ(5);
  @$pb.TagNumber(6)
  set adTitle($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAdTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearAdTitle() => clearField(6);

  /// 角标
  @$pb.TagNumber(7)
  VideoBadge get badge => $_getN(6);
  @$pb.TagNumber(7)
  set badge(VideoBadge v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBadge() => $_has(6);
  @$pb.TagNumber(7)
  void clearBadge() => clearField(7);
  @$pb.TagNumber(7)
  VideoBadge ensureBadge() => $_ensure(6);

  /// 小提示
  @$pb.TagNumber(8)
  $core.String get tips => $_getSZ(7);
  @$pb.TagNumber(8)
  set tips($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasTips() => $_has(7);
  @$pb.TagNumber(8)
  void clearTips() => clearField(8);
}

enum MdlDynSubscriptionNew_Item { dynSubscription, dynLiveRcmd, notSet }

/// 动态新附加卡
class MdlDynSubscriptionNew extends $pb.GeneratedMessage {
  factory MdlDynSubscriptionNew({
    MdlDynSubscriptionNewStyle? style,
    MdlDynSubscription? dynSubscription,
    MdlDynLiveRcmd? dynLiveRcmd,
  }) {
    final $result = create();
    if (style != null) {
      $result.style = style;
    }
    if (dynSubscription != null) {
      $result.dynSubscription = dynSubscription;
    }
    if (dynLiveRcmd != null) {
      $result.dynLiveRcmd = dynLiveRcmd;
    }
    return $result;
  }
  MdlDynSubscriptionNew._() : super();
  factory MdlDynSubscriptionNew.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynSubscriptionNew.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, MdlDynSubscriptionNew_Item>
      _MdlDynSubscriptionNew_ItemByTag = {
    2: MdlDynSubscriptionNew_Item.dynSubscription,
    3: MdlDynSubscriptionNew_Item.dynLiveRcmd,
    0: MdlDynSubscriptionNew_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynSubscriptionNew',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3])
    ..e<MdlDynSubscriptionNewStyle>(
        1, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker:
            MdlDynSubscriptionNewStyle.mdl_dyn_subscription_new_style_nont,
        valueOf: MdlDynSubscriptionNewStyle.valueOf,
        enumValues: MdlDynSubscriptionNewStyle.values)
    ..aOM<MdlDynSubscription>(2, _omitFieldNames ? '' : 'dynSubscription',
        subBuilder: MdlDynSubscription.create)
    ..aOM<MdlDynLiveRcmd>(3, _omitFieldNames ? '' : 'dynLiveRcmd',
        subBuilder: MdlDynLiveRcmd.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynSubscriptionNew clone() =>
      MdlDynSubscriptionNew()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynSubscriptionNew copyWith(
          void Function(MdlDynSubscriptionNew) updates) =>
      super.copyWith((message) => updates(message as MdlDynSubscriptionNew))
          as MdlDynSubscriptionNew;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynSubscriptionNew create() => MdlDynSubscriptionNew._();
  MdlDynSubscriptionNew createEmptyInstance() => create();
  static $pb.PbList<MdlDynSubscriptionNew> createRepeated() =>
      $pb.PbList<MdlDynSubscriptionNew>();
  @$core.pragma('dart2js:noInline')
  static MdlDynSubscriptionNew getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynSubscriptionNew>(create);
  static MdlDynSubscriptionNew? _defaultInstance;

  MdlDynSubscriptionNew_Item whichItem() =>
      _MdlDynSubscriptionNew_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 样式类型
  @$pb.TagNumber(1)
  MdlDynSubscriptionNewStyle get style => $_getN(0);
  @$pb.TagNumber(1)
  set style(MdlDynSubscriptionNewStyle v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStyle() => $_has(0);
  @$pb.TagNumber(1)
  void clearStyle() => clearField(1);

  @$pb.TagNumber(2)
  MdlDynSubscription get dynSubscription => $_getN(1);
  @$pb.TagNumber(2)
  set dynSubscription(MdlDynSubscription v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynSubscription() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynSubscription() => clearField(2);
  @$pb.TagNumber(2)
  MdlDynSubscription ensureDynSubscription() => $_ensure(1);

  /// 直播推荐
  @$pb.TagNumber(3)
  MdlDynLiveRcmd get dynLiveRcmd => $_getN(2);
  @$pb.TagNumber(3)
  set dynLiveRcmd(MdlDynLiveRcmd v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDynLiveRcmd() => $_has(2);
  @$pb.TagNumber(3)
  void clearDynLiveRcmd() => clearField(3);
  @$pb.TagNumber(3)
  MdlDynLiveRcmd ensureDynLiveRcmd() => $_ensure(2);
}

class MdlDynTopicSet extends $pb.GeneratedMessage {
  factory MdlDynTopicSet({
    $core.Iterable<TopicItem>? topics,
    IconButton? moreBtn,
    $fixnum.Int64? topicSetId,
    $fixnum.Int64? pushId,
  }) {
    final $result = create();
    if (topics != null) {
      $result.topics.addAll(topics);
    }
    if (moreBtn != null) {
      $result.moreBtn = moreBtn;
    }
    if (topicSetId != null) {
      $result.topicSetId = topicSetId;
    }
    if (pushId != null) {
      $result.pushId = pushId;
    }
    return $result;
  }
  MdlDynTopicSet._() : super();
  factory MdlDynTopicSet.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynTopicSet.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynTopicSet',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<TopicItem>(1, _omitFieldNames ? '' : 'topics', $pb.PbFieldType.PM,
        subBuilder: TopicItem.create)
    ..aOM<IconButton>(2, _omitFieldNames ? '' : 'moreBtn',
        subBuilder: IconButton.create)
    ..aInt64(3, _omitFieldNames ? '' : 'topicSetId')
    ..aInt64(4, _omitFieldNames ? '' : 'pushId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynTopicSet clone() => MdlDynTopicSet()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynTopicSet copyWith(void Function(MdlDynTopicSet) updates) =>
      super.copyWith((message) => updates(message as MdlDynTopicSet))
          as MdlDynTopicSet;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynTopicSet create() => MdlDynTopicSet._();
  MdlDynTopicSet createEmptyInstance() => create();
  static $pb.PbList<MdlDynTopicSet> createRepeated() =>
      $pb.PbList<MdlDynTopicSet>();
  @$core.pragma('dart2js:noInline')
  static MdlDynTopicSet getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynTopicSet>(create);
  static MdlDynTopicSet? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<TopicItem> get topics => $_getList(0);

  @$pb.TagNumber(2)
  IconButton get moreBtn => $_getN(1);
  @$pb.TagNumber(2)
  set moreBtn(IconButton v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMoreBtn() => $_has(1);
  @$pb.TagNumber(2)
  void clearMoreBtn() => clearField(2);
  @$pb.TagNumber(2)
  IconButton ensureMoreBtn() => $_ensure(1);

  @$pb.TagNumber(3)
  $fixnum.Int64 get topicSetId => $_getI64(2);
  @$pb.TagNumber(3)
  set topicSetId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTopicSetId() => $_has(2);
  @$pb.TagNumber(3)
  void clearTopicSetId() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get pushId => $_getI64(3);
  @$pb.TagNumber(4)
  set pushId($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPushId() => $_has(3);
  @$pb.TagNumber(4)
  void clearPushId() => clearField(4);
}

/// 动态列表渲染部分-UGC合集
class MdlDynUGCSeason extends $pb.GeneratedMessage {
  factory MdlDynUGCSeason({
    $core.String? title,
    $core.String? cover,
    $core.String? uri,
    $core.String? coverLeftText1,
    $core.String? coverLeftText2,
    $core.String? coverLeftText3,
    $fixnum.Int64? id,
    $core.String? inlineURL,
    $core.bool? canPlay,
    $core.String? playIcon,
    $fixnum.Int64? avid,
    $fixnum.Int64? cid,
    Dimension? dimension,
    $fixnum.Int64? duration,
    $core.String? jumpUrl,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    if (id != null) {
      $result.id = id;
    }
    if (inlineURL != null) {
      $result.inlineURL = inlineURL;
    }
    if (canPlay != null) {
      $result.canPlay = canPlay;
    }
    if (playIcon != null) {
      $result.playIcon = playIcon;
    }
    if (avid != null) {
      $result.avid = avid;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    if (dimension != null) {
      $result.dimension = dimension;
    }
    if (duration != null) {
      $result.duration = duration;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    return $result;
  }
  MdlDynUGCSeason._() : super();
  factory MdlDynUGCSeason.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MdlDynUGCSeason.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MdlDynUGCSeason',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'coverLeftText1',
        protoName: 'cover_left_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'coverLeftText2',
        protoName: 'cover_left_text_2')
    ..aOS(6, _omitFieldNames ? '' : 'coverLeftText3',
        protoName: 'cover_left_text_3')
    ..aInt64(7, _omitFieldNames ? '' : 'id')
    ..aOS(8, _omitFieldNames ? '' : 'inlineURL', protoName: 'inlineURL')
    ..aOB(9, _omitFieldNames ? '' : 'canPlay')
    ..aOS(10, _omitFieldNames ? '' : 'playIcon')
    ..aInt64(11, _omitFieldNames ? '' : 'avid')
    ..aInt64(12, _omitFieldNames ? '' : 'cid')
    ..aOM<Dimension>(13, _omitFieldNames ? '' : 'dimension',
        subBuilder: Dimension.create)
    ..aInt64(14, _omitFieldNames ? '' : 'duration')
    ..aOS(15, _omitFieldNames ? '' : 'jumpUrl')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MdlDynUGCSeason clone() => MdlDynUGCSeason()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MdlDynUGCSeason copyWith(void Function(MdlDynUGCSeason) updates) =>
      super.copyWith((message) => updates(message as MdlDynUGCSeason))
          as MdlDynUGCSeason;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MdlDynUGCSeason create() => MdlDynUGCSeason._();
  MdlDynUGCSeason createEmptyInstance() => create();
  static $pb.PbList<MdlDynUGCSeason> createRepeated() =>
      $pb.PbList<MdlDynUGCSeason>();
  @$core.pragma('dart2js:noInline')
  static MdlDynUGCSeason getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MdlDynUGCSeason>(create);
  static MdlDynUGCSeason? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 秒开地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// 视频封面展示项 1
  @$pb.TagNumber(4)
  $core.String get coverLeftText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set coverLeftText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCoverLeftText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearCoverLeftText1() => clearField(4);

  /// 视频封面展示项 2
  @$pb.TagNumber(5)
  $core.String get coverLeftText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set coverLeftText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCoverLeftText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearCoverLeftText2() => clearField(5);

  /// 封面视频展示项 3
  @$pb.TagNumber(6)
  $core.String get coverLeftText3 => $_getSZ(5);
  @$pb.TagNumber(6)
  set coverLeftText3($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverLeftText3() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverLeftText3() => clearField(6);

  /// 卡片物料id
  @$pb.TagNumber(7)
  $fixnum.Int64 get id => $_getI64(6);
  @$pb.TagNumber(7)
  set id($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasId() => $_has(6);
  @$pb.TagNumber(7)
  void clearId() => clearField(7);

  /// inline播放地址
  @$pb.TagNumber(8)
  $core.String get inlineURL => $_getSZ(7);
  @$pb.TagNumber(8)
  set inlineURL($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasInlineURL() => $_has(7);
  @$pb.TagNumber(8)
  void clearInlineURL() => clearField(8);

  /// 是否能够自动播放
  @$pb.TagNumber(9)
  $core.bool get canPlay => $_getBF(8);
  @$pb.TagNumber(9)
  set canPlay($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasCanPlay() => $_has(8);
  @$pb.TagNumber(9)
  void clearCanPlay() => clearField(9);

  /// 播放按钮
  @$pb.TagNumber(10)
  $core.String get playIcon => $_getSZ(9);
  @$pb.TagNumber(10)
  set playIcon($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPlayIcon() => $_has(9);
  @$pb.TagNumber(10)
  void clearPlayIcon() => clearField(10);

  /// avid
  @$pb.TagNumber(11)
  $fixnum.Int64 get avid => $_getI64(10);
  @$pb.TagNumber(11)
  set avid($fixnum.Int64 v) {
    $_setInt64(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasAvid() => $_has(10);
  @$pb.TagNumber(11)
  void clearAvid() => clearField(11);

  /// cid
  @$pb.TagNumber(12)
  $fixnum.Int64 get cid => $_getI64(11);
  @$pb.TagNumber(12)
  set cid($fixnum.Int64 v) {
    $_setInt64(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasCid() => $_has(11);
  @$pb.TagNumber(12)
  void clearCid() => clearField(12);

  /// 尺寸信息
  @$pb.TagNumber(13)
  Dimension get dimension => $_getN(12);
  @$pb.TagNumber(13)
  set dimension(Dimension v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasDimension() => $_has(12);
  @$pb.TagNumber(13)
  void clearDimension() => clearField(13);
  @$pb.TagNumber(13)
  Dimension ensureDimension() => $_ensure(12);

  /// 时长
  @$pb.TagNumber(14)
  $fixnum.Int64 get duration => $_getI64(13);
  @$pb.TagNumber(14)
  set duration($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasDuration() => $_has(13);
  @$pb.TagNumber(14)
  void clearDuration() => clearField(14);

  /// 跳转地址
  @$pb.TagNumber(15)
  $core.String get jumpUrl => $_getSZ(14);
  @$pb.TagNumber(15)
  set jumpUrl($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasJumpUrl() => $_has(14);
  @$pb.TagNumber(15)
  void clearJumpUrl() => clearField(15);
}

/// 查看更多-列表单条数据
class MixUpListItem extends $pb.GeneratedMessage {
  factory MixUpListItem({
    $fixnum.Int64? uid,
    $core.int? specialAttention,
    $core.int? reddotState,
    MixUpListLiveItem? liveInfo,
    $core.String? name,
    $core.String? face,
    OfficialVerify? official,
    VipInfo? vip,
    Relation? relation,
    $core.int? permireState,
    $core.String? uri,
  }) {
    final $result = create();
    if (uid != null) {
      $result.uid = uid;
    }
    if (specialAttention != null) {
      $result.specialAttention = specialAttention;
    }
    if (reddotState != null) {
      $result.reddotState = reddotState;
    }
    if (liveInfo != null) {
      $result.liveInfo = liveInfo;
    }
    if (name != null) {
      $result.name = name;
    }
    if (face != null) {
      $result.face = face;
    }
    if (official != null) {
      $result.official = official;
    }
    if (vip != null) {
      $result.vip = vip;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (permireState != null) {
      $result.permireState = permireState;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  MixUpListItem._() : super();
  factory MixUpListItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MixUpListItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MixUpListItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'uid')
    ..a<$core.int>(
        2, _omitFieldNames ? '' : 'specialAttention', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'reddotState', $pb.PbFieldType.O3)
    ..aOM<MixUpListLiveItem>(4, _omitFieldNames ? '' : 'liveInfo',
        subBuilder: MixUpListLiveItem.create)
    ..aOS(5, _omitFieldNames ? '' : 'name')
    ..aOS(6, _omitFieldNames ? '' : 'face')
    ..aOM<OfficialVerify>(7, _omitFieldNames ? '' : 'official',
        subBuilder: OfficialVerify.create)
    ..aOM<VipInfo>(8, _omitFieldNames ? '' : 'vip', subBuilder: VipInfo.create)
    ..aOM<Relation>(9, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..a<$core.int>(
        10, _omitFieldNames ? '' : 'permireState', $pb.PbFieldType.O3)
    ..aOS(11, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MixUpListItem clone() => MixUpListItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MixUpListItem copyWith(void Function(MixUpListItem) updates) =>
      super.copyWith((message) => updates(message as MixUpListItem))
          as MixUpListItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MixUpListItem create() => MixUpListItem._();
  MixUpListItem createEmptyInstance() => create();
  static $pb.PbList<MixUpListItem> createRepeated() =>
      $pb.PbList<MixUpListItem>();
  @$core.pragma('dart2js:noInline')
  static MixUpListItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MixUpListItem>(create);
  static MixUpListItem? _defaultInstance;

  /// 用户mid
  @$pb.TagNumber(1)
  $fixnum.Int64 get uid => $_getI64(0);
  @$pb.TagNumber(1)
  set uid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUid() => $_has(0);
  @$pb.TagNumber(1)
  void clearUid() => clearField(1);

  /// 特别关注
  /// 0:否 1:是
  @$pb.TagNumber(2)
  $core.int get specialAttention => $_getIZ(1);
  @$pb.TagNumber(2)
  set specialAttention($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSpecialAttention() => $_has(1);
  @$pb.TagNumber(2)
  void clearSpecialAttention() => clearField(2);

  /// 小红点状态
  /// 0:没有 1:有
  @$pb.TagNumber(3)
  $core.int get reddotState => $_getIZ(2);
  @$pb.TagNumber(3)
  set reddotState($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasReddotState() => $_has(2);
  @$pb.TagNumber(3)
  void clearReddotState() => clearField(3);

  /// 直播信息
  @$pb.TagNumber(4)
  MixUpListLiveItem get liveInfo => $_getN(3);
  @$pb.TagNumber(4)
  set liveInfo(MixUpListLiveItem v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLiveInfo() => $_has(3);
  @$pb.TagNumber(4)
  void clearLiveInfo() => clearField(4);
  @$pb.TagNumber(4)
  MixUpListLiveItem ensureLiveInfo() => $_ensure(3);

  /// 昵称
  @$pb.TagNumber(5)
  $core.String get name => $_getSZ(4);
  @$pb.TagNumber(5)
  set name($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasName() => $_has(4);
  @$pb.TagNumber(5)
  void clearName() => clearField(5);

  /// 头像
  @$pb.TagNumber(6)
  $core.String get face => $_getSZ(5);
  @$pb.TagNumber(6)
  set face($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFace() => $_has(5);
  @$pb.TagNumber(6)
  void clearFace() => clearField(6);

  /// 认证信息
  @$pb.TagNumber(7)
  OfficialVerify get official => $_getN(6);
  @$pb.TagNumber(7)
  set official(OfficialVerify v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasOfficial() => $_has(6);
  @$pb.TagNumber(7)
  void clearOfficial() => clearField(7);
  @$pb.TagNumber(7)
  OfficialVerify ensureOfficial() => $_ensure(6);

  /// 大会员信息
  @$pb.TagNumber(8)
  VipInfo get vip => $_getN(7);
  @$pb.TagNumber(8)
  set vip(VipInfo v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasVip() => $_has(7);
  @$pb.TagNumber(8)
  void clearVip() => clearField(8);
  @$pb.TagNumber(8)
  VipInfo ensureVip() => $_ensure(7);

  /// 关注状态
  @$pb.TagNumber(9)
  Relation get relation => $_getN(8);
  @$pb.TagNumber(9)
  set relation(Relation v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasRelation() => $_has(8);
  @$pb.TagNumber(9)
  void clearRelation() => clearField(9);
  @$pb.TagNumber(9)
  Relation ensureRelation() => $_ensure(8);

  @$pb.TagNumber(10)
  $core.int get permireState => $_getIZ(9);
  @$pb.TagNumber(10)
  set permireState($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasPermireState() => $_has(9);
  @$pb.TagNumber(10)
  void clearPermireState() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get uri => $_getSZ(10);
  @$pb.TagNumber(11)
  set uri($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasUri() => $_has(10);
  @$pb.TagNumber(11)
  void clearUri() => clearField(11);
}

class MixUpListLiveItem extends $pb.GeneratedMessage {
  factory MixUpListLiveItem({
    $core.bool? status,
    $fixnum.Int64? roomId,
    $core.String? uri,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    if (roomId != null) {
      $result.roomId = roomId;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  MixUpListLiveItem._() : super();
  factory MixUpListLiveItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory MixUpListLiveItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'MixUpListLiveItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'status')
    ..aInt64(2, _omitFieldNames ? '' : 'roomId')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  MixUpListLiveItem clone() => MixUpListLiveItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  MixUpListLiveItem copyWith(void Function(MixUpListLiveItem) updates) =>
      super.copyWith((message) => updates(message as MixUpListLiveItem))
          as MixUpListLiveItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static MixUpListLiveItem create() => MixUpListLiveItem._();
  MixUpListLiveItem createEmptyInstance() => create();
  static $pb.PbList<MixUpListLiveItem> createRepeated() =>
      $pb.PbList<MixUpListLiveItem>();
  @$core.pragma('dart2js:noInline')
  static MixUpListLiveItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<MixUpListLiveItem>(create);
  static MixUpListLiveItem? _defaultInstance;

  /// 直播状态
  /// 0:未直播 1:直播中
  @$pb.TagNumber(1)
  $core.bool get status => $_getBF(0);
  @$pb.TagNumber(1)
  set status($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);

  /// 房间号
  @$pb.TagNumber(2)
  $fixnum.Int64 get roomId => $_getI64(1);
  @$pb.TagNumber(2)
  set roomId($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRoomId() => $_has(1);
  @$pb.TagNumber(2)
  void clearRoomId() => clearField(2);

  /// 跳转地址
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);
}

enum Module_ModuleItem {
  moduleAuthor,
  moduleDispute,
  moduleDesc,
  moduleDynamic,
  moduleLikeUser,
  moduleExtend,
  moduleAdditional,
  moduleStat,
  moduleFold,
  moduleComment,
  moduleInteraction,
  moduleAuthorForward,
  moduleAd,
  moduleBanner,
  moduleItemNull,
  moduleShareInfo,
  moduleRecommend,
  moduleTop,
  moduleButtom,
  moduleStatForward,
  moduleStory,
  moduleTopic,
  moduleTopicDetailsExt,
  moduleTopTag,
  moduleTopicBrief,
  moduleTitle,
  moduleButton,
  moduleNotice,
  moduleOpusSummary,
  moduleCopyright,
  moduleParagraph,
  moduleBlocked,
  moduleTextNotice,
  moduleOpusCollection,
  notSet
}

/// 动态模块
class Module extends $pb.GeneratedMessage {
  factory Module({
    DynModuleType? moduleType,
    ModuleAuthor? moduleAuthor,
    ModuleDispute? moduleDispute,
    ModuleDesc? moduleDesc,
    ModuleDynamic? moduleDynamic,
    ModuleLikeUser? moduleLikeUser,
    ModuleExtend? moduleExtend,
    ModuleAdditional? moduleAdditional,
    ModuleStat? moduleStat,
    ModuleFold? moduleFold,
    ModuleComment? moduleComment,
    ModuleInteraction? moduleInteraction,
    ModuleAuthorForward? moduleAuthorForward,
    ModuleAd? moduleAd,
    ModuleBanner? moduleBanner,
    ModuleItemNull? moduleItemNull,
    ModuleShareInfo? moduleShareInfo,
    ModuleRecommend? moduleRecommend,
    ModuleTop? moduleTop,
    ModuleButtom? moduleButtom,
    ModuleStat? moduleStatForward,
    ModuleStory? moduleStory,
    ModuleTopic? moduleTopic,
    ModuleTopicDetailsExt? moduleTopicDetailsExt,
    ModuleTopTag? moduleTopTag,
    ModuleTopicBrief? moduleTopicBrief,
    ModuleTitle? moduleTitle,
    ModuleButton? moduleButton,
    ModuleNotice? moduleNotice,
    ModuleOpusSummary? moduleOpusSummary,
    ModuleCopyright? moduleCopyright,
    ModuleParagraph? moduleParagraph,
    ModuleBlocked? moduleBlocked,
    ModuleTextNotice? moduleTextNotice,
    ModuleOpusCollection? moduleOpusCollection,
  }) {
    final $result = create();
    if (moduleType != null) {
      $result.moduleType = moduleType;
    }
    if (moduleAuthor != null) {
      $result.moduleAuthor = moduleAuthor;
    }
    if (moduleDispute != null) {
      $result.moduleDispute = moduleDispute;
    }
    if (moduleDesc != null) {
      $result.moduleDesc = moduleDesc;
    }
    if (moduleDynamic != null) {
      $result.moduleDynamic = moduleDynamic;
    }
    if (moduleLikeUser != null) {
      $result.moduleLikeUser = moduleLikeUser;
    }
    if (moduleExtend != null) {
      $result.moduleExtend = moduleExtend;
    }
    if (moduleAdditional != null) {
      $result.moduleAdditional = moduleAdditional;
    }
    if (moduleStat != null) {
      $result.moduleStat = moduleStat;
    }
    if (moduleFold != null) {
      $result.moduleFold = moduleFold;
    }
    if (moduleComment != null) {
      $result.moduleComment = moduleComment;
    }
    if (moduleInteraction != null) {
      $result.moduleInteraction = moduleInteraction;
    }
    if (moduleAuthorForward != null) {
      $result.moduleAuthorForward = moduleAuthorForward;
    }
    if (moduleAd != null) {
      $result.moduleAd = moduleAd;
    }
    if (moduleBanner != null) {
      $result.moduleBanner = moduleBanner;
    }
    if (moduleItemNull != null) {
      $result.moduleItemNull = moduleItemNull;
    }
    if (moduleShareInfo != null) {
      $result.moduleShareInfo = moduleShareInfo;
    }
    if (moduleRecommend != null) {
      $result.moduleRecommend = moduleRecommend;
    }
    if (moduleTop != null) {
      $result.moduleTop = moduleTop;
    }
    if (moduleButtom != null) {
      $result.moduleButtom = moduleButtom;
    }
    if (moduleStatForward != null) {
      $result.moduleStatForward = moduleStatForward;
    }
    if (moduleStory != null) {
      $result.moduleStory = moduleStory;
    }
    if (moduleTopic != null) {
      $result.moduleTopic = moduleTopic;
    }
    if (moduleTopicDetailsExt != null) {
      $result.moduleTopicDetailsExt = moduleTopicDetailsExt;
    }
    if (moduleTopTag != null) {
      $result.moduleTopTag = moduleTopTag;
    }
    if (moduleTopicBrief != null) {
      $result.moduleTopicBrief = moduleTopicBrief;
    }
    if (moduleTitle != null) {
      $result.moduleTitle = moduleTitle;
    }
    if (moduleButton != null) {
      $result.moduleButton = moduleButton;
    }
    if (moduleNotice != null) {
      $result.moduleNotice = moduleNotice;
    }
    if (moduleOpusSummary != null) {
      $result.moduleOpusSummary = moduleOpusSummary;
    }
    if (moduleCopyright != null) {
      $result.moduleCopyright = moduleCopyright;
    }
    if (moduleParagraph != null) {
      $result.moduleParagraph = moduleParagraph;
    }
    if (moduleBlocked != null) {
      $result.moduleBlocked = moduleBlocked;
    }
    if (moduleTextNotice != null) {
      $result.moduleTextNotice = moduleTextNotice;
    }
    if (moduleOpusCollection != null) {
      $result.moduleOpusCollection = moduleOpusCollection;
    }
    return $result;
  }
  Module._() : super();
  factory Module.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Module.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, Module_ModuleItem> _Module_ModuleItemByTag =
      {
    2: Module_ModuleItem.moduleAuthor,
    3: Module_ModuleItem.moduleDispute,
    4: Module_ModuleItem.moduleDesc,
    5: Module_ModuleItem.moduleDynamic,
    6: Module_ModuleItem.moduleLikeUser,
    7: Module_ModuleItem.moduleExtend,
    8: Module_ModuleItem.moduleAdditional,
    9: Module_ModuleItem.moduleStat,
    10: Module_ModuleItem.moduleFold,
    11: Module_ModuleItem.moduleComment,
    12: Module_ModuleItem.moduleInteraction,
    13: Module_ModuleItem.moduleAuthorForward,
    14: Module_ModuleItem.moduleAd,
    15: Module_ModuleItem.moduleBanner,
    16: Module_ModuleItem.moduleItemNull,
    17: Module_ModuleItem.moduleShareInfo,
    18: Module_ModuleItem.moduleRecommend,
    19: Module_ModuleItem.moduleTop,
    20: Module_ModuleItem.moduleButtom,
    21: Module_ModuleItem.moduleStatForward,
    22: Module_ModuleItem.moduleStory,
    23: Module_ModuleItem.moduleTopic,
    24: Module_ModuleItem.moduleTopicDetailsExt,
    25: Module_ModuleItem.moduleTopTag,
    26: Module_ModuleItem.moduleTopicBrief,
    27: Module_ModuleItem.moduleTitle,
    28: Module_ModuleItem.moduleButton,
    29: Module_ModuleItem.moduleNotice,
    30: Module_ModuleItem.moduleOpusSummary,
    31: Module_ModuleItem.moduleCopyright,
    32: Module_ModuleItem.moduleParagraph,
    33: Module_ModuleItem.moduleBlocked,
    34: Module_ModuleItem.moduleTextNotice,
    35: Module_ModuleItem.moduleOpusCollection,
    0: Module_ModuleItem.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Module',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28,
      29,
      30,
      31,
      32,
      33,
      34,
      35
    ])
    ..e<DynModuleType>(
        1, _omitFieldNames ? '' : 'moduleType', $pb.PbFieldType.OE,
        defaultOrMaker: DynModuleType.module_none,
        valueOf: DynModuleType.valueOf,
        enumValues: DynModuleType.values)
    ..aOM<ModuleAuthor>(2, _omitFieldNames ? '' : 'moduleAuthor',
        subBuilder: ModuleAuthor.create)
    ..aOM<ModuleDispute>(3, _omitFieldNames ? '' : 'moduleDispute',
        subBuilder: ModuleDispute.create)
    ..aOM<ModuleDesc>(4, _omitFieldNames ? '' : 'moduleDesc',
        subBuilder: ModuleDesc.create)
    ..aOM<ModuleDynamic>(5, _omitFieldNames ? '' : 'moduleDynamic',
        subBuilder: ModuleDynamic.create)
    ..aOM<ModuleLikeUser>(6, _omitFieldNames ? '' : 'moduleLikeUser',
        protoName: 'module_likeUser', subBuilder: ModuleLikeUser.create)
    ..aOM<ModuleExtend>(7, _omitFieldNames ? '' : 'moduleExtend',
        subBuilder: ModuleExtend.create)
    ..aOM<ModuleAdditional>(8, _omitFieldNames ? '' : 'moduleAdditional',
        subBuilder: ModuleAdditional.create)
    ..aOM<ModuleStat>(9, _omitFieldNames ? '' : 'moduleStat',
        subBuilder: ModuleStat.create)
    ..aOM<ModuleFold>(10, _omitFieldNames ? '' : 'moduleFold',
        subBuilder: ModuleFold.create)
    ..aOM<ModuleComment>(11, _omitFieldNames ? '' : 'moduleComment',
        subBuilder: ModuleComment.create)
    ..aOM<ModuleInteraction>(12, _omitFieldNames ? '' : 'moduleInteraction',
        subBuilder: ModuleInteraction.create)
    ..aOM<ModuleAuthorForward>(13, _omitFieldNames ? '' : 'moduleAuthorForward',
        subBuilder: ModuleAuthorForward.create)
    ..aOM<ModuleAd>(14, _omitFieldNames ? '' : 'moduleAd',
        subBuilder: ModuleAd.create)
    ..aOM<ModuleBanner>(15, _omitFieldNames ? '' : 'moduleBanner',
        subBuilder: ModuleBanner.create)
    ..aOM<ModuleItemNull>(16, _omitFieldNames ? '' : 'moduleItemNull',
        subBuilder: ModuleItemNull.create)
    ..aOM<ModuleShareInfo>(17, _omitFieldNames ? '' : 'moduleShareInfo',
        subBuilder: ModuleShareInfo.create)
    ..aOM<ModuleRecommend>(18, _omitFieldNames ? '' : 'moduleRecommend',
        subBuilder: ModuleRecommend.create)
    ..aOM<ModuleTop>(19, _omitFieldNames ? '' : 'moduleTop',
        subBuilder: ModuleTop.create)
    ..aOM<ModuleButtom>(20, _omitFieldNames ? '' : 'moduleButtom',
        subBuilder: ModuleButtom.create)
    ..aOM<ModuleStat>(21, _omitFieldNames ? '' : 'moduleStatForward',
        subBuilder: ModuleStat.create)
    ..aOM<ModuleStory>(22, _omitFieldNames ? '' : 'moduleStory',
        subBuilder: ModuleStory.create)
    ..aOM<ModuleTopic>(23, _omitFieldNames ? '' : 'moduleTopic',
        subBuilder: ModuleTopic.create)
    ..aOM<ModuleTopicDetailsExt>(
        24, _omitFieldNames ? '' : 'moduleTopicDetailsExt',
        subBuilder: ModuleTopicDetailsExt.create)
    ..aOM<ModuleTopTag>(25, _omitFieldNames ? '' : 'moduleTopTag',
        subBuilder: ModuleTopTag.create)
    ..aOM<ModuleTopicBrief>(26, _omitFieldNames ? '' : 'moduleTopicBrief',
        subBuilder: ModuleTopicBrief.create)
    ..aOM<ModuleTitle>(27, _omitFieldNames ? '' : 'moduleTitle',
        subBuilder: ModuleTitle.create)
    ..aOM<ModuleButton>(28, _omitFieldNames ? '' : 'moduleButton',
        subBuilder: ModuleButton.create)
    ..aOM<ModuleNotice>(29, _omitFieldNames ? '' : 'moduleNotice',
        subBuilder: ModuleNotice.create)
    ..aOM<ModuleOpusSummary>(30, _omitFieldNames ? '' : 'moduleOpusSummary',
        subBuilder: ModuleOpusSummary.create)
    ..aOM<ModuleCopyright>(31, _omitFieldNames ? '' : 'moduleCopyright',
        subBuilder: ModuleCopyright.create)
    ..aOM<ModuleParagraph>(32, _omitFieldNames ? '' : 'moduleParagraph',
        subBuilder: ModuleParagraph.create)
    ..aOM<ModuleBlocked>(33, _omitFieldNames ? '' : 'moduleBlocked',
        subBuilder: ModuleBlocked.create)
    ..aOM<ModuleTextNotice>(34, _omitFieldNames ? '' : 'moduleTextNotice',
        subBuilder: ModuleTextNotice.create)
    ..aOM<ModuleOpusCollection>(
        35, _omitFieldNames ? '' : 'moduleOpusCollection',
        subBuilder: ModuleOpusCollection.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Module clone() => Module()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Module copyWith(void Function(Module) updates) =>
      super.copyWith((message) => updates(message as Module)) as Module;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Module create() => Module._();
  Module createEmptyInstance() => create();
  static $pb.PbList<Module> createRepeated() => $pb.PbList<Module>();
  @$core.pragma('dart2js:noInline')
  static Module getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Module>(create);
  static Module? _defaultInstance;

  Module_ModuleItem whichModuleItem() =>
      _Module_ModuleItemByTag[$_whichOneof(0)]!;
  void clearModuleItem() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  DynModuleType get moduleType => $_getN(0);
  @$pb.TagNumber(1)
  set moduleType(DynModuleType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasModuleType() => $_has(0);
  @$pb.TagNumber(1)
  void clearModuleType() => clearField(1);

  /// 用户模块 1
  @$pb.TagNumber(2)
  ModuleAuthor get moduleAuthor => $_getN(1);
  @$pb.TagNumber(2)
  set moduleAuthor(ModuleAuthor v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasModuleAuthor() => $_has(1);
  @$pb.TagNumber(2)
  void clearModuleAuthor() => clearField(2);
  @$pb.TagNumber(2)
  ModuleAuthor ensureModuleAuthor() => $_ensure(1);

  /// 争议黄条模块 2
  @$pb.TagNumber(3)
  ModuleDispute get moduleDispute => $_getN(2);
  @$pb.TagNumber(3)
  set moduleDispute(ModuleDispute v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasModuleDispute() => $_has(2);
  @$pb.TagNumber(3)
  void clearModuleDispute() => clearField(3);
  @$pb.TagNumber(3)
  ModuleDispute ensureModuleDispute() => $_ensure(2);

  /// 动态正文模块 3
  @$pb.TagNumber(4)
  ModuleDesc get moduleDesc => $_getN(3);
  @$pb.TagNumber(4)
  set moduleDesc(ModuleDesc v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasModuleDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearModuleDesc() => clearField(4);
  @$pb.TagNumber(4)
  ModuleDesc ensureModuleDesc() => $_ensure(3);

  /// 动态卡模块 4
  @$pb.TagNumber(5)
  ModuleDynamic get moduleDynamic => $_getN(4);
  @$pb.TagNumber(5)
  set moduleDynamic(ModuleDynamic v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasModuleDynamic() => $_has(4);
  @$pb.TagNumber(5)
  void clearModuleDynamic() => clearField(5);
  @$pb.TagNumber(5)
  ModuleDynamic ensureModuleDynamic() => $_ensure(4);

  /// 点赞外露(废弃)
  @$pb.TagNumber(6)
  ModuleLikeUser get moduleLikeUser => $_getN(5);
  @$pb.TagNumber(6)
  set moduleLikeUser(ModuleLikeUser v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasModuleLikeUser() => $_has(5);
  @$pb.TagNumber(6)
  void clearModuleLikeUser() => clearField(6);
  @$pb.TagNumber(6)
  ModuleLikeUser ensureModuleLikeUser() => $_ensure(5);

  /// 小卡模块 6
  @$pb.TagNumber(7)
  ModuleExtend get moduleExtend => $_getN(6);
  @$pb.TagNumber(7)
  set moduleExtend(ModuleExtend v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasModuleExtend() => $_has(6);
  @$pb.TagNumber(7)
  void clearModuleExtend() => clearField(7);
  @$pb.TagNumber(7)
  ModuleExtend ensureModuleExtend() => $_ensure(6);

  /// 大卡模块 5
  @$pb.TagNumber(8)
  ModuleAdditional get moduleAdditional => $_getN(7);
  @$pb.TagNumber(8)
  set moduleAdditional(ModuleAdditional v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasModuleAdditional() => $_has(7);
  @$pb.TagNumber(8)
  void clearModuleAdditional() => clearField(8);
  @$pb.TagNumber(8)
  ModuleAdditional ensureModuleAdditional() => $_ensure(7);

  /// 计数模块 8
  @$pb.TagNumber(9)
  ModuleStat get moduleStat => $_getN(8);
  @$pb.TagNumber(9)
  set moduleStat(ModuleStat v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasModuleStat() => $_has(8);
  @$pb.TagNumber(9)
  void clearModuleStat() => clearField(9);
  @$pb.TagNumber(9)
  ModuleStat ensureModuleStat() => $_ensure(8);

  /// 折叠模块 9
  @$pb.TagNumber(10)
  ModuleFold get moduleFold => $_getN(9);
  @$pb.TagNumber(10)
  set moduleFold(ModuleFold v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasModuleFold() => $_has(9);
  @$pb.TagNumber(10)
  void clearModuleFold() => clearField(10);
  @$pb.TagNumber(10)
  ModuleFold ensureModuleFold() => $_ensure(9);

  /// 评论外露(废弃)
  @$pb.TagNumber(11)
  ModuleComment get moduleComment => $_getN(10);
  @$pb.TagNumber(11)
  set moduleComment(ModuleComment v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasModuleComment() => $_has(10);
  @$pb.TagNumber(11)
  void clearModuleComment() => clearField(11);
  @$pb.TagNumber(11)
  ModuleComment ensureModuleComment() => $_ensure(10);

  /// 外露交互模块(点赞、评论) 7
  @$pb.TagNumber(12)
  ModuleInteraction get moduleInteraction => $_getN(11);
  @$pb.TagNumber(12)
  set moduleInteraction(ModuleInteraction v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasModuleInteraction() => $_has(11);
  @$pb.TagNumber(12)
  void clearModuleInteraction() => clearField(12);
  @$pb.TagNumber(12)
  ModuleInteraction ensureModuleInteraction() => $_ensure(11);

  /// 转发卡-原卡用户模块
  @$pb.TagNumber(13)
  ModuleAuthorForward get moduleAuthorForward => $_getN(12);
  @$pb.TagNumber(13)
  set moduleAuthorForward(ModuleAuthorForward v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasModuleAuthorForward() => $_has(12);
  @$pb.TagNumber(13)
  void clearModuleAuthorForward() => clearField(13);
  @$pb.TagNumber(13)
  ModuleAuthorForward ensureModuleAuthorForward() => $_ensure(12);

  /// 广告卡
  @$pb.TagNumber(14)
  ModuleAd get moduleAd => $_getN(13);
  @$pb.TagNumber(14)
  set moduleAd(ModuleAd v) {
    setField(14, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasModuleAd() => $_has(13);
  @$pb.TagNumber(14)
  void clearModuleAd() => clearField(14);
  @$pb.TagNumber(14)
  ModuleAd ensureModuleAd() => $_ensure(13);

  /// 通栏
  @$pb.TagNumber(15)
  ModuleBanner get moduleBanner => $_getN(14);
  @$pb.TagNumber(15)
  set moduleBanner(ModuleBanner v) {
    setField(15, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasModuleBanner() => $_has(14);
  @$pb.TagNumber(15)
  void clearModuleBanner() => clearField(15);
  @$pb.TagNumber(15)
  ModuleBanner ensureModuleBanner() => $_ensure(14);

  /// 获取物料失败
  @$pb.TagNumber(16)
  ModuleItemNull get moduleItemNull => $_getN(15);
  @$pb.TagNumber(16)
  set moduleItemNull(ModuleItemNull v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasModuleItemNull() => $_has(15);
  @$pb.TagNumber(16)
  void clearModuleItemNull() => clearField(16);
  @$pb.TagNumber(16)
  ModuleItemNull ensureModuleItemNull() => $_ensure(15);

  /// 分享组件
  @$pb.TagNumber(17)
  ModuleShareInfo get moduleShareInfo => $_getN(16);
  @$pb.TagNumber(17)
  set moduleShareInfo(ModuleShareInfo v) {
    setField(17, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasModuleShareInfo() => $_has(16);
  @$pb.TagNumber(17)
  void clearModuleShareInfo() => clearField(17);
  @$pb.TagNumber(17)
  ModuleShareInfo ensureModuleShareInfo() => $_ensure(16);

  /// 相关推荐模块
  @$pb.TagNumber(18)
  ModuleRecommend get moduleRecommend => $_getN(17);
  @$pb.TagNumber(18)
  set moduleRecommend(ModuleRecommend v) {
    setField(18, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasModuleRecommend() => $_has(17);
  @$pb.TagNumber(18)
  void clearModuleRecommend() => clearField(18);
  @$pb.TagNumber(18)
  ModuleRecommend ensureModuleRecommend() => $_ensure(17);

  /// 顶部模块
  @$pb.TagNumber(19)
  ModuleTop get moduleTop => $_getN(18);
  @$pb.TagNumber(19)
  set moduleTop(ModuleTop v) {
    setField(19, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasModuleTop() => $_has(18);
  @$pb.TagNumber(19)
  void clearModuleTop() => clearField(19);
  @$pb.TagNumber(19)
  ModuleTop ensureModuleTop() => $_ensure(18);

  /// 底部模块
  @$pb.TagNumber(20)
  ModuleButtom get moduleButtom => $_getN(19);
  @$pb.TagNumber(20)
  set moduleButtom(ModuleButtom v) {
    setField(20, v);
  }

  @$pb.TagNumber(20)
  $core.bool hasModuleButtom() => $_has(19);
  @$pb.TagNumber(20)
  void clearModuleButtom() => clearField(20);
  @$pb.TagNumber(20)
  ModuleButtom ensureModuleButtom() => $_ensure(19);

  /// 转发卡计数模块
  @$pb.TagNumber(21)
  ModuleStat get moduleStatForward => $_getN(20);
  @$pb.TagNumber(21)
  set moduleStatForward(ModuleStat v) {
    setField(21, v);
  }

  @$pb.TagNumber(21)
  $core.bool hasModuleStatForward() => $_has(20);
  @$pb.TagNumber(21)
  void clearModuleStatForward() => clearField(21);
  @$pb.TagNumber(21)
  ModuleStat ensureModuleStatForward() => $_ensure(20);

  @$pb.TagNumber(22)
  ModuleStory get moduleStory => $_getN(21);
  @$pb.TagNumber(22)
  set moduleStory(ModuleStory v) {
    setField(22, v);
  }

  @$pb.TagNumber(22)
  $core.bool hasModuleStory() => $_has(21);
  @$pb.TagNumber(22)
  void clearModuleStory() => clearField(22);
  @$pb.TagNumber(22)
  ModuleStory ensureModuleStory() => $_ensure(21);

  @$pb.TagNumber(23)
  ModuleTopic get moduleTopic => $_getN(22);
  @$pb.TagNumber(23)
  set moduleTopic(ModuleTopic v) {
    setField(23, v);
  }

  @$pb.TagNumber(23)
  $core.bool hasModuleTopic() => $_has(22);
  @$pb.TagNumber(23)
  void clearModuleTopic() => clearField(23);
  @$pb.TagNumber(23)
  ModuleTopic ensureModuleTopic() => $_ensure(22);

  @$pb.TagNumber(24)
  ModuleTopicDetailsExt get moduleTopicDetailsExt => $_getN(23);
  @$pb.TagNumber(24)
  set moduleTopicDetailsExt(ModuleTopicDetailsExt v) {
    setField(24, v);
  }

  @$pb.TagNumber(24)
  $core.bool hasModuleTopicDetailsExt() => $_has(23);
  @$pb.TagNumber(24)
  void clearModuleTopicDetailsExt() => clearField(24);
  @$pb.TagNumber(24)
  ModuleTopicDetailsExt ensureModuleTopicDetailsExt() => $_ensure(23);

  @$pb.TagNumber(25)
  ModuleTopTag get moduleTopTag => $_getN(24);
  @$pb.TagNumber(25)
  set moduleTopTag(ModuleTopTag v) {
    setField(25, v);
  }

  @$pb.TagNumber(25)
  $core.bool hasModuleTopTag() => $_has(24);
  @$pb.TagNumber(25)
  void clearModuleTopTag() => clearField(25);
  @$pb.TagNumber(25)
  ModuleTopTag ensureModuleTopTag() => $_ensure(24);

  @$pb.TagNumber(26)
  ModuleTopicBrief get moduleTopicBrief => $_getN(25);
  @$pb.TagNumber(26)
  set moduleTopicBrief(ModuleTopicBrief v) {
    setField(26, v);
  }

  @$pb.TagNumber(26)
  $core.bool hasModuleTopicBrief() => $_has(25);
  @$pb.TagNumber(26)
  void clearModuleTopicBrief() => clearField(26);
  @$pb.TagNumber(26)
  ModuleTopicBrief ensureModuleTopicBrief() => $_ensure(25);

  @$pb.TagNumber(27)
  ModuleTitle get moduleTitle => $_getN(26);
  @$pb.TagNumber(27)
  set moduleTitle(ModuleTitle v) {
    setField(27, v);
  }

  @$pb.TagNumber(27)
  $core.bool hasModuleTitle() => $_has(26);
  @$pb.TagNumber(27)
  void clearModuleTitle() => clearField(27);
  @$pb.TagNumber(27)
  ModuleTitle ensureModuleTitle() => $_ensure(26);

  @$pb.TagNumber(28)
  ModuleButton get moduleButton => $_getN(27);
  @$pb.TagNumber(28)
  set moduleButton(ModuleButton v) {
    setField(28, v);
  }

  @$pb.TagNumber(28)
  $core.bool hasModuleButton() => $_has(27);
  @$pb.TagNumber(28)
  void clearModuleButton() => clearField(28);
  @$pb.TagNumber(28)
  ModuleButton ensureModuleButton() => $_ensure(27);

  @$pb.TagNumber(29)
  ModuleNotice get moduleNotice => $_getN(28);
  @$pb.TagNumber(29)
  set moduleNotice(ModuleNotice v) {
    setField(29, v);
  }

  @$pb.TagNumber(29)
  $core.bool hasModuleNotice() => $_has(28);
  @$pb.TagNumber(29)
  void clearModuleNotice() => clearField(29);
  @$pb.TagNumber(29)
  ModuleNotice ensureModuleNotice() => $_ensure(28);

  @$pb.TagNumber(30)
  ModuleOpusSummary get moduleOpusSummary => $_getN(29);
  @$pb.TagNumber(30)
  set moduleOpusSummary(ModuleOpusSummary v) {
    setField(30, v);
  }

  @$pb.TagNumber(30)
  $core.bool hasModuleOpusSummary() => $_has(29);
  @$pb.TagNumber(30)
  void clearModuleOpusSummary() => clearField(30);
  @$pb.TagNumber(30)
  ModuleOpusSummary ensureModuleOpusSummary() => $_ensure(29);

  @$pb.TagNumber(31)
  ModuleCopyright get moduleCopyright => $_getN(30);
  @$pb.TagNumber(31)
  set moduleCopyright(ModuleCopyright v) {
    setField(31, v);
  }

  @$pb.TagNumber(31)
  $core.bool hasModuleCopyright() => $_has(30);
  @$pb.TagNumber(31)
  void clearModuleCopyright() => clearField(31);
  @$pb.TagNumber(31)
  ModuleCopyright ensureModuleCopyright() => $_ensure(30);

  @$pb.TagNumber(32)
  ModuleParagraph get moduleParagraph => $_getN(31);
  @$pb.TagNumber(32)
  set moduleParagraph(ModuleParagraph v) {
    setField(32, v);
  }

  @$pb.TagNumber(32)
  $core.bool hasModuleParagraph() => $_has(31);
  @$pb.TagNumber(32)
  void clearModuleParagraph() => clearField(32);
  @$pb.TagNumber(32)
  ModuleParagraph ensureModuleParagraph() => $_ensure(31);

  @$pb.TagNumber(33)
  ModuleBlocked get moduleBlocked => $_getN(32);
  @$pb.TagNumber(33)
  set moduleBlocked(ModuleBlocked v) {
    setField(33, v);
  }

  @$pb.TagNumber(33)
  $core.bool hasModuleBlocked() => $_has(32);
  @$pb.TagNumber(33)
  void clearModuleBlocked() => clearField(33);
  @$pb.TagNumber(33)
  ModuleBlocked ensureModuleBlocked() => $_ensure(32);

  @$pb.TagNumber(34)
  ModuleTextNotice get moduleTextNotice => $_getN(33);
  @$pb.TagNumber(34)
  set moduleTextNotice(ModuleTextNotice v) {
    setField(34, v);
  }

  @$pb.TagNumber(34)
  $core.bool hasModuleTextNotice() => $_has(33);
  @$pb.TagNumber(34)
  void clearModuleTextNotice() => clearField(34);
  @$pb.TagNumber(34)
  ModuleTextNotice ensureModuleTextNotice() => $_ensure(33);

  @$pb.TagNumber(35)
  ModuleOpusCollection get moduleOpusCollection => $_getN(34);
  @$pb.TagNumber(35)
  set moduleOpusCollection(ModuleOpusCollection v) {
    setField(35, v);
  }

  @$pb.TagNumber(35)
  $core.bool hasModuleOpusCollection() => $_has(34);
  @$pb.TagNumber(35)
  void clearModuleOpusCollection() => clearField(35);
  @$pb.TagNumber(35)
  ModuleOpusCollection ensureModuleOpusCollection() => $_ensure(34);
}

/// 动态列表-用户模块-广告卡
class ModuleAd extends $pb.GeneratedMessage {
  factory ModuleAd({
    $2.Any? sourceContent,
    ModuleAuthor? moduleAuthor,
    $core.int? adContentType,
    $core.String? coverLeftText1,
    $core.String? coverLeftText2,
    $core.String? coverLeftText3,
  }) {
    final $result = create();
    if (sourceContent != null) {
      $result.sourceContent = sourceContent;
    }
    if (moduleAuthor != null) {
      $result.moduleAuthor = moduleAuthor;
    }
    if (adContentType != null) {
      $result.adContentType = adContentType;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    return $result;
  }
  ModuleAd._() : super();
  factory ModuleAd.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAd.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAd',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<$2.Any>(1, _omitFieldNames ? '' : 'sourceContent',
        subBuilder: $2.Any.create)
    ..aOM<ModuleAuthor>(2, _omitFieldNames ? '' : 'moduleAuthor',
        subBuilder: ModuleAuthor.create)
    ..a<$core.int>(
        3, _omitFieldNames ? '' : 'adContentType', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'coverLeftText1')
    ..aOS(5, _omitFieldNames ? '' : 'coverLeftText2')
    ..aOS(6, _omitFieldNames ? '' : 'coverLeftText3')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAd clone() => ModuleAd()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAd copyWith(void Function(ModuleAd) updates) =>
      super.copyWith((message) => updates(message as ModuleAd)) as ModuleAd;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAd create() => ModuleAd._();
  ModuleAd createEmptyInstance() => create();
  static $pb.PbList<ModuleAd> createRepeated() => $pb.PbList<ModuleAd>();
  @$core.pragma('dart2js:noInline')
  static ModuleAd getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ModuleAd>(create);
  static ModuleAd? _defaultInstance;

  /// 广告透传信息
  @$pb.TagNumber(1)
  $2.Any get sourceContent => $_getN(0);
  @$pb.TagNumber(1)
  set sourceContent($2.Any v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSourceContent() => $_has(0);
  @$pb.TagNumber(1)
  void clearSourceContent() => clearField(1);
  @$pb.TagNumber(1)
  $2.Any ensureSourceContent() => $_ensure(0);

  /// 用户模块
  @$pb.TagNumber(2)
  ModuleAuthor get moduleAuthor => $_getN(1);
  @$pb.TagNumber(2)
  set moduleAuthor(ModuleAuthor v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasModuleAuthor() => $_has(1);
  @$pb.TagNumber(2)
  void clearModuleAuthor() => clearField(2);
  @$pb.TagNumber(2)
  ModuleAuthor ensureModuleAuthor() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.int get adContentType => $_getIZ(2);
  @$pb.TagNumber(3)
  set adContentType($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasAdContentType() => $_has(2);
  @$pb.TagNumber(3)
  void clearAdContentType() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get coverLeftText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set coverLeftText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCoverLeftText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearCoverLeftText1() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get coverLeftText2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set coverLeftText2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCoverLeftText2() => $_has(4);
  @$pb.TagNumber(5)
  void clearCoverLeftText2() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get coverLeftText3 => $_getSZ(5);
  @$pb.TagNumber(6)
  set coverLeftText3($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCoverLeftText3() => $_has(5);
  @$pb.TagNumber(6)
  void clearCoverLeftText3() => clearField(6);
}

enum ModuleAdditional_Item {
  pgc,
  goods,
  vote,
  common,
  esport,
  vote2,
  ugc,
  up,
  article,
  live,
  notSet
}

/// 动态-附加卡模块
class ModuleAdditional extends $pb.GeneratedMessage {
  factory ModuleAdditional({
    AdditionalType? type,
    AdditionalPGC? pgc,
    AdditionGoods? goods,
    AdditionVote? vote,
    AdditionCommon? common,
    AdditionEsport? esport,
    $fixnum.Int64? rid,
    AdditionVote2? vote2,
    AdditionUgc? ugc,
    AdditionUP? up,
    $core.bool? needWriteCalender,
    AdditionArticle? article,
    AdditionLiveRoom? live,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (pgc != null) {
      $result.pgc = pgc;
    }
    if (goods != null) {
      $result.goods = goods;
    }
    if (vote != null) {
      $result.vote = vote;
    }
    if (common != null) {
      $result.common = common;
    }
    if (esport != null) {
      $result.esport = esport;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (vote2 != null) {
      $result.vote2 = vote2;
    }
    if (ugc != null) {
      $result.ugc = ugc;
    }
    if (up != null) {
      $result.up = up;
    }
    if (needWriteCalender != null) {
      $result.needWriteCalender = needWriteCalender;
    }
    if (article != null) {
      $result.article = article;
    }
    if (live != null) {
      $result.live = live;
    }
    return $result;
  }
  ModuleAdditional._() : super();
  factory ModuleAdditional.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAdditional.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ModuleAdditional_Item>
      _ModuleAdditional_ItemByTag = {
    2: ModuleAdditional_Item.pgc,
    3: ModuleAdditional_Item.goods,
    4: ModuleAdditional_Item.vote,
    5: ModuleAdditional_Item.common,
    6: ModuleAdditional_Item.esport,
    8: ModuleAdditional_Item.vote2,
    9: ModuleAdditional_Item.ugc,
    10: ModuleAdditional_Item.up,
    12: ModuleAdditional_Item.article,
    13: ModuleAdditional_Item.live,
    0: ModuleAdditional_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAdditional',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3, 4, 5, 6, 8, 9, 10, 12, 13])
    ..e<AdditionalType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: AdditionalType.additional_none,
        valueOf: AdditionalType.valueOf,
        enumValues: AdditionalType.values)
    ..aOM<AdditionalPGC>(2, _omitFieldNames ? '' : 'pgc',
        subBuilder: AdditionalPGC.create)
    ..aOM<AdditionGoods>(3, _omitFieldNames ? '' : 'goods',
        subBuilder: AdditionGoods.create)
    ..aOM<AdditionVote>(4, _omitFieldNames ? '' : 'vote',
        subBuilder: AdditionVote.create)
    ..aOM<AdditionCommon>(5, _omitFieldNames ? '' : 'common',
        subBuilder: AdditionCommon.create)
    ..aOM<AdditionEsport>(6, _omitFieldNames ? '' : 'esport',
        subBuilder: AdditionEsport.create)
    ..aInt64(7, _omitFieldNames ? '' : 'rid')
    ..aOM<AdditionVote2>(8, _omitFieldNames ? '' : 'vote2',
        subBuilder: AdditionVote2.create)
    ..aOM<AdditionUgc>(9, _omitFieldNames ? '' : 'ugc',
        subBuilder: AdditionUgc.create)
    ..aOM<AdditionUP>(10, _omitFieldNames ? '' : 'up',
        subBuilder: AdditionUP.create)
    ..aOB(11, _omitFieldNames ? '' : 'needWriteCalender')
    ..aOM<AdditionArticle>(12, _omitFieldNames ? '' : 'article',
        subBuilder: AdditionArticle.create)
    ..aOM<AdditionLiveRoom>(13, _omitFieldNames ? '' : 'live',
        subBuilder: AdditionLiveRoom.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAdditional clone() => ModuleAdditional()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAdditional copyWith(void Function(ModuleAdditional) updates) =>
      super.copyWith((message) => updates(message as ModuleAdditional))
          as ModuleAdditional;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAdditional create() => ModuleAdditional._();
  ModuleAdditional createEmptyInstance() => create();
  static $pb.PbList<ModuleAdditional> createRepeated() =>
      $pb.PbList<ModuleAdditional>();
  @$core.pragma('dart2js:noInline')
  static ModuleAdditional getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleAdditional>(create);
  static ModuleAdditional? _defaultInstance;

  ModuleAdditional_Item whichItem() =>
      _ModuleAdditional_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  AdditionalType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(AdditionalType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 废弃
  @$pb.TagNumber(2)
  AdditionalPGC get pgc => $_getN(1);
  @$pb.TagNumber(2)
  set pgc(AdditionalPGC v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPgc() => $_has(1);
  @$pb.TagNumber(2)
  void clearPgc() => clearField(2);
  @$pb.TagNumber(2)
  AdditionalPGC ensurePgc() => $_ensure(1);

  @$pb.TagNumber(3)
  AdditionGoods get goods => $_getN(2);
  @$pb.TagNumber(3)
  set goods(AdditionGoods v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasGoods() => $_has(2);
  @$pb.TagNumber(3)
  void clearGoods() => clearField(3);
  @$pb.TagNumber(3)
  AdditionGoods ensureGoods() => $_ensure(2);

  /// 废弃
  @$pb.TagNumber(4)
  AdditionVote get vote => $_getN(3);
  @$pb.TagNumber(4)
  set vote(AdditionVote v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasVote() => $_has(3);
  @$pb.TagNumber(4)
  void clearVote() => clearField(4);
  @$pb.TagNumber(4)
  AdditionVote ensureVote() => $_ensure(3);

  @$pb.TagNumber(5)
  AdditionCommon get common => $_getN(4);
  @$pb.TagNumber(5)
  set common(AdditionCommon v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCommon() => $_has(4);
  @$pb.TagNumber(5)
  void clearCommon() => clearField(5);
  @$pb.TagNumber(5)
  AdditionCommon ensureCommon() => $_ensure(4);

  @$pb.TagNumber(6)
  AdditionEsport get esport => $_getN(5);
  @$pb.TagNumber(6)
  set esport(AdditionEsport v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasEsport() => $_has(5);
  @$pb.TagNumber(6)
  void clearEsport() => clearField(6);
  @$pb.TagNumber(6)
  AdditionEsport ensureEsport() => $_ensure(5);

  /// 附加卡物料ID
  @$pb.TagNumber(7)
  $fixnum.Int64 get rid => $_getI64(6);
  @$pb.TagNumber(7)
  set rid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasRid() => $_has(6);
  @$pb.TagNumber(7)
  void clearRid() => clearField(7);

  /// 投票
  @$pb.TagNumber(8)
  AdditionVote2 get vote2 => $_getN(7);
  @$pb.TagNumber(8)
  set vote2(AdditionVote2 v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasVote2() => $_has(7);
  @$pb.TagNumber(8)
  void clearVote2() => clearField(8);
  @$pb.TagNumber(8)
  AdditionVote2 ensureVote2() => $_ensure(7);

  @$pb.TagNumber(9)
  AdditionUgc get ugc => $_getN(8);
  @$pb.TagNumber(9)
  set ugc(AdditionUgc v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasUgc() => $_has(8);
  @$pb.TagNumber(9)
  void clearUgc() => clearField(9);
  @$pb.TagNumber(9)
  AdditionUgc ensureUgc() => $_ensure(8);

  /// up主预约发布卡
  @$pb.TagNumber(10)
  AdditionUP get up => $_getN(9);
  @$pb.TagNumber(10)
  set up(AdditionUP v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasUp() => $_has(9);
  @$pb.TagNumber(10)
  void clearUp() => clearField(10);
  @$pb.TagNumber(10)
  AdditionUP ensureUp() => $_ensure(9);

  @$pb.TagNumber(11)
  $core.bool get needWriteCalender => $_getBF(10);
  @$pb.TagNumber(11)
  set needWriteCalender($core.bool v) {
    $_setBool(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasNeedWriteCalender() => $_has(10);
  @$pb.TagNumber(11)
  void clearNeedWriteCalender() => clearField(11);

  @$pb.TagNumber(12)
  AdditionArticle get article => $_getN(11);
  @$pb.TagNumber(12)
  set article(AdditionArticle v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasArticle() => $_has(11);
  @$pb.TagNumber(12)
  void clearArticle() => clearField(12);
  @$pb.TagNumber(12)
  AdditionArticle ensureArticle() => $_ensure(11);

  @$pb.TagNumber(13)
  AdditionLiveRoom get live => $_getN(12);
  @$pb.TagNumber(13)
  set live(AdditionLiveRoom v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasLive() => $_has(12);
  @$pb.TagNumber(13)
  void clearLive() => clearField(13);
  @$pb.TagNumber(13)
  AdditionLiveRoom ensureLive() => $_ensure(12);
}

/// 动态-发布人模块
class ModuleAuthor extends $pb.GeneratedMessage {
  factory ModuleAuthor({
    $fixnum.Int64? mid,
    $core.String? ptimeLabelText,
    UserInfo? author,
    DecorateCard? decorateCard,
    $core.String? uri,
    $core.Iterable<ThreePointItem>? tpList,
    ModuleAuthorBadgeType? badgeType,
    ModuleAuthorBadgeButton? badgeButton,
    $core.int? attend,
    Relation? relation,
    Weight? weight,
    $core.bool? showFollow,
    $core.bool? isTop,
    $core.String? ptimeLocationText,
    $core.bool? showLevel,
    OnlyFans? onlyFans,
  }) {
    final $result = create();
    if (mid != null) {
      $result.mid = mid;
    }
    if (ptimeLabelText != null) {
      $result.ptimeLabelText = ptimeLabelText;
    }
    if (author != null) {
      $result.author = author;
    }
    if (decorateCard != null) {
      $result.decorateCard = decorateCard;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (tpList != null) {
      $result.tpList.addAll(tpList);
    }
    if (badgeType != null) {
      $result.badgeType = badgeType;
    }
    if (badgeButton != null) {
      $result.badgeButton = badgeButton;
    }
    if (attend != null) {
      $result.attend = attend;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (weight != null) {
      $result.weight = weight;
    }
    if (showFollow != null) {
      $result.showFollow = showFollow;
    }
    if (isTop != null) {
      $result.isTop = isTop;
    }
    if (ptimeLocationText != null) {
      $result.ptimeLocationText = ptimeLocationText;
    }
    if (showLevel != null) {
      $result.showLevel = showLevel;
    }
    if (onlyFans != null) {
      $result.onlyFans = onlyFans;
    }
    return $result;
  }
  ModuleAuthor._() : super();
  factory ModuleAuthor.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAuthor.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAuthor',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'mid')
    ..aOS(2, _omitFieldNames ? '' : 'ptimeLabelText')
    ..aOM<UserInfo>(3, _omitFieldNames ? '' : 'author',
        subBuilder: UserInfo.create)
    ..aOM<DecorateCard>(4, _omitFieldNames ? '' : 'decorateCard',
        subBuilder: DecorateCard.create)
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..pc<ThreePointItem>(6, _omitFieldNames ? '' : 'tpList', $pb.PbFieldType.PM,
        subBuilder: ThreePointItem.create)
    ..e<ModuleAuthorBadgeType>(
        7, _omitFieldNames ? '' : 'badgeType', $pb.PbFieldType.OE,
        defaultOrMaker: ModuleAuthorBadgeType.module_author_badge_type_none,
        valueOf: ModuleAuthorBadgeType.valueOf,
        enumValues: ModuleAuthorBadgeType.values)
    ..aOM<ModuleAuthorBadgeButton>(8, _omitFieldNames ? '' : 'badgeButton',
        subBuilder: ModuleAuthorBadgeButton.create)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'attend', $pb.PbFieldType.O3)
    ..aOM<Relation>(10, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..aOM<Weight>(11, _omitFieldNames ? '' : 'weight',
        subBuilder: Weight.create)
    ..aOB(12, _omitFieldNames ? '' : 'showFollow')
    ..aOB(13, _omitFieldNames ? '' : 'isTop')
    ..aOS(14, _omitFieldNames ? '' : 'ptimeLocationText')
    ..aOB(15, _omitFieldNames ? '' : 'showLevel')
    ..aOM<OnlyFans>(16, _omitFieldNames ? '' : 'onlyFans',
        subBuilder: OnlyFans.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAuthor clone() => ModuleAuthor()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAuthor copyWith(void Function(ModuleAuthor) updates) =>
      super.copyWith((message) => updates(message as ModuleAuthor))
          as ModuleAuthor;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAuthor create() => ModuleAuthor._();
  ModuleAuthor createEmptyInstance() => create();
  static $pb.PbList<ModuleAuthor> createRepeated() =>
      $pb.PbList<ModuleAuthor>();
  @$core.pragma('dart2js:noInline')
  static ModuleAuthor getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleAuthor>(create);
  static ModuleAuthor? _defaultInstance;

  /// 用户mid
  @$pb.TagNumber(1)
  $fixnum.Int64 get mid => $_getI64(0);
  @$pb.TagNumber(1)
  set mid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMid() => $_has(0);
  @$pb.TagNumber(1)
  void clearMid() => clearField(1);

  /// 时间标签
  @$pb.TagNumber(2)
  $core.String get ptimeLabelText => $_getSZ(1);
  @$pb.TagNumber(2)
  set ptimeLabelText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPtimeLabelText() => $_has(1);
  @$pb.TagNumber(2)
  void clearPtimeLabelText() => clearField(2);

  /// 用户详情
  @$pb.TagNumber(3)
  UserInfo get author => $_getN(2);
  @$pb.TagNumber(3)
  set author(UserInfo v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasAuthor() => $_has(2);
  @$pb.TagNumber(3)
  void clearAuthor() => clearField(3);
  @$pb.TagNumber(3)
  UserInfo ensureAuthor() => $_ensure(2);

  /// 装扮卡片
  @$pb.TagNumber(4)
  DecorateCard get decorateCard => $_getN(3);
  @$pb.TagNumber(4)
  set decorateCard(DecorateCard v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDecorateCard() => $_has(3);
  @$pb.TagNumber(4)
  void clearDecorateCard() => clearField(4);
  @$pb.TagNumber(4)
  DecorateCard ensureDecorateCard() => $_ensure(3);

  /// 点击跳转链接
  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  /// 右侧操作区域 - 三点样式
  @$pb.TagNumber(6)
  $core.List<ThreePointItem> get tpList => $_getList(5);

  /// 右侧操作区域样式枚举
  @$pb.TagNumber(7)
  ModuleAuthorBadgeType get badgeType => $_getN(6);
  @$pb.TagNumber(7)
  set badgeType(ModuleAuthorBadgeType v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBadgeType() => $_has(6);
  @$pb.TagNumber(7)
  void clearBadgeType() => clearField(7);

  /// 右侧操作区域 - 按钮样式
  @$pb.TagNumber(8)
  ModuleAuthorBadgeButton get badgeButton => $_getN(7);
  @$pb.TagNumber(8)
  set badgeButton(ModuleAuthorBadgeButton v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBadgeButton() => $_has(7);
  @$pb.TagNumber(8)
  void clearBadgeButton() => clearField(8);
  @$pb.TagNumber(8)
  ModuleAuthorBadgeButton ensureBadgeButton() => $_ensure(7);

  /// 是否关注
  /// 1:关注 0:不关注 默认0，注：点赞列表使用，其他场景不使用该字段
  @$pb.TagNumber(9)
  $core.int get attend => $_getIZ(8);
  @$pb.TagNumber(9)
  set attend($core.int v) {
    $_setSignedInt32(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasAttend() => $_has(8);
  @$pb.TagNumber(9)
  void clearAttend() => clearField(9);

  /// 关注状态
  @$pb.TagNumber(10)
  Relation get relation => $_getN(9);
  @$pb.TagNumber(10)
  set relation(Relation v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasRelation() => $_has(9);
  @$pb.TagNumber(10)
  void clearRelation() => clearField(10);
  @$pb.TagNumber(10)
  Relation ensureRelation() => $_ensure(9);

  /// 右侧操作区域 - 提权样式
  @$pb.TagNumber(11)
  Weight get weight => $_getN(10);
  @$pb.TagNumber(11)
  set weight(Weight v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasWeight() => $_has(10);
  @$pb.TagNumber(11)
  void clearWeight() => clearField(11);
  @$pb.TagNumber(11)
  Weight ensureWeight() => $_ensure(10);

  /// 是否展示关注
  @$pb.TagNumber(12)
  $core.bool get showFollow => $_getBF(11);
  @$pb.TagNumber(12)
  set showFollow($core.bool v) {
    $_setBool(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasShowFollow() => $_has(11);
  @$pb.TagNumber(12)
  void clearShowFollow() => clearField(12);

  /// 是否置顶
  @$pb.TagNumber(13)
  $core.bool get isTop => $_getBF(12);
  @$pb.TagNumber(13)
  set isTop($core.bool v) {
    $_setBool(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasIsTop() => $_has(12);
  @$pb.TagNumber(13)
  void clearIsTop() => clearField(13);

  /// ip属地
  @$pb.TagNumber(14)
  $core.String get ptimeLocationText => $_getSZ(13);
  @$pb.TagNumber(14)
  set ptimeLocationText($core.String v) {
    $_setString(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasPtimeLocationText() => $_has(13);
  @$pb.TagNumber(14)
  void clearPtimeLocationText() => clearField(14);

  @$pb.TagNumber(15)
  $core.bool get showLevel => $_getBF(14);
  @$pb.TagNumber(15)
  set showLevel($core.bool v) {
    $_setBool(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasShowLevel() => $_has(14);
  @$pb.TagNumber(15)
  void clearShowLevel() => clearField(15);

  @$pb.TagNumber(16)
  OnlyFans get onlyFans => $_getN(15);
  @$pb.TagNumber(16)
  set onlyFans(OnlyFans v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasOnlyFans() => $_has(15);
  @$pb.TagNumber(16)
  void clearOnlyFans() => clearField(16);
  @$pb.TagNumber(16)
  OnlyFans ensureOnlyFans() => $_ensure(15);
}

/// 动态列表渲染部分-用户模块-按钮
class ModuleAuthorBadgeButton extends $pb.GeneratedMessage {
  factory ModuleAuthorBadgeButton({
    $core.String? icon,
    $core.String? title,
    $core.int? state,
    $fixnum.Int64? id,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (state != null) {
      $result.state = state;
    }
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  ModuleAuthorBadgeButton._() : super();
  factory ModuleAuthorBadgeButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAuthorBadgeButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAuthorBadgeButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'state', $pb.PbFieldType.O3)
    ..aInt64(4, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAuthorBadgeButton clone() =>
      ModuleAuthorBadgeButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAuthorBadgeButton copyWith(
          void Function(ModuleAuthorBadgeButton) updates) =>
      super.copyWith((message) => updates(message as ModuleAuthorBadgeButton))
          as ModuleAuthorBadgeButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAuthorBadgeButton create() => ModuleAuthorBadgeButton._();
  ModuleAuthorBadgeButton createEmptyInstance() => create();
  static $pb.PbList<ModuleAuthorBadgeButton> createRepeated() =>
      $pb.PbList<ModuleAuthorBadgeButton>();
  @$core.pragma('dart2js:noInline')
  static ModuleAuthorBadgeButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleAuthorBadgeButton>(create);
  static ModuleAuthorBadgeButton? _defaultInstance;

  /// 图标
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 状态
  @$pb.TagNumber(3)
  $core.int get state => $_getIZ(2);
  @$pb.TagNumber(3)
  set state($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasState() => $_has(2);
  @$pb.TagNumber(3)
  void clearState() => clearField(3);

  /// 物料ID
  @$pb.TagNumber(4)
  $fixnum.Int64 get id => $_getI64(3);
  @$pb.TagNumber(4)
  set id($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasId() => $_has(3);
  @$pb.TagNumber(4)
  void clearId() => clearField(4);
}

/// 动态列表-用户模块-转发模板
class ModuleAuthorForward extends $pb.GeneratedMessage {
  factory ModuleAuthorForward({
    $core.Iterable<ModuleAuthorForwardTitle>? title,
    $core.String? url,
    $fixnum.Int64? uid,
    $core.String? ptimeLabelText,
    $core.bool? showFollow,
    $core.String? faceUrl,
    Relation? relation,
    $core.Iterable<ThreePointItem>? tpList,
  }) {
    final $result = create();
    if (title != null) {
      $result.title.addAll(title);
    }
    if (url != null) {
      $result.url = url;
    }
    if (uid != null) {
      $result.uid = uid;
    }
    if (ptimeLabelText != null) {
      $result.ptimeLabelText = ptimeLabelText;
    }
    if (showFollow != null) {
      $result.showFollow = showFollow;
    }
    if (faceUrl != null) {
      $result.faceUrl = faceUrl;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (tpList != null) {
      $result.tpList.addAll(tpList);
    }
    return $result;
  }
  ModuleAuthorForward._() : super();
  factory ModuleAuthorForward.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAuthorForward.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAuthorForward',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ModuleAuthorForwardTitle>(
        1, _omitFieldNames ? '' : 'title', $pb.PbFieldType.PM,
        subBuilder: ModuleAuthorForwardTitle.create)
    ..aOS(2, _omitFieldNames ? '' : 'url')
    ..aInt64(3, _omitFieldNames ? '' : 'uid')
    ..aOS(4, _omitFieldNames ? '' : 'ptimeLabelText')
    ..aOB(5, _omitFieldNames ? '' : 'showFollow')
    ..aOS(6, _omitFieldNames ? '' : 'faceUrl')
    ..aOM<Relation>(7, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..pc<ThreePointItem>(8, _omitFieldNames ? '' : 'tpList', $pb.PbFieldType.PM,
        subBuilder: ThreePointItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAuthorForward clone() => ModuleAuthorForward()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAuthorForward copyWith(void Function(ModuleAuthorForward) updates) =>
      super.copyWith((message) => updates(message as ModuleAuthorForward))
          as ModuleAuthorForward;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAuthorForward create() => ModuleAuthorForward._();
  ModuleAuthorForward createEmptyInstance() => create();
  static $pb.PbList<ModuleAuthorForward> createRepeated() =>
      $pb.PbList<ModuleAuthorForward>();
  @$core.pragma('dart2js:noInline')
  static ModuleAuthorForward getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleAuthorForward>(create);
  static ModuleAuthorForward? _defaultInstance;

  /// 展示标题
  @$pb.TagNumber(1)
  $core.List<ModuleAuthorForwardTitle> get title => $_getList(0);

  /// 源卡片跳转链接
  @$pb.TagNumber(2)
  $core.String get url => $_getSZ(1);
  @$pb.TagNumber(2)
  set url($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearUrl() => clearField(2);

  /// 用户uid
  @$pb.TagNumber(3)
  $fixnum.Int64 get uid => $_getI64(2);
  @$pb.TagNumber(3)
  set uid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUid() => $_has(2);
  @$pb.TagNumber(3)
  void clearUid() => clearField(3);

  /// 时间标签
  @$pb.TagNumber(4)
  $core.String get ptimeLabelText => $_getSZ(3);
  @$pb.TagNumber(4)
  set ptimeLabelText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPtimeLabelText() => $_has(3);
  @$pb.TagNumber(4)
  void clearPtimeLabelText() => clearField(4);

  /// 是否展示关注
  @$pb.TagNumber(5)
  $core.bool get showFollow => $_getBF(4);
  @$pb.TagNumber(5)
  set showFollow($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasShowFollow() => $_has(4);
  @$pb.TagNumber(5)
  void clearShowFollow() => clearField(5);

  /// 源up主头像
  @$pb.TagNumber(6)
  $core.String get faceUrl => $_getSZ(5);
  @$pb.TagNumber(6)
  set faceUrl($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasFaceUrl() => $_has(5);
  @$pb.TagNumber(6)
  void clearFaceUrl() => clearField(6);

  /// 双向关系
  @$pb.TagNumber(7)
  Relation get relation => $_getN(6);
  @$pb.TagNumber(7)
  set relation(Relation v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasRelation() => $_has(6);
  @$pb.TagNumber(7)
  void clearRelation() => clearField(7);
  @$pb.TagNumber(7)
  Relation ensureRelation() => $_ensure(6);

  /// 右侧操作区域 - 三点样式
  @$pb.TagNumber(8)
  $core.List<ThreePointItem> get tpList => $_getList(7);
}

/// 动态列表-用户模块-转发模板-title部分
class ModuleAuthorForwardTitle extends $pb.GeneratedMessage {
  factory ModuleAuthorForwardTitle({
    $core.String? text,
    $core.String? url,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  ModuleAuthorForwardTitle._() : super();
  factory ModuleAuthorForwardTitle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleAuthorForwardTitle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleAuthorForwardTitle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleAuthorForwardTitle clone() =>
      ModuleAuthorForwardTitle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleAuthorForwardTitle copyWith(
          void Function(ModuleAuthorForwardTitle) updates) =>
      super.copyWith((message) => updates(message as ModuleAuthorForwardTitle))
          as ModuleAuthorForwardTitle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleAuthorForwardTitle create() => ModuleAuthorForwardTitle._();
  ModuleAuthorForwardTitle createEmptyInstance() => create();
  static $pb.PbList<ModuleAuthorForwardTitle> createRepeated() =>
      $pb.PbList<ModuleAuthorForwardTitle>();
  @$core.pragma('dart2js:noInline')
  static ModuleAuthorForwardTitle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleAuthorForwardTitle>(create);
  static ModuleAuthorForwardTitle? _defaultInstance;

  /// 文案
  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  /// 跳转链接
  @$pb.TagNumber(2)
  $core.String get url => $_getSZ(1);
  @$pb.TagNumber(2)
  set url($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearUrl() => clearField(2);
}

enum ModuleBanner_Item { user, notSet }

/// 动态列表-通栏
class ModuleBanner extends $pb.GeneratedMessage {
  factory ModuleBanner({
    $core.String? title,
    ModuleBannerType? type,
    ModuleBannerUser? user,
    $core.String? dislikeText,
    $core.String? dislikeIcon,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (type != null) {
      $result.type = type;
    }
    if (user != null) {
      $result.user = user;
    }
    if (dislikeText != null) {
      $result.dislikeText = dislikeText;
    }
    if (dislikeIcon != null) {
      $result.dislikeIcon = dislikeIcon;
    }
    return $result;
  }
  ModuleBanner._() : super();
  factory ModuleBanner.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleBanner.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ModuleBanner_Item> _ModuleBanner_ItemByTag =
      {3: ModuleBanner_Item.user, 0: ModuleBanner_Item.notSet};
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleBanner',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [3])
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..e<ModuleBannerType>(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: ModuleBannerType.module_banner_type_none,
        valueOf: ModuleBannerType.valueOf,
        enumValues: ModuleBannerType.values)
    ..aOM<ModuleBannerUser>(3, _omitFieldNames ? '' : 'user',
        subBuilder: ModuleBannerUser.create)
    ..aOS(4, _omitFieldNames ? '' : 'dislikeText')
    ..aOS(5, _omitFieldNames ? '' : 'dislikeIcon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleBanner clone() => ModuleBanner()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleBanner copyWith(void Function(ModuleBanner) updates) =>
      super.copyWith((message) => updates(message as ModuleBanner))
          as ModuleBanner;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleBanner create() => ModuleBanner._();
  ModuleBanner createEmptyInstance() => create();
  static $pb.PbList<ModuleBanner> createRepeated() =>
      $pb.PbList<ModuleBanner>();
  @$core.pragma('dart2js:noInline')
  static ModuleBanner getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleBanner>(create);
  static ModuleBanner? _defaultInstance;

  ModuleBanner_Item whichItem() => _ModuleBanner_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 模块标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 卡片类型
  @$pb.TagNumber(2)
  ModuleBannerType get type => $_getN(1);
  @$pb.TagNumber(2)
  set type(ModuleBannerType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasType() => $_has(1);
  @$pb.TagNumber(2)
  void clearType() => clearField(2);

  @$pb.TagNumber(3)
  ModuleBannerUser get user => $_getN(2);
  @$pb.TagNumber(3)
  set user(ModuleBannerUser v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUser() => $_has(2);
  @$pb.TagNumber(3)
  void clearUser() => clearField(3);
  @$pb.TagNumber(3)
  ModuleBannerUser ensureUser() => $_ensure(2);

  /// 不感兴趣文案
  @$pb.TagNumber(4)
  $core.String get dislikeText => $_getSZ(3);
  @$pb.TagNumber(4)
  set dislikeText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDislikeText() => $_has(3);
  @$pb.TagNumber(4)
  void clearDislikeText() => clearField(4);

  /// 不感兴趣图标
  @$pb.TagNumber(5)
  $core.String get dislikeIcon => $_getSZ(4);
  @$pb.TagNumber(5)
  set dislikeIcon($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDislikeIcon() => $_has(4);
  @$pb.TagNumber(5)
  void clearDislikeIcon() => clearField(5);
}

/// 动态通栏-用户
class ModuleBannerUser extends $pb.GeneratedMessage {
  factory ModuleBannerUser({
    $core.Iterable<ModuleBannerUserItem>? list,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    return $result;
  }
  ModuleBannerUser._() : super();
  factory ModuleBannerUser.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleBannerUser.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleBannerUser',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ModuleBannerUserItem>(
        1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: ModuleBannerUserItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleBannerUser clone() => ModuleBannerUser()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleBannerUser copyWith(void Function(ModuleBannerUser) updates) =>
      super.copyWith((message) => updates(message as ModuleBannerUser))
          as ModuleBannerUser;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleBannerUser create() => ModuleBannerUser._();
  ModuleBannerUser createEmptyInstance() => create();
  static $pb.PbList<ModuleBannerUser> createRepeated() =>
      $pb.PbList<ModuleBannerUser>();
  @$core.pragma('dart2js:noInline')
  static ModuleBannerUser getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleBannerUser>(create);
  static ModuleBannerUser? _defaultInstance;

  /// 卡片列表
  @$pb.TagNumber(1)
  $core.List<ModuleBannerUserItem> get list => $_getList(0);
}

/// 动态通栏-推荐用户卡
class ModuleBannerUserItem extends $pb.GeneratedMessage {
  factory ModuleBannerUserItem({
    $core.String? face,
    $core.String? name,
    $fixnum.Int64? uid,
    LiveState? liveState,
    OfficialVerify? official,
    VipInfo? vip,
    $core.String? label,
    AdditionalButton? button,
    $core.String? uri,
    Relation? relation,
  }) {
    final $result = create();
    if (face != null) {
      $result.face = face;
    }
    if (name != null) {
      $result.name = name;
    }
    if (uid != null) {
      $result.uid = uid;
    }
    if (liveState != null) {
      $result.liveState = liveState;
    }
    if (official != null) {
      $result.official = official;
    }
    if (vip != null) {
      $result.vip = vip;
    }
    if (label != null) {
      $result.label = label;
    }
    if (button != null) {
      $result.button = button;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    return $result;
  }
  ModuleBannerUserItem._() : super();
  factory ModuleBannerUserItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleBannerUserItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleBannerUserItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'face')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aInt64(3, _omitFieldNames ? '' : 'uid')
    ..e<LiveState>(4, _omitFieldNames ? '' : 'liveState', $pb.PbFieldType.OE,
        defaultOrMaker: LiveState.live_none,
        valueOf: LiveState.valueOf,
        enumValues: LiveState.values)
    ..aOM<OfficialVerify>(5, _omitFieldNames ? '' : 'official',
        subBuilder: OfficialVerify.create)
    ..aOM<VipInfo>(6, _omitFieldNames ? '' : 'vip', subBuilder: VipInfo.create)
    ..aOS(7, _omitFieldNames ? '' : 'label')
    ..aOM<AdditionalButton>(8, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(9, _omitFieldNames ? '' : 'uri')
    ..aOM<Relation>(10, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleBannerUserItem clone() =>
      ModuleBannerUserItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleBannerUserItem copyWith(void Function(ModuleBannerUserItem) updates) =>
      super.copyWith((message) => updates(message as ModuleBannerUserItem))
          as ModuleBannerUserItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleBannerUserItem create() => ModuleBannerUserItem._();
  ModuleBannerUserItem createEmptyInstance() => create();
  static $pb.PbList<ModuleBannerUserItem> createRepeated() =>
      $pb.PbList<ModuleBannerUserItem>();
  @$core.pragma('dart2js:noInline')
  static ModuleBannerUserItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleBannerUserItem>(create);
  static ModuleBannerUserItem? _defaultInstance;

  /// up主头像
  @$pb.TagNumber(1)
  $core.String get face => $_getSZ(0);
  @$pb.TagNumber(1)
  set face($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasFace() => $_has(0);
  @$pb.TagNumber(1)
  void clearFace() => clearField(1);

  /// up主昵称
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  /// up主uid
  @$pb.TagNumber(3)
  $fixnum.Int64 get uid => $_getI64(2);
  @$pb.TagNumber(3)
  set uid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUid() => $_has(2);
  @$pb.TagNumber(3)
  void clearUid() => clearField(3);

  /// 直播状态
  @$pb.TagNumber(4)
  LiveState get liveState => $_getN(3);
  @$pb.TagNumber(4)
  set liveState(LiveState v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLiveState() => $_has(3);
  @$pb.TagNumber(4)
  void clearLiveState() => clearField(4);

  /// 认证信息
  @$pb.TagNumber(5)
  OfficialVerify get official => $_getN(4);
  @$pb.TagNumber(5)
  set official(OfficialVerify v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasOfficial() => $_has(4);
  @$pb.TagNumber(5)
  void clearOfficial() => clearField(5);
  @$pb.TagNumber(5)
  OfficialVerify ensureOfficial() => $_ensure(4);

  /// 大会员信息
  @$pb.TagNumber(6)
  VipInfo get vip => $_getN(5);
  @$pb.TagNumber(6)
  set vip(VipInfo v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasVip() => $_has(5);
  @$pb.TagNumber(6)
  void clearVip() => clearField(6);
  @$pb.TagNumber(6)
  VipInfo ensureVip() => $_ensure(5);

  /// 标签信息
  @$pb.TagNumber(7)
  $core.String get label => $_getSZ(6);
  @$pb.TagNumber(7)
  set label($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasLabel() => $_has(6);
  @$pb.TagNumber(7)
  void clearLabel() => clearField(7);

  /// 按钮
  @$pb.TagNumber(8)
  AdditionalButton get button => $_getN(7);
  @$pb.TagNumber(8)
  set button(AdditionalButton v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasButton() => $_has(7);
  @$pb.TagNumber(8)
  void clearButton() => clearField(8);
  @$pb.TagNumber(8)
  AdditionalButton ensureButton() => $_ensure(7);

  /// 跳转地址
  @$pb.TagNumber(9)
  $core.String get uri => $_getSZ(8);
  @$pb.TagNumber(9)
  set uri($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasUri() => $_has(8);
  @$pb.TagNumber(9)
  void clearUri() => clearField(9);

  @$pb.TagNumber(10)
  Relation get relation => $_getN(9);
  @$pb.TagNumber(10)
  set relation(Relation v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasRelation() => $_has(9);
  @$pb.TagNumber(10)
  void clearRelation() => clearField(10);
  @$pb.TagNumber(10)
  Relation ensureRelation() => $_ensure(9);
}

class ModuleBlocked extends $pb.GeneratedMessage {
  factory ModuleBlocked({
    ImageSet? icon,
    ImageSet? bgImg,
    $core.String? hintMessage,
    IconButton? actBtn,
    MdlBlockedStyle? blockStyle,
    $core.String? subHintMessage,
    OneLineText? videoBottomTextUpper,
    OneLineText? videoBottomTextLower,
    $core.String? archiveTitle,
    OneLineText? hintMessageOneLine,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (bgImg != null) {
      $result.bgImg = bgImg;
    }
    if (hintMessage != null) {
      $result.hintMessage = hintMessage;
    }
    if (actBtn != null) {
      $result.actBtn = actBtn;
    }
    if (blockStyle != null) {
      $result.blockStyle = blockStyle;
    }
    if (subHintMessage != null) {
      $result.subHintMessage = subHintMessage;
    }
    if (videoBottomTextUpper != null) {
      $result.videoBottomTextUpper = videoBottomTextUpper;
    }
    if (videoBottomTextLower != null) {
      $result.videoBottomTextLower = videoBottomTextLower;
    }
    if (archiveTitle != null) {
      $result.archiveTitle = archiveTitle;
    }
    if (hintMessageOneLine != null) {
      $result.hintMessageOneLine = hintMessageOneLine;
    }
    return $result;
  }
  ModuleBlocked._() : super();
  factory ModuleBlocked.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleBlocked.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleBlocked',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<ImageSet>(1, _omitFieldNames ? '' : 'icon',
        subBuilder: ImageSet.create)
    ..aOM<ImageSet>(2, _omitFieldNames ? '' : 'bgImg',
        subBuilder: ImageSet.create)
    ..aOS(3, _omitFieldNames ? '' : 'hintMessage')
    ..aOM<IconButton>(4, _omitFieldNames ? '' : 'actBtn',
        subBuilder: IconButton.create)
    ..e<MdlBlockedStyle>(
        5, _omitFieldNames ? '' : 'blockStyle', $pb.PbFieldType.OE,
        defaultOrMaker: MdlBlockedStyle.BLOCKED_STYLE_DEFAULT,
        valueOf: MdlBlockedStyle.valueOf,
        enumValues: MdlBlockedStyle.values)
    ..aOS(6, _omitFieldNames ? '' : 'subHintMessage')
    ..aOM<OneLineText>(7, _omitFieldNames ? '' : 'videoBottomTextUpper',
        subBuilder: OneLineText.create)
    ..aOM<OneLineText>(8, _omitFieldNames ? '' : 'videoBottomTextLower',
        subBuilder: OneLineText.create)
    ..aOS(9, _omitFieldNames ? '' : 'archiveTitle')
    ..aOM<OneLineText>(10, _omitFieldNames ? '' : 'hintMessageOneLine',
        subBuilder: OneLineText.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleBlocked clone() => ModuleBlocked()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleBlocked copyWith(void Function(ModuleBlocked) updates) =>
      super.copyWith((message) => updates(message as ModuleBlocked))
          as ModuleBlocked;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleBlocked create() => ModuleBlocked._();
  ModuleBlocked createEmptyInstance() => create();
  static $pb.PbList<ModuleBlocked> createRepeated() =>
      $pb.PbList<ModuleBlocked>();
  @$core.pragma('dart2js:noInline')
  static ModuleBlocked getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleBlocked>(create);
  static ModuleBlocked? _defaultInstance;

  @$pb.TagNumber(1)
  ImageSet get icon => $_getN(0);
  @$pb.TagNumber(1)
  set icon(ImageSet v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);
  @$pb.TagNumber(1)
  ImageSet ensureIcon() => $_ensure(0);

  @$pb.TagNumber(2)
  ImageSet get bgImg => $_getN(1);
  @$pb.TagNumber(2)
  set bgImg(ImageSet v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBgImg() => $_has(1);
  @$pb.TagNumber(2)
  void clearBgImg() => clearField(2);
  @$pb.TagNumber(2)
  ImageSet ensureBgImg() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.String get hintMessage => $_getSZ(2);
  @$pb.TagNumber(3)
  set hintMessage($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHintMessage() => $_has(2);
  @$pb.TagNumber(3)
  void clearHintMessage() => clearField(3);

  @$pb.TagNumber(4)
  IconButton get actBtn => $_getN(3);
  @$pb.TagNumber(4)
  set actBtn(IconButton v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasActBtn() => $_has(3);
  @$pb.TagNumber(4)
  void clearActBtn() => clearField(4);
  @$pb.TagNumber(4)
  IconButton ensureActBtn() => $_ensure(3);

  @$pb.TagNumber(5)
  MdlBlockedStyle get blockStyle => $_getN(4);
  @$pb.TagNumber(5)
  set blockStyle(MdlBlockedStyle v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasBlockStyle() => $_has(4);
  @$pb.TagNumber(5)
  void clearBlockStyle() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get subHintMessage => $_getSZ(5);
  @$pb.TagNumber(6)
  set subHintMessage($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasSubHintMessage() => $_has(5);
  @$pb.TagNumber(6)
  void clearSubHintMessage() => clearField(6);

  @$pb.TagNumber(7)
  OneLineText get videoBottomTextUpper => $_getN(6);
  @$pb.TagNumber(7)
  set videoBottomTextUpper(OneLineText v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasVideoBottomTextUpper() => $_has(6);
  @$pb.TagNumber(7)
  void clearVideoBottomTextUpper() => clearField(7);
  @$pb.TagNumber(7)
  OneLineText ensureVideoBottomTextUpper() => $_ensure(6);

  @$pb.TagNumber(8)
  OneLineText get videoBottomTextLower => $_getN(7);
  @$pb.TagNumber(8)
  set videoBottomTextLower(OneLineText v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasVideoBottomTextLower() => $_has(7);
  @$pb.TagNumber(8)
  void clearVideoBottomTextLower() => clearField(8);
  @$pb.TagNumber(8)
  OneLineText ensureVideoBottomTextLower() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.String get archiveTitle => $_getSZ(8);
  @$pb.TagNumber(9)
  set archiveTitle($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasArchiveTitle() => $_has(8);
  @$pb.TagNumber(9)
  void clearArchiveTitle() => clearField(9);

  @$pb.TagNumber(10)
  OneLineText get hintMessageOneLine => $_getN(9);
  @$pb.TagNumber(10)
  set hintMessageOneLine(OneLineText v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasHintMessageOneLine() => $_has(9);
  @$pb.TagNumber(10)
  void clearHintMessageOneLine() => clearField(10);
  @$pb.TagNumber(10)
  OneLineText ensureHintMessageOneLine() => $_ensure(9);
}

/// 底部模块
class ModuleButtom extends $pb.GeneratedMessage {
  factory ModuleButtom({
    ModuleStat? moduleStat,
    $core.bool? commentBox,
    $core.String? commentBoxMsg,
    $core.Iterable<ModuleButtom_InteractionIcon>? interactionIcons,
    $core.Iterable<InteractionFace>? faces,
  }) {
    final $result = create();
    if (moduleStat != null) {
      $result.moduleStat = moduleStat;
    }
    if (commentBox != null) {
      $result.commentBox = commentBox;
    }
    if (commentBoxMsg != null) {
      $result.commentBoxMsg = commentBoxMsg;
    }
    if (interactionIcons != null) {
      $result.interactionIcons.addAll(interactionIcons);
    }
    if (faces != null) {
      $result.faces.addAll(faces);
    }
    return $result;
  }
  ModuleButtom._() : super();
  factory ModuleButtom.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleButtom.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleButtom',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<ModuleStat>(1, _omitFieldNames ? '' : 'moduleStat',
        subBuilder: ModuleStat.create)
    ..aOB(2, _omitFieldNames ? '' : 'commentBox')
    ..aOS(3, _omitFieldNames ? '' : 'commentBoxMsg')
    ..pc<ModuleButtom_InteractionIcon>(
        4, _omitFieldNames ? '' : 'interactionIcons', $pb.PbFieldType.KE,
        valueOf: ModuleButtom_InteractionIcon.valueOf,
        enumValues: ModuleButtom_InteractionIcon.values,
        defaultEnumValue: ModuleButtom_InteractionIcon.ICON_INVALID)
    ..pc<InteractionFace>(5, _omitFieldNames ? '' : 'faces', $pb.PbFieldType.PM,
        subBuilder: InteractionFace.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleButtom clone() => ModuleButtom()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleButtom copyWith(void Function(ModuleButtom) updates) =>
      super.copyWith((message) => updates(message as ModuleButtom))
          as ModuleButtom;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleButtom create() => ModuleButtom._();
  ModuleButtom createEmptyInstance() => create();
  static $pb.PbList<ModuleButtom> createRepeated() =>
      $pb.PbList<ModuleButtom>();
  @$core.pragma('dart2js:noInline')
  static ModuleButtom getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleButtom>(create);
  static ModuleButtom? _defaultInstance;

  /// 计数模块
  @$pb.TagNumber(1)
  ModuleStat get moduleStat => $_getN(0);
  @$pb.TagNumber(1)
  set moduleStat(ModuleStat v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasModuleStat() => $_has(0);
  @$pb.TagNumber(1)
  void clearModuleStat() => clearField(1);
  @$pb.TagNumber(1)
  ModuleStat ensureModuleStat() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.bool get commentBox => $_getBF(1);
  @$pb.TagNumber(2)
  set commentBox($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCommentBox() => $_has(1);
  @$pb.TagNumber(2)
  void clearCommentBox() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get commentBoxMsg => $_getSZ(2);
  @$pb.TagNumber(3)
  set commentBoxMsg($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCommentBoxMsg() => $_has(2);
  @$pb.TagNumber(3)
  void clearCommentBoxMsg() => clearField(3);

  @$pb.TagNumber(4)
  $core.List<ModuleButtom_InteractionIcon> get interactionIcons => $_getList(3);

  @$pb.TagNumber(5)
  $core.List<InteractionFace> get faces => $_getList(4);
}

class ModuleButton extends $pb.GeneratedMessage {
  factory ModuleButton({
    IconButton? btn,
  }) {
    final $result = create();
    if (btn != null) {
      $result.btn = btn;
    }
    return $result;
  }
  ModuleButton._() : super();
  factory ModuleButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<IconButton>(1, _omitFieldNames ? '' : 'btn',
        subBuilder: IconButton.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleButton clone() => ModuleButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleButton copyWith(void Function(ModuleButton) updates) =>
      super.copyWith((message) => updates(message as ModuleButton))
          as ModuleButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleButton create() => ModuleButton._();
  ModuleButton createEmptyInstance() => create();
  static $pb.PbList<ModuleButton> createRepeated() =>
      $pb.PbList<ModuleButton>();
  @$core.pragma('dart2js:noInline')
  static ModuleButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleButton>(create);
  static ModuleButton? _defaultInstance;

  @$pb.TagNumber(1)
  IconButton get btn => $_getN(0);
  @$pb.TagNumber(1)
  set btn(IconButton v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasBtn() => $_has(0);
  @$pb.TagNumber(1)
  void clearBtn() => clearField(1);
  @$pb.TagNumber(1)
  IconButton ensureBtn() => $_ensure(0);
}

/// 评论外露模块
class ModuleComment extends $pb.GeneratedMessage {
  factory ModuleComment({
    $core.Iterable<CmtShowItem>? cmtShowItem,
  }) {
    final $result = create();
    if (cmtShowItem != null) {
      $result.cmtShowItem.addAll(cmtShowItem);
    }
    return $result;
  }
  ModuleComment._() : super();
  factory ModuleComment.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleComment.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleComment',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<CmtShowItem>(
        1, _omitFieldNames ? '' : 'cmtShowItem', $pb.PbFieldType.PM,
        protoName: 'cmtShowItem', subBuilder: CmtShowItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleComment clone() => ModuleComment()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleComment copyWith(void Function(ModuleComment) updates) =>
      super.copyWith((message) => updates(message as ModuleComment))
          as ModuleComment;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleComment create() => ModuleComment._();
  ModuleComment createEmptyInstance() => create();
  static $pb.PbList<ModuleComment> createRepeated() =>
      $pb.PbList<ModuleComment>();
  @$core.pragma('dart2js:noInline')
  static ModuleComment getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleComment>(create);
  static ModuleComment? _defaultInstance;

  /// 评论外露展示项
  @$pb.TagNumber(1)
  $core.List<CmtShowItem> get cmtShowItem => $_getList(0);
}

class ModuleCopyright extends $pb.GeneratedMessage {
  factory ModuleCopyright({
    $core.String? leftText,
    $core.String? rightText,
  }) {
    final $result = create();
    if (leftText != null) {
      $result.leftText = leftText;
    }
    if (rightText != null) {
      $result.rightText = rightText;
    }
    return $result;
  }
  ModuleCopyright._() : super();
  factory ModuleCopyright.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleCopyright.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleCopyright',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'leftText')
    ..aOS(2, _omitFieldNames ? '' : 'rightText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleCopyright clone() => ModuleCopyright()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleCopyright copyWith(void Function(ModuleCopyright) updates) =>
      super.copyWith((message) => updates(message as ModuleCopyright))
          as ModuleCopyright;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleCopyright create() => ModuleCopyright._();
  ModuleCopyright createEmptyInstance() => create();
  static $pb.PbList<ModuleCopyright> createRepeated() =>
      $pb.PbList<ModuleCopyright>();
  @$core.pragma('dart2js:noInline')
  static ModuleCopyright getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleCopyright>(create);
  static ModuleCopyright? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get leftText => $_getSZ(0);
  @$pb.TagNumber(1)
  set leftText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasLeftText() => $_has(0);
  @$pb.TagNumber(1)
  void clearLeftText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get rightText => $_getSZ(1);
  @$pb.TagNumber(2)
  set rightText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRightText() => $_has(1);
  @$pb.TagNumber(2)
  void clearRightText() => clearField(2);
}

/// 动态-描述文字模块
class ModuleDesc extends $pb.GeneratedMessage {
  factory ModuleDesc({
    $core.Iterable<Description>? desc,
    $core.String? jumpUri,
    $core.String? text,
  }) {
    final $result = create();
    if (desc != null) {
      $result.desc.addAll(desc);
    }
    if (jumpUri != null) {
      $result.jumpUri = jumpUri;
    }
    if (text != null) {
      $result.text = text;
    }
    return $result;
  }
  ModuleDesc._() : super();
  factory ModuleDesc.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleDesc.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleDesc',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<Description>(1, _omitFieldNames ? '' : 'desc', $pb.PbFieldType.PM,
        subBuilder: Description.create)
    ..aOS(2, _omitFieldNames ? '' : 'jumpUri')
    ..aOS(3, _omitFieldNames ? '' : 'text')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleDesc clone() => ModuleDesc()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleDesc copyWith(void Function(ModuleDesc) updates) =>
      super.copyWith((message) => updates(message as ModuleDesc)) as ModuleDesc;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleDesc create() => ModuleDesc._();
  ModuleDesc createEmptyInstance() => create();
  static $pb.PbList<ModuleDesc> createRepeated() => $pb.PbList<ModuleDesc>();
  @$core.pragma('dart2js:noInline')
  static ModuleDesc getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleDesc>(create);
  static ModuleDesc? _defaultInstance;

  /// 描述信息(已按高亮拆分)
  @$pb.TagNumber(1)
  $core.List<Description> get desc => $_getList(0);

  /// 点击跳转链接
  @$pb.TagNumber(2)
  $core.String get jumpUri => $_getSZ(1);
  @$pb.TagNumber(2)
  set jumpUri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasJumpUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearJumpUri() => clearField(2);

  /// 文本原本
  @$pb.TagNumber(3)
  $core.String get text => $_getSZ(2);
  @$pb.TagNumber(3)
  set text($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasText() => $_has(2);
  @$pb.TagNumber(3)
  void clearText() => clearField(3);
}

/// 正文商品卡参数
class ModuleDescGoods extends $pb.GeneratedMessage {
  factory ModuleDescGoods({
    $core.int? sourceType,
    $core.String? jumpUrl,
    $core.String? schemaUrl,
    $fixnum.Int64? itemId,
    $core.Iterable<$core.String>? openWhiteList,
    $core.bool? userWebV2,
    $core.String? adMark,
    $core.String? schemaPackageName,
    $core.int? jumpType,
    $core.String? appName,
  }) {
    final $result = create();
    if (sourceType != null) {
      $result.sourceType = sourceType;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (schemaUrl != null) {
      $result.schemaUrl = schemaUrl;
    }
    if (itemId != null) {
      $result.itemId = itemId;
    }
    if (openWhiteList != null) {
      $result.openWhiteList.addAll(openWhiteList);
    }
    if (userWebV2 != null) {
      $result.userWebV2 = userWebV2;
    }
    if (adMark != null) {
      $result.adMark = adMark;
    }
    if (schemaPackageName != null) {
      $result.schemaPackageName = schemaPackageName;
    }
    if (jumpType != null) {
      $result.jumpType = jumpType;
    }
    if (appName != null) {
      $result.appName = appName;
    }
    return $result;
  }
  ModuleDescGoods._() : super();
  factory ModuleDescGoods.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleDescGoods.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleDescGoods',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'sourceType', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'jumpUrl')
    ..aOS(3, _omitFieldNames ? '' : 'schemaUrl')
    ..aInt64(4, _omitFieldNames ? '' : 'itemId')
    ..pPS(5, _omitFieldNames ? '' : 'openWhiteList')
    ..aOB(6, _omitFieldNames ? '' : 'userWebV2')
    ..aOS(7, _omitFieldNames ? '' : 'adMark')
    ..aOS(8, _omitFieldNames ? '' : 'schemaPackageName')
    ..a<$core.int>(9, _omitFieldNames ? '' : 'jumpType', $pb.PbFieldType.O3)
    ..aOS(10, _omitFieldNames ? '' : 'appName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleDescGoods clone() => ModuleDescGoods()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleDescGoods copyWith(void Function(ModuleDescGoods) updates) =>
      super.copyWith((message) => updates(message as ModuleDescGoods))
          as ModuleDescGoods;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleDescGoods create() => ModuleDescGoods._();
  ModuleDescGoods createEmptyInstance() => create();
  static $pb.PbList<ModuleDescGoods> createRepeated() =>
      $pb.PbList<ModuleDescGoods>();
  @$core.pragma('dart2js:noInline')
  static ModuleDescGoods getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleDescGoods>(create);
  static ModuleDescGoods? _defaultInstance;

  /// 商品类型
  /// 1:淘宝 2:会员购
  @$pb.TagNumber(1)
  $core.int get sourceType => $_getIZ(0);
  @$pb.TagNumber(1)
  set sourceType($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSourceType() => $_has(0);
  @$pb.TagNumber(1)
  void clearSourceType() => clearField(1);

  /// 跳转链接
  @$pb.TagNumber(2)
  $core.String get jumpUrl => $_getSZ(1);
  @$pb.TagNumber(2)
  set jumpUrl($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasJumpUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearJumpUrl() => clearField(2);

  /// schema_url
  @$pb.TagNumber(3)
  $core.String get schemaUrl => $_getSZ(2);
  @$pb.TagNumber(3)
  set schemaUrl($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasSchemaUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearSchemaUrl() => clearField(3);

  /// item_id
  @$pb.TagNumber(4)
  $fixnum.Int64 get itemId => $_getI64(3);
  @$pb.TagNumber(4)
  set itemId($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasItemId() => $_has(3);
  @$pb.TagNumber(4)
  void clearItemId() => clearField(4);

  /// open_white_list
  @$pb.TagNumber(5)
  $core.List<$core.String> get openWhiteList => $_getList(4);

  /// use_web_v2
  @$pb.TagNumber(6)
  $core.bool get userWebV2 => $_getBF(5);
  @$pb.TagNumber(6)
  set userWebV2($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUserWebV2() => $_has(5);
  @$pb.TagNumber(6)
  void clearUserWebV2() => clearField(6);

  /// ad mark
  @$pb.TagNumber(7)
  $core.String get adMark => $_getSZ(6);
  @$pb.TagNumber(7)
  set adMark($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasAdMark() => $_has(6);
  @$pb.TagNumber(7)
  void clearAdMark() => clearField(7);

  /// schemaPackageName(Android用)
  @$pb.TagNumber(8)
  $core.String get schemaPackageName => $_getSZ(7);
  @$pb.TagNumber(8)
  set schemaPackageName($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasSchemaPackageName() => $_has(7);
  @$pb.TagNumber(8)
  void clearSchemaPackageName() => clearField(8);

  @$pb.TagNumber(9)
  $core.int get jumpType => $_getIZ(8);
  @$pb.TagNumber(9)
  set jumpType($core.int v) {
    $_setSignedInt32(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasJumpType() => $_has(8);
  @$pb.TagNumber(9)
  void clearJumpType() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get appName => $_getSZ(9);
  @$pb.TagNumber(10)
  set appName($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasAppName() => $_has(9);
  @$pb.TagNumber(10)
  void clearAppName() => clearField(10);
}

/// 动态-争议小黄条模块
class ModuleDispute extends $pb.GeneratedMessage {
  factory ModuleDispute({
    $core.String? title,
    $core.String? desc,
    $core.String? uri,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  ModuleDispute._() : super();
  factory ModuleDispute.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleDispute.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleDispute',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleDispute clone() => ModuleDispute()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleDispute copyWith(void Function(ModuleDispute) updates) =>
      super.copyWith((message) => updates(message as ModuleDispute))
          as ModuleDispute;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleDispute create() => ModuleDispute._();
  ModuleDispute createEmptyInstance() => create();
  static $pb.PbList<ModuleDispute> createRepeated() =>
      $pb.PbList<ModuleDispute>();
  @$core.pragma('dart2js:noInline')
  static ModuleDispute getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleDispute>(create);
  static ModuleDispute? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 描述内容
  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  /// 跳转链接
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);
}

enum ModuleDynamic_ModuleItem {
  dynArchive,
  dynPgc,
  dynCourSeason,
  dynCourBatch,
  dynForward,
  dynDraw,
  dynArticle,
  dynMusic,
  dynCommon,
  dynCommonLive,
  dynMedialist,
  dynApplet,
  dynSubscription,
  dynLiveRcmd,
  dynUgcSeason,
  dynSubscriptionNew,
  dynCourBatchUp,
  dynTopicSet,
  notSet
}

/// 动态-详情模块
class ModuleDynamic extends $pb.GeneratedMessage {
  factory ModuleDynamic({
    ModuleDynamicType? type,
    MdlDynArchive? dynArchive,
    MdlDynPGC? dynPgc,
    MdlDynCourSeason? dynCourSeason,
    MdlDynCourBatch? dynCourBatch,
    MdlDynForward? dynForward,
    MdlDynDraw? dynDraw,
    MdlDynArticle? dynArticle,
    MdlDynMusic? dynMusic,
    MdlDynCommon? dynCommon,
    MdlDynLive? dynCommonLive,
    MdlDynMedialist? dynMedialist,
    MdlDynApplet? dynApplet,
    MdlDynSubscription? dynSubscription,
    MdlDynLiveRcmd? dynLiveRcmd,
    MdlDynUGCSeason? dynUgcSeason,
    MdlDynSubscriptionNew? dynSubscriptionNew,
    MdlDynCourUp? dynCourBatchUp,
    MdlDynTopicSet? dynTopicSet,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (dynArchive != null) {
      $result.dynArchive = dynArchive;
    }
    if (dynPgc != null) {
      $result.dynPgc = dynPgc;
    }
    if (dynCourSeason != null) {
      $result.dynCourSeason = dynCourSeason;
    }
    if (dynCourBatch != null) {
      $result.dynCourBatch = dynCourBatch;
    }
    if (dynForward != null) {
      $result.dynForward = dynForward;
    }
    if (dynDraw != null) {
      $result.dynDraw = dynDraw;
    }
    if (dynArticle != null) {
      $result.dynArticle = dynArticle;
    }
    if (dynMusic != null) {
      $result.dynMusic = dynMusic;
    }
    if (dynCommon != null) {
      $result.dynCommon = dynCommon;
    }
    if (dynCommonLive != null) {
      $result.dynCommonLive = dynCommonLive;
    }
    if (dynMedialist != null) {
      $result.dynMedialist = dynMedialist;
    }
    if (dynApplet != null) {
      $result.dynApplet = dynApplet;
    }
    if (dynSubscription != null) {
      $result.dynSubscription = dynSubscription;
    }
    if (dynLiveRcmd != null) {
      $result.dynLiveRcmd = dynLiveRcmd;
    }
    if (dynUgcSeason != null) {
      $result.dynUgcSeason = dynUgcSeason;
    }
    if (dynSubscriptionNew != null) {
      $result.dynSubscriptionNew = dynSubscriptionNew;
    }
    if (dynCourBatchUp != null) {
      $result.dynCourBatchUp = dynCourBatchUp;
    }
    if (dynTopicSet != null) {
      $result.dynTopicSet = dynTopicSet;
    }
    return $result;
  }
  ModuleDynamic._() : super();
  factory ModuleDynamic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleDynamic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ModuleDynamic_ModuleItem>
      _ModuleDynamic_ModuleItemByTag = {
    2: ModuleDynamic_ModuleItem.dynArchive,
    3: ModuleDynamic_ModuleItem.dynPgc,
    4: ModuleDynamic_ModuleItem.dynCourSeason,
    5: ModuleDynamic_ModuleItem.dynCourBatch,
    6: ModuleDynamic_ModuleItem.dynForward,
    7: ModuleDynamic_ModuleItem.dynDraw,
    8: ModuleDynamic_ModuleItem.dynArticle,
    9: ModuleDynamic_ModuleItem.dynMusic,
    10: ModuleDynamic_ModuleItem.dynCommon,
    11: ModuleDynamic_ModuleItem.dynCommonLive,
    12: ModuleDynamic_ModuleItem.dynMedialist,
    13: ModuleDynamic_ModuleItem.dynApplet,
    14: ModuleDynamic_ModuleItem.dynSubscription,
    15: ModuleDynamic_ModuleItem.dynLiveRcmd,
    16: ModuleDynamic_ModuleItem.dynUgcSeason,
    17: ModuleDynamic_ModuleItem.dynSubscriptionNew,
    18: ModuleDynamic_ModuleItem.dynCourBatchUp,
    19: ModuleDynamic_ModuleItem.dynTopicSet,
    0: ModuleDynamic_ModuleItem.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleDynamic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
    ..e<ModuleDynamicType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: ModuleDynamicType.mdl_dyn_archive,
        valueOf: ModuleDynamicType.valueOf,
        enumValues: ModuleDynamicType.values)
    ..aOM<MdlDynArchive>(2, _omitFieldNames ? '' : 'dynArchive',
        subBuilder: MdlDynArchive.create)
    ..aOM<MdlDynPGC>(3, _omitFieldNames ? '' : 'dynPgc',
        subBuilder: MdlDynPGC.create)
    ..aOM<MdlDynCourSeason>(4, _omitFieldNames ? '' : 'dynCourSeason',
        subBuilder: MdlDynCourSeason.create)
    ..aOM<MdlDynCourBatch>(5, _omitFieldNames ? '' : 'dynCourBatch',
        subBuilder: MdlDynCourBatch.create)
    ..aOM<MdlDynForward>(6, _omitFieldNames ? '' : 'dynForward',
        subBuilder: MdlDynForward.create)
    ..aOM<MdlDynDraw>(7, _omitFieldNames ? '' : 'dynDraw',
        subBuilder: MdlDynDraw.create)
    ..aOM<MdlDynArticle>(8, _omitFieldNames ? '' : 'dynArticle',
        subBuilder: MdlDynArticle.create)
    ..aOM<MdlDynMusic>(9, _omitFieldNames ? '' : 'dynMusic',
        subBuilder: MdlDynMusic.create)
    ..aOM<MdlDynCommon>(10, _omitFieldNames ? '' : 'dynCommon',
        subBuilder: MdlDynCommon.create)
    ..aOM<MdlDynLive>(11, _omitFieldNames ? '' : 'dynCommonLive',
        subBuilder: MdlDynLive.create)
    ..aOM<MdlDynMedialist>(12, _omitFieldNames ? '' : 'dynMedialist',
        subBuilder: MdlDynMedialist.create)
    ..aOM<MdlDynApplet>(13, _omitFieldNames ? '' : 'dynApplet',
        subBuilder: MdlDynApplet.create)
    ..aOM<MdlDynSubscription>(14, _omitFieldNames ? '' : 'dynSubscription',
        subBuilder: MdlDynSubscription.create)
    ..aOM<MdlDynLiveRcmd>(15, _omitFieldNames ? '' : 'dynLiveRcmd',
        subBuilder: MdlDynLiveRcmd.create)
    ..aOM<MdlDynUGCSeason>(16, _omitFieldNames ? '' : 'dynUgcSeason',
        subBuilder: MdlDynUGCSeason.create)
    ..aOM<MdlDynSubscriptionNew>(
        17, _omitFieldNames ? '' : 'dynSubscriptionNew',
        subBuilder: MdlDynSubscriptionNew.create)
    ..aOM<MdlDynCourUp>(18, _omitFieldNames ? '' : 'dynCourBatchUp',
        subBuilder: MdlDynCourUp.create)
    ..aOM<MdlDynTopicSet>(19, _omitFieldNames ? '' : 'dynTopicSet',
        subBuilder: MdlDynTopicSet.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleDynamic clone() => ModuleDynamic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleDynamic copyWith(void Function(ModuleDynamic) updates) =>
      super.copyWith((message) => updates(message as ModuleDynamic))
          as ModuleDynamic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleDynamic create() => ModuleDynamic._();
  ModuleDynamic createEmptyInstance() => create();
  static $pb.PbList<ModuleDynamic> createRepeated() =>
      $pb.PbList<ModuleDynamic>();
  @$core.pragma('dart2js:noInline')
  static ModuleDynamic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleDynamic>(create);
  static ModuleDynamic? _defaultInstance;

  ModuleDynamic_ModuleItem whichModuleItem() =>
      _ModuleDynamic_ModuleItemByTag[$_whichOneof(0)]!;
  void clearModuleItem() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  ModuleDynamicType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(ModuleDynamicType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 稿件
  @$pb.TagNumber(2)
  MdlDynArchive get dynArchive => $_getN(1);
  @$pb.TagNumber(2)
  set dynArchive(MdlDynArchive v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynArchive() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynArchive() => clearField(2);
  @$pb.TagNumber(2)
  MdlDynArchive ensureDynArchive() => $_ensure(1);

  /// pgc
  @$pb.TagNumber(3)
  MdlDynPGC get dynPgc => $_getN(2);
  @$pb.TagNumber(3)
  set dynPgc(MdlDynPGC v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDynPgc() => $_has(2);
  @$pb.TagNumber(3)
  void clearDynPgc() => clearField(3);
  @$pb.TagNumber(3)
  MdlDynPGC ensureDynPgc() => $_ensure(2);

  /// 付费课程-系列
  @$pb.TagNumber(4)
  MdlDynCourSeason get dynCourSeason => $_getN(3);
  @$pb.TagNumber(4)
  set dynCourSeason(MdlDynCourSeason v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDynCourSeason() => $_has(3);
  @$pb.TagNumber(4)
  void clearDynCourSeason() => clearField(4);
  @$pb.TagNumber(4)
  MdlDynCourSeason ensureDynCourSeason() => $_ensure(3);

  /// 付费课程-批次
  @$pb.TagNumber(5)
  MdlDynCourBatch get dynCourBatch => $_getN(4);
  @$pb.TagNumber(5)
  set dynCourBatch(MdlDynCourBatch v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDynCourBatch() => $_has(4);
  @$pb.TagNumber(5)
  void clearDynCourBatch() => clearField(5);
  @$pb.TagNumber(5)
  MdlDynCourBatch ensureDynCourBatch() => $_ensure(4);

  /// 转发卡
  @$pb.TagNumber(6)
  MdlDynForward get dynForward => $_getN(5);
  @$pb.TagNumber(6)
  set dynForward(MdlDynForward v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDynForward() => $_has(5);
  @$pb.TagNumber(6)
  void clearDynForward() => clearField(6);
  @$pb.TagNumber(6)
  MdlDynForward ensureDynForward() => $_ensure(5);

  /// 图文
  @$pb.TagNumber(7)
  MdlDynDraw get dynDraw => $_getN(6);
  @$pb.TagNumber(7)
  set dynDraw(MdlDynDraw v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDynDraw() => $_has(6);
  @$pb.TagNumber(7)
  void clearDynDraw() => clearField(7);
  @$pb.TagNumber(7)
  MdlDynDraw ensureDynDraw() => $_ensure(6);

  /// 专栏
  @$pb.TagNumber(8)
  MdlDynArticle get dynArticle => $_getN(7);
  @$pb.TagNumber(8)
  set dynArticle(MdlDynArticle v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasDynArticle() => $_has(7);
  @$pb.TagNumber(8)
  void clearDynArticle() => clearField(8);
  @$pb.TagNumber(8)
  MdlDynArticle ensureDynArticle() => $_ensure(7);

  /// 音频
  @$pb.TagNumber(9)
  MdlDynMusic get dynMusic => $_getN(8);
  @$pb.TagNumber(9)
  set dynMusic(MdlDynMusic v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasDynMusic() => $_has(8);
  @$pb.TagNumber(9)
  void clearDynMusic() => clearField(9);
  @$pb.TagNumber(9)
  MdlDynMusic ensureDynMusic() => $_ensure(8);

  /// 通用卡方
  @$pb.TagNumber(10)
  MdlDynCommon get dynCommon => $_getN(9);
  @$pb.TagNumber(10)
  set dynCommon(MdlDynCommon v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasDynCommon() => $_has(9);
  @$pb.TagNumber(10)
  void clearDynCommon() => clearField(10);
  @$pb.TagNumber(10)
  MdlDynCommon ensureDynCommon() => $_ensure(9);

  /// 直播卡
  @$pb.TagNumber(11)
  MdlDynLive get dynCommonLive => $_getN(10);
  @$pb.TagNumber(11)
  set dynCommonLive(MdlDynLive v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasDynCommonLive() => $_has(10);
  @$pb.TagNumber(11)
  void clearDynCommonLive() => clearField(11);
  @$pb.TagNumber(11)
  MdlDynLive ensureDynCommonLive() => $_ensure(10);

  /// 播单
  @$pb.TagNumber(12)
  MdlDynMedialist get dynMedialist => $_getN(11);
  @$pb.TagNumber(12)
  set dynMedialist(MdlDynMedialist v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasDynMedialist() => $_has(11);
  @$pb.TagNumber(12)
  void clearDynMedialist() => clearField(12);
  @$pb.TagNumber(12)
  MdlDynMedialist ensureDynMedialist() => $_ensure(11);

  /// 小程序卡
  @$pb.TagNumber(13)
  MdlDynApplet get dynApplet => $_getN(12);
  @$pb.TagNumber(13)
  set dynApplet(MdlDynApplet v) {
    setField(13, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasDynApplet() => $_has(12);
  @$pb.TagNumber(13)
  void clearDynApplet() => clearField(13);
  @$pb.TagNumber(13)
  MdlDynApplet ensureDynApplet() => $_ensure(12);

  /// 订阅卡
  @$pb.TagNumber(14)
  MdlDynSubscription get dynSubscription => $_getN(13);
  @$pb.TagNumber(14)
  set dynSubscription(MdlDynSubscription v) {
    setField(14, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasDynSubscription() => $_has(13);
  @$pb.TagNumber(14)
  void clearDynSubscription() => clearField(14);
  @$pb.TagNumber(14)
  MdlDynSubscription ensureDynSubscription() => $_ensure(13);

  /// 直播推荐卡
  @$pb.TagNumber(15)
  MdlDynLiveRcmd get dynLiveRcmd => $_getN(14);
  @$pb.TagNumber(15)
  set dynLiveRcmd(MdlDynLiveRcmd v) {
    setField(15, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasDynLiveRcmd() => $_has(14);
  @$pb.TagNumber(15)
  void clearDynLiveRcmd() => clearField(15);
  @$pb.TagNumber(15)
  MdlDynLiveRcmd ensureDynLiveRcmd() => $_ensure(14);

  /// UGC合集
  @$pb.TagNumber(16)
  MdlDynUGCSeason get dynUgcSeason => $_getN(15);
  @$pb.TagNumber(16)
  set dynUgcSeason(MdlDynUGCSeason v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasDynUgcSeason() => $_has(15);
  @$pb.TagNumber(16)
  void clearDynUgcSeason() => clearField(16);
  @$pb.TagNumber(16)
  MdlDynUGCSeason ensureDynUgcSeason() => $_ensure(15);

  /// 订阅卡
  @$pb.TagNumber(17)
  MdlDynSubscriptionNew get dynSubscriptionNew => $_getN(16);
  @$pb.TagNumber(17)
  set dynSubscriptionNew(MdlDynSubscriptionNew v) {
    setField(17, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasDynSubscriptionNew() => $_has(16);
  @$pb.TagNumber(17)
  void clearDynSubscriptionNew() => clearField(17);
  @$pb.TagNumber(17)
  MdlDynSubscriptionNew ensureDynSubscriptionNew() => $_ensure(16);

  /// 课程
  @$pb.TagNumber(18)
  MdlDynCourUp get dynCourBatchUp => $_getN(17);
  @$pb.TagNumber(18)
  set dynCourBatchUp(MdlDynCourUp v) {
    setField(18, v);
  }

  @$pb.TagNumber(18)
  $core.bool hasDynCourBatchUp() => $_has(17);
  @$pb.TagNumber(18)
  void clearDynCourBatchUp() => clearField(18);
  @$pb.TagNumber(18)
  MdlDynCourUp ensureDynCourBatchUp() => $_ensure(17);

  /// 话题集合
  @$pb.TagNumber(19)
  MdlDynTopicSet get dynTopicSet => $_getN(18);
  @$pb.TagNumber(19)
  set dynTopicSet(MdlDynTopicSet v) {
    setField(19, v);
  }

  @$pb.TagNumber(19)
  $core.bool hasDynTopicSet() => $_has(18);
  @$pb.TagNumber(19)
  void clearDynTopicSet() => clearField(19);
  @$pb.TagNumber(19)
  MdlDynTopicSet ensureDynTopicSet() => $_ensure(18);
}

/// 动态-小卡模块
class ModuleExtend extends $pb.GeneratedMessage {
  factory ModuleExtend({
    $core.Iterable<ModuleExtendItem>? extend,
    $core.String? uri,
  }) {
    final $result = create();
    if (extend != null) {
      $result.extend.addAll(extend);
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  ModuleExtend._() : super();
  factory ModuleExtend.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleExtend.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleExtend',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ModuleExtendItem>(
        1, _omitFieldNames ? '' : 'extend', $pb.PbFieldType.PM,
        subBuilder: ModuleExtendItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleExtend clone() => ModuleExtend()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleExtend copyWith(void Function(ModuleExtend) updates) =>
      super.copyWith((message) => updates(message as ModuleExtend))
          as ModuleExtend;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleExtend create() => ModuleExtend._();
  ModuleExtend createEmptyInstance() => create();
  static $pb.PbList<ModuleExtend> createRepeated() =>
      $pb.PbList<ModuleExtend>();
  @$core.pragma('dart2js:noInline')
  static ModuleExtend getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleExtend>(create);
  static ModuleExtend? _defaultInstance;

  /// 详情
  @$pb.TagNumber(1)
  $core.List<ModuleExtendItem> get extend => $_getList(0);

  /// 模块整体跳转uri
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);
}

enum ModuleExtendItem_Extend {
  extInfoTopic,
  extInfoLbs,
  extInfoHot,
  extInfoGame,
  extInfoCommon,
  extInfoOgv,
  notSet
}

/// 动态-拓展小卡模块
class ModuleExtendItem extends $pb.GeneratedMessage {
  factory ModuleExtendItem({
    DynExtendType? type,
    ExtInfoTopic? extInfoTopic,
    ExtInfoLBS? extInfoLbs,
    ExtInfoHot? extInfoHot,
    ExtInfoGame? extInfoGame,
    ExtInfoCommon? extInfoCommon,
    ExtInfoOGV? extInfoOgv,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (extInfoTopic != null) {
      $result.extInfoTopic = extInfoTopic;
    }
    if (extInfoLbs != null) {
      $result.extInfoLbs = extInfoLbs;
    }
    if (extInfoHot != null) {
      $result.extInfoHot = extInfoHot;
    }
    if (extInfoGame != null) {
      $result.extInfoGame = extInfoGame;
    }
    if (extInfoCommon != null) {
      $result.extInfoCommon = extInfoCommon;
    }
    if (extInfoOgv != null) {
      $result.extInfoOgv = extInfoOgv;
    }
    return $result;
  }
  ModuleExtendItem._() : super();
  factory ModuleExtendItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleExtendItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ModuleExtendItem_Extend>
      _ModuleExtendItem_ExtendByTag = {
    2: ModuleExtendItem_Extend.extInfoTopic,
    3: ModuleExtendItem_Extend.extInfoLbs,
    4: ModuleExtendItem_Extend.extInfoHot,
    5: ModuleExtendItem_Extend.extInfoGame,
    6: ModuleExtendItem_Extend.extInfoCommon,
    7: ModuleExtendItem_Extend.extInfoOgv,
    0: ModuleExtendItem_Extend.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleExtendItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3, 4, 5, 6, 7])
    ..e<DynExtendType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: DynExtendType.dyn_ext_type_none,
        valueOf: DynExtendType.valueOf,
        enumValues: DynExtendType.values)
    ..aOM<ExtInfoTopic>(2, _omitFieldNames ? '' : 'extInfoTopic',
        subBuilder: ExtInfoTopic.create)
    ..aOM<ExtInfoLBS>(3, _omitFieldNames ? '' : 'extInfoLbs',
        subBuilder: ExtInfoLBS.create)
    ..aOM<ExtInfoHot>(4, _omitFieldNames ? '' : 'extInfoHot',
        subBuilder: ExtInfoHot.create)
    ..aOM<ExtInfoGame>(5, _omitFieldNames ? '' : 'extInfoGame',
        subBuilder: ExtInfoGame.create)
    ..aOM<ExtInfoCommon>(6, _omitFieldNames ? '' : 'extInfoCommon',
        subBuilder: ExtInfoCommon.create)
    ..aOM<ExtInfoOGV>(7, _omitFieldNames ? '' : 'extInfoOgv',
        subBuilder: ExtInfoOGV.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleExtendItem clone() => ModuleExtendItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleExtendItem copyWith(void Function(ModuleExtendItem) updates) =>
      super.copyWith((message) => updates(message as ModuleExtendItem))
          as ModuleExtendItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleExtendItem create() => ModuleExtendItem._();
  ModuleExtendItem createEmptyInstance() => create();
  static $pb.PbList<ModuleExtendItem> createRepeated() =>
      $pb.PbList<ModuleExtendItem>();
  @$core.pragma('dart2js:noInline')
  static ModuleExtendItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleExtendItem>(create);
  static ModuleExtendItem? _defaultInstance;

  ModuleExtendItem_Extend whichExtend() =>
      _ModuleExtendItem_ExtendByTag[$_whichOneof(0)]!;
  void clearExtend() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  DynExtendType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(DynExtendType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 废弃
  @$pb.TagNumber(2)
  ExtInfoTopic get extInfoTopic => $_getN(1);
  @$pb.TagNumber(2)
  set extInfoTopic(ExtInfoTopic v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasExtInfoTopic() => $_has(1);
  @$pb.TagNumber(2)
  void clearExtInfoTopic() => clearField(2);
  @$pb.TagNumber(2)
  ExtInfoTopic ensureExtInfoTopic() => $_ensure(1);

  /// 废弃
  @$pb.TagNumber(3)
  ExtInfoLBS get extInfoLbs => $_getN(2);
  @$pb.TagNumber(3)
  set extInfoLbs(ExtInfoLBS v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasExtInfoLbs() => $_has(2);
  @$pb.TagNumber(3)
  void clearExtInfoLbs() => clearField(3);
  @$pb.TagNumber(3)
  ExtInfoLBS ensureExtInfoLbs() => $_ensure(2);

  /// 废弃
  @$pb.TagNumber(4)
  ExtInfoHot get extInfoHot => $_getN(3);
  @$pb.TagNumber(4)
  set extInfoHot(ExtInfoHot v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasExtInfoHot() => $_has(3);
  @$pb.TagNumber(4)
  void clearExtInfoHot() => clearField(4);
  @$pb.TagNumber(4)
  ExtInfoHot ensureExtInfoHot() => $_ensure(3);

  /// 废弃
  @$pb.TagNumber(5)
  ExtInfoGame get extInfoGame => $_getN(4);
  @$pb.TagNumber(5)
  set extInfoGame(ExtInfoGame v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasExtInfoGame() => $_has(4);
  @$pb.TagNumber(5)
  void clearExtInfoGame() => clearField(5);
  @$pb.TagNumber(5)
  ExtInfoGame ensureExtInfoGame() => $_ensure(4);

  @$pb.TagNumber(6)
  ExtInfoCommon get extInfoCommon => $_getN(5);
  @$pb.TagNumber(6)
  set extInfoCommon(ExtInfoCommon v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasExtInfoCommon() => $_has(5);
  @$pb.TagNumber(6)
  void clearExtInfoCommon() => clearField(6);
  @$pb.TagNumber(6)
  ExtInfoCommon ensureExtInfoCommon() => $_ensure(5);

  @$pb.TagNumber(7)
  ExtInfoOGV get extInfoOgv => $_getN(6);
  @$pb.TagNumber(7)
  set extInfoOgv(ExtInfoOGV v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasExtInfoOgv() => $_has(6);
  @$pb.TagNumber(7)
  void clearExtInfoOgv() => clearField(7);
  @$pb.TagNumber(7)
  ExtInfoOGV ensureExtInfoOgv() => $_ensure(6);
}

/// 动态-折叠模块
class ModuleFold extends $pb.GeneratedMessage {
  factory ModuleFold({
    FoldType? foldType,
    $core.String? text,
    $core.String? foldIds,
    $core.Iterable<UserInfo>? foldUsers,
    TopicMergedResource? topicMergedResource,
  }) {
    final $result = create();
    if (foldType != null) {
      $result.foldType = foldType;
    }
    if (text != null) {
      $result.text = text;
    }
    if (foldIds != null) {
      $result.foldIds = foldIds;
    }
    if (foldUsers != null) {
      $result.foldUsers.addAll(foldUsers);
    }
    if (topicMergedResource != null) {
      $result.topicMergedResource = topicMergedResource;
    }
    return $result;
  }
  ModuleFold._() : super();
  factory ModuleFold.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleFold.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleFold',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<FoldType>(1, _omitFieldNames ? '' : 'foldType', $pb.PbFieldType.OE,
        defaultOrMaker: FoldType.FoldTypeZore,
        valueOf: FoldType.valueOf,
        enumValues: FoldType.values)
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..aOS(3, _omitFieldNames ? '' : 'foldIds')
    ..pc<UserInfo>(4, _omitFieldNames ? '' : 'foldUsers', $pb.PbFieldType.PM,
        subBuilder: UserInfo.create)
    ..aOM<TopicMergedResource>(5, _omitFieldNames ? '' : 'topicMergedResource',
        subBuilder: TopicMergedResource.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleFold clone() => ModuleFold()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleFold copyWith(void Function(ModuleFold) updates) =>
      super.copyWith((message) => updates(message as ModuleFold)) as ModuleFold;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleFold create() => ModuleFold._();
  ModuleFold createEmptyInstance() => create();
  static $pb.PbList<ModuleFold> createRepeated() => $pb.PbList<ModuleFold>();
  @$core.pragma('dart2js:noInline')
  static ModuleFold getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleFold>(create);
  static ModuleFold? _defaultInstance;

  /// 折叠分类
  @$pb.TagNumber(1)
  FoldType get foldType => $_getN(0);
  @$pb.TagNumber(1)
  set foldType(FoldType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasFoldType() => $_has(0);
  @$pb.TagNumber(1)
  void clearFoldType() => clearField(1);

  /// 折叠文案
  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);

  /// 被折叠的动态
  @$pb.TagNumber(3)
  $core.String get foldIds => $_getSZ(2);
  @$pb.TagNumber(3)
  set foldIds($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFoldIds() => $_has(2);
  @$pb.TagNumber(3)
  void clearFoldIds() => clearField(3);

  /// 被折叠的用户信息
  @$pb.TagNumber(4)
  $core.List<UserInfo> get foldUsers => $_getList(3);

  @$pb.TagNumber(5)
  TopicMergedResource get topicMergedResource => $_getN(4);
  @$pb.TagNumber(5)
  set topicMergedResource(TopicMergedResource v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasTopicMergedResource() => $_has(4);
  @$pb.TagNumber(5)
  void clearTopicMergedResource() => clearField(5);
  @$pb.TagNumber(5)
  TopicMergedResource ensureTopicMergedResource() => $_ensure(4);
}

/// 外露交互模块
class ModuleInteraction extends $pb.GeneratedMessage {
  factory ModuleInteraction({
    $core.Iterable<InteractionItem>? interactionItem,
  }) {
    final $result = create();
    if (interactionItem != null) {
      $result.interactionItem.addAll(interactionItem);
    }
    return $result;
  }
  ModuleInteraction._() : super();
  factory ModuleInteraction.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleInteraction.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleInteraction',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<InteractionItem>(
        1, _omitFieldNames ? '' : 'interactionItem', $pb.PbFieldType.PM,
        subBuilder: InteractionItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleInteraction clone() => ModuleInteraction()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleInteraction copyWith(void Function(ModuleInteraction) updates) =>
      super.copyWith((message) => updates(message as ModuleInteraction))
          as ModuleInteraction;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleInteraction create() => ModuleInteraction._();
  ModuleInteraction createEmptyInstance() => create();
  static $pb.PbList<ModuleInteraction> createRepeated() =>
      $pb.PbList<ModuleInteraction>();
  @$core.pragma('dart2js:noInline')
  static ModuleInteraction getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleInteraction>(create);
  static ModuleInteraction? _defaultInstance;

  /// 外露交互模块
  @$pb.TagNumber(1)
  $core.List<InteractionItem> get interactionItem => $_getList(0);
}

/// 获取物料失败模块
class ModuleItemNull extends $pb.GeneratedMessage {
  factory ModuleItemNull({
    $core.String? icon,
    $core.String? text,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (text != null) {
      $result.text = text;
    }
    return $result;
  }
  ModuleItemNull._() : super();
  factory ModuleItemNull.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleItemNull.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleItemNull',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleItemNull clone() => ModuleItemNull()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleItemNull copyWith(void Function(ModuleItemNull) updates) =>
      super.copyWith((message) => updates(message as ModuleItemNull))
          as ModuleItemNull;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleItemNull create() => ModuleItemNull._();
  ModuleItemNull createEmptyInstance() => create();
  static $pb.PbList<ModuleItemNull> createRepeated() =>
      $pb.PbList<ModuleItemNull>();
  @$core.pragma('dart2js:noInline')
  static ModuleItemNull getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleItemNull>(create);
  static ModuleItemNull? _defaultInstance;

  /// 图标
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 文案
  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);
}

/// 动态-点赞用户模块
class ModuleLikeUser extends $pb.GeneratedMessage {
  factory ModuleLikeUser({
    $core.Iterable<LikeUser>? likeUsers,
    $core.String? displayText,
  }) {
    final $result = create();
    if (likeUsers != null) {
      $result.likeUsers.addAll(likeUsers);
    }
    if (displayText != null) {
      $result.displayText = displayText;
    }
    return $result;
  }
  ModuleLikeUser._() : super();
  factory ModuleLikeUser.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleLikeUser.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleLikeUser',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<LikeUser>(1, _omitFieldNames ? '' : 'likeUsers', $pb.PbFieldType.PM,
        subBuilder: LikeUser.create)
    ..aOS(2, _omitFieldNames ? '' : 'displayText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleLikeUser clone() => ModuleLikeUser()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleLikeUser copyWith(void Function(ModuleLikeUser) updates) =>
      super.copyWith((message) => updates(message as ModuleLikeUser))
          as ModuleLikeUser;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleLikeUser create() => ModuleLikeUser._();
  ModuleLikeUser createEmptyInstance() => create();
  static $pb.PbList<ModuleLikeUser> createRepeated() =>
      $pb.PbList<ModuleLikeUser>();
  @$core.pragma('dart2js:noInline')
  static ModuleLikeUser getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleLikeUser>(create);
  static ModuleLikeUser? _defaultInstance;

  /// 点赞用户
  @$pb.TagNumber(1)
  $core.List<LikeUser> get likeUsers => $_getList(0);

  /// 文案
  @$pb.TagNumber(2)
  $core.String get displayText => $_getSZ(1);
  @$pb.TagNumber(2)
  set displayText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDisplayText() => $_has(1);
  @$pb.TagNumber(2)
  void clearDisplayText() => clearField(2);
}

class ModuleNotice extends $pb.GeneratedMessage {
  factory ModuleNotice({
    $core.String? identity,
    $core.String? icon,
    $core.String? title,
    $core.String? url,
    $core.int? noticeType,
  }) {
    final $result = create();
    if (identity != null) {
      $result.identity = identity;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (url != null) {
      $result.url = url;
    }
    if (noticeType != null) {
      $result.noticeType = noticeType;
    }
    return $result;
  }
  ModuleNotice._() : super();
  factory ModuleNotice.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleNotice.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleNotice',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'identity')
    ..aOS(2, _omitFieldNames ? '' : 'icon')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'url')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'noticeType', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleNotice clone() => ModuleNotice()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleNotice copyWith(void Function(ModuleNotice) updates) =>
      super.copyWith((message) => updates(message as ModuleNotice))
          as ModuleNotice;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleNotice create() => ModuleNotice._();
  ModuleNotice createEmptyInstance() => create();
  static $pb.PbList<ModuleNotice> createRepeated() =>
      $pb.PbList<ModuleNotice>();
  @$core.pragma('dart2js:noInline')
  static ModuleNotice getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleNotice>(create);
  static ModuleNotice? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get identity => $_getSZ(0);
  @$pb.TagNumber(1)
  set identity($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIdentity() => $_has(0);
  @$pb.TagNumber(1)
  void clearIdentity() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get icon => $_getSZ(1);
  @$pb.TagNumber(2)
  set icon($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIcon() => $_has(1);
  @$pb.TagNumber(2)
  void clearIcon() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get url => $_getSZ(3);
  @$pb.TagNumber(4)
  set url($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearUrl() => clearField(4);

  @$pb.TagNumber(5)
  $core.int get noticeType => $_getIZ(4);
  @$pb.TagNumber(5)
  set noticeType($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasNoticeType() => $_has(4);
  @$pb.TagNumber(5)
  void clearNoticeType() => clearField(5);
}

class ModuleOpusCollection extends $pb.GeneratedMessage {
  factory ModuleOpusCollection({
    OpusCollection? collectionInfo,
    $core.String? titleUpper,
    $core.String? title,
    $core.String? titlePrefixIcon,
    $core.String? totalText,
  }) {
    final $result = create();
    if (collectionInfo != null) {
      $result.collectionInfo = collectionInfo;
    }
    if (titleUpper != null) {
      $result.titleUpper = titleUpper;
    }
    if (title != null) {
      $result.title = title;
    }
    if (titlePrefixIcon != null) {
      $result.titlePrefixIcon = titlePrefixIcon;
    }
    if (totalText != null) {
      $result.totalText = totalText;
    }
    return $result;
  }
  ModuleOpusCollection._() : super();
  factory ModuleOpusCollection.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleOpusCollection.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleOpusCollection',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<OpusCollection>(1, _omitFieldNames ? '' : 'collectionInfo',
        subBuilder: OpusCollection.create)
    ..aOS(2, _omitFieldNames ? '' : 'titleUpper')
    ..aOS(3, _omitFieldNames ? '' : 'title')
    ..aOS(4, _omitFieldNames ? '' : 'titlePrefixIcon')
    ..aOS(5, _omitFieldNames ? '' : 'totalText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleOpusCollection clone() =>
      ModuleOpusCollection()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleOpusCollection copyWith(void Function(ModuleOpusCollection) updates) =>
      super.copyWith((message) => updates(message as ModuleOpusCollection))
          as ModuleOpusCollection;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleOpusCollection create() => ModuleOpusCollection._();
  ModuleOpusCollection createEmptyInstance() => create();
  static $pb.PbList<ModuleOpusCollection> createRepeated() =>
      $pb.PbList<ModuleOpusCollection>();
  @$core.pragma('dart2js:noInline')
  static ModuleOpusCollection getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleOpusCollection>(create);
  static ModuleOpusCollection? _defaultInstance;

  @$pb.TagNumber(1)
  OpusCollection get collectionInfo => $_getN(0);
  @$pb.TagNumber(1)
  set collectionInfo(OpusCollection v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCollectionInfo() => $_has(0);
  @$pb.TagNumber(1)
  void clearCollectionInfo() => clearField(1);
  @$pb.TagNumber(1)
  OpusCollection ensureCollectionInfo() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get titleUpper => $_getSZ(1);
  @$pb.TagNumber(2)
  set titleUpper($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitleUpper() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitleUpper() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get title => $_getSZ(2);
  @$pb.TagNumber(3)
  set title($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitle() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get titlePrefixIcon => $_getSZ(3);
  @$pb.TagNumber(4)
  set titlePrefixIcon($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitlePrefixIcon() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitlePrefixIcon() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get totalText => $_getSZ(4);
  @$pb.TagNumber(5)
  set totalText($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasTotalText() => $_has(4);
  @$pb.TagNumber(5)
  void clearTotalText() => clearField(5);
}

class ModuleOpusSummary extends $pb.GeneratedMessage {
  factory ModuleOpusSummary({
    Paragraph? title,
    Paragraph? summary,
    $core.String? summaryJumpBtnText,
    $core.Iterable<MdlDynDrawItem>? covers,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (summary != null) {
      $result.summary = summary;
    }
    if (summaryJumpBtnText != null) {
      $result.summaryJumpBtnText = summaryJumpBtnText;
    }
    if (covers != null) {
      $result.covers.addAll(covers);
    }
    return $result;
  }
  ModuleOpusSummary._() : super();
  factory ModuleOpusSummary.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleOpusSummary.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleOpusSummary',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<Paragraph>(1, _omitFieldNames ? '' : 'title',
        subBuilder: Paragraph.create)
    ..aOM<Paragraph>(2, _omitFieldNames ? '' : 'summary',
        subBuilder: Paragraph.create)
    ..aOS(3, _omitFieldNames ? '' : 'summaryJumpBtnText')
    ..pc<MdlDynDrawItem>(4, _omitFieldNames ? '' : 'covers', $pb.PbFieldType.PM,
        subBuilder: MdlDynDrawItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleOpusSummary clone() => ModuleOpusSummary()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleOpusSummary copyWith(void Function(ModuleOpusSummary) updates) =>
      super.copyWith((message) => updates(message as ModuleOpusSummary))
          as ModuleOpusSummary;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleOpusSummary create() => ModuleOpusSummary._();
  ModuleOpusSummary createEmptyInstance() => create();
  static $pb.PbList<ModuleOpusSummary> createRepeated() =>
      $pb.PbList<ModuleOpusSummary>();
  @$core.pragma('dart2js:noInline')
  static ModuleOpusSummary getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleOpusSummary>(create);
  static ModuleOpusSummary? _defaultInstance;

  @$pb.TagNumber(1)
  Paragraph get title => $_getN(0);
  @$pb.TagNumber(1)
  set title(Paragraph v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);
  @$pb.TagNumber(1)
  Paragraph ensureTitle() => $_ensure(0);

  @$pb.TagNumber(2)
  Paragraph get summary => $_getN(1);
  @$pb.TagNumber(2)
  set summary(Paragraph v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSummary() => $_has(1);
  @$pb.TagNumber(2)
  void clearSummary() => clearField(2);
  @$pb.TagNumber(2)
  Paragraph ensureSummary() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.String get summaryJumpBtnText => $_getSZ(2);
  @$pb.TagNumber(3)
  set summaryJumpBtnText($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasSummaryJumpBtnText() => $_has(2);
  @$pb.TagNumber(3)
  void clearSummaryJumpBtnText() => clearField(3);

  @$pb.TagNumber(4)
  $core.List<MdlDynDrawItem> get covers => $_getList(3);
}

class ModuleParagraph extends $pb.GeneratedMessage {
  factory ModuleParagraph({
    Paragraph? paragraph,
    $core.bool? isArticleTitle,
    ParaSpacing? paraSpacing,
  }) {
    final $result = create();
    if (paragraph != null) {
      $result.paragraph = paragraph;
    }
    if (isArticleTitle != null) {
      $result.isArticleTitle = isArticleTitle;
    }
    if (paraSpacing != null) {
      $result.paraSpacing = paraSpacing;
    }
    return $result;
  }
  ModuleParagraph._() : super();
  factory ModuleParagraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleParagraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleParagraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<Paragraph>(1, _omitFieldNames ? '' : 'paragraph',
        subBuilder: Paragraph.create)
    ..aOB(2, _omitFieldNames ? '' : 'isArticleTitle')
    ..aOM<ParaSpacing>(3, _omitFieldNames ? '' : 'paraSpacing',
        subBuilder: ParaSpacing.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleParagraph clone() => ModuleParagraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleParagraph copyWith(void Function(ModuleParagraph) updates) =>
      super.copyWith((message) => updates(message as ModuleParagraph))
          as ModuleParagraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleParagraph create() => ModuleParagraph._();
  ModuleParagraph createEmptyInstance() => create();
  static $pb.PbList<ModuleParagraph> createRepeated() =>
      $pb.PbList<ModuleParagraph>();
  @$core.pragma('dart2js:noInline')
  static ModuleParagraph getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleParagraph>(create);
  static ModuleParagraph? _defaultInstance;

  @$pb.TagNumber(1)
  Paragraph get paragraph => $_getN(0);
  @$pb.TagNumber(1)
  set paragraph(Paragraph v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasParagraph() => $_has(0);
  @$pb.TagNumber(1)
  void clearParagraph() => clearField(1);
  @$pb.TagNumber(1)
  Paragraph ensureParagraph() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.bool get isArticleTitle => $_getBF(1);
  @$pb.TagNumber(2)
  set isArticleTitle($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIsArticleTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsArticleTitle() => clearField(2);

  @$pb.TagNumber(3)
  ParaSpacing get paraSpacing => $_getN(2);
  @$pb.TagNumber(3)
  set paraSpacing(ParaSpacing v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasParaSpacing() => $_has(2);
  @$pb.TagNumber(3)
  void clearParaSpacing() => clearField(3);
  @$pb.TagNumber(3)
  ParaSpacing ensureParaSpacing() => $_ensure(2);
}

/// 推荐模块
class ModuleRcmd extends $pb.GeneratedMessage {
  factory ModuleRcmd({
    RcmdAuthor? author,
    $core.Iterable<RcmdItem>? items,
    $core.String? serverInfo,
  }) {
    final $result = create();
    if (author != null) {
      $result.author = author;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    if (serverInfo != null) {
      $result.serverInfo = serverInfo;
    }
    return $result;
  }
  ModuleRcmd._() : super();
  factory ModuleRcmd.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleRcmd.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleRcmd',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<RcmdAuthor>(1, _omitFieldNames ? '' : 'author',
        subBuilder: RcmdAuthor.create)
    ..pc<RcmdItem>(2, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: RcmdItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'serverInfo')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleRcmd clone() => ModuleRcmd()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleRcmd copyWith(void Function(ModuleRcmd) updates) =>
      super.copyWith((message) => updates(message as ModuleRcmd)) as ModuleRcmd;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleRcmd create() => ModuleRcmd._();
  ModuleRcmd createEmptyInstance() => create();
  static $pb.PbList<ModuleRcmd> createRepeated() => $pb.PbList<ModuleRcmd>();
  @$core.pragma('dart2js:noInline')
  static ModuleRcmd getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleRcmd>(create);
  static ModuleRcmd? _defaultInstance;

  /// 用户头像
  @$pb.TagNumber(1)
  RcmdAuthor get author => $_getN(0);
  @$pb.TagNumber(1)
  set author(RcmdAuthor v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAuthor() => $_has(0);
  @$pb.TagNumber(1)
  void clearAuthor() => clearField(1);
  @$pb.TagNumber(1)
  RcmdAuthor ensureAuthor() => $_ensure(0);

  /// 推荐卡片列表
  @$pb.TagNumber(2)
  $core.List<RcmdItem> get items => $_getList(1);

  /// 透传到客户端的埋点字段
  @$pb.TagNumber(3)
  $core.String get serverInfo => $_getSZ(2);
  @$pb.TagNumber(3)
  set serverInfo($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasServerInfo() => $_has(2);
  @$pb.TagNumber(3)
  void clearServerInfo() => clearField(3);
}

/// 相关推荐模块
class ModuleRecommend extends $pb.GeneratedMessage {
  factory ModuleRecommend({
    $core.String? moduleTitle,
    $core.String? image,
    $core.String? tag,
    $core.String? title,
    $core.String? jumpUrl,
    $core.Iterable<$2.Any>? ad,
  }) {
    final $result = create();
    if (moduleTitle != null) {
      $result.moduleTitle = moduleTitle;
    }
    if (image != null) {
      $result.image = image;
    }
    if (tag != null) {
      $result.tag = tag;
    }
    if (title != null) {
      $result.title = title;
    }
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (ad != null) {
      $result.ad.addAll(ad);
    }
    return $result;
  }
  ModuleRecommend._() : super();
  factory ModuleRecommend.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleRecommend.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleRecommend',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'moduleTitle')
    ..aOS(2, _omitFieldNames ? '' : 'image')
    ..aOS(3, _omitFieldNames ? '' : 'tag')
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..aOS(5, _omitFieldNames ? '' : 'jumpUrl')
    ..pc<$2.Any>(6, _omitFieldNames ? '' : 'ad', $pb.PbFieldType.PM,
        subBuilder: $2.Any.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleRecommend clone() => ModuleRecommend()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleRecommend copyWith(void Function(ModuleRecommend) updates) =>
      super.copyWith((message) => updates(message as ModuleRecommend))
          as ModuleRecommend;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleRecommend create() => ModuleRecommend._();
  ModuleRecommend createEmptyInstance() => create();
  static $pb.PbList<ModuleRecommend> createRepeated() =>
      $pb.PbList<ModuleRecommend>();
  @$core.pragma('dart2js:noInline')
  static ModuleRecommend getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleRecommend>(create);
  static ModuleRecommend? _defaultInstance;

  /// 模块标题
  @$pb.TagNumber(1)
  $core.String get moduleTitle => $_getSZ(0);
  @$pb.TagNumber(1)
  set moduleTitle($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasModuleTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearModuleTitle() => clearField(1);

  /// 图片
  @$pb.TagNumber(2)
  $core.String get image => $_getSZ(1);
  @$pb.TagNumber(2)
  set image($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasImage() => $_has(1);
  @$pb.TagNumber(2)
  void clearImage() => clearField(2);

  /// 标签
  @$pb.TagNumber(3)
  $core.String get tag => $_getSZ(2);
  @$pb.TagNumber(3)
  set tag($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTag() => $_has(2);
  @$pb.TagNumber(3)
  void clearTag() => clearField(3);

  /// 标题
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(3);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);

  /// 跳转链接
  @$pb.TagNumber(5)
  $core.String get jumpUrl => $_getSZ(4);
  @$pb.TagNumber(5)
  set jumpUrl($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasJumpUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearJumpUrl() => clearField(5);

  /// 序列化的广告信息
  @$pb.TagNumber(6)
  $core.List<$2.Any> get ad => $_getList(5);
}

/// 分享模块
class ModuleShareInfo extends $pb.GeneratedMessage {
  factory ModuleShareInfo({
    $core.String? title,
    $core.Iterable<ShareChannel>? shareChannels,
    $core.String? shareOrigin,
    $core.String? oid,
    $core.String? sid,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (shareChannels != null) {
      $result.shareChannels.addAll(shareChannels);
    }
    if (shareOrigin != null) {
      $result.shareOrigin = shareOrigin;
    }
    if (oid != null) {
      $result.oid = oid;
    }
    if (sid != null) {
      $result.sid = sid;
    }
    return $result;
  }
  ModuleShareInfo._() : super();
  factory ModuleShareInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleShareInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleShareInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<ShareChannel>(
        2, _omitFieldNames ? '' : 'shareChannels', $pb.PbFieldType.PM,
        subBuilder: ShareChannel.create)
    ..aOS(3, _omitFieldNames ? '' : 'shareOrigin')
    ..aOS(4, _omitFieldNames ? '' : 'oid')
    ..aOS(5, _omitFieldNames ? '' : 'sid')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleShareInfo clone() => ModuleShareInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleShareInfo copyWith(void Function(ModuleShareInfo) updates) =>
      super.copyWith((message) => updates(message as ModuleShareInfo))
          as ModuleShareInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleShareInfo create() => ModuleShareInfo._();
  ModuleShareInfo createEmptyInstance() => create();
  static $pb.PbList<ModuleShareInfo> createRepeated() =>
      $pb.PbList<ModuleShareInfo>();
  @$core.pragma('dart2js:noInline')
  static ModuleShareInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleShareInfo>(create);
  static ModuleShareInfo? _defaultInstance;

  /// 展示标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 分享组件列表
  @$pb.TagNumber(2)
  $core.List<ShareChannel> get shareChannels => $_getList(1);

  /// share_origin
  @$pb.TagNumber(3)
  $core.String get shareOrigin => $_getSZ(2);
  @$pb.TagNumber(3)
  set shareOrigin($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasShareOrigin() => $_has(2);
  @$pb.TagNumber(3)
  void clearShareOrigin() => clearField(3);

  /// 业务id
  @$pb.TagNumber(4)
  $core.String get oid => $_getSZ(3);
  @$pb.TagNumber(4)
  set oid($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOid() => $_has(3);
  @$pb.TagNumber(4)
  void clearOid() => clearField(4);

  /// sid
  @$pb.TagNumber(5)
  $core.String get sid => $_getSZ(4);
  @$pb.TagNumber(5)
  set sid($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasSid() => $_has(4);
  @$pb.TagNumber(5)
  void clearSid() => clearField(5);
}

/// 动态-计数模块
class ModuleStat extends $pb.GeneratedMessage {
  factory ModuleStat({
    $fixnum.Int64? repost,
    $fixnum.Int64? like,
    $fixnum.Int64? reply,
    LikeInfo? likeInfo,
    $core.bool? noComment,
    $core.bool? noForward,
    $core.String? replyUrl,
    $core.String? noCommentText,
    $core.String? noForwardText,
  }) {
    final $result = create();
    if (repost != null) {
      $result.repost = repost;
    }
    if (like != null) {
      $result.like = like;
    }
    if (reply != null) {
      $result.reply = reply;
    }
    if (likeInfo != null) {
      $result.likeInfo = likeInfo;
    }
    if (noComment != null) {
      $result.noComment = noComment;
    }
    if (noForward != null) {
      $result.noForward = noForward;
    }
    if (replyUrl != null) {
      $result.replyUrl = replyUrl;
    }
    if (noCommentText != null) {
      $result.noCommentText = noCommentText;
    }
    if (noForwardText != null) {
      $result.noForwardText = noForwardText;
    }
    return $result;
  }
  ModuleStat._() : super();
  factory ModuleStat.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleStat.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleStat',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'repost')
    ..aInt64(2, _omitFieldNames ? '' : 'like')
    ..aInt64(3, _omitFieldNames ? '' : 'reply')
    ..aOM<LikeInfo>(4, _omitFieldNames ? '' : 'likeInfo',
        subBuilder: LikeInfo.create)
    ..aOB(5, _omitFieldNames ? '' : 'noComment')
    ..aOB(6, _omitFieldNames ? '' : 'noForward')
    ..aOS(7, _omitFieldNames ? '' : 'replyUrl')
    ..aOS(8, _omitFieldNames ? '' : 'noCommentText')
    ..aOS(9, _omitFieldNames ? '' : 'noForwardText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleStat clone() => ModuleStat()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleStat copyWith(void Function(ModuleStat) updates) =>
      super.copyWith((message) => updates(message as ModuleStat)) as ModuleStat;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleStat create() => ModuleStat._();
  ModuleStat createEmptyInstance() => create();
  static $pb.PbList<ModuleStat> createRepeated() => $pb.PbList<ModuleStat>();
  @$core.pragma('dart2js:noInline')
  static ModuleStat getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleStat>(create);
  static ModuleStat? _defaultInstance;

  /// 转发数
  @$pb.TagNumber(1)
  $fixnum.Int64 get repost => $_getI64(0);
  @$pb.TagNumber(1)
  set repost($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRepost() => $_has(0);
  @$pb.TagNumber(1)
  void clearRepost() => clearField(1);

  /// 点赞数
  @$pb.TagNumber(2)
  $fixnum.Int64 get like => $_getI64(1);
  @$pb.TagNumber(2)
  set like($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLike() => $_has(1);
  @$pb.TagNumber(2)
  void clearLike() => clearField(2);

  /// 评论数
  @$pb.TagNumber(3)
  $fixnum.Int64 get reply => $_getI64(2);
  @$pb.TagNumber(3)
  set reply($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasReply() => $_has(2);
  @$pb.TagNumber(3)
  void clearReply() => clearField(3);

  /// 点赞拓展信息
  @$pb.TagNumber(4)
  LikeInfo get likeInfo => $_getN(3);
  @$pb.TagNumber(4)
  set likeInfo(LikeInfo v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLikeInfo() => $_has(3);
  @$pb.TagNumber(4)
  void clearLikeInfo() => clearField(4);
  @$pb.TagNumber(4)
  LikeInfo ensureLikeInfo() => $_ensure(3);

  /// 禁评
  @$pb.TagNumber(5)
  $core.bool get noComment => $_getBF(4);
  @$pb.TagNumber(5)
  set noComment($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasNoComment() => $_has(4);
  @$pb.TagNumber(5)
  void clearNoComment() => clearField(5);

  /// 禁转
  @$pb.TagNumber(6)
  $core.bool get noForward => $_getBF(5);
  @$pb.TagNumber(6)
  set noForward($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasNoForward() => $_has(5);
  @$pb.TagNumber(6)
  void clearNoForward() => clearField(6);

  /// 点击评论跳转链接
  @$pb.TagNumber(7)
  $core.String get replyUrl => $_getSZ(6);
  @$pb.TagNumber(7)
  set replyUrl($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasReplyUrl() => $_has(6);
  @$pb.TagNumber(7)
  void clearReplyUrl() => clearField(7);

  /// 禁评文案
  @$pb.TagNumber(8)
  $core.String get noCommentText => $_getSZ(7);
  @$pb.TagNumber(8)
  set noCommentText($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasNoCommentText() => $_has(7);
  @$pb.TagNumber(8)
  void clearNoCommentText() => clearField(8);

  /// 禁转文案
  @$pb.TagNumber(9)
  $core.String get noForwardText => $_getSZ(8);
  @$pb.TagNumber(9)
  set noForwardText($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasNoForwardText() => $_has(8);
  @$pb.TagNumber(9)
  void clearNoForwardText() => clearField(9);
}

class ModuleStory extends $pb.GeneratedMessage {
  factory ModuleStory({
    $core.String? title,
    $core.Iterable<StoryItem>? items,
    $core.bool? showPublishEntrance,
    $fixnum.Int64? foldState,
    $core.String? uri,
    $core.String? cover,
    $core.String? publishText,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    if (showPublishEntrance != null) {
      $result.showPublishEntrance = showPublishEntrance;
    }
    if (foldState != null) {
      $result.foldState = foldState;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (publishText != null) {
      $result.publishText = publishText;
    }
    return $result;
  }
  ModuleStory._() : super();
  factory ModuleStory.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleStory.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleStory',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<StoryItem>(2, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: StoryItem.create)
    ..aOB(3, _omitFieldNames ? '' : 'showPublishEntrance')
    ..aInt64(4, _omitFieldNames ? '' : 'foldState')
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..aOS(6, _omitFieldNames ? '' : 'cover')
    ..aOS(7, _omitFieldNames ? '' : 'publishText')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleStory clone() => ModuleStory()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleStory copyWith(void Function(ModuleStory) updates) =>
      super.copyWith((message) => updates(message as ModuleStory))
          as ModuleStory;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleStory create() => ModuleStory._();
  ModuleStory createEmptyInstance() => create();
  static $pb.PbList<ModuleStory> createRepeated() => $pb.PbList<ModuleStory>();
  @$core.pragma('dart2js:noInline')
  static ModuleStory getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleStory>(create);
  static ModuleStory? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<StoryItem> get items => $_getList(1);

  @$pb.TagNumber(3)
  $core.bool get showPublishEntrance => $_getBF(2);
  @$pb.TagNumber(3)
  set showPublishEntrance($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasShowPublishEntrance() => $_has(2);
  @$pb.TagNumber(3)
  void clearShowPublishEntrance() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get foldState => $_getI64(3);
  @$pb.TagNumber(4)
  set foldState($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasFoldState() => $_has(3);
  @$pb.TagNumber(4)
  void clearFoldState() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get cover => $_getSZ(5);
  @$pb.TagNumber(6)
  set cover($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCover() => $_has(5);
  @$pb.TagNumber(6)
  void clearCover() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get publishText => $_getSZ(6);
  @$pb.TagNumber(7)
  set publishText($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasPublishText() => $_has(6);
  @$pb.TagNumber(7)
  void clearPublishText() => clearField(7);
}

class ModuleTextNotice extends $pb.GeneratedMessage {
  factory ModuleTextNotice({
    OneLineText? notice,
  }) {
    final $result = create();
    if (notice != null) {
      $result.notice = notice;
    }
    return $result;
  }
  ModuleTextNotice._() : super();
  factory ModuleTextNotice.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTextNotice.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTextNotice',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<OneLineText>(1, _omitFieldNames ? '' : 'notice',
        subBuilder: OneLineText.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTextNotice clone() => ModuleTextNotice()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTextNotice copyWith(void Function(ModuleTextNotice) updates) =>
      super.copyWith((message) => updates(message as ModuleTextNotice))
          as ModuleTextNotice;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTextNotice create() => ModuleTextNotice._();
  ModuleTextNotice createEmptyInstance() => create();
  static $pb.PbList<ModuleTextNotice> createRepeated() =>
      $pb.PbList<ModuleTextNotice>();
  @$core.pragma('dart2js:noInline')
  static ModuleTextNotice getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTextNotice>(create);
  static ModuleTextNotice? _defaultInstance;

  @$pb.TagNumber(1)
  OneLineText get notice => $_getN(0);
  @$pb.TagNumber(1)
  set notice(OneLineText v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasNotice() => $_has(0);
  @$pb.TagNumber(1)
  void clearNotice() => clearField(1);
  @$pb.TagNumber(1)
  OneLineText ensureNotice() => $_ensure(0);
}

class ModuleTitle extends $pb.GeneratedMessage {
  factory ModuleTitle({
    $core.String? title,
    IconButton? rightBtn,
    $core.int? titleStyle,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (rightBtn != null) {
      $result.rightBtn = rightBtn;
    }
    if (titleStyle != null) {
      $result.titleStyle = titleStyle;
    }
    return $result;
  }
  ModuleTitle._() : super();
  factory ModuleTitle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTitle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTitle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<IconButton>(2, _omitFieldNames ? '' : 'rightBtn',
        subBuilder: IconButton.create)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'titleStyle', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTitle clone() => ModuleTitle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTitle copyWith(void Function(ModuleTitle) updates) =>
      super.copyWith((message) => updates(message as ModuleTitle))
          as ModuleTitle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTitle create() => ModuleTitle._();
  ModuleTitle createEmptyInstance() => create();
  static $pb.PbList<ModuleTitle> createRepeated() => $pb.PbList<ModuleTitle>();
  @$core.pragma('dart2js:noInline')
  static ModuleTitle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTitle>(create);
  static ModuleTitle? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  IconButton get rightBtn => $_getN(1);
  @$pb.TagNumber(2)
  set rightBtn(IconButton v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRightBtn() => $_has(1);
  @$pb.TagNumber(2)
  void clearRightBtn() => clearField(2);
  @$pb.TagNumber(2)
  IconButton ensureRightBtn() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.int get titleStyle => $_getIZ(2);
  @$pb.TagNumber(3)
  set titleStyle($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTitleStyle() => $_has(2);
  @$pb.TagNumber(3)
  void clearTitleStyle() => clearField(3);
}

/// 顶部模块
class ModuleTop extends $pb.GeneratedMessage {
  factory ModuleTop({
    $core.Iterable<ThreePointItem>? tpList,
    MdlDynArchive? archive,
    ModuleAuthor? author,
    $core.bool? hiddenNavBar,
  }) {
    final $result = create();
    if (tpList != null) {
      $result.tpList.addAll(tpList);
    }
    if (archive != null) {
      $result.archive = archive;
    }
    if (author != null) {
      $result.author = author;
    }
    if (hiddenNavBar != null) {
      $result.hiddenNavBar = hiddenNavBar;
    }
    return $result;
  }
  ModuleTop._() : super();
  factory ModuleTop.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTop.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTop',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<ThreePointItem>(1, _omitFieldNames ? '' : 'tpList', $pb.PbFieldType.PM,
        subBuilder: ThreePointItem.create)
    ..aOM<MdlDynArchive>(2, _omitFieldNames ? '' : 'archive',
        subBuilder: MdlDynArchive.create)
    ..aOM<ModuleAuthor>(3, _omitFieldNames ? '' : 'author',
        subBuilder: ModuleAuthor.create)
    ..aOB(4, _omitFieldNames ? '' : 'hiddenNavBar')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTop clone() => ModuleTop()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTop copyWith(void Function(ModuleTop) updates) =>
      super.copyWith((message) => updates(message as ModuleTop)) as ModuleTop;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTop create() => ModuleTop._();
  ModuleTop createEmptyInstance() => create();
  static $pb.PbList<ModuleTop> createRepeated() => $pb.PbList<ModuleTop>();
  @$core.pragma('dart2js:noInline')
  static ModuleTop getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ModuleTop>(create);
  static ModuleTop? _defaultInstance;

  /// 三点模块
  @$pb.TagNumber(1)
  $core.List<ThreePointItem> get tpList => $_getList(0);

  @$pb.TagNumber(2)
  MdlDynArchive get archive => $_getN(1);
  @$pb.TagNumber(2)
  set archive(MdlDynArchive v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasArchive() => $_has(1);
  @$pb.TagNumber(2)
  void clearArchive() => clearField(2);
  @$pb.TagNumber(2)
  MdlDynArchive ensureArchive() => $_ensure(1);

  @$pb.TagNumber(3)
  ModuleAuthor get author => $_getN(2);
  @$pb.TagNumber(3)
  set author(ModuleAuthor v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasAuthor() => $_has(2);
  @$pb.TagNumber(3)
  void clearAuthor() => clearField(3);
  @$pb.TagNumber(3)
  ModuleAuthor ensureAuthor() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.bool get hiddenNavBar => $_getBF(3);
  @$pb.TagNumber(4)
  set hiddenNavBar($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasHiddenNavBar() => $_has(3);
  @$pb.TagNumber(4)
  void clearHiddenNavBar() => clearField(4);
}

class ModuleTopic extends $pb.GeneratedMessage {
  factory ModuleTopic({
    $fixnum.Int64? id,
    $core.String? name,
    $core.String? url,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (name != null) {
      $result.name = name;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  ModuleTopic._() : super();
  factory ModuleTopic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTopic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTopic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'id')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOS(3, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTopic clone() => ModuleTopic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTopic copyWith(void Function(ModuleTopic) updates) =>
      super.copyWith((message) => updates(message as ModuleTopic))
          as ModuleTopic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTopic create() => ModuleTopic._();
  ModuleTopic createEmptyInstance() => create();
  static $pb.PbList<ModuleTopic> createRepeated() => $pb.PbList<ModuleTopic>();
  @$core.pragma('dart2js:noInline')
  static ModuleTopic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTopic>(create);
  static ModuleTopic? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get id => $_getI64(0);
  @$pb.TagNumber(1)
  set id($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get url => $_getSZ(2);
  @$pb.TagNumber(3)
  set url($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearUrl() => clearField(3);
}

class ModuleTopicBrief extends $pb.GeneratedMessage {
  factory ModuleTopicBrief({
    TopicItem? topic,
  }) {
    final $result = create();
    if (topic != null) {
      $result.topic = topic;
    }
    return $result;
  }
  ModuleTopicBrief._() : super();
  factory ModuleTopicBrief.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTopicBrief.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTopicBrief',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<TopicItem>(1, _omitFieldNames ? '' : 'topic',
        subBuilder: TopicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTopicBrief clone() => ModuleTopicBrief()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTopicBrief copyWith(void Function(ModuleTopicBrief) updates) =>
      super.copyWith((message) => updates(message as ModuleTopicBrief))
          as ModuleTopicBrief;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTopicBrief create() => ModuleTopicBrief._();
  ModuleTopicBrief createEmptyInstance() => create();
  static $pb.PbList<ModuleTopicBrief> createRepeated() =>
      $pb.PbList<ModuleTopicBrief>();
  @$core.pragma('dart2js:noInline')
  static ModuleTopicBrief getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTopicBrief>(create);
  static ModuleTopicBrief? _defaultInstance;

  @$pb.TagNumber(1)
  TopicItem get topic => $_getN(0);
  @$pb.TagNumber(1)
  set topic(TopicItem v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTopic() => $_has(0);
  @$pb.TagNumber(1)
  void clearTopic() => clearField(1);
  @$pb.TagNumber(1)
  TopicItem ensureTopic() => $_ensure(0);
}

class ModuleTopicDetailsExt extends $pb.GeneratedMessage {
  factory ModuleTopicDetailsExt({
    $core.String? commentGuide,
  }) {
    final $result = create();
    if (commentGuide != null) {
      $result.commentGuide = commentGuide;
    }
    return $result;
  }
  ModuleTopicDetailsExt._() : super();
  factory ModuleTopicDetailsExt.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTopicDetailsExt.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTopicDetailsExt',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'commentGuide')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTopicDetailsExt clone() =>
      ModuleTopicDetailsExt()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTopicDetailsExt copyWith(
          void Function(ModuleTopicDetailsExt) updates) =>
      super.copyWith((message) => updates(message as ModuleTopicDetailsExt))
          as ModuleTopicDetailsExt;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTopicDetailsExt create() => ModuleTopicDetailsExt._();
  ModuleTopicDetailsExt createEmptyInstance() => create();
  static $pb.PbList<ModuleTopicDetailsExt> createRepeated() =>
      $pb.PbList<ModuleTopicDetailsExt>();
  @$core.pragma('dart2js:noInline')
  static ModuleTopicDetailsExt getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTopicDetailsExt>(create);
  static ModuleTopicDetailsExt? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get commentGuide => $_getSZ(0);
  @$pb.TagNumber(1)
  set commentGuide($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCommentGuide() => $_has(0);
  @$pb.TagNumber(1)
  void clearCommentGuide() => clearField(1);
}

class ModuleTopTag extends $pb.GeneratedMessage {
  factory ModuleTopTag({
    $core.String? tagName,
  }) {
    final $result = create();
    if (tagName != null) {
      $result.tagName = tagName;
    }
    return $result;
  }
  ModuleTopTag._() : super();
  factory ModuleTopTag.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ModuleTopTag.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ModuleTopTag',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'tagName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ModuleTopTag clone() => ModuleTopTag()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ModuleTopTag copyWith(void Function(ModuleTopTag) updates) =>
      super.copyWith((message) => updates(message as ModuleTopTag))
          as ModuleTopTag;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ModuleTopTag create() => ModuleTopTag._();
  ModuleTopTag createEmptyInstance() => create();
  static $pb.PbList<ModuleTopTag> createRepeated() =>
      $pb.PbList<ModuleTopTag>();
  @$core.pragma('dart2js:noInline')
  static ModuleTopTag getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ModuleTopTag>(create);
  static ModuleTopTag? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get tagName => $_getSZ(0);
  @$pb.TagNumber(1)
  set tagName($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTagName() => $_has(0);
  @$pb.TagNumber(1)
  void clearTagName() => clearField(1);
}

/// 认证名牌
class Nameplate extends $pb.GeneratedMessage {
  factory Nameplate({
    $fixnum.Int64? nid,
    $core.String? name,
    $core.String? image,
    $core.String? imageSmall,
    $core.String? level,
    $core.String? condition,
  }) {
    final $result = create();
    if (nid != null) {
      $result.nid = nid;
    }
    if (name != null) {
      $result.name = name;
    }
    if (image != null) {
      $result.image = image;
    }
    if (imageSmall != null) {
      $result.imageSmall = imageSmall;
    }
    if (level != null) {
      $result.level = level;
    }
    if (condition != null) {
      $result.condition = condition;
    }
    return $result;
  }
  Nameplate._() : super();
  factory Nameplate.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Nameplate.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Nameplate',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'nid')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOS(3, _omitFieldNames ? '' : 'image')
    ..aOS(4, _omitFieldNames ? '' : 'imageSmall')
    ..aOS(5, _omitFieldNames ? '' : 'level')
    ..aOS(6, _omitFieldNames ? '' : 'condition')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Nameplate clone() => Nameplate()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Nameplate copyWith(void Function(Nameplate) updates) =>
      super.copyWith((message) => updates(message as Nameplate)) as Nameplate;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Nameplate create() => Nameplate._();
  Nameplate createEmptyInstance() => create();
  static $pb.PbList<Nameplate> createRepeated() => $pb.PbList<Nameplate>();
  @$core.pragma('dart2js:noInline')
  static Nameplate getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Nameplate>(create);
  static Nameplate? _defaultInstance;

  /// nid
  @$pb.TagNumber(1)
  $fixnum.Int64 get nid => $_getI64(0);
  @$pb.TagNumber(1)
  set nid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasNid() => $_has(0);
  @$pb.TagNumber(1)
  void clearNid() => clearField(1);

  /// 名称
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  /// 图片地址
  @$pb.TagNumber(3)
  $core.String get image => $_getSZ(2);
  @$pb.TagNumber(3)
  set image($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearImage() => clearField(3);

  /// 小图地址
  @$pb.TagNumber(4)
  $core.String get imageSmall => $_getSZ(3);
  @$pb.TagNumber(4)
  set imageSmall($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasImageSmall() => $_has(3);
  @$pb.TagNumber(4)
  void clearImageSmall() => clearField(4);

  /// 等级
  @$pb.TagNumber(5)
  $core.String get level => $_getSZ(4);
  @$pb.TagNumber(5)
  set level($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLevel() => $_has(4);
  @$pb.TagNumber(5)
  void clearLevel() => clearField(5);

  /// 获取条件
  @$pb.TagNumber(6)
  $core.String get condition => $_getSZ(5);
  @$pb.TagNumber(6)
  set condition($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCondition() => $_has(5);
  @$pb.TagNumber(6)
  void clearCondition() => clearField(6);
}

/// 最新ep
class NewEP extends $pb.GeneratedMessage {
  factory NewEP({
    $core.int? id,
    $core.String? indexShow,
    $core.String? cover,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (indexShow != null) {
      $result.indexShow = indexShow;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    return $result;
  }
  NewEP._() : super();
  factory NewEP.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory NewEP.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'NewEP',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'indexShow')
    ..aOS(3, _omitFieldNames ? '' : 'cover')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  NewEP clone() => NewEP()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  NewEP copyWith(void Function(NewEP) updates) =>
      super.copyWith((message) => updates(message as NewEP)) as NewEP;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NewEP create() => NewEP._();
  NewEP createEmptyInstance() => create();
  static $pb.PbList<NewEP> createRepeated() => $pb.PbList<NewEP>();
  @$core.pragma('dart2js:noInline')
  static NewEP getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NewEP>(create);
  static NewEP? _defaultInstance;

  /// 最新话epid
  @$pb.TagNumber(1)
  $core.int get id => $_getIZ(0);
  @$pb.TagNumber(1)
  set id($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);

  /// 更新至XX话
  @$pb.TagNumber(2)
  $core.String get indexShow => $_getSZ(1);
  @$pb.TagNumber(2)
  set indexShow($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIndexShow() => $_has(1);
  @$pb.TagNumber(2)
  void clearIndexShow() => clearField(2);

  /// 更新剧集的封面
  @$pb.TagNumber(3)
  $core.String get cover => $_getSZ(2);
  @$pb.TagNumber(3)
  set cover($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCover() => $_has(2);
  @$pb.TagNumber(3)
  void clearCover() => clearField(3);
}

class NFTInfo extends $pb.GeneratedMessage {
  factory NFTInfo({
    NFTRegionType? regionType,
    $core.String? regionIcon,
    NFTShowStatus? regionShowStatus,
  }) {
    final $result = create();
    if (regionType != null) {
      $result.regionType = regionType;
    }
    if (regionIcon != null) {
      $result.regionIcon = regionIcon;
    }
    if (regionShowStatus != null) {
      $result.regionShowStatus = regionShowStatus;
    }
    return $result;
  }
  NFTInfo._() : super();
  factory NFTInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory NFTInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'NFTInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<NFTRegionType>(
        1, _omitFieldNames ? '' : 'regionType', $pb.PbFieldType.OE,
        defaultOrMaker: NFTRegionType.nft_region_default,
        valueOf: NFTRegionType.valueOf,
        enumValues: NFTRegionType.values)
    ..aOS(2, _omitFieldNames ? '' : 'regionIcon')
    ..e<NFTShowStatus>(
        3, _omitFieldNames ? '' : 'regionShowStatus', $pb.PbFieldType.OE,
        defaultOrMaker: NFTShowStatus.nft_show_default,
        valueOf: NFTShowStatus.valueOf,
        enumValues: NFTShowStatus.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  NFTInfo clone() => NFTInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  NFTInfo copyWith(void Function(NFTInfo) updates) =>
      super.copyWith((message) => updates(message as NFTInfo)) as NFTInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NFTInfo create() => NFTInfo._();
  NFTInfo createEmptyInstance() => create();
  static $pb.PbList<NFTInfo> createRepeated() => $pb.PbList<NFTInfo>();
  @$core.pragma('dart2js:noInline')
  static NFTInfo getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NFTInfo>(create);
  static NFTInfo? _defaultInstance;

  @$pb.TagNumber(1)
  NFTRegionType get regionType => $_getN(0);
  @$pb.TagNumber(1)
  set regionType(NFTRegionType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRegionType() => $_has(0);
  @$pb.TagNumber(1)
  void clearRegionType() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get regionIcon => $_getSZ(1);
  @$pb.TagNumber(2)
  set regionIcon($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRegionIcon() => $_has(1);
  @$pb.TagNumber(2)
  void clearRegionIcon() => clearField(2);

  @$pb.TagNumber(3)
  NFTShowStatus get regionShowStatus => $_getN(2);
  @$pb.TagNumber(3)
  set regionShowStatus(NFTShowStatus v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRegionShowStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearRegionShowStatus() => clearField(3);
}

/// 空响应
class NoReply extends $pb.GeneratedMessage {
  factory NoReply() => create();
  NoReply._() : super();
  factory NoReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory NoReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'NoReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  NoReply clone() => NoReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  NoReply copyWith(void Function(NoReply) updates) =>
      super.copyWith((message) => updates(message as NoReply)) as NoReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NoReply create() => NoReply._();
  NoReply createEmptyInstance() => create();
  static $pb.PbList<NoReply> createRepeated() => $pb.PbList<NoReply>();
  @$core.pragma('dart2js:noInline')
  static NoReply getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NoReply>(create);
  static NoReply? _defaultInstance;
}

/// 空请求
class NoReq extends $pb.GeneratedMessage {
  factory NoReq() => create();
  NoReq._() : super();
  factory NoReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory NoReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'NoReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  NoReq clone() => NoReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  NoReq copyWith(void Function(NoReq) updates) =>
      super.copyWith((message) => updates(message as NoReq)) as NoReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NoReq create() => NoReq._();
  NoReq createEmptyInstance() => create();
  static $pb.PbList<NoReq> createRepeated() => $pb.PbList<NoReq>();
  @$core.pragma('dart2js:noInline')
  static NoReq getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NoReq>(create);
  static NoReq? _defaultInstance;
}

class NoteVideoTS extends $pb.GeneratedMessage {
  factory NoteVideoTS({
    $fixnum.Int64? cid,
    $fixnum.Int64? oidType,
    $fixnum.Int64? status,
    $fixnum.Int64? index,
    $fixnum.Int64? seconds,
    $fixnum.Int64? cidCount,
    $core.String? key,
    $core.String? title,
    $fixnum.Int64? epid,
    $core.String? desc,
  }) {
    final $result = create();
    if (cid != null) {
      $result.cid = cid;
    }
    if (oidType != null) {
      $result.oidType = oidType;
    }
    if (status != null) {
      $result.status = status;
    }
    if (index != null) {
      $result.index = index;
    }
    if (seconds != null) {
      $result.seconds = seconds;
    }
    if (cidCount != null) {
      $result.cidCount = cidCount;
    }
    if (key != null) {
      $result.key = key;
    }
    if (title != null) {
      $result.title = title;
    }
    if (epid != null) {
      $result.epid = epid;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    return $result;
  }
  NoteVideoTS._() : super();
  factory NoteVideoTS.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory NoteVideoTS.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'NoteVideoTS',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'cid')
    ..aInt64(2, _omitFieldNames ? '' : 'oidType')
    ..aInt64(3, _omitFieldNames ? '' : 'status')
    ..aInt64(4, _omitFieldNames ? '' : 'index')
    ..aInt64(5, _omitFieldNames ? '' : 'seconds')
    ..aInt64(6, _omitFieldNames ? '' : 'cidCount')
    ..aOS(7, _omitFieldNames ? '' : 'key')
    ..aOS(8, _omitFieldNames ? '' : 'title')
    ..aInt64(9, _omitFieldNames ? '' : 'epid')
    ..aOS(10, _omitFieldNames ? '' : 'desc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  NoteVideoTS clone() => NoteVideoTS()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  NoteVideoTS copyWith(void Function(NoteVideoTS) updates) =>
      super.copyWith((message) => updates(message as NoteVideoTS))
          as NoteVideoTS;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NoteVideoTS create() => NoteVideoTS._();
  NoteVideoTS createEmptyInstance() => create();
  static $pb.PbList<NoteVideoTS> createRepeated() => $pb.PbList<NoteVideoTS>();
  @$core.pragma('dart2js:noInline')
  static NoteVideoTS getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<NoteVideoTS>(create);
  static NoteVideoTS? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get cid => $_getI64(0);
  @$pb.TagNumber(1)
  set cid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCid() => $_has(0);
  @$pb.TagNumber(1)
  void clearCid() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get oidType => $_getI64(1);
  @$pb.TagNumber(2)
  set oidType($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOidType() => $_has(1);
  @$pb.TagNumber(2)
  void clearOidType() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get status => $_getI64(2);
  @$pb.TagNumber(3)
  set status($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get index => $_getI64(3);
  @$pb.TagNumber(4)
  set index($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIndex() => $_has(3);
  @$pb.TagNumber(4)
  void clearIndex() => clearField(4);

  @$pb.TagNumber(5)
  $fixnum.Int64 get seconds => $_getI64(4);
  @$pb.TagNumber(5)
  set seconds($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasSeconds() => $_has(4);
  @$pb.TagNumber(5)
  void clearSeconds() => clearField(5);

  @$pb.TagNumber(6)
  $fixnum.Int64 get cidCount => $_getI64(5);
  @$pb.TagNumber(6)
  set cidCount($fixnum.Int64 v) {
    $_setInt64(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCidCount() => $_has(5);
  @$pb.TagNumber(6)
  void clearCidCount() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get key => $_getSZ(6);
  @$pb.TagNumber(7)
  set key($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasKey() => $_has(6);
  @$pb.TagNumber(7)
  void clearKey() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get title => $_getSZ(7);
  @$pb.TagNumber(8)
  set title($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasTitle() => $_has(7);
  @$pb.TagNumber(8)
  void clearTitle() => clearField(8);

  @$pb.TagNumber(9)
  $fixnum.Int64 get epid => $_getI64(8);
  @$pb.TagNumber(9)
  set epid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasEpid() => $_has(8);
  @$pb.TagNumber(9)
  void clearEpid() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get desc => $_getSZ(9);
  @$pb.TagNumber(10)
  set desc($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasDesc() => $_has(9);
  @$pb.TagNumber(10)
  void clearDesc() => clearField(10);
}

class OfficialAccountInfo extends $pb.GeneratedMessage {
  factory OfficialAccountInfo({
    UserInfo? author,
    $fixnum.Int64? mid,
    $core.String? uri,
    Relation? relation,
    $core.String? descText1,
    $core.String? descText2,
  }) {
    final $result = create();
    if (author != null) {
      $result.author = author;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    return $result;
  }
  OfficialAccountInfo._() : super();
  factory OfficialAccountInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialAccountInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialAccountInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<UserInfo>(1, _omitFieldNames ? '' : 'author',
        subBuilder: UserInfo.create)
    ..aInt64(2, _omitFieldNames ? '' : 'mid')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOM<Relation>(4, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..aOS(5, _omitFieldNames ? '' : 'descText1')
    ..aOS(6, _omitFieldNames ? '' : 'descText2')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialAccountInfo clone() => OfficialAccountInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialAccountInfo copyWith(void Function(OfficialAccountInfo) updates) =>
      super.copyWith((message) => updates(message as OfficialAccountInfo))
          as OfficialAccountInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialAccountInfo create() => OfficialAccountInfo._();
  OfficialAccountInfo createEmptyInstance() => create();
  static $pb.PbList<OfficialAccountInfo> createRepeated() =>
      $pb.PbList<OfficialAccountInfo>();
  @$core.pragma('dart2js:noInline')
  static OfficialAccountInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialAccountInfo>(create);
  static OfficialAccountInfo? _defaultInstance;

  @$pb.TagNumber(1)
  UserInfo get author => $_getN(0);
  @$pb.TagNumber(1)
  set author(UserInfo v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAuthor() => $_has(0);
  @$pb.TagNumber(1)
  void clearAuthor() => clearField(1);
  @$pb.TagNumber(1)
  UserInfo ensureAuthor() => $_ensure(0);

  @$pb.TagNumber(2)
  $fixnum.Int64 get mid => $_getI64(1);
  @$pb.TagNumber(2)
  set mid($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMid() => $_has(1);
  @$pb.TagNumber(2)
  void clearMid() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  @$pb.TagNumber(4)
  Relation get relation => $_getN(3);
  @$pb.TagNumber(4)
  set relation(Relation v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRelation() => $_has(3);
  @$pb.TagNumber(4)
  void clearRelation() => clearField(4);
  @$pb.TagNumber(4)
  Relation ensureRelation() => $_ensure(3);

  @$pb.TagNumber(5)
  $core.String get descText1 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText1($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText1() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText1() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get descText2 => $_getSZ(5);
  @$pb.TagNumber(6)
  set descText2($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDescText2() => $_has(5);
  @$pb.TagNumber(6)
  void clearDescText2() => clearField(6);
}

class OfficialAccountsReply extends $pb.GeneratedMessage {
  factory OfficialAccountsReply({
    $core.Iterable<OfficialAccountInfo>? items,
    $core.bool? hasMore,
    $fixnum.Int64? offset,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  OfficialAccountsReply._() : super();
  factory OfficialAccountsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialAccountsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialAccountsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<OfficialAccountInfo>(
        1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: OfficialAccountInfo.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..aInt64(3, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialAccountsReply clone() =>
      OfficialAccountsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialAccountsReply copyWith(
          void Function(OfficialAccountsReply) updates) =>
      super.copyWith((message) => updates(message as OfficialAccountsReply))
          as OfficialAccountsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialAccountsReply create() => OfficialAccountsReply._();
  OfficialAccountsReply createEmptyInstance() => create();
  static $pb.PbList<OfficialAccountsReply> createRepeated() =>
      $pb.PbList<OfficialAccountsReply>();
  @$core.pragma('dart2js:noInline')
  static OfficialAccountsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialAccountsReply>(create);
  static OfficialAccountsReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<OfficialAccountInfo> get items => $_getList(0);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get offset => $_getI64(2);
  @$pb.TagNumber(3)
  set offset($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);
}

class OfficialAccountsReq extends $pb.GeneratedMessage {
  factory OfficialAccountsReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $fixnum.Int64? offset,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  OfficialAccountsReq._() : super();
  factory OfficialAccountsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialAccountsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialAccountsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aInt64(3, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialAccountsReq clone() => OfficialAccountsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialAccountsReq copyWith(void Function(OfficialAccountsReq) updates) =>
      super.copyWith((message) => updates(message as OfficialAccountsReq))
          as OfficialAccountsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialAccountsReq create() => OfficialAccountsReq._();
  OfficialAccountsReq createEmptyInstance() => create();
  static $pb.PbList<OfficialAccountsReq> createRepeated() =>
      $pb.PbList<OfficialAccountsReq>();
  @$core.pragma('dart2js:noInline')
  static OfficialAccountsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialAccountsReq>(create);
  static OfficialAccountsReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get offset => $_getI64(2);
  @$pb.TagNumber(3)
  set offset($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);
}

class OfficialDynamicsReply extends $pb.GeneratedMessage {
  factory OfficialDynamicsReply({
    $core.Iterable<OfficialItem>? items,
    $fixnum.Int64? offset,
    $core.bool? hasMore,
    $1.PlayerArgs? playerArgs,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (playerArgs != null) {
      $result.playerArgs = playerArgs;
    }
    return $result;
  }
  OfficialDynamicsReply._() : super();
  factory OfficialDynamicsReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialDynamicsReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialDynamicsReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<OfficialItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: OfficialItem.create)
    ..aInt64(2, _omitFieldNames ? '' : 'offset')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..aOM<$1.PlayerArgs>(4, _omitFieldNames ? '' : 'playerArgs',
        subBuilder: $1.PlayerArgs.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialDynamicsReply clone() =>
      OfficialDynamicsReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialDynamicsReply copyWith(
          void Function(OfficialDynamicsReply) updates) =>
      super.copyWith((message) => updates(message as OfficialDynamicsReply))
          as OfficialDynamicsReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialDynamicsReply create() => OfficialDynamicsReply._();
  OfficialDynamicsReply createEmptyInstance() => create();
  static $pb.PbList<OfficialDynamicsReply> createRepeated() =>
      $pb.PbList<OfficialDynamicsReply>();
  @$core.pragma('dart2js:noInline')
  static OfficialDynamicsReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialDynamicsReply>(create);
  static OfficialDynamicsReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<OfficialItem> get items => $_getList(0);

  @$pb.TagNumber(2)
  $fixnum.Int64 get offset => $_getI64(1);
  @$pb.TagNumber(2)
  set offset($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);

  @$pb.TagNumber(4)
  $1.PlayerArgs get playerArgs => $_getN(3);
  @$pb.TagNumber(4)
  set playerArgs($1.PlayerArgs v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPlayerArgs() => $_has(3);
  @$pb.TagNumber(4)
  void clearPlayerArgs() => clearField(4);
  @$pb.TagNumber(4)
  $1.PlayerArgs ensurePlayerArgs() => $_ensure(3);
}

class OfficialDynamicsReq extends $pb.GeneratedMessage {
  factory OfficialDynamicsReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $fixnum.Int64? offset,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  OfficialDynamicsReq._() : super();
  factory OfficialDynamicsReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialDynamicsReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialDynamicsReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aInt64(3, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialDynamicsReq clone() => OfficialDynamicsReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialDynamicsReq copyWith(void Function(OfficialDynamicsReq) updates) =>
      super.copyWith((message) => updates(message as OfficialDynamicsReq))
          as OfficialDynamicsReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialDynamicsReq create() => OfficialDynamicsReq._();
  OfficialDynamicsReq createEmptyInstance() => create();
  static $pb.PbList<OfficialDynamicsReq> createRepeated() =>
      $pb.PbList<OfficialDynamicsReq>();
  @$core.pragma('dart2js:noInline')
  static OfficialDynamicsReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialDynamicsReq>(create);
  static OfficialDynamicsReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get offset => $_getI64(2);
  @$pb.TagNumber(3)
  set offset($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);
}

enum OfficialItem_RcmdItem { rcmdArchive, rcmdDynamic, notSet }

class OfficialItem extends $pb.GeneratedMessage {
  factory OfficialItem({
    $core.int? type,
    OfficialRcmdArchive? rcmdArchive,
    OfficialRcmdDynamic? rcmdDynamic,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (rcmdArchive != null) {
      $result.rcmdArchive = rcmdArchive;
    }
    if (rcmdDynamic != null) {
      $result.rcmdDynamic = rcmdDynamic;
    }
    return $result;
  }
  OfficialItem._() : super();
  factory OfficialItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, OfficialItem_RcmdItem>
      _OfficialItem_RcmdItemByTag = {
    2: OfficialItem_RcmdItem.rcmdArchive,
    3: OfficialItem_RcmdItem.rcmdDynamic,
    0: OfficialItem_RcmdItem.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3])
    ..a<$core.int>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..aOM<OfficialRcmdArchive>(2, _omitFieldNames ? '' : 'rcmdArchive',
        subBuilder: OfficialRcmdArchive.create)
    ..aOM<OfficialRcmdDynamic>(3, _omitFieldNames ? '' : 'rcmdDynamic',
        subBuilder: OfficialRcmdDynamic.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialItem clone() => OfficialItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialItem copyWith(void Function(OfficialItem) updates) =>
      super.copyWith((message) => updates(message as OfficialItem))
          as OfficialItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialItem create() => OfficialItem._();
  OfficialItem createEmptyInstance() => create();
  static $pb.PbList<OfficialItem> createRepeated() =>
      $pb.PbList<OfficialItem>();
  @$core.pragma('dart2js:noInline')
  static OfficialItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialItem>(create);
  static OfficialItem? _defaultInstance;

  OfficialItem_RcmdItem whichRcmdItem() =>
      _OfficialItem_RcmdItemByTag[$_whichOneof(0)]!;
  void clearRcmdItem() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  $core.int get type => $_getIZ(0);
  @$pb.TagNumber(1)
  set type($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  @$pb.TagNumber(2)
  OfficialRcmdArchive get rcmdArchive => $_getN(1);
  @$pb.TagNumber(2)
  set rcmdArchive(OfficialRcmdArchive v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRcmdArchive() => $_has(1);
  @$pb.TagNumber(2)
  void clearRcmdArchive() => clearField(2);
  @$pb.TagNumber(2)
  OfficialRcmdArchive ensureRcmdArchive() => $_ensure(1);

  @$pb.TagNumber(3)
  OfficialRcmdDynamic get rcmdDynamic => $_getN(2);
  @$pb.TagNumber(3)
  set rcmdDynamic(OfficialRcmdDynamic v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRcmdDynamic() => $_has(2);
  @$pb.TagNumber(3)
  void clearRcmdDynamic() => clearField(3);
  @$pb.TagNumber(3)
  OfficialRcmdDynamic ensureRcmdDynamic() => $_ensure(2);
}

class OfficialRcmdArchive extends $pb.GeneratedMessage {
  factory OfficialRcmdArchive({
    $core.String? title,
    $core.String? cover,
    $core.String? coverRightText,
    $core.int? descIcon1,
    $core.String? descText1,
    $core.int? descIcon2,
    $core.String? descText2,
    $core.String? reason,
    $core.bool? showThreePoint,
    $core.String? uri,
    $fixnum.Int64? aid,
    $fixnum.Int64? mid,
    $core.String? name,
    $fixnum.Int64? dynamicId,
    $fixnum.Int64? cid,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (coverRightText != null) {
      $result.coverRightText = coverRightText;
    }
    if (descIcon1 != null) {
      $result.descIcon1 = descIcon1;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descIcon2 != null) {
      $result.descIcon2 = descIcon2;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    if (showThreePoint != null) {
      $result.showThreePoint = showThreePoint;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (aid != null) {
      $result.aid = aid;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (name != null) {
      $result.name = name;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (cid != null) {
      $result.cid = cid;
    }
    return $result;
  }
  OfficialRcmdArchive._() : super();
  factory OfficialRcmdArchive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialRcmdArchive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialRcmdArchive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'coverRightText')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'descIcon1', $pb.PbFieldType.O3)
    ..aOS(5, _omitFieldNames ? '' : 'descText1')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'descIcon2', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'descText2')
    ..aOS(8, _omitFieldNames ? '' : 'reason')
    ..aOB(9, _omitFieldNames ? '' : 'showThreePoint')
    ..aOS(10, _omitFieldNames ? '' : 'uri')
    ..aInt64(11, _omitFieldNames ? '' : 'aid')
    ..aInt64(12, _omitFieldNames ? '' : 'mid')
    ..aOS(13, _omitFieldNames ? '' : 'name')
    ..aInt64(14, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(15, _omitFieldNames ? '' : 'cid')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialRcmdArchive clone() => OfficialRcmdArchive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialRcmdArchive copyWith(void Function(OfficialRcmdArchive) updates) =>
      super.copyWith((message) => updates(message as OfficialRcmdArchive))
          as OfficialRcmdArchive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialRcmdArchive create() => OfficialRcmdArchive._();
  OfficialRcmdArchive createEmptyInstance() => create();
  static $pb.PbList<OfficialRcmdArchive> createRepeated() =>
      $pb.PbList<OfficialRcmdArchive>();
  @$core.pragma('dart2js:noInline')
  static OfficialRcmdArchive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialRcmdArchive>(create);
  static OfficialRcmdArchive? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get coverRightText => $_getSZ(2);
  @$pb.TagNumber(3)
  set coverRightText($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCoverRightText() => $_has(2);
  @$pb.TagNumber(3)
  void clearCoverRightText() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get descIcon1 => $_getIZ(3);
  @$pb.TagNumber(4)
  set descIcon1($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescIcon1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescIcon1() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get descText1 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText1($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText1() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText1() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get descIcon2 => $_getIZ(5);
  @$pb.TagNumber(6)
  set descIcon2($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDescIcon2() => $_has(5);
  @$pb.TagNumber(6)
  void clearDescIcon2() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get descText2 => $_getSZ(6);
  @$pb.TagNumber(7)
  set descText2($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDescText2() => $_has(6);
  @$pb.TagNumber(7)
  void clearDescText2() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get reason => $_getSZ(7);
  @$pb.TagNumber(8)
  set reason($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasReason() => $_has(7);
  @$pb.TagNumber(8)
  void clearReason() => clearField(8);

  @$pb.TagNumber(9)
  $core.bool get showThreePoint => $_getBF(8);
  @$pb.TagNumber(9)
  set showThreePoint($core.bool v) {
    $_setBool(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasShowThreePoint() => $_has(8);
  @$pb.TagNumber(9)
  void clearShowThreePoint() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get uri => $_getSZ(9);
  @$pb.TagNumber(10)
  set uri($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasUri() => $_has(9);
  @$pb.TagNumber(10)
  void clearUri() => clearField(10);

  @$pb.TagNumber(11)
  $fixnum.Int64 get aid => $_getI64(10);
  @$pb.TagNumber(11)
  set aid($fixnum.Int64 v) {
    $_setInt64(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasAid() => $_has(10);
  @$pb.TagNumber(11)
  void clearAid() => clearField(11);

  @$pb.TagNumber(12)
  $fixnum.Int64 get mid => $_getI64(11);
  @$pb.TagNumber(12)
  set mid($fixnum.Int64 v) {
    $_setInt64(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasMid() => $_has(11);
  @$pb.TagNumber(12)
  void clearMid() => clearField(12);

  @$pb.TagNumber(13)
  $core.String get name => $_getSZ(12);
  @$pb.TagNumber(13)
  set name($core.String v) {
    $_setString(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasName() => $_has(12);
  @$pb.TagNumber(13)
  void clearName() => clearField(13);

  @$pb.TagNumber(14)
  $fixnum.Int64 get dynamicId => $_getI64(13);
  @$pb.TagNumber(14)
  set dynamicId($fixnum.Int64 v) {
    $_setInt64(13, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasDynamicId() => $_has(13);
  @$pb.TagNumber(14)
  void clearDynamicId() => clearField(14);

  @$pb.TagNumber(15)
  $fixnum.Int64 get cid => $_getI64(14);
  @$pb.TagNumber(15)
  set cid($fixnum.Int64 v) {
    $_setInt64(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasCid() => $_has(14);
  @$pb.TagNumber(15)
  void clearCid() => clearField(15);
}

class OfficialRcmdDynamic extends $pb.GeneratedMessage {
  factory OfficialRcmdDynamic({
    $core.String? title,
    $core.String? cover,
    $core.String? coverRightTopText,
    $core.int? descIcon1,
    $core.String? descText1,
    $core.int? descIcon2,
    $core.String? descText2,
    $core.String? reason,
    $core.String? uri,
    $fixnum.Int64? dynamicId,
    $fixnum.Int64? mid,
    $core.String? userName,
    $fixnum.Int64? rid,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (coverRightTopText != null) {
      $result.coverRightTopText = coverRightTopText;
    }
    if (descIcon1 != null) {
      $result.descIcon1 = descIcon1;
    }
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descIcon2 != null) {
      $result.descIcon2 = descIcon2;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (mid != null) {
      $result.mid = mid;
    }
    if (userName != null) {
      $result.userName = userName;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    return $result;
  }
  OfficialRcmdDynamic._() : super();
  factory OfficialRcmdDynamic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialRcmdDynamic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialRcmdDynamic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..aOS(3, _omitFieldNames ? '' : 'coverRightTopText')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'descIcon1', $pb.PbFieldType.O3)
    ..aOS(5, _omitFieldNames ? '' : 'descText1')
    ..a<$core.int>(6, _omitFieldNames ? '' : 'descIcon2', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'descText2')
    ..aOS(8, _omitFieldNames ? '' : 'reason')
    ..aOS(9, _omitFieldNames ? '' : 'uri')
    ..aInt64(10, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(11, _omitFieldNames ? '' : 'mid')
    ..aOS(12, _omitFieldNames ? '' : 'userName')
    ..aInt64(13, _omitFieldNames ? '' : 'rid')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialRcmdDynamic clone() => OfficialRcmdDynamic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialRcmdDynamic copyWith(void Function(OfficialRcmdDynamic) updates) =>
      super.copyWith((message) => updates(message as OfficialRcmdDynamic))
          as OfficialRcmdDynamic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialRcmdDynamic create() => OfficialRcmdDynamic._();
  OfficialRcmdDynamic createEmptyInstance() => create();
  static $pb.PbList<OfficialRcmdDynamic> createRepeated() =>
      $pb.PbList<OfficialRcmdDynamic>();
  @$core.pragma('dart2js:noInline')
  static OfficialRcmdDynamic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialRcmdDynamic>(create);
  static OfficialRcmdDynamic? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get coverRightTopText => $_getSZ(2);
  @$pb.TagNumber(3)
  set coverRightTopText($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCoverRightTopText() => $_has(2);
  @$pb.TagNumber(3)
  void clearCoverRightTopText() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get descIcon1 => $_getIZ(3);
  @$pb.TagNumber(4)
  set descIcon1($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDescIcon1() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescIcon1() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get descText1 => $_getSZ(4);
  @$pb.TagNumber(5)
  set descText1($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDescText1() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescText1() => clearField(5);

  @$pb.TagNumber(6)
  $core.int get descIcon2 => $_getIZ(5);
  @$pb.TagNumber(6)
  set descIcon2($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDescIcon2() => $_has(5);
  @$pb.TagNumber(6)
  void clearDescIcon2() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get descText2 => $_getSZ(6);
  @$pb.TagNumber(7)
  set descText2($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDescText2() => $_has(6);
  @$pb.TagNumber(7)
  void clearDescText2() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get reason => $_getSZ(7);
  @$pb.TagNumber(8)
  set reason($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasReason() => $_has(7);
  @$pb.TagNumber(8)
  void clearReason() => clearField(8);

  @$pb.TagNumber(9)
  $core.String get uri => $_getSZ(8);
  @$pb.TagNumber(9)
  set uri($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasUri() => $_has(8);
  @$pb.TagNumber(9)
  void clearUri() => clearField(9);

  @$pb.TagNumber(10)
  $fixnum.Int64 get dynamicId => $_getI64(9);
  @$pb.TagNumber(10)
  set dynamicId($fixnum.Int64 v) {
    $_setInt64(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasDynamicId() => $_has(9);
  @$pb.TagNumber(10)
  void clearDynamicId() => clearField(10);

  @$pb.TagNumber(11)
  $fixnum.Int64 get mid => $_getI64(10);
  @$pb.TagNumber(11)
  set mid($fixnum.Int64 v) {
    $_setInt64(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasMid() => $_has(10);
  @$pb.TagNumber(11)
  void clearMid() => clearField(11);

  @$pb.TagNumber(12)
  $core.String get userName => $_getSZ(11);
  @$pb.TagNumber(12)
  set userName($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasUserName() => $_has(11);
  @$pb.TagNumber(12)
  void clearUserName() => clearField(12);

  @$pb.TagNumber(13)
  $fixnum.Int64 get rid => $_getI64(12);
  @$pb.TagNumber(13)
  set rid($fixnum.Int64 v) {
    $_setInt64(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasRid() => $_has(12);
  @$pb.TagNumber(13)
  void clearRid() => clearField(13);
}

/// 认证信息
class OfficialVerify extends $pb.GeneratedMessage {
  factory OfficialVerify({
    $core.int? type,
    $core.String? desc,
    $core.int? isAtten,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (isAtten != null) {
      $result.isAtten = isAtten;
    }
    return $result;
  }
  OfficialVerify._() : super();
  factory OfficialVerify.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OfficialVerify.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OfficialVerify',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'isAtten', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OfficialVerify clone() => OfficialVerify()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OfficialVerify copyWith(void Function(OfficialVerify) updates) =>
      super.copyWith((message) => updates(message as OfficialVerify))
          as OfficialVerify;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OfficialVerify create() => OfficialVerify._();
  OfficialVerify createEmptyInstance() => create();
  static $pb.PbList<OfficialVerify> createRepeated() =>
      $pb.PbList<OfficialVerify>();
  @$core.pragma('dart2js:noInline')
  static OfficialVerify getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OfficialVerify>(create);
  static OfficialVerify? _defaultInstance;

  /// 127:未认证 0:个人 1:机构
  @$pb.TagNumber(1)
  $core.int get type => $_getIZ(0);
  @$pb.TagNumber(1)
  set type($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 认证描述
  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  /// 是否关注
  @$pb.TagNumber(3)
  $core.int get isAtten => $_getIZ(2);
  @$pb.TagNumber(3)
  set isAtten($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIsAtten() => $_has(2);
  @$pb.TagNumber(3)
  void clearIsAtten() => clearField(3);
}

class OneLineText extends $pb.GeneratedMessage {
  factory OneLineText({
    $core.Iterable<TextWithPriority>? texts,
  }) {
    final $result = create();
    if (texts != null) {
      $result.texts.addAll(texts);
    }
    return $result;
  }
  OneLineText._() : super();
  factory OneLineText.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OneLineText.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OneLineText',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<TextWithPriority>(
        1, _omitFieldNames ? '' : 'texts', $pb.PbFieldType.PM,
        subBuilder: TextWithPriority.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OneLineText clone() => OneLineText()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OneLineText copyWith(void Function(OneLineText) updates) =>
      super.copyWith((message) => updates(message as OneLineText))
          as OneLineText;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OneLineText create() => OneLineText._();
  OneLineText createEmptyInstance() => create();
  static $pb.PbList<OneLineText> createRepeated() => $pb.PbList<OneLineText>();
  @$core.pragma('dart2js:noInline')
  static OneLineText getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OneLineText>(create);
  static OneLineText? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<TextWithPriority> get texts => $_getList(0);
}

class OnlyFans extends $pb.GeneratedMessage {
  factory OnlyFans({
    $core.bool? isOnlyFans,
    IconBadge? badge,
  }) {
    final $result = create();
    if (isOnlyFans != null) {
      $result.isOnlyFans = isOnlyFans;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    return $result;
  }
  OnlyFans._() : super();
  factory OnlyFans.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OnlyFans.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OnlyFans',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'isOnlyFans')
    ..aOM<IconBadge>(2, _omitFieldNames ? '' : 'badge',
        subBuilder: IconBadge.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OnlyFans clone() => OnlyFans()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OnlyFans copyWith(void Function(OnlyFans) updates) =>
      super.copyWith((message) => updates(message as OnlyFans)) as OnlyFans;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OnlyFans create() => OnlyFans._();
  OnlyFans createEmptyInstance() => create();
  static $pb.PbList<OnlyFans> createRepeated() => $pb.PbList<OnlyFans>();
  @$core.pragma('dart2js:noInline')
  static OnlyFans getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OnlyFans>(create);
  static OnlyFans? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get isOnlyFans => $_getBF(0);
  @$pb.TagNumber(1)
  set isOnlyFans($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIsOnlyFans() => $_has(0);
  @$pb.TagNumber(1)
  void clearIsOnlyFans() => clearField(1);

  @$pb.TagNumber(2)
  IconBadge get badge => $_getN(1);
  @$pb.TagNumber(2)
  set badge(IconBadge v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasBadge() => $_has(1);
  @$pb.TagNumber(2)
  void clearBadge() => clearField(2);
  @$pb.TagNumber(2)
  IconBadge ensureBadge() => $_ensure(1);
}

class OnlyFansProperty extends $pb.GeneratedMessage {
  factory OnlyFansProperty({
    $core.bool? hasPrivilege,
    $core.bool? isOnlyFans,
  }) {
    final $result = create();
    if (hasPrivilege != null) {
      $result.hasPrivilege = hasPrivilege;
    }
    if (isOnlyFans != null) {
      $result.isOnlyFans = isOnlyFans;
    }
    return $result;
  }
  OnlyFansProperty._() : super();
  factory OnlyFansProperty.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OnlyFansProperty.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OnlyFansProperty',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'hasPrivilege')
    ..aOB(2, _omitFieldNames ? '' : 'isOnlyFans')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OnlyFansProperty clone() => OnlyFansProperty()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OnlyFansProperty copyWith(void Function(OnlyFansProperty) updates) =>
      super.copyWith((message) => updates(message as OnlyFansProperty))
          as OnlyFansProperty;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OnlyFansProperty create() => OnlyFansProperty._();
  OnlyFansProperty createEmptyInstance() => create();
  static $pb.PbList<OnlyFansProperty> createRepeated() =>
      $pb.PbList<OnlyFansProperty>();
  @$core.pragma('dart2js:noInline')
  static OnlyFansProperty getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OnlyFansProperty>(create);
  static OnlyFansProperty? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get hasPrivilege => $_getBF(0);
  @$pb.TagNumber(1)
  set hasPrivilege($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHasPrivilege() => $_has(0);
  @$pb.TagNumber(1)
  void clearHasPrivilege() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get isOnlyFans => $_getBF(1);
  @$pb.TagNumber(2)
  set isOnlyFans($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIsOnlyFans() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsOnlyFans() => clearField(2);
}

class OpusCollection extends $pb.GeneratedMessage {
  factory OpusCollection({
    $fixnum.Int64? collectionId,
    OneLineText? title,
    $core.String? detailUri,
    $core.String? intro,
    $core.Iterable<OpusCollectionItem>? allItems,
  }) {
    final $result = create();
    if (collectionId != null) {
      $result.collectionId = collectionId;
    }
    if (title != null) {
      $result.title = title;
    }
    if (detailUri != null) {
      $result.detailUri = detailUri;
    }
    if (intro != null) {
      $result.intro = intro;
    }
    if (allItems != null) {
      $result.allItems.addAll(allItems);
    }
    return $result;
  }
  OpusCollection._() : super();
  factory OpusCollection.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OpusCollection.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OpusCollection',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'collectionId')
    ..aOM<OneLineText>(2, _omitFieldNames ? '' : 'title',
        subBuilder: OneLineText.create)
    ..aOS(3, _omitFieldNames ? '' : 'detailUri')
    ..aOS(4, _omitFieldNames ? '' : 'intro')
    ..pc<OpusCollectionItem>(
        5, _omitFieldNames ? '' : 'allItems', $pb.PbFieldType.PM,
        subBuilder: OpusCollectionItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OpusCollection clone() => OpusCollection()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OpusCollection copyWith(void Function(OpusCollection) updates) =>
      super.copyWith((message) => updates(message as OpusCollection))
          as OpusCollection;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OpusCollection create() => OpusCollection._();
  OpusCollection createEmptyInstance() => create();
  static $pb.PbList<OpusCollection> createRepeated() =>
      $pb.PbList<OpusCollection>();
  @$core.pragma('dart2js:noInline')
  static OpusCollection getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OpusCollection>(create);
  static OpusCollection? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get collectionId => $_getI64(0);
  @$pb.TagNumber(1)
  set collectionId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCollectionId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCollectionId() => clearField(1);

  @$pb.TagNumber(2)
  OneLineText get title => $_getN(1);
  @$pb.TagNumber(2)
  set title(OneLineText v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);
  @$pb.TagNumber(2)
  OneLineText ensureTitle() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.String get detailUri => $_getSZ(2);
  @$pb.TagNumber(3)
  set detailUri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDetailUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearDetailUri() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get intro => $_getSZ(3);
  @$pb.TagNumber(4)
  set intro($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIntro() => $_has(3);
  @$pb.TagNumber(4)
  void clearIntro() => clearField(4);

  @$pb.TagNumber(5)
  $core.List<OpusCollectionItem> get allItems => $_getList(4);
}

class OpusCollectionItem extends $pb.GeneratedMessage {
  factory OpusCollectionItem({
    $fixnum.Int64? opusId,
    $core.String? title,
    $core.String? pubTime,
    $core.String? uri,
    $core.bool? isSelectedHighlight,
  }) {
    final $result = create();
    if (opusId != null) {
      $result.opusId = opusId;
    }
    if (title != null) {
      $result.title = title;
    }
    if (pubTime != null) {
      $result.pubTime = pubTime;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (isSelectedHighlight != null) {
      $result.isSelectedHighlight = isSelectedHighlight;
    }
    return $result;
  }
  OpusCollectionItem._() : super();
  factory OpusCollectionItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory OpusCollectionItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'OpusCollectionItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'opusId')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'pubTime')
    ..aOS(4, _omitFieldNames ? '' : 'uri')
    ..aOB(5, _omitFieldNames ? '' : 'isSelectedHighlight')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  OpusCollectionItem clone() => OpusCollectionItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  OpusCollectionItem copyWith(void Function(OpusCollectionItem) updates) =>
      super.copyWith((message) => updates(message as OpusCollectionItem))
          as OpusCollectionItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static OpusCollectionItem create() => OpusCollectionItem._();
  OpusCollectionItem createEmptyInstance() => create();
  static $pb.PbList<OpusCollectionItem> createRepeated() =>
      $pb.PbList<OpusCollectionItem>();
  @$core.pragma('dart2js:noInline')
  static OpusCollectionItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<OpusCollectionItem>(create);
  static OpusCollectionItem? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get opusId => $_getI64(0);
  @$pb.TagNumber(1)
  set opusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOpusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearOpusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get pubTime => $_getSZ(2);
  @$pb.TagNumber(3)
  set pubTime($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasPubTime() => $_has(2);
  @$pb.TagNumber(3)
  void clearPubTime() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get uri => $_getSZ(3);
  @$pb.TagNumber(4)
  set uri($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUri() => $_has(3);
  @$pb.TagNumber(4)
  void clearUri() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isSelectedHighlight => $_getBF(4);
  @$pb.TagNumber(5)
  set isSelectedHighlight($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasIsSelectedHighlight() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsSelectedHighlight() => clearField(5);
}

class Paragraph_ListFormat extends $pb.GeneratedMessage {
  factory Paragraph_ListFormat({
    $core.int? level,
    $core.int? order,
    $core.String? theme,
  }) {
    final $result = create();
    if (level != null) {
      $result.level = level;
    }
    if (order != null) {
      $result.order = order;
    }
    if (theme != null) {
      $result.theme = theme;
    }
    return $result;
  }
  Paragraph_ListFormat._() : super();
  factory Paragraph_ListFormat.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Paragraph_ListFormat.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Paragraph.ListFormat',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'level', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'order', $pb.PbFieldType.O3)
    ..aOS(3, _omitFieldNames ? '' : 'theme')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Paragraph_ListFormat clone() =>
      Paragraph_ListFormat()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Paragraph_ListFormat copyWith(void Function(Paragraph_ListFormat) updates) =>
      super.copyWith((message) => updates(message as Paragraph_ListFormat))
          as Paragraph_ListFormat;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Paragraph_ListFormat create() => Paragraph_ListFormat._();
  Paragraph_ListFormat createEmptyInstance() => create();
  static $pb.PbList<Paragraph_ListFormat> createRepeated() =>
      $pb.PbList<Paragraph_ListFormat>();
  @$core.pragma('dart2js:noInline')
  static Paragraph_ListFormat getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<Paragraph_ListFormat>(create);
  static Paragraph_ListFormat? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get level => $_getIZ(0);
  @$pb.TagNumber(1)
  set level($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasLevel() => $_has(0);
  @$pb.TagNumber(1)
  void clearLevel() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get order => $_getIZ(1);
  @$pb.TagNumber(2)
  set order($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOrder() => $_has(1);
  @$pb.TagNumber(2)
  void clearOrder() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get theme => $_getSZ(2);
  @$pb.TagNumber(3)
  set theme($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTheme() => $_has(2);
  @$pb.TagNumber(3)
  void clearTheme() => clearField(3);
}

class Paragraph_ParagraphFormat extends $pb.GeneratedMessage {
  factory Paragraph_ParagraphFormat({
    Paragraph_ParagraphAlign? align,
    Paragraph_ListFormat? listFormat,
  }) {
    final $result = create();
    if (align != null) {
      $result.align = align;
    }
    if (listFormat != null) {
      $result.listFormat = listFormat;
    }
    return $result;
  }
  Paragraph_ParagraphFormat._() : super();
  factory Paragraph_ParagraphFormat.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Paragraph_ParagraphFormat.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Paragraph.ParagraphFormat',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<Paragraph_ParagraphAlign>(
        1, _omitFieldNames ? '' : 'align', $pb.PbFieldType.OE,
        defaultOrMaker: Paragraph_ParagraphAlign.LEFT,
        valueOf: Paragraph_ParagraphAlign.valueOf,
        enumValues: Paragraph_ParagraphAlign.values)
    ..aOM<Paragraph_ListFormat>(2, _omitFieldNames ? '' : 'listFormat',
        subBuilder: Paragraph_ListFormat.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Paragraph_ParagraphFormat clone() =>
      Paragraph_ParagraphFormat()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Paragraph_ParagraphFormat copyWith(
          void Function(Paragraph_ParagraphFormat) updates) =>
      super.copyWith((message) => updates(message as Paragraph_ParagraphFormat))
          as Paragraph_ParagraphFormat;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Paragraph_ParagraphFormat create() => Paragraph_ParagraphFormat._();
  Paragraph_ParagraphFormat createEmptyInstance() => create();
  static $pb.PbList<Paragraph_ParagraphFormat> createRepeated() =>
      $pb.PbList<Paragraph_ParagraphFormat>();
  @$core.pragma('dart2js:noInline')
  static Paragraph_ParagraphFormat getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<Paragraph_ParagraphFormat>(create);
  static Paragraph_ParagraphFormat? _defaultInstance;

  @$pb.TagNumber(1)
  Paragraph_ParagraphAlign get align => $_getN(0);
  @$pb.TagNumber(1)
  set align(Paragraph_ParagraphAlign v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAlign() => $_has(0);
  @$pb.TagNumber(1)
  void clearAlign() => clearField(1);

  @$pb.TagNumber(2)
  Paragraph_ListFormat get listFormat => $_getN(1);
  @$pb.TagNumber(2)
  set listFormat(Paragraph_ListFormat v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasListFormat() => $_has(1);
  @$pb.TagNumber(2)
  void clearListFormat() => clearField(2);
  @$pb.TagNumber(2)
  Paragraph_ListFormat ensureListFormat() => $_ensure(1);
}

enum Paragraph_Content { text, pic, line, linkCard, notSet }

class Paragraph extends $pb.GeneratedMessage {
  factory Paragraph({
    Paragraph_ParagraphType? paraType,
    Paragraph_ParagraphFormat? paraFormat,
    TextParagraph? text,
    PicParagraph? pic,
    LineParagraph? line,
    CardParagraph? linkCard,
  }) {
    final $result = create();
    if (paraType != null) {
      $result.paraType = paraType;
    }
    if (paraFormat != null) {
      $result.paraFormat = paraFormat;
    }
    if (text != null) {
      $result.text = text;
    }
    if (pic != null) {
      $result.pic = pic;
    }
    if (line != null) {
      $result.line = line;
    }
    if (linkCard != null) {
      $result.linkCard = linkCard;
    }
    return $result;
  }
  Paragraph._() : super();
  factory Paragraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Paragraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, Paragraph_Content> _Paragraph_ContentByTag =
      {
    3: Paragraph_Content.text,
    4: Paragraph_Content.pic,
    5: Paragraph_Content.line,
    6: Paragraph_Content.linkCard,
    0: Paragraph_Content.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Paragraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [3, 4, 5, 6])
    ..e<Paragraph_ParagraphType>(
        1, _omitFieldNames ? '' : 'paraType', $pb.PbFieldType.OE,
        defaultOrMaker: Paragraph_ParagraphType.INVALID,
        valueOf: Paragraph_ParagraphType.valueOf,
        enumValues: Paragraph_ParagraphType.values)
    ..aOM<Paragraph_ParagraphFormat>(2, _omitFieldNames ? '' : 'paraFormat',
        subBuilder: Paragraph_ParagraphFormat.create)
    ..aOM<TextParagraph>(3, _omitFieldNames ? '' : 'text',
        subBuilder: TextParagraph.create)
    ..aOM<PicParagraph>(4, _omitFieldNames ? '' : 'pic',
        subBuilder: PicParagraph.create)
    ..aOM<LineParagraph>(5, _omitFieldNames ? '' : 'line',
        subBuilder: LineParagraph.create)
    ..aOM<CardParagraph>(6, _omitFieldNames ? '' : 'linkCard',
        subBuilder: CardParagraph.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Paragraph clone() => Paragraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Paragraph copyWith(void Function(Paragraph) updates) =>
      super.copyWith((message) => updates(message as Paragraph)) as Paragraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Paragraph create() => Paragraph._();
  Paragraph createEmptyInstance() => create();
  static $pb.PbList<Paragraph> createRepeated() => $pb.PbList<Paragraph>();
  @$core.pragma('dart2js:noInline')
  static Paragraph getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Paragraph>(create);
  static Paragraph? _defaultInstance;

  Paragraph_Content whichContent() => _Paragraph_ContentByTag[$_whichOneof(0)]!;
  void clearContent() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  Paragraph_ParagraphType get paraType => $_getN(0);
  @$pb.TagNumber(1)
  set paraType(Paragraph_ParagraphType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasParaType() => $_has(0);
  @$pb.TagNumber(1)
  void clearParaType() => clearField(1);

  @$pb.TagNumber(2)
  Paragraph_ParagraphFormat get paraFormat => $_getN(1);
  @$pb.TagNumber(2)
  set paraFormat(Paragraph_ParagraphFormat v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasParaFormat() => $_has(1);
  @$pb.TagNumber(2)
  void clearParaFormat() => clearField(2);
  @$pb.TagNumber(2)
  Paragraph_ParagraphFormat ensureParaFormat() => $_ensure(1);

  @$pb.TagNumber(3)
  TextParagraph get text => $_getN(2);
  @$pb.TagNumber(3)
  set text(TextParagraph v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasText() => $_has(2);
  @$pb.TagNumber(3)
  void clearText() => clearField(3);
  @$pb.TagNumber(3)
  TextParagraph ensureText() => $_ensure(2);

  @$pb.TagNumber(4)
  PicParagraph get pic => $_getN(3);
  @$pb.TagNumber(4)
  set pic(PicParagraph v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasPic() => $_has(3);
  @$pb.TagNumber(4)
  void clearPic() => clearField(4);
  @$pb.TagNumber(4)
  PicParagraph ensurePic() => $_ensure(3);

  @$pb.TagNumber(5)
  LineParagraph get line => $_getN(4);
  @$pb.TagNumber(5)
  set line(LineParagraph v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLine() => $_has(4);
  @$pb.TagNumber(5)
  void clearLine() => clearField(5);
  @$pb.TagNumber(5)
  LineParagraph ensureLine() => $_ensure(4);

  @$pb.TagNumber(6)
  CardParagraph get linkCard => $_getN(5);
  @$pb.TagNumber(6)
  set linkCard(CardParagraph v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLinkCard() => $_has(5);
  @$pb.TagNumber(6)
  void clearLinkCard() => clearField(6);
  @$pb.TagNumber(6)
  CardParagraph ensureLinkCard() => $_ensure(5);
}

class ParaSpacing extends $pb.GeneratedMessage {
  factory ParaSpacing({
    $core.double? spacingBeforePara,
    $core.double? spacingAfterPara,
    $core.double? lineSpacing,
  }) {
    final $result = create();
    if (spacingBeforePara != null) {
      $result.spacingBeforePara = spacingBeforePara;
    }
    if (spacingAfterPara != null) {
      $result.spacingAfterPara = spacingAfterPara;
    }
    if (lineSpacing != null) {
      $result.lineSpacing = lineSpacing;
    }
    return $result;
  }
  ParaSpacing._() : super();
  factory ParaSpacing.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ParaSpacing.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ParaSpacing',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.double>(
        1, _omitFieldNames ? '' : 'spacingBeforePara', $pb.PbFieldType.OD)
    ..a<$core.double>(
        2, _omitFieldNames ? '' : 'spacingAfterPara', $pb.PbFieldType.OD)
    ..a<$core.double>(
        3, _omitFieldNames ? '' : 'lineSpacing', $pb.PbFieldType.OD)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ParaSpacing clone() => ParaSpacing()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ParaSpacing copyWith(void Function(ParaSpacing) updates) =>
      super.copyWith((message) => updates(message as ParaSpacing))
          as ParaSpacing;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ParaSpacing create() => ParaSpacing._();
  ParaSpacing createEmptyInstance() => create();
  static $pb.PbList<ParaSpacing> createRepeated() => $pb.PbList<ParaSpacing>();
  @$core.pragma('dart2js:noInline')
  static ParaSpacing getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ParaSpacing>(create);
  static ParaSpacing? _defaultInstance;

  @$pb.TagNumber(1)
  $core.double get spacingBeforePara => $_getN(0);
  @$pb.TagNumber(1)
  set spacingBeforePara($core.double v) {
    $_setDouble(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSpacingBeforePara() => $_has(0);
  @$pb.TagNumber(1)
  void clearSpacingBeforePara() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get spacingAfterPara => $_getN(1);
  @$pb.TagNumber(2)
  set spacingAfterPara($core.double v) {
    $_setDouble(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSpacingAfterPara() => $_has(1);
  @$pb.TagNumber(2)
  void clearSpacingAfterPara() => clearField(2);

  @$pb.TagNumber(3)
  $core.double get lineSpacing => $_getN(2);
  @$pb.TagNumber(3)
  set lineSpacing($core.double v) {
    $_setDouble(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLineSpacing() => $_has(2);
  @$pb.TagNumber(3)
  void clearLineSpacing() => clearField(3);
}

/// PGC单季信息
class PGCSeason extends $pb.GeneratedMessage {
  factory PGCSeason({
    $core.int? isFinish,
    $core.String? title,
    $core.int? type,
  }) {
    final $result = create();
    if (isFinish != null) {
      $result.isFinish = isFinish;
    }
    if (title != null) {
      $result.title = title;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  PGCSeason._() : super();
  factory PGCSeason.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory PGCSeason.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'PGCSeason',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'isFinish', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  PGCSeason clone() => PGCSeason()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  PGCSeason copyWith(void Function(PGCSeason) updates) =>
      super.copyWith((message) => updates(message as PGCSeason)) as PGCSeason;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PGCSeason create() => PGCSeason._();
  PGCSeason createEmptyInstance() => create();
  static $pb.PbList<PGCSeason> createRepeated() => $pb.PbList<PGCSeason>();
  @$core.pragma('dart2js:noInline')
  static PGCSeason getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PGCSeason>(create);
  static PGCSeason? _defaultInstance;

  /// 是否完结
  @$pb.TagNumber(1)
  $core.int get isFinish => $_getIZ(0);
  @$pb.TagNumber(1)
  set isFinish($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIsFinish() => $_has(0);
  @$pb.TagNumber(1)
  void clearIsFinish() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 类型
  @$pb.TagNumber(3)
  $core.int get type => $_getIZ(2);
  @$pb.TagNumber(3)
  set type($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasType() => $_has(2);
  @$pb.TagNumber(3)
  void clearType() => clearField(3);
}

class PicParagraph extends $pb.GeneratedMessage {
  factory PicParagraph({
    MdlDynDraw? pics,
    PicParagraph_PicParagraphStyle? style,
  }) {
    final $result = create();
    if (pics != null) {
      $result.pics = pics;
    }
    if (style != null) {
      $result.style = style;
    }
    return $result;
  }
  PicParagraph._() : super();
  factory PicParagraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory PicParagraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'PicParagraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<MdlDynDraw>(1, _omitFieldNames ? '' : 'pics',
        subBuilder: MdlDynDraw.create)
    ..e<PicParagraph_PicParagraphStyle>(
        2, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: PicParagraph_PicParagraphStyle.INVALID,
        valueOf: PicParagraph_PicParagraphStyle.valueOf,
        enumValues: PicParagraph_PicParagraphStyle.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  PicParagraph clone() => PicParagraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  PicParagraph copyWith(void Function(PicParagraph) updates) =>
      super.copyWith((message) => updates(message as PicParagraph))
          as PicParagraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PicParagraph create() => PicParagraph._();
  PicParagraph createEmptyInstance() => create();
  static $pb.PbList<PicParagraph> createRepeated() =>
      $pb.PbList<PicParagraph>();
  @$core.pragma('dart2js:noInline')
  static PicParagraph getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<PicParagraph>(create);
  static PicParagraph? _defaultInstance;

  @$pb.TagNumber(1)
  MdlDynDraw get pics => $_getN(0);
  @$pb.TagNumber(1)
  set pics(MdlDynDraw v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPics() => $_has(0);
  @$pb.TagNumber(1)
  void clearPics() => clearField(1);
  @$pb.TagNumber(1)
  MdlDynDraw ensurePics() => $_ensure(0);

  @$pb.TagNumber(2)
  PicParagraph_PicParagraphStyle get style => $_getN(1);
  @$pb.TagNumber(2)
  set style(PicParagraph_PicParagraphStyle v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasStyle() => $_has(1);
  @$pb.TagNumber(2)
  void clearStyle() => clearField(2);
}

/// 秒开通用参数
class PlayurlParam extends $pb.GeneratedMessage {
  factory PlayurlParam({
    $core.int? qn,
    $core.int? fnver,
    $core.int? fnval,
    $core.int? forceHost,
    $core.int? fourk,
  }) {
    final $result = create();
    if (qn != null) {
      $result.qn = qn;
    }
    if (fnver != null) {
      $result.fnver = fnver;
    }
    if (fnval != null) {
      $result.fnval = fnval;
    }
    if (forceHost != null) {
      $result.forceHost = forceHost;
    }
    if (fourk != null) {
      $result.fourk = fourk;
    }
    return $result;
  }
  PlayurlParam._() : super();
  factory PlayurlParam.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory PlayurlParam.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'PlayurlParam',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'qn', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'fnver', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'fnval', $pb.PbFieldType.O3)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'forceHost', $pb.PbFieldType.O3)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'fourk', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  PlayurlParam clone() => PlayurlParam()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  PlayurlParam copyWith(void Function(PlayurlParam) updates) =>
      super.copyWith((message) => updates(message as PlayurlParam))
          as PlayurlParam;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PlayurlParam create() => PlayurlParam._();
  PlayurlParam createEmptyInstance() => create();
  static $pb.PbList<PlayurlParam> createRepeated() =>
      $pb.PbList<PlayurlParam>();
  @$core.pragma('dart2js:noInline')
  static PlayurlParam getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<PlayurlParam>(create);
  static PlayurlParam? _defaultInstance;

  /// 清晰度
  @$pb.TagNumber(1)
  $core.int get qn => $_getIZ(0);
  @$pb.TagNumber(1)
  set qn($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasQn() => $_has(0);
  @$pb.TagNumber(1)
  void clearQn() => clearField(1);

  /// 流版本
  @$pb.TagNumber(2)
  $core.int get fnver => $_getIZ(1);
  @$pb.TagNumber(2)
  set fnver($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFnver() => $_has(1);
  @$pb.TagNumber(2)
  void clearFnver() => clearField(2);

  /// 流类型
  @$pb.TagNumber(3)
  $core.int get fnval => $_getIZ(2);
  @$pb.TagNumber(3)
  set fnval($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFnval() => $_has(2);
  @$pb.TagNumber(3)
  void clearFnval() => clearField(3);

  /// 是否强制使用域名
  @$pb.TagNumber(4)
  $core.int get forceHost => $_getIZ(3);
  @$pb.TagNumber(4)
  set forceHost($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasForceHost() => $_has(3);
  @$pb.TagNumber(4)
  void clearForceHost() => clearField(4);

  /// 是否4k
  @$pb.TagNumber(5)
  $core.int get fourk => $_getIZ(4);
  @$pb.TagNumber(5)
  set fourk($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasFourk() => $_has(4);
  @$pb.TagNumber(5)
  void clearFourk() => clearField(5);
}

class Popup extends $pb.GeneratedMessage {
  factory Popup({
    $core.String? title,
    $core.String? desc,
    $core.String? uri,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  Popup._() : super();
  factory Popup.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Popup.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Popup',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Popup clone() => Popup()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Popup copyWith(void Function(Popup) updates) =>
      super.copyWith((message) => updates(message as Popup)) as Popup;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Popup create() => Popup._();
  Popup createEmptyInstance() => create();
  static $pb.PbList<Popup> createRepeated() => $pb.PbList<Popup>();
  @$core.pragma('dart2js:noInline')
  static Popup getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Popup>(create);
  static Popup? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);
}

class RcmdArchive extends $pb.GeneratedMessage {
  factory RcmdArchive({
    $core.String? title,
    $core.String? cover,
    CoverIcon? coverLeftIcon1,
    $core.String? coverLeftText1,
    $core.String? uri,
    $core.bool? isPgc,
    $fixnum.Int64? aid,
    IconBadge? badge,
    $core.int? coverLeftIcon2,
    $core.String? coverLeftText2,
    $core.int? coverLeftIcon3,
    $core.String? coverLeftText3,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (cover != null) {
      $result.cover = cover;
    }
    if (coverLeftIcon1 != null) {
      $result.coverLeftIcon1 = coverLeftIcon1;
    }
    if (coverLeftText1 != null) {
      $result.coverLeftText1 = coverLeftText1;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (isPgc != null) {
      $result.isPgc = isPgc;
    }
    if (aid != null) {
      $result.aid = aid;
    }
    if (badge != null) {
      $result.badge = badge;
    }
    if (coverLeftIcon2 != null) {
      $result.coverLeftIcon2 = coverLeftIcon2;
    }
    if (coverLeftText2 != null) {
      $result.coverLeftText2 = coverLeftText2;
    }
    if (coverLeftIcon3 != null) {
      $result.coverLeftIcon3 = coverLeftIcon3;
    }
    if (coverLeftText3 != null) {
      $result.coverLeftText3 = coverLeftText3;
    }
    return $result;
  }
  RcmdArchive._() : super();
  factory RcmdArchive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdArchive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdArchive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'cover')
    ..e<CoverIcon>(
        3, _omitFieldNames ? '' : 'coverLeftIcon1', $pb.PbFieldType.OE,
        protoName: 'cover_left_icon_1',
        defaultOrMaker: CoverIcon.cover_icon_none,
        valueOf: CoverIcon.valueOf,
        enumValues: CoverIcon.values)
    ..aOS(4, _omitFieldNames ? '' : 'coverLeftText1',
        protoName: 'cover_left_text_1')
    ..aOS(5, _omitFieldNames ? '' : 'uri')
    ..aOB(6, _omitFieldNames ? '' : 'isPgc')
    ..aInt64(7, _omitFieldNames ? '' : 'aid')
    ..aOM<IconBadge>(8, _omitFieldNames ? '' : 'badge',
        subBuilder: IconBadge.create)
    ..a<$core.int>(
        9, _omitFieldNames ? '' : 'coverLeftIcon2', $pb.PbFieldType.O3)
    ..aOS(10, _omitFieldNames ? '' : 'coverLeftText2')
    ..a<$core.int>(
        11, _omitFieldNames ? '' : 'coverLeftIcon3', $pb.PbFieldType.O3)
    ..aOS(12, _omitFieldNames ? '' : 'coverLeftText3')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdArchive clone() => RcmdArchive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdArchive copyWith(void Function(RcmdArchive) updates) =>
      super.copyWith((message) => updates(message as RcmdArchive))
          as RcmdArchive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdArchive create() => RcmdArchive._();
  RcmdArchive createEmptyInstance() => create();
  static $pb.PbList<RcmdArchive> createRepeated() => $pb.PbList<RcmdArchive>();
  @$core.pragma('dart2js:noInline')
  static RcmdArchive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdArchive>(create);
  static RcmdArchive? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 封面图
  @$pb.TagNumber(2)
  $core.String get cover => $_getSZ(1);
  @$pb.TagNumber(2)
  set cover($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCover() => $_has(1);
  @$pb.TagNumber(2)
  void clearCover() => clearField(2);

  /// 视频封面展示项 1
  @$pb.TagNumber(3)
  CoverIcon get coverLeftIcon1 => $_getN(2);
  @$pb.TagNumber(3)
  set coverLeftIcon1(CoverIcon v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCoverLeftIcon1() => $_has(2);
  @$pb.TagNumber(3)
  void clearCoverLeftIcon1() => clearField(3);

  /// 视频封面展示项 1
  @$pb.TagNumber(4)
  $core.String get coverLeftText1 => $_getSZ(3);
  @$pb.TagNumber(4)
  set coverLeftText1($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCoverLeftText1() => $_has(3);
  @$pb.TagNumber(4)
  void clearCoverLeftText1() => clearField(4);

  /// 秒开地址
  @$pb.TagNumber(5)
  $core.String get uri => $_getSZ(4);
  @$pb.TagNumber(5)
  set uri($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUri() => $_has(4);
  @$pb.TagNumber(5)
  void clearUri() => clearField(5);

  /// 是否PGC
  @$pb.TagNumber(6)
  $core.bool get isPgc => $_getBF(5);
  @$pb.TagNumber(6)
  set isPgc($core.bool v) {
    $_setBool(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasIsPgc() => $_has(5);
  @$pb.TagNumber(6)
  void clearIsPgc() => clearField(6);

  /// aid
  @$pb.TagNumber(7)
  $fixnum.Int64 get aid => $_getI64(6);
  @$pb.TagNumber(7)
  set aid($fixnum.Int64 v) {
    $_setInt64(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasAid() => $_has(6);
  @$pb.TagNumber(7)
  void clearAid() => clearField(7);

  @$pb.TagNumber(8)
  IconBadge get badge => $_getN(7);
  @$pb.TagNumber(8)
  set badge(IconBadge v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBadge() => $_has(7);
  @$pb.TagNumber(8)
  void clearBadge() => clearField(8);
  @$pb.TagNumber(8)
  IconBadge ensureBadge() => $_ensure(7);

  @$pb.TagNumber(9)
  $core.int get coverLeftIcon2 => $_getIZ(8);
  @$pb.TagNumber(9)
  set coverLeftIcon2($core.int v) {
    $_setSignedInt32(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasCoverLeftIcon2() => $_has(8);
  @$pb.TagNumber(9)
  void clearCoverLeftIcon2() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get coverLeftText2 => $_getSZ(9);
  @$pb.TagNumber(10)
  set coverLeftText2($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasCoverLeftText2() => $_has(9);
  @$pb.TagNumber(10)
  void clearCoverLeftText2() => clearField(10);

  @$pb.TagNumber(11)
  $core.int get coverLeftIcon3 => $_getIZ(10);
  @$pb.TagNumber(11)
  set coverLeftIcon3($core.int v) {
    $_setSignedInt32(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasCoverLeftIcon3() => $_has(10);
  @$pb.TagNumber(11)
  void clearCoverLeftIcon3() => clearField(11);

  @$pb.TagNumber(12)
  $core.String get coverLeftText3 => $_getSZ(11);
  @$pb.TagNumber(12)
  set coverLeftText3($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasCoverLeftText3() => $_has(11);
  @$pb.TagNumber(12)
  void clearCoverLeftText3() => clearField(12);
}

/// 推荐UP主用户模块
class RcmdAuthor extends $pb.GeneratedMessage {
  factory RcmdAuthor({
    UserInfo? author,
    $core.String? desc,
    Relation? relation,
  }) {
    final $result = create();
    if (author != null) {
      $result.author = author;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    return $result;
  }
  RcmdAuthor._() : super();
  factory RcmdAuthor.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdAuthor.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdAuthor',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<UserInfo>(1, _omitFieldNames ? '' : 'author',
        subBuilder: UserInfo.create)
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOM<Relation>(3, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdAuthor clone() => RcmdAuthor()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdAuthor copyWith(void Function(RcmdAuthor) updates) =>
      super.copyWith((message) => updates(message as RcmdAuthor)) as RcmdAuthor;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdAuthor create() => RcmdAuthor._();
  RcmdAuthor createEmptyInstance() => create();
  static $pb.PbList<RcmdAuthor> createRepeated() => $pb.PbList<RcmdAuthor>();
  @$core.pragma('dart2js:noInline')
  static RcmdAuthor getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdAuthor>(create);
  static RcmdAuthor? _defaultInstance;

  /// 用户详情
  @$pb.TagNumber(1)
  UserInfo get author => $_getN(0);
  @$pb.TagNumber(1)
  set author(UserInfo v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAuthor() => $_has(0);
  @$pb.TagNumber(1)
  void clearAuthor() => clearField(1);
  @$pb.TagNumber(1)
  UserInfo ensureAuthor() => $_ensure(0);

  /// 描述：粉丝数、推荐理由
  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  /// 关注状态
  @$pb.TagNumber(3)
  Relation get relation => $_getN(2);
  @$pb.TagNumber(3)
  set relation(Relation v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRelation() => $_has(2);
  @$pb.TagNumber(3)
  void clearRelation() => clearField(3);
  @$pb.TagNumber(3)
  Relation ensureRelation() => $_ensure(2);
}

class RcmdCampusBrief extends $pb.GeneratedMessage {
  factory RcmdCampusBrief({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    $core.String? campusBadge,
    $core.String? url,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (campusBadge != null) {
      $result.campusBadge = campusBadge;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  RcmdCampusBrief._() : super();
  factory RcmdCampusBrief.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdCampusBrief.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdCampusBrief',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..aOS(4, _omitFieldNames ? '' : 'campusBadge')
    ..aOS(5, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdCampusBrief clone() => RcmdCampusBrief()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdCampusBrief copyWith(void Function(RcmdCampusBrief) updates) =>
      super.copyWith((message) => updates(message as RcmdCampusBrief))
          as RcmdCampusBrief;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdCampusBrief create() => RcmdCampusBrief._();
  RcmdCampusBrief createEmptyInstance() => create();
  static $pb.PbList<RcmdCampusBrief> createRepeated() =>
      $pb.PbList<RcmdCampusBrief>();
  @$core.pragma('dart2js:noInline')
  static RcmdCampusBrief getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdCampusBrief>(create);
  static RcmdCampusBrief? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(4)
  $core.String get campusBadge => $_getSZ(2);
  @$pb.TagNumber(4)
  set campusBadge($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCampusBadge() => $_has(2);
  @$pb.TagNumber(4)
  void clearCampusBadge() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get url => $_getSZ(3);
  @$pb.TagNumber(5)
  set url($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUrl() => $_has(3);
  @$pb.TagNumber(5)
  void clearUrl() => clearField(5);
}

enum RcmdItem_RcmdItem { rcmdArchive, notSet }

/// 推荐卡片列表
class RcmdItem extends $pb.GeneratedMessage {
  factory RcmdItem({
    RcmdType? type,
    RcmdArchive? rcmdArchive,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (rcmdArchive != null) {
      $result.rcmdArchive = rcmdArchive;
    }
    return $result;
  }
  RcmdItem._() : super();
  factory RcmdItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, RcmdItem_RcmdItem> _RcmdItem_RcmdItemByTag =
      {2: RcmdItem_RcmdItem.rcmdArchive, 0: RcmdItem_RcmdItem.notSet};
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2])
    ..e<RcmdType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: RcmdType.rcmd_archive,
        valueOf: RcmdType.valueOf,
        enumValues: RcmdType.values)
    ..aOM<RcmdArchive>(2, _omitFieldNames ? '' : 'rcmdArchive',
        subBuilder: RcmdArchive.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdItem clone() => RcmdItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdItem copyWith(void Function(RcmdItem) updates) =>
      super.copyWith((message) => updates(message as RcmdItem)) as RcmdItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdItem create() => RcmdItem._();
  RcmdItem createEmptyInstance() => create();
  static $pb.PbList<RcmdItem> createRepeated() => $pb.PbList<RcmdItem>();
  @$core.pragma('dart2js:noInline')
  static RcmdItem getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RcmdItem>(create);
  static RcmdItem? _defaultInstance;

  RcmdItem_RcmdItem whichRcmdItem() =>
      _RcmdItem_RcmdItemByTag[$_whichOneof(0)]!;
  void clearRcmdItem() => clearField($_whichOneof(0));

  /// 卡片类型
  @$pb.TagNumber(1)
  RcmdType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(RcmdType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  @$pb.TagNumber(2)
  RcmdArchive get rcmdArchive => $_getN(1);
  @$pb.TagNumber(2)
  set rcmdArchive(RcmdArchive v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRcmdArchive() => $_has(1);
  @$pb.TagNumber(2)
  void clearRcmdArchive() => clearField(2);
  @$pb.TagNumber(2)
  RcmdArchive ensureRcmdArchive() => $_ensure(1);
}

/// 分区聚类推荐选项
class RcmdOption extends $pb.GeneratedMessage {
  factory RcmdOption({
    $core.bool? showTitle,
  }) {
    final $result = create();
    if (showTitle != null) {
      $result.showTitle = showTitle;
    }
    return $result;
  }
  RcmdOption._() : super();
  factory RcmdOption.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdOption.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdOption',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'showTitle')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdOption clone() => RcmdOption()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdOption copyWith(void Function(RcmdOption) updates) =>
      super.copyWith((message) => updates(message as RcmdOption)) as RcmdOption;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdOption create() => RcmdOption._();
  RcmdOption createEmptyInstance() => create();
  static $pb.PbList<RcmdOption> createRepeated() => $pb.PbList<RcmdOption>();
  @$core.pragma('dart2js:noInline')
  static RcmdOption getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdOption>(create);
  static RcmdOption? _defaultInstance;

  /// 视频是否展示标题
  @$pb.TagNumber(1)
  $core.bool get showTitle => $_getBF(0);
  @$pb.TagNumber(1)
  set showTitle($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasShowTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearShowTitle() => clearField(1);
}

class RcmdReason extends $pb.GeneratedMessage {
  factory RcmdReason({
    $core.String? campusName,
    RcmdReasonStyle? style,
    $core.String? rcmdReason,
    $core.String? upName,
  }) {
    final $result = create();
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (style != null) {
      $result.style = style;
    }
    if (rcmdReason != null) {
      $result.rcmdReason = rcmdReason;
    }
    if (upName != null) {
      $result.upName = upName;
    }
    return $result;
  }
  RcmdReason._() : super();
  factory RcmdReason.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdReason.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdReason',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'campusName')
    ..e<RcmdReasonStyle>(2, _omitFieldNames ? '' : 'style', $pb.PbFieldType.OE,
        defaultOrMaker: RcmdReasonStyle.rcmd_reason_style_none,
        valueOf: RcmdReasonStyle.valueOf,
        enumValues: RcmdReasonStyle.values)
    ..aOS(3, _omitFieldNames ? '' : 'rcmdReason')
    ..aOS(4, _omitFieldNames ? '' : 'upName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdReason clone() => RcmdReason()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdReason copyWith(void Function(RcmdReason) updates) =>
      super.copyWith((message) => updates(message as RcmdReason)) as RcmdReason;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdReason create() => RcmdReason._();
  RcmdReason createEmptyInstance() => create();
  static $pb.PbList<RcmdReason> createRepeated() => $pb.PbList<RcmdReason>();
  @$core.pragma('dart2js:noInline')
  static RcmdReason getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdReason>(create);
  static RcmdReason? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get campusName => $_getSZ(0);
  @$pb.TagNumber(1)
  set campusName($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusName() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusName() => clearField(1);

  @$pb.TagNumber(2)
  RcmdReasonStyle get style => $_getN(1);
  @$pb.TagNumber(2)
  set style(RcmdReasonStyle v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasStyle() => $_has(1);
  @$pb.TagNumber(2)
  void clearStyle() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get rcmdReason => $_getSZ(2);
  @$pb.TagNumber(3)
  set rcmdReason($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRcmdReason() => $_has(2);
  @$pb.TagNumber(3)
  void clearRcmdReason() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get upName => $_getSZ(3);
  @$pb.TagNumber(4)
  set upName($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUpName() => $_has(3);
  @$pb.TagNumber(4)
  void clearUpName() => clearField(4);
}

class RcmdTopButton extends $pb.GeneratedMessage {
  factory RcmdTopButton({
    $core.String? text,
    $core.String? url,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (url != null) {
      $result.url = url;
    }
    return $result;
  }
  RcmdTopButton._() : super();
  factory RcmdTopButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdTopButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdTopButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'url')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdTopButton clone() => RcmdTopButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdTopButton copyWith(void Function(RcmdTopButton) updates) =>
      super.copyWith((message) => updates(message as RcmdTopButton))
          as RcmdTopButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdTopButton create() => RcmdTopButton._();
  RcmdTopButton createEmptyInstance() => create();
  static $pb.PbList<RcmdTopButton> createRepeated() =>
      $pb.PbList<RcmdTopButton>();
  @$core.pragma('dart2js:noInline')
  static RcmdTopButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdTopButton>(create);
  static RcmdTopButton? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get url => $_getSZ(1);
  @$pb.TagNumber(2)
  set url($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUrl() => $_has(1);
  @$pb.TagNumber(2)
  void clearUrl() => clearField(2);
}

/// 推荐up主入参
class RcmdUPsParam extends $pb.GeneratedMessage {
  factory RcmdUPsParam({
    $fixnum.Int64? dislikeTs,
  }) {
    final $result = create();
    if (dislikeTs != null) {
      $result.dislikeTs = dislikeTs;
    }
    return $result;
  }
  RcmdUPsParam._() : super();
  factory RcmdUPsParam.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RcmdUPsParam.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RcmdUPsParam',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'dislikeTs')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RcmdUPsParam clone() => RcmdUPsParam()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RcmdUPsParam copyWith(void Function(RcmdUPsParam) updates) =>
      super.copyWith((message) => updates(message as RcmdUPsParam))
          as RcmdUPsParam;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RcmdUPsParam create() => RcmdUPsParam._();
  RcmdUPsParam createEmptyInstance() => create();
  static $pb.PbList<RcmdUPsParam> createRepeated() =>
      $pb.PbList<RcmdUPsParam>();
  @$core.pragma('dart2js:noInline')
  static RcmdUPsParam getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RcmdUPsParam>(create);
  static RcmdUPsParam? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get dislikeTs => $_getI64(0);
  @$pb.TagNumber(1)
  set dislikeTs($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDislikeTs() => $_has(0);
  @$pb.TagNumber(1)
  void clearDislikeTs() => clearField(1);
}

class ReactionListItem extends $pb.GeneratedMessage {
  factory ReactionListItem({
    UserInfo? user,
    Relation? relation,
    $core.String? actText,
    $core.String? rcmdReason,
  }) {
    final $result = create();
    if (user != null) {
      $result.user = user;
    }
    if (relation != null) {
      $result.relation = relation;
    }
    if (actText != null) {
      $result.actText = actText;
    }
    if (rcmdReason != null) {
      $result.rcmdReason = rcmdReason;
    }
    return $result;
  }
  ReactionListItem._() : super();
  factory ReactionListItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ReactionListItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ReactionListItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<UserInfo>(1, _omitFieldNames ? '' : 'user',
        subBuilder: UserInfo.create)
    ..aOM<Relation>(2, _omitFieldNames ? '' : 'relation',
        subBuilder: Relation.create)
    ..aOS(3, _omitFieldNames ? '' : 'actText')
    ..aOS(4, _omitFieldNames ? '' : 'rcmdReason')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ReactionListItem clone() => ReactionListItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ReactionListItem copyWith(void Function(ReactionListItem) updates) =>
      super.copyWith((message) => updates(message as ReactionListItem))
          as ReactionListItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ReactionListItem create() => ReactionListItem._();
  ReactionListItem createEmptyInstance() => create();
  static $pb.PbList<ReactionListItem> createRepeated() =>
      $pb.PbList<ReactionListItem>();
  @$core.pragma('dart2js:noInline')
  static ReactionListItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ReactionListItem>(create);
  static ReactionListItem? _defaultInstance;

  /// 用户信息
  @$pb.TagNumber(1)
  UserInfo get user => $_getN(0);
  @$pb.TagNumber(1)
  set user(UserInfo v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUser() => $_has(0);
  @$pb.TagNumber(1)
  void clearUser() => clearField(1);
  @$pb.TagNumber(1)
  UserInfo ensureUser() => $_ensure(0);

  /// 关注关系
  @$pb.TagNumber(2)
  Relation get relation => $_getN(1);
  @$pb.TagNumber(2)
  set relation(Relation v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRelation() => $_has(1);
  @$pb.TagNumber(2)
  void clearRelation() => clearField(2);
  @$pb.TagNumber(2)
  Relation ensureRelation() => $_ensure(1);

  /// 显示文字
  @$pb.TagNumber(3)
  $core.String get actText => $_getSZ(2);
  @$pb.TagNumber(3)
  set actText($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasActText() => $_has(2);
  @$pb.TagNumber(3)
  void clearActText() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get rcmdReason => $_getSZ(3);
  @$pb.TagNumber(4)
  set rcmdReason($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRcmdReason() => $_has(3);
  @$pb.TagNumber(4)
  void clearRcmdReason() => clearField(4);
}

/// 新版动态转发点赞列表-响应
class ReactionListReply extends $pb.GeneratedMessage {
  factory ReactionListReply({
    $core.String? title,
    $core.Iterable<ReactionListItem>? list,
    $core.String? offset,
    $core.bool? hasMore,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    return $result;
  }
  ReactionListReply._() : super();
  factory ReactionListReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ReactionListReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ReactionListReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<ReactionListItem>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: ReactionListItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..aOB(4, _omitFieldNames ? '' : 'hasMore')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ReactionListReply clone() => ReactionListReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ReactionListReply copyWith(void Function(ReactionListReply) updates) =>
      super.copyWith((message) => updates(message as ReactionListReply))
          as ReactionListReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ReactionListReply create() => ReactionListReply._();
  ReactionListReply createEmptyInstance() => create();
  static $pb.PbList<ReactionListReply> createRepeated() =>
      $pb.PbList<ReactionListReply>();
  @$core.pragma('dart2js:noInline')
  static ReactionListReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ReactionListReply>(create);
  static ReactionListReply? _defaultInstance;

  /// 标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 列表
  @$pb.TagNumber(2)
  $core.List<ReactionListItem> get list => $_getList(1);

  /// 偏移
  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);

  /// 是否还有更多
  @$pb.TagNumber(4)
  $core.bool get hasMore => $_getBF(3);
  @$pb.TagNumber(4)
  set hasMore($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasHasMore() => $_has(3);
  @$pb.TagNumber(4)
  void clearHasMore() => clearField(4);
}

/// 新版动态转发点赞列表-请求
class ReactionListReq extends $pb.GeneratedMessage {
  factory ReactionListReq({
    $fixnum.Int64? dynamicId,
    $fixnum.Int64? dynType,
    $fixnum.Int64? rid,
    $core.String? offset,
  }) {
    final $result = create();
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  ReactionListReq._() : super();
  factory ReactionListReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ReactionListReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ReactionListReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(2, _omitFieldNames ? '' : 'dynType')
    ..aInt64(3, _omitFieldNames ? '' : 'rid')
    ..aOS(4, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ReactionListReq clone() => ReactionListReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ReactionListReq copyWith(void Function(ReactionListReq) updates) =>
      super.copyWith((message) => updates(message as ReactionListReq))
          as ReactionListReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ReactionListReq create() => ReactionListReq._();
  ReactionListReq createEmptyInstance() => create();
  static $pb.PbList<ReactionListReq> createRepeated() =>
      $pb.PbList<ReactionListReq>();
  @$core.pragma('dart2js:noInline')
  static ReactionListReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ReactionListReq>(create);
  static ReactionListReq? _defaultInstance;

  /// 动态ID
  @$pb.TagNumber(1)
  $fixnum.Int64 get dynamicId => $_getI64(0);
  @$pb.TagNumber(1)
  set dynamicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicId() => clearField(1);

  /// 动态类型
  @$pb.TagNumber(2)
  $fixnum.Int64 get dynType => $_getI64(1);
  @$pb.TagNumber(2)
  set dynType($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynType() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynType() => clearField(2);

  /// 业务方资源id
  @$pb.TagNumber(3)
  $fixnum.Int64 get rid => $_getI64(2);
  @$pb.TagNumber(3)
  set rid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRid() => $_has(2);
  @$pb.TagNumber(3)
  void clearRid() => clearField(3);

  /// 偏移,使用上一页回包中的offset字段；第一页不传。
  @$pb.TagNumber(4)
  $core.String get offset => $_getSZ(3);
  @$pb.TagNumber(4)
  set offset($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearOffset() => clearField(4);
}

/// 关注关系
class Relation extends $pb.GeneratedMessage {
  factory Relation({
    RelationStatus? status,
    $core.int? isFollow,
    $core.int? isFollowed,
    $core.String? title,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    if (isFollow != null) {
      $result.isFollow = isFollow;
    }
    if (isFollowed != null) {
      $result.isFollowed = isFollowed;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  Relation._() : super();
  factory Relation.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Relation.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Relation',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<RelationStatus>(1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: RelationStatus.relation_status_none,
        valueOf: RelationStatus.valueOf,
        enumValues: RelationStatus.values)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'isFollow', $pb.PbFieldType.O3)
    ..a<$core.int>(3, _omitFieldNames ? '' : 'isFollowed', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Relation clone() => Relation()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Relation copyWith(void Function(Relation) updates) =>
      super.copyWith((message) => updates(message as Relation)) as Relation;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Relation create() => Relation._();
  Relation createEmptyInstance() => create();
  static $pb.PbList<Relation> createRepeated() => $pb.PbList<Relation>();
  @$core.pragma('dart2js:noInline')
  static Relation getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Relation>(create);
  static Relation? _defaultInstance;

  /// 关注状态
  @$pb.TagNumber(1)
  RelationStatus get status => $_getN(0);
  @$pb.TagNumber(1)
  set status(RelationStatus v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);

  /// 关注
  @$pb.TagNumber(2)
  $core.int get isFollow => $_getIZ(1);
  @$pb.TagNumber(2)
  set isFollow($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIsFollow() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsFollow() => clearField(2);

  /// 被关注
  @$pb.TagNumber(3)
  $core.int get isFollowed => $_getIZ(2);
  @$pb.TagNumber(3)
  set isFollowed($core.int v) {
    $_setSignedInt32(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIsFollowed() => $_has(2);
  @$pb.TagNumber(3)
  void clearIsFollowed() => clearField(3);

  /// 文案
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(3);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);
}

/// 转发列表-请求
class RepostListReq extends $pb.GeneratedMessage {
  factory RepostListReq({
    $core.String? dynamicId,
    $fixnum.Int64? dynType,
    $fixnum.Int64? rid,
    $core.String? offset,
    $core.String? from,
    RepostType? repostType,
  }) {
    final $result = create();
    if (dynamicId != null) {
      $result.dynamicId = dynamicId;
    }
    if (dynType != null) {
      $result.dynType = dynType;
    }
    if (rid != null) {
      $result.rid = rid;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (from != null) {
      $result.from = from;
    }
    if (repostType != null) {
      $result.repostType = repostType;
    }
    return $result;
  }
  RepostListReq._() : super();
  factory RepostListReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RepostListReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RepostListReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'dynamicId')
    ..aInt64(2, _omitFieldNames ? '' : 'dynType')
    ..aInt64(3, _omitFieldNames ? '' : 'rid')
    ..aOS(4, _omitFieldNames ? '' : 'offset')
    ..aOS(5, _omitFieldNames ? '' : 'from')
    ..e<RepostType>(6, _omitFieldNames ? '' : 'repostType', $pb.PbFieldType.OE,
        defaultOrMaker: RepostType.repost_hot,
        valueOf: RepostType.valueOf,
        enumValues: RepostType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RepostListReq clone() => RepostListReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RepostListReq copyWith(void Function(RepostListReq) updates) =>
      super.copyWith((message) => updates(message as RepostListReq))
          as RepostListReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RepostListReq create() => RepostListReq._();
  RepostListReq createEmptyInstance() => create();
  static $pb.PbList<RepostListReq> createRepeated() =>
      $pb.PbList<RepostListReq>();
  @$core.pragma('dart2js:noInline')
  static RepostListReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RepostListReq>(create);
  static RepostListReq? _defaultInstance;

  /// 动态ID
  @$pb.TagNumber(1)
  $core.String get dynamicId => $_getSZ(0);
  @$pb.TagNumber(1)
  set dynamicId($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDynamicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearDynamicId() => clearField(1);

  /// 动态类型
  @$pb.TagNumber(2)
  $fixnum.Int64 get dynType => $_getI64(1);
  @$pb.TagNumber(2)
  set dynType($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDynType() => $_has(1);
  @$pb.TagNumber(2)
  void clearDynType() => clearField(2);

  /// 业务方资源id
  @$pb.TagNumber(3)
  $fixnum.Int64 get rid => $_getI64(2);
  @$pb.TagNumber(3)
  set rid($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRid() => $_has(2);
  @$pb.TagNumber(3)
  void clearRid() => clearField(3);

  /// 偏移,使用上一页回包中的offset字段；第一页不传。
  @$pb.TagNumber(4)
  $core.String get offset => $_getSZ(3);
  @$pb.TagNumber(4)
  set offset($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOffset() => $_has(3);
  @$pb.TagNumber(4)
  void clearOffset() => clearField(4);

  /// 来源
  @$pb.TagNumber(5)
  $core.String get from => $_getSZ(4);
  @$pb.TagNumber(5)
  set from($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasFrom() => $_has(4);
  @$pb.TagNumber(5)
  void clearFrom() => clearField(5);

  /// 评论类型
  @$pb.TagNumber(6)
  RepostType get repostType => $_getN(5);
  @$pb.TagNumber(6)
  set repostType(RepostType v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasRepostType() => $_has(5);
  @$pb.TagNumber(6)
  void clearRepostType() => clearField(6);
}

/// 转发列表-响应
class RepostListRsp extends $pb.GeneratedMessage {
  factory RepostListRsp({
    $core.Iterable<DynamicItem>? list,
    $core.String? offset,
    $core.bool? hasMore,
    $fixnum.Int64? totalCount,
    RepostType? repostType,
  }) {
    final $result = create();
    if (list != null) {
      $result.list.addAll(list);
    }
    if (offset != null) {
      $result.offset = offset;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (totalCount != null) {
      $result.totalCount = totalCount;
    }
    if (repostType != null) {
      $result.repostType = repostType;
    }
    return $result;
  }
  RepostListRsp._() : super();
  factory RepostListRsp.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory RepostListRsp.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'RepostListRsp',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<DynamicItem>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..aOB(3, _omitFieldNames ? '' : 'hasMore')
    ..aInt64(4, _omitFieldNames ? '' : 'totalCount')
    ..e<RepostType>(5, _omitFieldNames ? '' : 'repostType', $pb.PbFieldType.OE,
        defaultOrMaker: RepostType.repost_hot,
        valueOf: RepostType.valueOf,
        enumValues: RepostType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  RepostListRsp clone() => RepostListRsp()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  RepostListRsp copyWith(void Function(RepostListRsp) updates) =>
      super.copyWith((message) => updates(message as RepostListRsp))
          as RepostListRsp;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static RepostListRsp create() => RepostListRsp._();
  RepostListRsp createEmptyInstance() => create();
  static $pb.PbList<RepostListRsp> createRepeated() =>
      $pb.PbList<RepostListRsp>();
  @$core.pragma('dart2js:noInline')
  static RepostListRsp getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<RepostListRsp>(create);
  static RepostListRsp? _defaultInstance;

  /// 列表
  @$pb.TagNumber(1)
  $core.List<DynamicItem> get list => $_getList(0);

  /// 偏移
  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);

  /// 是否还有更多
  @$pb.TagNumber(3)
  $core.bool get hasMore => $_getBF(2);
  @$pb.TagNumber(3)
  set hasMore($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasHasMore() => $_has(2);
  @$pb.TagNumber(3)
  void clearHasMore() => clearField(3);

  /// 转发总数
  @$pb.TagNumber(4)
  $fixnum.Int64 get totalCount => $_getI64(3);
  @$pb.TagNumber(4)
  set totalCount($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTotalCount() => $_has(3);
  @$pb.TagNumber(4)
  void clearTotalCount() => clearField(4);

  /// 评论类型
  @$pb.TagNumber(5)
  RepostType get repostType => $_getN(4);
  @$pb.TagNumber(5)
  set repostType(RepostType v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasRepostType() => $_has(4);
  @$pb.TagNumber(5)
  void clearRepostType() => clearField(5);
}

class SchoolRecommendReply extends $pb.GeneratedMessage {
  factory SchoolRecommendReply({
    $core.Iterable<CampusInfo>? items,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  SchoolRecommendReply._() : super();
  factory SchoolRecommendReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SchoolRecommendReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SchoolRecommendReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<CampusInfo>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: CampusInfo.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SchoolRecommendReply clone() =>
      SchoolRecommendReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SchoolRecommendReply copyWith(void Function(SchoolRecommendReply) updates) =>
      super.copyWith((message) => updates(message as SchoolRecommendReply))
          as SchoolRecommendReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SchoolRecommendReply create() => SchoolRecommendReply._();
  SchoolRecommendReply createEmptyInstance() => create();
  static $pb.PbList<SchoolRecommendReply> createRepeated() =>
      $pb.PbList<SchoolRecommendReply>();
  @$core.pragma('dart2js:noInline')
  static SchoolRecommendReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SchoolRecommendReply>(create);
  static SchoolRecommendReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<CampusInfo> get items => $_getList(0);
}

class SchoolRecommendReq extends $pb.GeneratedMessage {
  factory SchoolRecommendReq({
    $core.double? lat,
    $core.double? lng,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (lat != null) {
      $result.lat = lat;
    }
    if (lng != null) {
      $result.lng = lng;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  SchoolRecommendReq._() : super();
  factory SchoolRecommendReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SchoolRecommendReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SchoolRecommendReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.double>(1, _omitFieldNames ? '' : 'lat', $pb.PbFieldType.OF)
    ..a<$core.double>(2, _omitFieldNames ? '' : 'lng', $pb.PbFieldType.OF)
    ..e<CampusReqFromType>(
        3, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SchoolRecommendReq clone() => SchoolRecommendReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SchoolRecommendReq copyWith(void Function(SchoolRecommendReq) updates) =>
      super.copyWith((message) => updates(message as SchoolRecommendReq))
          as SchoolRecommendReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SchoolRecommendReq create() => SchoolRecommendReq._();
  SchoolRecommendReq createEmptyInstance() => create();
  static $pb.PbList<SchoolRecommendReq> createRepeated() =>
      $pb.PbList<SchoolRecommendReq>();
  @$core.pragma('dart2js:noInline')
  static SchoolRecommendReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SchoolRecommendReq>(create);
  static SchoolRecommendReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.double get lat => $_getN(0);
  @$pb.TagNumber(1)
  set lat($core.double v) {
    $_setFloat(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasLat() => $_has(0);
  @$pb.TagNumber(1)
  void clearLat() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get lng => $_getN(1);
  @$pb.TagNumber(2)
  set lng($core.double v) {
    $_setFloat(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasLng() => $_has(1);
  @$pb.TagNumber(2)
  void clearLng() => clearField(2);

  @$pb.TagNumber(3)
  CampusReqFromType get fromType => $_getN(2);
  @$pb.TagNumber(3)
  set fromType(CampusReqFromType v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFromType() => $_has(2);
  @$pb.TagNumber(3)
  void clearFromType() => clearField(3);
}

class SchoolSearchReply extends $pb.GeneratedMessage {
  factory SchoolSearchReply({
    $core.Iterable<CampusInfo>? items,
    SearchToast? toast,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  SchoolSearchReply._() : super();
  factory SchoolSearchReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SchoolSearchReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SchoolSearchReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<CampusInfo>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: CampusInfo.create)
    ..aOM<SearchToast>(2, _omitFieldNames ? '' : 'toast',
        subBuilder: SearchToast.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SchoolSearchReply clone() => SchoolSearchReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SchoolSearchReply copyWith(void Function(SchoolSearchReply) updates) =>
      super.copyWith((message) => updates(message as SchoolSearchReply))
          as SchoolSearchReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SchoolSearchReply create() => SchoolSearchReply._();
  SchoolSearchReply createEmptyInstance() => create();
  static $pb.PbList<SchoolSearchReply> createRepeated() =>
      $pb.PbList<SchoolSearchReply>();
  @$core.pragma('dart2js:noInline')
  static SchoolSearchReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SchoolSearchReply>(create);
  static SchoolSearchReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<CampusInfo> get items => $_getList(0);

  @$pb.TagNumber(2)
  SearchToast get toast => $_getN(1);
  @$pb.TagNumber(2)
  set toast(SearchToast v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasToast() => $_has(1);
  @$pb.TagNumber(2)
  void clearToast() => clearField(2);
  @$pb.TagNumber(2)
  SearchToast ensureToast() => $_ensure(1);
}

class SchoolSearchReq extends $pb.GeneratedMessage {
  factory SchoolSearchReq({
    $core.String? keyword,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (keyword != null) {
      $result.keyword = keyword;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  SchoolSearchReq._() : super();
  factory SchoolSearchReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SchoolSearchReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SchoolSearchReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'keyword')
    ..e<CampusReqFromType>(
        2, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SchoolSearchReq clone() => SchoolSearchReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SchoolSearchReq copyWith(void Function(SchoolSearchReq) updates) =>
      super.copyWith((message) => updates(message as SchoolSearchReq))
          as SchoolSearchReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SchoolSearchReq create() => SchoolSearchReq._();
  SchoolSearchReq createEmptyInstance() => create();
  static $pb.PbList<SchoolSearchReq> createRepeated() =>
      $pb.PbList<SchoolSearchReq>();
  @$core.pragma('dart2js:noInline')
  static SchoolSearchReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SchoolSearchReq>(create);
  static SchoolSearchReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get keyword => $_getSZ(0);
  @$pb.TagNumber(1)
  set keyword($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasKeyword() => $_has(0);
  @$pb.TagNumber(1)
  void clearKeyword() => clearField(1);

  @$pb.TagNumber(2)
  CampusReqFromType get fromType => $_getN(1);
  @$pb.TagNumber(2)
  set fromType(CampusReqFromType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFromType() => $_has(1);
  @$pb.TagNumber(2)
  void clearFromType() => clearField(2);
}

class SearchChannel extends $pb.GeneratedMessage {
  factory SearchChannel({
    $core.String? title,
    SearchTopicButton? moreButton,
    $core.Iterable<ChannelInfo>? channels,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (moreButton != null) {
      $result.moreButton = moreButton;
    }
    if (channels != null) {
      $result.channels.addAll(channels);
    }
    return $result;
  }
  SearchChannel._() : super();
  factory SearchChannel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchChannel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchChannel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<SearchTopicButton>(2, _omitFieldNames ? '' : 'moreButton',
        subBuilder: SearchTopicButton.create)
    ..pc<ChannelInfo>(3, _omitFieldNames ? '' : 'channels', $pb.PbFieldType.PM,
        subBuilder: ChannelInfo.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchChannel clone() => SearchChannel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchChannel copyWith(void Function(SearchChannel) updates) =>
      super.copyWith((message) => updates(message as SearchChannel))
          as SearchChannel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchChannel create() => SearchChannel._();
  SearchChannel createEmptyInstance() => create();
  static $pb.PbList<SearchChannel> createRepeated() =>
      $pb.PbList<SearchChannel>();
  @$core.pragma('dart2js:noInline')
  static SearchChannel getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchChannel>(create);
  static SearchChannel? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  SearchTopicButton get moreButton => $_getN(1);
  @$pb.TagNumber(2)
  set moreButton(SearchTopicButton v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMoreButton() => $_has(1);
  @$pb.TagNumber(2)
  void clearMoreButton() => clearField(2);
  @$pb.TagNumber(2)
  SearchTopicButton ensureMoreButton() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.List<ChannelInfo> get channels => $_getList(2);
}

class SearchInfo extends $pb.GeneratedMessage {
  factory SearchInfo({
    $core.String? title,
    $core.Iterable<DynamicItem>? list,
    $core.String? trackId,
    $fixnum.Int64? total,
    $core.bool? hasMore,
    $core.String? version,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (trackId != null) {
      $result.trackId = trackId;
    }
    if (total != null) {
      $result.total = total;
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (version != null) {
      $result.version = version;
    }
    return $result;
  }
  SearchInfo._() : super();
  factory SearchInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<DynamicItem>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: DynamicItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'trackId')
    ..aInt64(4, _omitFieldNames ? '' : 'total')
    ..aOB(5, _omitFieldNames ? '' : 'hasMore')
    ..aOS(6, _omitFieldNames ? '' : 'version')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchInfo clone() => SearchInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchInfo copyWith(void Function(SearchInfo) updates) =>
      super.copyWith((message) => updates(message as SearchInfo)) as SearchInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchInfo create() => SearchInfo._();
  SearchInfo createEmptyInstance() => create();
  static $pb.PbList<SearchInfo> createRepeated() => $pb.PbList<SearchInfo>();
  @$core.pragma('dart2js:noInline')
  static SearchInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchInfo>(create);
  static SearchInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.List<DynamicItem> get list => $_getList(1);

  @$pb.TagNumber(3)
  $core.String get trackId => $_getSZ(2);
  @$pb.TagNumber(3)
  set trackId($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTrackId() => $_has(2);
  @$pb.TagNumber(3)
  void clearTrackId() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get total => $_getI64(3);
  @$pb.TagNumber(4)
  set total($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTotal() => $_has(3);
  @$pb.TagNumber(4)
  void clearTotal() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get hasMore => $_getBF(4);
  @$pb.TagNumber(5)
  set hasMore($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasHasMore() => $_has(4);
  @$pb.TagNumber(5)
  void clearHasMore() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get version => $_getSZ(5);
  @$pb.TagNumber(6)
  set version($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasVersion() => $_has(5);
  @$pb.TagNumber(6)
  void clearVersion() => clearField(6);
}

class SearchToast extends $pb.GeneratedMessage {
  factory SearchToast({
    $core.String? descText1,
    $core.String? descText2,
  }) {
    final $result = create();
    if (descText1 != null) {
      $result.descText1 = descText1;
    }
    if (descText2 != null) {
      $result.descText2 = descText2;
    }
    return $result;
  }
  SearchToast._() : super();
  factory SearchToast.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchToast.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchToast',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'descText1')
    ..aOS(2, _omitFieldNames ? '' : 'descText2')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchToast clone() => SearchToast()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchToast copyWith(void Function(SearchToast) updates) =>
      super.copyWith((message) => updates(message as SearchToast))
          as SearchToast;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchToast create() => SearchToast._();
  SearchToast createEmptyInstance() => create();
  static $pb.PbList<SearchToast> createRepeated() => $pb.PbList<SearchToast>();
  @$core.pragma('dart2js:noInline')
  static SearchToast getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchToast>(create);
  static SearchToast? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get descText1 => $_getSZ(0);
  @$pb.TagNumber(1)
  set descText1($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasDescText1() => $_has(0);
  @$pb.TagNumber(1)
  void clearDescText1() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get descText2 => $_getSZ(1);
  @$pb.TagNumber(2)
  set descText2($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDescText2() => $_has(1);
  @$pb.TagNumber(2)
  void clearDescText2() => clearField(2);
}

class SearchTopic extends $pb.GeneratedMessage {
  factory SearchTopic({
    $core.String? title,
    SearchTopicButton? moreButton,
    $core.Iterable<SearchTopicItem>? items,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (moreButton != null) {
      $result.moreButton = moreButton;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    return $result;
  }
  SearchTopic._() : super();
  factory SearchTopic.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchTopic.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchTopic',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<SearchTopicButton>(2, _omitFieldNames ? '' : 'moreButton',
        subBuilder: SearchTopicButton.create)
    ..pc<SearchTopicItem>(3, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: SearchTopicItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchTopic clone() => SearchTopic()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchTopic copyWith(void Function(SearchTopic) updates) =>
      super.copyWith((message) => updates(message as SearchTopic))
          as SearchTopic;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchTopic create() => SearchTopic._();
  SearchTopic createEmptyInstance() => create();
  static $pb.PbList<SearchTopic> createRepeated() => $pb.PbList<SearchTopic>();
  @$core.pragma('dart2js:noInline')
  static SearchTopic getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchTopic>(create);
  static SearchTopic? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  SearchTopicButton get moreButton => $_getN(1);
  @$pb.TagNumber(2)
  set moreButton(SearchTopicButton v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMoreButton() => $_has(1);
  @$pb.TagNumber(2)
  void clearMoreButton() => clearField(2);
  @$pb.TagNumber(2)
  SearchTopicButton ensureMoreButton() => $_ensure(1);

  @$pb.TagNumber(3)
  $core.List<SearchTopicItem> get items => $_getList(2);
}

class SearchTopicButton extends $pb.GeneratedMessage {
  factory SearchTopicButton({
    $core.String? title,
    $core.String? jumpUri,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (jumpUri != null) {
      $result.jumpUri = jumpUri;
    }
    return $result;
  }
  SearchTopicButton._() : super();
  factory SearchTopicButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchTopicButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchTopicButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'jumpUri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchTopicButton clone() => SearchTopicButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchTopicButton copyWith(void Function(SearchTopicButton) updates) =>
      super.copyWith((message) => updates(message as SearchTopicButton))
          as SearchTopicButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchTopicButton create() => SearchTopicButton._();
  SearchTopicButton createEmptyInstance() => create();
  static $pb.PbList<SearchTopicButton> createRepeated() =>
      $pb.PbList<SearchTopicButton>();
  @$core.pragma('dart2js:noInline')
  static SearchTopicButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchTopicButton>(create);
  static SearchTopicButton? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get jumpUri => $_getSZ(1);
  @$pb.TagNumber(2)
  set jumpUri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasJumpUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearJumpUri() => clearField(2);
}

class SearchTopicItem extends $pb.GeneratedMessage {
  factory SearchTopicItem({
    $fixnum.Int64? topicId,
    $core.String? topicName,
    $core.String? desc,
    $core.String? url,
    $core.bool? isActivity,
  }) {
    final $result = create();
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (topicName != null) {
      $result.topicName = topicName;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (url != null) {
      $result.url = url;
    }
    if (isActivity != null) {
      $result.isActivity = isActivity;
    }
    return $result;
  }
  SearchTopicItem._() : super();
  factory SearchTopicItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SearchTopicItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SearchTopicItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'topicId')
    ..aOS(2, _omitFieldNames ? '' : 'topicName')
    ..aOS(3, _omitFieldNames ? '' : 'desc')
    ..aOS(4, _omitFieldNames ? '' : 'url')
    ..aOB(5, _omitFieldNames ? '' : 'isActivity')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SearchTopicItem clone() => SearchTopicItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SearchTopicItem copyWith(void Function(SearchTopicItem) updates) =>
      super.copyWith((message) => updates(message as SearchTopicItem))
          as SearchTopicItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SearchTopicItem create() => SearchTopicItem._();
  SearchTopicItem createEmptyInstance() => create();
  static $pb.PbList<SearchTopicItem> createRepeated() =>
      $pb.PbList<SearchTopicItem>();
  @$core.pragma('dart2js:noInline')
  static SearchTopicItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SearchTopicItem>(create);
  static SearchTopicItem? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get topicId => $_getI64(0);
  @$pb.TagNumber(1)
  set topicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTopicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearTopicId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get topicName => $_getSZ(1);
  @$pb.TagNumber(2)
  set topicName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTopicName() => $_has(1);
  @$pb.TagNumber(2)
  void clearTopicName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get desc => $_getSZ(2);
  @$pb.TagNumber(3)
  set desc($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDesc() => $_has(2);
  @$pb.TagNumber(3)
  void clearDesc() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get url => $_getSZ(3);
  @$pb.TagNumber(4)
  set url($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUrl() => $_has(3);
  @$pb.TagNumber(4)
  void clearUrl() => clearField(4);

  @$pb.TagNumber(5)
  $core.bool get isActivity => $_getBF(4);
  @$pb.TagNumber(5)
  set isActivity($core.bool v) {
    $_setBool(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasIsActivity() => $_has(4);
  @$pb.TagNumber(5)
  void clearIsActivity() => clearField(5);
}

class SetDecisionReq extends $pb.GeneratedMessage {
  factory SetDecisionReq({
    $core.int? result,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (result != null) {
      $result.result = result;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  SetDecisionReq._() : super();
  factory SetDecisionReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SetDecisionReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SetDecisionReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'result', $pb.PbFieldType.O3)
    ..e<CampusReqFromType>(
        2, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SetDecisionReq clone() => SetDecisionReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SetDecisionReq copyWith(void Function(SetDecisionReq) updates) =>
      super.copyWith((message) => updates(message as SetDecisionReq))
          as SetDecisionReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SetDecisionReq create() => SetDecisionReq._();
  SetDecisionReq createEmptyInstance() => create();
  static $pb.PbList<SetDecisionReq> createRepeated() =>
      $pb.PbList<SetDecisionReq>();
  @$core.pragma('dart2js:noInline')
  static SetDecisionReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SetDecisionReq>(create);
  static SetDecisionReq? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get result => $_getIZ(0);
  @$pb.TagNumber(1)
  set result($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasResult() => $_has(0);
  @$pb.TagNumber(1)
  void clearResult() => clearField(1);

  @$pb.TagNumber(2)
  CampusReqFromType get fromType => $_getN(1);
  @$pb.TagNumber(2)
  set fromType(CampusReqFromType v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFromType() => $_has(1);
  @$pb.TagNumber(2)
  void clearFromType() => clearField(2);
}

class SetRecentCampusReq extends $pb.GeneratedMessage {
  factory SetRecentCampusReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  SetRecentCampusReq._() : super();
  factory SetRecentCampusReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SetRecentCampusReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SetRecentCampusReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..e<CampusReqFromType>(
        3, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SetRecentCampusReq clone() => SetRecentCampusReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SetRecentCampusReq copyWith(void Function(SetRecentCampusReq) updates) =>
      super.copyWith((message) => updates(message as SetRecentCampusReq))
          as SetRecentCampusReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SetRecentCampusReq create() => SetRecentCampusReq._();
  SetRecentCampusReq createEmptyInstance() => create();
  static $pb.PbList<SetRecentCampusReq> createRepeated() =>
      $pb.PbList<SetRecentCampusReq>();
  @$core.pragma('dart2js:noInline')
  static SetRecentCampusReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SetRecentCampusReq>(create);
  static SetRecentCampusReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  CampusReqFromType get fromType => $_getN(2);
  @$pb.TagNumber(3)
  set fromType(CampusReqFromType v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFromType() => $_has(2);
  @$pb.TagNumber(3)
  void clearFromType() => clearField(3);
}

/// 分享渠道组件
class ShareChannel extends $pb.GeneratedMessage {
  factory ShareChannel({
    $core.String? name,
    $core.String? image,
    $core.String? channel,
    ShareReserve? reserve,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (image != null) {
      $result.image = image;
    }
    if (channel != null) {
      $result.channel = channel;
    }
    if (reserve != null) {
      $result.reserve = reserve;
    }
    return $result;
  }
  ShareChannel._() : super();
  factory ShareChannel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ShareChannel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ShareChannel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'name')
    ..aOS(2, _omitFieldNames ? '' : 'image')
    ..aOS(3, _omitFieldNames ? '' : 'channel')
    ..aOM<ShareReserve>(4, _omitFieldNames ? '' : 'reserve',
        subBuilder: ShareReserve.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ShareChannel clone() => ShareChannel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ShareChannel copyWith(void Function(ShareChannel) updates) =>
      super.copyWith((message) => updates(message as ShareChannel))
          as ShareChannel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ShareChannel create() => ShareChannel._();
  ShareChannel createEmptyInstance() => create();
  static $pb.PbList<ShareChannel> createRepeated() =>
      $pb.PbList<ShareChannel>();
  @$core.pragma('dart2js:noInline')
  static ShareChannel getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ShareChannel>(create);
  static ShareChannel? _defaultInstance;

  /// 分享名称
  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => clearField(1);

  /// 分享按钮图片
  @$pb.TagNumber(2)
  $core.String get image => $_getSZ(1);
  @$pb.TagNumber(2)
  set image($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasImage() => $_has(1);
  @$pb.TagNumber(2)
  void clearImage() => clearField(2);

  /// 分享渠道
  @$pb.TagNumber(3)
  $core.String get channel => $_getSZ(2);
  @$pb.TagNumber(3)
  set channel($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasChannel() => $_has(2);
  @$pb.TagNumber(3)
  void clearChannel() => clearField(3);

  /// 预约卡分享图信息，仅分享有预约信息的动态时存在
  @$pb.TagNumber(4)
  ShareReserve get reserve => $_getN(3);
  @$pb.TagNumber(4)
  set reserve(ShareReserve v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasReserve() => $_has(3);
  @$pb.TagNumber(4)
  void clearReserve() => clearField(4);
  @$pb.TagNumber(4)
  ShareReserve ensureReserve() => $_ensure(3);
}

/// 预约卡分享图信息
class ShareReserve extends $pb.GeneratedMessage {
  factory ShareReserve({
    $core.String? title,
    $core.String? desc,
    $core.String? qrCodeIcon,
    $core.String? qrCodeText,
    $core.String? qrCodeUrl,
    AdditionUserInfo? userInfo,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (qrCodeIcon != null) {
      $result.qrCodeIcon = qrCodeIcon;
    }
    if (qrCodeText != null) {
      $result.qrCodeText = qrCodeText;
    }
    if (qrCodeUrl != null) {
      $result.qrCodeUrl = qrCodeUrl;
    }
    if (userInfo != null) {
      $result.userInfo = userInfo;
    }
    return $result;
  }
  ShareReserve._() : super();
  factory ShareReserve.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ShareReserve.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ShareReserve',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aOS(3, _omitFieldNames ? '' : 'qrCodeIcon')
    ..aOS(4, _omitFieldNames ? '' : 'qrCodeText')
    ..aOS(5, _omitFieldNames ? '' : 'qrCodeUrl')
    ..aOM<AdditionUserInfo>(6, _omitFieldNames ? '' : 'userInfo',
        subBuilder: AdditionUserInfo.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ShareReserve clone() => ShareReserve()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ShareReserve copyWith(void Function(ShareReserve) updates) =>
      super.copyWith((message) => updates(message as ShareReserve))
          as ShareReserve;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ShareReserve create() => ShareReserve._();
  ShareReserve createEmptyInstance() => create();
  static $pb.PbList<ShareReserve> createRepeated() =>
      $pb.PbList<ShareReserve>();
  @$core.pragma('dart2js:noInline')
  static ShareReserve getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ShareReserve>(create);
  static ShareReserve? _defaultInstance;

  /// 展示标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 描述(时间+类型)
  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  /// 二维码附带icon
  @$pb.TagNumber(3)
  $core.String get qrCodeIcon => $_getSZ(2);
  @$pb.TagNumber(3)
  set qrCodeIcon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasQrCodeIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearQrCodeIcon() => clearField(3);

  /// 二维码附带文本
  @$pb.TagNumber(4)
  $core.String get qrCodeText => $_getSZ(3);
  @$pb.TagNumber(4)
  set qrCodeText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasQrCodeText() => $_has(3);
  @$pb.TagNumber(4)
  void clearQrCodeText() => clearField(4);

  /// 二维码url
  @$pb.TagNumber(5)
  $core.String get qrCodeUrl => $_getSZ(4);
  @$pb.TagNumber(5)
  set qrCodeUrl($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasQrCodeUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearQrCodeUrl() => clearField(5);

  @$pb.TagNumber(6)
  AdditionUserInfo get userInfo => $_getN(5);
  @$pb.TagNumber(6)
  set userInfo(AdditionUserInfo v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUserInfo() => $_has(5);
  @$pb.TagNumber(6)
  void clearUserInfo() => clearField(6);
  @$pb.TagNumber(6)
  AdditionUserInfo ensureUserInfo() => $_ensure(5);
}

/// 排序类型
class SortType extends $pb.GeneratedMessage {
  factory SortType({
    $core.int? sortType,
    $core.String? sortTypeName,
  }) {
    final $result = create();
    if (sortType != null) {
      $result.sortType = sortType;
    }
    if (sortTypeName != null) {
      $result.sortTypeName = sortTypeName;
    }
    return $result;
  }
  SortType._() : super();
  factory SortType.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SortType.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SortType',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'sortType', $pb.PbFieldType.O3)
    ..aOS(2, _omitFieldNames ? '' : 'sortTypeName')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SortType clone() => SortType()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SortType copyWith(void Function(SortType) updates) =>
      super.copyWith((message) => updates(message as SortType)) as SortType;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SortType create() => SortType._();
  SortType createEmptyInstance() => create();
  static $pb.PbList<SortType> createRepeated() => $pb.PbList<SortType>();
  @$core.pragma('dart2js:noInline')
  static SortType getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SortType>(create);
  static SortType? _defaultInstance;

  /// 排序策略
  /// 1:推荐排序 2:最常访问 3:最近关注
  @$pb.TagNumber(1)
  $core.int get sortType => $_getIZ(0);
  @$pb.TagNumber(1)
  set sortType($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasSortType() => $_has(0);
  @$pb.TagNumber(1)
  void clearSortType() => clearField(1);

  /// 排序策略名称
  @$pb.TagNumber(2)
  $core.String get sortTypeName => $_getSZ(1);
  @$pb.TagNumber(2)
  set sortTypeName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasSortTypeName() => $_has(1);
  @$pb.TagNumber(2)
  void clearSortTypeName() => clearField(2);
}

class StoryArchive extends $pb.GeneratedMessage {
  factory StoryArchive({
    $core.String? cover,
    $fixnum.Int64? aid,
    $core.String? uri,
    Dimension? dimension,
  }) {
    final $result = create();
    if (cover != null) {
      $result.cover = cover;
    }
    if (aid != null) {
      $result.aid = aid;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (dimension != null) {
      $result.dimension = dimension;
    }
    return $result;
  }
  StoryArchive._() : super();
  factory StoryArchive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory StoryArchive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'StoryArchive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'cover')
    ..aInt64(2, _omitFieldNames ? '' : 'aid')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOM<Dimension>(4, _omitFieldNames ? '' : 'dimension',
        subBuilder: Dimension.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  StoryArchive clone() => StoryArchive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  StoryArchive copyWith(void Function(StoryArchive) updates) =>
      super.copyWith((message) => updates(message as StoryArchive))
          as StoryArchive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StoryArchive create() => StoryArchive._();
  StoryArchive createEmptyInstance() => create();
  static $pb.PbList<StoryArchive> createRepeated() =>
      $pb.PbList<StoryArchive>();
  @$core.pragma('dart2js:noInline')
  static StoryArchive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<StoryArchive>(create);
  static StoryArchive? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get cover => $_getSZ(0);
  @$pb.TagNumber(1)
  set cover($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCover() => $_has(0);
  @$pb.TagNumber(1)
  void clearCover() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get aid => $_getI64(1);
  @$pb.TagNumber(2)
  set aid($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAid() => $_has(1);
  @$pb.TagNumber(2)
  void clearAid() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  @$pb.TagNumber(4)
  Dimension get dimension => $_getN(3);
  @$pb.TagNumber(4)
  set dimension(Dimension v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDimension() => $_has(3);
  @$pb.TagNumber(4)
  void clearDimension() => clearField(4);
  @$pb.TagNumber(4)
  Dimension ensureDimension() => $_ensure(3);
}

enum StoryItem_RcmdItem { storyArchive, notSet }

class StoryItem extends $pb.GeneratedMessage {
  factory StoryItem({
    UserInfo? author,
    $core.String? desc,
    $fixnum.Int64? status,
    $core.int? type,
    StoryArchive? storyArchive,
  }) {
    final $result = create();
    if (author != null) {
      $result.author = author;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (status != null) {
      $result.status = status;
    }
    if (type != null) {
      $result.type = type;
    }
    if (storyArchive != null) {
      $result.storyArchive = storyArchive;
    }
    return $result;
  }
  StoryItem._() : super();
  factory StoryItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory StoryItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, StoryItem_RcmdItem>
      _StoryItem_RcmdItemByTag = {
    5: StoryItem_RcmdItem.storyArchive,
    0: StoryItem_RcmdItem.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'StoryItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [5])
    ..aOM<UserInfo>(1, _omitFieldNames ? '' : 'author',
        subBuilder: UserInfo.create)
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..aInt64(3, _omitFieldNames ? '' : 'status')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'type', $pb.PbFieldType.O3)
    ..aOM<StoryArchive>(5, _omitFieldNames ? '' : 'storyArchive',
        subBuilder: StoryArchive.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  StoryItem clone() => StoryItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  StoryItem copyWith(void Function(StoryItem) updates) =>
      super.copyWith((message) => updates(message as StoryItem)) as StoryItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static StoryItem create() => StoryItem._();
  StoryItem createEmptyInstance() => create();
  static $pb.PbList<StoryItem> createRepeated() => $pb.PbList<StoryItem>();
  @$core.pragma('dart2js:noInline')
  static StoryItem getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StoryItem>(create);
  static StoryItem? _defaultInstance;

  StoryItem_RcmdItem whichRcmdItem() =>
      _StoryItem_RcmdItemByTag[$_whichOneof(0)]!;
  void clearRcmdItem() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  UserInfo get author => $_getN(0);
  @$pb.TagNumber(1)
  set author(UserInfo v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAuthor() => $_has(0);
  @$pb.TagNumber(1)
  void clearAuthor() => clearField(1);
  @$pb.TagNumber(1)
  UserInfo ensureAuthor() => $_ensure(0);

  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);

  @$pb.TagNumber(3)
  $fixnum.Int64 get status => $_getI64(2);
  @$pb.TagNumber(3)
  set status($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => clearField(3);

  @$pb.TagNumber(4)
  $core.int get type => $_getIZ(3);
  @$pb.TagNumber(4)
  set type($core.int v) {
    $_setSignedInt32(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasType() => $_has(3);
  @$pb.TagNumber(4)
  void clearType() => clearField(4);

  @$pb.TagNumber(5)
  StoryArchive get storyArchive => $_getN(4);
  @$pb.TagNumber(5)
  set storyArchive(StoryArchive v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasStoryArchive() => $_has(4);
  @$pb.TagNumber(5)
  void clearStoryArchive() => clearField(5);
  @$pb.TagNumber(5)
  StoryArchive ensureStoryArchive() => $_ensure(4);
}

class SubscribeCampusReq extends $pb.GeneratedMessage {
  factory SubscribeCampusReq({
    $fixnum.Int64? campusId,
    $core.String? campusName,
    CampusReqFromType? fromType,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (campusName != null) {
      $result.campusName = campusName;
    }
    if (fromType != null) {
      $result.fromType = fromType;
    }
    return $result;
  }
  SubscribeCampusReq._() : super();
  factory SubscribeCampusReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory SubscribeCampusReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'SubscribeCampusReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'campusName')
    ..e<CampusReqFromType>(
        3, _omitFieldNames ? '' : 'fromType', $pb.PbFieldType.OE,
        defaultOrMaker: CampusReqFromType.DYNAMIC,
        valueOf: CampusReqFromType.valueOf,
        enumValues: CampusReqFromType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  SubscribeCampusReq clone() => SubscribeCampusReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  SubscribeCampusReq copyWith(void Function(SubscribeCampusReq) updates) =>
      super.copyWith((message) => updates(message as SubscribeCampusReq))
          as SubscribeCampusReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static SubscribeCampusReq create() => SubscribeCampusReq._();
  SubscribeCampusReq createEmptyInstance() => create();
  static $pb.PbList<SubscribeCampusReq> createRepeated() =>
      $pb.PbList<SubscribeCampusReq>();
  @$core.pragma('dart2js:noInline')
  static SubscribeCampusReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<SubscribeCampusReq>(create);
  static SubscribeCampusReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get campusName => $_getSZ(1);
  @$pb.TagNumber(2)
  set campusName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasCampusName() => $_has(1);
  @$pb.TagNumber(2)
  void clearCampusName() => clearField(2);

  @$pb.TagNumber(3)
  CampusReqFromType get fromType => $_getN(2);
  @$pb.TagNumber(3)
  set fromType(CampusReqFromType v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFromType() => $_has(2);
  @$pb.TagNumber(3)
  void clearFromType() => clearField(3);
}

enum TextNode_Text { word, emote, link, notSet }

class TextNode extends $pb.GeneratedMessage {
  factory TextNode({
    TextNode_TextNodeType? nodeType,
    $core.String? rawText,
    WordNode? word,
    EmoteNode? emote,
    LinkNode? link,
  }) {
    final $result = create();
    if (nodeType != null) {
      $result.nodeType = nodeType;
    }
    if (rawText != null) {
      $result.rawText = rawText;
    }
    if (word != null) {
      $result.word = word;
    }
    if (emote != null) {
      $result.emote = emote;
    }
    if (link != null) {
      $result.link = link;
    }
    return $result;
  }
  TextNode._() : super();
  factory TextNode.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TextNode.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, TextNode_Text> _TextNode_TextByTag = {
    3: TextNode_Text.word,
    4: TextNode_Text.emote,
    5: TextNode_Text.link,
    0: TextNode_Text.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TextNode',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [3, 4, 5])
    ..e<TextNode_TextNodeType>(
        1, _omitFieldNames ? '' : 'nodeType', $pb.PbFieldType.OE,
        defaultOrMaker: TextNode_TextNodeType.INVALID,
        valueOf: TextNode_TextNodeType.valueOf,
        enumValues: TextNode_TextNodeType.values)
    ..aOS(2, _omitFieldNames ? '' : 'rawText')
    ..aOM<WordNode>(3, _omitFieldNames ? '' : 'word',
        subBuilder: WordNode.create)
    ..aOM<EmoteNode>(4, _omitFieldNames ? '' : 'emote',
        subBuilder: EmoteNode.create)
    ..aOM<LinkNode>(5, _omitFieldNames ? '' : 'link',
        subBuilder: LinkNode.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TextNode clone() => TextNode()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TextNode copyWith(void Function(TextNode) updates) =>
      super.copyWith((message) => updates(message as TextNode)) as TextNode;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TextNode create() => TextNode._();
  TextNode createEmptyInstance() => create();
  static $pb.PbList<TextNode> createRepeated() => $pb.PbList<TextNode>();
  @$core.pragma('dart2js:noInline')
  static TextNode getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<TextNode>(create);
  static TextNode? _defaultInstance;

  TextNode_Text whichText() => _TextNode_TextByTag[$_whichOneof(0)]!;
  void clearText() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  TextNode_TextNodeType get nodeType => $_getN(0);
  @$pb.TagNumber(1)
  set nodeType(TextNode_TextNodeType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasNodeType() => $_has(0);
  @$pb.TagNumber(1)
  void clearNodeType() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get rawText => $_getSZ(1);
  @$pb.TagNumber(2)
  set rawText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRawText() => $_has(1);
  @$pb.TagNumber(2)
  void clearRawText() => clearField(2);

  @$pb.TagNumber(3)
  WordNode get word => $_getN(2);
  @$pb.TagNumber(3)
  set word(WordNode v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasWord() => $_has(2);
  @$pb.TagNumber(3)
  void clearWord() => clearField(3);
  @$pb.TagNumber(3)
  WordNode ensureWord() => $_ensure(2);

  @$pb.TagNumber(4)
  EmoteNode get emote => $_getN(3);
  @$pb.TagNumber(4)
  set emote(EmoteNode v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasEmote() => $_has(3);
  @$pb.TagNumber(4)
  void clearEmote() => clearField(4);
  @$pb.TagNumber(4)
  EmoteNode ensureEmote() => $_ensure(3);

  @$pb.TagNumber(5)
  LinkNode get link => $_getN(4);
  @$pb.TagNumber(5)
  set link(LinkNode v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasLink() => $_has(4);
  @$pb.TagNumber(5)
  void clearLink() => clearField(5);
  @$pb.TagNumber(5)
  LinkNode ensureLink() => $_ensure(4);
}

class TextParagraph extends $pb.GeneratedMessage {
  factory TextParagraph({
    $core.Iterable<TextNode>? nodes,
  }) {
    final $result = create();
    if (nodes != null) {
      $result.nodes.addAll(nodes);
    }
    return $result;
  }
  TextParagraph._() : super();
  factory TextParagraph.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TextParagraph.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TextParagraph',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<TextNode>(1, _omitFieldNames ? '' : 'nodes', $pb.PbFieldType.PM,
        subBuilder: TextNode.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TextParagraph clone() => TextParagraph()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TextParagraph copyWith(void Function(TextParagraph) updates) =>
      super.copyWith((message) => updates(message as TextParagraph))
          as TextParagraph;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TextParagraph create() => TextParagraph._();
  TextParagraph createEmptyInstance() => create();
  static $pb.PbList<TextParagraph> createRepeated() =>
      $pb.PbList<TextParagraph>();
  @$core.pragma('dart2js:noInline')
  static TextParagraph getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TextParagraph>(create);
  static TextParagraph? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<TextNode> get nodes => $_getList(0);
}

class TextWithPriority extends $pb.GeneratedMessage {
  factory TextWithPriority({
    $core.String? text,
    $fixnum.Int64? priority,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (priority != null) {
      $result.priority = priority;
    }
    return $result;
  }
  TextWithPriority._() : super();
  factory TextWithPriority.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TextWithPriority.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TextWithPriority',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aInt64(2, _omitFieldNames ? '' : 'priority')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TextWithPriority clone() => TextWithPriority()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TextWithPriority copyWith(void Function(TextWithPriority) updates) =>
      super.copyWith((message) => updates(message as TextWithPriority))
          as TextWithPriority;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TextWithPriority create() => TextWithPriority._();
  TextWithPriority createEmptyInstance() => create();
  static $pb.PbList<TextWithPriority> createRepeated() =>
      $pb.PbList<TextWithPriority>();
  @$core.pragma('dart2js:noInline')
  static TextWithPriority getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TextWithPriority>(create);
  static TextWithPriority? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  @$pb.TagNumber(2)
  $fixnum.Int64 get priority => $_getI64(1);
  @$pb.TagNumber(2)
  set priority($fixnum.Int64 v) {
    $_setInt64(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasPriority() => $_has(1);
  @$pb.TagNumber(2)
  void clearPriority() => clearField(2);
}

/// 三点-关注
class ThreePointAttention extends $pb.GeneratedMessage {
  factory ThreePointAttention({
    $core.String? attentionIcon,
    $core.String? attentionText,
    $core.String? notAttentionIcon,
    $core.String? notAttentionText,
    ThreePointAttentionStatus? status,
  }) {
    final $result = create();
    if (attentionIcon != null) {
      $result.attentionIcon = attentionIcon;
    }
    if (attentionText != null) {
      $result.attentionText = attentionText;
    }
    if (notAttentionIcon != null) {
      $result.notAttentionIcon = notAttentionIcon;
    }
    if (notAttentionText != null) {
      $result.notAttentionText = notAttentionText;
    }
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  ThreePointAttention._() : super();
  factory ThreePointAttention.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointAttention.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointAttention',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'attentionIcon')
    ..aOS(2, _omitFieldNames ? '' : 'attentionText')
    ..aOS(3, _omitFieldNames ? '' : 'notAttentionIcon')
    ..aOS(4, _omitFieldNames ? '' : 'notAttentionText')
    ..e<ThreePointAttentionStatus>(
        5, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: ThreePointAttentionStatus.tp_not_attention,
        valueOf: ThreePointAttentionStatus.valueOf,
        enumValues: ThreePointAttentionStatus.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointAttention clone() => ThreePointAttention()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointAttention copyWith(void Function(ThreePointAttention) updates) =>
      super.copyWith((message) => updates(message as ThreePointAttention))
          as ThreePointAttention;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointAttention create() => ThreePointAttention._();
  ThreePointAttention createEmptyInstance() => create();
  static $pb.PbList<ThreePointAttention> createRepeated() =>
      $pb.PbList<ThreePointAttention>();
  @$core.pragma('dart2js:noInline')
  static ThreePointAttention getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointAttention>(create);
  static ThreePointAttention? _defaultInstance;

  /// attention icon
  @$pb.TagNumber(1)
  $core.String get attentionIcon => $_getSZ(0);
  @$pb.TagNumber(1)
  set attentionIcon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAttentionIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearAttentionIcon() => clearField(1);

  /// 关注时显示的文案
  @$pb.TagNumber(2)
  $core.String get attentionText => $_getSZ(1);
  @$pb.TagNumber(2)
  set attentionText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAttentionText() => $_has(1);
  @$pb.TagNumber(2)
  void clearAttentionText() => clearField(2);

  /// not attention icon
  @$pb.TagNumber(3)
  $core.String get notAttentionIcon => $_getSZ(2);
  @$pb.TagNumber(3)
  set notAttentionIcon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasNotAttentionIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearNotAttentionIcon() => clearField(3);

  /// 未关注时显示的文案
  @$pb.TagNumber(4)
  $core.String get notAttentionText => $_getSZ(3);
  @$pb.TagNumber(4)
  set notAttentionText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasNotAttentionText() => $_has(3);
  @$pb.TagNumber(4)
  void clearNotAttentionText() => clearField(4);

  /// 当前关注状态
  @$pb.TagNumber(5)
  ThreePointAttentionStatus get status => $_getN(4);
  @$pb.TagNumber(5)
  set status(ThreePointAttentionStatus v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasStatus() => $_has(4);
  @$pb.TagNumber(5)
  void clearStatus() => clearField(5);
}

/// 三点-自动播放 旧版不维护
class ThreePointAutoPlay extends $pb.GeneratedMessage {
  factory ThreePointAutoPlay({
    $core.String? openIcon,
    $core.String? openText,
    $core.String? closeIcon,
    $core.String? closeText,
    $core.String? openTextV2,
    $core.String? closeTextV2,
    $core.String? onlyIcon,
    $core.String? onlyText,
    $core.String? openIconV2,
    $core.String? closeIconV2,
  }) {
    final $result = create();
    if (openIcon != null) {
      $result.openIcon = openIcon;
    }
    if (openText != null) {
      $result.openText = openText;
    }
    if (closeIcon != null) {
      $result.closeIcon = closeIcon;
    }
    if (closeText != null) {
      $result.closeText = closeText;
    }
    if (openTextV2 != null) {
      $result.openTextV2 = openTextV2;
    }
    if (closeTextV2 != null) {
      $result.closeTextV2 = closeTextV2;
    }
    if (onlyIcon != null) {
      $result.onlyIcon = onlyIcon;
    }
    if (onlyText != null) {
      $result.onlyText = onlyText;
    }
    if (openIconV2 != null) {
      $result.openIconV2 = openIconV2;
    }
    if (closeIconV2 != null) {
      $result.closeIconV2 = closeIconV2;
    }
    return $result;
  }
  ThreePointAutoPlay._() : super();
  factory ThreePointAutoPlay.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointAutoPlay.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointAutoPlay',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'openIcon')
    ..aOS(2, _omitFieldNames ? '' : 'openText')
    ..aOS(3, _omitFieldNames ? '' : 'closeIcon')
    ..aOS(4, _omitFieldNames ? '' : 'closeText')
    ..aOS(5, _omitFieldNames ? '' : 'openTextV2')
    ..aOS(6, _omitFieldNames ? '' : 'closeTextV2')
    ..aOS(7, _omitFieldNames ? '' : 'onlyIcon')
    ..aOS(8, _omitFieldNames ? '' : 'onlyText')
    ..aOS(9, _omitFieldNames ? '' : 'openIconV2')
    ..aOS(10, _omitFieldNames ? '' : 'closeIconV2')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointAutoPlay clone() => ThreePointAutoPlay()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointAutoPlay copyWith(void Function(ThreePointAutoPlay) updates) =>
      super.copyWith((message) => updates(message as ThreePointAutoPlay))
          as ThreePointAutoPlay;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointAutoPlay create() => ThreePointAutoPlay._();
  ThreePointAutoPlay createEmptyInstance() => create();
  static $pb.PbList<ThreePointAutoPlay> createRepeated() =>
      $pb.PbList<ThreePointAutoPlay>();
  @$core.pragma('dart2js:noInline')
  static ThreePointAutoPlay getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointAutoPlay>(create);
  static ThreePointAutoPlay? _defaultInstance;

  /// open icon
  @$pb.TagNumber(1)
  $core.String get openIcon => $_getSZ(0);
  @$pb.TagNumber(1)
  set openIcon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasOpenIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearOpenIcon() => clearField(1);

  /// 开启时显示文案
  @$pb.TagNumber(2)
  $core.String get openText => $_getSZ(1);
  @$pb.TagNumber(2)
  set openText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOpenText() => $_has(1);
  @$pb.TagNumber(2)
  void clearOpenText() => clearField(2);

  /// close icon
  @$pb.TagNumber(3)
  $core.String get closeIcon => $_getSZ(2);
  @$pb.TagNumber(3)
  set closeIcon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCloseIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearCloseIcon() => clearField(3);

  /// 关闭时显示文案
  @$pb.TagNumber(4)
  $core.String get closeText => $_getSZ(3);
  @$pb.TagNumber(4)
  set closeText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasCloseText() => $_has(3);
  @$pb.TagNumber(4)
  void clearCloseText() => clearField(4);

  /// 开启时显示文案v2
  @$pb.TagNumber(5)
  $core.String get openTextV2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set openTextV2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasOpenTextV2() => $_has(4);
  @$pb.TagNumber(5)
  void clearOpenTextV2() => clearField(5);

  /// 关闭时显示文案v2
  @$pb.TagNumber(6)
  $core.String get closeTextV2 => $_getSZ(5);
  @$pb.TagNumber(6)
  set closeTextV2($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCloseTextV2() => $_has(5);
  @$pb.TagNumber(6)
  void clearCloseTextV2() => clearField(6);

  /// 仅wifi/免流 icon
  @$pb.TagNumber(7)
  $core.String get onlyIcon => $_getSZ(6);
  @$pb.TagNumber(7)
  set onlyIcon($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasOnlyIcon() => $_has(6);
  @$pb.TagNumber(7)
  void clearOnlyIcon() => clearField(7);

  /// 仅wifi/免流 文案
  @$pb.TagNumber(8)
  $core.String get onlyText => $_getSZ(7);
  @$pb.TagNumber(8)
  set onlyText($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasOnlyText() => $_has(7);
  @$pb.TagNumber(8)
  void clearOnlyText() => clearField(8);

  /// open icon v2
  @$pb.TagNumber(9)
  $core.String get openIconV2 => $_getSZ(8);
  @$pb.TagNumber(9)
  set openIconV2($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasOpenIconV2() => $_has(8);
  @$pb.TagNumber(9)
  void clearOpenIconV2() => clearField(9);

  /// close icon v2
  @$pb.TagNumber(10)
  $core.String get closeIconV2 => $_getSZ(9);
  @$pb.TagNumber(10)
  set closeIconV2($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasCloseIconV2() => $_has(9);
  @$pb.TagNumber(10)
  void clearCloseIconV2() => clearField(10);
}

/// 三点-评论
class ThreePointComment extends $pb.GeneratedMessage {
  factory ThreePointComment({
    CommentDetail? upSelection,
    CommentDetail? upClose,
    $core.String? icon,
    $core.String? title,
  }) {
    final $result = create();
    if (upSelection != null) {
      $result.upSelection = upSelection;
    }
    if (upClose != null) {
      $result.upClose = upClose;
    }
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  ThreePointComment._() : super();
  factory ThreePointComment.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointComment.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointComment',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<CommentDetail>(1, _omitFieldNames ? '' : 'upSelection',
        subBuilder: CommentDetail.create)
    ..aOM<CommentDetail>(2, _omitFieldNames ? '' : 'upClose',
        subBuilder: CommentDetail.create)
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..aOS(4, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointComment clone() => ThreePointComment()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointComment copyWith(void Function(ThreePointComment) updates) =>
      super.copyWith((message) => updates(message as ThreePointComment))
          as ThreePointComment;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointComment create() => ThreePointComment._();
  ThreePointComment createEmptyInstance() => create();
  static $pb.PbList<ThreePointComment> createRepeated() =>
      $pb.PbList<ThreePointComment>();
  @$core.pragma('dart2js:noInline')
  static ThreePointComment getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointComment>(create);
  static ThreePointComment? _defaultInstance;

  /// 精选评论区功能
  @$pb.TagNumber(1)
  CommentDetail get upSelection => $_getN(0);
  @$pb.TagNumber(1)
  set upSelection(CommentDetail v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasUpSelection() => $_has(0);
  @$pb.TagNumber(1)
  void clearUpSelection() => clearField(1);
  @$pb.TagNumber(1)
  CommentDetail ensureUpSelection() => $_ensure(0);

  /// up关闭评论区功能
  @$pb.TagNumber(2)
  CommentDetail get upClose => $_getN(1);
  @$pb.TagNumber(2)
  set upClose(CommentDetail v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUpClose() => $_has(1);
  @$pb.TagNumber(2)
  void clearUpClose() => clearField(2);
  @$pb.TagNumber(2)
  CommentDetail ensureUpClose() => $_ensure(1);

  /// icon
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);

  /// 标题
  @$pb.TagNumber(4)
  $core.String get title => $_getSZ(3);
  @$pb.TagNumber(4)
  set title($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearTitle() => clearField(4);
}

/// 三点-默认结构(使用此背景、举报、删除)
class ThreePointDefault extends $pb.GeneratedMessage {
  factory ThreePointDefault({
    $core.String? icon,
    $core.String? title,
    $core.String? uri,
    $core.String? id,
    ThreePointDefaultToast? toast,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (id != null) {
      $result.id = id;
    }
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  ThreePointDefault._() : super();
  factory ThreePointDefault.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointDefault.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointDefault',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'uri')
    ..aOS(4, _omitFieldNames ? '' : 'id')
    ..aOM<ThreePointDefaultToast>(5, _omitFieldNames ? '' : 'toast',
        subBuilder: ThreePointDefaultToast.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointDefault clone() => ThreePointDefault()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointDefault copyWith(void Function(ThreePointDefault) updates) =>
      super.copyWith((message) => updates(message as ThreePointDefault))
          as ThreePointDefault;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointDefault create() => ThreePointDefault._();
  ThreePointDefault createEmptyInstance() => create();
  static $pb.PbList<ThreePointDefault> createRepeated() =>
      $pb.PbList<ThreePointDefault>();
  @$core.pragma('dart2js:noInline')
  static ThreePointDefault getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointDefault>(create);
  static ThreePointDefault? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 跳转链接
  @$pb.TagNumber(3)
  $core.String get uri => $_getSZ(2);
  @$pb.TagNumber(3)
  set uri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearUri() => clearField(3);

  /// id
  @$pb.TagNumber(4)
  $core.String get id => $_getSZ(3);
  @$pb.TagNumber(4)
  set id($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasId() => $_has(3);
  @$pb.TagNumber(4)
  void clearId() => clearField(4);

  @$pb.TagNumber(5)
  ThreePointDefaultToast get toast => $_getN(4);
  @$pb.TagNumber(5)
  set toast(ThreePointDefaultToast v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasToast() => $_has(4);
  @$pb.TagNumber(5)
  void clearToast() => clearField(5);
  @$pb.TagNumber(5)
  ThreePointDefaultToast ensureToast() => $_ensure(4);
}

class ThreePointDefaultToast extends $pb.GeneratedMessage {
  factory ThreePointDefaultToast({
    $core.String? title,
    $core.String? desc,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    return $result;
  }
  ThreePointDefaultToast._() : super();
  factory ThreePointDefaultToast.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointDefaultToast.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointDefaultToast',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'desc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointDefaultToast clone() =>
      ThreePointDefaultToast()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointDefaultToast copyWith(
          void Function(ThreePointDefaultToast) updates) =>
      super.copyWith((message) => updates(message as ThreePointDefaultToast))
          as ThreePointDefaultToast;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointDefaultToast create() => ThreePointDefaultToast._();
  ThreePointDefaultToast createEmptyInstance() => create();
  static $pb.PbList<ThreePointDefaultToast> createRepeated() =>
      $pb.PbList<ThreePointDefaultToast>();
  @$core.pragma('dart2js:noInline')
  static ThreePointDefaultToast getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointDefaultToast>(create);
  static ThreePointDefaultToast? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get desc => $_getSZ(1);
  @$pb.TagNumber(2)
  set desc($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDesc() => $_has(1);
  @$pb.TagNumber(2)
  void clearDesc() => clearField(2);
}

/// 三点-不感兴趣
class ThreePointDislike extends $pb.GeneratedMessage {
  factory ThreePointDislike({
    $core.String? icon,
    $core.String? title,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  ThreePointDislike._() : super();
  factory ThreePointDislike.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointDislike.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointDislike',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointDislike clone() => ThreePointDislike()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointDislike copyWith(void Function(ThreePointDislike) updates) =>
      super.copyWith((message) => updates(message as ThreePointDislike))
          as ThreePointDislike;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointDislike create() => ThreePointDislike._();
  ThreePointDislike createEmptyInstance() => create();
  static $pb.PbList<ThreePointDislike> createRepeated() =>
      $pb.PbList<ThreePointDislike>();
  @$core.pragma('dart2js:noInline')
  static ThreePointDislike getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointDislike>(create);
  static ThreePointDislike? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);
}

/// 三点-收藏
class ThreePointFavorite extends $pb.GeneratedMessage {
  factory ThreePointFavorite({
    $core.String? icon,
    $core.String? title,
    $fixnum.Int64? id,
    $core.bool? isFavourite,
    $core.String? cancelIcon,
    $core.String? cancelTitle,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (id != null) {
      $result.id = id;
    }
    if (isFavourite != null) {
      $result.isFavourite = isFavourite;
    }
    if (cancelIcon != null) {
      $result.cancelIcon = cancelIcon;
    }
    if (cancelTitle != null) {
      $result.cancelTitle = cancelTitle;
    }
    return $result;
  }
  ThreePointFavorite._() : super();
  factory ThreePointFavorite.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointFavorite.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointFavorite',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aInt64(3, _omitFieldNames ? '' : 'id')
    ..aOB(4, _omitFieldNames ? '' : 'isFavourite')
    ..aOS(5, _omitFieldNames ? '' : 'cancelIcon')
    ..aOS(6, _omitFieldNames ? '' : 'cancelTitle')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointFavorite clone() => ThreePointFavorite()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointFavorite copyWith(void Function(ThreePointFavorite) updates) =>
      super.copyWith((message) => updates(message as ThreePointFavorite))
          as ThreePointFavorite;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointFavorite create() => ThreePointFavorite._();
  ThreePointFavorite createEmptyInstance() => create();
  static $pb.PbList<ThreePointFavorite> createRepeated() =>
      $pb.PbList<ThreePointFavorite>();
  @$core.pragma('dart2js:noInline')
  static ThreePointFavorite getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointFavorite>(create);
  static ThreePointFavorite? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 物料ID
  @$pb.TagNumber(3)
  $fixnum.Int64 get id => $_getI64(2);
  @$pb.TagNumber(3)
  set id($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasId() => $_has(2);
  @$pb.TagNumber(3)
  void clearId() => clearField(3);

  /// 是否订阅
  @$pb.TagNumber(4)
  $core.bool get isFavourite => $_getBF(3);
  @$pb.TagNumber(4)
  set isFavourite($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasIsFavourite() => $_has(3);
  @$pb.TagNumber(4)
  void clearIsFavourite() => clearField(4);

  /// 取消收藏图标
  @$pb.TagNumber(5)
  $core.String get cancelIcon => $_getSZ(4);
  @$pb.TagNumber(5)
  set cancelIcon($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasCancelIcon() => $_has(4);
  @$pb.TagNumber(5)
  void clearCancelIcon() => clearField(5);

  /// 取消收藏文案
  @$pb.TagNumber(6)
  $core.String get cancelTitle => $_getSZ(5);
  @$pb.TagNumber(6)
  set cancelTitle($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasCancelTitle() => $_has(5);
  @$pb.TagNumber(6)
  void clearCancelTitle() => clearField(6);
}

class ThreePointHide extends $pb.GeneratedMessage {
  factory ThreePointHide({
    $core.String? icon,
    $core.String? title,
    ThreePointHideInteractive? interactive,
    $fixnum.Int64? blookFid,
    $core.String? blookType,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (interactive != null) {
      $result.interactive = interactive;
    }
    if (blookFid != null) {
      $result.blookFid = blookFid;
    }
    if (blookType != null) {
      $result.blookType = blookType;
    }
    return $result;
  }
  ThreePointHide._() : super();
  factory ThreePointHide.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointHide.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointHide',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOM<ThreePointHideInteractive>(3, _omitFieldNames ? '' : 'interactive',
        subBuilder: ThreePointHideInteractive.create)
    ..aInt64(4, _omitFieldNames ? '' : 'blookFid')
    ..aOS(5, _omitFieldNames ? '' : 'blookType')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointHide clone() => ThreePointHide()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointHide copyWith(void Function(ThreePointHide) updates) =>
      super.copyWith((message) => updates(message as ThreePointHide))
          as ThreePointHide;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointHide create() => ThreePointHide._();
  ThreePointHide createEmptyInstance() => create();
  static $pb.PbList<ThreePointHide> createRepeated() =>
      $pb.PbList<ThreePointHide>();
  @$core.pragma('dart2js:noInline')
  static ThreePointHide getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointHide>(create);
  static ThreePointHide? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  @$pb.TagNumber(3)
  ThreePointHideInteractive get interactive => $_getN(2);
  @$pb.TagNumber(3)
  set interactive(ThreePointHideInteractive v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasInteractive() => $_has(2);
  @$pb.TagNumber(3)
  void clearInteractive() => clearField(3);
  @$pb.TagNumber(3)
  ThreePointHideInteractive ensureInteractive() => $_ensure(2);

  @$pb.TagNumber(4)
  $fixnum.Int64 get blookFid => $_getI64(3);
  @$pb.TagNumber(4)
  set blookFid($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasBlookFid() => $_has(3);
  @$pb.TagNumber(4)
  void clearBlookFid() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get blookType => $_getSZ(4);
  @$pb.TagNumber(5)
  set blookType($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasBlookType() => $_has(4);
  @$pb.TagNumber(5)
  void clearBlookType() => clearField(5);
}

class ThreePointHideInteractive extends $pb.GeneratedMessage {
  factory ThreePointHideInteractive({
    $core.String? title,
    $core.String? confirm,
    $core.String? cancel,
    $core.String? toast,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (confirm != null) {
      $result.confirm = confirm;
    }
    if (cancel != null) {
      $result.cancel = cancel;
    }
    if (toast != null) {
      $result.toast = toast;
    }
    return $result;
  }
  ThreePointHideInteractive._() : super();
  factory ThreePointHideInteractive.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointHideInteractive.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointHideInteractive',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'confirm')
    ..aOS(3, _omitFieldNames ? '' : 'cancel')
    ..aOS(4, _omitFieldNames ? '' : 'toast')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointHideInteractive clone() =>
      ThreePointHideInteractive()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointHideInteractive copyWith(
          void Function(ThreePointHideInteractive) updates) =>
      super.copyWith((message) => updates(message as ThreePointHideInteractive))
          as ThreePointHideInteractive;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointHideInteractive create() => ThreePointHideInteractive._();
  ThreePointHideInteractive createEmptyInstance() => create();
  static $pb.PbList<ThreePointHideInteractive> createRepeated() =>
      $pb.PbList<ThreePointHideInteractive>();
  @$core.pragma('dart2js:noInline')
  static ThreePointHideInteractive getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointHideInteractive>(create);
  static ThreePointHideInteractive? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get confirm => $_getSZ(1);
  @$pb.TagNumber(2)
  set confirm($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasConfirm() => $_has(1);
  @$pb.TagNumber(2)
  void clearConfirm() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get cancel => $_getSZ(2);
  @$pb.TagNumber(3)
  set cancel($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasCancel() => $_has(2);
  @$pb.TagNumber(3)
  void clearCancel() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get toast => $_getSZ(3);
  @$pb.TagNumber(4)
  set toast($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasToast() => $_has(3);
  @$pb.TagNumber(4)
  void clearToast() => clearField(4);
}

enum ThreePointItem_Item {
  default_2,
  autoPlayer,
  share,
  attention,
  wait,
  dislike,
  favorite,
  top,
  comment,
  hide,
  topicIrrelevant,
  notSet
}

/// 三点Item
class ThreePointItem extends $pb.GeneratedMessage {
  factory ThreePointItem({
    ThreePointType? type,
    ThreePointDefault? default_2,
    ThreePointAutoPlay? autoPlayer,
    ThreePointShare? share,
    ThreePointAttention? attention,
    ThreePointWait? wait,
    ThreePointDislike? dislike,
    ThreePointFavorite? favorite,
    ThreePointTop? top,
    ThreePointComment? comment,
    ThreePointHide? hide,
    ThreePointTopicIrrelevant? topicIrrelevant,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (default_2 != null) {
      $result.default_2 = default_2;
    }
    if (autoPlayer != null) {
      $result.autoPlayer = autoPlayer;
    }
    if (share != null) {
      $result.share = share;
    }
    if (attention != null) {
      $result.attention = attention;
    }
    if (wait != null) {
      $result.wait = wait;
    }
    if (dislike != null) {
      $result.dislike = dislike;
    }
    if (favorite != null) {
      $result.favorite = favorite;
    }
    if (top != null) {
      $result.top = top;
    }
    if (comment != null) {
      $result.comment = comment;
    }
    if (hide != null) {
      $result.hide = hide;
    }
    if (topicIrrelevant != null) {
      $result.topicIrrelevant = topicIrrelevant;
    }
    return $result;
  }
  ThreePointItem._() : super();
  factory ThreePointItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, ThreePointItem_Item>
      _ThreePointItem_ItemByTag = {
    2: ThreePointItem_Item.default_2,
    3: ThreePointItem_Item.autoPlayer,
    4: ThreePointItem_Item.share,
    5: ThreePointItem_Item.attention,
    6: ThreePointItem_Item.wait,
    7: ThreePointItem_Item.dislike,
    8: ThreePointItem_Item.favorite,
    9: ThreePointItem_Item.top,
    10: ThreePointItem_Item.comment,
    11: ThreePointItem_Item.hide,
    12: ThreePointItem_Item.topicIrrelevant,
    0: ThreePointItem_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
    ..e<ThreePointType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: ThreePointType.tp_none,
        valueOf: ThreePointType.valueOf,
        enumValues: ThreePointType.values)
    ..aOM<ThreePointDefault>(2, _omitFieldNames ? '' : 'default',
        subBuilder: ThreePointDefault.create)
    ..aOM<ThreePointAutoPlay>(3, _omitFieldNames ? '' : 'autoPlayer',
        subBuilder: ThreePointAutoPlay.create)
    ..aOM<ThreePointShare>(4, _omitFieldNames ? '' : 'share',
        subBuilder: ThreePointShare.create)
    ..aOM<ThreePointAttention>(5, _omitFieldNames ? '' : 'attention',
        subBuilder: ThreePointAttention.create)
    ..aOM<ThreePointWait>(6, _omitFieldNames ? '' : 'wait',
        subBuilder: ThreePointWait.create)
    ..aOM<ThreePointDislike>(7, _omitFieldNames ? '' : 'dislike',
        subBuilder: ThreePointDislike.create)
    ..aOM<ThreePointFavorite>(8, _omitFieldNames ? '' : 'favorite',
        subBuilder: ThreePointFavorite.create)
    ..aOM<ThreePointTop>(9, _omitFieldNames ? '' : 'top',
        subBuilder: ThreePointTop.create)
    ..aOM<ThreePointComment>(10, _omitFieldNames ? '' : 'comment',
        subBuilder: ThreePointComment.create)
    ..aOM<ThreePointHide>(11, _omitFieldNames ? '' : 'hide',
        subBuilder: ThreePointHide.create)
    ..aOM<ThreePointTopicIrrelevant>(
        12, _omitFieldNames ? '' : 'topicIrrelevant',
        subBuilder: ThreePointTopicIrrelevant.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointItem clone() => ThreePointItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointItem copyWith(void Function(ThreePointItem) updates) =>
      super.copyWith((message) => updates(message as ThreePointItem))
          as ThreePointItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointItem create() => ThreePointItem._();
  ThreePointItem createEmptyInstance() => create();
  static $pb.PbList<ThreePointItem> createRepeated() =>
      $pb.PbList<ThreePointItem>();
  @$core.pragma('dart2js:noInline')
  static ThreePointItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointItem>(create);
  static ThreePointItem? _defaultInstance;

  ThreePointItem_Item whichItem() =>
      _ThreePointItem_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  ThreePointType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(ThreePointType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 默认结构
  @$pb.TagNumber(2)
  ThreePointDefault get default_2 => $_getN(1);
  @$pb.TagNumber(2)
  set default_2(ThreePointDefault v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasDefault_2() => $_has(1);
  @$pb.TagNumber(2)
  void clearDefault_2() => clearField(2);
  @$pb.TagNumber(2)
  ThreePointDefault ensureDefault_2() => $_ensure(1);

  /// 自动播放
  @$pb.TagNumber(3)
  ThreePointAutoPlay get autoPlayer => $_getN(2);
  @$pb.TagNumber(3)
  set autoPlayer(ThreePointAutoPlay v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasAutoPlayer() => $_has(2);
  @$pb.TagNumber(3)
  void clearAutoPlayer() => clearField(3);
  @$pb.TagNumber(3)
  ThreePointAutoPlay ensureAutoPlayer() => $_ensure(2);

  /// 分享
  @$pb.TagNumber(4)
  ThreePointShare get share => $_getN(3);
  @$pb.TagNumber(4)
  set share(ThreePointShare v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasShare() => $_has(3);
  @$pb.TagNumber(4)
  void clearShare() => clearField(4);
  @$pb.TagNumber(4)
  ThreePointShare ensureShare() => $_ensure(3);

  /// 关注
  @$pb.TagNumber(5)
  ThreePointAttention get attention => $_getN(4);
  @$pb.TagNumber(5)
  set attention(ThreePointAttention v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasAttention() => $_has(4);
  @$pb.TagNumber(5)
  void clearAttention() => clearField(5);
  @$pb.TagNumber(5)
  ThreePointAttention ensureAttention() => $_ensure(4);

  /// 稍后在看
  @$pb.TagNumber(6)
  ThreePointWait get wait => $_getN(5);
  @$pb.TagNumber(6)
  set wait(ThreePointWait v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasWait() => $_has(5);
  @$pb.TagNumber(6)
  void clearWait() => clearField(6);
  @$pb.TagNumber(6)
  ThreePointWait ensureWait() => $_ensure(5);

  /// 不感兴趣
  @$pb.TagNumber(7)
  ThreePointDislike get dislike => $_getN(6);
  @$pb.TagNumber(7)
  set dislike(ThreePointDislike v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDislike() => $_has(6);
  @$pb.TagNumber(7)
  void clearDislike() => clearField(7);
  @$pb.TagNumber(7)
  ThreePointDislike ensureDislike() => $_ensure(6);

  /// 收藏
  @$pb.TagNumber(8)
  ThreePointFavorite get favorite => $_getN(7);
  @$pb.TagNumber(8)
  set favorite(ThreePointFavorite v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasFavorite() => $_has(7);
  @$pb.TagNumber(8)
  void clearFavorite() => clearField(8);
  @$pb.TagNumber(8)
  ThreePointFavorite ensureFavorite() => $_ensure(7);

  /// 置顶
  @$pb.TagNumber(9)
  ThreePointTop get top => $_getN(8);
  @$pb.TagNumber(9)
  set top(ThreePointTop v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasTop() => $_has(8);
  @$pb.TagNumber(9)
  void clearTop() => clearField(9);
  @$pb.TagNumber(9)
  ThreePointTop ensureTop() => $_ensure(8);

  /// 评论
  @$pb.TagNumber(10)
  ThreePointComment get comment => $_getN(9);
  @$pb.TagNumber(10)
  set comment(ThreePointComment v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasComment() => $_has(9);
  @$pb.TagNumber(10)
  void clearComment() => clearField(10);
  @$pb.TagNumber(10)
  ThreePointComment ensureComment() => $_ensure(9);

  @$pb.TagNumber(11)
  ThreePointHide get hide => $_getN(10);
  @$pb.TagNumber(11)
  set hide(ThreePointHide v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasHide() => $_has(10);
  @$pb.TagNumber(11)
  void clearHide() => clearField(11);
  @$pb.TagNumber(11)
  ThreePointHide ensureHide() => $_ensure(10);

  @$pb.TagNumber(12)
  ThreePointTopicIrrelevant get topicIrrelevant => $_getN(11);
  @$pb.TagNumber(12)
  set topicIrrelevant(ThreePointTopicIrrelevant v) {
    setField(12, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasTopicIrrelevant() => $_has(11);
  @$pb.TagNumber(12)
  void clearTopicIrrelevant() => clearField(12);
  @$pb.TagNumber(12)
  ThreePointTopicIrrelevant ensureTopicIrrelevant() => $_ensure(11);
}

/// 三点-分享
class ThreePointShare extends $pb.GeneratedMessage {
  factory ThreePointShare({
    $core.String? icon,
    $core.String? title,
    $core.Iterable<ThreePointShareChannel>? channel,
    $core.String? channelName,
    ShareReserve? reserve,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (channel != null) {
      $result.channel.addAll(channel);
    }
    if (channelName != null) {
      $result.channelName = channelName;
    }
    if (reserve != null) {
      $result.reserve = reserve;
    }
    return $result;
  }
  ThreePointShare._() : super();
  factory ThreePointShare.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointShare.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointShare',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..pc<ThreePointShareChannel>(
        3, _omitFieldNames ? '' : 'channel', $pb.PbFieldType.PM,
        subBuilder: ThreePointShareChannel.create)
    ..aOS(4, _omitFieldNames ? '' : 'channelName')
    ..aOM<ShareReserve>(5, _omitFieldNames ? '' : 'reserve',
        subBuilder: ShareReserve.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointShare clone() => ThreePointShare()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointShare copyWith(void Function(ThreePointShare) updates) =>
      super.copyWith((message) => updates(message as ThreePointShare))
          as ThreePointShare;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointShare create() => ThreePointShare._();
  ThreePointShare createEmptyInstance() => create();
  static $pb.PbList<ThreePointShare> createRepeated() =>
      $pb.PbList<ThreePointShare>();
  @$core.pragma('dart2js:noInline')
  static ThreePointShare getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointShare>(create);
  static ThreePointShare? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 分享渠道
  @$pb.TagNumber(3)
  $core.List<ThreePointShareChannel> get channel => $_getList(2);

  /// 分享渠道名
  @$pb.TagNumber(4)
  $core.String get channelName => $_getSZ(3);
  @$pb.TagNumber(4)
  set channelName($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasChannelName() => $_has(3);
  @$pb.TagNumber(4)
  void clearChannelName() => clearField(4);

  /// 预约卡分享图信息，仅分享有预约信息的动态时存在
  @$pb.TagNumber(5)
  ShareReserve get reserve => $_getN(4);
  @$pb.TagNumber(5)
  set reserve(ShareReserve v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasReserve() => $_has(4);
  @$pb.TagNumber(5)
  void clearReserve() => clearField(5);
  @$pb.TagNumber(5)
  ShareReserve ensureReserve() => $_ensure(4);
}

/// 三点-分享渠道
class ThreePointShareChannel extends $pb.GeneratedMessage {
  factory ThreePointShareChannel({
    $core.String? icon,
    $core.String? title,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  ThreePointShareChannel._() : super();
  factory ThreePointShareChannel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointShareChannel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointShareChannel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointShareChannel clone() =>
      ThreePointShareChannel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointShareChannel copyWith(
          void Function(ThreePointShareChannel) updates) =>
      super.copyWith((message) => updates(message as ThreePointShareChannel))
          as ThreePointShareChannel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointShareChannel create() => ThreePointShareChannel._();
  ThreePointShareChannel createEmptyInstance() => create();
  static $pb.PbList<ThreePointShareChannel> createRepeated() =>
      $pb.PbList<ThreePointShareChannel>();
  @$core.pragma('dart2js:noInline')
  static ThreePointShareChannel getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointShareChannel>(create);
  static ThreePointShareChannel? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 名称
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);
}

/// 三点-置顶
class ThreePointTop extends $pb.GeneratedMessage {
  factory ThreePointTop({
    $core.String? icon,
    $core.String? title,
    TopType? type,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  ThreePointTop._() : super();
  factory ThreePointTop.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointTop.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointTop',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..e<TopType>(3, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: TopType.top_none,
        valueOf: TopType.valueOf,
        enumValues: TopType.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointTop clone() => ThreePointTop()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointTop copyWith(void Function(ThreePointTop) updates) =>
      super.copyWith((message) => updates(message as ThreePointTop))
          as ThreePointTop;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointTop create() => ThreePointTop._();
  ThreePointTop createEmptyInstance() => create();
  static $pb.PbList<ThreePointTop> createRepeated() =>
      $pb.PbList<ThreePointTop>();
  @$core.pragma('dart2js:noInline')
  static ThreePointTop getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointTop>(create);
  static ThreePointTop? _defaultInstance;

  /// icon
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 标题
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 状态
  @$pb.TagNumber(3)
  TopType get type => $_getN(2);
  @$pb.TagNumber(3)
  set type(TopType v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasType() => $_has(2);
  @$pb.TagNumber(3)
  void clearType() => clearField(3);
}

class ThreePointTopicIrrelevant extends $pb.GeneratedMessage {
  factory ThreePointTopicIrrelevant({
    $core.String? icon,
    $core.String? title,
    $core.String? toast,
    $fixnum.Int64? topicId,
    $fixnum.Int64? resId,
    $fixnum.Int64? resType,
    $core.String? reason,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (toast != null) {
      $result.toast = toast;
    }
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (resId != null) {
      $result.resId = resId;
    }
    if (resType != null) {
      $result.resType = resType;
    }
    if (reason != null) {
      $result.reason = reason;
    }
    return $result;
  }
  ThreePointTopicIrrelevant._() : super();
  factory ThreePointTopicIrrelevant.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointTopicIrrelevant.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointTopicIrrelevant',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'toast')
    ..aInt64(4, _omitFieldNames ? '' : 'topicId')
    ..aInt64(5, _omitFieldNames ? '' : 'resId')
    ..aInt64(6, _omitFieldNames ? '' : 'resType')
    ..aOS(7, _omitFieldNames ? '' : 'reason')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointTopicIrrelevant clone() =>
      ThreePointTopicIrrelevant()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointTopicIrrelevant copyWith(
          void Function(ThreePointTopicIrrelevant) updates) =>
      super.copyWith((message) => updates(message as ThreePointTopicIrrelevant))
          as ThreePointTopicIrrelevant;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointTopicIrrelevant create() => ThreePointTopicIrrelevant._();
  ThreePointTopicIrrelevant createEmptyInstance() => create();
  static $pb.PbList<ThreePointTopicIrrelevant> createRepeated() =>
      $pb.PbList<ThreePointTopicIrrelevant>();
  @$core.pragma('dart2js:noInline')
  static ThreePointTopicIrrelevant getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointTopicIrrelevant>(create);
  static ThreePointTopicIrrelevant? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get toast => $_getSZ(2);
  @$pb.TagNumber(3)
  set toast($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasToast() => $_has(2);
  @$pb.TagNumber(3)
  void clearToast() => clearField(3);

  @$pb.TagNumber(4)
  $fixnum.Int64 get topicId => $_getI64(3);
  @$pb.TagNumber(4)
  set topicId($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTopicId() => $_has(3);
  @$pb.TagNumber(4)
  void clearTopicId() => clearField(4);

  @$pb.TagNumber(5)
  $fixnum.Int64 get resId => $_getI64(4);
  @$pb.TagNumber(5)
  set resId($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasResId() => $_has(4);
  @$pb.TagNumber(5)
  void clearResId() => clearField(5);

  @$pb.TagNumber(6)
  $fixnum.Int64 get resType => $_getI64(5);
  @$pb.TagNumber(6)
  set resType($fixnum.Int64 v) {
    $_setInt64(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasResType() => $_has(5);
  @$pb.TagNumber(6)
  void clearResType() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get reason => $_getSZ(6);
  @$pb.TagNumber(7)
  set reason($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasReason() => $_has(6);
  @$pb.TagNumber(7)
  void clearReason() => clearField(7);
}

/// 三点-稍后在看
class ThreePointWait extends $pb.GeneratedMessage {
  factory ThreePointWait({
    $core.String? additionIcon,
    $core.String? additionText,
    $core.String? noAdditionIcon,
    $core.String? noAdditionText,
    $fixnum.Int64? id,
  }) {
    final $result = create();
    if (additionIcon != null) {
      $result.additionIcon = additionIcon;
    }
    if (additionText != null) {
      $result.additionText = additionText;
    }
    if (noAdditionIcon != null) {
      $result.noAdditionIcon = noAdditionIcon;
    }
    if (noAdditionText != null) {
      $result.noAdditionText = noAdditionText;
    }
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  ThreePointWait._() : super();
  factory ThreePointWait.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory ThreePointWait.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'ThreePointWait',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'additionIcon')
    ..aOS(2, _omitFieldNames ? '' : 'additionText')
    ..aOS(3, _omitFieldNames ? '' : 'noAdditionIcon')
    ..aOS(4, _omitFieldNames ? '' : 'noAdditionText')
    ..aInt64(5, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  ThreePointWait clone() => ThreePointWait()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  ThreePointWait copyWith(void Function(ThreePointWait) updates) =>
      super.copyWith((message) => updates(message as ThreePointWait))
          as ThreePointWait;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ThreePointWait create() => ThreePointWait._();
  ThreePointWait createEmptyInstance() => create();
  static $pb.PbList<ThreePointWait> createRepeated() =>
      $pb.PbList<ThreePointWait>();
  @$core.pragma('dart2js:noInline')
  static ThreePointWait getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<ThreePointWait>(create);
  static ThreePointWait? _defaultInstance;

  /// addition icon
  @$pb.TagNumber(1)
  $core.String get additionIcon => $_getSZ(0);
  @$pb.TagNumber(1)
  set additionIcon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasAdditionIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearAdditionIcon() => clearField(1);

  /// 已添加时的文案
  @$pb.TagNumber(2)
  $core.String get additionText => $_getSZ(1);
  @$pb.TagNumber(2)
  set additionText($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasAdditionText() => $_has(1);
  @$pb.TagNumber(2)
  void clearAdditionText() => clearField(2);

  /// no addition icon
  @$pb.TagNumber(3)
  $core.String get noAdditionIcon => $_getSZ(2);
  @$pb.TagNumber(3)
  set noAdditionIcon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasNoAdditionIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearNoAdditionIcon() => clearField(3);

  /// 未添加时的文案
  @$pb.TagNumber(4)
  $core.String get noAdditionText => $_getSZ(3);
  @$pb.TagNumber(4)
  set noAdditionText($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasNoAdditionText() => $_has(3);
  @$pb.TagNumber(4)
  void clearNoAdditionText() => clearField(4);

  /// avid
  @$pb.TagNumber(5)
  $fixnum.Int64 get id => $_getI64(4);
  @$pb.TagNumber(5)
  set id($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasId() => $_has(4);
  @$pb.TagNumber(5)
  void clearId() => clearField(5);
}

/// 顶部预约卡
class TopAdditionUP extends $pb.GeneratedMessage {
  factory TopAdditionUP({
    $core.Iterable<AdditionUP>? up,
    $core.int? hasFold,
  }) {
    final $result = create();
    if (up != null) {
      $result.up.addAll(up);
    }
    if (hasFold != null) {
      $result.hasFold = hasFold;
    }
    return $result;
  }
  TopAdditionUP._() : super();
  factory TopAdditionUP.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopAdditionUP.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopAdditionUP',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<AdditionUP>(1, _omitFieldNames ? '' : 'up', $pb.PbFieldType.PM,
        subBuilder: AdditionUP.create)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'hasFold', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopAdditionUP clone() => TopAdditionUP()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopAdditionUP copyWith(void Function(TopAdditionUP) updates) =>
      super.copyWith((message) => updates(message as TopAdditionUP))
          as TopAdditionUP;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopAdditionUP create() => TopAdditionUP._();
  TopAdditionUP createEmptyInstance() => create();
  static $pb.PbList<TopAdditionUP> createRepeated() =>
      $pb.PbList<TopAdditionUP>();
  @$core.pragma('dart2js:noInline')
  static TopAdditionUP getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopAdditionUP>(create);
  static TopAdditionUP? _defaultInstance;

  /// 预约卡
  @$pb.TagNumber(1)
  $core.List<AdditionUP> get up => $_getList(0);

  /// 折叠数量，大于多少个进行折叠
  @$pb.TagNumber(2)
  $core.int get hasFold => $_getIZ(1);
  @$pb.TagNumber(2)
  set hasFold($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasFold() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasFold() => clearField(2);
}

/// 话题广场操作按钮
class TopicButton extends $pb.GeneratedMessage {
  factory TopicButton({
    $core.String? icon,
    $core.String? title,
    $core.String? jumpUri,
    $core.bool? redDot,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (title != null) {
      $result.title = title;
    }
    if (jumpUri != null) {
      $result.jumpUri = jumpUri;
    }
    if (redDot != null) {
      $result.redDot = redDot;
    }
    return $result;
  }
  TopicButton._() : super();
  factory TopicButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..aOS(3, _omitFieldNames ? '' : 'jumpUri')
    ..aOB(4, _omitFieldNames ? '' : 'redDot')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicButton clone() => TopicButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicButton copyWith(void Function(TopicButton) updates) =>
      super.copyWith((message) => updates(message as TopicButton))
          as TopicButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicButton create() => TopicButton._();
  TopicButton createEmptyInstance() => create();
  static $pb.PbList<TopicButton> createRepeated() => $pb.PbList<TopicButton>();
  @$core.pragma('dart2js:noInline')
  static TopicButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicButton>(create);
  static TopicButton? _defaultInstance;

  /// 按钮图标
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 按钮文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);

  /// 跳转
  @$pb.TagNumber(3)
  $core.String get jumpUri => $_getSZ(2);
  @$pb.TagNumber(3)
  set jumpUri($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasJumpUri() => $_has(2);
  @$pb.TagNumber(3)
  void clearJumpUri() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get redDot => $_getBF(3);
  @$pb.TagNumber(4)
  set redDot($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRedDot() => $_has(3);
  @$pb.TagNumber(4)
  void clearRedDot() => clearField(4);
}

class TopicItem extends $pb.GeneratedMessage {
  factory TopicItem({
    $fixnum.Int64? topicId,
    $core.String? topicName,
    $core.String? url,
    $core.String? desc,
    $core.String? desc2,
    $core.String? rcmdDesc,
  }) {
    final $result = create();
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (topicName != null) {
      $result.topicName = topicName;
    }
    if (url != null) {
      $result.url = url;
    }
    if (desc != null) {
      $result.desc = desc;
    }
    if (desc2 != null) {
      $result.desc2 = desc2;
    }
    if (rcmdDesc != null) {
      $result.rcmdDesc = rcmdDesc;
    }
    return $result;
  }
  TopicItem._() : super();
  factory TopicItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'topicId')
    ..aOS(2, _omitFieldNames ? '' : 'topicName')
    ..aOS(3, _omitFieldNames ? '' : 'url')
    ..aOS(4, _omitFieldNames ? '' : 'desc')
    ..aOS(5, _omitFieldNames ? '' : 'desc2')
    ..aOS(6, _omitFieldNames ? '' : 'rcmdDesc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicItem clone() => TopicItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicItem copyWith(void Function(TopicItem) updates) =>
      super.copyWith((message) => updates(message as TopicItem)) as TopicItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicItem create() => TopicItem._();
  TopicItem createEmptyInstance() => create();
  static $pb.PbList<TopicItem> createRepeated() => $pb.PbList<TopicItem>();
  @$core.pragma('dart2js:noInline')
  static TopicItem getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<TopicItem>(create);
  static TopicItem? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get topicId => $_getI64(0);
  @$pb.TagNumber(1)
  set topicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTopicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearTopicId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get topicName => $_getSZ(1);
  @$pb.TagNumber(2)
  set topicName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTopicName() => $_has(1);
  @$pb.TagNumber(2)
  void clearTopicName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get url => $_getSZ(2);
  @$pb.TagNumber(3)
  set url($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearUrl() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get desc => $_getSZ(3);
  @$pb.TagNumber(4)
  set desc($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasDesc() => $_has(3);
  @$pb.TagNumber(4)
  void clearDesc() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get desc2 => $_getSZ(4);
  @$pb.TagNumber(5)
  set desc2($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDesc2() => $_has(4);
  @$pb.TagNumber(5)
  void clearDesc2() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get rcmdDesc => $_getSZ(5);
  @$pb.TagNumber(6)
  set rcmdDesc($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasRcmdDesc() => $_has(5);
  @$pb.TagNumber(6)
  void clearRcmdDesc() => clearField(6);
}

/// 综合页-话题广场
class TopicList extends $pb.GeneratedMessage {
  factory TopicList({
    $core.String? title,
    $core.Iterable<TopicListItem>? topicListItem,
    TopicButton? actButton,
    TopicButton? moreButton,
    $core.String? serverInfo,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (topicListItem != null) {
      $result.topicListItem.addAll(topicListItem);
    }
    if (actButton != null) {
      $result.actButton = actButton;
    }
    if (moreButton != null) {
      $result.moreButton = moreButton;
    }
    if (serverInfo != null) {
      $result.serverInfo = serverInfo;
    }
    return $result;
  }
  TopicList._() : super();
  factory TopicList.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicList.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicList',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<TopicListItem>(
        2, _omitFieldNames ? '' : 'topicListItem', $pb.PbFieldType.PM,
        subBuilder: TopicListItem.create)
    ..aOM<TopicButton>(3, _omitFieldNames ? '' : 'actButton',
        subBuilder: TopicButton.create)
    ..aOM<TopicButton>(4, _omitFieldNames ? '' : 'moreButton',
        subBuilder: TopicButton.create)
    ..aOS(5, _omitFieldNames ? '' : 'serverInfo')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicList clone() => TopicList()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicList copyWith(void Function(TopicList) updates) =>
      super.copyWith((message) => updates(message as TopicList)) as TopicList;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicList create() => TopicList._();
  TopicList createEmptyInstance() => create();
  static $pb.PbList<TopicList> createRepeated() => $pb.PbList<TopicList>();
  @$core.pragma('dart2js:noInline')
  static TopicList getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<TopicList>(create);
  static TopicList? _defaultInstance;

  /// 模块标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 话题列表
  @$pb.TagNumber(2)
  $core.List<TopicListItem> get topicListItem => $_getList(1);

  /// 发起活动
  @$pb.TagNumber(3)
  TopicButton get actButton => $_getN(2);
  @$pb.TagNumber(3)
  set actButton(TopicButton v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasActButton() => $_has(2);
  @$pb.TagNumber(3)
  void clearActButton() => clearField(3);
  @$pb.TagNumber(3)
  TopicButton ensureActButton() => $_ensure(2);

  /// 查看更多
  @$pb.TagNumber(4)
  TopicButton get moreButton => $_getN(3);
  @$pb.TagNumber(4)
  set moreButton(TopicButton v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasMoreButton() => $_has(3);
  @$pb.TagNumber(4)
  void clearMoreButton() => clearField(4);
  @$pb.TagNumber(4)
  TopicButton ensureMoreButton() => $_ensure(3);

  /// 透传服务端上报
  @$pb.TagNumber(5)
  $core.String get serverInfo => $_getSZ(4);
  @$pb.TagNumber(5)
  set serverInfo($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasServerInfo() => $_has(4);
  @$pb.TagNumber(5)
  void clearServerInfo() => clearField(5);
}

/// 综合页-话题广场-话题
class TopicListItem extends $pb.GeneratedMessage {
  factory TopicListItem({
    $core.String? icon,
    $core.String? iconTitle,
    $fixnum.Int64? topicId,
    $core.String? topicName,
    $core.String? url,
    $fixnum.Int64? pos,
    $core.String? serverInfo,
    $core.String? headIconUrl,
    $fixnum.Int64? upMid,
    $core.String? tailIconUrl,
    $core.String? extension_11,
  }) {
    final $result = create();
    if (icon != null) {
      $result.icon = icon;
    }
    if (iconTitle != null) {
      $result.iconTitle = iconTitle;
    }
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (topicName != null) {
      $result.topicName = topicName;
    }
    if (url != null) {
      $result.url = url;
    }
    if (pos != null) {
      $result.pos = pos;
    }
    if (serverInfo != null) {
      $result.serverInfo = serverInfo;
    }
    if (headIconUrl != null) {
      $result.headIconUrl = headIconUrl;
    }
    if (upMid != null) {
      $result.upMid = upMid;
    }
    if (tailIconUrl != null) {
      $result.tailIconUrl = tailIconUrl;
    }
    if (extension_11 != null) {
      $result.extension_11 = extension_11;
    }
    return $result;
  }
  TopicListItem._() : super();
  factory TopicListItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicListItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicListItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'icon')
    ..aOS(2, _omitFieldNames ? '' : 'iconTitle')
    ..aInt64(3, _omitFieldNames ? '' : 'topicId')
    ..aOS(4, _omitFieldNames ? '' : 'topicName')
    ..aOS(5, _omitFieldNames ? '' : 'url')
    ..aInt64(6, _omitFieldNames ? '' : 'pos')
    ..aOS(7, _omitFieldNames ? '' : 'serverInfo')
    ..aOS(8, _omitFieldNames ? '' : 'headIconUrl')
    ..aInt64(9, _omitFieldNames ? '' : 'upMid')
    ..aOS(10, _omitFieldNames ? '' : 'tailIconUrl')
    ..aOS(11, _omitFieldNames ? '' : 'extension')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicListItem clone() => TopicListItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicListItem copyWith(void Function(TopicListItem) updates) =>
      super.copyWith((message) => updates(message as TopicListItem))
          as TopicListItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicListItem create() => TopicListItem._();
  TopicListItem createEmptyInstance() => create();
  static $pb.PbList<TopicListItem> createRepeated() =>
      $pb.PbList<TopicListItem>();
  @$core.pragma('dart2js:noInline')
  static TopicListItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicListItem>(create);
  static TopicListItem? _defaultInstance;

  /// 前置图标
  @$pb.TagNumber(1)
  $core.String get icon => $_getSZ(0);
  @$pb.TagNumber(1)
  set icon($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasIcon() => $_has(0);
  @$pb.TagNumber(1)
  void clearIcon() => clearField(1);

  /// 前置图标文案
  @$pb.TagNumber(2)
  $core.String get iconTitle => $_getSZ(1);
  @$pb.TagNumber(2)
  set iconTitle($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasIconTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearIconTitle() => clearField(2);

  /// 话题id
  @$pb.TagNumber(3)
  $fixnum.Int64 get topicId => $_getI64(2);
  @$pb.TagNumber(3)
  set topicId($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTopicId() => $_has(2);
  @$pb.TagNumber(3)
  void clearTopicId() => clearField(3);

  /// 话题名
  @$pb.TagNumber(4)
  $core.String get topicName => $_getSZ(3);
  @$pb.TagNumber(4)
  set topicName($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasTopicName() => $_has(3);
  @$pb.TagNumber(4)
  void clearTopicName() => clearField(4);

  /// 跳转链接
  @$pb.TagNumber(5)
  $core.String get url => $_getSZ(4);
  @$pb.TagNumber(5)
  set url($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasUrl() => $_has(4);
  @$pb.TagNumber(5)
  void clearUrl() => clearField(5);

  /// 卡片位次
  @$pb.TagNumber(6)
  $fixnum.Int64 get pos => $_getI64(5);
  @$pb.TagNumber(6)
  set pos($fixnum.Int64 v) {
    $_setInt64(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasPos() => $_has(5);
  @$pb.TagNumber(6)
  void clearPos() => clearField(6);

  /// 透传服务端上报
  @$pb.TagNumber(7)
  $core.String get serverInfo => $_getSZ(6);
  @$pb.TagNumber(7)
  set serverInfo($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasServerInfo() => $_has(6);
  @$pb.TagNumber(7)
  void clearServerInfo() => clearField(7);

  @$pb.TagNumber(8)
  $core.String get headIconUrl => $_getSZ(7);
  @$pb.TagNumber(8)
  set headIconUrl($core.String v) {
    $_setString(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasHeadIconUrl() => $_has(7);
  @$pb.TagNumber(8)
  void clearHeadIconUrl() => clearField(8);

  @$pb.TagNumber(9)
  $fixnum.Int64 get upMid => $_getI64(8);
  @$pb.TagNumber(9)
  set upMid($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasUpMid() => $_has(8);
  @$pb.TagNumber(9)
  void clearUpMid() => clearField(9);

  @$pb.TagNumber(10)
  $core.String get tailIconUrl => $_getSZ(9);
  @$pb.TagNumber(10)
  set tailIconUrl($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasTailIconUrl() => $_has(9);
  @$pb.TagNumber(10)
  void clearTailIconUrl() => clearField(10);

  @$pb.TagNumber(11)
  $core.String get extension_11 => $_getSZ(10);
  @$pb.TagNumber(11)
  set extension_11($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasExtension_11() => $_has(10);
  @$pb.TagNumber(11)
  void clearExtension_11() => clearField(11);
}

class TopicListReply extends $pb.GeneratedMessage {
  factory TopicListReply({
    $core.Iterable<TopicItem>? items,
    $core.bool? hasMore,
    $core.String? offset,
  }) {
    final $result = create();
    if (items != null) {
      $result.items.addAll(items);
    }
    if (hasMore != null) {
      $result.hasMore = hasMore;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  TopicListReply._() : super();
  factory TopicListReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicListReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicListReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..pc<TopicItem>(1, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: TopicItem.create)
    ..aOB(2, _omitFieldNames ? '' : 'hasMore')
    ..aOS(3, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicListReply clone() => TopicListReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicListReply copyWith(void Function(TopicListReply) updates) =>
      super.copyWith((message) => updates(message as TopicListReply))
          as TopicListReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicListReply create() => TopicListReply._();
  TopicListReply createEmptyInstance() => create();
  static $pb.PbList<TopicListReply> createRepeated() =>
      $pb.PbList<TopicListReply>();
  @$core.pragma('dart2js:noInline')
  static TopicListReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicListReply>(create);
  static TopicListReply? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<TopicItem> get items => $_getList(0);

  @$pb.TagNumber(2)
  $core.bool get hasMore => $_getBF(1);
  @$pb.TagNumber(2)
  set hasMore($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasHasMore() => $_has(1);
  @$pb.TagNumber(2)
  void clearHasMore() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get offset => $_getSZ(2);
  @$pb.TagNumber(3)
  set offset($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasOffset() => $_has(2);
  @$pb.TagNumber(3)
  void clearOffset() => clearField(3);
}

class TopicListReq extends $pb.GeneratedMessage {
  factory TopicListReq({
    $fixnum.Int64? campusId,
    $core.String? offset,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    if (offset != null) {
      $result.offset = offset;
    }
    return $result;
  }
  TopicListReq._() : super();
  factory TopicListReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicListReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicListReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..aOS(2, _omitFieldNames ? '' : 'offset')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicListReq clone() => TopicListReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicListReq copyWith(void Function(TopicListReq) updates) =>
      super.copyWith((message) => updates(message as TopicListReq))
          as TopicListReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicListReq create() => TopicListReq._();
  TopicListReq createEmptyInstance() => create();
  static $pb.PbList<TopicListReq> createRepeated() =>
      $pb.PbList<TopicListReq>();
  @$core.pragma('dart2js:noInline')
  static TopicListReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicListReq>(create);
  static TopicListReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get offset => $_getSZ(1);
  @$pb.TagNumber(2)
  set offset($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasOffset() => $_has(1);
  @$pb.TagNumber(2)
  void clearOffset() => clearField(2);
}

class TopicMergedResource extends $pb.GeneratedMessage {
  factory TopicMergedResource({
    $core.int? mergeType,
    $core.int? mergedResCnt,
  }) {
    final $result = create();
    if (mergeType != null) {
      $result.mergeType = mergeType;
    }
    if (mergedResCnt != null) {
      $result.mergedResCnt = mergedResCnt;
    }
    return $result;
  }
  TopicMergedResource._() : super();
  factory TopicMergedResource.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicMergedResource.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicMergedResource',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'mergeType', $pb.PbFieldType.O3)
    ..a<$core.int>(2, _omitFieldNames ? '' : 'mergedResCnt', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicMergedResource clone() => TopicMergedResource()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicMergedResource copyWith(void Function(TopicMergedResource) updates) =>
      super.copyWith((message) => updates(message as TopicMergedResource))
          as TopicMergedResource;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicMergedResource create() => TopicMergedResource._();
  TopicMergedResource createEmptyInstance() => create();
  static $pb.PbList<TopicMergedResource> createRepeated() =>
      $pb.PbList<TopicMergedResource>();
  @$core.pragma('dart2js:noInline')
  static TopicMergedResource getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicMergedResource>(create);
  static TopicMergedResource? _defaultInstance;

  @$pb.TagNumber(1)
  $core.int get mergeType => $_getIZ(0);
  @$pb.TagNumber(1)
  set mergeType($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMergeType() => $_has(0);
  @$pb.TagNumber(1)
  void clearMergeType() => clearField(1);

  @$pb.TagNumber(2)
  $core.int get mergedResCnt => $_getIZ(1);
  @$pb.TagNumber(2)
  set mergedResCnt($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasMergedResCnt() => $_has(1);
  @$pb.TagNumber(2)
  void clearMergedResCnt() => clearField(2);
}

class TopicRcmdCard extends $pb.GeneratedMessage {
  factory TopicRcmdCard({
    $fixnum.Int64? topicId,
    $core.String? topicName,
    $core.String? url,
    CampusLabel? button,
    $core.String? desc1,
    $core.String? desc2,
    $core.String? updateDesc,
  }) {
    final $result = create();
    if (topicId != null) {
      $result.topicId = topicId;
    }
    if (topicName != null) {
      $result.topicName = topicName;
    }
    if (url != null) {
      $result.url = url;
    }
    if (button != null) {
      $result.button = button;
    }
    if (desc1 != null) {
      $result.desc1 = desc1;
    }
    if (desc2 != null) {
      $result.desc2 = desc2;
    }
    if (updateDesc != null) {
      $result.updateDesc = updateDesc;
    }
    return $result;
  }
  TopicRcmdCard._() : super();
  factory TopicRcmdCard.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicRcmdCard.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicRcmdCard',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'topicId')
    ..aOS(2, _omitFieldNames ? '' : 'topicName')
    ..aOS(3, _omitFieldNames ? '' : 'url')
    ..aOM<CampusLabel>(4, _omitFieldNames ? '' : 'button',
        subBuilder: CampusLabel.create)
    ..aOS(5, _omitFieldNames ? '' : 'desc1')
    ..aOS(6, _omitFieldNames ? '' : 'desc2')
    ..aOS(7, _omitFieldNames ? '' : 'updateDesc')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicRcmdCard clone() => TopicRcmdCard()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicRcmdCard copyWith(void Function(TopicRcmdCard) updates) =>
      super.copyWith((message) => updates(message as TopicRcmdCard))
          as TopicRcmdCard;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicRcmdCard create() => TopicRcmdCard._();
  TopicRcmdCard createEmptyInstance() => create();
  static $pb.PbList<TopicRcmdCard> createRepeated() =>
      $pb.PbList<TopicRcmdCard>();
  @$core.pragma('dart2js:noInline')
  static TopicRcmdCard getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicRcmdCard>(create);
  static TopicRcmdCard? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get topicId => $_getI64(0);
  @$pb.TagNumber(1)
  set topicId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTopicId() => $_has(0);
  @$pb.TagNumber(1)
  void clearTopicId() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get topicName => $_getSZ(1);
  @$pb.TagNumber(2)
  set topicName($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTopicName() => $_has(1);
  @$pb.TagNumber(2)
  void clearTopicName() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get url => $_getSZ(2);
  @$pb.TagNumber(3)
  set url($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasUrl() => $_has(2);
  @$pb.TagNumber(3)
  void clearUrl() => clearField(3);

  @$pb.TagNumber(4)
  CampusLabel get button => $_getN(3);
  @$pb.TagNumber(4)
  set button(CampusLabel v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasButton() => $_has(3);
  @$pb.TagNumber(4)
  void clearButton() => clearField(4);
  @$pb.TagNumber(4)
  CampusLabel ensureButton() => $_ensure(3);

  @$pb.TagNumber(5)
  $core.String get desc1 => $_getSZ(4);
  @$pb.TagNumber(5)
  set desc1($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasDesc1() => $_has(4);
  @$pb.TagNumber(5)
  void clearDesc1() => clearField(5);

  @$pb.TagNumber(6)
  $core.String get desc2 => $_getSZ(5);
  @$pb.TagNumber(6)
  set desc2($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasDesc2() => $_has(5);
  @$pb.TagNumber(6)
  void clearDesc2() => clearField(6);

  @$pb.TagNumber(7)
  $core.String get updateDesc => $_getSZ(6);
  @$pb.TagNumber(7)
  set updateDesc($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasUpdateDesc() => $_has(6);
  @$pb.TagNumber(7)
  void clearUpdateDesc() => clearField(7);
}

class TopicSquareInfo extends $pb.GeneratedMessage {
  factory TopicSquareInfo({
    $core.String? title,
    CampusLabel? button,
    TopicRcmdCard? rcmd,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (button != null) {
      $result.button = button;
    }
    if (rcmd != null) {
      $result.rcmd = rcmd;
    }
    return $result;
  }
  TopicSquareInfo._() : super();
  factory TopicSquareInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicSquareInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicSquareInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOM<CampusLabel>(2, _omitFieldNames ? '' : 'button',
        subBuilder: CampusLabel.create)
    ..aOM<TopicRcmdCard>(3, _omitFieldNames ? '' : 'rcmd',
        subBuilder: TopicRcmdCard.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicSquareInfo clone() => TopicSquareInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicSquareInfo copyWith(void Function(TopicSquareInfo) updates) =>
      super.copyWith((message) => updates(message as TopicSquareInfo))
          as TopicSquareInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicSquareInfo create() => TopicSquareInfo._();
  TopicSquareInfo createEmptyInstance() => create();
  static $pb.PbList<TopicSquareInfo> createRepeated() =>
      $pb.PbList<TopicSquareInfo>();
  @$core.pragma('dart2js:noInline')
  static TopicSquareInfo getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicSquareInfo>(create);
  static TopicSquareInfo? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  @$pb.TagNumber(2)
  CampusLabel get button => $_getN(1);
  @$pb.TagNumber(2)
  set button(CampusLabel v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasButton() => $_has(1);
  @$pb.TagNumber(2)
  void clearButton() => clearField(2);
  @$pb.TagNumber(2)
  CampusLabel ensureButton() => $_ensure(1);

  @$pb.TagNumber(3)
  TopicRcmdCard get rcmd => $_getN(2);
  @$pb.TagNumber(3)
  set rcmd(TopicRcmdCard v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRcmd() => $_has(2);
  @$pb.TagNumber(3)
  void clearRcmd() => clearField(3);
  @$pb.TagNumber(3)
  TopicRcmdCard ensureRcmd() => $_ensure(2);
}

class TopicSquareReply extends $pb.GeneratedMessage {
  factory TopicSquareReply({
    TopicSquareInfo? info,
  }) {
    final $result = create();
    if (info != null) {
      $result.info = info;
    }
    return $result;
  }
  TopicSquareReply._() : super();
  factory TopicSquareReply.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicSquareReply.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicSquareReply',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOM<TopicSquareInfo>(1, _omitFieldNames ? '' : 'info',
        subBuilder: TopicSquareInfo.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicSquareReply clone() => TopicSquareReply()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicSquareReply copyWith(void Function(TopicSquareReply) updates) =>
      super.copyWith((message) => updates(message as TopicSquareReply))
          as TopicSquareReply;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicSquareReply create() => TopicSquareReply._();
  TopicSquareReply createEmptyInstance() => create();
  static $pb.PbList<TopicSquareReply> createRepeated() =>
      $pb.PbList<TopicSquareReply>();
  @$core.pragma('dart2js:noInline')
  static TopicSquareReply getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicSquareReply>(create);
  static TopicSquareReply? _defaultInstance;

  @$pb.TagNumber(1)
  TopicSquareInfo get info => $_getN(0);
  @$pb.TagNumber(1)
  set info(TopicSquareInfo v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasInfo() => $_has(0);
  @$pb.TagNumber(1)
  void clearInfo() => clearField(1);
  @$pb.TagNumber(1)
  TopicSquareInfo ensureInfo() => $_ensure(0);
}

class TopicSquareReq extends $pb.GeneratedMessage {
  factory TopicSquareReq({
    $fixnum.Int64? campusId,
  }) {
    final $result = create();
    if (campusId != null) {
      $result.campusId = campusId;
    }
    return $result;
  }
  TopicSquareReq._() : super();
  factory TopicSquareReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory TopicSquareReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'TopicSquareReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'campusId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  TopicSquareReq clone() => TopicSquareReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  TopicSquareReq copyWith(void Function(TopicSquareReq) updates) =>
      super.copyWith((message) => updates(message as TopicSquareReq))
          as TopicSquareReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static TopicSquareReq create() => TopicSquareReq._();
  TopicSquareReq createEmptyInstance() => create();
  static $pb.PbList<TopicSquareReq> createRepeated() =>
      $pb.PbList<TopicSquareReq>();
  @$core.pragma('dart2js:noInline')
  static TopicSquareReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<TopicSquareReq>(create);
  static TopicSquareReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get campusId => $_getI64(0);
  @$pb.TagNumber(1)
  set campusId($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCampusId() => $_has(0);
  @$pb.TagNumber(1)
  void clearCampusId() => clearField(1);
}

/// 综合页-无关注列表
class Unfollow extends $pb.GeneratedMessage {
  factory Unfollow({
    $core.String? title,
    $core.Iterable<UnfollowUserItem>? list,
    $core.String? trackId,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (list != null) {
      $result.list.addAll(list);
    }
    if (trackId != null) {
      $result.trackId = trackId;
    }
    return $result;
  }
  Unfollow._() : super();
  factory Unfollow.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Unfollow.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Unfollow',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<UnfollowUserItem>(2, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM,
        subBuilder: UnfollowUserItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'TrackId', protoName: 'TrackId')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Unfollow clone() => Unfollow()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Unfollow copyWith(void Function(Unfollow) updates) =>
      super.copyWith((message) => updates(message as Unfollow)) as Unfollow;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Unfollow create() => Unfollow._();
  Unfollow createEmptyInstance() => create();
  static $pb.PbList<Unfollow> createRepeated() => $pb.PbList<Unfollow>();
  @$core.pragma('dart2js:noInline')
  static Unfollow getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Unfollow>(create);
  static Unfollow? _defaultInstance;

  /// 标题展示文案
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 无关注列表
  @$pb.TagNumber(2)
  $core.List<UnfollowUserItem> get list => $_getList(1);

  /// trackID
  @$pb.TagNumber(3)
  $core.String get trackId => $_getSZ(2);
  @$pb.TagNumber(3)
  set trackId($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTrackId() => $_has(2);
  @$pb.TagNumber(3)
  void clearTrackId() => clearField(3);
}

class UnfollowMatchReq extends $pb.GeneratedMessage {
  factory UnfollowMatchReq({
    $fixnum.Int64? cid,
  }) {
    final $result = create();
    if (cid != null) {
      $result.cid = cid;
    }
    return $result;
  }
  UnfollowMatchReq._() : super();
  factory UnfollowMatchReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UnfollowMatchReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UnfollowMatchReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'cid')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UnfollowMatchReq clone() => UnfollowMatchReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UnfollowMatchReq copyWith(void Function(UnfollowMatchReq) updates) =>
      super.copyWith((message) => updates(message as UnfollowMatchReq))
          as UnfollowMatchReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UnfollowMatchReq create() => UnfollowMatchReq._();
  UnfollowMatchReq createEmptyInstance() => create();
  static $pb.PbList<UnfollowMatchReq> createRepeated() =>
      $pb.PbList<UnfollowMatchReq>();
  @$core.pragma('dart2js:noInline')
  static UnfollowMatchReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UnfollowMatchReq>(create);
  static UnfollowMatchReq? _defaultInstance;

  @$pb.TagNumber(1)
  $fixnum.Int64 get cid => $_getI64(0);
  @$pb.TagNumber(1)
  set cid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasCid() => $_has(0);
  @$pb.TagNumber(1)
  void clearCid() => clearField(1);
}

/// 综合页-无关注列表
class UnfollowUserItem extends $pb.GeneratedMessage {
  factory UnfollowUserItem({
    $core.bool? hasUpdate,
    $core.String? face,
    $core.String? name,
    $fixnum.Int64? uid,
    $core.int? pos,
    LiveState? liveState,
    OfficialVerify? official,
    VipInfo? vip,
    $core.String? sign,
    $core.String? label,
    AdditionalButton? button,
    $core.String? uri,
  }) {
    final $result = create();
    if (hasUpdate != null) {
      $result.hasUpdate = hasUpdate;
    }
    if (face != null) {
      $result.face = face;
    }
    if (name != null) {
      $result.name = name;
    }
    if (uid != null) {
      $result.uid = uid;
    }
    if (pos != null) {
      $result.pos = pos;
    }
    if (liveState != null) {
      $result.liveState = liveState;
    }
    if (official != null) {
      $result.official = official;
    }
    if (vip != null) {
      $result.vip = vip;
    }
    if (sign != null) {
      $result.sign = sign;
    }
    if (label != null) {
      $result.label = label;
    }
    if (button != null) {
      $result.button = button;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  UnfollowUserItem._() : super();
  factory UnfollowUserItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UnfollowUserItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UnfollowUserItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'hasUpdate')
    ..aOS(2, _omitFieldNames ? '' : 'face')
    ..aOS(3, _omitFieldNames ? '' : 'name')
    ..aInt64(4, _omitFieldNames ? '' : 'uid')
    ..a<$core.int>(5, _omitFieldNames ? '' : 'pos', $pb.PbFieldType.O3)
    ..e<LiveState>(6, _omitFieldNames ? '' : 'liveState', $pb.PbFieldType.OE,
        defaultOrMaker: LiveState.live_none,
        valueOf: LiveState.valueOf,
        enumValues: LiveState.values)
    ..aOM<OfficialVerify>(7, _omitFieldNames ? '' : 'official',
        subBuilder: OfficialVerify.create)
    ..aOM<VipInfo>(8, _omitFieldNames ? '' : 'vip', subBuilder: VipInfo.create)
    ..aOS(9, _omitFieldNames ? '' : 'sign')
    ..aOS(10, _omitFieldNames ? '' : 'label')
    ..aOM<AdditionalButton>(11, _omitFieldNames ? '' : 'button',
        subBuilder: AdditionalButton.create)
    ..aOS(12, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UnfollowUserItem clone() => UnfollowUserItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UnfollowUserItem copyWith(void Function(UnfollowUserItem) updates) =>
      super.copyWith((message) => updates(message as UnfollowUserItem))
          as UnfollowUserItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UnfollowUserItem create() => UnfollowUserItem._();
  UnfollowUserItem createEmptyInstance() => create();
  static $pb.PbList<UnfollowUserItem> createRepeated() =>
      $pb.PbList<UnfollowUserItem>();
  @$core.pragma('dart2js:noInline')
  static UnfollowUserItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UnfollowUserItem>(create);
  static UnfollowUserItem? _defaultInstance;

  /// 是否有更新
  @$pb.TagNumber(1)
  $core.bool get hasUpdate => $_getBF(0);
  @$pb.TagNumber(1)
  set hasUpdate($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHasUpdate() => $_has(0);
  @$pb.TagNumber(1)
  void clearHasUpdate() => clearField(1);

  /// up主头像
  @$pb.TagNumber(2)
  $core.String get face => $_getSZ(1);
  @$pb.TagNumber(2)
  set face($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFace() => $_has(1);
  @$pb.TagNumber(2)
  void clearFace() => clearField(2);

  /// up主昵称
  @$pb.TagNumber(3)
  $core.String get name => $_getSZ(2);
  @$pb.TagNumber(3)
  set name($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasName() => $_has(2);
  @$pb.TagNumber(3)
  void clearName() => clearField(3);

  /// up主uid
  @$pb.TagNumber(4)
  $fixnum.Int64 get uid => $_getI64(3);
  @$pb.TagNumber(4)
  set uid($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUid() => $_has(3);
  @$pb.TagNumber(4)
  void clearUid() => clearField(4);

  /// 排序字段 从1开始
  @$pb.TagNumber(5)
  $core.int get pos => $_getIZ(4);
  @$pb.TagNumber(5)
  set pos($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPos() => $_has(4);
  @$pb.TagNumber(5)
  void clearPos() => clearField(5);

  /// 直播状态
  @$pb.TagNumber(6)
  LiveState get liveState => $_getN(5);
  @$pb.TagNumber(6)
  set liveState(LiveState v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLiveState() => $_has(5);
  @$pb.TagNumber(6)
  void clearLiveState() => clearField(6);

  /// 认证信息
  @$pb.TagNumber(7)
  OfficialVerify get official => $_getN(6);
  @$pb.TagNumber(7)
  set official(OfficialVerify v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasOfficial() => $_has(6);
  @$pb.TagNumber(7)
  void clearOfficial() => clearField(7);
  @$pb.TagNumber(7)
  OfficialVerify ensureOfficial() => $_ensure(6);

  /// 大会员信息
  @$pb.TagNumber(8)
  VipInfo get vip => $_getN(7);
  @$pb.TagNumber(8)
  set vip(VipInfo v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasVip() => $_has(7);
  @$pb.TagNumber(8)
  void clearVip() => clearField(8);
  @$pb.TagNumber(8)
  VipInfo ensureVip() => $_ensure(7);

  /// up介绍
  @$pb.TagNumber(9)
  $core.String get sign => $_getSZ(8);
  @$pb.TagNumber(9)
  set sign($core.String v) {
    $_setString(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasSign() => $_has(8);
  @$pb.TagNumber(9)
  void clearSign() => clearField(9);

  /// 标签信息
  @$pb.TagNumber(10)
  $core.String get label => $_getSZ(9);
  @$pb.TagNumber(10)
  set label($core.String v) {
    $_setString(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasLabel() => $_has(9);
  @$pb.TagNumber(10)
  void clearLabel() => clearField(10);

  /// 按钮
  @$pb.TagNumber(11)
  AdditionalButton get button => $_getN(10);
  @$pb.TagNumber(11)
  set button(AdditionalButton v) {
    setField(11, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasButton() => $_has(10);
  @$pb.TagNumber(11)
  void clearButton() => clearField(11);
  @$pb.TagNumber(11)
  AdditionalButton ensureButton() => $_ensure(10);

  /// 跳转地址
  @$pb.TagNumber(12)
  $core.String get uri => $_getSZ(11);
  @$pb.TagNumber(12)
  set uri($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasUri() => $_has(11);
  @$pb.TagNumber(12)
  void clearUri() => clearField(12);
}

class UpdateTabSettingReq extends $pb.GeneratedMessage {
  factory UpdateTabSettingReq({
    HomePageTabSttingStatus? status,
  }) {
    final $result = create();
    if (status != null) {
      $result.status = status;
    }
    return $result;
  }
  UpdateTabSettingReq._() : super();
  factory UpdateTabSettingReq.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UpdateTabSettingReq.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UpdateTabSettingReq',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..e<HomePageTabSttingStatus>(
        1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE,
        defaultOrMaker: HomePageTabSttingStatus.SETTING_INVALID,
        valueOf: HomePageTabSttingStatus.valueOf,
        enumValues: HomePageTabSttingStatus.values)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UpdateTabSettingReq clone() => UpdateTabSettingReq()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UpdateTabSettingReq copyWith(void Function(UpdateTabSettingReq) updates) =>
      super.copyWith((message) => updates(message as UpdateTabSettingReq))
          as UpdateTabSettingReq;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UpdateTabSettingReq create() => UpdateTabSettingReq._();
  UpdateTabSettingReq createEmptyInstance() => create();
  static $pb.PbList<UpdateTabSettingReq> createRepeated() =>
      $pb.PbList<UpdateTabSettingReq>();
  @$core.pragma('dart2js:noInline')
  static UpdateTabSettingReq getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UpdateTabSettingReq>(create);
  static UpdateTabSettingReq? _defaultInstance;

  @$pb.TagNumber(1)
  HomePageTabSttingStatus get status => $_getN(0);
  @$pb.TagNumber(1)
  set status(HomePageTabSttingStatus v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => clearField(1);
}

/// 动态顶部up列表-up主信息
class UpListItem extends $pb.GeneratedMessage {
  factory UpListItem({
    $core.bool? hasUpdate,
    $core.String? face,
    $core.String? name,
    $fixnum.Int64? uid,
    $fixnum.Int64? pos,
    UserItemType? userItemType,
    UserItemStyle? displayStyleDay,
    UserItemStyle? displayStyleNight,
    $fixnum.Int64? styleId,
    LiveState? liveState,
    $core.bool? separator,
    $core.String? uri,
    $core.bool? isRecall,
    IconBadge? updateIcon,
    $core.String? liveRcmdReason,
    $core.String? liveCover,
    $core.String? personalExtra,
  }) {
    final $result = create();
    if (hasUpdate != null) {
      $result.hasUpdate = hasUpdate;
    }
    if (face != null) {
      $result.face = face;
    }
    if (name != null) {
      $result.name = name;
    }
    if (uid != null) {
      $result.uid = uid;
    }
    if (pos != null) {
      $result.pos = pos;
    }
    if (userItemType != null) {
      $result.userItemType = userItemType;
    }
    if (displayStyleDay != null) {
      $result.displayStyleDay = displayStyleDay;
    }
    if (displayStyleNight != null) {
      $result.displayStyleNight = displayStyleNight;
    }
    if (styleId != null) {
      $result.styleId = styleId;
    }
    if (liveState != null) {
      $result.liveState = liveState;
    }
    if (separator != null) {
      $result.separator = separator;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (isRecall != null) {
      $result.isRecall = isRecall;
    }
    if (updateIcon != null) {
      $result.updateIcon = updateIcon;
    }
    if (liveRcmdReason != null) {
      $result.liveRcmdReason = liveRcmdReason;
    }
    if (liveCover != null) {
      $result.liveCover = liveCover;
    }
    if (personalExtra != null) {
      $result.personalExtra = personalExtra;
    }
    return $result;
  }
  UpListItem._() : super();
  factory UpListItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UpListItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UpListItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'hasUpdate')
    ..aOS(2, _omitFieldNames ? '' : 'face')
    ..aOS(3, _omitFieldNames ? '' : 'name')
    ..aInt64(4, _omitFieldNames ? '' : 'uid')
    ..aInt64(5, _omitFieldNames ? '' : 'pos')
    ..e<UserItemType>(
        6, _omitFieldNames ? '' : 'userItemType', $pb.PbFieldType.OE,
        defaultOrMaker: UserItemType.user_item_type_none,
        valueOf: UserItemType.valueOf,
        enumValues: UserItemType.values)
    ..aOM<UserItemStyle>(7, _omitFieldNames ? '' : 'displayStyleDay',
        subBuilder: UserItemStyle.create)
    ..aOM<UserItemStyle>(8, _omitFieldNames ? '' : 'displayStyleNight',
        subBuilder: UserItemStyle.create)
    ..aInt64(9, _omitFieldNames ? '' : 'styleId')
    ..e<LiveState>(10, _omitFieldNames ? '' : 'liveState', $pb.PbFieldType.OE,
        defaultOrMaker: LiveState.live_none,
        valueOf: LiveState.valueOf,
        enumValues: LiveState.values)
    ..aOB(11, _omitFieldNames ? '' : 'separator')
    ..aOS(12, _omitFieldNames ? '' : 'uri')
    ..aOB(13, _omitFieldNames ? '' : 'isRecall')
    ..aOM<IconBadge>(14, _omitFieldNames ? '' : 'updateIcon',
        subBuilder: IconBadge.create)
    ..aOS(15, _omitFieldNames ? '' : 'liveRcmdReason')
    ..aOS(16, _omitFieldNames ? '' : 'liveCover')
    ..aOS(17, _omitFieldNames ? '' : 'personalExtra')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UpListItem clone() => UpListItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UpListItem copyWith(void Function(UpListItem) updates) =>
      super.copyWith((message) => updates(message as UpListItem)) as UpListItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UpListItem create() => UpListItem._();
  UpListItem createEmptyInstance() => create();
  static $pb.PbList<UpListItem> createRepeated() => $pb.PbList<UpListItem>();
  @$core.pragma('dart2js:noInline')
  static UpListItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UpListItem>(create);
  static UpListItem? _defaultInstance;

  /// 是否有更新
  @$pb.TagNumber(1)
  $core.bool get hasUpdate => $_getBF(0);
  @$pb.TagNumber(1)
  set hasUpdate($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasHasUpdate() => $_has(0);
  @$pb.TagNumber(1)
  void clearHasUpdate() => clearField(1);

  /// up主头像
  @$pb.TagNumber(2)
  $core.String get face => $_getSZ(1);
  @$pb.TagNumber(2)
  set face($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFace() => $_has(1);
  @$pb.TagNumber(2)
  void clearFace() => clearField(2);

  /// up主昵称
  @$pb.TagNumber(3)
  $core.String get name => $_getSZ(2);
  @$pb.TagNumber(3)
  set name($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasName() => $_has(2);
  @$pb.TagNumber(3)
  void clearName() => clearField(3);

  /// up主uid
  @$pb.TagNumber(4)
  $fixnum.Int64 get uid => $_getI64(3);
  @$pb.TagNumber(4)
  set uid($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUid() => $_has(3);
  @$pb.TagNumber(4)
  void clearUid() => clearField(4);

  /// 排序字段 从1开始
  @$pb.TagNumber(5)
  $fixnum.Int64 get pos => $_getI64(4);
  @$pb.TagNumber(5)
  set pos($fixnum.Int64 v) {
    $_setInt64(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasPos() => $_has(4);
  @$pb.TagNumber(5)
  void clearPos() => clearField(5);

  /// 用户类型
  @$pb.TagNumber(6)
  UserItemType get userItemType => $_getN(5);
  @$pb.TagNumber(6)
  set userItemType(UserItemType v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasUserItemType() => $_has(5);
  @$pb.TagNumber(6)
  void clearUserItemType() => clearField(6);

  /// 直播头像样式-日
  @$pb.TagNumber(7)
  UserItemStyle get displayStyleDay => $_getN(6);
  @$pb.TagNumber(7)
  set displayStyleDay(UserItemStyle v) {
    setField(7, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasDisplayStyleDay() => $_has(6);
  @$pb.TagNumber(7)
  void clearDisplayStyleDay() => clearField(7);
  @$pb.TagNumber(7)
  UserItemStyle ensureDisplayStyleDay() => $_ensure(6);

  /// 直播头像样式-夜
  @$pb.TagNumber(8)
  UserItemStyle get displayStyleNight => $_getN(7);
  @$pb.TagNumber(8)
  set displayStyleNight(UserItemStyle v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasDisplayStyleNight() => $_has(7);
  @$pb.TagNumber(8)
  void clearDisplayStyleNight() => clearField(8);
  @$pb.TagNumber(8)
  UserItemStyle ensureDisplayStyleNight() => $_ensure(7);

  /// 直播埋点
  @$pb.TagNumber(9)
  $fixnum.Int64 get styleId => $_getI64(8);
  @$pb.TagNumber(9)
  set styleId($fixnum.Int64 v) {
    $_setInt64(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasStyleId() => $_has(8);
  @$pb.TagNumber(9)
  void clearStyleId() => clearField(9);

  /// 直播状态
  @$pb.TagNumber(10)
  LiveState get liveState => $_getN(9);
  @$pb.TagNumber(10)
  set liveState(LiveState v) {
    setField(10, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasLiveState() => $_has(9);
  @$pb.TagNumber(10)
  void clearLiveState() => clearField(10);

  /// 分割线
  @$pb.TagNumber(11)
  $core.bool get separator => $_getBF(10);
  @$pb.TagNumber(11)
  set separator($core.bool v) {
    $_setBool(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasSeparator() => $_has(10);
  @$pb.TagNumber(11)
  void clearSeparator() => clearField(11);

  /// 跳转
  @$pb.TagNumber(12)
  $core.String get uri => $_getSZ(11);
  @$pb.TagNumber(12)
  set uri($core.String v) {
    $_setString(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasUri() => $_has(11);
  @$pb.TagNumber(12)
  void clearUri() => clearField(12);

  /// UP主预约上报使用
  @$pb.TagNumber(13)
  $core.bool get isRecall => $_getBF(12);
  @$pb.TagNumber(13)
  set isRecall($core.bool v) {
    $_setBool(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasIsRecall() => $_has(12);
  @$pb.TagNumber(13)
  void clearIsRecall() => clearField(13);

  @$pb.TagNumber(14)
  IconBadge get updateIcon => $_getN(13);
  @$pb.TagNumber(14)
  set updateIcon(IconBadge v) {
    setField(14, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasUpdateIcon() => $_has(13);
  @$pb.TagNumber(14)
  void clearUpdateIcon() => clearField(14);
  @$pb.TagNumber(14)
  IconBadge ensureUpdateIcon() => $_ensure(13);

  @$pb.TagNumber(15)
  $core.String get liveRcmdReason => $_getSZ(14);
  @$pb.TagNumber(15)
  set liveRcmdReason($core.String v) {
    $_setString(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasLiveRcmdReason() => $_has(14);
  @$pb.TagNumber(15)
  void clearLiveRcmdReason() => clearField(15);

  @$pb.TagNumber(16)
  $core.String get liveCover => $_getSZ(15);
  @$pb.TagNumber(16)
  set liveCover($core.String v) {
    $_setString(15, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasLiveCover() => $_has(15);
  @$pb.TagNumber(16)
  void clearLiveCover() => clearField(16);

  @$pb.TagNumber(17)
  $core.String get personalExtra => $_getSZ(16);
  @$pb.TagNumber(17)
  set personalExtra($core.String v) {
    $_setString(16, v);
  }

  @$pb.TagNumber(17)
  $core.bool hasPersonalExtra() => $_has(16);
  @$pb.TagNumber(17)
  void clearPersonalExtra() => clearField(17);
}

/// 最常访问-查看更多
class UpListMoreLabel extends $pb.GeneratedMessage {
  factory UpListMoreLabel({
    $core.String? title,
    $core.String? uri,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    return $result;
  }
  UpListMoreLabel._() : super();
  factory UpListMoreLabel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UpListMoreLabel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UpListMoreLabel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..aOS(2, _omitFieldNames ? '' : 'uri')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UpListMoreLabel clone() => UpListMoreLabel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UpListMoreLabel copyWith(void Function(UpListMoreLabel) updates) =>
      super.copyWith((message) => updates(message as UpListMoreLabel))
          as UpListMoreLabel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UpListMoreLabel create() => UpListMoreLabel._();
  UpListMoreLabel createEmptyInstance() => create();
  static $pb.PbList<UpListMoreLabel> createRepeated() =>
      $pb.PbList<UpListMoreLabel>();
  @$core.pragma('dart2js:noInline')
  static UpListMoreLabel getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UpListMoreLabel>(create);
  static UpListMoreLabel? _defaultInstance;

  /// 文案
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 跳转地址
  @$pb.TagNumber(2)
  $core.String get uri => $_getSZ(1);
  @$pb.TagNumber(2)
  set uri($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasUri() => $_has(1);
  @$pb.TagNumber(2)
  void clearUri() => clearField(2);
}

/// 用户信息
class UserInfo extends $pb.GeneratedMessage {
  factory UserInfo({
    $fixnum.Int64? mid,
    $core.String? name,
    $core.String? face,
    OfficialVerify? official,
    VipInfo? vip,
    LiveInfo? live,
    $core.String? uri,
    UserPendant? pendant,
    Nameplate? nameplate,
    $core.int? level,
    $core.String? sign,
    $core.int? faceNft,
    $core.int? faceNftNew,
    NFTInfo? nftInfo,
    $core.int? isSeniorMember,
    $3.AvatarItem? avatar,
  }) {
    final $result = create();
    if (mid != null) {
      $result.mid = mid;
    }
    if (name != null) {
      $result.name = name;
    }
    if (face != null) {
      $result.face = face;
    }
    if (official != null) {
      $result.official = official;
    }
    if (vip != null) {
      $result.vip = vip;
    }
    if (live != null) {
      $result.live = live;
    }
    if (uri != null) {
      $result.uri = uri;
    }
    if (pendant != null) {
      $result.pendant = pendant;
    }
    if (nameplate != null) {
      $result.nameplate = nameplate;
    }
    if (level != null) {
      $result.level = level;
    }
    if (sign != null) {
      $result.sign = sign;
    }
    if (faceNft != null) {
      $result.faceNft = faceNft;
    }
    if (faceNftNew != null) {
      $result.faceNftNew = faceNftNew;
    }
    if (nftInfo != null) {
      $result.nftInfo = nftInfo;
    }
    if (isSeniorMember != null) {
      $result.isSeniorMember = isSeniorMember;
    }
    if (avatar != null) {
      $result.avatar = avatar;
    }
    return $result;
  }
  UserInfo._() : super();
  factory UserInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UserInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UserInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'mid')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOS(3, _omitFieldNames ? '' : 'face')
    ..aOM<OfficialVerify>(4, _omitFieldNames ? '' : 'official',
        subBuilder: OfficialVerify.create)
    ..aOM<VipInfo>(5, _omitFieldNames ? '' : 'vip', subBuilder: VipInfo.create)
    ..aOM<LiveInfo>(6, _omitFieldNames ? '' : 'live',
        subBuilder: LiveInfo.create)
    ..aOS(7, _omitFieldNames ? '' : 'uri')
    ..aOM<UserPendant>(8, _omitFieldNames ? '' : 'pendant',
        subBuilder: UserPendant.create)
    ..aOM<Nameplate>(9, _omitFieldNames ? '' : 'nameplate',
        subBuilder: Nameplate.create)
    ..a<$core.int>(10, _omitFieldNames ? '' : 'level', $pb.PbFieldType.O3)
    ..aOS(11, _omitFieldNames ? '' : 'sign')
    ..a<$core.int>(12, _omitFieldNames ? '' : 'faceNft', $pb.PbFieldType.O3)
    ..a<$core.int>(13, _omitFieldNames ? '' : 'faceNftNew', $pb.PbFieldType.O3)
    ..aOM<NFTInfo>(14, _omitFieldNames ? '' : 'nftInfo',
        subBuilder: NFTInfo.create)
    ..a<$core.int>(
        15, _omitFieldNames ? '' : 'isSeniorMember', $pb.PbFieldType.O3)
    ..aOM<$3.AvatarItem>(16, _omitFieldNames ? '' : 'avatar',
        subBuilder: $3.AvatarItem.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UserInfo clone() => UserInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UserInfo copyWith(void Function(UserInfo) updates) =>
      super.copyWith((message) => updates(message as UserInfo)) as UserInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UserInfo create() => UserInfo._();
  UserInfo createEmptyInstance() => create();
  static $pb.PbList<UserInfo> createRepeated() => $pb.PbList<UserInfo>();
  @$core.pragma('dart2js:noInline')
  static UserInfo getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<UserInfo>(create);
  static UserInfo? _defaultInstance;

  /// 用户mid
  @$pb.TagNumber(1)
  $fixnum.Int64 get mid => $_getI64(0);
  @$pb.TagNumber(1)
  set mid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasMid() => $_has(0);
  @$pb.TagNumber(1)
  void clearMid() => clearField(1);

  /// 用户昵称
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  /// 用户头像
  @$pb.TagNumber(3)
  $core.String get face => $_getSZ(2);
  @$pb.TagNumber(3)
  set face($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasFace() => $_has(2);
  @$pb.TagNumber(3)
  void clearFace() => clearField(3);

  /// 认证信息
  @$pb.TagNumber(4)
  OfficialVerify get official => $_getN(3);
  @$pb.TagNumber(4)
  set official(OfficialVerify v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasOfficial() => $_has(3);
  @$pb.TagNumber(4)
  void clearOfficial() => clearField(4);
  @$pb.TagNumber(4)
  OfficialVerify ensureOfficial() => $_ensure(3);

  /// 大会员信息
  @$pb.TagNumber(5)
  VipInfo get vip => $_getN(4);
  @$pb.TagNumber(5)
  set vip(VipInfo v) {
    setField(5, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasVip() => $_has(4);
  @$pb.TagNumber(5)
  void clearVip() => clearField(5);
  @$pb.TagNumber(5)
  VipInfo ensureVip() => $_ensure(4);

  /// 直播信息
  @$pb.TagNumber(6)
  LiveInfo get live => $_getN(5);
  @$pb.TagNumber(6)
  set live(LiveInfo v) {
    setField(6, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasLive() => $_has(5);
  @$pb.TagNumber(6)
  void clearLive() => clearField(6);
  @$pb.TagNumber(6)
  LiveInfo ensureLive() => $_ensure(5);

  /// 空间页跳转链接
  @$pb.TagNumber(7)
  $core.String get uri => $_getSZ(6);
  @$pb.TagNumber(7)
  set uri($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasUri() => $_has(6);
  @$pb.TagNumber(7)
  void clearUri() => clearField(7);

  /// 挂件信息
  @$pb.TagNumber(8)
  UserPendant get pendant => $_getN(7);
  @$pb.TagNumber(8)
  set pendant(UserPendant v) {
    setField(8, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasPendant() => $_has(7);
  @$pb.TagNumber(8)
  void clearPendant() => clearField(8);
  @$pb.TagNumber(8)
  UserPendant ensurePendant() => $_ensure(7);

  /// 认证名牌
  @$pb.TagNumber(9)
  Nameplate get nameplate => $_getN(8);
  @$pb.TagNumber(9)
  set nameplate(Nameplate v) {
    setField(9, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasNameplate() => $_has(8);
  @$pb.TagNumber(9)
  void clearNameplate() => clearField(9);
  @$pb.TagNumber(9)
  Nameplate ensureNameplate() => $_ensure(8);

  /// 用户等级
  @$pb.TagNumber(10)
  $core.int get level => $_getIZ(9);
  @$pb.TagNumber(10)
  set level($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasLevel() => $_has(9);
  @$pb.TagNumber(10)
  void clearLevel() => clearField(10);

  /// 用户简介
  @$pb.TagNumber(11)
  $core.String get sign => $_getSZ(10);
  @$pb.TagNumber(11)
  set sign($core.String v) {
    $_setString(10, v);
  }

  @$pb.TagNumber(11)
  $core.bool hasSign() => $_has(10);
  @$pb.TagNumber(11)
  void clearSign() => clearField(11);

  @$pb.TagNumber(12)
  $core.int get faceNft => $_getIZ(11);
  @$pb.TagNumber(12)
  set faceNft($core.int v) {
    $_setSignedInt32(11, v);
  }

  @$pb.TagNumber(12)
  $core.bool hasFaceNft() => $_has(11);
  @$pb.TagNumber(12)
  void clearFaceNft() => clearField(12);

  @$pb.TagNumber(13)
  $core.int get faceNftNew => $_getIZ(12);
  @$pb.TagNumber(13)
  set faceNftNew($core.int v) {
    $_setSignedInt32(12, v);
  }

  @$pb.TagNumber(13)
  $core.bool hasFaceNftNew() => $_has(12);
  @$pb.TagNumber(13)
  void clearFaceNftNew() => clearField(13);

  @$pb.TagNumber(14)
  NFTInfo get nftInfo => $_getN(13);
  @$pb.TagNumber(14)
  set nftInfo(NFTInfo v) {
    setField(14, v);
  }

  @$pb.TagNumber(14)
  $core.bool hasNftInfo() => $_has(13);
  @$pb.TagNumber(14)
  void clearNftInfo() => clearField(14);
  @$pb.TagNumber(14)
  NFTInfo ensureNftInfo() => $_ensure(13);

  @$pb.TagNumber(15)
  $core.int get isSeniorMember => $_getIZ(14);
  @$pb.TagNumber(15)
  set isSeniorMember($core.int v) {
    $_setSignedInt32(14, v);
  }

  @$pb.TagNumber(15)
  $core.bool hasIsSeniorMember() => $_has(14);
  @$pb.TagNumber(15)
  void clearIsSeniorMember() => clearField(15);

  @$pb.TagNumber(16)
  $3.AvatarItem get avatar => $_getN(15);
  @$pb.TagNumber(16)
  set avatar($3.AvatarItem v) {
    setField(16, v);
  }

  @$pb.TagNumber(16)
  $core.bool hasAvatar() => $_has(15);
  @$pb.TagNumber(16)
  void clearAvatar() => clearField(16);
  @$pb.TagNumber(16)
  $3.AvatarItem ensureAvatar() => $_ensure(15);
}

/// 直播头像样式
class UserItemStyle extends $pb.GeneratedMessage {
  factory UserItemStyle({
    $core.String? rectText,
    $core.String? rectTextColor,
    $core.String? rectIcon,
    $core.String? rectBgColor,
    $core.String? outerAnimation,
  }) {
    final $result = create();
    if (rectText != null) {
      $result.rectText = rectText;
    }
    if (rectTextColor != null) {
      $result.rectTextColor = rectTextColor;
    }
    if (rectIcon != null) {
      $result.rectIcon = rectIcon;
    }
    if (rectBgColor != null) {
      $result.rectBgColor = rectBgColor;
    }
    if (outerAnimation != null) {
      $result.outerAnimation = outerAnimation;
    }
    return $result;
  }
  UserItemStyle._() : super();
  factory UserItemStyle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UserItemStyle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UserItemStyle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'rectText')
    ..aOS(2, _omitFieldNames ? '' : 'rectTextColor')
    ..aOS(3, _omitFieldNames ? '' : 'rectIcon')
    ..aOS(4, _omitFieldNames ? '' : 'rectBgColor')
    ..aOS(5, _omitFieldNames ? '' : 'outerAnimation')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UserItemStyle clone() => UserItemStyle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UserItemStyle copyWith(void Function(UserItemStyle) updates) =>
      super.copyWith((message) => updates(message as UserItemStyle))
          as UserItemStyle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UserItemStyle create() => UserItemStyle._();
  UserItemStyle createEmptyInstance() => create();
  static $pb.PbList<UserItemStyle> createRepeated() =>
      $pb.PbList<UserItemStyle>();
  @$core.pragma('dart2js:noInline')
  static UserItemStyle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UserItemStyle>(create);
  static UserItemStyle? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get rectText => $_getSZ(0);
  @$pb.TagNumber(1)
  set rectText($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasRectText() => $_has(0);
  @$pb.TagNumber(1)
  void clearRectText() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get rectTextColor => $_getSZ(1);
  @$pb.TagNumber(2)
  set rectTextColor($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasRectTextColor() => $_has(1);
  @$pb.TagNumber(2)
  void clearRectTextColor() => clearField(2);

  @$pb.TagNumber(3)
  $core.String get rectIcon => $_getSZ(2);
  @$pb.TagNumber(3)
  set rectIcon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasRectIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearRectIcon() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get rectBgColor => $_getSZ(3);
  @$pb.TagNumber(4)
  set rectBgColor($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasRectBgColor() => $_has(3);
  @$pb.TagNumber(4)
  void clearRectBgColor() => clearField(4);

  @$pb.TagNumber(5)
  $core.String get outerAnimation => $_getSZ(4);
  @$pb.TagNumber(5)
  set outerAnimation($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasOuterAnimation() => $_has(4);
  @$pb.TagNumber(5)
  void clearOuterAnimation() => clearField(5);
}

/// 头像挂件信息
class UserPendant extends $pb.GeneratedMessage {
  factory UserPendant({
    $fixnum.Int64? pid,
    $core.String? name,
    $core.String? image,
    $fixnum.Int64? expire,
  }) {
    final $result = create();
    if (pid != null) {
      $result.pid = pid;
    }
    if (name != null) {
      $result.name = name;
    }
    if (image != null) {
      $result.image = image;
    }
    if (expire != null) {
      $result.expire = expire;
    }
    return $result;
  }
  UserPendant._() : super();
  factory UserPendant.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory UserPendant.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'UserPendant',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'pid')
    ..aOS(2, _omitFieldNames ? '' : 'name')
    ..aOS(3, _omitFieldNames ? '' : 'image')
    ..aInt64(4, _omitFieldNames ? '' : 'expire')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  UserPendant clone() => UserPendant()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  UserPendant copyWith(void Function(UserPendant) updates) =>
      super.copyWith((message) => updates(message as UserPendant))
          as UserPendant;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UserPendant create() => UserPendant._();
  UserPendant createEmptyInstance() => create();
  static $pb.PbList<UserPendant> createRepeated() => $pb.PbList<UserPendant>();
  @$core.pragma('dart2js:noInline')
  static UserPendant getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<UserPendant>(create);
  static UserPendant? _defaultInstance;

  /// pid
  @$pb.TagNumber(1)
  $fixnum.Int64 get pid => $_getI64(0);
  @$pb.TagNumber(1)
  set pid($fixnum.Int64 v) {
    $_setInt64(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPid() => $_has(0);
  @$pb.TagNumber(1)
  void clearPid() => clearField(1);

  /// 名称
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => clearField(2);

  /// 图片链接
  @$pb.TagNumber(3)
  $core.String get image => $_getSZ(2);
  @$pb.TagNumber(3)
  set image($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasImage() => $_has(2);
  @$pb.TagNumber(3)
  void clearImage() => clearField(3);

  /// 有效期
  @$pb.TagNumber(4)
  $fixnum.Int64 get expire => $_getI64(3);
  @$pb.TagNumber(4)
  set expire($fixnum.Int64 v) {
    $_setInt64(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasExpire() => $_has(3);
  @$pb.TagNumber(4)
  void clearExpire() => clearField(4);
}

/// 角标信息
class VideoBadge extends $pb.GeneratedMessage {
  factory VideoBadge({
    $core.String? text,
    $core.String? textColor,
    $core.String? textColorNight,
    $core.String? bgColor,
    $core.String? bgColorNight,
    $core.String? borderColor,
    $core.String? borderColorNight,
    $core.int? bgStyle,
    $core.int? bgAlpha,
    $core.int? bgAlphaNight,
  }) {
    final $result = create();
    if (text != null) {
      $result.text = text;
    }
    if (textColor != null) {
      $result.textColor = textColor;
    }
    if (textColorNight != null) {
      $result.textColorNight = textColorNight;
    }
    if (bgColor != null) {
      $result.bgColor = bgColor;
    }
    if (bgColorNight != null) {
      $result.bgColorNight = bgColorNight;
    }
    if (borderColor != null) {
      $result.borderColor = borderColor;
    }
    if (borderColorNight != null) {
      $result.borderColorNight = borderColorNight;
    }
    if (bgStyle != null) {
      $result.bgStyle = bgStyle;
    }
    if (bgAlpha != null) {
      $result.bgAlpha = bgAlpha;
    }
    if (bgAlphaNight != null) {
      $result.bgAlphaNight = bgAlphaNight;
    }
    return $result;
  }
  VideoBadge._() : super();
  factory VideoBadge.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory VideoBadge.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'VideoBadge',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'text')
    ..aOS(2, _omitFieldNames ? '' : 'textColor')
    ..aOS(3, _omitFieldNames ? '' : 'textColorNight')
    ..aOS(4, _omitFieldNames ? '' : 'bgColor')
    ..aOS(5, _omitFieldNames ? '' : 'bgColorNight')
    ..aOS(6, _omitFieldNames ? '' : 'borderColor')
    ..aOS(7, _omitFieldNames ? '' : 'borderColorNight')
    ..a<$core.int>(8, _omitFieldNames ? '' : 'bgStyle', $pb.PbFieldType.O3)
    ..a<$core.int>(9, _omitFieldNames ? '' : 'bgAlpha', $pb.PbFieldType.O3)
    ..a<$core.int>(
        10, _omitFieldNames ? '' : 'bgAlphaNight', $pb.PbFieldType.O3)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  VideoBadge clone() => VideoBadge()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  VideoBadge copyWith(void Function(VideoBadge) updates) =>
      super.copyWith((message) => updates(message as VideoBadge)) as VideoBadge;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static VideoBadge create() => VideoBadge._();
  VideoBadge createEmptyInstance() => create();
  static $pb.PbList<VideoBadge> createRepeated() => $pb.PbList<VideoBadge>();
  @$core.pragma('dart2js:noInline')
  static VideoBadge getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<VideoBadge>(create);
  static VideoBadge? _defaultInstance;

  /// 文案
  @$pb.TagNumber(1)
  $core.String get text => $_getSZ(0);
  @$pb.TagNumber(1)
  set text($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasText() => $_has(0);
  @$pb.TagNumber(1)
  void clearText() => clearField(1);

  /// 文案颜色-日间
  @$pb.TagNumber(2)
  $core.String get textColor => $_getSZ(1);
  @$pb.TagNumber(2)
  set textColor($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTextColor() => $_has(1);
  @$pb.TagNumber(2)
  void clearTextColor() => clearField(2);

  /// 文案颜色-夜间
  @$pb.TagNumber(3)
  $core.String get textColorNight => $_getSZ(2);
  @$pb.TagNumber(3)
  set textColorNight($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasTextColorNight() => $_has(2);
  @$pb.TagNumber(3)
  void clearTextColorNight() => clearField(3);

  /// 背景颜色-日间
  @$pb.TagNumber(4)
  $core.String get bgColor => $_getSZ(3);
  @$pb.TagNumber(4)
  set bgColor($core.String v) {
    $_setString(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasBgColor() => $_has(3);
  @$pb.TagNumber(4)
  void clearBgColor() => clearField(4);

  /// 背景颜色-夜间
  @$pb.TagNumber(5)
  $core.String get bgColorNight => $_getSZ(4);
  @$pb.TagNumber(5)
  set bgColorNight($core.String v) {
    $_setString(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasBgColorNight() => $_has(4);
  @$pb.TagNumber(5)
  void clearBgColorNight() => clearField(5);

  /// 边框颜色-日间
  @$pb.TagNumber(6)
  $core.String get borderColor => $_getSZ(5);
  @$pb.TagNumber(6)
  set borderColor($core.String v) {
    $_setString(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasBorderColor() => $_has(5);
  @$pb.TagNumber(6)
  void clearBorderColor() => clearField(6);

  /// 边框颜色-夜间
  @$pb.TagNumber(7)
  $core.String get borderColorNight => $_getSZ(6);
  @$pb.TagNumber(7)
  set borderColorNight($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasBorderColorNight() => $_has(6);
  @$pb.TagNumber(7)
  void clearBorderColorNight() => clearField(7);

  /// 样式
  @$pb.TagNumber(8)
  $core.int get bgStyle => $_getIZ(7);
  @$pb.TagNumber(8)
  set bgStyle($core.int v) {
    $_setSignedInt32(7, v);
  }

  @$pb.TagNumber(8)
  $core.bool hasBgStyle() => $_has(7);
  @$pb.TagNumber(8)
  void clearBgStyle() => clearField(8);

  /// 背景透明度-日间
  @$pb.TagNumber(9)
  $core.int get bgAlpha => $_getIZ(8);
  @$pb.TagNumber(9)
  set bgAlpha($core.int v) {
    $_setSignedInt32(8, v);
  }

  @$pb.TagNumber(9)
  $core.bool hasBgAlpha() => $_has(8);
  @$pb.TagNumber(9)
  void clearBgAlpha() => clearField(9);

  /// 背景透明度-夜间
  @$pb.TagNumber(10)
  $core.int get bgAlphaNight => $_getIZ(9);
  @$pb.TagNumber(10)
  set bgAlphaNight($core.int v) {
    $_setSignedInt32(9, v);
  }

  @$pb.TagNumber(10)
  $core.bool hasBgAlphaNight() => $_has(9);
  @$pb.TagNumber(10)
  void clearBgAlphaNight() => clearField(10);
}

/// 大会员信息
class VipInfo extends $pb.GeneratedMessage {
  factory VipInfo({
    $core.int? type,
    $core.int? status,
    $fixnum.Int64? dueDate,
    VipLabel? label,
    $core.int? themeType,
    $core.int? avatarSubscript,
    $core.String? nicknameColor,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (status != null) {
      $result.status = status;
    }
    if (dueDate != null) {
      $result.dueDate = dueDate;
    }
    if (label != null) {
      $result.label = label;
    }
    if (themeType != null) {
      $result.themeType = themeType;
    }
    if (avatarSubscript != null) {
      $result.avatarSubscript = avatarSubscript;
    }
    if (nicknameColor != null) {
      $result.nicknameColor = nicknameColor;
    }
    return $result;
  }
  VipInfo._() : super();
  factory VipInfo.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory VipInfo.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'VipInfo',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..a<$core.int>(1, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.O3,
        protoName: 'Type')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3)
    ..aInt64(3, _omitFieldNames ? '' : 'dueDate')
    ..aOM<VipLabel>(4, _omitFieldNames ? '' : 'label',
        subBuilder: VipLabel.create)
    ..a<$core.int>(5, _omitFieldNames ? '' : 'themeType', $pb.PbFieldType.O3)
    ..a<$core.int>(
        6, _omitFieldNames ? '' : 'avatarSubscript', $pb.PbFieldType.O3)
    ..aOS(7, _omitFieldNames ? '' : 'nicknameColor')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  VipInfo clone() => VipInfo()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  VipInfo copyWith(void Function(VipInfo) updates) =>
      super.copyWith((message) => updates(message as VipInfo)) as VipInfo;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static VipInfo create() => VipInfo._();
  VipInfo createEmptyInstance() => create();
  static $pb.PbList<VipInfo> createRepeated() => $pb.PbList<VipInfo>();
  @$core.pragma('dart2js:noInline')
  static VipInfo getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<VipInfo>(create);
  static VipInfo? _defaultInstance;

  /// 大会员类型
  @$pb.TagNumber(1)
  $core.int get type => $_getIZ(0);
  @$pb.TagNumber(1)
  set type($core.int v) {
    $_setSignedInt32(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 大会员状态
  @$pb.TagNumber(2)
  $core.int get status => $_getIZ(1);
  @$pb.TagNumber(2)
  set status($core.int v) {
    $_setSignedInt32(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasStatus() => $_has(1);
  @$pb.TagNumber(2)
  void clearStatus() => clearField(2);

  /// 到期时间
  @$pb.TagNumber(3)
  $fixnum.Int64 get dueDate => $_getI64(2);
  @$pb.TagNumber(3)
  set dueDate($fixnum.Int64 v) {
    $_setInt64(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDueDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearDueDate() => clearField(3);

  /// 标签
  @$pb.TagNumber(4)
  VipLabel get label => $_getN(3);
  @$pb.TagNumber(4)
  set label(VipLabel v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasLabel() => $_has(3);
  @$pb.TagNumber(4)
  void clearLabel() => clearField(4);
  @$pb.TagNumber(4)
  VipLabel ensureLabel() => $_ensure(3);

  /// 主题
  @$pb.TagNumber(5)
  $core.int get themeType => $_getIZ(4);
  @$pb.TagNumber(5)
  set themeType($core.int v) {
    $_setSignedInt32(4, v);
  }

  @$pb.TagNumber(5)
  $core.bool hasThemeType() => $_has(4);
  @$pb.TagNumber(5)
  void clearThemeType() => clearField(5);

  /// 大会员角标
  /// 0:无角标 1:粉色大会员角标 2:绿色小会员角标
  @$pb.TagNumber(6)
  $core.int get avatarSubscript => $_getIZ(5);
  @$pb.TagNumber(6)
  set avatarSubscript($core.int v) {
    $_setSignedInt32(5, v);
  }

  @$pb.TagNumber(6)
  $core.bool hasAvatarSubscript() => $_has(5);
  @$pb.TagNumber(6)
  void clearAvatarSubscript() => clearField(6);

  /// 昵称色值，可能为空，色值示例：#FFFB9E60
  @$pb.TagNumber(7)
  $core.String get nicknameColor => $_getSZ(6);
  @$pb.TagNumber(7)
  set nicknameColor($core.String v) {
    $_setString(6, v);
  }

  @$pb.TagNumber(7)
  $core.bool hasNicknameColor() => $_has(6);
  @$pb.TagNumber(7)
  void clearNicknameColor() => clearField(7);
}

/// 大会员标签
class VipLabel extends $pb.GeneratedMessage {
  factory VipLabel({
    $core.String? path,
    $core.String? text,
    $core.String? labelTheme,
  }) {
    final $result = create();
    if (path != null) {
      $result.path = path;
    }
    if (text != null) {
      $result.text = text;
    }
    if (labelTheme != null) {
      $result.labelTheme = labelTheme;
    }
    return $result;
  }
  VipLabel._() : super();
  factory VipLabel.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory VipLabel.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'VipLabel',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'path')
    ..aOS(2, _omitFieldNames ? '' : 'text')
    ..aOS(3, _omitFieldNames ? '' : 'labelTheme')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  VipLabel clone() => VipLabel()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  VipLabel copyWith(void Function(VipLabel) updates) =>
      super.copyWith((message) => updates(message as VipLabel)) as VipLabel;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static VipLabel create() => VipLabel._();
  VipLabel createEmptyInstance() => create();
  static $pb.PbList<VipLabel> createRepeated() => $pb.PbList<VipLabel>();
  @$core.pragma('dart2js:noInline')
  static VipLabel getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<VipLabel>(create);
  static VipLabel? _defaultInstance;

  /// 图片地址
  @$pb.TagNumber(1)
  $core.String get path => $_getSZ(0);
  @$pb.TagNumber(1)
  set path($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasPath() => $_has(0);
  @$pb.TagNumber(1)
  void clearPath() => clearField(1);

  /// 文本值
  @$pb.TagNumber(2)
  $core.String get text => $_getSZ(1);
  @$pb.TagNumber(2)
  set text($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasText() => $_has(1);
  @$pb.TagNumber(2)
  void clearText() => clearField(2);

  /// 对应颜色类型
  @$pb.TagNumber(3)
  $core.String get labelTheme => $_getSZ(2);
  @$pb.TagNumber(3)
  set labelTheme($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasLabelTheme() => $_has(2);
  @$pb.TagNumber(3)
  void clearLabelTheme() => clearField(3);
}

/// 提权样式
class Weight extends $pb.GeneratedMessage {
  factory Weight({
    $core.String? title,
    $core.Iterable<WeightItem>? items,
    $core.String? icon,
  }) {
    final $result = create();
    if (title != null) {
      $result.title = title;
    }
    if (items != null) {
      $result.items.addAll(items);
    }
    if (icon != null) {
      $result.icon = icon;
    }
    return $result;
  }
  Weight._() : super();
  factory Weight.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory Weight.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'Weight',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'title')
    ..pc<WeightItem>(2, _omitFieldNames ? '' : 'items', $pb.PbFieldType.PM,
        subBuilder: WeightItem.create)
    ..aOS(3, _omitFieldNames ? '' : 'icon')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  Weight clone() => Weight()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  Weight copyWith(void Function(Weight) updates) =>
      super.copyWith((message) => updates(message as Weight)) as Weight;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Weight create() => Weight._();
  Weight createEmptyInstance() => create();
  static $pb.PbList<Weight> createRepeated() => $pb.PbList<Weight>();
  @$core.pragma('dart2js:noInline')
  static Weight getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Weight>(create);
  static Weight? _defaultInstance;

  /// 提权展示标题
  @$pb.TagNumber(1)
  $core.String get title => $_getSZ(0);
  @$pb.TagNumber(1)
  set title($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasTitle() => $_has(0);
  @$pb.TagNumber(1)
  void clearTitle() => clearField(1);

  /// 下拉框内容
  @$pb.TagNumber(2)
  $core.List<WeightItem> get items => $_getList(1);

  /// icon
  @$pb.TagNumber(3)
  $core.String get icon => $_getSZ(2);
  @$pb.TagNumber(3)
  set icon($core.String v) {
    $_setString(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasIcon() => $_has(2);
  @$pb.TagNumber(3)
  void clearIcon() => clearField(3);
}

/// 热门默认跳转按钮
class WeightButton extends $pb.GeneratedMessage {
  factory WeightButton({
    $core.String? jumpUrl,
    $core.String? title,
  }) {
    final $result = create();
    if (jumpUrl != null) {
      $result.jumpUrl = jumpUrl;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  WeightButton._() : super();
  factory WeightButton.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory WeightButton.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'WeightButton',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'jumpUrl')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  WeightButton clone() => WeightButton()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  WeightButton copyWith(void Function(WeightButton) updates) =>
      super.copyWith((message) => updates(message as WeightButton))
          as WeightButton;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static WeightButton create() => WeightButton._();
  WeightButton createEmptyInstance() => create();
  static $pb.PbList<WeightButton> createRepeated() =>
      $pb.PbList<WeightButton>();
  @$core.pragma('dart2js:noInline')
  static WeightButton getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<WeightButton>(create);
  static WeightButton? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get jumpUrl => $_getSZ(0);
  @$pb.TagNumber(1)
  set jumpUrl($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasJumpUrl() => $_has(0);
  @$pb.TagNumber(1)
  void clearJumpUrl() => clearField(1);

  /// 展示文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);
}

/// 提权不感兴趣
class WeightDislike extends $pb.GeneratedMessage {
  factory WeightDislike({
    $core.String? feedBackType,
    $core.String? title,
  }) {
    final $result = create();
    if (feedBackType != null) {
      $result.feedBackType = feedBackType;
    }
    if (title != null) {
      $result.title = title;
    }
    return $result;
  }
  WeightDislike._() : super();
  factory WeightDislike.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory WeightDislike.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'WeightDislike',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'feedBackType')
    ..aOS(2, _omitFieldNames ? '' : 'title')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  WeightDislike clone() => WeightDislike()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  WeightDislike copyWith(void Function(WeightDislike) updates) =>
      super.copyWith((message) => updates(message as WeightDislike))
          as WeightDislike;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static WeightDislike create() => WeightDislike._();
  WeightDislike createEmptyInstance() => create();
  static $pb.PbList<WeightDislike> createRepeated() =>
      $pb.PbList<WeightDislike>();
  @$core.pragma('dart2js:noInline')
  static WeightDislike getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<WeightDislike>(create);
  static WeightDislike? _defaultInstance;

  /// 负反馈业务类型 作为客户端调用负反馈接口的参数
  @$pb.TagNumber(1)
  $core.String get feedBackType => $_getSZ(0);
  @$pb.TagNumber(1)
  set feedBackType($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasFeedBackType() => $_has(0);
  @$pb.TagNumber(1)
  void clearFeedBackType() => clearField(1);

  /// 展示文案
  @$pb.TagNumber(2)
  $core.String get title => $_getSZ(1);
  @$pb.TagNumber(2)
  set title($core.String v) {
    $_setString(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasTitle() => $_has(1);
  @$pb.TagNumber(2)
  void clearTitle() => clearField(2);
}

enum WeightItem_Item { button, dislike, notSet }

/// 提权样式
class WeightItem extends $pb.GeneratedMessage {
  factory WeightItem({
    WeightType? type,
    WeightButton? button,
    WeightDislike? dislike,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (button != null) {
      $result.button = button;
    }
    if (dislike != null) {
      $result.dislike = dislike;
    }
    return $result;
  }
  WeightItem._() : super();
  factory WeightItem.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory WeightItem.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, WeightItem_Item> _WeightItem_ItemByTag = {
    2: WeightItem_Item.button,
    3: WeightItem_Item.dislike,
    0: WeightItem_Item.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'WeightItem',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..oo(0, [2, 3])
    ..e<WeightType>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE,
        defaultOrMaker: WeightType.weight_none,
        valueOf: WeightType.valueOf,
        enumValues: WeightType.values)
    ..aOM<WeightButton>(2, _omitFieldNames ? '' : 'button',
        subBuilder: WeightButton.create)
    ..aOM<WeightDislike>(3, _omitFieldNames ? '' : 'dislike',
        subBuilder: WeightDislike.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  WeightItem clone() => WeightItem()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  WeightItem copyWith(void Function(WeightItem) updates) =>
      super.copyWith((message) => updates(message as WeightItem)) as WeightItem;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static WeightItem create() => WeightItem._();
  WeightItem createEmptyInstance() => create();
  static $pb.PbList<WeightItem> createRepeated() => $pb.PbList<WeightItem>();
  @$core.pragma('dart2js:noInline')
  static WeightItem getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<WeightItem>(create);
  static WeightItem? _defaultInstance;

  WeightItem_Item whichItem() => _WeightItem_ItemByTag[$_whichOneof(0)]!;
  void clearItem() => clearField($_whichOneof(0));

  /// 类型
  @$pb.TagNumber(1)
  WeightType get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(WeightType v) {
    setField(1, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  /// 热门默认跳转按钮
  @$pb.TagNumber(2)
  WeightButton get button => $_getN(1);
  @$pb.TagNumber(2)
  set button(WeightButton v) {
    setField(2, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasButton() => $_has(1);
  @$pb.TagNumber(2)
  void clearButton() => clearField(2);
  @$pb.TagNumber(2)
  WeightButton ensureButton() => $_ensure(1);

  /// 提权不感兴趣
  @$pb.TagNumber(3)
  WeightDislike get dislike => $_getN(2);
  @$pb.TagNumber(3)
  set dislike(WeightDislike v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasDislike() => $_has(2);
  @$pb.TagNumber(3)
  void clearDislike() => clearField(3);
  @$pb.TagNumber(3)
  WeightDislike ensureDislike() => $_ensure(2);
}

class WordNode_WordNodeStyle extends $pb.GeneratedMessage {
  factory WordNode_WordNodeStyle({
    $core.bool? bold,
    $core.bool? italic,
    $core.bool? strikethrough,
    $core.bool? underline,
  }) {
    final $result = create();
    if (bold != null) {
      $result.bold = bold;
    }
    if (italic != null) {
      $result.italic = italic;
    }
    if (strikethrough != null) {
      $result.strikethrough = strikethrough;
    }
    if (underline != null) {
      $result.underline = underline;
    }
    return $result;
  }
  WordNode_WordNodeStyle._() : super();
  factory WordNode_WordNodeStyle.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory WordNode_WordNodeStyle.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'WordNode.WordNodeStyle',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'bold')
    ..aOB(2, _omitFieldNames ? '' : 'italic')
    ..aOB(3, _omitFieldNames ? '' : 'strikethrough')
    ..aOB(4, _omitFieldNames ? '' : 'underline')
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  WordNode_WordNodeStyle clone() =>
      WordNode_WordNodeStyle()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  WordNode_WordNodeStyle copyWith(
          void Function(WordNode_WordNodeStyle) updates) =>
      super.copyWith((message) => updates(message as WordNode_WordNodeStyle))
          as WordNode_WordNodeStyle;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static WordNode_WordNodeStyle create() => WordNode_WordNodeStyle._();
  WordNode_WordNodeStyle createEmptyInstance() => create();
  static $pb.PbList<WordNode_WordNodeStyle> createRepeated() =>
      $pb.PbList<WordNode_WordNodeStyle>();
  @$core.pragma('dart2js:noInline')
  static WordNode_WordNodeStyle getDefault() => _defaultInstance ??=
      $pb.GeneratedMessage.$_defaultFor<WordNode_WordNodeStyle>(create);
  static WordNode_WordNodeStyle? _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get bold => $_getBF(0);
  @$pb.TagNumber(1)
  set bold($core.bool v) {
    $_setBool(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasBold() => $_has(0);
  @$pb.TagNumber(1)
  void clearBold() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get italic => $_getBF(1);
  @$pb.TagNumber(2)
  set italic($core.bool v) {
    $_setBool(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasItalic() => $_has(1);
  @$pb.TagNumber(2)
  void clearItalic() => clearField(2);

  @$pb.TagNumber(3)
  $core.bool get strikethrough => $_getBF(2);
  @$pb.TagNumber(3)
  set strikethrough($core.bool v) {
    $_setBool(2, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasStrikethrough() => $_has(2);
  @$pb.TagNumber(3)
  void clearStrikethrough() => clearField(3);

  @$pb.TagNumber(4)
  $core.bool get underline => $_getBF(3);
  @$pb.TagNumber(4)
  set underline($core.bool v) {
    $_setBool(3, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasUnderline() => $_has(3);
  @$pb.TagNumber(4)
  void clearUnderline() => clearField(4);
}

class WordNode extends $pb.GeneratedMessage {
  factory WordNode({
    $core.String? words,
    $core.double? fontSize,
    Colors? color,
    WordNode_WordNodeStyle? style,
  }) {
    final $result = create();
    if (words != null) {
      $result.words = words;
    }
    if (fontSize != null) {
      $result.fontSize = fontSize;
    }
    if (color != null) {
      $result.color = color;
    }
    if (style != null) {
      $result.style = style;
    }
    return $result;
  }
  WordNode._() : super();
  factory WordNode.fromBuffer($core.List<$core.int> i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromBuffer(i, r);
  factory WordNode.fromJson($core.String i,
          [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
      create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
      _omitMessageNames ? '' : 'WordNode',
      package: const $pb.PackageName(
          _omitMessageNames ? '' : 'bilibili.app.dynamic.v2'),
      createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'words')
    ..a<$core.double>(2, _omitFieldNames ? '' : 'fontSize', $pb.PbFieldType.OD)
    ..aOM<Colors>(3, _omitFieldNames ? '' : 'color', subBuilder: Colors.create)
    ..aOM<WordNode_WordNodeStyle>(4, _omitFieldNames ? '' : 'style',
        subBuilder: WordNode_WordNodeStyle.create)
    ..hasRequiredFields = false;

  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
      'Will be removed in next major version')
  WordNode clone() => WordNode()..mergeFromMessage(this);
  @$core.Deprecated('Using this can add significant overhead to your binary. '
      'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
      'Will be removed in next major version')
  WordNode copyWith(void Function(WordNode) updates) =>
      super.copyWith((message) => updates(message as WordNode)) as WordNode;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static WordNode create() => WordNode._();
  WordNode createEmptyInstance() => create();
  static $pb.PbList<WordNode> createRepeated() => $pb.PbList<WordNode>();
  @$core.pragma('dart2js:noInline')
  static WordNode getDefault() =>
      _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<WordNode>(create);
  static WordNode? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get words => $_getSZ(0);
  @$pb.TagNumber(1)
  set words($core.String v) {
    $_setString(0, v);
  }

  @$pb.TagNumber(1)
  $core.bool hasWords() => $_has(0);
  @$pb.TagNumber(1)
  void clearWords() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get fontSize => $_getN(1);
  @$pb.TagNumber(2)
  set fontSize($core.double v) {
    $_setDouble(1, v);
  }

  @$pb.TagNumber(2)
  $core.bool hasFontSize() => $_has(1);
  @$pb.TagNumber(2)
  void clearFontSize() => clearField(2);

  @$pb.TagNumber(3)
  Colors get color => $_getN(2);
  @$pb.TagNumber(3)
  set color(Colors v) {
    setField(3, v);
  }

  @$pb.TagNumber(3)
  $core.bool hasColor() => $_has(2);
  @$pb.TagNumber(3)
  void clearColor() => clearField(3);
  @$pb.TagNumber(3)
  Colors ensureColor() => $_ensure(2);

  @$pb.TagNumber(4)
  WordNode_WordNodeStyle get style => $_getN(3);
  @$pb.TagNumber(4)
  set style(WordNode_WordNodeStyle v) {
    setField(4, v);
  }

  @$pb.TagNumber(4)
  $core.bool hasStyle() => $_has(3);
  @$pb.TagNumber(4)
  void clearStyle() => clearField(4);
  @$pb.TagNumber(4)
  WordNode_WordNodeStyle ensureStyle() => $_ensure(3);
}

const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames =
    $core.bool.fromEnvironment('protobuf.omit_message_names');
