Files
service-common/proto/rs/grpc_pb/service_qgdzs.pb.go

1874 lines
65 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc v4.25.1
// source: service_qgdzs.proto
package grpc_pb
import (
_ "git.hlsq.asia/mmorpg/service-common/proto/rs/rs_common"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// ---------- GenerateQuestion ----------
type GenerateQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Num int32 `protobuf:"varint,1,opt,name=Num,json=num,proto3" json:"Num,omitempty"` // 生成数量
}
func (x *GenerateQuestionReq) Reset() {
*x = GenerateQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateQuestionReq) ProtoMessage() {}
func (x *GenerateQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GenerateQuestionReq.ProtoReflect.Descriptor instead.
func (*GenerateQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{0}
}
func (x *GenerateQuestionReq) GetNum() int32 {
if x != nil {
return x.Num
}
return 0
}
type GenerateQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GenerateQuestionResp) Reset() {
*x = GenerateQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateQuestionResp) ProtoMessage() {}
func (x *GenerateQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GenerateQuestionResp.ProtoReflect.Descriptor instead.
func (*GenerateQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{1}
}
// ---------- RandomGetQuestion ----------
type RandomGetQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *RandomGetQuestionReq) Reset() {
*x = RandomGetQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RandomGetQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RandomGetQuestionReq) ProtoMessage() {}
func (x *RandomGetQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RandomGetQuestionReq.ProtoReflect.Descriptor instead.
func (*RandomGetQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{2}
}
type RandomGetQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sn string `protobuf:"bytes,1,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Question string `protobuf:"bytes,2,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干
Options []string `protobuf:"bytes,3,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项
Category string `protobuf:"bytes,4,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 题目类型
Difficulty int32 `protobuf:"varint,5,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度
}
func (x *RandomGetQuestionResp) Reset() {
*x = RandomGetQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RandomGetQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RandomGetQuestionResp) ProtoMessage() {}
func (x *RandomGetQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RandomGetQuestionResp.ProtoReflect.Descriptor instead.
func (*RandomGetQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{3}
}
func (x *RandomGetQuestionResp) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *RandomGetQuestionResp) GetQuestion() string {
if x != nil {
return x.Question
}
return ""
}
func (x *RandomGetQuestionResp) GetOptions() []string {
if x != nil {
return x.Options
}
return nil
}
func (x *RandomGetQuestionResp) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *RandomGetQuestionResp) GetDifficulty() int32 {
if x != nil {
return x.Difficulty
}
return 0
}
// ---------- RandomAnswerQuestion ----------
type RandomAnswerQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
USN string `protobuf:"bytes,1,opt,name=USN,json=usn,proto3" json:"USN,omitempty"`
Sn string `protobuf:"bytes,2,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Answer string `protobuf:"bytes,3,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
}
func (x *RandomAnswerQuestionReq) Reset() {
*x = RandomAnswerQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RandomAnswerQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RandomAnswerQuestionReq) ProtoMessage() {}
func (x *RandomAnswerQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RandomAnswerQuestionReq.ProtoReflect.Descriptor instead.
func (*RandomAnswerQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{4}
}
func (x *RandomAnswerQuestionReq) GetUSN() string {
if x != nil {
return x.USN
}
return ""
}
func (x *RandomAnswerQuestionReq) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *RandomAnswerQuestionReq) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
type RandomAnswerQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Answer string `protobuf:"bytes,1,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
Explanation string `protobuf:"bytes,2,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析
}
func (x *RandomAnswerQuestionResp) Reset() {
*x = RandomAnswerQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RandomAnswerQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RandomAnswerQuestionResp) ProtoMessage() {}
func (x *RandomAnswerQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RandomAnswerQuestionResp.ProtoReflect.Descriptor instead.
func (*RandomAnswerQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{5}
}
func (x *RandomAnswerQuestionResp) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
func (x *RandomAnswerQuestionResp) GetExplanation() string {
if x != nil {
return x.Explanation
}
return ""
}
// ---------- GetAllCategory ----------
type GetAllCategoryReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetAllCategoryReq) Reset() {
*x = GetAllCategoryReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllCategoryReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllCategoryReq) ProtoMessage() {}
func (x *GetAllCategoryReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAllCategoryReq.ProtoReflect.Descriptor instead.
func (*GetAllCategoryReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{6}
}
type GetAllCategoryResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Categories []*GetAllCategoryItem `protobuf:"bytes,1,rep,name=Categories,json=categories,proto3" json:"Categories,omitempty"` // 类目
}
func (x *GetAllCategoryResp) Reset() {
*x = GetAllCategoryResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllCategoryResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllCategoryResp) ProtoMessage() {}
func (x *GetAllCategoryResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAllCategoryResp.ProtoReflect.Descriptor instead.
func (*GetAllCategoryResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{7}
}
func (x *GetAllCategoryResp) GetCategories() []*GetAllCategoryItem {
if x != nil {
return x.Categories
}
return nil
}
type GetAllCategoryItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sn string `protobuf:"bytes,1,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 唯一标识
Category string `protobuf:"bytes,2,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 类目
}
func (x *GetAllCategoryItem) Reset() {
*x = GetAllCategoryItem{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllCategoryItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllCategoryItem) ProtoMessage() {}
func (x *GetAllCategoryItem) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAllCategoryItem.ProtoReflect.Descriptor instead.
func (*GetAllCategoryItem) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{8}
}
func (x *GetAllCategoryItem) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *GetAllCategoryItem) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
// ---------- CategoryGetQuestion ----------
type CategoryGetQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CategorySn string `protobuf:"bytes,1,opt,name=CategorySn,json=category_sn,proto3" json:"CategorySn,omitempty"` // 类目唯一标识
}
func (x *CategoryGetQuestionReq) Reset() {
*x = CategoryGetQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CategoryGetQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CategoryGetQuestionReq) ProtoMessage() {}
func (x *CategoryGetQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CategoryGetQuestionReq.ProtoReflect.Descriptor instead.
func (*CategoryGetQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{9}
}
func (x *CategoryGetQuestionReq) GetCategorySn() string {
if x != nil {
return x.CategorySn
}
return ""
}
type CategoryGetQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sn string `protobuf:"bytes,1,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Question string `protobuf:"bytes,2,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干
Options []string `protobuf:"bytes,3,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项
Category string `protobuf:"bytes,4,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 题目类型
Difficulty int32 `protobuf:"varint,5,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度
}
func (x *CategoryGetQuestionResp) Reset() {
*x = CategoryGetQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CategoryGetQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CategoryGetQuestionResp) ProtoMessage() {}
func (x *CategoryGetQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CategoryGetQuestionResp.ProtoReflect.Descriptor instead.
func (*CategoryGetQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{10}
}
func (x *CategoryGetQuestionResp) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *CategoryGetQuestionResp) GetQuestion() string {
if x != nil {
return x.Question
}
return ""
}
func (x *CategoryGetQuestionResp) GetOptions() []string {
if x != nil {
return x.Options
}
return nil
}
func (x *CategoryGetQuestionResp) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *CategoryGetQuestionResp) GetDifficulty() int32 {
if x != nil {
return x.Difficulty
}
return 0
}
// ---------- CategoryAnswerQuestion ----------
type CategoryAnswerQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
USN string `protobuf:"bytes,1,opt,name=USN,json=usn,proto3" json:"USN,omitempty"`
Sn string `protobuf:"bytes,2,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Answer string `protobuf:"bytes,3,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
}
func (x *CategoryAnswerQuestionReq) Reset() {
*x = CategoryAnswerQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CategoryAnswerQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CategoryAnswerQuestionReq) ProtoMessage() {}
func (x *CategoryAnswerQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CategoryAnswerQuestionReq.ProtoReflect.Descriptor instead.
func (*CategoryAnswerQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{11}
}
func (x *CategoryAnswerQuestionReq) GetUSN() string {
if x != nil {
return x.USN
}
return ""
}
func (x *CategoryAnswerQuestionReq) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *CategoryAnswerQuestionReq) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
type CategoryAnswerQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Answer string `protobuf:"bytes,1,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
Explanation string `protobuf:"bytes,2,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析
}
func (x *CategoryAnswerQuestionResp) Reset() {
*x = CategoryAnswerQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CategoryAnswerQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CategoryAnswerQuestionResp) ProtoMessage() {}
func (x *CategoryAnswerQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CategoryAnswerQuestionResp.ProtoReflect.Descriptor instead.
func (*CategoryAnswerQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{12}
}
func (x *CategoryAnswerQuestionResp) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
func (x *CategoryAnswerQuestionResp) GetExplanation() string {
if x != nil {
return x.Explanation
}
return ""
}
// ---------- QuicklyGetQuestion ----------
type QuicklyGetQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *QuicklyGetQuestionReq) Reset() {
*x = QuicklyGetQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuicklyGetQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuicklyGetQuestionReq) ProtoMessage() {}
func (x *QuicklyGetQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuicklyGetQuestionReq.ProtoReflect.Descriptor instead.
func (*QuicklyGetQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{13}
}
type QuicklyGetQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Sn string `protobuf:"bytes,1,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Question string `protobuf:"bytes,2,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干
Options []string `protobuf:"bytes,3,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项
Category string `protobuf:"bytes,4,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 题目类型
Difficulty int32 `protobuf:"varint,5,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度
}
func (x *QuicklyGetQuestionResp) Reset() {
*x = QuicklyGetQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuicklyGetQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuicklyGetQuestionResp) ProtoMessage() {}
func (x *QuicklyGetQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuicklyGetQuestionResp.ProtoReflect.Descriptor instead.
func (*QuicklyGetQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{14}
}
func (x *QuicklyGetQuestionResp) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *QuicklyGetQuestionResp) GetQuestion() string {
if x != nil {
return x.Question
}
return ""
}
func (x *QuicklyGetQuestionResp) GetOptions() []string {
if x != nil {
return x.Options
}
return nil
}
func (x *QuicklyGetQuestionResp) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *QuicklyGetQuestionResp) GetDifficulty() int32 {
if x != nil {
return x.Difficulty
}
return 0
}
// ---------- QuicklyAnswerQuestion ----------
type QuicklyAnswerQuestionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
USN string `protobuf:"bytes,1,opt,name=USN,json=usn,proto3" json:"USN,omitempty"`
Sn string `protobuf:"bytes,2,opt,name=Sn,json=sn,proto3" json:"Sn,omitempty"` // 题目唯一标识
Answer string `protobuf:"bytes,3,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
}
func (x *QuicklyAnswerQuestionReq) Reset() {
*x = QuicklyAnswerQuestionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuicklyAnswerQuestionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuicklyAnswerQuestionReq) ProtoMessage() {}
func (x *QuicklyAnswerQuestionReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuicklyAnswerQuestionReq.ProtoReflect.Descriptor instead.
func (*QuicklyAnswerQuestionReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{15}
}
func (x *QuicklyAnswerQuestionReq) GetUSN() string {
if x != nil {
return x.USN
}
return ""
}
func (x *QuicklyAnswerQuestionReq) GetSn() string {
if x != nil {
return x.Sn
}
return ""
}
func (x *QuicklyAnswerQuestionReq) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
type QuicklyAnswerQuestionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Answer string `protobuf:"bytes,1,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 答案
Explanation string `protobuf:"bytes,2,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析
}
func (x *QuicklyAnswerQuestionResp) Reset() {
*x = QuicklyAnswerQuestionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QuicklyAnswerQuestionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QuicklyAnswerQuestionResp) ProtoMessage() {}
func (x *QuicklyAnswerQuestionResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QuicklyAnswerQuestionResp.ProtoReflect.Descriptor instead.
func (*QuicklyAnswerQuestionResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{16}
}
func (x *QuicklyAnswerQuestionResp) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
func (x *QuicklyAnswerQuestionResp) GetExplanation() string {
if x != nil {
return x.Explanation
}
return ""
}
// ---------- GetRecord ----------
type GetRecordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
USN string `protobuf:"bytes,1,opt,name=USN,json=usn,proto3" json:"USN,omitempty"`
Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"`
PageSize int32 `protobuf:"varint,3,opt,name=PageSize,json=page_size,proto3" json:"PageSize,omitempty"`
}
func (x *GetRecordReq) Reset() {
*x = GetRecordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRecordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRecordReq) ProtoMessage() {}
func (x *GetRecordReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRecordReq.ProtoReflect.Descriptor instead.
func (*GetRecordReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{17}
}
func (x *GetRecordReq) GetUSN() string {
if x != nil {
return x.USN
}
return ""
}
func (x *GetRecordReq) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *GetRecordReq) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
type GetRecordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count int32 `protobuf:"varint,1,opt,name=Count,json=count,proto3" json:"Count,omitempty"` // 总数
Records []*GetRecordItem `protobuf:"bytes,2,rep,name=Records,json=records,proto3" json:"Records,omitempty"` // 记录
}
func (x *GetRecordResp) Reset() {
*x = GetRecordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRecordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRecordResp) ProtoMessage() {}
func (x *GetRecordResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRecordResp.ProtoReflect.Descriptor instead.
func (*GetRecordResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{18}
}
func (x *GetRecordResp) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *GetRecordResp) GetRecords() []*GetRecordItem {
if x != nil {
return x.Records
}
return nil
}
type GetRecordItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
QuestionSn string `protobuf:"bytes,1,opt,name=QuestionSn,json=question_sn,proto3" json:"QuestionSn,omitempty"` // 题目唯一标识
Question string `protobuf:"bytes,2,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干
Difficulty int32 `protobuf:"varint,3,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度
Category string `protobuf:"bytes,4,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 题目类型
QuestionAnswer string `protobuf:"bytes,5,opt,name=QuestionAnswer,json=question_answer,proto3" json:"QuestionAnswer,omitempty"` // 题目答案
Answer string `protobuf:"bytes,6,opt,name=Answer,json=answer,proto3" json:"Answer,omitempty"` // 用户答案
CreateTime int64 `protobuf:"varint,7,opt,name=CreateTime,json=create_time,proto3" json:"CreateTime,omitempty"` // 创建时间
}
func (x *GetRecordItem) Reset() {
*x = GetRecordItem{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetRecordItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRecordItem) ProtoMessage() {}
func (x *GetRecordItem) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRecordItem.ProtoReflect.Descriptor instead.
func (*GetRecordItem) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{19}
}
func (x *GetRecordItem) GetQuestionSn() string {
if x != nil {
return x.QuestionSn
}
return ""
}
func (x *GetRecordItem) GetQuestion() string {
if x != nil {
return x.Question
}
return ""
}
func (x *GetRecordItem) GetDifficulty() int32 {
if x != nil {
return x.Difficulty
}
return 0
}
func (x *GetRecordItem) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *GetRecordItem) GetQuestionAnswer() string {
if x != nil {
return x.QuestionAnswer
}
return ""
}
func (x *GetRecordItem) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
func (x *GetRecordItem) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
// ---------- GetQuestionInfo ----------
type GetQuestionInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
QuestionSn string `protobuf:"bytes,1,opt,name=QuestionSn,json=question_sn,proto3" json:"QuestionSn,omitempty"` // 题目唯一标识
}
func (x *GetQuestionInfoReq) Reset() {
*x = GetQuestionInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetQuestionInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetQuestionInfoReq) ProtoMessage() {}
func (x *GetQuestionInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetQuestionInfoReq.ProtoReflect.Descriptor instead.
func (*GetQuestionInfoReq) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{20}
}
func (x *GetQuestionInfoReq) GetQuestionSn() string {
if x != nil {
return x.QuestionSn
}
return ""
}
type GetQuestionInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Question string `protobuf:"bytes,1,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干
Options []string `protobuf:"bytes,2,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项
Category string `protobuf:"bytes,3,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 类目
Difficulty int32 `protobuf:"varint,4,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度
Explanation string `protobuf:"bytes,5,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析
}
func (x *GetQuestionInfoResp) Reset() {
*x = GetQuestionInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_service_qgdzs_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetQuestionInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetQuestionInfoResp) ProtoMessage() {}
func (x *GetQuestionInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_service_qgdzs_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetQuestionInfoResp.ProtoReflect.Descriptor instead.
func (*GetQuestionInfoResp) Descriptor() ([]byte, []int) {
return file_service_qgdzs_proto_rawDescGZIP(), []int{21}
}
func (x *GetQuestionInfoResp) GetQuestion() string {
if x != nil {
return x.Question
}
return ""
}
func (x *GetQuestionInfoResp) GetOptions() []string {
if x != nil {
return x.Options
}
return nil
}
func (x *GetQuestionInfoResp) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *GetQuestionInfoResp) GetDifficulty() int32 {
if x != nil {
return x.Difficulty
}
return 0
}
func (x *GetQuestionInfoResp) GetExplanation() string {
if x != nil {
return x.Explanation
}
return ""
}
var File_service_qgdzs_proto protoreflect.FileDescriptor
var file_service_qgdzs_proto_rawDesc = []byte{
0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x4e,
0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x16, 0x0a,
0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47,
0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x99, 0x01,
0x0a, 0x15, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a,
0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66,
0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64,
0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x61, 0x6e,
0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x54,
0x0a, 0x18, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e,
0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x22, 0x49, 0x0a, 0x12, 0x47, 0x65, 0x74,
0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12,
0x33, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x69, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x39, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x73,
0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65,
0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a,
0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a,
0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12,
0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22,
0x55, 0x0a, 0x19, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e,
0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16,
0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x1a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b,
0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x17,
0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x51, 0x75, 0x69, 0x63,
0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
0x75, 0x6c, 0x74, 0x79, 0x22, 0x54, 0x0a, 0x18, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x55, 0x0a, 0x19, 0x51, 0x75,
0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12,
0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x73, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x47,
0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63,
0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65,
0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x12, 0x27, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73,
0x77, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x47, 0x65,
0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
0x70, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
0x6c, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xc7, 0x08, 0x0a, 0x05, 0x51, 0x67, 0x64, 0x7a, 0x73, 0x12,
0x69, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x14, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67,
0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x11, 0x52, 0x61,
0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x15, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47,
0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x26,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, 0x64, 0x7a,
0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x71, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65,
0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19,
0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64,
0x6f, 0x6d, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74,
0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x2e, 0x47, 0x65,
0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a,
0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
0x52, 0x65, 0x73, 0x70, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22,
0x21, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x12, 0x72, 0x0a, 0x13, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65,
0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74,
0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f,
0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x71, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1a, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65,
0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65,
0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65,
0x72, 0x12, 0x6e, 0x0a, 0x12, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51,
0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c,
0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a,
0x17, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21,
0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e,
0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x2f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x75, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77,
0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x51, 0x75, 0x69,
0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x71,
0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c,
0x79, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0d, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22,
0x16, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x65, 0x74,
0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x51, 0x75,
0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x47, 0x65, 0x74,
0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a,
0x14, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a,
0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x67, 0x65,
0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42,
0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x2e, 0x68, 0x6c, 0x73, 0x71, 0x2e, 0x61, 0x73, 0x69, 0x61,
0x2f, 0x6d, 0x6d, 0x6f, 0x72, 0x70, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x73, 0x2f,
0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_service_qgdzs_proto_rawDescOnce sync.Once
file_service_qgdzs_proto_rawDescData = file_service_qgdzs_proto_rawDesc
)
func file_service_qgdzs_proto_rawDescGZIP() []byte {
file_service_qgdzs_proto_rawDescOnce.Do(func() {
file_service_qgdzs_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_qgdzs_proto_rawDescData)
})
return file_service_qgdzs_proto_rawDescData
}
var file_service_qgdzs_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_service_qgdzs_proto_goTypes = []interface{}{
(*GenerateQuestionReq)(nil), // 0: GenerateQuestionReq
(*GenerateQuestionResp)(nil), // 1: GenerateQuestionResp
(*RandomGetQuestionReq)(nil), // 2: RandomGetQuestionReq
(*RandomGetQuestionResp)(nil), // 3: RandomGetQuestionResp
(*RandomAnswerQuestionReq)(nil), // 4: RandomAnswerQuestionReq
(*RandomAnswerQuestionResp)(nil), // 5: RandomAnswerQuestionResp
(*GetAllCategoryReq)(nil), // 6: GetAllCategoryReq
(*GetAllCategoryResp)(nil), // 7: GetAllCategoryResp
(*GetAllCategoryItem)(nil), // 8: GetAllCategoryItem
(*CategoryGetQuestionReq)(nil), // 9: CategoryGetQuestionReq
(*CategoryGetQuestionResp)(nil), // 10: CategoryGetQuestionResp
(*CategoryAnswerQuestionReq)(nil), // 11: CategoryAnswerQuestionReq
(*CategoryAnswerQuestionResp)(nil), // 12: CategoryAnswerQuestionResp
(*QuicklyGetQuestionReq)(nil), // 13: QuicklyGetQuestionReq
(*QuicklyGetQuestionResp)(nil), // 14: QuicklyGetQuestionResp
(*QuicklyAnswerQuestionReq)(nil), // 15: QuicklyAnswerQuestionReq
(*QuicklyAnswerQuestionResp)(nil), // 16: QuicklyAnswerQuestionResp
(*GetRecordReq)(nil), // 17: GetRecordReq
(*GetRecordResp)(nil), // 18: GetRecordResp
(*GetRecordItem)(nil), // 19: GetRecordItem
(*GetQuestionInfoReq)(nil), // 20: GetQuestionInfoReq
(*GetQuestionInfoResp)(nil), // 21: GetQuestionInfoResp
}
var file_service_qgdzs_proto_depIdxs = []int32{
8, // 0: GetAllCategoryResp.Categories:type_name -> GetAllCategoryItem
19, // 1: GetRecordResp.Records:type_name -> GetRecordItem
0, // 2: Qgdzs.GenerateQuestion:input_type -> GenerateQuestionReq
2, // 3: Qgdzs.RandomGetQuestion:input_type -> RandomGetQuestionReq
4, // 4: Qgdzs.RandomAnswerQuestion:input_type -> RandomAnswerQuestionReq
6, // 5: Qgdzs.GetAllCategory:input_type -> GetAllCategoryReq
9, // 6: Qgdzs.CategoryGetQuestion:input_type -> CategoryGetQuestionReq
11, // 7: Qgdzs.CategoryAnswerQuestion:input_type -> CategoryAnswerQuestionReq
13, // 8: Qgdzs.QuicklyGetQuestion:input_type -> QuicklyGetQuestionReq
15, // 9: Qgdzs.QuicklyAnswerQuestion:input_type -> QuicklyAnswerQuestionReq
17, // 10: Qgdzs.GetRecord:input_type -> GetRecordReq
20, // 11: Qgdzs.GetQuestionInfo:input_type -> GetQuestionInfoReq
1, // 12: Qgdzs.GenerateQuestion:output_type -> GenerateQuestionResp
3, // 13: Qgdzs.RandomGetQuestion:output_type -> RandomGetQuestionResp
5, // 14: Qgdzs.RandomAnswerQuestion:output_type -> RandomAnswerQuestionResp
7, // 15: Qgdzs.GetAllCategory:output_type -> GetAllCategoryResp
10, // 16: Qgdzs.CategoryGetQuestion:output_type -> CategoryGetQuestionResp
12, // 17: Qgdzs.CategoryAnswerQuestion:output_type -> CategoryAnswerQuestionResp
14, // 18: Qgdzs.QuicklyGetQuestion:output_type -> QuicklyGetQuestionResp
16, // 19: Qgdzs.QuicklyAnswerQuestion:output_type -> QuicklyAnswerQuestionResp
18, // 20: Qgdzs.GetRecord:output_type -> GetRecordResp
21, // 21: Qgdzs.GetQuestionInfo:output_type -> GetQuestionInfoResp
12, // [12:22] is the sub-list for method output_type
2, // [2:12] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_service_qgdzs_proto_init() }
func file_service_qgdzs_proto_init() {
if File_service_qgdzs_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_service_qgdzs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RandomGetQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RandomGetQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RandomAnswerQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RandomAnswerQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllCategoryReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllCategoryResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllCategoryItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CategoryGetQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CategoryGetQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CategoryAnswerQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CategoryAnswerQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuicklyGetQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuicklyGetQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuicklyAnswerQuestionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QuicklyAnswerQuestionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRecordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRecordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetRecordItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetQuestionInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_qgdzs_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetQuestionInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_qgdzs_proto_rawDesc,
NumEnums: 0,
NumMessages: 22,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_qgdzs_proto_goTypes,
DependencyIndexes: file_service_qgdzs_proto_depIdxs,
MessageInfos: file_service_qgdzs_proto_msgTypes,
}.Build()
File_service_qgdzs_proto = out.File
file_service_qgdzs_proto_rawDesc = nil
file_service_qgdzs_proto_goTypes = nil
file_service_qgdzs_proto_depIdxs = nil
}