1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/genomics/v1/readalignment.proto
3
4package genomics
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	_struct "github.com/golang/protobuf/ptypes/struct"
12	_ "google.golang.org/genproto/googleapis/api/annotations"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26// A linear alignment can be represented by one CIGAR string. Describes the
27// mapped position and local alignment of the read to the reference.
28type LinearAlignment struct {
29	// The position of this alignment.
30	Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
31	// The mapping quality of this alignment. Represents how likely
32	// the read maps to this position as opposed to other locations.
33	//
34	// Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
35	// the nearest integer.
36	MappingQuality int32 `protobuf:"varint,2,opt,name=mapping_quality,json=mappingQuality,proto3" json:"mapping_quality,omitempty"`
37	// Represents the local alignment of this sequence (alignment matches, indels,
38	// etc) against the reference.
39	Cigar                []*CigarUnit `protobuf:"bytes,3,rep,name=cigar,proto3" json:"cigar,omitempty"`
40	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
41	XXX_unrecognized     []byte       `json:"-"`
42	XXX_sizecache        int32        `json:"-"`
43}
44
45func (m *LinearAlignment) Reset()         { *m = LinearAlignment{} }
46func (m *LinearAlignment) String() string { return proto.CompactTextString(m) }
47func (*LinearAlignment) ProtoMessage()    {}
48func (*LinearAlignment) Descriptor() ([]byte, []int) {
49	return fileDescriptor_5882c5c7543d07e3, []int{0}
50}
51
52func (m *LinearAlignment) XXX_Unmarshal(b []byte) error {
53	return xxx_messageInfo_LinearAlignment.Unmarshal(m, b)
54}
55func (m *LinearAlignment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
56	return xxx_messageInfo_LinearAlignment.Marshal(b, m, deterministic)
57}
58func (m *LinearAlignment) XXX_Merge(src proto.Message) {
59	xxx_messageInfo_LinearAlignment.Merge(m, src)
60}
61func (m *LinearAlignment) XXX_Size() int {
62	return xxx_messageInfo_LinearAlignment.Size(m)
63}
64func (m *LinearAlignment) XXX_DiscardUnknown() {
65	xxx_messageInfo_LinearAlignment.DiscardUnknown(m)
66}
67
68var xxx_messageInfo_LinearAlignment proto.InternalMessageInfo
69
70func (m *LinearAlignment) GetPosition() *Position {
71	if m != nil {
72		return m.Position
73	}
74	return nil
75}
76
77func (m *LinearAlignment) GetMappingQuality() int32 {
78	if m != nil {
79		return m.MappingQuality
80	}
81	return 0
82}
83
84func (m *LinearAlignment) GetCigar() []*CigarUnit {
85	if m != nil {
86		return m.Cigar
87	}
88	return nil
89}
90
91// A read alignment describes a linear alignment of a string of DNA to a
92// [reference sequence][google.genomics.v1.Reference], in addition to metadata
93// about the fragment (the molecule of DNA sequenced) and the read (the bases
94// which were read by the sequencer). A read is equivalent to a line in a SAM
95// file. A read belongs to exactly one read group and exactly one
96// [read group set][google.genomics.v1.ReadGroupSet].
97//
98// For more genomics resource definitions, see [Fundamentals of Google
99// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
100//
101// ### Reverse-stranded reads
102//
103// Mapped reads (reads having a non-null `alignment`) can be aligned to either
104// the forward or the reverse strand of their associated reference. Strandedness
105// of a mapped read is encoded by `alignment.position.reverseStrand`.
106//
107// If we consider the reference to be a forward-stranded coordinate space of
108// `[0, reference.length)` with `0` as the left-most position and
109// `reference.length` as the right-most position, reads are always aligned left
110// to right. That is, `alignment.position.position` always refers to the
111// left-most reference coordinate and `alignment.cigar` describes the alignment
112// of this read to the reference from left to right. All per-base fields such as
113// `alignedSequence` and `alignedQuality` share this same left-to-right
114// orientation; this is true of reads which are aligned to either strand. For
115// reverse-stranded reads, this means that `alignedSequence` is the reverse
116// complement of the bases that were originally reported by the sequencing
117// machine.
118//
119// ### Generating a reference-aligned sequence string
120//
121// When interacting with mapped reads, it's often useful to produce a string
122// representing the local alignment of the read to reference. The following
123// pseudocode demonstrates one way of doing this:
124//
125//     out = ""
126//     offset = 0
127//     for c in read.alignment.cigar {
128//       switch c.operation {
129//       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
130//         out += read.alignedSequence[offset:offset+c.operationLength]
131//         offset += c.operationLength
132//         break
133//       case "CLIP_SOFT", "INSERT":
134//         offset += c.operationLength
135//         break
136//       case "PAD":
137//         out += repeat("*", c.operationLength)
138//         break
139//       case "DELETE":
140//         out += repeat("-", c.operationLength)
141//         break
142//       case "SKIP":
143//         out += repeat(" ", c.operationLength)
144//         break
145//       case "CLIP_HARD":
146//         break
147//       }
148//     }
149//     return out
150//
151// ### Converting to SAM's CIGAR string
152//
153// The following pseudocode generates a SAM CIGAR string from the
154// `cigar` field. Note that this is a lossy conversion
155// (`cigar.referenceSequence` is lost).
156//
157//     cigarMap = {
158//       "ALIGNMENT_MATCH": "M",
159//       "INSERT": "I",
160//       "DELETE": "D",
161//       "SKIP": "N",
162//       "CLIP_SOFT": "S",
163//       "CLIP_HARD": "H",
164//       "PAD": "P",
165//       "SEQUENCE_MATCH": "=",
166//       "SEQUENCE_MISMATCH": "X",
167//     }
168//     cigarStr = ""
169//     for c in read.alignment.cigar {
170//       cigarStr += c.operationLength + cigarMap[c.operation]
171//     }
172//     return cigarStr
173type Read struct {
174	// The server-generated read ID, unique across all reads. This is different
175	// from the `fragmentName`.
176	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
177	// The ID of the read group this read belongs to. A read belongs to exactly
178	// one read group. This is a server-generated ID which is distinct from SAM's
179	// RG tag (for that value, see
180	// [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
181	ReadGroupId string `protobuf:"bytes,2,opt,name=read_group_id,json=readGroupId,proto3" json:"read_group_id,omitempty"`
182	// The ID of the read group set this read belongs to. A read belongs to
183	// exactly one read group set.
184	ReadGroupSetId string `protobuf:"bytes,3,opt,name=read_group_set_id,json=readGroupSetId,proto3" json:"read_group_set_id,omitempty"`
185	// The fragment name. Equivalent to QNAME (query template name) in SAM.
186	FragmentName string `protobuf:"bytes,4,opt,name=fragment_name,json=fragmentName,proto3" json:"fragment_name,omitempty"`
187	// The orientation and the distance between reads from the fragment are
188	// consistent with the sequencing protocol (SAM flag 0x2).
189	ProperPlacement bool `protobuf:"varint,5,opt,name=proper_placement,json=properPlacement,proto3" json:"proper_placement,omitempty"`
190	// The fragment is a PCR or optical duplicate (SAM flag 0x400).
191	DuplicateFragment bool `protobuf:"varint,6,opt,name=duplicate_fragment,json=duplicateFragment,proto3" json:"duplicate_fragment,omitempty"`
192	// The observed length of the fragment, equivalent to TLEN in SAM.
193	FragmentLength int32 `protobuf:"varint,7,opt,name=fragment_length,json=fragmentLength,proto3" json:"fragment_length,omitempty"`
194	// The read number in sequencing. 0-based and less than numberReads. This
195	// field replaces SAM flag 0x40 and 0x80.
196	ReadNumber int32 `protobuf:"varint,8,opt,name=read_number,json=readNumber,proto3" json:"read_number,omitempty"`
197	// The number of reads in the fragment (extension to SAM flag 0x1).
198	NumberReads int32 `protobuf:"varint,9,opt,name=number_reads,json=numberReads,proto3" json:"number_reads,omitempty"`
199	// Whether this read did not pass filters, such as platform or vendor quality
200	// controls (SAM flag 0x200).
201	FailedVendorQualityChecks bool `protobuf:"varint,10,opt,name=failed_vendor_quality_checks,json=failedVendorQualityChecks,proto3" json:"failed_vendor_quality_checks,omitempty"`
202	// The linear alignment for this alignment record. This field is null for
203	// unmapped reads.
204	Alignment *LinearAlignment `protobuf:"bytes,11,opt,name=alignment,proto3" json:"alignment,omitempty"`
205	// Whether this alignment is secondary. Equivalent to SAM flag 0x100.
206	// A secondary alignment represents an alternative to the primary alignment
207	// for this read. Aligners may return secondary alignments if a read can map
208	// ambiguously to multiple coordinates in the genome. By convention, each read
209	// has one and only one alignment where both `secondaryAlignment`
210	// and `supplementaryAlignment` are false.
211	SecondaryAlignment bool `protobuf:"varint,12,opt,name=secondary_alignment,json=secondaryAlignment,proto3" json:"secondary_alignment,omitempty"`
212	// Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
213	// Supplementary alignments are used in the representation of a chimeric
214	// alignment. In a chimeric alignment, a read is split into multiple
215	// linear alignments that map to different reference contigs. The first
216	// linear alignment in the read will be designated as the representative
217	// alignment; the remaining linear alignments will be designated as
218	// supplementary alignments. These alignments may have different mapping
219	// quality scores. In each linear alignment in a chimeric alignment, the read
220	// will be hard clipped. The `alignedSequence` and
221	// `alignedQuality` fields in the alignment record will only
222	// represent the bases for its respective linear alignment.
223	SupplementaryAlignment bool `protobuf:"varint,13,opt,name=supplementary_alignment,json=supplementaryAlignment,proto3" json:"supplementary_alignment,omitempty"`
224	// The bases of the read sequence contained in this alignment record,
225	// **without CIGAR operations applied** (equivalent to SEQ in SAM).
226	// `alignedSequence` and `alignedQuality` may be
227	// shorter than the full read sequence and quality. This will occur if the
228	// alignment is part of a chimeric alignment, or if the read was trimmed. When
229	// this occurs, the CIGAR for this read will begin/end with a hard clip
230	// operator that will indicate the length of the excised sequence.
231	AlignedSequence string `protobuf:"bytes,14,opt,name=aligned_sequence,json=alignedSequence,proto3" json:"aligned_sequence,omitempty"`
232	// The quality of the read sequence contained in this alignment record
233	// (equivalent to QUAL in SAM).
234	// `alignedSequence` and `alignedQuality` may be shorter than the full read
235	// sequence and quality. This will occur if the alignment is part of a
236	// chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
237	// for this read will begin/end with a hard clip operator that will indicate
238	// the length of the excised sequence.
239	AlignedQuality []int32 `protobuf:"varint,15,rep,packed,name=aligned_quality,json=alignedQuality,proto3" json:"aligned_quality,omitempty"`
240	// The mapping of the primary alignment of the
241	// `(readNumber+1)%numberReads` read in the fragment. It replaces
242	// mate position and mate strand in SAM.
243	NextMatePosition *Position `protobuf:"bytes,16,opt,name=next_mate_position,json=nextMatePosition,proto3" json:"next_mate_position,omitempty"`
244	// A map of additional read alignment information. This must be of the form
245	// map<string, string[]> (string key mapping to a list of string values).
246	Info                 map[string]*_struct.ListValue `protobuf:"bytes,17,rep,name=info,proto3" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
247	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
248	XXX_unrecognized     []byte                        `json:"-"`
249	XXX_sizecache        int32                         `json:"-"`
250}
251
252func (m *Read) Reset()         { *m = Read{} }
253func (m *Read) String() string { return proto.CompactTextString(m) }
254func (*Read) ProtoMessage()    {}
255func (*Read) Descriptor() ([]byte, []int) {
256	return fileDescriptor_5882c5c7543d07e3, []int{1}
257}
258
259func (m *Read) XXX_Unmarshal(b []byte) error {
260	return xxx_messageInfo_Read.Unmarshal(m, b)
261}
262func (m *Read) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
263	return xxx_messageInfo_Read.Marshal(b, m, deterministic)
264}
265func (m *Read) XXX_Merge(src proto.Message) {
266	xxx_messageInfo_Read.Merge(m, src)
267}
268func (m *Read) XXX_Size() int {
269	return xxx_messageInfo_Read.Size(m)
270}
271func (m *Read) XXX_DiscardUnknown() {
272	xxx_messageInfo_Read.DiscardUnknown(m)
273}
274
275var xxx_messageInfo_Read proto.InternalMessageInfo
276
277func (m *Read) GetId() string {
278	if m != nil {
279		return m.Id
280	}
281	return ""
282}
283
284func (m *Read) GetReadGroupId() string {
285	if m != nil {
286		return m.ReadGroupId
287	}
288	return ""
289}
290
291func (m *Read) GetReadGroupSetId() string {
292	if m != nil {
293		return m.ReadGroupSetId
294	}
295	return ""
296}
297
298func (m *Read) GetFragmentName() string {
299	if m != nil {
300		return m.FragmentName
301	}
302	return ""
303}
304
305func (m *Read) GetProperPlacement() bool {
306	if m != nil {
307		return m.ProperPlacement
308	}
309	return false
310}
311
312func (m *Read) GetDuplicateFragment() bool {
313	if m != nil {
314		return m.DuplicateFragment
315	}
316	return false
317}
318
319func (m *Read) GetFragmentLength() int32 {
320	if m != nil {
321		return m.FragmentLength
322	}
323	return 0
324}
325
326func (m *Read) GetReadNumber() int32 {
327	if m != nil {
328		return m.ReadNumber
329	}
330	return 0
331}
332
333func (m *Read) GetNumberReads() int32 {
334	if m != nil {
335		return m.NumberReads
336	}
337	return 0
338}
339
340func (m *Read) GetFailedVendorQualityChecks() bool {
341	if m != nil {
342		return m.FailedVendorQualityChecks
343	}
344	return false
345}
346
347func (m *Read) GetAlignment() *LinearAlignment {
348	if m != nil {
349		return m.Alignment
350	}
351	return nil
352}
353
354func (m *Read) GetSecondaryAlignment() bool {
355	if m != nil {
356		return m.SecondaryAlignment
357	}
358	return false
359}
360
361func (m *Read) GetSupplementaryAlignment() bool {
362	if m != nil {
363		return m.SupplementaryAlignment
364	}
365	return false
366}
367
368func (m *Read) GetAlignedSequence() string {
369	if m != nil {
370		return m.AlignedSequence
371	}
372	return ""
373}
374
375func (m *Read) GetAlignedQuality() []int32 {
376	if m != nil {
377		return m.AlignedQuality
378	}
379	return nil
380}
381
382func (m *Read) GetNextMatePosition() *Position {
383	if m != nil {
384		return m.NextMatePosition
385	}
386	return nil
387}
388
389func (m *Read) GetInfo() map[string]*_struct.ListValue {
390	if m != nil {
391		return m.Info
392	}
393	return nil
394}
395
396func init() {
397	proto.RegisterType((*LinearAlignment)(nil), "google.genomics.v1.LinearAlignment")
398	proto.RegisterType((*Read)(nil), "google.genomics.v1.Read")
399	proto.RegisterMapType((map[string]*_struct.ListValue)(nil), "google.genomics.v1.Read.InfoEntry")
400}
401
402func init() {
403	proto.RegisterFile("google/genomics/v1/readalignment.proto", fileDescriptor_5882c5c7543d07e3)
404}
405
406var fileDescriptor_5882c5c7543d07e3 = []byte{
407	// 683 bytes of a gzipped FileDescriptorProto
408	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x4e, 0xdb, 0x4a,
409	0x14, 0xc7, 0xe5, 0x84, 0x70, 0xc9, 0x09, 0x24, 0x61, 0xae, 0xc4, 0xf5, 0x8d, 0xb8, 0xb7, 0x21,
410	0x48, 0x6d, 0x58, 0xd4, 0x2e, 0x20, 0xb5, 0x88, 0x2e, 0x2a, 0x40, 0x6d, 0x45, 0x45, 0x51, 0x6a,
411	0x54, 0x16, 0xdd, 0x58, 0x83, 0x7d, 0x62, 0x46, 0xd8, 0x33, 0xc6, 0x1e, 0x47, 0xcd, 0x23, 0xf5,
412	0xdd, 0xfa, 0x00, 0x5d, 0x56, 0x33, 0xf6, 0x38, 0xd0, 0x66, 0xd1, 0x5d, 0xf2, 0x3f, 0xbf, 0xf3,
413	0xe1, 0xf3, 0x31, 0xf0, 0x34, 0x12, 0x22, 0x8a, 0xd1, 0x8d, 0x90, 0x8b, 0x84, 0x05, 0xb9, 0x3b,
414	0xdb, 0x77, 0x33, 0xa4, 0x21, 0x8d, 0x59, 0xc4, 0x13, 0xe4, 0xd2, 0x49, 0x33, 0x21, 0x05, 0x21,
415	0x25, 0xe7, 0x18, 0xce, 0x99, 0xed, 0x0f, 0xb6, 0x2b, 0x5f, 0x9a, 0x32, 0x97, 0x72, 0x2e, 0x24,
416	0x95, 0x4c, 0xf0, 0xbc, 0xf4, 0x18, 0xfc, 0xbf, 0x24, 0x72, 0xc0, 0x22, 0x9a, 0x55, 0xf6, 0x9d,
417	0x25, 0xf6, 0x54, 0xe4, 0x4c, 0xc5, 0xa8, 0x10, 0x93, 0x40, 0xff, 0xbb, 0x29, 0xa6, 0x6e, 0x2e,
418	0xb3, 0x22, 0xa8, 0x4a, 0x1a, 0x7d, 0xb3, 0xa0, 0x77, 0xc1, 0x38, 0xd2, 0xec, 0xc4, 0x14, 0x4b,
419	0x8e, 0x60, 0xcd, 0xc4, 0xb0, 0xad, 0xa1, 0x35, 0xee, 0x1c, 0x6c, 0x3b, 0xbf, 0x57, 0xee, 0x4c,
420	0x2a, 0xc6, 0xab, 0x69, 0xf2, 0x0c, 0x7a, 0x09, 0x4d, 0x53, 0xc6, 0x23, 0xff, 0xbe, 0xa0, 0x31,
421	0x93, 0x73, 0xbb, 0x31, 0xb4, 0xc6, 0x2d, 0xaf, 0x5b, 0xc9, 0x9f, 0x4a, 0x95, 0x1c, 0x42, 0x4b,
422	0x7f, 0x86, 0xdd, 0x1c, 0x36, 0xc7, 0x9d, 0x83, 0xff, 0x96, 0xc5, 0x3f, 0x53, 0xc0, 0x67, 0xce,
423	0xa4, 0x57, 0xb2, 0xa3, 0xef, 0xab, 0xb0, 0xe2, 0x21, 0x0d, 0x49, 0x17, 0x1a, 0x2c, 0xd4, 0xa5,
424	0xb5, 0xbd, 0x06, 0x0b, 0xc9, 0x08, 0x36, 0x54, 0xbb, 0xfd, 0x28, 0x13, 0x45, 0xea, 0xb3, 0x50,
425	0x27, 0x6d, 0x7b, 0x1d, 0x25, 0xbe, 0x57, 0xda, 0x79, 0x48, 0xf6, 0x60, 0xf3, 0x01, 0x93, 0xa3,
426	0x54, 0x5c, 0x53, 0x73, 0xdd, 0x9a, 0xbb, 0x42, 0x79, 0x1e, 0x92, 0x5d, 0xd8, 0x98, 0x66, 0x34,
427	0x52, 0xbd, 0xf0, 0x39, 0x4d, 0xd0, 0x5e, 0xd1, 0xd8, 0xba, 0x11, 0x2f, 0x69, 0x82, 0x64, 0x0f,
428	0xfa, 0x69, 0x26, 0x52, 0xcc, 0xfc, 0x34, 0xa6, 0x01, 0x2a, 0xdd, 0x6e, 0x0d, 0xad, 0xf1, 0x9a,
429	0xd7, 0x2b, 0xf5, 0x89, 0x91, 0xc9, 0x73, 0x20, 0x61, 0x91, 0xc6, 0x2c, 0xa0, 0x12, 0x7d, 0x13,
430	0xc4, 0x5e, 0xd5, 0xf0, 0x66, 0x6d, 0x79, 0x57, 0x19, 0x54, 0x13, 0xeb, 0xf4, 0x31, 0xf2, 0x48,
431	0xde, 0xda, 0x7f, 0x95, 0x4d, 0x34, 0xf2, 0x85, 0x56, 0xc9, 0x13, 0xd0, 0x5f, 0xe8, 0xf3, 0x22,
432	0xb9, 0xc1, 0xcc, 0x5e, 0xd3, 0x10, 0x28, 0xe9, 0x52, 0x2b, 0x64, 0x07, 0xd6, 0x4b, 0x9b, 0xaf,
433	0xc4, 0xdc, 0x6e, 0x6b, 0xa2, 0x53, 0x6a, 0xaa, 0x93, 0x39, 0x79, 0x03, 0xdb, 0x53, 0xca, 0x62,
434	0x0c, 0xfd, 0x19, 0xf2, 0x50, 0x64, 0x66, 0x6e, 0x7e, 0x70, 0x8b, 0xc1, 0x5d, 0x6e, 0x83, 0xae,
435	0xf2, 0xdf, 0x92, 0xb9, 0xd6, 0x48, 0x35, 0xc3, 0x33, 0x0d, 0x90, 0x13, 0x68, 0xd7, 0x6b, 0x6e,
436	0x77, 0xf4, 0xb6, 0xec, 0x2e, 0x9b, 0xe6, 0x2f, 0x4b, 0xe6, 0x2d, 0xbc, 0x88, 0x0b, 0x7f, 0xe7,
437	0x18, 0x08, 0x1e, 0xd2, 0x6c, 0xee, 0x2f, 0x82, 0xad, 0xeb, 0xd4, 0xa4, 0x36, 0x2d, 0x16, 0xf4,
438	0x15, 0xfc, 0x93, 0x17, 0x69, 0x1a, 0xeb, 0xf6, 0x3e, 0x76, 0xda, 0xd0, 0x4e, 0x5b, 0x8f, 0xcc,
439	0x0b, 0xc7, 0x3d, 0xe8, 0x6b, 0x14, 0x43, 0x3f, 0xc7, 0xfb, 0x02, 0x79, 0x80, 0x76, 0x57, 0x0f,
440	0xb7, 0x57, 0xe9, 0x57, 0x95, 0xac, 0xa6, 0x60, 0x50, 0xb3, 0xca, 0xbd, 0x61, 0x53, 0x4d, 0xa1,
441	0x92, 0xcd, 0x2a, 0x7f, 0x00, 0xc2, 0xf1, 0xab, 0xf4, 0x13, 0x35, 0xdd, 0xfa, 0x6e, 0xfa, 0x7f,
442	0x70, 0x37, 0x7d, 0xe5, 0xf7, 0x91, 0x4a, 0x34, 0x0a, 0x79, 0x09, 0x2b, 0x8c, 0x4f, 0x85, 0xbd,
443	0xa9, 0xaf, 0x62, 0xb4, 0xcc, 0x5b, 0x8d, 0xcd, 0x39, 0xe7, 0x53, 0xf1, 0x96, 0xcb, 0x6c, 0xee,
444	0x69, 0x7e, 0x70, 0x05, 0xed, 0x5a, 0x22, 0x7d, 0x68, 0xde, 0xe1, 0xbc, 0x3a, 0x0f, 0xf5, 0x93,
445	0xbc, 0x80, 0xd6, 0x8c, 0xc6, 0x05, 0xea, 0xbb, 0xe8, 0x1c, 0x0c, 0x4c, 0x5c, 0xf3, 0x24, 0x38,
446	0x17, 0x2c, 0x97, 0xd7, 0x8a, 0xf0, 0x4a, 0xf0, 0xb8, 0x71, 0x64, 0x9d, 0x26, 0xb0, 0x15, 0x88,
447	0x64, 0x49, 0x0d, 0xa7, 0x44, 0x15, 0x51, 0x77, 0x75, 0xa2, 0xa2, 0x4c, 0xac, 0x2f, 0xc7, 0x86,
448	0x14, 0x31, 0xe5, 0x91, 0x23, 0xb2, 0x48, 0x3d, 0x4b, 0x3a, 0x87, 0x5b, 0x9a, 0x68, 0xca, 0xf2,
449	0x87, 0x4f, 0xd5, 0x6b, 0xf3, 0xfb, 0x87, 0x65, 0xdd, 0xac, 0x6a, 0xf2, 0xf0, 0x67, 0x00, 0x00,
450	0x00, 0xff, 0xff, 0xd0, 0xe1, 0xf6, 0x57, 0x4d, 0x05, 0x00, 0x00,
451}
452