blob: 548120d8c2acdf0c019ad0a95676c1710cb37a0b [file]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: api/api_proto/issue_objects.proto
package monorail
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Next available tag: 8
type ApprovalStatus int32
const (
ApprovalStatus_NOT_SET ApprovalStatus = 0
ApprovalStatus_NEEDS_REVIEW ApprovalStatus = 1
ApprovalStatus_NA ApprovalStatus = 2
ApprovalStatus_REVIEW_REQUESTED ApprovalStatus = 3
ApprovalStatus_REVIEW_STARTED ApprovalStatus = 4
ApprovalStatus_NEED_INFO ApprovalStatus = 5
ApprovalStatus_APPROVED ApprovalStatus = 6
ApprovalStatus_NOT_APPROVED ApprovalStatus = 7
)
var ApprovalStatus_name = map[int32]string{
0: "NOT_SET",
1: "NEEDS_REVIEW",
2: "NA",
3: "REVIEW_REQUESTED",
4: "REVIEW_STARTED",
5: "NEED_INFO",
6: "APPROVED",
7: "NOT_APPROVED",
}
var ApprovalStatus_value = map[string]int32{
"NOT_SET": 0,
"NEEDS_REVIEW": 1,
"NA": 2,
"REVIEW_REQUESTED": 3,
"REVIEW_STARTED": 4,
"NEED_INFO": 5,
"APPROVED": 6,
"NOT_APPROVED": 7,
}
func (x ApprovalStatus) String() string {
return proto.EnumName(ApprovalStatus_name, int32(x))
}
func (ApprovalStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{0}
}
// Next available tag: 7
type SearchScope int32
const (
SearchScope_ALL SearchScope = 0
SearchScope_NEW SearchScope = 1
SearchScope_OPEN SearchScope = 2
SearchScope_OWNED SearchScope = 3
SearchScope_REPORTED SearchScope = 4
SearchScope_STARRED SearchScope = 5
SearchScope_TO_VERIFY SearchScope = 6
)
var SearchScope_name = map[int32]string{
0: "ALL",
1: "NEW",
2: "OPEN",
3: "OWNED",
4: "REPORTED",
5: "STARRED",
6: "TO_VERIFY",
}
var SearchScope_value = map[string]int32{
"ALL": 0,
"NEW": 1,
"OPEN": 2,
"OWNED": 3,
"REPORTED": 4,
"STARRED": 5,
"TO_VERIFY": 6,
}
func (x SearchScope) String() string {
return proto.EnumName(SearchScope_name, int32(x))
}
func (SearchScope) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{1}
}
// Next available tag: 8
type Approval struct {
FieldRef *FieldRef `protobuf:"bytes,1,opt,name=field_ref,json=fieldRef,proto3" json:"field_ref,omitempty"`
ApproverRefs []*UserRef `protobuf:"bytes,2,rep,name=approver_refs,json=approverRefs,proto3" json:"approver_refs,omitempty"`
Status ApprovalStatus `protobuf:"varint,3,opt,name=status,proto3,enum=monorail.ApprovalStatus" json:"status,omitempty"`
SetOn uint32 `protobuf:"fixed32,4,opt,name=set_on,json=setOn,proto3" json:"set_on,omitempty"`
SetterRef *UserRef `protobuf:"bytes,5,opt,name=setter_ref,json=setterRef,proto3" json:"setter_ref,omitempty"`
PhaseRef *PhaseRef `protobuf:"bytes,7,opt,name=phase_ref,json=phaseRef,proto3" json:"phase_ref,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Approval) Reset() { *m = Approval{} }
func (m *Approval) String() string { return proto.CompactTextString(m) }
func (*Approval) ProtoMessage() {}
func (*Approval) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{0}
}
func (m *Approval) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Approval.Unmarshal(m, b)
}
func (m *Approval) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Approval.Marshal(b, m, deterministic)
}
func (m *Approval) XXX_Merge(src proto.Message) {
xxx_messageInfo_Approval.Merge(m, src)
}
func (m *Approval) XXX_Size() int {
return xxx_messageInfo_Approval.Size(m)
}
func (m *Approval) XXX_DiscardUnknown() {
xxx_messageInfo_Approval.DiscardUnknown(m)
}
var xxx_messageInfo_Approval proto.InternalMessageInfo
func (m *Approval) GetFieldRef() *FieldRef {
if m != nil {
return m.FieldRef
}
return nil
}
func (m *Approval) GetApproverRefs() []*UserRef {
if m != nil {
return m.ApproverRefs
}
return nil
}
func (m *Approval) GetStatus() ApprovalStatus {
if m != nil {
return m.Status
}
return ApprovalStatus_NOT_SET
}
func (m *Approval) GetSetOn() uint32 {
if m != nil {
return m.SetOn
}
return 0
}
func (m *Approval) GetSetterRef() *UserRef {
if m != nil {
return m.SetterRef
}
return nil
}
func (m *Approval) GetPhaseRef() *PhaseRef {
if m != nil {
return m.PhaseRef
}
return nil
}
// This message is only suitable for displaying the amendment to users.
// We don't currently offer structured amendments that client code can
// reason about, field names can be ambiguous, and we don't have
// old_value for most changes.
// Next available tag: 4
type Amendment struct {
// This may be the name of a built-in or custom field, or relative to
// an approval field name.
FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
// This may be a new value that overwrote the old value, e.g., "Assigned",
// or it may be a space-separated list of changes, e.g., "Size-L -Size-S".
NewOrDeltaValue string `protobuf:"bytes,2,opt,name=new_or_delta_value,json=newOrDeltaValue,proto3" json:"new_or_delta_value,omitempty"`
// old_value is only used when the user changes the summary.
OldValue string `protobuf:"bytes,3,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Amendment) Reset() { *m = Amendment{} }
func (m *Amendment) String() string { return proto.CompactTextString(m) }
func (*Amendment) ProtoMessage() {}
func (*Amendment) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{1}
}
func (m *Amendment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Amendment.Unmarshal(m, b)
}
func (m *Amendment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Amendment.Marshal(b, m, deterministic)
}
func (m *Amendment) XXX_Merge(src proto.Message) {
xxx_messageInfo_Amendment.Merge(m, src)
}
func (m *Amendment) XXX_Size() int {
return xxx_messageInfo_Amendment.Size(m)
}
func (m *Amendment) XXX_DiscardUnknown() {
xxx_messageInfo_Amendment.DiscardUnknown(m)
}
var xxx_messageInfo_Amendment proto.InternalMessageInfo
func (m *Amendment) GetFieldName() string {
if m != nil {
return m.FieldName
}
return ""
}
func (m *Amendment) GetNewOrDeltaValue() string {
if m != nil {
return m.NewOrDeltaValue
}
return ""
}
func (m *Amendment) GetOldValue() string {
if m != nil {
return m.OldValue
}
return ""
}
// Next available tag: 9
type Attachment struct {
AttachmentId uint64 `protobuf:"varint,1,opt,name=attachment_id,json=attachmentId,proto3" json:"attachment_id,omitempty"`
Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"`
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
IsDeleted bool `protobuf:"varint,5,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
ThumbnailUrl string `protobuf:"bytes,6,opt,name=thumbnail_url,json=thumbnailUrl,proto3" json:"thumbnail_url,omitempty"`
ViewUrl string `protobuf:"bytes,7,opt,name=view_url,json=viewUrl,proto3" json:"view_url,omitempty"`
DownloadUrl string `protobuf:"bytes,8,opt,name=download_url,json=downloadUrl,proto3" json:"download_url,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Attachment) Reset() { *m = Attachment{} }
func (m *Attachment) String() string { return proto.CompactTextString(m) }
func (*Attachment) ProtoMessage() {}
func (*Attachment) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{2}
}
func (m *Attachment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Attachment.Unmarshal(m, b)
}
func (m *Attachment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Attachment.Marshal(b, m, deterministic)
}
func (m *Attachment) XXX_Merge(src proto.Message) {
xxx_messageInfo_Attachment.Merge(m, src)
}
func (m *Attachment) XXX_Size() int {
return xxx_messageInfo_Attachment.Size(m)
}
func (m *Attachment) XXX_DiscardUnknown() {
xxx_messageInfo_Attachment.DiscardUnknown(m)
}
var xxx_messageInfo_Attachment proto.InternalMessageInfo
func (m *Attachment) GetAttachmentId() uint64 {
if m != nil {
return m.AttachmentId
}
return 0
}
func (m *Attachment) GetFilename() string {
if m != nil {
return m.Filename
}
return ""
}
func (m *Attachment) GetSize() uint64 {
if m != nil {
return m.Size
}
return 0
}
func (m *Attachment) GetContentType() string {
if m != nil {
return m.ContentType
}
return ""
}
func (m *Attachment) GetIsDeleted() bool {
if m != nil {
return m.IsDeleted
}
return false
}
func (m *Attachment) GetThumbnailUrl() string {
if m != nil {
return m.ThumbnailUrl
}
return ""
}
func (m *Attachment) GetViewUrl() string {
if m != nil {
return m.ViewUrl
}
return ""
}
func (m *Attachment) GetDownloadUrl() string {
if m != nil {
return m.DownloadUrl
}
return ""
}
// Next available tag: 16
type Comment struct {
ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
LocalId uint32 `protobuf:"varint,2,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
SequenceNum uint32 `protobuf:"varint,3,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"`
IsDeleted bool `protobuf:"varint,4,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
Commenter *UserRef `protobuf:"bytes,5,opt,name=commenter,proto3" json:"commenter,omitempty"`
Timestamp uint32 `protobuf:"fixed32,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Content string `protobuf:"bytes,7,opt,name=content,proto3" json:"content,omitempty"`
InboundMessage string `protobuf:"bytes,8,opt,name=inbound_message,json=inboundMessage,proto3" json:"inbound_message,omitempty"`
Amendments []*Amendment `protobuf:"bytes,9,rep,name=amendments,proto3" json:"amendments,omitempty"`
Attachments []*Attachment `protobuf:"bytes,10,rep,name=attachments,proto3" json:"attachments,omitempty"`
ApprovalRef *FieldRef `protobuf:"bytes,11,opt,name=approval_ref,json=approvalRef,proto3" json:"approval_ref,omitempty"`
// If set, this comment is an issue description.
DescriptionNum uint32 `protobuf:"varint,12,opt,name=description_num,json=descriptionNum,proto3" json:"description_num,omitempty"`
IsSpam bool `protobuf:"varint,13,opt,name=is_spam,json=isSpam,proto3" json:"is_spam,omitempty"`
CanDelete bool `protobuf:"varint,14,opt,name=can_delete,json=canDelete,proto3" json:"can_delete,omitempty"`
CanFlag bool `protobuf:"varint,15,opt,name=can_flag,json=canFlag,proto3" json:"can_flag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Comment) Reset() { *m = Comment{} }
func (m *Comment) String() string { return proto.CompactTextString(m) }
func (*Comment) ProtoMessage() {}
func (*Comment) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{3}
}
func (m *Comment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Comment.Unmarshal(m, b)
}
func (m *Comment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Comment.Marshal(b, m, deterministic)
}
func (m *Comment) XXX_Merge(src proto.Message) {
xxx_messageInfo_Comment.Merge(m, src)
}
func (m *Comment) XXX_Size() int {
return xxx_messageInfo_Comment.Size(m)
}
func (m *Comment) XXX_DiscardUnknown() {
xxx_messageInfo_Comment.DiscardUnknown(m)
}
var xxx_messageInfo_Comment proto.InternalMessageInfo
func (m *Comment) GetProjectName() string {
if m != nil {
return m.ProjectName
}
return ""
}
func (m *Comment) GetLocalId() uint32 {
if m != nil {
return m.LocalId
}
return 0
}
func (m *Comment) GetSequenceNum() uint32 {
if m != nil {
return m.SequenceNum
}
return 0
}
func (m *Comment) GetIsDeleted() bool {
if m != nil {
return m.IsDeleted
}
return false
}
func (m *Comment) GetCommenter() *UserRef {
if m != nil {
return m.Commenter
}
return nil
}
func (m *Comment) GetTimestamp() uint32 {
if m != nil {
return m.Timestamp
}
return 0
}
func (m *Comment) GetContent() string {
if m != nil {
return m.Content
}
return ""
}
func (m *Comment) GetInboundMessage() string {
if m != nil {
return m.InboundMessage
}
return ""
}
func (m *Comment) GetAmendments() []*Amendment {
if m != nil {
return m.Amendments
}
return nil
}
func (m *Comment) GetAttachments() []*Attachment {
if m != nil {
return m.Attachments
}
return nil
}
func (m *Comment) GetApprovalRef() *FieldRef {
if m != nil {
return m.ApprovalRef
}
return nil
}
func (m *Comment) GetDescriptionNum() uint32 {
if m != nil {
return m.DescriptionNum
}
return 0
}
func (m *Comment) GetIsSpam() bool {
if m != nil {
return m.IsSpam
}
return false
}
func (m *Comment) GetCanDelete() bool {
if m != nil {
return m.CanDelete
}
return false
}
func (m *Comment) GetCanFlag() bool {
if m != nil {
return m.CanFlag
}
return false
}
// Next available tag: 5
type FieldValue struct {
FieldRef *FieldRef `protobuf:"bytes,1,opt,name=field_ref,json=fieldRef,proto3" json:"field_ref,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
IsDerived bool `protobuf:"varint,3,opt,name=is_derived,json=isDerived,proto3" json:"is_derived,omitempty"`
PhaseRef *PhaseRef `protobuf:"bytes,4,opt,name=phase_ref,json=phaseRef,proto3" json:"phase_ref,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FieldValue) Reset() { *m = FieldValue{} }
func (m *FieldValue) String() string { return proto.CompactTextString(m) }
func (*FieldValue) ProtoMessage() {}
func (*FieldValue) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{4}
}
func (m *FieldValue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FieldValue.Unmarshal(m, b)
}
func (m *FieldValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FieldValue.Marshal(b, m, deterministic)
}
func (m *FieldValue) XXX_Merge(src proto.Message) {
xxx_messageInfo_FieldValue.Merge(m, src)
}
func (m *FieldValue) XXX_Size() int {
return xxx_messageInfo_FieldValue.Size(m)
}
func (m *FieldValue) XXX_DiscardUnknown() {
xxx_messageInfo_FieldValue.DiscardUnknown(m)
}
var xxx_messageInfo_FieldValue proto.InternalMessageInfo
func (m *FieldValue) GetFieldRef() *FieldRef {
if m != nil {
return m.FieldRef
}
return nil
}
func (m *FieldValue) GetValue() string {
if m != nil {
return m.Value
}
return ""
}
func (m *FieldValue) GetIsDerived() bool {
if m != nil {
return m.IsDerived
}
return false
}
func (m *FieldValue) GetPhaseRef() *PhaseRef {
if m != nil {
return m.PhaseRef
}
return nil
}
// Next available tag: 28
type Issue struct {
ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
LocalId uint32 `protobuf:"varint,2,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
StatusRef *StatusRef `protobuf:"bytes,4,opt,name=status_ref,json=statusRef,proto3" json:"status_ref,omitempty"`
OwnerRef *UserRef `protobuf:"bytes,5,opt,name=owner_ref,json=ownerRef,proto3" json:"owner_ref,omitempty"`
CcRefs []*UserRef `protobuf:"bytes,6,rep,name=cc_refs,json=ccRefs,proto3" json:"cc_refs,omitempty"`
LabelRefs []*LabelRef `protobuf:"bytes,7,rep,name=label_refs,json=labelRefs,proto3" json:"label_refs,omitempty"`
ComponentRefs []*ComponentRef `protobuf:"bytes,8,rep,name=component_refs,json=componentRefs,proto3" json:"component_refs,omitempty"`
BlockedOnIssueRefs []*IssueRef `protobuf:"bytes,9,rep,name=blocked_on_issue_refs,json=blockedOnIssueRefs,proto3" json:"blocked_on_issue_refs,omitempty"`
BlockingIssueRefs []*IssueRef `protobuf:"bytes,10,rep,name=blocking_issue_refs,json=blockingIssueRefs,proto3" json:"blocking_issue_refs,omitempty"`
DanglingBlockedOnRefs []*IssueRef `protobuf:"bytes,23,rep,name=dangling_blocked_on_refs,json=danglingBlockedOnRefs,proto3" json:"dangling_blocked_on_refs,omitempty"`
DanglingBlockingRefs []*IssueRef `protobuf:"bytes,24,rep,name=dangling_blocking_refs,json=danglingBlockingRefs,proto3" json:"dangling_blocking_refs,omitempty"`
MergedIntoIssueRef *IssueRef `protobuf:"bytes,11,opt,name=merged_into_issue_ref,json=mergedIntoIssueRef,proto3" json:"merged_into_issue_ref,omitempty"`
FieldValues []*FieldValue `protobuf:"bytes,12,rep,name=field_values,json=fieldValues,proto3" json:"field_values,omitempty"`
IsDeleted bool `protobuf:"varint,13,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
ReporterRef *UserRef `protobuf:"bytes,14,opt,name=reporter_ref,json=reporterRef,proto3" json:"reporter_ref,omitempty"`
OpenedTimestamp uint32 `protobuf:"fixed32,15,opt,name=opened_timestamp,json=openedTimestamp,proto3" json:"opened_timestamp,omitempty"`
ClosedTimestamp uint32 `protobuf:"fixed32,16,opt,name=closed_timestamp,json=closedTimestamp,proto3" json:"closed_timestamp,omitempty"`
ModifiedTimestamp uint32 `protobuf:"fixed32,17,opt,name=modified_timestamp,json=modifiedTimestamp,proto3" json:"modified_timestamp,omitempty"`
ComponentModifiedTimestamp uint32 `protobuf:"fixed32,25,opt,name=component_modified_timestamp,json=componentModifiedTimestamp,proto3" json:"component_modified_timestamp,omitempty"`
StatusModifiedTimestamp uint32 `protobuf:"fixed32,26,opt,name=status_modified_timestamp,json=statusModifiedTimestamp,proto3" json:"status_modified_timestamp,omitempty"`
OwnerModifiedTimestamp uint32 `protobuf:"fixed32,27,opt,name=owner_modified_timestamp,json=ownerModifiedTimestamp,proto3" json:"owner_modified_timestamp,omitempty"`
StarCount uint32 `protobuf:"varint,18,opt,name=star_count,json=starCount,proto3" json:"star_count,omitempty"`
IsSpam bool `protobuf:"varint,19,opt,name=is_spam,json=isSpam,proto3" json:"is_spam,omitempty"`
AttachmentCount uint32 `protobuf:"varint,20,opt,name=attachment_count,json=attachmentCount,proto3" json:"attachment_count,omitempty"`
ApprovalValues []*Approval `protobuf:"bytes,21,rep,name=approval_values,json=approvalValues,proto3" json:"approval_values,omitempty"`
Phases []*PhaseDef `protobuf:"bytes,22,rep,name=phases,proto3" json:"phases,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Issue) Reset() { *m = Issue{} }
func (m *Issue) String() string { return proto.CompactTextString(m) }
func (*Issue) ProtoMessage() {}
func (*Issue) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{5}
}
func (m *Issue) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Issue.Unmarshal(m, b)
}
func (m *Issue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Issue.Marshal(b, m, deterministic)
}
func (m *Issue) XXX_Merge(src proto.Message) {
xxx_messageInfo_Issue.Merge(m, src)
}
func (m *Issue) XXX_Size() int {
return xxx_messageInfo_Issue.Size(m)
}
func (m *Issue) XXX_DiscardUnknown() {
xxx_messageInfo_Issue.DiscardUnknown(m)
}
var xxx_messageInfo_Issue proto.InternalMessageInfo
func (m *Issue) GetProjectName() string {
if m != nil {
return m.ProjectName
}
return ""
}
func (m *Issue) GetLocalId() uint32 {
if m != nil {
return m.LocalId
}
return 0
}
func (m *Issue) GetSummary() string {
if m != nil {
return m.Summary
}
return ""
}
func (m *Issue) GetStatusRef() *StatusRef {
if m != nil {
return m.StatusRef
}
return nil
}
func (m *Issue) GetOwnerRef() *UserRef {
if m != nil {
return m.OwnerRef
}
return nil
}
func (m *Issue) GetCcRefs() []*UserRef {
if m != nil {
return m.CcRefs
}
return nil
}
func (m *Issue) GetLabelRefs() []*LabelRef {
if m != nil {
return m.LabelRefs
}
return nil
}
func (m *Issue) GetComponentRefs() []*ComponentRef {
if m != nil {
return m.ComponentRefs
}
return nil
}
func (m *Issue) GetBlockedOnIssueRefs() []*IssueRef {
if m != nil {
return m.BlockedOnIssueRefs
}
return nil
}
func (m *Issue) GetBlockingIssueRefs() []*IssueRef {
if m != nil {
return m.BlockingIssueRefs
}
return nil
}
func (m *Issue) GetDanglingBlockedOnRefs() []*IssueRef {
if m != nil {
return m.DanglingBlockedOnRefs
}
return nil
}
func (m *Issue) GetDanglingBlockingRefs() []*IssueRef {
if m != nil {
return m.DanglingBlockingRefs
}
return nil
}
func (m *Issue) GetMergedIntoIssueRef() *IssueRef {
if m != nil {
return m.MergedIntoIssueRef
}
return nil
}
func (m *Issue) GetFieldValues() []*FieldValue {
if m != nil {
return m.FieldValues
}
return nil
}
func (m *Issue) GetIsDeleted() bool {
if m != nil {
return m.IsDeleted
}
return false
}
func (m *Issue) GetReporterRef() *UserRef {
if m != nil {
return m.ReporterRef
}
return nil
}
func (m *Issue) GetOpenedTimestamp() uint32 {
if m != nil {
return m.OpenedTimestamp
}
return 0
}
func (m *Issue) GetClosedTimestamp() uint32 {
if m != nil {
return m.ClosedTimestamp
}
return 0
}
func (m *Issue) GetModifiedTimestamp() uint32 {
if m != nil {
return m.ModifiedTimestamp
}
return 0
}
func (m *Issue) GetComponentModifiedTimestamp() uint32 {
if m != nil {
return m.ComponentModifiedTimestamp
}
return 0
}
func (m *Issue) GetStatusModifiedTimestamp() uint32 {
if m != nil {
return m.StatusModifiedTimestamp
}
return 0
}
func (m *Issue) GetOwnerModifiedTimestamp() uint32 {
if m != nil {
return m.OwnerModifiedTimestamp
}
return 0
}
func (m *Issue) GetStarCount() uint32 {
if m != nil {
return m.StarCount
}
return 0
}
func (m *Issue) GetIsSpam() bool {
if m != nil {
return m.IsSpam
}
return false
}
func (m *Issue) GetAttachmentCount() uint32 {
if m != nil {
return m.AttachmentCount
}
return 0
}
func (m *Issue) GetApprovalValues() []*Approval {
if m != nil {
return m.ApprovalValues
}
return nil
}
func (m *Issue) GetPhases() []*PhaseDef {
if m != nil {
return m.Phases
}
return nil
}
// Next available tag: 18
type IssueDelta struct {
// Note: We use StringValue instead of string so that we can
// check if delta.HasField('status'). Proto3 only allows that
// for nested messages and provides "boxed" values for this purpose.
// In JSON, a StringValue is represented as a simple string.
Status *wrappers.StringValue `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
OwnerRef *UserRef `protobuf:"bytes,2,opt,name=owner_ref,json=ownerRef,proto3" json:"owner_ref,omitempty"`
CcRefsAdd []*UserRef `protobuf:"bytes,3,rep,name=cc_refs_add,json=ccRefsAdd,proto3" json:"cc_refs_add,omitempty"`
CcRefsRemove []*UserRef `protobuf:"bytes,4,rep,name=cc_refs_remove,json=ccRefsRemove,proto3" json:"cc_refs_remove,omitempty"`
CompRefsAdd []*ComponentRef `protobuf:"bytes,5,rep,name=comp_refs_add,json=compRefsAdd,proto3" json:"comp_refs_add,omitempty"`
CompRefsRemove []*ComponentRef `protobuf:"bytes,6,rep,name=comp_refs_remove,json=compRefsRemove,proto3" json:"comp_refs_remove,omitempty"`
LabelRefsAdd []*LabelRef `protobuf:"bytes,7,rep,name=label_refs_add,json=labelRefsAdd,proto3" json:"label_refs_add,omitempty"`
LabelRefsRemove []*LabelRef `protobuf:"bytes,8,rep,name=label_refs_remove,json=labelRefsRemove,proto3" json:"label_refs_remove,omitempty"`
FieldValsAdd []*FieldValue `protobuf:"bytes,9,rep,name=field_vals_add,json=fieldValsAdd,proto3" json:"field_vals_add,omitempty"`
FieldValsRemove []*FieldValue `protobuf:"bytes,10,rep,name=field_vals_remove,json=fieldValsRemove,proto3" json:"field_vals_remove,omitempty"`
FieldsClear []*FieldRef `protobuf:"bytes,11,rep,name=fields_clear,json=fieldsClear,proto3" json:"fields_clear,omitempty"`
BlockedOnRefsAdd []*IssueRef `protobuf:"bytes,12,rep,name=blocked_on_refs_add,json=blockedOnRefsAdd,proto3" json:"blocked_on_refs_add,omitempty"`
BlockedOnRefsRemove []*IssueRef `protobuf:"bytes,13,rep,name=blocked_on_refs_remove,json=blockedOnRefsRemove,proto3" json:"blocked_on_refs_remove,omitempty"`
BlockingRefsAdd []*IssueRef `protobuf:"bytes,14,rep,name=blocking_refs_add,json=blockingRefsAdd,proto3" json:"blocking_refs_add,omitempty"`
BlockingRefsRemove []*IssueRef `protobuf:"bytes,15,rep,name=blocking_refs_remove,json=blockingRefsRemove,proto3" json:"blocking_refs_remove,omitempty"`
MergedIntoRef *IssueRef `protobuf:"bytes,16,opt,name=merged_into_ref,json=mergedIntoRef,proto3" json:"merged_into_ref,omitempty"`
Summary *wrappers.StringValue `protobuf:"bytes,17,opt,name=summary,proto3" json:"summary,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *IssueDelta) Reset() { *m = IssueDelta{} }
func (m *IssueDelta) String() string { return proto.CompactTextString(m) }
func (*IssueDelta) ProtoMessage() {}
func (*IssueDelta) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{6}
}
func (m *IssueDelta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssueDelta.Unmarshal(m, b)
}
func (m *IssueDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssueDelta.Marshal(b, m, deterministic)
}
func (m *IssueDelta) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssueDelta.Merge(m, src)
}
func (m *IssueDelta) XXX_Size() int {
return xxx_messageInfo_IssueDelta.Size(m)
}
func (m *IssueDelta) XXX_DiscardUnknown() {
xxx_messageInfo_IssueDelta.DiscardUnknown(m)
}
var xxx_messageInfo_IssueDelta proto.InternalMessageInfo
func (m *IssueDelta) GetStatus() *wrappers.StringValue {
if m != nil {
return m.Status
}
return nil
}
func (m *IssueDelta) GetOwnerRef() *UserRef {
if m != nil {
return m.OwnerRef
}
return nil
}
func (m *IssueDelta) GetCcRefsAdd() []*UserRef {
if m != nil {
return m.CcRefsAdd
}
return nil
}
func (m *IssueDelta) GetCcRefsRemove() []*UserRef {
if m != nil {
return m.CcRefsRemove
}
return nil
}
func (m *IssueDelta) GetCompRefsAdd() []*ComponentRef {
if m != nil {
return m.CompRefsAdd
}
return nil
}
func (m *IssueDelta) GetCompRefsRemove() []*ComponentRef {
if m != nil {
return m.CompRefsRemove
}
return nil
}
func (m *IssueDelta) GetLabelRefsAdd() []*LabelRef {
if m != nil {
return m.LabelRefsAdd
}
return nil
}
func (m *IssueDelta) GetLabelRefsRemove() []*LabelRef {
if m != nil {
return m.LabelRefsRemove
}
return nil
}
func (m *IssueDelta) GetFieldValsAdd() []*FieldValue {
if m != nil {
return m.FieldValsAdd
}
return nil
}
func (m *IssueDelta) GetFieldValsRemove() []*FieldValue {
if m != nil {
return m.FieldValsRemove
}
return nil
}
func (m *IssueDelta) GetFieldsClear() []*FieldRef {
if m != nil {
return m.FieldsClear
}
return nil
}
func (m *IssueDelta) GetBlockedOnRefsAdd() []*IssueRef {
if m != nil {
return m.BlockedOnRefsAdd
}
return nil
}
func (m *IssueDelta) GetBlockedOnRefsRemove() []*IssueRef {
if m != nil {
return m.BlockedOnRefsRemove
}
return nil
}
func (m *IssueDelta) GetBlockingRefsAdd() []*IssueRef {
if m != nil {
return m.BlockingRefsAdd
}
return nil
}
func (m *IssueDelta) GetBlockingRefsRemove() []*IssueRef {
if m != nil {
return m.BlockingRefsRemove
}
return nil
}
func (m *IssueDelta) GetMergedIntoRef() *IssueRef {
if m != nil {
return m.MergedIntoRef
}
return nil
}
func (m *IssueDelta) GetSummary() *wrappers.StringValue {
if m != nil {
return m.Summary
}
return nil
}
// Next available tag: 7
type ApprovalDelta struct {
Status ApprovalStatus `protobuf:"varint,1,opt,name=status,proto3,enum=monorail.ApprovalStatus" json:"status,omitempty"`
ApproverRefsAdd []*UserRef `protobuf:"bytes,2,rep,name=approver_refs_add,json=approverRefsAdd,proto3" json:"approver_refs_add,omitempty"`
ApproverRefsRemove []*UserRef `protobuf:"bytes,3,rep,name=approver_refs_remove,json=approverRefsRemove,proto3" json:"approver_refs_remove,omitempty"`
FieldValsAdd []*FieldValue `protobuf:"bytes,4,rep,name=field_vals_add,json=fieldValsAdd,proto3" json:"field_vals_add,omitempty"`
FieldValsRemove []*FieldValue `protobuf:"bytes,5,rep,name=field_vals_remove,json=fieldValsRemove,proto3" json:"field_vals_remove,omitempty"`
FieldsClear []*FieldRef `protobuf:"bytes,6,rep,name=fields_clear,json=fieldsClear,proto3" json:"fields_clear,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ApprovalDelta) Reset() { *m = ApprovalDelta{} }
func (m *ApprovalDelta) String() string { return proto.CompactTextString(m) }
func (*ApprovalDelta) ProtoMessage() {}
func (*ApprovalDelta) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{7}
}
func (m *ApprovalDelta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ApprovalDelta.Unmarshal(m, b)
}
func (m *ApprovalDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ApprovalDelta.Marshal(b, m, deterministic)
}
func (m *ApprovalDelta) XXX_Merge(src proto.Message) {
xxx_messageInfo_ApprovalDelta.Merge(m, src)
}
func (m *ApprovalDelta) XXX_Size() int {
return xxx_messageInfo_ApprovalDelta.Size(m)
}
func (m *ApprovalDelta) XXX_DiscardUnknown() {
xxx_messageInfo_ApprovalDelta.DiscardUnknown(m)
}
var xxx_messageInfo_ApprovalDelta proto.InternalMessageInfo
func (m *ApprovalDelta) GetStatus() ApprovalStatus {
if m != nil {
return m.Status
}
return ApprovalStatus_NOT_SET
}
func (m *ApprovalDelta) GetApproverRefsAdd() []*UserRef {
if m != nil {
return m.ApproverRefsAdd
}
return nil
}
func (m *ApprovalDelta) GetApproverRefsRemove() []*UserRef {
if m != nil {
return m.ApproverRefsRemove
}
return nil
}
func (m *ApprovalDelta) GetFieldValsAdd() []*FieldValue {
if m != nil {
return m.FieldValsAdd
}
return nil
}
func (m *ApprovalDelta) GetFieldValsRemove() []*FieldValue {
if m != nil {
return m.FieldValsRemove
}
return nil
}
func (m *ApprovalDelta) GetFieldsClear() []*FieldRef {
if m != nil {
return m.FieldsClear
}
return nil
}
// Next available tag: 3
type AttachmentUpload struct {
Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AttachmentUpload) Reset() { *m = AttachmentUpload{} }
func (m *AttachmentUpload) String() string { return proto.CompactTextString(m) }
func (*AttachmentUpload) ProtoMessage() {}
func (*AttachmentUpload) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{8}
}
func (m *AttachmentUpload) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AttachmentUpload.Unmarshal(m, b)
}
func (m *AttachmentUpload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AttachmentUpload.Marshal(b, m, deterministic)
}
func (m *AttachmentUpload) XXX_Merge(src proto.Message) {
xxx_messageInfo_AttachmentUpload.Merge(m, src)
}
func (m *AttachmentUpload) XXX_Size() int {
return xxx_messageInfo_AttachmentUpload.Size(m)
}
func (m *AttachmentUpload) XXX_DiscardUnknown() {
xxx_messageInfo_AttachmentUpload.DiscardUnknown(m)
}
var xxx_messageInfo_AttachmentUpload proto.InternalMessageInfo
func (m *AttachmentUpload) GetFilename() string {
if m != nil {
return m.Filename
}
return ""
}
func (m *AttachmentUpload) GetContent() []byte {
if m != nil {
return m.Content
}
return nil
}
// Next available tag: 4
type IssueSummary struct {
ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
LocalId uint32 `protobuf:"varint,2,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *IssueSummary) Reset() { *m = IssueSummary{} }
func (m *IssueSummary) String() string { return proto.CompactTextString(m) }
func (*IssueSummary) ProtoMessage() {}
func (*IssueSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{9}
}
func (m *IssueSummary) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IssueSummary.Unmarshal(m, b)
}
func (m *IssueSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IssueSummary.Marshal(b, m, deterministic)
}
func (m *IssueSummary) XXX_Merge(src proto.Message) {
xxx_messageInfo_IssueSummary.Merge(m, src)
}
func (m *IssueSummary) XXX_Size() int {
return xxx_messageInfo_IssueSummary.Size(m)
}
func (m *IssueSummary) XXX_DiscardUnknown() {
xxx_messageInfo_IssueSummary.DiscardUnknown(m)
}
var xxx_messageInfo_IssueSummary proto.InternalMessageInfo
func (m *IssueSummary) GetProjectName() string {
if m != nil {
return m.ProjectName
}
return ""
}
func (m *IssueSummary) GetLocalId() uint32 {
if m != nil {
return m.LocalId
}
return 0
}
func (m *IssueSummary) GetSummary() string {
if m != nil {
return m.Summary
}
return ""
}
// Next available tag: 3
type PhaseDef struct {
PhaseRef *PhaseRef `protobuf:"bytes,1,opt,name=phase_ref,json=phaseRef,proto3" json:"phase_ref,omitempty"`
Rank uint32 `protobuf:"varint,2,opt,name=rank,proto3" json:"rank,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PhaseDef) Reset() { *m = PhaseDef{} }
func (m *PhaseDef) String() string { return proto.CompactTextString(m) }
func (*PhaseDef) ProtoMessage() {}
func (*PhaseDef) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{10}
}
func (m *PhaseDef) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PhaseDef.Unmarshal(m, b)
}
func (m *PhaseDef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PhaseDef.Marshal(b, m, deterministic)
}
func (m *PhaseDef) XXX_Merge(src proto.Message) {
xxx_messageInfo_PhaseDef.Merge(m, src)
}
func (m *PhaseDef) XXX_Size() int {
return xxx_messageInfo_PhaseDef.Size(m)
}
func (m *PhaseDef) XXX_DiscardUnknown() {
xxx_messageInfo_PhaseDef.DiscardUnknown(m)
}
var xxx_messageInfo_PhaseDef proto.InternalMessageInfo
func (m *PhaseDef) GetPhaseRef() *PhaseRef {
if m != nil {
return m.PhaseRef
}
return nil
}
func (m *PhaseDef) GetRank() uint32 {
if m != nil {
return m.Rank
}
return 0
}
// Next available tag: 2
type PhaseRef struct {
PhaseName string `protobuf:"bytes,1,opt,name=phase_name,json=phaseName,proto3" json:"phase_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PhaseRef) Reset() { *m = PhaseRef{} }
func (m *PhaseRef) String() string { return proto.CompactTextString(m) }
func (*PhaseRef) ProtoMessage() {}
func (*PhaseRef) Descriptor() ([]byte, []int) {
return fileDescriptor_8ab61f0576fd6c44, []int{11}
}
func (m *PhaseRef) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PhaseRef.Unmarshal(m, b)
}
func (m *PhaseRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PhaseRef.Marshal(b, m, deterministic)
}
func (m *PhaseRef) XXX_Merge(src proto.Message) {
xxx_messageInfo_PhaseRef.Merge(m, src)
}
func (m *PhaseRef) XXX_Size() int {
return xxx_messageInfo_PhaseRef.Size(m)
}
func (m *PhaseRef) XXX_DiscardUnknown() {
xxx_messageInfo_PhaseRef.DiscardUnknown(m)
}
var xxx_messageInfo_PhaseRef proto.InternalMessageInfo
func (m *PhaseRef) GetPhaseName() string {
if m != nil {
return m.PhaseName
}
return ""
}
func init() {
proto.RegisterEnum("monorail.ApprovalStatus", ApprovalStatus_name, ApprovalStatus_value)
proto.RegisterEnum("monorail.SearchScope", SearchScope_name, SearchScope_value)
proto.RegisterType((*Approval)(nil), "monorail.Approval")
proto.RegisterType((*Amendment)(nil), "monorail.Amendment")
proto.RegisterType((*Attachment)(nil), "monorail.Attachment")
proto.RegisterType((*Comment)(nil), "monorail.Comment")
proto.RegisterType((*FieldValue)(nil), "monorail.FieldValue")
proto.RegisterType((*Issue)(nil), "monorail.Issue")
proto.RegisterType((*IssueDelta)(nil), "monorail.IssueDelta")
proto.RegisterType((*ApprovalDelta)(nil), "monorail.ApprovalDelta")
proto.RegisterType((*AttachmentUpload)(nil), "monorail.AttachmentUpload")
proto.RegisterType((*IssueSummary)(nil), "monorail.IssueSummary")
proto.RegisterType((*PhaseDef)(nil), "monorail.PhaseDef")
proto.RegisterType((*PhaseRef)(nil), "monorail.PhaseRef")
}
func init() {
proto.RegisterFile("api/api_proto/issue_objects.proto", fileDescriptor_8ab61f0576fd6c44)
}
var fileDescriptor_8ab61f0576fd6c44 = []byte{
// 1768 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x92, 0xdb, 0xc6,
0x11, 0x36, 0xb9, 0xfc, 0x6d, 0x82, 0x24, 0x38, 0x5a, 0xad, 0xa1, 0xb5, 0x94, 0x92, 0x98, 0x83,
0x25, 0xa5, 0xb2, 0x2b, 0xcb, 0xbf, 0xe5, 0x94, 0x5d, 0xa6, 0x77, 0xa9, 0x78, 0x2b, 0x32, 0xb9,
0x01, 0x77, 0xe5, 0xca, 0x25, 0xa8, 0x21, 0x30, 0xa4, 0x10, 0x03, 0x18, 0x04, 0x03, 0xee, 0x96,
0xf2, 0x00, 0x39, 0x27, 0x4f, 0x90, 0x43, 0x1e, 0x23, 0x4f, 0x93, 0xd7, 0xc8, 0x29, 0x35, 0x3d,
0x83, 0x1f, 0x52, 0xc2, 0x4a, 0x29, 0x55, 0x6e, 0xc3, 0xee, 0xfe, 0xba, 0x7b, 0x1a, 0xdd, 0xdf,
0xcc, 0x10, 0x1e, 0xd0, 0xd8, 0x3f, 0xa6, 0xb1, 0xef, 0xc4, 0x09, 0x4f, 0xf9, 0xb1, 0x2f, 0xc4,
0x86, 0x39, 0x7c, 0xf9, 0x27, 0xe6, 0xa6, 0xe2, 0x08, 0x65, 0xa4, 0x13, 0xf2, 0x88, 0x27, 0xd4,
0x0f, 0x0e, 0x7f, 0xb1, 0xe6, 0x7c, 0x1d, 0xb0, 0x63, 0x94, 0x2f, 0x37, 0xab, 0xe3, 0xeb, 0x84,
0xc6, 0x31, 0x4b, 0xb4, 0xe5, 0xe1, 0xe1, 0xb6, 0x33, 0x97, 0x87, 0x21, 0x8f, 0x94, 0x6e, 0xfc,
0x8f, 0x3a, 0x74, 0x26, 0x71, 0x9c, 0xf0, 0x2b, 0x1a, 0x90, 0x63, 0xe8, 0xae, 0x7c, 0x16, 0x78,
0x4e, 0xc2, 0x56, 0x56, 0xed, 0x7e, 0xed, 0x61, 0xef, 0x29, 0x39, 0xca, 0xc2, 0x1c, 0x3d, 0x93,
0x2a, 0x9b, 0xad, 0xec, 0xce, 0x4a, 0xaf, 0xc8, 0x17, 0xd0, 0xa7, 0x08, 0x66, 0x89, 0xc4, 0x08,
0xab, 0x7e, 0x7f, 0xef, 0x61, 0xef, 0xe9, 0xa8, 0x00, 0x5d, 0x0a, 0x96, 0x48, 0x8c, 0x91, 0xd9,
0xd9, 0x6c, 0x25, 0xc8, 0x13, 0x68, 0x89, 0x94, 0xa6, 0x1b, 0x61, 0xed, 0xdd, 0xaf, 0x3d, 0x1c,
0x3c, 0xb5, 0x0a, 0x40, 0x96, 0xcc, 0x02, 0xf5, 0xb6, 0xb6, 0x23, 0xb7, 0xa1, 0x25, 0x58, 0xea,
0xf0, 0xc8, 0x6a, 0xdc, 0xaf, 0x3d, 0x6c, 0xdb, 0x4d, 0xc1, 0xd2, 0x79, 0x44, 0x9e, 0x00, 0x08,
0x96, 0xa6, 0x2a, 0xbc, 0xd5, 0xc4, 0x94, 0xdf, 0x10, 0xbd, 0xab, 0x8c, 0x64, 0xca, 0xc7, 0xd0,
0x8d, 0x5f, 0x52, 0xc1, 0x10, 0xd0, 0xde, 0xdd, 0xe3, 0xb9, 0x54, 0xe1, 0x1e, 0x63, 0xbd, 0x1a,
0xa7, 0xd0, 0x9d, 0x84, 0x2c, 0xf2, 0x42, 0x16, 0xa5, 0xe4, 0x1e, 0x80, 0xaa, 0x50, 0x44, 0x43,
0x86, 0x25, 0xea, 0xda, 0xaa, 0x66, 0x33, 0x1a, 0x32, 0xf2, 0x2b, 0x20, 0x11, 0xbb, 0x76, 0x78,
0xe2, 0x78, 0x2c, 0x48, 0xa9, 0x73, 0x45, 0x83, 0x0d, 0xb3, 0xea, 0x68, 0x36, 0x8c, 0xd8, 0xf5,
0x3c, 0x39, 0x95, 0xf2, 0x17, 0x52, 0x4c, 0x3e, 0x82, 0x2e, 0x0f, 0x3c, 0x6d, 0xb3, 0x87, 0x36,
0x1d, 0x1e, 0x78, 0xa8, 0x1c, 0xff, 0xb5, 0x0e, 0x30, 0x49, 0x53, 0xea, 0xbe, 0xc4, 0xb8, 0xbf,
0x84, 0x3e, 0xcd, 0x7f, 0x39, 0xbe, 0x87, 0xa1, 0x1b, 0xb6, 0x51, 0x08, 0xcf, 0x3c, 0x72, 0x08,
0x9d, 0x95, 0x1f, 0x30, 0x4c, 0x4d, 0xc5, 0xcc, 0x7f, 0x13, 0x02, 0x0d, 0xe1, 0xff, 0x45, 0xc5,
0x69, 0xd8, 0xb8, 0x26, 0x0f, 0xc0, 0x70, 0x79, 0x94, 0x4a, 0x8f, 0xe9, 0xab, 0x98, 0x61, 0x65,
0xbb, 0x76, 0x4f, 0xcb, 0x2e, 0x5e, 0xc5, 0x4c, 0xee, 0xd7, 0x17, 0x72, 0x33, 0x2c, 0x65, 0x1e,
0xd6, 0xb7, 0x63, 0x77, 0x7d, 0x71, 0xaa, 0x04, 0x32, 0xad, 0xf4, 0xe5, 0x26, 0x5c, 0x46, 0xd4,
0x0f, 0x9c, 0x4d, 0x12, 0x58, 0x2d, 0x74, 0x61, 0xe4, 0xc2, 0xcb, 0x24, 0x20, 0x77, 0xa0, 0x73,
0xe5, 0xb3, 0x6b, 0xd4, 0xb7, 0x51, 0xdf, 0x96, 0xbf, 0xa5, 0xea, 0x01, 0x18, 0x1e, 0xbf, 0x8e,
0x02, 0x4e, 0x3d, 0x54, 0x77, 0x54, 0x06, 0x99, 0xec, 0x32, 0x09, 0xc6, 0xff, 0x6a, 0x40, 0xfb,
0x84, 0x87, 0x58, 0x85, 0x07, 0x60, 0xc4, 0x09, 0x97, 0x43, 0x50, 0xae, 0x7f, 0x4f, 0xcb, 0xf0,
0x0b, 0xdc, 0x81, 0x4e, 0xc0, 0x5d, 0x1a, 0xc8, 0x1a, 0xc9, 0x1a, 0xf4, 0xed, 0x36, 0xfe, 0x3e,
0xf3, 0x24, 0x5a, 0xb0, 0x3f, 0x6f, 0x58, 0xe4, 0x32, 0x27, 0xda, 0x84, 0x58, 0x8a, 0xbe, 0xdd,
0xcb, 0x64, 0xb3, 0x4d, 0xb8, 0xb3, 0xdd, 0xc6, 0xee, 0x76, 0x8f, 0xa1, 0xeb, 0xaa, 0x54, 0x58,
0x72, 0x43, 0xb3, 0xe5, 0x36, 0xe4, 0x2e, 0x74, 0x53, 0x3f, 0x64, 0x22, 0xa5, 0x61, 0x8c, 0xb5,
0x69, 0xdb, 0x85, 0x80, 0x58, 0xd0, 0xd6, 0xb5, 0xce, 0xea, 0xa2, 0x7f, 0x92, 0x8f, 0x61, 0xe8,
0x47, 0x4b, 0xbe, 0x89, 0x3c, 0x27, 0x64, 0x42, 0xd0, 0x35, 0xd3, 0xa5, 0x19, 0x68, 0xf1, 0x8f,
0x4a, 0x4a, 0x3e, 0x05, 0xa0, 0x59, 0x73, 0x0a, 0xab, 0x8b, 0xd3, 0x77, 0xab, 0x34, 0x4c, 0x99,
0xce, 0x2e, 0x99, 0x91, 0x2f, 0xa0, 0x57, 0xf4, 0x8d, 0xb0, 0x00, 0x51, 0xfb, 0x25, 0x54, 0xae,
0xb4, 0xcb, 0x86, 0xe4, 0x73, 0xd0, 0x53, 0x4c, 0x03, 0x9c, 0x9e, 0x5e, 0x25, 0x43, 0xf4, 0x32,
0x3b, 0x39, 0x71, 0x1f, 0xc3, 0xd0, 0x63, 0xc2, 0x4d, 0xfc, 0x38, 0xf5, 0x79, 0x84, 0xa5, 0x37,
0xb0, 0xf4, 0x83, 0x92, 0x58, 0x56, 0xff, 0x43, 0x68, 0xfb, 0xc2, 0x11, 0x31, 0x0d, 0xad, 0x3e,
0x96, 0xbe, 0xe5, 0x8b, 0x45, 0x4c, 0xf1, 0xb3, 0xb8, 0x34, 0xd2, 0xdf, 0xc5, 0x1a, 0xa8, 0xcf,
0xe2, 0xd2, 0x48, 0x7d, 0x17, 0xf9, 0xcd, 0xa5, 0x7a, 0x15, 0xd0, 0xb5, 0x35, 0x44, 0x65, 0xdb,
0xa5, 0xd1, 0xb3, 0x80, 0xae, 0xc7, 0xff, 0xac, 0x01, 0x60, 0x56, 0x6a, 0xe4, 0xfe, 0x67, 0x82,
0xdb, 0x87, 0x66, 0x79, 0x86, 0xd5, 0x8f, 0xbc, 0x4d, 0x12, 0xff, 0x8a, 0x79, 0xd8, 0x47, 0xba,
0x4d, 0x50, 0xb0, 0x4d, 0x31, 0x8d, 0x77, 0xa0, 0x98, 0x7f, 0x03, 0x34, 0xcf, 0x24, 0xc5, 0xbf,
0x67, 0x87, 0x5b, 0xd0, 0x16, 0x9b, 0x30, 0xa4, 0xc9, 0x2b, 0xcd, 0x27, 0xd9, 0x4f, 0xf2, 0x14,
0x40, 0x11, 0x69, 0x29, 0xa7, 0x52, 0x9f, 0x68, 0xb2, 0x45, 0xa6, 0xcc, 0x96, 0xe4, 0x08, 0xba,
0xfc, 0x3a, 0x7a, 0x1b, 0xb5, 0x76, 0xd0, 0x46, 0xda, 0x3f, 0x86, 0xb6, 0xeb, 0xaa, 0x63, 0xa0,
0x55, 0x75, 0x0c, 0xb4, 0x5c, 0x17, 0x0f, 0x80, 0x4f, 0x00, 0x02, 0xba, 0x64, 0x81, 0x32, 0x6f,
0xa3, 0x79, 0xa9, 0x46, 0xcf, 0xa5, 0x0e, 0xd3, 0x09, 0xf4, 0x4a, 0x90, 0x6f, 0x60, 0xe0, 0xf2,
0x30, 0xe6, 0x91, 0xe4, 0x2b, 0x84, 0x75, 0x10, 0x76, 0x50, 0xc0, 0x4e, 0x32, 0xbd, 0x84, 0xf6,
0xdd, 0xd2, 0x2f, 0x41, 0xa6, 0x70, 0x7b, 0x19, 0x70, 0xf7, 0x67, 0xe6, 0x39, 0x3c, 0x72, 0xd4,
0x81, 0x8a, 0x5e, 0xba, 0xbb, 0xc1, 0xf1, 0x4b, 0x48, 0x0f, 0x44, 0x03, 0xe6, 0x51, 0x26, 0x12,
0xe4, 0x7b, 0xb8, 0x85, 0x52, 0x3f, 0x5a, 0x97, 0x9d, 0x40, 0xa5, 0x93, 0x51, 0x66, 0x5e, 0xf8,
0xf8, 0x1d, 0x58, 0x1e, 0x8d, 0xd6, 0x81, 0xf4, 0x51, 0xca, 0x09, 0x1d, 0x7d, 0x58, 0xe9, 0xe8,
0x76, 0x86, 0xf9, 0x3e, 0xcb, 0x0a, 0x9d, 0xfd, 0x00, 0x07, 0xdb, 0xce, 0xe4, 0x02, 0x5d, 0x59,
0x95, 0xae, 0xf6, 0xb7, 0x5c, 0xf9, 0xd1, 0x3a, 0xab, 0x50, 0xc8, 0x92, 0x35, 0xf3, 0x1c, 0x3f,
0x4a, 0x79, 0xb1, 0xbb, 0xd7, 0xe7, 0xbc, 0xa8, 0x90, 0x02, 0x9c, 0x45, 0x29, 0xcf, 0x64, 0xe4,
0x4b, 0x30, 0xd4, 0x8c, 0xe1, 0xac, 0x08, 0xcb, 0xd8, 0xa5, 0x97, 0x62, 0x1e, 0xed, 0xde, 0x2a,
0x5f, 0x8b, 0x1d, 0xf2, 0xed, 0xef, 0x92, 0xef, 0x67, 0x60, 0x24, 0x2c, 0xe6, 0x49, 0x76, 0xd8,
0x0f, 0xaa, 0x3a, 0xb2, 0x97, 0x99, 0xc9, 0x6c, 0x1e, 0x81, 0xc9, 0x63, 0x16, 0x31, 0xcf, 0x29,
0x88, 0x78, 0x88, 0x44, 0x3c, 0x54, 0xf2, 0x8b, 0x9c, 0x8e, 0x1f, 0x81, 0xe9, 0x06, 0x5c, 0x6c,
0x99, 0x9a, 0xca, 0x54, 0xc9, 0x0b, 0xd3, 0x5f, 0x03, 0x09, 0xb9, 0xe7, 0xaf, 0xfc, 0x2d, 0xe3,
0x11, 0x1a, 0x8f, 0x32, 0x4d, 0x61, 0xfe, 0x1d, 0xdc, 0x2d, 0x5a, 0xf7, 0x0d, 0xc0, 0x3b, 0x08,
0x3c, 0xcc, 0x6d, 0x7e, 0x7c, 0xcd, 0xc3, 0xd7, 0x70, 0x47, 0xcf, 0xef, 0x1b, 0xe0, 0x87, 0x08,
0xff, 0x50, 0x19, 0xbc, 0x8e, 0xfd, 0x0a, 0x2c, 0x35, 0xc7, 0x6f, 0x80, 0x7e, 0x84, 0xd0, 0x03,
0xd4, 0xbf, 0x8e, 0xbc, 0x87, 0xac, 0x91, 0x38, 0x2e, 0xdf, 0x44, 0xa9, 0x45, 0x90, 0x6c, 0x24,
0x41, 0x24, 0x27, 0x52, 0x50, 0xe6, 0xeb, 0x5b, 0x5b, 0x7c, 0xfd, 0x08, 0xcc, 0xd2, 0x6d, 0x45,
0xa1, 0xf7, 0x11, 0x3d, 0x2c, 0xe4, 0xca, 0xc7, 0x6f, 0x60, 0x98, 0x9f, 0x29, 0xba, 0x61, 0x6e,
0xef, 0xf6, 0x6d, 0x76, 0x25, 0xb4, 0x07, 0x99, 0xa9, 0xee, 0x98, 0xc7, 0xd0, 0x42, 0x0e, 0x15,
0xd6, 0xc1, 0x2e, 0x06, 0x59, 0xf6, 0x54, 0x32, 0x8e, 0xb2, 0x18, 0xff, 0xbd, 0x03, 0x80, 0x3d,
0x8a, 0x37, 0x30, 0xf2, 0x59, 0x7e, 0x03, 0x55, 0xc7, 0xc0, 0xdd, 0x23, 0x75, 0x89, 0x3e, 0xca,
0x2e, 0xd1, 0x47, 0x8b, 0x34, 0xf1, 0xa3, 0xb5, 0xea, 0xd3, 0xec, 0x16, 0xba, 0x45, 0x89, 0xf5,
0xb7, 0x53, 0xe2, 0x27, 0xd0, 0xd3, 0x94, 0xe8, 0x50, 0x4f, 0x9e, 0x14, 0x7b, 0x55, 0x57, 0x06,
0xa4, 0xc5, 0x89, 0xe7, 0x91, 0x2f, 0x61, 0x90, 0x41, 0x12, 0x16, 0xf2, 0x2b, 0x79, 0x2d, 0xab,
0xba, 0x53, 0x2b, 0x94, 0x8d, 0x66, 0xe4, 0x6b, 0x40, 0xc6, 0x2b, 0xa2, 0x35, 0x6f, 0xa4, 0xc7,
0x9e, 0x34, 0xce, 0x82, 0x7e, 0x07, 0x66, 0x81, 0xd5, 0x61, 0x5b, 0x37, 0xc2, 0x07, 0x19, 0x5c,
0x47, 0xff, 0x0a, 0x06, 0x05, 0xa1, 0x63, 0xf8, 0x6a, 0x52, 0x37, 0x72, 0x52, 0x97, 0xb1, 0xbf,
0x85, 0x51, 0x09, 0xa9, 0x83, 0x77, 0x2a, 0xc1, 0xc3, 0x1c, 0x9c, 0xef, 0x7b, 0x90, 0xf3, 0x8d,
0x8a, 0xdc, 0xbd, 0x81, 0x71, 0x8c, 0x8c, 0x71, 0xf4, 0xbe, 0x47, 0x25, 0xac, 0x8e, 0x0d, 0x37,
0xc0, 0x87, 0x39, 0x5c, 0x47, 0xff, 0x5c, 0xb3, 0x9d, 0x70, 0xdc, 0x80, 0xd1, 0xc4, 0xea, 0xed,
0x26, 0x5e, 0xdc, 0x89, 0x94, 0xdd, 0x89, 0x34, 0x23, 0x13, 0x7d, 0x8c, 0x14, 0xcc, 0x8f, 0x99,
0x1b, 0x95, 0x94, 0x6d, 0x2e, 0xcb, 0xac, 0x2f, 0x73, 0xff, 0x2d, 0x1c, 0xec, 0xba, 0xd0, 0x1b,
0xe8, 0x57, 0x7a, 0xb9, 0xb5, 0xe5, 0x45, 0x6f, 0xe1, 0x5b, 0x18, 0x6d, 0x1d, 0x1c, 0x98, 0xc9,
0xa0, 0xd2, 0xc7, 0x70, 0x59, 0x3a, 0x34, 0x64, 0x22, 0xa7, 0xb0, 0xbf, 0x8d, 0xd7, 0x69, 0x0c,
0xdf, 0x72, 0xb0, 0x6a, 0x17, 0xf9, 0x67, 0x1c, 0x96, 0x4f, 0x1f, 0x39, 0x60, 0x66, 0xe5, 0xb9,
0xd3, 0x2f, 0xce, 0x1d, 0xf5, 0x0c, 0xcd, 0xef, 0x3d, 0xa3, 0x77, 0x98, 0xe6, 0xcc, 0x78, 0xfc,
0x9f, 0x3a, 0xf4, 0x33, 0x72, 0x51, 0xb4, 0xf0, 0x64, 0x8b, 0x16, 0xde, 0xe5, 0x61, 0xfa, 0x0d,
0x8c, 0xb6, 0x9e, 0xc0, 0x58, 0xbd, 0xca, 0x67, 0xf0, 0xb0, 0xfc, 0x0c, 0x96, 0xc5, 0x3b, 0x81,
0xfd, 0x6d, 0xb8, 0x2e, 0x5e, 0x25, 0x55, 0x90, 0xb2, 0x87, 0xca, 0x11, 0x68, 0xbc, 0xdf, 0x08,
0x34, 0xdf, 0x67, 0x04, 0x5a, 0xef, 0x34, 0x02, 0xe3, 0x1f, 0xc0, 0x2c, 0x1e, 0x1a, 0x97, 0xb1,
0x7c, 0xef, 0x6d, 0xbd, 0x60, 0x6b, 0x3b, 0x2f, 0xd8, 0xd2, 0x6b, 0x49, 0x32, 0xaf, 0x91, 0xbf,
0x96, 0xc6, 0x2b, 0x30, 0xb0, 0x33, 0x16, 0xfa, 0xb2, 0xfb, 0x7f, 0xba, 0x44, 0x8f, 0xe7, 0xd0,
0xc9, 0x8e, 0x95, 0xed, 0x3b, 0x7e, 0xed, 0xed, 0x77, 0x7c, 0xf9, 0x00, 0x4f, 0x68, 0xf4, 0xb3,
0x8e, 0x86, 0xeb, 0xf1, 0x23, 0xed, 0x50, 0xea, 0xef, 0x01, 0x28, 0x87, 0xe5, 0x7f, 0x16, 0x50,
0x22, 0x13, 0x7e, 0xfc, 0xb7, 0x1a, 0x0c, 0xb6, 0x3b, 0x90, 0xf4, 0xa0, 0x3d, 0x9b, 0x5f, 0x38,
0x8b, 0xe9, 0x85, 0xf9, 0x01, 0x31, 0xc1, 0x98, 0x4d, 0xa7, 0xa7, 0x0b, 0xc7, 0x9e, 0xbe, 0x38,
0x9b, 0xfe, 0x64, 0xd6, 0x48, 0x0b, 0xea, 0xb3, 0x89, 0x59, 0x27, 0xfb, 0x60, 0x2a, 0x99, 0x63,
0x4f, 0x7f, 0x7f, 0x39, 0x5d, 0x5c, 0x4c, 0x4f, 0xcd, 0x3d, 0x42, 0x60, 0xa0, 0xa5, 0x8b, 0x8b,
0x89, 0x2d, 0x65, 0x0d, 0xd2, 0x87, 0xae, 0xf4, 0xe1, 0x9c, 0xcd, 0x9e, 0xcd, 0xcd, 0x26, 0x31,
0xa0, 0x33, 0x39, 0x3f, 0xb7, 0xe7, 0x2f, 0xa6, 0xa7, 0x66, 0x0b, 0x03, 0xcc, 0x2f, 0x9c, 0x5c,
0xd2, 0x7e, 0xfc, 0x47, 0xe8, 0x2d, 0x18, 0x4d, 0xdc, 0x97, 0x0b, 0x97, 0xc7, 0x8c, 0xb4, 0x61,
0x6f, 0xf2, 0xfc, 0xb9, 0xf9, 0x81, 0x5c, 0xcc, 0x30, 0x83, 0x0e, 0x34, 0xe6, 0xe7, 0xd3, 0x99,
0x59, 0x27, 0x5d, 0x68, 0xce, 0x7f, 0x9a, 0x61, 0x60, 0x03, 0x3a, 0xf6, 0xf4, 0x7c, 0xae, 0x43,
0xf6, 0xa0, 0x2d, 0xe3, 0xdb, 0xd3, 0x53, 0xb3, 0x29, 0xe3, 0x5f, 0xcc, 0x9d, 0x17, 0x53, 0xfb,
0xec, 0xd9, 0x1f, 0xcc, 0xd6, 0xb2, 0x85, 0xc3, 0xfb, 0xe9, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff,
0xb2, 0x4d, 0x83, 0x9e, 0x0c, 0x13, 0x00, 0x00,
}