blob: 5d0d34447e0fb5c511fb9f1e85f5f7ae8a32a02c [file] [log] [blame]
Scott Baker9173ed82020-05-19 08:30:12 -07001// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: voltha_protos/device.proto
3
4package voltha
5
6import (
7 fmt "fmt"
8 proto "github.com/golang/protobuf/proto"
9 any "github.com/golang/protobuf/ptypes/any"
10 common "github.com/opencord/voltha-protos/v3/go/common"
11 openflow_13 "github.com/opencord/voltha-protos/v3/go/openflow_13"
12 math "math"
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
26type PmConfig_PmType int32
27
28const (
29 PmConfig_COUNTER PmConfig_PmType = 0
30 PmConfig_GAUGE PmConfig_PmType = 1
31 PmConfig_STATE PmConfig_PmType = 2
32 PmConfig_CONTEXT PmConfig_PmType = 3
33)
34
35var PmConfig_PmType_name = map[int32]string{
36 0: "COUNTER",
37 1: "GAUGE",
38 2: "STATE",
39 3: "CONTEXT",
40}
41
42var PmConfig_PmType_value = map[string]int32{
43 "COUNTER": 0,
44 "GAUGE": 1,
45 "STATE": 2,
46 "CONTEXT": 3,
47}
48
49func (x PmConfig_PmType) String() string {
50 return proto.EnumName(PmConfig_PmType_name, int32(x))
51}
52
53func (PmConfig_PmType) EnumDescriptor() ([]byte, []int) {
54 return fileDescriptor_200940f73d155856, []int{2, 0}
55}
56
57type ImageDownload_ImageDownloadState int32
58
59const (
60 ImageDownload_DOWNLOAD_UNKNOWN ImageDownload_ImageDownloadState = 0
61 ImageDownload_DOWNLOAD_SUCCEEDED ImageDownload_ImageDownloadState = 1
62 ImageDownload_DOWNLOAD_REQUESTED ImageDownload_ImageDownloadState = 2
63 ImageDownload_DOWNLOAD_STARTED ImageDownload_ImageDownloadState = 3
64 ImageDownload_DOWNLOAD_FAILED ImageDownload_ImageDownloadState = 4
65 ImageDownload_DOWNLOAD_UNSUPPORTED ImageDownload_ImageDownloadState = 5
66 ImageDownload_DOWNLOAD_CANCELLED ImageDownload_ImageDownloadState = 6
67)
68
69var ImageDownload_ImageDownloadState_name = map[int32]string{
70 0: "DOWNLOAD_UNKNOWN",
71 1: "DOWNLOAD_SUCCEEDED",
72 2: "DOWNLOAD_REQUESTED",
73 3: "DOWNLOAD_STARTED",
74 4: "DOWNLOAD_FAILED",
75 5: "DOWNLOAD_UNSUPPORTED",
76 6: "DOWNLOAD_CANCELLED",
77}
78
79var ImageDownload_ImageDownloadState_value = map[string]int32{
80 "DOWNLOAD_UNKNOWN": 0,
81 "DOWNLOAD_SUCCEEDED": 1,
82 "DOWNLOAD_REQUESTED": 2,
83 "DOWNLOAD_STARTED": 3,
84 "DOWNLOAD_FAILED": 4,
85 "DOWNLOAD_UNSUPPORTED": 5,
86 "DOWNLOAD_CANCELLED": 6,
87}
88
89func (x ImageDownload_ImageDownloadState) String() string {
90 return proto.EnumName(ImageDownload_ImageDownloadState_name, int32(x))
91}
92
93func (ImageDownload_ImageDownloadState) EnumDescriptor() ([]byte, []int) {
94 return fileDescriptor_200940f73d155856, []int{7, 0}
95}
96
97type ImageDownload_ImageDownloadFailureReason int32
98
99const (
100 ImageDownload_NO_ERROR ImageDownload_ImageDownloadFailureReason = 0
101 ImageDownload_INVALID_URL ImageDownload_ImageDownloadFailureReason = 1
102 ImageDownload_DEVICE_BUSY ImageDownload_ImageDownloadFailureReason = 2
103 ImageDownload_INSUFFICIENT_SPACE ImageDownload_ImageDownloadFailureReason = 3
104 ImageDownload_UNKNOWN_ERROR ImageDownload_ImageDownloadFailureReason = 4
105 ImageDownload_CANCELLED ImageDownload_ImageDownloadFailureReason = 5
106)
107
108var ImageDownload_ImageDownloadFailureReason_name = map[int32]string{
109 0: "NO_ERROR",
110 1: "INVALID_URL",
111 2: "DEVICE_BUSY",
112 3: "INSUFFICIENT_SPACE",
113 4: "UNKNOWN_ERROR",
114 5: "CANCELLED",
115}
116
117var ImageDownload_ImageDownloadFailureReason_value = map[string]int32{
118 "NO_ERROR": 0,
119 "INVALID_URL": 1,
120 "DEVICE_BUSY": 2,
121 "INSUFFICIENT_SPACE": 3,
122 "UNKNOWN_ERROR": 4,
123 "CANCELLED": 5,
124}
125
126func (x ImageDownload_ImageDownloadFailureReason) String() string {
127 return proto.EnumName(ImageDownload_ImageDownloadFailureReason_name, int32(x))
128}
129
130func (ImageDownload_ImageDownloadFailureReason) EnumDescriptor() ([]byte, []int) {
131 return fileDescriptor_200940f73d155856, []int{7, 1}
132}
133
134type ImageDownload_ImageActivateState int32
135
136const (
137 ImageDownload_IMAGE_UNKNOWN ImageDownload_ImageActivateState = 0
138 ImageDownload_IMAGE_INACTIVE ImageDownload_ImageActivateState = 1
139 ImageDownload_IMAGE_ACTIVATING ImageDownload_ImageActivateState = 2
140 ImageDownload_IMAGE_ACTIVE ImageDownload_ImageActivateState = 3
141 ImageDownload_IMAGE_REVERTING ImageDownload_ImageActivateState = 4
142 ImageDownload_IMAGE_REVERTED ImageDownload_ImageActivateState = 5
143)
144
145var ImageDownload_ImageActivateState_name = map[int32]string{
146 0: "IMAGE_UNKNOWN",
147 1: "IMAGE_INACTIVE",
148 2: "IMAGE_ACTIVATING",
149 3: "IMAGE_ACTIVE",
150 4: "IMAGE_REVERTING",
151 5: "IMAGE_REVERTED",
152}
153
154var ImageDownload_ImageActivateState_value = map[string]int32{
155 "IMAGE_UNKNOWN": 0,
156 "IMAGE_INACTIVE": 1,
157 "IMAGE_ACTIVATING": 2,
158 "IMAGE_ACTIVE": 3,
159 "IMAGE_REVERTING": 4,
160 "IMAGE_REVERTED": 5,
161}
162
163func (x ImageDownload_ImageActivateState) String() string {
164 return proto.EnumName(ImageDownload_ImageActivateState_name, int32(x))
165}
166
167func (ImageDownload_ImageActivateState) EnumDescriptor() ([]byte, []int) {
168 return fileDescriptor_200940f73d155856, []int{7, 2}
169}
170
171type Port_PortType int32
172
173const (
174 Port_UNKNOWN Port_PortType = 0
175 Port_ETHERNET_NNI Port_PortType = 1
176 Port_ETHERNET_UNI Port_PortType = 2
177 Port_PON_OLT Port_PortType = 3
178 Port_PON_ONU Port_PortType = 4
179 Port_VENET_OLT Port_PortType = 5
180 Port_VENET_ONU Port_PortType = 6
181)
182
183var Port_PortType_name = map[int32]string{
184 0: "UNKNOWN",
185 1: "ETHERNET_NNI",
186 2: "ETHERNET_UNI",
187 3: "PON_OLT",
188 4: "PON_ONU",
189 5: "VENET_OLT",
190 6: "VENET_ONU",
191}
192
193var Port_PortType_value = map[string]int32{
194 "UNKNOWN": 0,
195 "ETHERNET_NNI": 1,
196 "ETHERNET_UNI": 2,
197 "PON_OLT": 3,
198 "PON_ONU": 4,
199 "VENET_OLT": 5,
200 "VENET_ONU": 6,
201}
202
203func (x Port_PortType) String() string {
204 return proto.EnumName(Port_PortType_name, int32(x))
205}
206
207func (Port_PortType) EnumDescriptor() ([]byte, []int) {
208 return fileDescriptor_200940f73d155856, []int{9, 0}
209}
210
211type SimulateAlarmRequest_OperationType int32
212
213const (
214 SimulateAlarmRequest_RAISE SimulateAlarmRequest_OperationType = 0
215 SimulateAlarmRequest_CLEAR SimulateAlarmRequest_OperationType = 1
216)
217
218var SimulateAlarmRequest_OperationType_name = map[int32]string{
219 0: "RAISE",
220 1: "CLEAR",
221}
222
223var SimulateAlarmRequest_OperationType_value = map[string]int32{
224 "RAISE": 0,
225 "CLEAR": 1,
226}
227
228func (x SimulateAlarmRequest_OperationType) String() string {
229 return proto.EnumName(SimulateAlarmRequest_OperationType_name, int32(x))
230}
231
232func (SimulateAlarmRequest_OperationType) EnumDescriptor() ([]byte, []int) {
233 return fileDescriptor_200940f73d155856, []int{13, 0}
234}
235
236// A Device Type
237type DeviceType struct {
238 // Unique name for the device type
239 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
240 // Unique vendor id for the device type applicable to ONU
241 // 4 bytes of vendor id from ONU serial number
242 VendorId string `protobuf:"bytes,5,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
243 VendorIds []string `protobuf:"bytes,6,rep,name=vendor_ids,json=vendorIds,proto3" json:"vendor_ids,omitempty"`
244 // Name of the adapter that handles device type
245 Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
246 // Capabilities
247 AcceptsBulkFlowUpdate bool `protobuf:"varint,3,opt,name=accepts_bulk_flow_update,json=acceptsBulkFlowUpdate,proto3" json:"accepts_bulk_flow_update,omitempty"`
248 AcceptsAddRemoveFlowUpdates bool `protobuf:"varint,4,opt,name=accepts_add_remove_flow_updates,json=acceptsAddRemoveFlowUpdates,proto3" json:"accepts_add_remove_flow_updates,omitempty"`
249 AcceptsDirectLogicalFlowsUpdate bool `protobuf:"varint,7,opt,name=accepts_direct_logical_flows_update,json=acceptsDirectLogicalFlowsUpdate,proto3" json:"accepts_direct_logical_flows_update,omitempty"`
250 XXX_NoUnkeyedLiteral struct{} `json:"-"`
251 XXX_unrecognized []byte `json:"-"`
252 XXX_sizecache int32 `json:"-"`
253}
254
255func (m *DeviceType) Reset() { *m = DeviceType{} }
256func (m *DeviceType) String() string { return proto.CompactTextString(m) }
257func (*DeviceType) ProtoMessage() {}
258func (*DeviceType) Descriptor() ([]byte, []int) {
259 return fileDescriptor_200940f73d155856, []int{0}
260}
261
262func (m *DeviceType) XXX_Unmarshal(b []byte) error {
263 return xxx_messageInfo_DeviceType.Unmarshal(m, b)
264}
265func (m *DeviceType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
266 return xxx_messageInfo_DeviceType.Marshal(b, m, deterministic)
267}
268func (m *DeviceType) XXX_Merge(src proto.Message) {
269 xxx_messageInfo_DeviceType.Merge(m, src)
270}
271func (m *DeviceType) XXX_Size() int {
272 return xxx_messageInfo_DeviceType.Size(m)
273}
274func (m *DeviceType) XXX_DiscardUnknown() {
275 xxx_messageInfo_DeviceType.DiscardUnknown(m)
276}
277
278var xxx_messageInfo_DeviceType proto.InternalMessageInfo
279
280func (m *DeviceType) GetId() string {
281 if m != nil {
282 return m.Id
283 }
284 return ""
285}
286
287func (m *DeviceType) GetVendorId() string {
288 if m != nil {
289 return m.VendorId
290 }
291 return ""
292}
293
294func (m *DeviceType) GetVendorIds() []string {
295 if m != nil {
296 return m.VendorIds
297 }
298 return nil
299}
300
301func (m *DeviceType) GetAdapter() string {
302 if m != nil {
303 return m.Adapter
304 }
305 return ""
306}
307
308func (m *DeviceType) GetAcceptsBulkFlowUpdate() bool {
309 if m != nil {
310 return m.AcceptsBulkFlowUpdate
311 }
312 return false
313}
314
315func (m *DeviceType) GetAcceptsAddRemoveFlowUpdates() bool {
316 if m != nil {
317 return m.AcceptsAddRemoveFlowUpdates
318 }
319 return false
320}
321
322func (m *DeviceType) GetAcceptsDirectLogicalFlowsUpdate() bool {
323 if m != nil {
324 return m.AcceptsDirectLogicalFlowsUpdate
325 }
326 return false
327}
328
329// A plurality of device types
330type DeviceTypes struct {
331 Items []*DeviceType `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
332 XXX_NoUnkeyedLiteral struct{} `json:"-"`
333 XXX_unrecognized []byte `json:"-"`
334 XXX_sizecache int32 `json:"-"`
335}
336
337func (m *DeviceTypes) Reset() { *m = DeviceTypes{} }
338func (m *DeviceTypes) String() string { return proto.CompactTextString(m) }
339func (*DeviceTypes) ProtoMessage() {}
340func (*DeviceTypes) Descriptor() ([]byte, []int) {
341 return fileDescriptor_200940f73d155856, []int{1}
342}
343
344func (m *DeviceTypes) XXX_Unmarshal(b []byte) error {
345 return xxx_messageInfo_DeviceTypes.Unmarshal(m, b)
346}
347func (m *DeviceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348 return xxx_messageInfo_DeviceTypes.Marshal(b, m, deterministic)
349}
350func (m *DeviceTypes) XXX_Merge(src proto.Message) {
351 xxx_messageInfo_DeviceTypes.Merge(m, src)
352}
353func (m *DeviceTypes) XXX_Size() int {
354 return xxx_messageInfo_DeviceTypes.Size(m)
355}
356func (m *DeviceTypes) XXX_DiscardUnknown() {
357 xxx_messageInfo_DeviceTypes.DiscardUnknown(m)
358}
359
360var xxx_messageInfo_DeviceTypes proto.InternalMessageInfo
361
362func (m *DeviceTypes) GetItems() []*DeviceType {
363 if m != nil {
364 return m.Items
365 }
366 return nil
367}
368
369type PmConfig struct {
370 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
371 Type PmConfig_PmType `protobuf:"varint,2,opt,name=type,proto3,enum=voltha.PmConfig_PmType" json:"type,omitempty"`
372 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
373 SampleFreq uint32 `protobuf:"varint,4,opt,name=sample_freq,json=sampleFreq,proto3" json:"sample_freq,omitempty"`
374 XXX_NoUnkeyedLiteral struct{} `json:"-"`
375 XXX_unrecognized []byte `json:"-"`
376 XXX_sizecache int32 `json:"-"`
377}
378
379func (m *PmConfig) Reset() { *m = PmConfig{} }
380func (m *PmConfig) String() string { return proto.CompactTextString(m) }
381func (*PmConfig) ProtoMessage() {}
382func (*PmConfig) Descriptor() ([]byte, []int) {
383 return fileDescriptor_200940f73d155856, []int{2}
384}
385
386func (m *PmConfig) XXX_Unmarshal(b []byte) error {
387 return xxx_messageInfo_PmConfig.Unmarshal(m, b)
388}
389func (m *PmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
390 return xxx_messageInfo_PmConfig.Marshal(b, m, deterministic)
391}
392func (m *PmConfig) XXX_Merge(src proto.Message) {
393 xxx_messageInfo_PmConfig.Merge(m, src)
394}
395func (m *PmConfig) XXX_Size() int {
396 return xxx_messageInfo_PmConfig.Size(m)
397}
398func (m *PmConfig) XXX_DiscardUnknown() {
399 xxx_messageInfo_PmConfig.DiscardUnknown(m)
400}
401
402var xxx_messageInfo_PmConfig proto.InternalMessageInfo
403
404func (m *PmConfig) GetName() string {
405 if m != nil {
406 return m.Name
407 }
408 return ""
409}
410
411func (m *PmConfig) GetType() PmConfig_PmType {
412 if m != nil {
413 return m.Type
414 }
415 return PmConfig_COUNTER
416}
417
418func (m *PmConfig) GetEnabled() bool {
419 if m != nil {
420 return m.Enabled
421 }
422 return false
423}
424
425func (m *PmConfig) GetSampleFreq() uint32 {
426 if m != nil {
427 return m.SampleFreq
428 }
429 return 0
430}
431
432type PmGroupConfig struct {
433 GroupName string `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
434 GroupFreq uint32 `protobuf:"varint,2,opt,name=group_freq,json=groupFreq,proto3" json:"group_freq,omitempty"`
435 Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
436 Metrics []*PmConfig `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
437 XXX_NoUnkeyedLiteral struct{} `json:"-"`
438 XXX_unrecognized []byte `json:"-"`
439 XXX_sizecache int32 `json:"-"`
440}
441
442func (m *PmGroupConfig) Reset() { *m = PmGroupConfig{} }
443func (m *PmGroupConfig) String() string { return proto.CompactTextString(m) }
444func (*PmGroupConfig) ProtoMessage() {}
445func (*PmGroupConfig) Descriptor() ([]byte, []int) {
446 return fileDescriptor_200940f73d155856, []int{3}
447}
448
449func (m *PmGroupConfig) XXX_Unmarshal(b []byte) error {
450 return xxx_messageInfo_PmGroupConfig.Unmarshal(m, b)
451}
452func (m *PmGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
453 return xxx_messageInfo_PmGroupConfig.Marshal(b, m, deterministic)
454}
455func (m *PmGroupConfig) XXX_Merge(src proto.Message) {
456 xxx_messageInfo_PmGroupConfig.Merge(m, src)
457}
458func (m *PmGroupConfig) XXX_Size() int {
459 return xxx_messageInfo_PmGroupConfig.Size(m)
460}
461func (m *PmGroupConfig) XXX_DiscardUnknown() {
462 xxx_messageInfo_PmGroupConfig.DiscardUnknown(m)
463}
464
465var xxx_messageInfo_PmGroupConfig proto.InternalMessageInfo
466
467func (m *PmGroupConfig) GetGroupName() string {
468 if m != nil {
469 return m.GroupName
470 }
471 return ""
472}
473
474func (m *PmGroupConfig) GetGroupFreq() uint32 {
475 if m != nil {
476 return m.GroupFreq
477 }
478 return 0
479}
480
481func (m *PmGroupConfig) GetEnabled() bool {
482 if m != nil {
483 return m.Enabled
484 }
485 return false
486}
487
488func (m *PmGroupConfig) GetMetrics() []*PmConfig {
489 if m != nil {
490 return m.Metrics
491 }
492 return nil
493}
494
495type PmConfigs struct {
496 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
497 DefaultFreq uint32 `protobuf:"varint,2,opt,name=default_freq,json=defaultFreq,proto3" json:"default_freq,omitempty"`
498 // Forces group names and group semantics
499 Grouped bool `protobuf:"varint,3,opt,name=grouped,proto3" json:"grouped,omitempty"`
500 // Allows Pm to set an individual sample frequency
501 FreqOverride bool `protobuf:"varint,4,opt,name=freq_override,json=freqOverride,proto3" json:"freq_override,omitempty"`
502 Groups []*PmGroupConfig `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
503 Metrics []*PmConfig `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"`
Rohan Agrawald7df3772020-06-29 11:23:36 +0000504 MaxSkew uint32 `protobuf:"varint,7,opt,name=max_skew,json=maxSkew,proto3" json:"max_skew,omitempty"`
Scott Baker9173ed82020-05-19 08:30:12 -0700505 XXX_NoUnkeyedLiteral struct{} `json:"-"`
506 XXX_unrecognized []byte `json:"-"`
507 XXX_sizecache int32 `json:"-"`
508}
509
510func (m *PmConfigs) Reset() { *m = PmConfigs{} }
511func (m *PmConfigs) String() string { return proto.CompactTextString(m) }
512func (*PmConfigs) ProtoMessage() {}
513func (*PmConfigs) Descriptor() ([]byte, []int) {
514 return fileDescriptor_200940f73d155856, []int{4}
515}
516
517func (m *PmConfigs) XXX_Unmarshal(b []byte) error {
518 return xxx_messageInfo_PmConfigs.Unmarshal(m, b)
519}
520func (m *PmConfigs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
521 return xxx_messageInfo_PmConfigs.Marshal(b, m, deterministic)
522}
523func (m *PmConfigs) XXX_Merge(src proto.Message) {
524 xxx_messageInfo_PmConfigs.Merge(m, src)
525}
526func (m *PmConfigs) XXX_Size() int {
527 return xxx_messageInfo_PmConfigs.Size(m)
528}
529func (m *PmConfigs) XXX_DiscardUnknown() {
530 xxx_messageInfo_PmConfigs.DiscardUnknown(m)
531}
532
533var xxx_messageInfo_PmConfigs proto.InternalMessageInfo
534
535func (m *PmConfigs) GetId() string {
536 if m != nil {
537 return m.Id
538 }
539 return ""
540}
541
542func (m *PmConfigs) GetDefaultFreq() uint32 {
543 if m != nil {
544 return m.DefaultFreq
545 }
546 return 0
547}
548
549func (m *PmConfigs) GetGrouped() bool {
550 if m != nil {
551 return m.Grouped
552 }
553 return false
554}
555
556func (m *PmConfigs) GetFreqOverride() bool {
557 if m != nil {
558 return m.FreqOverride
559 }
560 return false
561}
562
563func (m *PmConfigs) GetGroups() []*PmGroupConfig {
564 if m != nil {
565 return m.Groups
566 }
567 return nil
568}
569
570func (m *PmConfigs) GetMetrics() []*PmConfig {
571 if m != nil {
572 return m.Metrics
573 }
574 return nil
575}
576
Rohan Agrawald7df3772020-06-29 11:23:36 +0000577func (m *PmConfigs) GetMaxSkew() uint32 {
578 if m != nil {
579 return m.MaxSkew
580 }
581 return 0
582}
583
Scott Baker9173ed82020-05-19 08:30:12 -0700584// Describes instance of software image on the device
585type Image struct {
586 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
587 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
588 Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
589 InstallDatetime string `protobuf:"bytes,4,opt,name=install_datetime,json=installDatetime,proto3" json:"install_datetime,omitempty"`
590 // The active software image is one that is currently loaded and executing
591 // in the ONU or circuit pack. Under normal operation, one software image
592 // is always active while the other is inactive. Under no circumstances are
593 // both software images allowed to be active at the same time
594 IsActive bool `protobuf:"varint,5,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
595 // The committed software image is loaded and executed upon reboot of the
596 // ONU and/or circuit pack. During normal operation, one software image is
597 // always committed, while the other is uncommitted.
598 IsCommitted bool `protobuf:"varint,6,opt,name=is_committed,json=isCommitted,proto3" json:"is_committed,omitempty"`
599 // A software image is valid if it has been verified to be an executable
600 // code image. The verification mechanism is not subject to standardization;
601 // however, it should include at least a data integrity (e.g., CRC) check of
602 // the entire code image.
603 IsValid bool `protobuf:"varint,7,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
604 XXX_NoUnkeyedLiteral struct{} `json:"-"`
605 XXX_unrecognized []byte `json:"-"`
606 XXX_sizecache int32 `json:"-"`
607}
608
609func (m *Image) Reset() { *m = Image{} }
610func (m *Image) String() string { return proto.CompactTextString(m) }
611func (*Image) ProtoMessage() {}
612func (*Image) Descriptor() ([]byte, []int) {
613 return fileDescriptor_200940f73d155856, []int{5}
614}
615
616func (m *Image) XXX_Unmarshal(b []byte) error {
617 return xxx_messageInfo_Image.Unmarshal(m, b)
618}
619func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
620 return xxx_messageInfo_Image.Marshal(b, m, deterministic)
621}
622func (m *Image) XXX_Merge(src proto.Message) {
623 xxx_messageInfo_Image.Merge(m, src)
624}
625func (m *Image) XXX_Size() int {
626 return xxx_messageInfo_Image.Size(m)
627}
628func (m *Image) XXX_DiscardUnknown() {
629 xxx_messageInfo_Image.DiscardUnknown(m)
630}
631
632var xxx_messageInfo_Image proto.InternalMessageInfo
633
634func (m *Image) GetName() string {
635 if m != nil {
636 return m.Name
637 }
638 return ""
639}
640
641func (m *Image) GetVersion() string {
642 if m != nil {
643 return m.Version
644 }
645 return ""
646}
647
648func (m *Image) GetHash() string {
649 if m != nil {
650 return m.Hash
651 }
652 return ""
653}
654
655func (m *Image) GetInstallDatetime() string {
656 if m != nil {
657 return m.InstallDatetime
658 }
659 return ""
660}
661
662func (m *Image) GetIsActive() bool {
663 if m != nil {
664 return m.IsActive
665 }
666 return false
667}
668
669func (m *Image) GetIsCommitted() bool {
670 if m != nil {
671 return m.IsCommitted
672 }
673 return false
674}
675
676func (m *Image) GetIsValid() bool {
677 if m != nil {
678 return m.IsValid
679 }
680 return false
681}
682
683// List of software on the device
684type Images struct {
685 Image []*Image `protobuf:"bytes,1,rep,name=image,proto3" json:"image,omitempty"`
686 XXX_NoUnkeyedLiteral struct{} `json:"-"`
687 XXX_unrecognized []byte `json:"-"`
688 XXX_sizecache int32 `json:"-"`
689}
690
691func (m *Images) Reset() { *m = Images{} }
692func (m *Images) String() string { return proto.CompactTextString(m) }
693func (*Images) ProtoMessage() {}
694func (*Images) Descriptor() ([]byte, []int) {
695 return fileDescriptor_200940f73d155856, []int{6}
696}
697
698func (m *Images) XXX_Unmarshal(b []byte) error {
699 return xxx_messageInfo_Images.Unmarshal(m, b)
700}
701func (m *Images) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
702 return xxx_messageInfo_Images.Marshal(b, m, deterministic)
703}
704func (m *Images) XXX_Merge(src proto.Message) {
705 xxx_messageInfo_Images.Merge(m, src)
706}
707func (m *Images) XXX_Size() int {
708 return xxx_messageInfo_Images.Size(m)
709}
710func (m *Images) XXX_DiscardUnknown() {
711 xxx_messageInfo_Images.DiscardUnknown(m)
712}
713
714var xxx_messageInfo_Images proto.InternalMessageInfo
715
716func (m *Images) GetImage() []*Image {
717 if m != nil {
718 return m.Image
719 }
720 return nil
721}
722
723type ImageDownload struct {
724 // Device Identifier
725 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
726 // Image unique identifier
727 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
728 // URL where the image is available
729 // should include username password
730 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
731 // CRC of the image to be verified aginst
732 Crc uint32 `protobuf:"varint,4,opt,name=crc,proto3" json:"crc,omitempty"`
733 // Download state
734 DownloadState ImageDownload_ImageDownloadState `protobuf:"varint,5,opt,name=download_state,json=downloadState,proto3,enum=voltha.ImageDownload_ImageDownloadState" json:"download_state,omitempty"`
735 // Downloaded version
736 ImageVersion string `protobuf:"bytes,6,opt,name=image_version,json=imageVersion,proto3" json:"image_version,omitempty"`
737 // Bytes downloaded
738 DownloadedBytes uint32 `protobuf:"varint,7,opt,name=downloaded_bytes,json=downloadedBytes,proto3" json:"downloaded_bytes,omitempty"`
739 // Download failure reason
740 Reason ImageDownload_ImageDownloadFailureReason `protobuf:"varint,8,opt,name=reason,proto3,enum=voltha.ImageDownload_ImageDownloadFailureReason" json:"reason,omitempty"`
741 // Additional info
742 AdditionalInfo string `protobuf:"bytes,9,opt,name=additional_info,json=additionalInfo,proto3" json:"additional_info,omitempty"`
743 // Save current configuration
744 SaveConfig bool `protobuf:"varint,10,opt,name=save_config,json=saveConfig,proto3" json:"save_config,omitempty"`
745 // Image local location
746 LocalDir string `protobuf:"bytes,11,opt,name=local_dir,json=localDir,proto3" json:"local_dir,omitempty"`
747 // Image activation state
748 ImageState ImageDownload_ImageActivateState `protobuf:"varint,12,opt,name=image_state,json=imageState,proto3,enum=voltha.ImageDownload_ImageActivateState" json:"image_state,omitempty"`
749 // Image file size
750 FileSize uint32 `protobuf:"varint,13,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
751 XXX_NoUnkeyedLiteral struct{} `json:"-"`
752 XXX_unrecognized []byte `json:"-"`
753 XXX_sizecache int32 `json:"-"`
754}
755
756func (m *ImageDownload) Reset() { *m = ImageDownload{} }
757func (m *ImageDownload) String() string { return proto.CompactTextString(m) }
758func (*ImageDownload) ProtoMessage() {}
759func (*ImageDownload) Descriptor() ([]byte, []int) {
760 return fileDescriptor_200940f73d155856, []int{7}
761}
762
763func (m *ImageDownload) XXX_Unmarshal(b []byte) error {
764 return xxx_messageInfo_ImageDownload.Unmarshal(m, b)
765}
766func (m *ImageDownload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
767 return xxx_messageInfo_ImageDownload.Marshal(b, m, deterministic)
768}
769func (m *ImageDownload) XXX_Merge(src proto.Message) {
770 xxx_messageInfo_ImageDownload.Merge(m, src)
771}
772func (m *ImageDownload) XXX_Size() int {
773 return xxx_messageInfo_ImageDownload.Size(m)
774}
775func (m *ImageDownload) XXX_DiscardUnknown() {
776 xxx_messageInfo_ImageDownload.DiscardUnknown(m)
777}
778
779var xxx_messageInfo_ImageDownload proto.InternalMessageInfo
780
781func (m *ImageDownload) GetId() string {
782 if m != nil {
783 return m.Id
784 }
785 return ""
786}
787
788func (m *ImageDownload) GetName() string {
789 if m != nil {
790 return m.Name
791 }
792 return ""
793}
794
795func (m *ImageDownload) GetUrl() string {
796 if m != nil {
797 return m.Url
798 }
799 return ""
800}
801
802func (m *ImageDownload) GetCrc() uint32 {
803 if m != nil {
804 return m.Crc
805 }
806 return 0
807}
808
809func (m *ImageDownload) GetDownloadState() ImageDownload_ImageDownloadState {
810 if m != nil {
811 return m.DownloadState
812 }
813 return ImageDownload_DOWNLOAD_UNKNOWN
814}
815
816func (m *ImageDownload) GetImageVersion() string {
817 if m != nil {
818 return m.ImageVersion
819 }
820 return ""
821}
822
823func (m *ImageDownload) GetDownloadedBytes() uint32 {
824 if m != nil {
825 return m.DownloadedBytes
826 }
827 return 0
828}
829
830func (m *ImageDownload) GetReason() ImageDownload_ImageDownloadFailureReason {
831 if m != nil {
832 return m.Reason
833 }
834 return ImageDownload_NO_ERROR
835}
836
837func (m *ImageDownload) GetAdditionalInfo() string {
838 if m != nil {
839 return m.AdditionalInfo
840 }
841 return ""
842}
843
844func (m *ImageDownload) GetSaveConfig() bool {
845 if m != nil {
846 return m.SaveConfig
847 }
848 return false
849}
850
851func (m *ImageDownload) GetLocalDir() string {
852 if m != nil {
853 return m.LocalDir
854 }
855 return ""
856}
857
858func (m *ImageDownload) GetImageState() ImageDownload_ImageActivateState {
859 if m != nil {
860 return m.ImageState
861 }
862 return ImageDownload_IMAGE_UNKNOWN
863}
864
865func (m *ImageDownload) GetFileSize() uint32 {
866 if m != nil {
867 return m.FileSize
868 }
869 return 0
870}
871
872type ImageDownloads struct {
873 Items []*ImageDownload `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
874 XXX_NoUnkeyedLiteral struct{} `json:"-"`
875 XXX_unrecognized []byte `json:"-"`
876 XXX_sizecache int32 `json:"-"`
877}
878
879func (m *ImageDownloads) Reset() { *m = ImageDownloads{} }
880func (m *ImageDownloads) String() string { return proto.CompactTextString(m) }
881func (*ImageDownloads) ProtoMessage() {}
882func (*ImageDownloads) Descriptor() ([]byte, []int) {
883 return fileDescriptor_200940f73d155856, []int{8}
884}
885
886func (m *ImageDownloads) XXX_Unmarshal(b []byte) error {
887 return xxx_messageInfo_ImageDownloads.Unmarshal(m, b)
888}
889func (m *ImageDownloads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
890 return xxx_messageInfo_ImageDownloads.Marshal(b, m, deterministic)
891}
892func (m *ImageDownloads) XXX_Merge(src proto.Message) {
893 xxx_messageInfo_ImageDownloads.Merge(m, src)
894}
895func (m *ImageDownloads) XXX_Size() int {
896 return xxx_messageInfo_ImageDownloads.Size(m)
897}
898func (m *ImageDownloads) XXX_DiscardUnknown() {
899 xxx_messageInfo_ImageDownloads.DiscardUnknown(m)
900}
901
902var xxx_messageInfo_ImageDownloads proto.InternalMessageInfo
903
904func (m *ImageDownloads) GetItems() []*ImageDownload {
905 if m != nil {
906 return m.Items
907 }
908 return nil
909}
910
911type Port struct {
Rohan Agrawald7df3772020-06-29 11:23:36 +0000912 PortNo uint32 `protobuf:"varint,1,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
913 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
914 Type Port_PortType `protobuf:"varint,3,opt,name=type,proto3,enum=voltha.Port_PortType" json:"type,omitempty"`
915 AdminState common.AdminState_Types `protobuf:"varint,5,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
916 OperStatus common.OperStatus_Types `protobuf:"varint,6,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
917 DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
918 Peers []*Port_PeerPort `protobuf:"bytes,8,rep,name=peers,proto3" json:"peers,omitempty"`
919 RxPackets uint64 `protobuf:"fixed64,9,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
920 RxBytes uint64 `protobuf:"fixed64,10,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
921 RxErrors uint64 `protobuf:"fixed64,11,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"`
922 TxPackets uint64 `protobuf:"fixed64,12,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
923 TxBytes uint64 `protobuf:"fixed64,13,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
924 TxErrors uint64 `protobuf:"fixed64,14,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"`
925 // ofp_port represents the characteristics of a port, e.g. hardware
926 // address and supported features. This field is relevant only for
927 // UNI and NNI ports. For PON ports, it can be left empty.
928 OfpPort *openflow_13.OfpPort `protobuf:"bytes,15,opt,name=ofp_port,json=ofpPort,proto3" json:"ofp_port,omitempty"`
929 XXX_NoUnkeyedLiteral struct{} `json:"-"`
930 XXX_unrecognized []byte `json:"-"`
931 XXX_sizecache int32 `json:"-"`
Scott Baker9173ed82020-05-19 08:30:12 -0700932}
933
934func (m *Port) Reset() { *m = Port{} }
935func (m *Port) String() string { return proto.CompactTextString(m) }
936func (*Port) ProtoMessage() {}
937func (*Port) Descriptor() ([]byte, []int) {
938 return fileDescriptor_200940f73d155856, []int{9}
939}
940
941func (m *Port) XXX_Unmarshal(b []byte) error {
942 return xxx_messageInfo_Port.Unmarshal(m, b)
943}
944func (m *Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
945 return xxx_messageInfo_Port.Marshal(b, m, deterministic)
946}
947func (m *Port) XXX_Merge(src proto.Message) {
948 xxx_messageInfo_Port.Merge(m, src)
949}
950func (m *Port) XXX_Size() int {
951 return xxx_messageInfo_Port.Size(m)
952}
953func (m *Port) XXX_DiscardUnknown() {
954 xxx_messageInfo_Port.DiscardUnknown(m)
955}
956
957var xxx_messageInfo_Port proto.InternalMessageInfo
958
959func (m *Port) GetPortNo() uint32 {
960 if m != nil {
961 return m.PortNo
962 }
963 return 0
964}
965
966func (m *Port) GetLabel() string {
967 if m != nil {
968 return m.Label
969 }
970 return ""
971}
972
973func (m *Port) GetType() Port_PortType {
974 if m != nil {
975 return m.Type
976 }
977 return Port_UNKNOWN
978}
979
980func (m *Port) GetAdminState() common.AdminState_Types {
981 if m != nil {
982 return m.AdminState
983 }
984 return common.AdminState_UNKNOWN
985}
986
987func (m *Port) GetOperStatus() common.OperStatus_Types {
988 if m != nil {
989 return m.OperStatus
990 }
991 return common.OperStatus_UNKNOWN
992}
993
994func (m *Port) GetDeviceId() string {
995 if m != nil {
996 return m.DeviceId
997 }
998 return ""
999}
1000
1001func (m *Port) GetPeers() []*Port_PeerPort {
1002 if m != nil {
1003 return m.Peers
1004 }
1005 return nil
1006}
1007
1008func (m *Port) GetRxPackets() uint64 {
1009 if m != nil {
1010 return m.RxPackets
1011 }
1012 return 0
1013}
1014
1015func (m *Port) GetRxBytes() uint64 {
1016 if m != nil {
1017 return m.RxBytes
1018 }
1019 return 0
1020}
1021
1022func (m *Port) GetRxErrors() uint64 {
1023 if m != nil {
1024 return m.RxErrors
1025 }
1026 return 0
1027}
1028
1029func (m *Port) GetTxPackets() uint64 {
1030 if m != nil {
1031 return m.TxPackets
1032 }
1033 return 0
1034}
1035
1036func (m *Port) GetTxBytes() uint64 {
1037 if m != nil {
1038 return m.TxBytes
1039 }
1040 return 0
1041}
1042
1043func (m *Port) GetTxErrors() uint64 {
1044 if m != nil {
1045 return m.TxErrors
1046 }
1047 return 0
1048}
1049
Rohan Agrawald7df3772020-06-29 11:23:36 +00001050func (m *Port) GetOfpPort() *openflow_13.OfpPort {
1051 if m != nil {
1052 return m.OfpPort
1053 }
1054 return nil
1055}
1056
Scott Baker9173ed82020-05-19 08:30:12 -07001057type Port_PeerPort struct {
1058 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1059 PortNo uint32 `protobuf:"varint,2,opt,name=port_no,json=portNo,proto3" json:"port_no,omitempty"`
1060 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1061 XXX_unrecognized []byte `json:"-"`
1062 XXX_sizecache int32 `json:"-"`
1063}
1064
1065func (m *Port_PeerPort) Reset() { *m = Port_PeerPort{} }
1066func (m *Port_PeerPort) String() string { return proto.CompactTextString(m) }
1067func (*Port_PeerPort) ProtoMessage() {}
1068func (*Port_PeerPort) Descriptor() ([]byte, []int) {
1069 return fileDescriptor_200940f73d155856, []int{9, 0}
1070}
1071
1072func (m *Port_PeerPort) XXX_Unmarshal(b []byte) error {
1073 return xxx_messageInfo_Port_PeerPort.Unmarshal(m, b)
1074}
1075func (m *Port_PeerPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1076 return xxx_messageInfo_Port_PeerPort.Marshal(b, m, deterministic)
1077}
1078func (m *Port_PeerPort) XXX_Merge(src proto.Message) {
1079 xxx_messageInfo_Port_PeerPort.Merge(m, src)
1080}
1081func (m *Port_PeerPort) XXX_Size() int {
1082 return xxx_messageInfo_Port_PeerPort.Size(m)
1083}
1084func (m *Port_PeerPort) XXX_DiscardUnknown() {
1085 xxx_messageInfo_Port_PeerPort.DiscardUnknown(m)
1086}
1087
1088var xxx_messageInfo_Port_PeerPort proto.InternalMessageInfo
1089
1090func (m *Port_PeerPort) GetDeviceId() string {
1091 if m != nil {
1092 return m.DeviceId
1093 }
1094 return ""
1095}
1096
1097func (m *Port_PeerPort) GetPortNo() uint32 {
1098 if m != nil {
1099 return m.PortNo
1100 }
1101 return 0
1102}
1103
1104type Ports struct {
1105 Items []*Port `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1106 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1107 XXX_unrecognized []byte `json:"-"`
1108 XXX_sizecache int32 `json:"-"`
1109}
1110
1111func (m *Ports) Reset() { *m = Ports{} }
1112func (m *Ports) String() string { return proto.CompactTextString(m) }
1113func (*Ports) ProtoMessage() {}
1114func (*Ports) Descriptor() ([]byte, []int) {
1115 return fileDescriptor_200940f73d155856, []int{10}
1116}
1117
1118func (m *Ports) XXX_Unmarshal(b []byte) error {
1119 return xxx_messageInfo_Ports.Unmarshal(m, b)
1120}
1121func (m *Ports) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1122 return xxx_messageInfo_Ports.Marshal(b, m, deterministic)
1123}
1124func (m *Ports) XXX_Merge(src proto.Message) {
1125 xxx_messageInfo_Ports.Merge(m, src)
1126}
1127func (m *Ports) XXX_Size() int {
1128 return xxx_messageInfo_Ports.Size(m)
1129}
1130func (m *Ports) XXX_DiscardUnknown() {
1131 xxx_messageInfo_Ports.DiscardUnknown(m)
1132}
1133
1134var xxx_messageInfo_Ports proto.InternalMessageInfo
1135
1136func (m *Ports) GetItems() []*Port {
1137 if m != nil {
1138 return m.Items
1139 }
1140 return nil
1141}
1142
1143// A Physical Device instance
1144type Device struct {
1145 // Voltha's device identifier
1146 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1147 // Device type, refers to one of the registered device types
1148 Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
1149 // Is this device a root device. Each logical switch has one root
1150 // device that is associated with the logical flow switch.
1151 Root bool `protobuf:"varint,3,opt,name=root,proto3" json:"root,omitempty"`
1152 // Parent device id, in the device tree (for a root device, the parent_id
1153 // is the logical_device.id)
1154 ParentId string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
1155 ParentPortNo uint32 `protobuf:"varint,20,opt,name=parent_port_no,json=parentPortNo,proto3" json:"parent_port_no,omitempty"`
1156 // Vendor, version, serial number, etc.
1157 Vendor string `protobuf:"bytes,5,opt,name=vendor,proto3" json:"vendor,omitempty"`
1158 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
1159 HardwareVersion string `protobuf:"bytes,7,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
1160 FirmwareVersion string `protobuf:"bytes,8,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
1161 // List of software on the device
1162 Images *Images `protobuf:"bytes,9,opt,name=images,proto3" json:"images,omitempty"`
1163 SerialNumber string `protobuf:"bytes,10,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
1164 VendorId string `protobuf:"bytes,24,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
1165 // Addapter that takes care of device
1166 Adapter string `protobuf:"bytes,11,opt,name=adapter,proto3" json:"adapter,omitempty"`
1167 // Device contact on vlan (if 0, no vlan)
1168 Vlan uint32 `protobuf:"varint,12,opt,name=vlan,proto3" json:"vlan,omitempty"`
1169 // Device contact MAC address (format: "xx:xx:xx:xx:xx:xx")
1170 MacAddress string `protobuf:"bytes,13,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
1171 // Types that are valid to be assigned to Address:
1172 // *Device_Ipv4Address
1173 // *Device_Ipv6Address
1174 // *Device_HostAndPort
1175 Address isDevice_Address `protobuf_oneof:"address"`
1176 ExtraArgs string `protobuf:"bytes,23,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
1177 ProxyAddress *Device_ProxyAddress `protobuf:"bytes,19,opt,name=proxy_address,json=proxyAddress,proto3" json:"proxy_address,omitempty"`
1178 AdminState common.AdminState_Types `protobuf:"varint,16,opt,name=admin_state,json=adminState,proto3,enum=common.AdminState_Types" json:"admin_state,omitempty"`
1179 OperStatus common.OperStatus_Types `protobuf:"varint,17,opt,name=oper_status,json=operStatus,proto3,enum=common.OperStatus_Types" json:"oper_status,omitempty"`
1180 Reason string `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
1181 ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
1182 // Device type specific attributes
1183 Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
1184 Ports []*Port `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
1185 Flows *openflow_13.Flows `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
1186 FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
1187 // PmConfigs will eventually converted to a child node of the
1188 // device to falicitata callbacks and to simplify manipulation.
1189 PmConfigs *PmConfigs `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
1190 ImageDownloads []*ImageDownload `protobuf:"bytes,133,rep,name=image_downloads,json=imageDownloads,proto3" json:"image_downloads,omitempty"`
1191 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1192 XXX_unrecognized []byte `json:"-"`
1193 XXX_sizecache int32 `json:"-"`
1194}
1195
1196func (m *Device) Reset() { *m = Device{} }
1197func (m *Device) String() string { return proto.CompactTextString(m) }
1198func (*Device) ProtoMessage() {}
1199func (*Device) Descriptor() ([]byte, []int) {
1200 return fileDescriptor_200940f73d155856, []int{11}
1201}
1202
1203func (m *Device) XXX_Unmarshal(b []byte) error {
1204 return xxx_messageInfo_Device.Unmarshal(m, b)
1205}
1206func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1207 return xxx_messageInfo_Device.Marshal(b, m, deterministic)
1208}
1209func (m *Device) XXX_Merge(src proto.Message) {
1210 xxx_messageInfo_Device.Merge(m, src)
1211}
1212func (m *Device) XXX_Size() int {
1213 return xxx_messageInfo_Device.Size(m)
1214}
1215func (m *Device) XXX_DiscardUnknown() {
1216 xxx_messageInfo_Device.DiscardUnknown(m)
1217}
1218
1219var xxx_messageInfo_Device proto.InternalMessageInfo
1220
1221func (m *Device) GetId() string {
1222 if m != nil {
1223 return m.Id
1224 }
1225 return ""
1226}
1227
1228func (m *Device) GetType() string {
1229 if m != nil {
1230 return m.Type
1231 }
1232 return ""
1233}
1234
1235func (m *Device) GetRoot() bool {
1236 if m != nil {
1237 return m.Root
1238 }
1239 return false
1240}
1241
1242func (m *Device) GetParentId() string {
1243 if m != nil {
1244 return m.ParentId
1245 }
1246 return ""
1247}
1248
1249func (m *Device) GetParentPortNo() uint32 {
1250 if m != nil {
1251 return m.ParentPortNo
1252 }
1253 return 0
1254}
1255
1256func (m *Device) GetVendor() string {
1257 if m != nil {
1258 return m.Vendor
1259 }
1260 return ""
1261}
1262
1263func (m *Device) GetModel() string {
1264 if m != nil {
1265 return m.Model
1266 }
1267 return ""
1268}
1269
1270func (m *Device) GetHardwareVersion() string {
1271 if m != nil {
1272 return m.HardwareVersion
1273 }
1274 return ""
1275}
1276
1277func (m *Device) GetFirmwareVersion() string {
1278 if m != nil {
1279 return m.FirmwareVersion
1280 }
1281 return ""
1282}
1283
1284func (m *Device) GetImages() *Images {
1285 if m != nil {
1286 return m.Images
1287 }
1288 return nil
1289}
1290
1291func (m *Device) GetSerialNumber() string {
1292 if m != nil {
1293 return m.SerialNumber
1294 }
1295 return ""
1296}
1297
1298func (m *Device) GetVendorId() string {
1299 if m != nil {
1300 return m.VendorId
1301 }
1302 return ""
1303}
1304
1305func (m *Device) GetAdapter() string {
1306 if m != nil {
1307 return m.Adapter
1308 }
1309 return ""
1310}
1311
1312func (m *Device) GetVlan() uint32 {
1313 if m != nil {
1314 return m.Vlan
1315 }
1316 return 0
1317}
1318
1319func (m *Device) GetMacAddress() string {
1320 if m != nil {
1321 return m.MacAddress
1322 }
1323 return ""
1324}
1325
1326type isDevice_Address interface {
1327 isDevice_Address()
1328}
1329
1330type Device_Ipv4Address struct {
1331 Ipv4Address string `protobuf:"bytes,14,opt,name=ipv4_address,json=ipv4Address,proto3,oneof"`
1332}
1333
1334type Device_Ipv6Address struct {
1335 Ipv6Address string `protobuf:"bytes,15,opt,name=ipv6_address,json=ipv6Address,proto3,oneof"`
1336}
1337
1338type Device_HostAndPort struct {
1339 HostAndPort string `protobuf:"bytes,21,opt,name=host_and_port,json=hostAndPort,proto3,oneof"`
1340}
1341
1342func (*Device_Ipv4Address) isDevice_Address() {}
1343
1344func (*Device_Ipv6Address) isDevice_Address() {}
1345
1346func (*Device_HostAndPort) isDevice_Address() {}
1347
1348func (m *Device) GetAddress() isDevice_Address {
1349 if m != nil {
1350 return m.Address
1351 }
1352 return nil
1353}
1354
1355func (m *Device) GetIpv4Address() string {
1356 if x, ok := m.GetAddress().(*Device_Ipv4Address); ok {
1357 return x.Ipv4Address
1358 }
1359 return ""
1360}
1361
1362func (m *Device) GetIpv6Address() string {
1363 if x, ok := m.GetAddress().(*Device_Ipv6Address); ok {
1364 return x.Ipv6Address
1365 }
1366 return ""
1367}
1368
1369func (m *Device) GetHostAndPort() string {
1370 if x, ok := m.GetAddress().(*Device_HostAndPort); ok {
1371 return x.HostAndPort
1372 }
1373 return ""
1374}
1375
1376func (m *Device) GetExtraArgs() string {
1377 if m != nil {
1378 return m.ExtraArgs
1379 }
1380 return ""
1381}
1382
1383func (m *Device) GetProxyAddress() *Device_ProxyAddress {
1384 if m != nil {
1385 return m.ProxyAddress
1386 }
1387 return nil
1388}
1389
1390func (m *Device) GetAdminState() common.AdminState_Types {
1391 if m != nil {
1392 return m.AdminState
1393 }
1394 return common.AdminState_UNKNOWN
1395}
1396
1397func (m *Device) GetOperStatus() common.OperStatus_Types {
1398 if m != nil {
1399 return m.OperStatus
1400 }
1401 return common.OperStatus_UNKNOWN
1402}
1403
1404func (m *Device) GetReason() string {
1405 if m != nil {
1406 return m.Reason
1407 }
1408 return ""
1409}
1410
1411func (m *Device) GetConnectStatus() common.ConnectStatus_Types {
1412 if m != nil {
1413 return m.ConnectStatus
1414 }
1415 return common.ConnectStatus_UNKNOWN
1416}
1417
1418func (m *Device) GetCustom() *any.Any {
1419 if m != nil {
1420 return m.Custom
1421 }
1422 return nil
1423}
1424
1425func (m *Device) GetPorts() []*Port {
1426 if m != nil {
1427 return m.Ports
1428 }
1429 return nil
1430}
1431
1432func (m *Device) GetFlows() *openflow_13.Flows {
1433 if m != nil {
1434 return m.Flows
1435 }
1436 return nil
1437}
1438
1439func (m *Device) GetFlowGroups() *openflow_13.FlowGroups {
1440 if m != nil {
1441 return m.FlowGroups
1442 }
1443 return nil
1444}
1445
1446func (m *Device) GetPmConfigs() *PmConfigs {
1447 if m != nil {
1448 return m.PmConfigs
1449 }
1450 return nil
1451}
1452
1453func (m *Device) GetImageDownloads() []*ImageDownload {
1454 if m != nil {
1455 return m.ImageDownloads
1456 }
1457 return nil
1458}
1459
1460// XXX_OneofWrappers is for the internal use of the proto package.
1461func (*Device) XXX_OneofWrappers() []interface{} {
1462 return []interface{}{
1463 (*Device_Ipv4Address)(nil),
1464 (*Device_Ipv6Address)(nil),
1465 (*Device_HostAndPort)(nil),
1466 }
1467}
1468
1469type Device_ProxyAddress struct {
1470 DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
1471 DeviceType string `protobuf:"bytes,2,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
1472 ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
1473 ChannelGroupId uint32 `protobuf:"varint,4,opt,name=channel_group_id,json=channelGroupId,proto3" json:"channel_group_id,omitempty"`
1474 ChannelTermination string `protobuf:"bytes,5,opt,name=channel_termination,json=channelTermination,proto3" json:"channel_termination,omitempty"`
1475 OnuId uint32 `protobuf:"varint,6,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
1476 OnuSessionId uint32 `protobuf:"varint,7,opt,name=onu_session_id,json=onuSessionId,proto3" json:"onu_session_id,omitempty"`
1477 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1478 XXX_unrecognized []byte `json:"-"`
1479 XXX_sizecache int32 `json:"-"`
1480}
1481
1482func (m *Device_ProxyAddress) Reset() { *m = Device_ProxyAddress{} }
1483func (m *Device_ProxyAddress) String() string { return proto.CompactTextString(m) }
1484func (*Device_ProxyAddress) ProtoMessage() {}
1485func (*Device_ProxyAddress) Descriptor() ([]byte, []int) {
1486 return fileDescriptor_200940f73d155856, []int{11, 0}
1487}
1488
1489func (m *Device_ProxyAddress) XXX_Unmarshal(b []byte) error {
1490 return xxx_messageInfo_Device_ProxyAddress.Unmarshal(m, b)
1491}
1492func (m *Device_ProxyAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1493 return xxx_messageInfo_Device_ProxyAddress.Marshal(b, m, deterministic)
1494}
1495func (m *Device_ProxyAddress) XXX_Merge(src proto.Message) {
1496 xxx_messageInfo_Device_ProxyAddress.Merge(m, src)
1497}
1498func (m *Device_ProxyAddress) XXX_Size() int {
1499 return xxx_messageInfo_Device_ProxyAddress.Size(m)
1500}
1501func (m *Device_ProxyAddress) XXX_DiscardUnknown() {
1502 xxx_messageInfo_Device_ProxyAddress.DiscardUnknown(m)
1503}
1504
1505var xxx_messageInfo_Device_ProxyAddress proto.InternalMessageInfo
1506
1507func (m *Device_ProxyAddress) GetDeviceId() string {
1508 if m != nil {
1509 return m.DeviceId
1510 }
1511 return ""
1512}
1513
1514func (m *Device_ProxyAddress) GetDeviceType() string {
1515 if m != nil {
1516 return m.DeviceType
1517 }
1518 return ""
1519}
1520
1521func (m *Device_ProxyAddress) GetChannelId() uint32 {
1522 if m != nil {
1523 return m.ChannelId
1524 }
1525 return 0
1526}
1527
1528func (m *Device_ProxyAddress) GetChannelGroupId() uint32 {
1529 if m != nil {
1530 return m.ChannelGroupId
1531 }
1532 return 0
1533}
1534
1535func (m *Device_ProxyAddress) GetChannelTermination() string {
1536 if m != nil {
1537 return m.ChannelTermination
1538 }
1539 return ""
1540}
1541
1542func (m *Device_ProxyAddress) GetOnuId() uint32 {
1543 if m != nil {
1544 return m.OnuId
1545 }
1546 return 0
1547}
1548
1549func (m *Device_ProxyAddress) GetOnuSessionId() uint32 {
1550 if m != nil {
1551 return m.OnuSessionId
1552 }
1553 return 0
1554}
1555
1556type Devices struct {
1557 Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
1558 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1559 XXX_unrecognized []byte `json:"-"`
1560 XXX_sizecache int32 `json:"-"`
1561}
1562
1563func (m *Devices) Reset() { *m = Devices{} }
1564func (m *Devices) String() string { return proto.CompactTextString(m) }
1565func (*Devices) ProtoMessage() {}
1566func (*Devices) Descriptor() ([]byte, []int) {
1567 return fileDescriptor_200940f73d155856, []int{12}
1568}
1569
1570func (m *Devices) XXX_Unmarshal(b []byte) error {
1571 return xxx_messageInfo_Devices.Unmarshal(m, b)
1572}
1573func (m *Devices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1574 return xxx_messageInfo_Devices.Marshal(b, m, deterministic)
1575}
1576func (m *Devices) XXX_Merge(src proto.Message) {
1577 xxx_messageInfo_Devices.Merge(m, src)
1578}
1579func (m *Devices) XXX_Size() int {
1580 return xxx_messageInfo_Devices.Size(m)
1581}
1582func (m *Devices) XXX_DiscardUnknown() {
1583 xxx_messageInfo_Devices.DiscardUnknown(m)
1584}
1585
1586var xxx_messageInfo_Devices proto.InternalMessageInfo
1587
1588func (m *Devices) GetItems() []*Device {
1589 if m != nil {
1590 return m.Items
1591 }
1592 return nil
1593}
1594
1595type SimulateAlarmRequest struct {
1596 // Device Identifier
1597 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1598 Indicator string `protobuf:"bytes,2,opt,name=indicator,proto3" json:"indicator,omitempty"`
1599 IntfId string `protobuf:"bytes,3,opt,name=intf_id,json=intfId,proto3" json:"intf_id,omitempty"`
1600 PortTypeName string `protobuf:"bytes,4,opt,name=port_type_name,json=portTypeName,proto3" json:"port_type_name,omitempty"`
1601 OnuDeviceId string `protobuf:"bytes,5,opt,name=onu_device_id,json=onuDeviceId,proto3" json:"onu_device_id,omitempty"`
1602 InverseBitErrorRate int32 `protobuf:"varint,6,opt,name=inverse_bit_error_rate,json=inverseBitErrorRate,proto3" json:"inverse_bit_error_rate,omitempty"`
1603 Drift int32 `protobuf:"varint,7,opt,name=drift,proto3" json:"drift,omitempty"`
1604 NewEqd int32 `protobuf:"varint,8,opt,name=new_eqd,json=newEqd,proto3" json:"new_eqd,omitempty"`
1605 OnuSerialNumber string `protobuf:"bytes,9,opt,name=onu_serial_number,json=onuSerialNumber,proto3" json:"onu_serial_number,omitempty"`
1606 Operation SimulateAlarmRequest_OperationType `protobuf:"varint,10,opt,name=operation,proto3,enum=voltha.SimulateAlarmRequest_OperationType" json:"operation,omitempty"`
1607 XXX_NoUnkeyedLiteral struct{} `json:"-"`
1608 XXX_unrecognized []byte `json:"-"`
1609 XXX_sizecache int32 `json:"-"`
1610}
1611
1612func (m *SimulateAlarmRequest) Reset() { *m = SimulateAlarmRequest{} }
1613func (m *SimulateAlarmRequest) String() string { return proto.CompactTextString(m) }
1614func (*SimulateAlarmRequest) ProtoMessage() {}
1615func (*SimulateAlarmRequest) Descriptor() ([]byte, []int) {
1616 return fileDescriptor_200940f73d155856, []int{13}
1617}
1618
1619func (m *SimulateAlarmRequest) XXX_Unmarshal(b []byte) error {
1620 return xxx_messageInfo_SimulateAlarmRequest.Unmarshal(m, b)
1621}
1622func (m *SimulateAlarmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1623 return xxx_messageInfo_SimulateAlarmRequest.Marshal(b, m, deterministic)
1624}
1625func (m *SimulateAlarmRequest) XXX_Merge(src proto.Message) {
1626 xxx_messageInfo_SimulateAlarmRequest.Merge(m, src)
1627}
1628func (m *SimulateAlarmRequest) XXX_Size() int {
1629 return xxx_messageInfo_SimulateAlarmRequest.Size(m)
1630}
1631func (m *SimulateAlarmRequest) XXX_DiscardUnknown() {
1632 xxx_messageInfo_SimulateAlarmRequest.DiscardUnknown(m)
1633}
1634
1635var xxx_messageInfo_SimulateAlarmRequest proto.InternalMessageInfo
1636
1637func (m *SimulateAlarmRequest) GetId() string {
1638 if m != nil {
1639 return m.Id
1640 }
1641 return ""
1642}
1643
1644func (m *SimulateAlarmRequest) GetIndicator() string {
1645 if m != nil {
1646 return m.Indicator
1647 }
1648 return ""
1649}
1650
1651func (m *SimulateAlarmRequest) GetIntfId() string {
1652 if m != nil {
1653 return m.IntfId
1654 }
1655 return ""
1656}
1657
1658func (m *SimulateAlarmRequest) GetPortTypeName() string {
1659 if m != nil {
1660 return m.PortTypeName
1661 }
1662 return ""
1663}
1664
1665func (m *SimulateAlarmRequest) GetOnuDeviceId() string {
1666 if m != nil {
1667 return m.OnuDeviceId
1668 }
1669 return ""
1670}
1671
1672func (m *SimulateAlarmRequest) GetInverseBitErrorRate() int32 {
1673 if m != nil {
1674 return m.InverseBitErrorRate
1675 }
1676 return 0
1677}
1678
1679func (m *SimulateAlarmRequest) GetDrift() int32 {
1680 if m != nil {
1681 return m.Drift
1682 }
1683 return 0
1684}
1685
1686func (m *SimulateAlarmRequest) GetNewEqd() int32 {
1687 if m != nil {
1688 return m.NewEqd
1689 }
1690 return 0
1691}
1692
1693func (m *SimulateAlarmRequest) GetOnuSerialNumber() string {
1694 if m != nil {
1695 return m.OnuSerialNumber
1696 }
1697 return ""
1698}
1699
1700func (m *SimulateAlarmRequest) GetOperation() SimulateAlarmRequest_OperationType {
1701 if m != nil {
1702 return m.Operation
1703 }
1704 return SimulateAlarmRequest_RAISE
1705}
1706
1707func init() {
1708 proto.RegisterEnum("voltha.PmConfig_PmType", PmConfig_PmType_name, PmConfig_PmType_value)
1709 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadState", ImageDownload_ImageDownloadState_name, ImageDownload_ImageDownloadState_value)
1710 proto.RegisterEnum("voltha.ImageDownload_ImageDownloadFailureReason", ImageDownload_ImageDownloadFailureReason_name, ImageDownload_ImageDownloadFailureReason_value)
1711 proto.RegisterEnum("voltha.ImageDownload_ImageActivateState", ImageDownload_ImageActivateState_name, ImageDownload_ImageActivateState_value)
1712 proto.RegisterEnum("voltha.Port_PortType", Port_PortType_name, Port_PortType_value)
1713 proto.RegisterEnum("voltha.SimulateAlarmRequest_OperationType", SimulateAlarmRequest_OperationType_name, SimulateAlarmRequest_OperationType_value)
1714 proto.RegisterType((*DeviceType)(nil), "voltha.DeviceType")
1715 proto.RegisterType((*DeviceTypes)(nil), "voltha.DeviceTypes")
1716 proto.RegisterType((*PmConfig)(nil), "voltha.PmConfig")
1717 proto.RegisterType((*PmGroupConfig)(nil), "voltha.PmGroupConfig")
1718 proto.RegisterType((*PmConfigs)(nil), "voltha.PmConfigs")
1719 proto.RegisterType((*Image)(nil), "voltha.Image")
1720 proto.RegisterType((*Images)(nil), "voltha.Images")
1721 proto.RegisterType((*ImageDownload)(nil), "voltha.ImageDownload")
1722 proto.RegisterType((*ImageDownloads)(nil), "voltha.ImageDownloads")
1723 proto.RegisterType((*Port)(nil), "voltha.Port")
1724 proto.RegisterType((*Port_PeerPort)(nil), "voltha.Port.PeerPort")
1725 proto.RegisterType((*Ports)(nil), "voltha.Ports")
1726 proto.RegisterType((*Device)(nil), "voltha.Device")
1727 proto.RegisterType((*Device_ProxyAddress)(nil), "voltha.Device.ProxyAddress")
1728 proto.RegisterType((*Devices)(nil), "voltha.Devices")
1729 proto.RegisterType((*SimulateAlarmRequest)(nil), "voltha.SimulateAlarmRequest")
1730}
1731
1732func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
1733
1734var fileDescriptor_200940f73d155856 = []byte{
Rohan Agrawald7df3772020-06-29 11:23:36 +00001735 // 2402 bytes of a gzipped FileDescriptorProto
Scott Baker9173ed82020-05-19 08:30:12 -07001736 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4d, 0x73, 0xdb, 0xc6,
Rohan Agrawald7df3772020-06-29 11:23:36 +00001737 0xf9, 0x37, 0x29, 0x11, 0x24, 0x1e, 0xbe, 0x08, 0x5e, 0xcb, 0x31, 0x6c, 0xfd, 0x35, 0xf6, 0x9f,
1738 0x4e, 0xa7, 0x8a, 0x53, 0x4b, 0x6e, 0xdc, 0x49, 0xd2, 0x43, 0x67, 0x4c, 0x91, 0xb0, 0x8d, 0xa9,
1739 0x4a, 0xa9, 0x4b, 0x52, 0x69, 0x7b, 0xc1, 0x40, 0xc4, 0x52, 0xc2, 0x18, 0xc0, 0xd2, 0x0b, 0x90,
1740 0x92, 0x73, 0x6a, 0x9a, 0x69, 0x4f, 0xbd, 0xf5, 0x4b, 0xf4, 0x1b, 0xe4, 0xd8, 0xce, 0xf4, 0x9c,
1741 0xe9, 0x77, 0x68, 0x2f, 0xfd, 0x04, 0x39, 0x77, 0xf6, 0x59, 0x2c, 0x09, 0xc8, 0xae, 0xd3, 0x5e,
1742 0x24, 0xee, 0xef, 0x79, 0xd9, 0xdd, 0xdf, 0xee, 0x3e, 0x2f, 0x80, 0x7b, 0x4b, 0x1e, 0x65, 0x17,
1743 0xbe, 0x37, 0x17, 0x3c, 0xe3, 0xe9, 0x41, 0xc0, 0x96, 0xe1, 0x94, 0xed, 0xe3, 0x88, 0x18, 0x4a,
1744 0x76, 0xef, 0xee, 0x39, 0xe7, 0xe7, 0x11, 0x3b, 0x40, 0xf4, 0x6c, 0x31, 0x3b, 0xf0, 0x93, 0x37,
1745 0x4a, 0xe5, 0xde, 0x35, 0xf3, 0x29, 0x8f, 0x63, 0x9e, 0xe4, 0x32, 0xbb, 0x2c, 0x8b, 0x59, 0xe6,
1746 0xe7, 0x92, 0xfb, 0x65, 0x09, 0x9f, 0xb3, 0x64, 0x16, 0xf1, 0x4b, 0xef, 0xc7, 0x4f, 0x95, 0x42,
1747 0xf7, 0x2f, 0x55, 0x80, 0x01, 0x2e, 0x65, 0xfc, 0x66, 0xce, 0x48, 0x07, 0xaa, 0x61, 0x60, 0x57,
1748 0x1e, 0x54, 0xf6, 0x4c, 0x5a, 0x0d, 0x03, 0xb2, 0x03, 0xe6, 0x92, 0x25, 0x01, 0x17, 0x5e, 0x18,
1749 0xd8, 0x35, 0x84, 0x1b, 0x0a, 0x70, 0x03, 0xb2, 0x0b, 0xb0, 0x12, 0xa6, 0xb6, 0xf1, 0x60, 0x63,
1750 0xcf, 0xa4, 0xa6, 0x96, 0xa6, 0xc4, 0x86, 0xba, 0x1f, 0xf8, 0xf3, 0x8c, 0x09, 0xbb, 0x8a, 0x96,
1751 0x7a, 0x48, 0x3e, 0x03, 0xdb, 0x9f, 0x4e, 0xd9, 0x3c, 0x4b, 0xbd, 0xb3, 0x45, 0xf4, 0xca, 0xc3,
1752 0x25, 0x2d, 0xe6, 0x81, 0x9f, 0x31, 0x7b, 0xe3, 0x41, 0x65, 0xaf, 0x41, 0x6f, 0xe7, 0xf2, 0xc3,
1753 0x45, 0xf4, 0xea, 0x79, 0xc4, 0x2f, 0x27, 0x28, 0x24, 0x03, 0xb8, 0xaf, 0x0d, 0xfd, 0x20, 0xf0,
1754 0x04, 0x8b, 0xf9, 0x92, 0x15, 0xcd, 0x53, 0x7b, 0x13, 0xed, 0x77, 0x72, 0xb5, 0x5e, 0x10, 0x50,
1755 0x54, 0x5a, 0x3b, 0x49, 0xc9, 0x11, 0x3c, 0xd4, 0x5e, 0x82, 0x50, 0xb0, 0x69, 0xe6, 0x45, 0xfc,
1756 0x3c, 0x9c, 0xfa, 0x11, 0x7a, 0x4a, 0xf5, 0x4a, 0xea, 0xe8, 0x49, 0x4f, 0x38, 0x40, 0xcd, 0x23,
1757 0xa5, 0x28, 0xbd, 0xa5, 0xca, 0x5d, 0xf7, 0x33, 0x68, 0xae, 0x09, 0x4c, 0xc9, 0x1e, 0xd4, 0xc2,
1758 0x8c, 0xc5, 0xa9, 0x5d, 0x79, 0xb0, 0xb1, 0xd7, 0xfc, 0x84, 0xec, 0xab, 0x13, 0xd8, 0x5f, 0xeb,
1759 0x50, 0xa5, 0xd0, 0xfd, 0x6b, 0x05, 0x1a, 0x27, 0x71, 0x9f, 0x27, 0xb3, 0xf0, 0x9c, 0x10, 0xd8,
1760 0x4c, 0xfc, 0x98, 0xe5, 0xd4, 0xe3, 0x6f, 0xf2, 0x31, 0x6c, 0x66, 0x6f, 0xe6, 0x0c, 0xd9, 0xeb,
1761 0x7c, 0x72, 0x47, 0x7b, 0xd2, 0x36, 0xfb, 0x27, 0x31, 0xba, 0x43, 0x25, 0xc9, 0x36, 0x4b, 0xfc,
1762 0xb3, 0x88, 0x05, 0x39, 0x85, 0x7a, 0x48, 0xee, 0x43, 0x33, 0xf5, 0xe3, 0x79, 0xc4, 0xbc, 0x99,
1763 0x60, 0xaf, 0x91, 0xa0, 0x36, 0x05, 0x05, 0x3d, 0x17, 0xec, 0x75, 0xf7, 0x73, 0x30, 0x94, 0x2b,
1764 0xd2, 0x84, 0x7a, 0xff, 0x78, 0x32, 0x1c, 0x3b, 0xd4, 0xba, 0x41, 0x4c, 0xa8, 0xbd, 0xe8, 0x4d,
1765 0x5e, 0x38, 0x56, 0x45, 0xfe, 0x1c, 0x8d, 0x7b, 0x63, 0xc7, 0xaa, 0x2a, 0x95, 0xe1, 0xd8, 0xf9,
1766 0xd5, 0xd8, 0xda, 0xe8, 0xfe, 0xa9, 0x02, 0xed, 0x93, 0xf8, 0x85, 0xe0, 0x8b, 0x79, 0xbe, 0x8f,
1767 0x5d, 0x80, 0x73, 0x39, 0xf4, 0x0a, 0xbb, 0x31, 0x11, 0x19, 0xca, 0x2d, 0xad, 0xc4, 0xb8, 0x94,
1768 0x2a, 0x2e, 0x45, 0x89, 0xe5, 0x4a, 0xde, 0xb3, 0x89, 0x47, 0x50, 0x8f, 0x59, 0x26, 0xc2, 0xa9,
1769 0x3c, 0x61, 0x49, 0xac, 0x75, 0x9d, 0x0e, 0xaa, 0x15, 0xba, 0x5f, 0x55, 0xc1, 0xd4, 0x68, 0xfa,
1770 0xd6, 0x95, 0xfe, 0x7f, 0x68, 0x05, 0x6c, 0xe6, 0x2f, 0xa2, 0xac, 0xb8, 0x88, 0x66, 0x8e, 0xe1,
1771 0x32, 0xee, 0x43, 0x1d, 0xd7, 0xa4, 0x97, 0x71, 0x58, 0xfb, 0xd7, 0x77, 0xdf, 0xee, 0x56, 0xa8,
1772 0x46, 0xc9, 0x23, 0x68, 0x4b, 0x5b, 0x8f, 0x2f, 0x99, 0x10, 0x61, 0xc0, 0xd4, 0xad, 0xd3, 0x6a,
1773 0x2d, 0x29, 0x3b, 0xce, 0x45, 0xe4, 0x31, 0x18, 0x68, 0x96, 0xda, 0x35, 0x5c, 0xf8, 0xed, 0xf5,
1774 0xc2, 0x0b, 0xc4, 0xd1, 0x5c, 0xa9, 0xb8, 0x51, 0xe3, 0x7b, 0x36, 0x4a, 0xee, 0x42, 0x23, 0xf6,
1775 0xaf, 0xbc, 0xf4, 0x15, 0xbb, 0xc4, 0xdb, 0xda, 0xa6, 0xf5, 0xd8, 0xbf, 0x1a, 0xbd, 0x62, 0x97,
1776 0xdd, 0xbf, 0x57, 0xa0, 0xe6, 0xc6, 0xfe, 0x39, 0x7b, 0xe7, 0xcd, 0xb2, 0xa1, 0xbe, 0x64, 0x22,
1777 0x0d, 0x79, 0xa2, 0x9f, 0x66, 0x3e, 0x94, 0xda, 0x17, 0x7e, 0x7a, 0x81, 0xfb, 0x36, 0x29, 0xfe,
1778 0x26, 0x1f, 0x81, 0x15, 0x26, 0x69, 0xe6, 0x47, 0x91, 0x27, 0x6f, 0x7c, 0x16, 0xc6, 0x6a, 0xc3,
1779 0x26, 0xdd, 0xca, 0xf1, 0x41, 0x0e, 0xcb, 0x78, 0x11, 0xa6, 0x9e, 0x3f, 0xcd, 0xc2, 0x25, 0xc3,
1780 0x78, 0xd1, 0xa0, 0x8d, 0x30, 0xed, 0xe1, 0x58, 0x32, 0x1f, 0xa6, 0x9e, 0x8c, 0x5c, 0x61, 0x96,
1781 0xb1, 0xc0, 0x36, 0x50, 0xde, 0x0c, 0xd3, 0xbe, 0x86, 0xe4, 0x8e, 0xc2, 0xd4, 0x5b, 0xfa, 0x51,
1782 0x18, 0xe4, 0xef, 0xaf, 0x1e, 0xa6, 0xa7, 0x72, 0xd8, 0x7d, 0x0c, 0x06, 0x6e, 0x28, 0x25, 0x0f,
1783 0xa1, 0x16, 0xca, 0x5f, 0xf9, 0x13, 0x6b, 0x6b, 0x82, 0x50, 0x4c, 0x95, 0xac, 0xfb, 0xcf, 0x3a,
1784 0xb4, 0x11, 0x18, 0xf0, 0xcb, 0x24, 0xe2, 0x7e, 0xf0, 0xd6, 0x45, 0xd0, 0xc4, 0x54, 0x0b, 0xc4,
1785 0x58, 0xb0, 0xb1, 0x10, 0x51, 0xbe, 0x7b, 0xf9, 0x53, 0x22, 0x53, 0x31, 0xcd, 0x5f, 0x8d, 0xfc,
1786 0x49, 0x8e, 0xa1, 0x13, 0xe4, 0x3e, 0xbd, 0x34, 0x93, 0x91, 0xa2, 0x86, 0x0f, 0x74, 0xaf, 0xb4,
1787 0x0e, 0x3d, 0x6d, 0x79, 0x34, 0x92, 0xfa, 0xb4, 0x1d, 0x14, 0x87, 0xe4, 0x21, 0xb4, 0x71, 0xcd,
1788 0x9e, 0x3e, 0x13, 0x03, 0xa7, 0x6f, 0x21, 0x78, 0x9a, 0x1f, 0xcc, 0x47, 0x60, 0x69, 0x2b, 0x16,
1789 0x78, 0x67, 0x6f, 0x64, 0xac, 0x53, 0x67, 0xbe, 0xb5, 0xc6, 0x0f, 0x25, 0x4c, 0x5e, 0x82, 0x21,
1790 0x98, 0x9f, 0xf2, 0xc4, 0x6e, 0xe0, 0xc2, 0x9e, 0xfc, 0x17, 0x0b, 0x7b, 0xee, 0x87, 0xd1, 0x42,
1791 0x30, 0x8a, 0x76, 0x34, 0xb7, 0x27, 0x3f, 0x84, 0x2d, 0x3f, 0x08, 0xc2, 0x2c, 0xe4, 0x89, 0x1f,
1792 0x79, 0x61, 0x32, 0xe3, 0xb6, 0x89, 0x6b, 0xeb, 0xac, 0x61, 0x37, 0x99, 0x71, 0x15, 0x63, 0x96,
1793 0xcc, 0x9b, 0xe2, 0x0d, 0xb5, 0x01, 0x8f, 0x0e, 0x24, 0x94, 0xc7, 0x85, 0x1d, 0x30, 0x23, 0x2e,
1794 0x43, 0x6c, 0x10, 0x0a, 0xbb, 0xa9, 0x12, 0x09, 0x02, 0x83, 0x50, 0x10, 0x17, 0x9a, 0x8a, 0x00,
1795 0x45, 0x67, 0xeb, 0x7b, 0xe9, 0xc4, 0x0b, 0xe5, 0x67, 0x4c, 0xd1, 0x09, 0x68, 0xac, 0xb8, 0xdc,
1796 0x01, 0x73, 0x16, 0x46, 0xcc, 0x4b, 0xc3, 0x2f, 0x99, 0xdd, 0x46, 0x7e, 0x1a, 0x12, 0x18, 0x85,
1797 0x5f, 0xb2, 0xee, 0x37, 0x15, 0x20, 0x6f, 0x1f, 0x07, 0xd9, 0x06, 0x6b, 0x70, 0xfc, 0xc5, 0xf0,
1798 0xe8, 0xb8, 0x37, 0xf0, 0x26, 0xc3, 0x9f, 0x0f, 0x8f, 0xbf, 0x18, 0x5a, 0x37, 0xc8, 0x07, 0x40,
1799 0x56, 0xe8, 0x68, 0xd2, 0xef, 0x3b, 0xce, 0xc0, 0x19, 0x58, 0x95, 0x12, 0x4e, 0x9d, 0x5f, 0x4e,
1800 0x9c, 0xd1, 0xd8, 0x19, 0x58, 0xd5, 0x92, 0x97, 0xd1, 0xb8, 0x47, 0x25, 0xba, 0x41, 0x6e, 0xc1,
1801 0xd6, 0x0a, 0x7d, 0xde, 0x73, 0x8f, 0x9c, 0x81, 0xb5, 0x49, 0x6c, 0xd8, 0x2e, 0x4c, 0x38, 0x9a,
1802 0x9c, 0x9c, 0x1c, 0xa3, 0x7a, 0xad, 0xe4, 0xbc, 0xdf, 0x1b, 0xf6, 0x9d, 0x23, 0x69, 0x61, 0x74,
1803 0xff, 0x50, 0x81, 0x7b, 0xff, 0xf9, 0xbc, 0x48, 0x0b, 0x1a, 0xc3, 0x63, 0xcf, 0xa1, 0xf4, 0x58,
1804 0x06, 0xee, 0x2d, 0x68, 0xba, 0xc3, 0xd3, 0xde, 0x91, 0x3b, 0xf0, 0x26, 0xf4, 0xc8, 0xaa, 0x48,
1805 0x60, 0xe0, 0x9c, 0xba, 0x7d, 0xc7, 0x3b, 0x9c, 0x8c, 0x7e, 0x6d, 0x55, 0xe5, 0x34, 0xee, 0x70,
1806 0x34, 0x79, 0xfe, 0xdc, 0xed, 0xbb, 0xce, 0x70, 0xec, 0x8d, 0x4e, 0x7a, 0x7d, 0xc7, 0xda, 0x20,
1807 0x37, 0xa1, 0x9d, 0x13, 0x90, 0x3b, 0xdb, 0x24, 0x6d, 0x30, 0xd7, 0x0b, 0xa9, 0x75, 0xff, 0xa8,
1808 0x29, 0x2c, 0x1d, 0x81, 0x34, 0x74, 0x7f, 0xd1, 0x7b, 0xe1, 0x14, 0xf8, 0x23, 0xd0, 0x51, 0x90,
1809 0x3b, 0xec, 0xf5, 0xc7, 0xee, 0xa9, 0xcc, 0x23, 0xdb, 0x60, 0x29, 0x0c, 0x91, 0xde, 0xd8, 0x1d,
1810 0xbe, 0xb0, 0xaa, 0xc4, 0x82, 0x56, 0x01, 0x75, 0x14, 0x6b, 0x0a, 0xa1, 0xce, 0xa9, 0x43, 0x51,
1811 0x6d, 0x73, 0xed, 0x50, 0x81, 0xb8, 0x9c, 0x9f, 0x41, 0xa7, 0x44, 0x4b, 0x4a, 0x3e, 0xd6, 0xf9,
1812 0xb7, 0x5a, 0x8e, 0xb6, 0x25, 0x35, 0x9d, 0x82, 0xbf, 0xa9, 0xc1, 0xe6, 0x09, 0x17, 0x19, 0xb9,
1813 0x03, 0xf5, 0x39, 0x17, 0x99, 0x97, 0x70, 0x0c, 0x10, 0x6d, 0x6a, 0xc8, 0xe1, 0x90, 0x93, 0x6d,
1814 0xa8, 0x45, 0xfe, 0x19, 0x8b, 0xf2, 0x28, 0xa1, 0x06, 0xe4, 0xa3, 0x3c, 0x33, 0x6f, 0xe0, 0x4d,
1815 0x5d, 0x47, 0x74, 0x2e, 0x32, 0xfc, 0x53, 0xc8, 0xcb, 0x3f, 0x85, 0xa6, 0x1f, 0xc4, 0x61, 0x52,
1816 0x0a, 0x15, 0xf6, 0x7e, 0x5e, 0xbf, 0xf5, 0xa4, 0x08, 0x29, 0xdc, 0xc7, 0xf2, 0x81, 0x82, 0xbf,
1817 0x42, 0xa4, 0x29, 0x9f, 0x33, 0x81, 0x96, 0x8b, 0x14, 0xa3, 0x42, 0xc1, 0xf4, 0x78, 0xce, 0xc4,
1818 0x08, 0x25, 0xda, 0x94, 0xaf, 0x10, 0xf9, 0x0c, 0x54, 0x81, 0xe9, 0xe5, 0x81, 0xd4, 0xa4, 0x0d,
1819 0x05, 0xb8, 0x81, 0xa4, 0x68, 0xce, 0x98, 0x48, 0xed, 0xc6, 0xb5, 0x84, 0x84, 0xcb, 0x67, 0x4c,
1820 0xc8, 0x1f, 0x54, 0xe9, 0xc8, 0x8c, 0x2d, 0xae, 0xbc, 0xb9, 0x3f, 0x7d, 0xc5, 0xb2, 0x14, 0x5f,
1821 0xbf, 0x41, 0x4d, 0x71, 0x75, 0xa2, 0x00, 0x19, 0xb0, 0xc5, 0x55, 0x1e, 0x8e, 0x00, 0x85, 0x75,
1822 0x71, 0xa5, 0xc2, 0xd0, 0x0e, 0x98, 0xe2, 0xca, 0x63, 0x42, 0x70, 0x91, 0xe2, 0x93, 0x37, 0x68,
1823 0x43, 0x5c, 0x39, 0x38, 0x96, 0x6e, 0xb3, 0xb5, 0xdb, 0x96, 0x72, 0x9b, 0x15, 0xdd, 0x66, 0xda,
1824 0x6d, 0x5b, 0xb9, 0xcd, 0xd6, 0x6e, 0xb3, 0x95, 0xdb, 0x8e, 0x72, 0x9b, 0x69, 0xb7, 0x4f, 0xa0,
1825 0xc1, 0x67, 0x73, 0x4f, 0x1e, 0x9e, 0xbd, 0xf5, 0xa0, 0x82, 0xbb, 0x2b, 0x16, 0xbd, 0x5a, 0x48,
1826 0xeb, 0x7c, 0x36, 0x97, 0xdb, 0xbc, 0xf7, 0x0c, 0x1a, 0x7a, 0xcb, 0x65, 0xd6, 0x2a, 0xd7, 0x58,
1827 0x2b, 0x5c, 0x91, 0x6a, 0xf1, 0x8a, 0x74, 0x53, 0x68, 0xe8, 0x33, 0x97, 0xd5, 0xd1, 0xfa, 0x05,
1828 0x58, 0xd0, 0x72, 0xc6, 0x2f, 0x1d, 0x3a, 0x74, 0xc6, 0xde, 0x70, 0xe8, 0x5a, 0x95, 0x12, 0x32,
1829 0x19, 0xba, 0xaa, 0x9c, 0x3a, 0x39, 0x1e, 0x7a, 0xc7, 0x47, 0x63, 0x6b, 0x63, 0x35, 0x18, 0x4e,
1830 0xd4, 0xc3, 0x3b, 0x75, 0xa4, 0xa2, 0x94, 0xd5, 0x0a, 0xc3, 0xe1, 0xc4, 0x32, 0xba, 0x1f, 0x43,
1831 0x4d, 0x4e, 0x9a, 0x92, 0x6e, 0xb9, 0xde, 0x6c, 0x15, 0x0f, 0x53, 0x5f, 0xf3, 0xbf, 0xb5, 0xc0,
1832 0x50, 0xf5, 0x27, 0xb9, 0xbd, 0x4e, 0x82, 0xba, 0x5c, 0x91, 0xb9, 0xf0, 0x6e, 0xa1, 0xd4, 0x5c,
1833 0x09, 0xd4, 0x05, 0xbe, 0x0b, 0x9b, 0x82, 0xf3, 0xac, 0x5c, 0x09, 0x21, 0x44, 0xba, 0x60, 0xce,
1834 0x7d, 0xc1, 0x92, 0x4c, 0xf2, 0xb5, 0x59, 0x34, 0x6d, 0x28, 0x1c, 0x2f, 0x5b, 0x27, 0xd7, 0xd1,
1835 0xec, 0x6d, 0x4b, 0xf6, 0x56, 0xb5, 0x92, 0x12, 0x9e, 0xa8, 0xd7, 0xb6, 0x0b, 0x86, 0xea, 0x1f,
1836 0x54, 0xaf, 0xa1, 0x95, 0x72, 0x90, 0xec, 0x40, 0x2d, 0xe6, 0x01, 0x8b, 0x54, 0x82, 0xd4, 0x52,
1837 0x85, 0x91, 0x27, 0x60, 0x5d, 0xf8, 0x22, 0xb8, 0xf4, 0xc5, 0x3a, 0x91, 0xd6, 0x8b, 0x7a, 0x5b,
1838 0x5a, 0xac, 0x53, 0xea, 0x13, 0xb0, 0x66, 0xa1, 0x88, 0x4b, 0x16, 0x8d, 0x92, 0x85, 0x16, 0x6b,
1839 0x8b, 0xc7, 0x60, 0x60, 0xae, 0x51, 0x0f, 0xa1, 0xf9, 0x49, 0xa7, 0x14, 0x5d, 0xd2, 0xd5, 0x7a,
1840 0x95, 0x92, 0x2c, 0x13, 0x53, 0x26, 0x42, 0x3f, 0xf2, 0x92, 0x45, 0x7c, 0xc6, 0x04, 0xbe, 0x90,
1841 0x95, 0xf7, 0x96, 0x92, 0x0d, 0x51, 0x24, 0xb9, 0x5c, 0x77, 0x5a, 0x76, 0x89, 0xcb, 0x55, 0xc3,
1842 0x75, 0x7f, 0xdd, 0x51, 0x35, 0x8b, 0x1a, 0xab, 0xc6, 0x8a, 0xc0, 0xe6, 0x32, 0xf2, 0x13, 0x7c,
1843 0x4f, 0x6d, 0x8a, 0xbf, 0x65, 0x6a, 0x8e, 0xfd, 0xa9, 0xec, 0x97, 0x04, 0x4b, 0xd5, 0x6b, 0x32,
1844 0x29, 0xc4, 0xfe, 0xb4, 0xa7, 0x10, 0xf2, 0x10, 0x5a, 0xe1, 0x7c, 0xf9, 0x93, 0x95, 0x86, 0x7c,
1845 0x53, 0xe6, 0xcb, 0x1b, 0xb4, 0x29, 0xd1, 0xb2, 0xd2, 0xa7, 0x2b, 0xa5, 0xad, 0x82, 0xd2, 0xa7,
1846 0x5a, 0xe9, 0x43, 0x68, 0x5f, 0xf0, 0x34, 0xf3, 0xfc, 0x24, 0x50, 0x4f, 0xf0, 0xb6, 0xd6, 0x92,
1847 0x70, 0x2f, 0x09, 0xf0, 0x95, 0xed, 0x02, 0xb0, 0xab, 0x4c, 0xf8, 0x9e, 0x2f, 0xce, 0x53, 0xfb,
1848 0x8e, 0x6a, 0x11, 0x10, 0xe9, 0x89, 0xf3, 0x94, 0x3c, 0x83, 0xf6, 0x5c, 0xf0, 0xab, 0x37, 0xab,
1849 0xa9, 0x6e, 0x21, 0xd5, 0x3b, 0xe5, 0x46, 0x6a, 0xff, 0x44, 0xea, 0xe4, 0x13, 0xd3, 0xd6, 0xbc,
1850 0x30, 0xba, 0x1e, 0x72, 0xad, 0xff, 0x21, 0xe4, 0x3e, 0x2b, 0x87, 0xdc, 0x9b, 0xef, 0x0f, 0xb9,
1851 0x9a, 0xff, 0x62, 0xe4, 0xdd, 0x5d, 0x15, 0x5f, 0x1f, 0x94, 0xae, 0x70, 0x5e, 0x51, 0xb9, 0xd0,
1852 0x99, 0xf2, 0x24, 0x91, 0x4d, 0x67, 0x3e, 0x07, 0xc1, 0x39, 0x76, 0xf4, 0x1c, 0x7d, 0x25, 0x7d,
1853 0xd7, 0x34, 0xed, 0x69, 0x51, 0x46, 0x7e, 0x04, 0xc6, 0x74, 0x91, 0x66, 0x3c, 0xb6, 0x9f, 0x21,
1854 0x43, 0xdb, 0xfb, 0xea, 0xeb, 0xc1, 0xbe, 0xfe, 0x7a, 0xb0, 0xdf, 0x4b, 0xde, 0xd0, 0x5c, 0x87,
1855 0x3c, 0x85, 0x9a, 0x3c, 0x92, 0xd4, 0xfe, 0xed, 0x3b, 0x02, 0xc5, 0x61, 0xe7, 0x1f, 0xdf, 0x7d,
1856 0xbb, 0x6b, 0xae, 0x22, 0x1c, 0x55, 0xba, 0xe4, 0x09, 0xd4, 0xb0, 0x25, 0xb6, 0xbf, 0xaa, 0xe0,
1857 0x14, 0xa4, 0x14, 0x4c, 0xb1, 0x0b, 0x3e, 0xac, 0x49, 0xd3, 0x1b, 0x54, 0x29, 0x4a, 0x02, 0x51,
1858 0x9c, 0xb7, 0x3c, 0xbf, 0x53, 0x76, 0x77, 0xde, 0xb2, 0xc3, 0xd6, 0x67, 0x65, 0x0c, 0xb3, 0x15,
1859 0x44, 0x3e, 0x07, 0x98, 0xc7, 0x79, 0x21, 0x99, 0xda, 0x5f, 0x2b, 0x07, 0x37, 0xaf, 0x37, 0x41,
1860 0x2b, 0x53, 0x73, 0xbe, 0xea, 0xf4, 0x8e, 0x60, 0x4b, 0x95, 0x91, 0xba, 0x20, 0x4e, 0xed, 0xdf,
1861 0x57, 0xde, 0x53, 0x05, 0x1c, 0x36, 0xa5, 0x0b, 0x43, 0xb5, 0x01, 0xb4, 0x13, 0x96, 0x0a, 0x89,
1862 0x7b, 0x5f, 0x57, 0xa1, 0x55, 0xbc, 0x64, 0xef, 0xcf, 0x0e, 0xf7, 0xa1, 0x99, 0x0b, 0xd7, 0x71,
1863 0x94, 0x42, 0xb0, 0xfe, 0xb2, 0xb2, 0x0b, 0x30, 0xbd, 0xf0, 0x93, 0x84, 0x45, 0xd2, 0x7c, 0x43,
1864 0x75, 0xbe, 0x39, 0xe2, 0x06, 0x64, 0x0f, 0x2c, 0x2d, 0x56, 0x0d, 0x72, 0x1e, 0x51, 0xdb, 0xb4,
1865 0x93, 0xe3, 0x48, 0x8f, 0x1b, 0x90, 0x03, 0xb8, 0xa5, 0x35, 0x33, 0x26, 0xe2, 0x30, 0xf1, 0x65,
1866 0x1d, 0x9e, 0x7f, 0x9c, 0x21, 0xb9, 0x68, 0xbc, 0x96, 0x90, 0xdb, 0x60, 0xf0, 0x64, 0x21, 0x1d,
1867 0x1a, 0xe8, 0xb0, 0xc6, 0x93, 0x85, 0x1b, 0x90, 0x0f, 0xa1, 0x23, 0xe1, 0x94, 0xa5, 0x32, 0xb4,
1868 0xe9, 0x3a, 0xa1, 0x4d, 0x5b, 0x3c, 0x59, 0x8c, 0x14, 0xe8, 0x06, 0x87, 0xa6, 0x0c, 0x39, 0xb8,
1869 0xff, 0xee, 0x01, 0xd4, 0xd5, 0xdb, 0x93, 0x0f, 0xbd, 0x94, 0x74, 0x3a, 0xe5, 0xb7, 0xa9, 0xd3,
1870 0xce, 0x9f, 0x37, 0x60, 0x7b, 0x14, 0xc6, 0x8b, 0xc8, 0xcf, 0x58, 0x2f, 0xf2, 0x45, 0x4c, 0xd9,
1871 0xeb, 0x05, 0x4b, 0xb3, 0xb7, 0x3a, 0xb1, 0xff, 0x03, 0x33, 0x4c, 0x82, 0x70, 0xea, 0x67, 0x5c,
1872 0x7f, 0x2b, 0x5a, 0x03, 0x32, 0xf1, 0x86, 0x49, 0x36, 0xd3, 0xb4, 0x99, 0xd4, 0x90, 0x43, 0xb5,
1873 0x03, 0xbc, 0xaf, 0x92, 0x71, 0xf5, 0xbd, 0x41, 0x75, 0xa5, 0xad, 0x79, 0x9e, 0x8e, 0xf1, 0x93,
1874 0x43, 0x17, 0xda, 0x72, 0x9f, 0xeb, 0xa3, 0x53, 0x4c, 0x35, 0x79, 0xb2, 0x18, 0xe8, 0xd3, 0x7b,
1875 0x0a, 0x1f, 0x84, 0x89, 0x4c, 0x01, 0xcc, 0x3b, 0x0b, 0x33, 0x55, 0x5c, 0x78, 0x42, 0x06, 0x0f,
1876 0x49, 0x59, 0x8d, 0xde, 0xca, 0xa5, 0x87, 0x61, 0x86, 0x85, 0x06, 0x55, 0x6d, 0x43, 0x2d, 0x10,
1877 0xe1, 0x2c, 0x43, 0xde, 0x6a, 0x54, 0x0d, 0xe4, 0x6a, 0x13, 0x76, 0xe9, 0xb1, 0xd7, 0x01, 0xe6,
1878 0x92, 0x1a, 0x35, 0x12, 0x76, 0xe9, 0xbc, 0x0e, 0xc8, 0x23, 0xb8, 0xa9, 0xf8, 0x2e, 0x26, 0x04,
1879 0xd5, 0x4d, 0x6d, 0x21, 0xe5, 0x85, 0x64, 0xf0, 0x12, 0x4c, 0x19, 0x52, 0xd4, 0xc9, 0x02, 0x06,
1880 0x88, 0x47, 0x9a, 0xe3, 0x77, 0x31, 0x8a, 0x91, 0x09, 0xb5, 0xb1, 0xf2, 0x5c, 0x1b, 0x77, 0x7f,
1881 0x00, 0xed, 0x92, 0x8c, 0x98, 0x50, 0xa3, 0x3d, 0x77, 0xe4, 0xa8, 0x0f, 0x3c, 0xfd, 0x23, 0xa7,
1882 0x47, 0xad, 0xca, 0xe1, 0x08, 0x6e, 0x71, 0x71, 0x8e, 0xaf, 0x74, 0xca, 0x45, 0x90, 0xcf, 0x75,
1883 0xd8, 0x3a, 0xc5, 0xff, 0x8a, 0xa7, 0xdf, 0xec, 0x9f, 0x87, 0xd9, 0xc5, 0xe2, 0x4c, 0x46, 0xaa,
1884 0x03, 0xad, 0x79, 0xa0, 0x34, 0x1f, 0xe7, 0x1f, 0x18, 0x97, 0x4f, 0x0f, 0xce, 0x79, 0x8e, 0x9d,
1885 0x19, 0x08, 0x3e, 0xfd, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x23, 0x0e, 0xba, 0x2c, 0xfa, 0x14,
1886 0x00, 0x00,
Scott Baker9173ed82020-05-19 08:30:12 -07001887}