routing-service/proto/valhalla/trip.pb.go

2856 lines
112 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.19.4
// source: trip.proto
package valhalla
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type TripLeg_Traversability int32
const (
TripLeg_kNone TripLeg_Traversability = 0
TripLeg_kForward TripLeg_Traversability = 1
TripLeg_kBackward TripLeg_Traversability = 2
TripLeg_kBoth TripLeg_Traversability = 3
)
// Enum value maps for TripLeg_Traversability.
var (
TripLeg_Traversability_name = map[int32]string{
0: "kNone",
1: "kForward",
2: "kBackward",
3: "kBoth",
}
TripLeg_Traversability_value = map[string]int32{
"kNone": 0,
"kForward": 1,
"kBackward": 2,
"kBoth": 3,
}
)
func (x TripLeg_Traversability) Enum() *TripLeg_Traversability {
p := new(TripLeg_Traversability)
*p = x
return p
}
func (x TripLeg_Traversability) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_Traversability) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[0].Descriptor()
}
func (TripLeg_Traversability) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[0]
}
func (x TripLeg_Traversability) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_Traversability.Descriptor instead.
func (TripLeg_Traversability) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 0}
}
type TripLeg_Use int32
const (
TripLeg_kRoadUse TripLeg_Use = 0
TripLeg_kRampUse TripLeg_Use = 1 // Link - exits/entrance ramps.
TripLeg_kTurnChannelUse TripLeg_Use = 2 // Link - turn lane.
TripLeg_kTrackUse TripLeg_Use = 3 // Agricultural use; forest tracks
TripLeg_kDrivewayUse TripLeg_Use = 4 // Driveway/private service
TripLeg_kAlleyUse TripLeg_Use = 5 // Service road - limited route use
TripLeg_kParkingAisleUse TripLeg_Use = 6 // Access roads in parking areas
TripLeg_kEmergencyAccessUse TripLeg_Use = 7 // Emergency vehicles only
TripLeg_kDriveThruUse TripLeg_Use = 8 // Commercial drive-thru (banks/fast-food)
TripLeg_kCuldesacUse TripLeg_Use = 9 // Cul-de-sac (edge that forms a loop and is only
// connected at one node to another edge.
TripLeg_kLivingStreetUse TripLeg_Use = 10 // Shared space for cars, bikes, pedestrians
TripLeg_kServiceRoadUse TripLeg_Use = 11 // Generic service road (not driveway, alley, parking aisle, etc.)
// Bicycle specific uses
TripLeg_kCyclewayUse TripLeg_Use = 20 // Dedicated bicycle path
TripLeg_kMountainBikeUse TripLeg_Use = 21 // Mountain bike trail
TripLeg_kSidewalkUse TripLeg_Use = 24
// Pedestrian specific uses
TripLeg_kFootwayUse TripLeg_Use = 25
TripLeg_kStepsUse TripLeg_Use = 26 // Stairs
TripLeg_kPathUse TripLeg_Use = 27
TripLeg_kPedestrianUse TripLeg_Use = 28
TripLeg_kBridlewayUse TripLeg_Use = 29
TripLeg_kPedestrianCrossingUse TripLeg_Use = 32
TripLeg_kElevatorUse TripLeg_Use = 33
TripLeg_kEscalatorUse TripLeg_Use = 34
//Rest/Service Areas
TripLeg_kRestAreaUse TripLeg_Use = 30
TripLeg_kServiceAreaUse TripLeg_Use = 31
// Other...
TripLeg_kOtherUse TripLeg_Use = 40
// Ferry and rail ferry
TripLeg_kFerryUse TripLeg_Use = 41
TripLeg_kRailFerryUse TripLeg_Use = 42
TripLeg_kConstructionUse TripLeg_Use = 43 // Road under construction
// Transit specific uses. Must be last in the list
TripLeg_kRailUse TripLeg_Use = 50 // Rail line
TripLeg_kBusUse TripLeg_Use = 51 // Bus line
TripLeg_kEgressConnectionUse TripLeg_Use = 52 // Connection between transit station and transit egress
TripLeg_kPlatformConnectionUse TripLeg_Use = 53 // Connection between transit station and transit platform
TripLeg_kTransitConnectionUse TripLeg_Use = 54 // Connection between road network and transit egress
)
// Enum value maps for TripLeg_Use.
var (
TripLeg_Use_name = map[int32]string{
0: "kRoadUse",
1: "kRampUse",
2: "kTurnChannelUse",
3: "kTrackUse",
4: "kDrivewayUse",
5: "kAlleyUse",
6: "kParkingAisleUse",
7: "kEmergencyAccessUse",
8: "kDriveThruUse",
9: "kCuldesacUse",
10: "kLivingStreetUse",
11: "kServiceRoadUse",
20: "kCyclewayUse",
21: "kMountainBikeUse",
24: "kSidewalkUse",
25: "kFootwayUse",
26: "kStepsUse",
27: "kPathUse",
28: "kPedestrianUse",
29: "kBridlewayUse",
32: "kPedestrianCrossingUse",
33: "kElevatorUse",
34: "kEscalatorUse",
30: "kRestAreaUse",
31: "kServiceAreaUse",
40: "kOtherUse",
41: "kFerryUse",
42: "kRailFerryUse",
43: "kConstructionUse",
50: "kRailUse",
51: "kBusUse",
52: "kEgressConnectionUse",
53: "kPlatformConnectionUse",
54: "kTransitConnectionUse",
}
TripLeg_Use_value = map[string]int32{
"kRoadUse": 0,
"kRampUse": 1,
"kTurnChannelUse": 2,
"kTrackUse": 3,
"kDrivewayUse": 4,
"kAlleyUse": 5,
"kParkingAisleUse": 6,
"kEmergencyAccessUse": 7,
"kDriveThruUse": 8,
"kCuldesacUse": 9,
"kLivingStreetUse": 10,
"kServiceRoadUse": 11,
"kCyclewayUse": 20,
"kMountainBikeUse": 21,
"kSidewalkUse": 24,
"kFootwayUse": 25,
"kStepsUse": 26,
"kPathUse": 27,
"kPedestrianUse": 28,
"kBridlewayUse": 29,
"kPedestrianCrossingUse": 32,
"kElevatorUse": 33,
"kEscalatorUse": 34,
"kRestAreaUse": 30,
"kServiceAreaUse": 31,
"kOtherUse": 40,
"kFerryUse": 41,
"kRailFerryUse": 42,
"kConstructionUse": 43,
"kRailUse": 50,
"kBusUse": 51,
"kEgressConnectionUse": 52,
"kPlatformConnectionUse": 53,
"kTransitConnectionUse": 54,
}
)
func (x TripLeg_Use) Enum() *TripLeg_Use {
p := new(TripLeg_Use)
*p = x
return p
}
func (x TripLeg_Use) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_Use) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[1].Descriptor()
}
func (TripLeg_Use) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[1]
}
func (x TripLeg_Use) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_Use.Descriptor instead.
func (TripLeg_Use) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 1}
}
type TripLeg_Surface int32
const (
TripLeg_kPavedSmooth TripLeg_Surface = 0
TripLeg_kPaved TripLeg_Surface = 1
TripLeg_kPavedRough TripLeg_Surface = 2
TripLeg_kCompacted TripLeg_Surface = 3
TripLeg_kDirt TripLeg_Surface = 4
TripLeg_kGravel TripLeg_Surface = 5
TripLeg_kPath TripLeg_Surface = 6
TripLeg_kImpassable TripLeg_Surface = 7
)
// Enum value maps for TripLeg_Surface.
var (
TripLeg_Surface_name = map[int32]string{
0: "kPavedSmooth",
1: "kPaved",
2: "kPavedRough",
3: "kCompacted",
4: "kDirt",
5: "kGravel",
6: "kPath",
7: "kImpassable",
}
TripLeg_Surface_value = map[string]int32{
"kPavedSmooth": 0,
"kPaved": 1,
"kPavedRough": 2,
"kCompacted": 3,
"kDirt": 4,
"kGravel": 5,
"kPath": 6,
"kImpassable": 7,
}
)
func (x TripLeg_Surface) Enum() *TripLeg_Surface {
p := new(TripLeg_Surface)
*p = x
return p
}
func (x TripLeg_Surface) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_Surface) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[2].Descriptor()
}
func (TripLeg_Surface) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[2]
}
func (x TripLeg_Surface) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_Surface.Descriptor instead.
func (TripLeg_Surface) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 2}
}
type TripLeg_CycleLane int32
const (
TripLeg_kNoCycleLane TripLeg_CycleLane = 0
TripLeg_kShared TripLeg_CycleLane = 1 // Shared use lane (could be shared with pedestrians)
TripLeg_kDedicated TripLeg_CycleLane = 2 // Dedicated cycle lane
TripLeg_kSeparated TripLeg_CycleLane = 3 // A separate cycle lane (physical separation from the main carriageway
)
// Enum value maps for TripLeg_CycleLane.
var (
TripLeg_CycleLane_name = map[int32]string{
0: "kNoCycleLane",
1: "kShared",
2: "kDedicated",
3: "kSeparated",
}
TripLeg_CycleLane_value = map[string]int32{
"kNoCycleLane": 0,
"kShared": 1,
"kDedicated": 2,
"kSeparated": 3,
}
)
func (x TripLeg_CycleLane) Enum() *TripLeg_CycleLane {
p := new(TripLeg_CycleLane)
*p = x
return p
}
func (x TripLeg_CycleLane) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_CycleLane) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[3].Descriptor()
}
func (TripLeg_CycleLane) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[3]
}
func (x TripLeg_CycleLane) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_CycleLane.Descriptor instead.
func (TripLeg_CycleLane) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 3}
}
type TripLeg_SacScale int32
const (
TripLeg_kNoSacScale TripLeg_SacScale = 0
TripLeg_kHiking TripLeg_SacScale = 1
TripLeg_kMountainHiking TripLeg_SacScale = 2
TripLeg_kDemandingMountainHiking TripLeg_SacScale = 3
TripLeg_kAlpineHiking TripLeg_SacScale = 4
TripLeg_kDemandingAlpineHiking TripLeg_SacScale = 5
TripLeg_kDifficultAlpineHiking TripLeg_SacScale = 6
)
// Enum value maps for TripLeg_SacScale.
var (
TripLeg_SacScale_name = map[int32]string{
0: "kNoSacScale",
1: "kHiking",
2: "kMountainHiking",
3: "kDemandingMountainHiking",
4: "kAlpineHiking",
5: "kDemandingAlpineHiking",
6: "kDifficultAlpineHiking",
}
TripLeg_SacScale_value = map[string]int32{
"kNoSacScale": 0,
"kHiking": 1,
"kMountainHiking": 2,
"kDemandingMountainHiking": 3,
"kAlpineHiking": 4,
"kDemandingAlpineHiking": 5,
"kDifficultAlpineHiking": 6,
}
)
func (x TripLeg_SacScale) Enum() *TripLeg_SacScale {
p := new(TripLeg_SacScale)
*p = x
return p
}
func (x TripLeg_SacScale) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_SacScale) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[4].Descriptor()
}
func (TripLeg_SacScale) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[4]
}
func (x TripLeg_SacScale) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_SacScale.Descriptor instead.
func (TripLeg_SacScale) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 4}
}
type TripLeg_Sidewalk int32
const (
TripLeg_kNoSidewalk TripLeg_Sidewalk = 0
TripLeg_kLeft TripLeg_Sidewalk = 1
TripLeg_kRight TripLeg_Sidewalk = 2
TripLeg_kBothSides TripLeg_Sidewalk = 3
)
// Enum value maps for TripLeg_Sidewalk.
var (
TripLeg_Sidewalk_name = map[int32]string{
0: "kNoSidewalk",
1: "kLeft",
2: "kRight",
3: "kBothSides",
}
TripLeg_Sidewalk_value = map[string]int32{
"kNoSidewalk": 0,
"kLeft": 1,
"kRight": 2,
"kBothSides": 3,
}
)
func (x TripLeg_Sidewalk) Enum() *TripLeg_Sidewalk {
p := new(TripLeg_Sidewalk)
*p = x
return p
}
func (x TripLeg_Sidewalk) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_Sidewalk) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[5].Descriptor()
}
func (TripLeg_Sidewalk) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[5]
}
func (x TripLeg_Sidewalk) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_Sidewalk.Descriptor instead.
func (TripLeg_Sidewalk) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 5}
}
type TripLeg_Node_Type int32
const (
TripLeg_Node_kStreetIntersection TripLeg_Node_Type = 0 // Regular intersection of 2+ roads
TripLeg_Node_kGate TripLeg_Node_Type = 1 // Gate or rising bollard
TripLeg_Node_kBollard TripLeg_Node_Type = 2 // Bollard (fixed obstruction)
TripLeg_Node_kTollBooth TripLeg_Node_Type = 3 // Toll booth / fare collection
// TODO - for now there is no differentiation between bus and rail stops...
TripLeg_Node_kTransitEgress TripLeg_Node_Type = 4 // Transit egress
TripLeg_Node_kTransitStation TripLeg_Node_Type = 5 // Transit station
TripLeg_Node_kTransitPlatform TripLeg_Node_Type = 6 // Transit platform (rail and bus)
TripLeg_Node_kBikeShare TripLeg_Node_Type = 7 // Bike share location
TripLeg_Node_kParking TripLeg_Node_Type = 8 // Parking location
TripLeg_Node_kMotorwayJunction TripLeg_Node_Type = 9 // Highway = motorway_junction
TripLeg_Node_kBorderControl TripLeg_Node_Type = 10 // Border control
TripLeg_Node_kTollGantry TripLeg_Node_Type = 11 // Toll gantry
TripLeg_Node_kSumpBuster TripLeg_Node_Type = 12 // Sump Buster
TripLeg_Node_kBuildingEntrance TripLeg_Node_Type = 13 // Building Entrance
TripLeg_Node_kElevator TripLeg_Node_Type = 14 // Elevator
)
// Enum value maps for TripLeg_Node_Type.
var (
TripLeg_Node_Type_name = map[int32]string{
0: "kStreetIntersection",
1: "kGate",
2: "kBollard",
3: "kTollBooth",
4: "kTransitEgress",
5: "kTransitStation",
6: "kTransitPlatform",
7: "kBikeShare",
8: "kParking",
9: "kMotorwayJunction",
10: "kBorderControl",
11: "kTollGantry",
12: "kSumpBuster",
13: "kBuildingEntrance",
14: "kElevator",
}
TripLeg_Node_Type_value = map[string]int32{
"kStreetIntersection": 0,
"kGate": 1,
"kBollard": 2,
"kTollBooth": 3,
"kTransitEgress": 4,
"kTransitStation": 5,
"kTransitPlatform": 6,
"kBikeShare": 7,
"kParking": 8,
"kMotorwayJunction": 9,
"kBorderControl": 10,
"kTollGantry": 11,
"kSumpBuster": 12,
"kBuildingEntrance": 13,
"kElevator": 14,
}
)
func (x TripLeg_Node_Type) Enum() *TripLeg_Node_Type {
p := new(TripLeg_Node_Type)
*p = x
return p
}
func (x TripLeg_Node_Type) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TripLeg_Node_Type) Descriptor() protoreflect.EnumDescriptor {
return file_trip_proto_enumTypes[6].Descriptor()
}
func (TripLeg_Node_Type) Type() protoreflect.EnumType {
return &file_trip_proto_enumTypes[6]
}
func (x TripLeg_Node_Type) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TripLeg_Node_Type.Descriptor instead.
func (TripLeg_Node_Type) EnumDescriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 7, 0}
}
type TripLeg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OsmChangeset uint64 `protobuf:"varint,1,opt,name=osm_changeset,json=osmChangeset,proto3" json:"osm_changeset,omitempty"`
TripId uint64 `protobuf:"varint,2,opt,name=trip_id,json=tripId,proto3" json:"trip_id,omitempty"`
LegId uint32 `protobuf:"varint,3,opt,name=leg_id,json=legId,proto3" json:"leg_id,omitempty"`
LegCount uint32 `protobuf:"varint,4,opt,name=leg_count,json=legCount,proto3" json:"leg_count,omitempty"`
Location []*Location `protobuf:"bytes,5,rep,name=location,proto3" json:"location,omitempty"`
Node []*TripLeg_Node `protobuf:"bytes,6,rep,name=node,proto3" json:"node,omitempty"`
Admin []*TripLeg_Admin `protobuf:"bytes,7,rep,name=admin,proto3" json:"admin,omitempty"`
Shape string `protobuf:"bytes,8,opt,name=shape,proto3" json:"shape,omitempty"`
Bbox *BoundingBox `protobuf:"bytes,9,opt,name=bbox,proto3" json:"bbox,omitempty"`
ShapeAttributes *TripLeg_ShapeAttributes `protobuf:"bytes,10,opt,name=shape_attributes,json=shapeAttributes,proto3" json:"shape_attributes,omitempty"`
Incidents []*TripLeg_Incident `protobuf:"bytes,11,rep,name=incidents,proto3" json:"incidents,omitempty"`
Algorithms []string `protobuf:"bytes,12,rep,name=algorithms,proto3" json:"algorithms,omitempty"`
Closures []*TripLeg_Closure `protobuf:"bytes,13,rep,name=closures,proto3" json:"closures,omitempty"`
}
func (x *TripLeg) Reset() {
*x = TripLeg{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg) ProtoMessage() {}
func (x *TripLeg) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg.ProtoReflect.Descriptor instead.
func (*TripLeg) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0}
}
func (x *TripLeg) GetOsmChangeset() uint64 {
if x != nil {
return x.OsmChangeset
}
return 0
}
func (x *TripLeg) GetTripId() uint64 {
if x != nil {
return x.TripId
}
return 0
}
func (x *TripLeg) GetLegId() uint32 {
if x != nil {
return x.LegId
}
return 0
}
func (x *TripLeg) GetLegCount() uint32 {
if x != nil {
return x.LegCount
}
return 0
}
func (x *TripLeg) GetLocation() []*Location {
if x != nil {
return x.Location
}
return nil
}
func (x *TripLeg) GetNode() []*TripLeg_Node {
if x != nil {
return x.Node
}
return nil
}
func (x *TripLeg) GetAdmin() []*TripLeg_Admin {
if x != nil {
return x.Admin
}
return nil
}
func (x *TripLeg) GetShape() string {
if x != nil {
return x.Shape
}
return ""
}
func (x *TripLeg) GetBbox() *BoundingBox {
if x != nil {
return x.Bbox
}
return nil
}
func (x *TripLeg) GetShapeAttributes() *TripLeg_ShapeAttributes {
if x != nil {
return x.ShapeAttributes
}
return nil
}
func (x *TripLeg) GetIncidents() []*TripLeg_Incident {
if x != nil {
return x.Incidents
}
return nil
}
func (x *TripLeg) GetAlgorithms() []string {
if x != nil {
return x.Algorithms
}
return nil
}
func (x *TripLeg) GetClosures() []*TripLeg_Closure {
if x != nil {
return x.Closures
}
return nil
}
type TripRoute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Legs []*TripLeg `protobuf:"bytes,1,rep,name=legs,proto3" json:"legs,omitempty"`
}
func (x *TripRoute) Reset() {
*x = TripRoute{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripRoute) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripRoute) ProtoMessage() {}
func (x *TripRoute) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripRoute.ProtoReflect.Descriptor instead.
func (*TripRoute) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{1}
}
func (x *TripRoute) GetLegs() []*TripLeg {
if x != nil {
return x.Legs
}
return nil
}
type Trip struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Routes []*TripRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
}
func (x *Trip) Reset() {
*x = Trip{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Trip) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Trip) ProtoMessage() {}
func (x *Trip) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Trip.ProtoReflect.Descriptor instead.
func (*Trip) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{2}
}
func (x *Trip) GetRoutes() []*TripRoute {
if x != nil {
return x.Routes
}
return nil
}
type TripLeg_LaneConnectivity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromWayId uint64 `protobuf:"varint,1,opt,name=from_way_id,json=fromWayId,proto3" json:"from_way_id,omitempty"`
FromLanes string `protobuf:"bytes,2,opt,name=from_lanes,json=fromLanes,proto3" json:"from_lanes,omitempty"`
ToLanes string `protobuf:"bytes,3,opt,name=to_lanes,json=toLanes,proto3" json:"to_lanes,omitempty"`
}
func (x *TripLeg_LaneConnectivity) Reset() {
*x = TripLeg_LaneConnectivity{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_LaneConnectivity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_LaneConnectivity) ProtoMessage() {}
func (x *TripLeg_LaneConnectivity) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_LaneConnectivity.ProtoReflect.Descriptor instead.
func (*TripLeg_LaneConnectivity) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 0}
}
func (x *TripLeg_LaneConnectivity) GetFromWayId() uint64 {
if x != nil {
return x.FromWayId
}
return 0
}
func (x *TripLeg_LaneConnectivity) GetFromLanes() string {
if x != nil {
return x.FromLanes
}
return ""
}
func (x *TripLeg_LaneConnectivity) GetToLanes() string {
if x != nil {
return x.ToLanes
}
return ""
}
type TripLeg_TrafficSegment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SegmentId uint64 `protobuf:"varint,1,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"`
BeginPercent float32 `protobuf:"fixed32,2,opt,name=begin_percent,json=beginPercent,proto3" json:"begin_percent,omitempty"`
EndPercent float32 `protobuf:"fixed32,3,opt,name=end_percent,json=endPercent,proto3" json:"end_percent,omitempty"`
StartsSegment bool `protobuf:"varint,4,opt,name=starts_segment,json=startsSegment,proto3" json:"starts_segment,omitempty"`
EndsSegment bool `protobuf:"varint,5,opt,name=ends_segment,json=endsSegment,proto3" json:"ends_segment,omitempty"`
}
func (x *TripLeg_TrafficSegment) Reset() {
*x = TripLeg_TrafficSegment{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_TrafficSegment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_TrafficSegment) ProtoMessage() {}
func (x *TripLeg_TrafficSegment) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_TrafficSegment.ProtoReflect.Descriptor instead.
func (*TripLeg_TrafficSegment) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 1}
}
func (x *TripLeg_TrafficSegment) GetSegmentId() uint64 {
if x != nil {
return x.SegmentId
}
return 0
}
func (x *TripLeg_TrafficSegment) GetBeginPercent() float32 {
if x != nil {
return x.BeginPercent
}
return 0
}
func (x *TripLeg_TrafficSegment) GetEndPercent() float32 {
if x != nil {
return x.EndPercent
}
return 0
}
func (x *TripLeg_TrafficSegment) GetStartsSegment() bool {
if x != nil {
return x.StartsSegment
}
return false
}
func (x *TripLeg_TrafficSegment) GetEndsSegment() bool {
if x != nil {
return x.EndsSegment
}
return false
}
type TripLeg_Restriction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
}
func (x *TripLeg_Restriction) Reset() {
*x = TripLeg_Restriction{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Restriction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Restriction) ProtoMessage() {}
func (x *TripLeg_Restriction) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Restriction.ProtoReflect.Descriptor instead.
func (*TripLeg_Restriction) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 2}
}
func (x *TripLeg_Restriction) GetType() uint32 {
if x != nil {
return x.Type
}
return 0
}
type TripLeg_Edge struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name []*StreetName `protobuf:"bytes,1,rep,name=name,proto3" json:"name,omitempty"` // street names
LengthKm float32 `protobuf:"fixed32,2,opt,name=length_km,json=lengthKm,proto3" json:"length_km,omitempty"` // km
Speed float32 `protobuf:"fixed32,3,opt,name=speed,proto3" json:"speed,omitempty"` // km/h
RoadClass RoadClass `protobuf:"varint,4,opt,name=road_class,json=roadClass,proto3,enum=valhalla.RoadClass" json:"road_class,omitempty"`
BeginHeading uint32 `protobuf:"varint,5,opt,name=begin_heading,json=beginHeading,proto3" json:"begin_heading,omitempty"` // 0-359
EndHeading uint32 `protobuf:"varint,6,opt,name=end_heading,json=endHeading,proto3" json:"end_heading,omitempty"` // 0-359
BeginShapeIndex uint32 `protobuf:"varint,7,opt,name=begin_shape_index,json=beginShapeIndex,proto3" json:"begin_shape_index,omitempty"` // inclusive
EndShapeIndex uint32 `protobuf:"varint,8,opt,name=end_shape_index,json=endShapeIndex,proto3" json:"end_shape_index,omitempty"` // inclusive
Traversability TripLeg_Traversability `protobuf:"varint,9,opt,name=traversability,proto3,enum=valhalla.TripLeg_Traversability" json:"traversability,omitempty"`
Use TripLeg_Use `protobuf:"varint,10,opt,name=use,proto3,enum=valhalla.TripLeg_Use" json:"use,omitempty"`
Toll bool `protobuf:"varint,11,opt,name=toll,proto3" json:"toll,omitempty"`
Unpaved bool `protobuf:"varint,12,opt,name=unpaved,proto3" json:"unpaved,omitempty"`
Tunnel bool `protobuf:"varint,13,opt,name=tunnel,proto3" json:"tunnel,omitempty"`
Bridge bool `protobuf:"varint,14,opt,name=bridge,proto3" json:"bridge,omitempty"`
Roundabout bool `protobuf:"varint,15,opt,name=roundabout,proto3" json:"roundabout,omitempty"`
InternalIntersection bool `protobuf:"varint,16,opt,name=internal_intersection,json=internalIntersection,proto3" json:"internal_intersection,omitempty"`
DriveOnLeft bool `protobuf:"varint,17,opt,name=drive_on_left,json=driveOnLeft,proto3" json:"drive_on_left,omitempty"` // [default = false]
Surface TripLeg_Surface `protobuf:"varint,18,opt,name=surface,proto3,enum=valhalla.TripLeg_Surface" json:"surface,omitempty"`
Sign *TripSign `protobuf:"bytes,19,opt,name=sign,proto3" json:"sign,omitempty"`
TravelMode TravelMode `protobuf:"varint,20,opt,name=travel_mode,json=travelMode,proto3,enum=valhalla.TravelMode" json:"travel_mode,omitempty"`
VehicleType VehicleType `protobuf:"varint,21,opt,name=vehicle_type,json=vehicleType,proto3,enum=valhalla.VehicleType" json:"vehicle_type,omitempty"`
PedestrianType PedestrianType `protobuf:"varint,22,opt,name=pedestrian_type,json=pedestrianType,proto3,enum=valhalla.PedestrianType" json:"pedestrian_type,omitempty"`
BicycleType BicycleType `protobuf:"varint,23,opt,name=bicycle_type,json=bicycleType,proto3,enum=valhalla.BicycleType" json:"bicycle_type,omitempty"`
TransitType TransitType `protobuf:"varint,24,opt,name=transit_type,json=transitType,proto3,enum=valhalla.TransitType" json:"transit_type,omitempty"`
TransitRouteInfo *TransitRouteInfo `protobuf:"bytes,25,opt,name=transit_route_info,json=transitRouteInfo,proto3" json:"transit_route_info,omitempty"`
Id uint64 `protobuf:"varint,26,opt,name=id,proto3" json:"id,omitempty"`
WayId uint64 `protobuf:"varint,27,opt,name=way_id,json=wayId,proto3" json:"way_id,omitempty"`
WeightedGrade float32 `protobuf:"fixed32,28,opt,name=weighted_grade,json=weightedGrade,proto3" json:"weighted_grade,omitempty"`
MaxUpwardGrade int32 `protobuf:"varint,29,opt,name=max_upward_grade,json=maxUpwardGrade,proto3" json:"max_upward_grade,omitempty"` // set to 32768 if no elevation data
MaxDownwardGrade int32 `protobuf:"varint,30,opt,name=max_downward_grade,json=maxDownwardGrade,proto3" json:"max_downward_grade,omitempty"` // set to 32768 if no elevation data
LaneCount uint32 `protobuf:"varint,31,opt,name=lane_count,json=laneCount,proto3" json:"lane_count,omitempty"`
CycleLane TripLeg_CycleLane `protobuf:"varint,32,opt,name=cycle_lane,json=cycleLane,proto3,enum=valhalla.TripLeg_CycleLane" json:"cycle_lane,omitempty"`
BicycleNetwork bool `protobuf:"varint,33,opt,name=bicycle_network,json=bicycleNetwork,proto3" json:"bicycle_network,omitempty"` // true if the edge is part of a bike network
Sidewalk TripLeg_Sidewalk `protobuf:"varint,34,opt,name=sidewalk,proto3,enum=valhalla.TripLeg_Sidewalk" json:"sidewalk,omitempty"`
Density uint32 `protobuf:"varint,35,opt,name=density,proto3" json:"density,omitempty"`
SpeedLimit uint32 `protobuf:"varint,36,opt,name=speed_limit,json=speedLimit,proto3" json:"speed_limit,omitempty"` // 0 if unavailable, 255 if unlimited
TruckSpeed float32 `protobuf:"fixed32,37,opt,name=truck_speed,json=truckSpeed,proto3" json:"truck_speed,omitempty"` // km/h, 0 if unavailable
TruckRoute bool `protobuf:"varint,38,opt,name=truck_route,json=truckRoute,proto3" json:"truck_route,omitempty"`
LaneConnectivity []*TripLeg_LaneConnectivity `protobuf:"bytes,39,rep,name=lane_connectivity,json=laneConnectivity,proto3" json:"lane_connectivity,omitempty"`
MeanElevation int32 `protobuf:"varint,40,opt,name=mean_elevation,json=meanElevation,proto3" json:"mean_elevation,omitempty"` // set to 32768 if no elevation data
TrafficSegment []*TripLeg_TrafficSegment `protobuf:"bytes,41,rep,name=traffic_segment,json=trafficSegment,proto3" json:"traffic_segment,omitempty"`
TurnLanes []*TurnLane `protobuf:"bytes,42,rep,name=turn_lanes,json=turnLanes,proto3" json:"turn_lanes,omitempty"`
HasTimeRestrictions bool `protobuf:"varint,43,opt,name=has_time_restrictions,json=hasTimeRestrictions,proto3" json:"has_time_restrictions,omitempty"`
DefaultSpeed float32 `protobuf:"fixed32,44,opt,name=default_speed,json=defaultSpeed,proto3" json:"default_speed,omitempty"` // km/h
Restriction *TripLeg_Restriction `protobuf:"bytes,45,opt,name=restriction,proto3" json:"restriction,omitempty"`
DestinationOnly bool `protobuf:"varint,46,opt,name=destination_only,json=destinationOnly,proto3" json:"destination_only,omitempty"`
IsUrban bool `protobuf:"varint,47,opt,name=is_urban,json=isUrban,proto3" json:"is_urban,omitempty"` // uses edge density to decide if edge is in an urban area
TaggedValue []*TaggedValue `protobuf:"bytes,48,rep,name=tagged_value,json=taggedValue,proto3" json:"tagged_value,omitempty"`
// for the part of the edge that is used in the path we must know where
// it starts and ends along the length of the edge as a percentage
SourceAlongEdge float32 `protobuf:"fixed32,49,opt,name=source_along_edge,json=sourceAlongEdge,proto3" json:"source_along_edge,omitempty"`
TargetAlongEdge float32 `protobuf:"fixed32,50,opt,name=target_along_edge,json=targetAlongEdge,proto3" json:"target_along_edge,omitempty"`
SacScale TripLeg_SacScale `protobuf:"varint,51,opt,name=sac_scale,json=sacScale,proto3,enum=valhalla.TripLeg_SacScale" json:"sac_scale,omitempty"`
Shoulder bool `protobuf:"varint,52,opt,name=shoulder,proto3" json:"shoulder,omitempty"`
Indoor bool `protobuf:"varint,53,opt,name=indoor,proto3" json:"indoor,omitempty"`
}
func (x *TripLeg_Edge) Reset() {
*x = TripLeg_Edge{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Edge) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Edge) ProtoMessage() {}
func (x *TripLeg_Edge) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Edge.ProtoReflect.Descriptor instead.
func (*TripLeg_Edge) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 3}
}
func (x *TripLeg_Edge) GetName() []*StreetName {
if x != nil {
return x.Name
}
return nil
}
func (x *TripLeg_Edge) GetLengthKm() float32 {
if x != nil {
return x.LengthKm
}
return 0
}
func (x *TripLeg_Edge) GetSpeed() float32 {
if x != nil {
return x.Speed
}
return 0
}
func (x *TripLeg_Edge) GetRoadClass() RoadClass {
if x != nil {
return x.RoadClass
}
return RoadClass_kMotorway
}
func (x *TripLeg_Edge) GetBeginHeading() uint32 {
if x != nil {
return x.BeginHeading
}
return 0
}
func (x *TripLeg_Edge) GetEndHeading() uint32 {
if x != nil {
return x.EndHeading
}
return 0
}
func (x *TripLeg_Edge) GetBeginShapeIndex() uint32 {
if x != nil {
return x.BeginShapeIndex
}
return 0
}
func (x *TripLeg_Edge) GetEndShapeIndex() uint32 {
if x != nil {
return x.EndShapeIndex
}
return 0
}
func (x *TripLeg_Edge) GetTraversability() TripLeg_Traversability {
if x != nil {
return x.Traversability
}
return TripLeg_kNone
}
func (x *TripLeg_Edge) GetUse() TripLeg_Use {
if x != nil {
return x.Use
}
return TripLeg_kRoadUse
}
func (x *TripLeg_Edge) GetToll() bool {
if x != nil {
return x.Toll
}
return false
}
func (x *TripLeg_Edge) GetUnpaved() bool {
if x != nil {
return x.Unpaved
}
return false
}
func (x *TripLeg_Edge) GetTunnel() bool {
if x != nil {
return x.Tunnel
}
return false
}
func (x *TripLeg_Edge) GetBridge() bool {
if x != nil {
return x.Bridge
}
return false
}
func (x *TripLeg_Edge) GetRoundabout() bool {
if x != nil {
return x.Roundabout
}
return false
}
func (x *TripLeg_Edge) GetInternalIntersection() bool {
if x != nil {
return x.InternalIntersection
}
return false
}
func (x *TripLeg_Edge) GetDriveOnLeft() bool {
if x != nil {
return x.DriveOnLeft
}
return false
}
func (x *TripLeg_Edge) GetSurface() TripLeg_Surface {
if x != nil {
return x.Surface
}
return TripLeg_kPavedSmooth
}
func (x *TripLeg_Edge) GetSign() *TripSign {
if x != nil {
return x.Sign
}
return nil
}
func (x *TripLeg_Edge) GetTravelMode() TravelMode {
if x != nil {
return x.TravelMode
}
return TravelMode_kDrive
}
func (x *TripLeg_Edge) GetVehicleType() VehicleType {
if x != nil {
return x.VehicleType
}
return VehicleType_kCar
}
func (x *TripLeg_Edge) GetPedestrianType() PedestrianType {
if x != nil {
return x.PedestrianType
}
return PedestrianType_kFoot
}
func (x *TripLeg_Edge) GetBicycleType() BicycleType {
if x != nil {
return x.BicycleType
}
return BicycleType_kRoad
}
func (x *TripLeg_Edge) GetTransitType() TransitType {
if x != nil {
return x.TransitType
}
return TransitType_kTram
}
func (x *TripLeg_Edge) GetTransitRouteInfo() *TransitRouteInfo {
if x != nil {
return x.TransitRouteInfo
}
return nil
}
func (x *TripLeg_Edge) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *TripLeg_Edge) GetWayId() uint64 {
if x != nil {
return x.WayId
}
return 0
}
func (x *TripLeg_Edge) GetWeightedGrade() float32 {
if x != nil {
return x.WeightedGrade
}
return 0
}
func (x *TripLeg_Edge) GetMaxUpwardGrade() int32 {
if x != nil {
return x.MaxUpwardGrade
}
return 0
}
func (x *TripLeg_Edge) GetMaxDownwardGrade() int32 {
if x != nil {
return x.MaxDownwardGrade
}
return 0
}
func (x *TripLeg_Edge) GetLaneCount() uint32 {
if x != nil {
return x.LaneCount
}
return 0
}
func (x *TripLeg_Edge) GetCycleLane() TripLeg_CycleLane {
if x != nil {
return x.CycleLane
}
return TripLeg_kNoCycleLane
}
func (x *TripLeg_Edge) GetBicycleNetwork() bool {
if x != nil {
return x.BicycleNetwork
}
return false
}
func (x *TripLeg_Edge) GetSidewalk() TripLeg_Sidewalk {
if x != nil {
return x.Sidewalk
}
return TripLeg_kNoSidewalk
}
func (x *TripLeg_Edge) GetDensity() uint32 {
if x != nil {
return x.Density
}
return 0
}
func (x *TripLeg_Edge) GetSpeedLimit() uint32 {
if x != nil {
return x.SpeedLimit
}
return 0
}
func (x *TripLeg_Edge) GetTruckSpeed() float32 {
if x != nil {
return x.TruckSpeed
}
return 0
}
func (x *TripLeg_Edge) GetTruckRoute() bool {
if x != nil {
return x.TruckRoute
}
return false
}
func (x *TripLeg_Edge) GetLaneConnectivity() []*TripLeg_LaneConnectivity {
if x != nil {
return x.LaneConnectivity
}
return nil
}
func (x *TripLeg_Edge) GetMeanElevation() int32 {
if x != nil {
return x.MeanElevation
}
return 0
}
func (x *TripLeg_Edge) GetTrafficSegment() []*TripLeg_TrafficSegment {
if x != nil {
return x.TrafficSegment
}
return nil
}
func (x *TripLeg_Edge) GetTurnLanes() []*TurnLane {
if x != nil {
return x.TurnLanes
}
return nil
}
func (x *TripLeg_Edge) GetHasTimeRestrictions() bool {
if x != nil {
return x.HasTimeRestrictions
}
return false
}
func (x *TripLeg_Edge) GetDefaultSpeed() float32 {
if x != nil {
return x.DefaultSpeed
}
return 0
}
func (x *TripLeg_Edge) GetRestriction() *TripLeg_Restriction {
if x != nil {
return x.Restriction
}
return nil
}
func (x *TripLeg_Edge) GetDestinationOnly() bool {
if x != nil {
return x.DestinationOnly
}
return false
}
func (x *TripLeg_Edge) GetIsUrban() bool {
if x != nil {
return x.IsUrban
}
return false
}
func (x *TripLeg_Edge) GetTaggedValue() []*TaggedValue {
if x != nil {
return x.TaggedValue
}
return nil
}
func (x *TripLeg_Edge) GetSourceAlongEdge() float32 {
if x != nil {
return x.SourceAlongEdge
}
return 0
}
func (x *TripLeg_Edge) GetTargetAlongEdge() float32 {
if x != nil {
return x.TargetAlongEdge
}
return 0
}
func (x *TripLeg_Edge) GetSacScale() TripLeg_SacScale {
if x != nil {
return x.SacScale
}
return TripLeg_kNoSacScale
}
func (x *TripLeg_Edge) GetShoulder() bool {
if x != nil {
return x.Shoulder
}
return false
}
func (x *TripLeg_Edge) GetIndoor() bool {
if x != nil {
return x.Indoor
}
return false
}
type TripLeg_IntersectingEdge struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BeginHeading uint32 `protobuf:"varint,1,opt,name=begin_heading,json=beginHeading,proto3" json:"begin_heading,omitempty"` // 0-359
PrevNameConsistency bool `protobuf:"varint,2,opt,name=prev_name_consistency,json=prevNameConsistency,proto3" json:"prev_name_consistency,omitempty"`
CurrNameConsistency bool `protobuf:"varint,3,opt,name=curr_name_consistency,json=currNameConsistency,proto3" json:"curr_name_consistency,omitempty"`
Driveability TripLeg_Traversability `protobuf:"varint,4,opt,name=driveability,proto3,enum=valhalla.TripLeg_Traversability" json:"driveability,omitempty"`
Cyclability TripLeg_Traversability `protobuf:"varint,5,opt,name=cyclability,proto3,enum=valhalla.TripLeg_Traversability" json:"cyclability,omitempty"`
Walkability TripLeg_Traversability `protobuf:"varint,6,opt,name=walkability,proto3,enum=valhalla.TripLeg_Traversability" json:"walkability,omitempty"`
Use TripLeg_Use `protobuf:"varint,7,opt,name=use,proto3,enum=valhalla.TripLeg_Use" json:"use,omitempty"`
RoadClass RoadClass `protobuf:"varint,8,opt,name=road_class,json=roadClass,proto3,enum=valhalla.RoadClass" json:"road_class,omitempty"`
LaneCount uint32 `protobuf:"varint,9,opt,name=lane_count,json=laneCount,proto3" json:"lane_count,omitempty"`
Sign *TripSign `protobuf:"bytes,10,opt,name=sign,proto3" json:"sign,omitempty"`
}
func (x *TripLeg_IntersectingEdge) Reset() {
*x = TripLeg_IntersectingEdge{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_IntersectingEdge) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_IntersectingEdge) ProtoMessage() {}
func (x *TripLeg_IntersectingEdge) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_IntersectingEdge.ProtoReflect.Descriptor instead.
func (*TripLeg_IntersectingEdge) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 4}
}
func (x *TripLeg_IntersectingEdge) GetBeginHeading() uint32 {
if x != nil {
return x.BeginHeading
}
return 0
}
func (x *TripLeg_IntersectingEdge) GetPrevNameConsistency() bool {
if x != nil {
return x.PrevNameConsistency
}
return false
}
func (x *TripLeg_IntersectingEdge) GetCurrNameConsistency() bool {
if x != nil {
return x.CurrNameConsistency
}
return false
}
func (x *TripLeg_IntersectingEdge) GetDriveability() TripLeg_Traversability {
if x != nil {
return x.Driveability
}
return TripLeg_kNone
}
func (x *TripLeg_IntersectingEdge) GetCyclability() TripLeg_Traversability {
if x != nil {
return x.Cyclability
}
return TripLeg_kNone
}
func (x *TripLeg_IntersectingEdge) GetWalkability() TripLeg_Traversability {
if x != nil {
return x.Walkability
}
return TripLeg_kNone
}
func (x *TripLeg_IntersectingEdge) GetUse() TripLeg_Use {
if x != nil {
return x.Use
}
return TripLeg_kRoadUse
}
func (x *TripLeg_IntersectingEdge) GetRoadClass() RoadClass {
if x != nil {
return x.RoadClass
}
return RoadClass_kMotorway
}
func (x *TripLeg_IntersectingEdge) GetLaneCount() uint32 {
if x != nil {
return x.LaneCount
}
return 0
}
func (x *TripLeg_IntersectingEdge) GetSign() *TripSign {
if x != nil {
return x.Sign
}
return nil
}
type TripLeg_Cost struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seconds float64 `protobuf:"fixed64,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
Cost float64 `protobuf:"fixed64,2,opt,name=cost,proto3" json:"cost,omitempty"`
}
func (x *TripLeg_Cost) Reset() {
*x = TripLeg_Cost{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Cost) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Cost) ProtoMessage() {}
func (x *TripLeg_Cost) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Cost.ProtoReflect.Descriptor instead.
func (*TripLeg_Cost) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 5}
}
func (x *TripLeg_Cost) GetSeconds() float64 {
if x != nil {
return x.Seconds
}
return 0
}
func (x *TripLeg_Cost) GetCost() float64 {
if x != nil {
return x.Cost
}
return 0
}
type TripLeg_PathCost struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElapsedCost *TripLeg_Cost `protobuf:"bytes,1,opt,name=elapsed_cost,json=elapsedCost,proto3" json:"elapsed_cost,omitempty"`
TransitionCost *TripLeg_Cost `protobuf:"bytes,2,opt,name=transition_cost,json=transitionCost,proto3" json:"transition_cost,omitempty"`
}
func (x *TripLeg_PathCost) Reset() {
*x = TripLeg_PathCost{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_PathCost) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_PathCost) ProtoMessage() {}
func (x *TripLeg_PathCost) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_PathCost.ProtoReflect.Descriptor instead.
func (*TripLeg_PathCost) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 6}
}
func (x *TripLeg_PathCost) GetElapsedCost() *TripLeg_Cost {
if x != nil {
return x.ElapsedCost
}
return nil
}
func (x *TripLeg_PathCost) GetTransitionCost() *TripLeg_Cost {
if x != nil {
return x.TransitionCost
}
return nil
}
type TripLeg_Node struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Edge *TripLeg_Edge `protobuf:"bytes,1,opt,name=edge,proto3" json:"edge,omitempty"`
IntersectingEdge []*TripLeg_IntersectingEdge `protobuf:"bytes,2,rep,name=intersecting_edge,json=intersectingEdge,proto3" json:"intersecting_edge,omitempty"`
AdminIndex uint32 `protobuf:"varint,3,opt,name=admin_index,json=adminIndex,proto3" json:"admin_index,omitempty"` // index into the admin list, 0 if unknown
Type TripLeg_Node_Type `protobuf:"varint,4,opt,name=type,proto3,enum=valhalla.TripLeg_Node_Type" json:"type,omitempty"` // The type of node
Fork bool `protobuf:"varint,5,opt,name=fork,proto3" json:"fork,omitempty"` // Fork
TransitPlatformInfo *TransitPlatformInfo `protobuf:"bytes,6,opt,name=transit_platform_info,json=transitPlatformInfo,proto3" json:"transit_platform_info,omitempty"`
TransitStationInfo *TransitStationInfo `protobuf:"bytes,7,opt,name=transit_station_info,json=transitStationInfo,proto3" json:"transit_station_info,omitempty"`
TransitEgressInfo *TransitEgressInfo `protobuf:"bytes,10,opt,name=transit_egress_info,json=transitEgressInfo,proto3" json:"transit_egress_info,omitempty"`
TimeZone string `protobuf:"bytes,11,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
Cost *TripLeg_PathCost `protobuf:"bytes,12,opt,name=cost,proto3" json:"cost,omitempty"` // how much cost did it take at this node in the path
Recosts []*TripLeg_PathCost `protobuf:"bytes,13,rep,name=recosts,proto3" json:"recosts,omitempty"` // how much cost did it take at this node in the path for recostings
BssInfo *BikeShareStationInfo `protobuf:"bytes,14,opt,name=bss_info,json=bssInfo,proto3" json:"bss_info,omitempty"`
}
func (x *TripLeg_Node) Reset() {
*x = TripLeg_Node{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Node) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Node) ProtoMessage() {}
func (x *TripLeg_Node) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Node.ProtoReflect.Descriptor instead.
func (*TripLeg_Node) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 7}
}
func (x *TripLeg_Node) GetEdge() *TripLeg_Edge {
if x != nil {
return x.Edge
}
return nil
}
func (x *TripLeg_Node) GetIntersectingEdge() []*TripLeg_IntersectingEdge {
if x != nil {
return x.IntersectingEdge
}
return nil
}
func (x *TripLeg_Node) GetAdminIndex() uint32 {
if x != nil {
return x.AdminIndex
}
return 0
}
func (x *TripLeg_Node) GetType() TripLeg_Node_Type {
if x != nil {
return x.Type
}
return TripLeg_Node_kStreetIntersection
}
func (x *TripLeg_Node) GetFork() bool {
if x != nil {
return x.Fork
}
return false
}
func (x *TripLeg_Node) GetTransitPlatformInfo() *TransitPlatformInfo {
if x != nil {
return x.TransitPlatformInfo
}
return nil
}
func (x *TripLeg_Node) GetTransitStationInfo() *TransitStationInfo {
if x != nil {
return x.TransitStationInfo
}
return nil
}
func (x *TripLeg_Node) GetTransitEgressInfo() *TransitEgressInfo {
if x != nil {
return x.TransitEgressInfo
}
return nil
}
func (x *TripLeg_Node) GetTimeZone() string {
if x != nil {
return x.TimeZone
}
return ""
}
func (x *TripLeg_Node) GetCost() *TripLeg_PathCost {
if x != nil {
return x.Cost
}
return nil
}
func (x *TripLeg_Node) GetRecosts() []*TripLeg_PathCost {
if x != nil {
return x.Recosts
}
return nil
}
func (x *TripLeg_Node) GetBssInfo() *BikeShareStationInfo {
if x != nil {
return x.BssInfo
}
return nil
}
type TripLeg_Admin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
CountryText string `protobuf:"bytes,2,opt,name=country_text,json=countryText,proto3" json:"country_text,omitempty"`
StateCode string `protobuf:"bytes,3,opt,name=state_code,json=stateCode,proto3" json:"state_code,omitempty"`
StateText string `protobuf:"bytes,4,opt,name=state_text,json=stateText,proto3" json:"state_text,omitempty"`
}
func (x *TripLeg_Admin) Reset() {
*x = TripLeg_Admin{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Admin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Admin) ProtoMessage() {}
func (x *TripLeg_Admin) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Admin.ProtoReflect.Descriptor instead.
func (*TripLeg_Admin) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 8}
}
func (x *TripLeg_Admin) GetCountryCode() string {
if x != nil {
return x.CountryCode
}
return ""
}
func (x *TripLeg_Admin) GetCountryText() string {
if x != nil {
return x.CountryText
}
return ""
}
func (x *TripLeg_Admin) GetStateCode() string {
if x != nil {
return x.StateCode
}
return ""
}
func (x *TripLeg_Admin) GetStateText() string {
if x != nil {
return x.StateText
}
return ""
}
type TripLeg_ShapeAttributes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Time []uint32 `protobuf:"varint,1,rep,packed,name=time,proto3" json:"time,omitempty"` // milliseconds
Length []uint32 `protobuf:"varint,2,rep,packed,name=length,proto3" json:"length,omitempty"` // decimeters
Speed []uint32 `protobuf:"varint,3,rep,packed,name=speed,proto3" json:"speed,omitempty"` // decimeters per sec
// 4 is reserved
SpeedLimit []uint32 `protobuf:"varint,5,rep,packed,name=speed_limit,json=speedLimit,proto3" json:"speed_limit,omitempty"` // speed limit in kph
}
func (x *TripLeg_ShapeAttributes) Reset() {
*x = TripLeg_ShapeAttributes{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_ShapeAttributes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_ShapeAttributes) ProtoMessage() {}
func (x *TripLeg_ShapeAttributes) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_ShapeAttributes.ProtoReflect.Descriptor instead.
func (*TripLeg_ShapeAttributes) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 9}
}
func (x *TripLeg_ShapeAttributes) GetTime() []uint32 {
if x != nil {
return x.Time
}
return nil
}
func (x *TripLeg_ShapeAttributes) GetLength() []uint32 {
if x != nil {
return x.Length
}
return nil
}
func (x *TripLeg_ShapeAttributes) GetSpeed() []uint32 {
if x != nil {
return x.Speed
}
return nil
}
func (x *TripLeg_ShapeAttributes) GetSpeedLimit() []uint32 {
if x != nil {
return x.SpeedLimit
}
return nil
}
// we encapsulate the real incident object here so we can add information
// about where it is along the route, ie once its referenced to the route
type TripLeg_Incident struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Metadata *IncidentsTile_Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
// Valhalla additions to incident metadata goes here
BeginShapeIndex uint32 `protobuf:"varint,3,opt,name=begin_shape_index,json=beginShapeIndex,proto3" json:"begin_shape_index,omitempty"`
EndShapeIndex uint32 `protobuf:"varint,4,opt,name=end_shape_index,json=endShapeIndex,proto3" json:"end_shape_index,omitempty"`
}
func (x *TripLeg_Incident) Reset() {
*x = TripLeg_Incident{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Incident) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Incident) ProtoMessage() {}
func (x *TripLeg_Incident) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Incident.ProtoReflect.Descriptor instead.
func (*TripLeg_Incident) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 10}
}
func (x *TripLeg_Incident) GetMetadata() *IncidentsTile_Metadata {
if x != nil {
return x.Metadata
}
return nil
}
func (x *TripLeg_Incident) GetBeginShapeIndex() uint32 {
if x != nil {
return x.BeginShapeIndex
}
return 0
}
func (x *TripLeg_Incident) GetEndShapeIndex() uint32 {
if x != nil {
return x.EndShapeIndex
}
return 0
}
type TripLeg_Closure struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to HasBeginShapeIndex:
// *TripLeg_Closure_BeginShapeIndex
HasBeginShapeIndex isTripLeg_Closure_HasBeginShapeIndex `protobuf_oneof:"has_begin_shape_index"`
// Types that are assignable to HasEndShapeIndex:
// *TripLeg_Closure_EndShapeIndex
HasEndShapeIndex isTripLeg_Closure_HasEndShapeIndex `protobuf_oneof:"has_end_shape_index"`
}
func (x *TripLeg_Closure) Reset() {
*x = TripLeg_Closure{}
if protoimpl.UnsafeEnabled {
mi := &file_trip_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TripLeg_Closure) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TripLeg_Closure) ProtoMessage() {}
func (x *TripLeg_Closure) ProtoReflect() protoreflect.Message {
mi := &file_trip_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TripLeg_Closure.ProtoReflect.Descriptor instead.
func (*TripLeg_Closure) Descriptor() ([]byte, []int) {
return file_trip_proto_rawDescGZIP(), []int{0, 11}
}
func (m *TripLeg_Closure) GetHasBeginShapeIndex() isTripLeg_Closure_HasBeginShapeIndex {
if m != nil {
return m.HasBeginShapeIndex
}
return nil
}
func (x *TripLeg_Closure) GetBeginShapeIndex() uint32 {
if x, ok := x.GetHasBeginShapeIndex().(*TripLeg_Closure_BeginShapeIndex); ok {
return x.BeginShapeIndex
}
return 0
}
func (m *TripLeg_Closure) GetHasEndShapeIndex() isTripLeg_Closure_HasEndShapeIndex {
if m != nil {
return m.HasEndShapeIndex
}
return nil
}
func (x *TripLeg_Closure) GetEndShapeIndex() uint32 {
if x, ok := x.GetHasEndShapeIndex().(*TripLeg_Closure_EndShapeIndex); ok {
return x.EndShapeIndex
}
return 0
}
type isTripLeg_Closure_HasBeginShapeIndex interface {
isTripLeg_Closure_HasBeginShapeIndex()
}
type TripLeg_Closure_BeginShapeIndex struct {
BeginShapeIndex uint32 `protobuf:"varint,1,opt,name=begin_shape_index,json=beginShapeIndex,proto3,oneof"`
}
func (*TripLeg_Closure_BeginShapeIndex) isTripLeg_Closure_HasBeginShapeIndex() {}
type isTripLeg_Closure_HasEndShapeIndex interface {
isTripLeg_Closure_HasEndShapeIndex()
}
type TripLeg_Closure_EndShapeIndex struct {
EndShapeIndex uint32 `protobuf:"varint,2,opt,name=end_shape_index,json=endShapeIndex,proto3,oneof"`
}
func (*TripLeg_Closure_EndShapeIndex) isTripLeg_Closure_HasEndShapeIndex() {}
var File_trip_proto protoreflect.FileDescriptor
var file_trip_proto_rawDesc = []byte{
0x0a, 0x0a, 0x74, 0x72, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x0f, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0xd8, 0x33, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x12, 0x23, 0x0a,
0x0d, 0x6f, 0x73, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x65, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x73, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6c,
0x65, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x67,
0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x2e, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x4c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x2a, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x61,
0x64, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x61, 0x6c,
0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x41, 0x64,
0x6d, 0x69, 0x6e, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
0x61, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65,
0x12, 0x29, 0x0a, 0x04, 0x62, 0x62, 0x6f, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69,
0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x04, 0x62, 0x62, 0x6f, 0x78, 0x12, 0x4c, 0x0a, 0x10, 0x73,
0x68, 0x61, 0x70, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61,
0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x41, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x41,
0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x69, 0x6e, 0x63,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e,
0x49, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65,
0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
0x68, 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x18,
0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61,
0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65,
0x52, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x10, 0x4c, 0x61,
0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1e,
0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x57, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1d,
0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12, 0x19, 0x0a,
0x08, 0x74, 0x6f, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x74, 0x6f, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x1a, 0xbf, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61,
0x66, 0x66, 0x69, 0x63, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x65,
0x67, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x02, 0x52, 0x0c, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12,
0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65,
0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73,
0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x73, 0x5f,
0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65,
0x6e, 0x64, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x21, 0x0a, 0x0b, 0x52, 0x65,
0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xfe, 0x11,
0x0a, 0x04, 0x45, 0x64, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e,
0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6b, 0x6d, 0x18, 0x02, 0x20,
0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4b, 0x6d, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x70,
0x65, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x73,
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c,
0x6c, 0x61, 0x2e, 0x52, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x09, 0x72, 0x6f,
0x61, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x65, 0x67, 0x69, 0x6e,
0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
0x62, 0x65, 0x67, 0x69, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b,
0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a,
0x11, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64,
0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53,
0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x64,
0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x0d, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65,
0x78, 0x12, 0x48, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c,
0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x76, 0x61, 0x6c, 0x68,
0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x54, 0x72, 0x61,
0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61,
0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x75,
0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61,
0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x55, 0x73, 0x65, 0x52,
0x03, 0x75, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x08, 0x52, 0x04, 0x74, 0x6f, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x6e, 0x70, 0x61,
0x76, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x6e, 0x70, 0x61, 0x76,
0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72,
0x69, 0x64, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x72, 0x69, 0x64,
0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6f, 0x75, 0x74,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6f,
0x75, 0x74, 0x12, 0x33, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28,
0x08, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72,
0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65,
0x5f, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
0x64, 0x72, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x73,
0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e,
0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x07, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65,
0x12, 0x26, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x53, 0x69,
0x67, 0x6e, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x76,
0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d,
0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12,
0x38, 0x0a, 0x0c, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61,
0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x76, 0x65,
0x68, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x70, 0x65, 0x64,
0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x50, 0x65,
0x64, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x65,
0x64, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0c,
0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x42, 0x69,
0x63, 0x79, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x62, 0x69, 0x63, 0x79, 0x63,
0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x54,
0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65,
0x12, 0x48, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74,
0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x52,
0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x77, 0x61,
0x79, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x77, 0x61, 0x79, 0x49,
0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72,
0x61, 0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x77, 0x65, 0x69, 0x67, 0x68,
0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f,
0x75, 0x70, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x1d, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x77, 0x61, 0x72, 0x64, 0x47, 0x72, 0x61,
0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x77, 0x61,
0x72, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
0x6d, 0x61, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x77, 0x61, 0x72, 0x64, 0x47, 0x72, 0x61, 0x64, 0x65,
0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1f,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x3a, 0x0a, 0x0a, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x20, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54,
0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65,
0x52, 0x09, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62,
0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x21,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x4e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x69, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6b,
0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c,
0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x77, 0x61,
0x6c, 0x6b, 0x52, 0x08, 0x73, 0x69, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6b, 0x12, 0x18, 0x0a, 0x07,
0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f,
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x70, 0x65,
0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x63, 0x6b,
0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x72,
0x75, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x63,
0x6b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74,
0x72, 0x75, 0x63, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x6c, 0x61, 0x6e,
0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x27,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e,
0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x4c, 0x61, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65,
0x61, 0x6e, 0x5f, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x61, 0x6e, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x67,
0x6d, 0x65, 0x6e, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x61, 0x6c,
0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x54, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x74, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x0a,
0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e,
0x4c, 0x61, 0x6e, 0x65, 0x52, 0x09, 0x74, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12,
0x32, 0x0a, 0x15, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74,
0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
0x68, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73,
0x70, 0x65, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6c, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74,
0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67,
0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65,
0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73,
0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x2e, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x75, 0x72, 0x62, 0x61, 0x6e,
0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x55, 0x72, 0x62, 0x61, 0x6e, 0x12,
0x38, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61,
0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x61,
0x67, 0x67, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x18, 0x31,
0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x6c, 0x6f, 0x6e,
0x67, 0x45, 0x64, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x02,
0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6f, 0x6e, 0x67, 0x45, 0x64, 0x67,
0x65, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x61, 0x63, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x33,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e,
0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x53, 0x61, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x65,
0x52, 0x08, 0x73, 0x61, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68,
0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x68,
0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x6f, 0x6f, 0x72,
0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x6f, 0x6f, 0x72, 0x1a, 0x91,
0x04, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x45,
0x64, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x68, 0x65, 0x61,
0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x67, 0x69,
0x6e, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x76,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x4e, 0x61, 0x6d,
0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x32, 0x0a, 0x15,
0x63, 0x75, 0x72, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x75, 0x72,
0x72, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79,
0x12, 0x44, 0x0a, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c,
0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72,
0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x61,
0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x79, 0x63, 0x6c, 0x61, 0x62,
0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x54,
0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x63,
0x79, 0x63, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x77, 0x61,
0x6c, 0x6b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x20, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c,
0x65, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x79, 0x52, 0x0b, 0x77, 0x61, 0x6c, 0x6b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27,
0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x55,
0x73, 0x65, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x6f, 0x61, 0x64, 0x5f,
0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x52, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73,
0x52, 0x09, 0x72, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
0x61, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x09, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x69,
0x67, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61,
0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x73, 0x69,
0x67, 0x6e, 0x1a, 0x34, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x1a, 0x86, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x74,
0x68, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0c, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64,
0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x43,
0x6f, 0x73, 0x74, 0x52, 0x0b, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x73, 0x74,
0x12, 0x3f, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x68,
0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x43, 0x6f, 0x73,
0x74, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x73,
0x74, 0x1a, 0xb2, 0x07, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x65, 0x64,
0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61,
0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x45, 0x64, 0x67, 0x65,
0x52, 0x04, 0x65, 0x64, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69,
0x70, 0x4c, 0x65, 0x67, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6e,
0x67, 0x45, 0x64, 0x67, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74,
0x69, 0x6e, 0x67, 0x45, 0x64, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e,
0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x64,
0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c,
0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x54,
0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6f, 0x72,
0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6b, 0x12, 0x51, 0x0a,
0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x4e, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69,
0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x74, 0x72,
0x61, 0x6e, 0x73, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x4b, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x67, 0x72, 0x65,
0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e,
0x73, 0x69, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a,
0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x63, 0x6f,
0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61,
0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x50, 0x61, 0x74, 0x68,
0x43, 0x6f, 0x73, 0x74, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65,
0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x61,
0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x2e, 0x50,
0x61, 0x74, 0x68, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x73, 0x74, 0x73,
0x12, 0x39, 0x0a, 0x08, 0x62, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x42, 0x69,
0x6b, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x07, 0x62, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x98, 0x02, 0x0a, 0x04,
0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x49,
0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a,
0x05, 0x6b, 0x47, 0x61, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x42, 0x6f, 0x6c,
0x6c, 0x61, 0x72, 0x64, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x54, 0x6f, 0x6c, 0x6c, 0x42,
0x6f, 0x6f, 0x74, 0x68, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x69, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x05, 0x12,
0x14, 0x0a, 0x10, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x42, 0x69, 0x6b, 0x65, 0x53, 0x68,
0x61, 0x72, 0x65, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x50, 0x61, 0x72, 0x6b, 0x69, 0x6e,
0x67, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x4d, 0x6f, 0x74, 0x6f, 0x72, 0x77, 0x61, 0x79,
0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x42,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x10, 0x0a, 0x12, 0x0f,
0x0a, 0x0b, 0x6b, 0x54, 0x6f, 0x6c, 0x6c, 0x47, 0x61, 0x6e, 0x74, 0x72, 0x79, 0x10, 0x0b, 0x12,
0x0f, 0x0a, 0x0b, 0x6b, 0x53, 0x75, 0x6d, 0x70, 0x42, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x0c,
0x12, 0x15, 0x0a, 0x11, 0x6b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x45, 0x6c, 0x65, 0x76,
0x61, 0x74, 0x6f, 0x72, 0x10, 0x0e, 0x1a, 0x8b, 0x01, 0x0a, 0x05, 0x41, 0x64, 0x6d, 0x69, 0x6e,
0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x74,
0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74,
0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74,
0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65,
0x54, 0x65, 0x78, 0x74, 0x1a, 0x84, 0x01, 0x0a, 0x0f, 0x53, 0x68, 0x61, 0x70, 0x65, 0x41, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
0x12, 0x1a, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d,
0x42, 0x02, 0x10, 0x01, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x05,
0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52,
0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f,
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52,
0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x9c, 0x01, 0x0a, 0x08,
0x49, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x61, 0x6c,
0x68, 0x61, 0x6c, 0x6c, 0x61, 0x2e, 0x49, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x54,
0x69, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f,
0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x6e, 0x64,
0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x91, 0x01, 0x0a, 0x07, 0x43,
0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f,
0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70,
0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52,
0x0d, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x61, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17,
0x0a, 0x15, 0x68, 0x61, 0x73, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x70,
0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x15, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x65,
0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x43,
0x0a, 0x0e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
0x12, 0x09, 0x0a, 0x05, 0x6b, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b,
0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x42, 0x61,
0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x42, 0x6f, 0x74,
0x68, 0x10, 0x03, 0x22, 0x8f, 0x05, 0x0a, 0x03, 0x55, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6b,
0x52, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x52, 0x61,
0x6d, 0x70, 0x55, 0x73, 0x65, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x54, 0x75, 0x72, 0x6e,
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09,
0x6b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x6b,
0x44, 0x72, 0x69, 0x76, 0x65, 0x77, 0x61, 0x79, 0x55, 0x73, 0x65, 0x10, 0x04, 0x12, 0x0d, 0x0a,
0x09, 0x6b, 0x41, 0x6c, 0x6c, 0x65, 0x79, 0x55, 0x73, 0x65, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10,
0x6b, 0x50, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x41, 0x69, 0x73, 0x6c, 0x65, 0x55, 0x73, 0x65,
0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79,
0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x73, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x6b,
0x44, 0x72, 0x69, 0x76, 0x65, 0x54, 0x68, 0x72, 0x75, 0x55, 0x73, 0x65, 0x10, 0x08, 0x12, 0x10,
0x0a, 0x0c, 0x6b, 0x43, 0x75, 0x6c, 0x64, 0x65, 0x73, 0x61, 0x63, 0x55, 0x73, 0x65, 0x10, 0x09,
0x12, 0x14, 0x0a, 0x10, 0x6b, 0x4c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x65, 0x65,
0x74, 0x55, 0x73, 0x65, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x52, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x6b,
0x43, 0x79, 0x63, 0x6c, 0x65, 0x77, 0x61, 0x79, 0x55, 0x73, 0x65, 0x10, 0x14, 0x12, 0x14, 0x0a,
0x10, 0x6b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x42, 0x69, 0x6b, 0x65, 0x55, 0x73,
0x65, 0x10, 0x15, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x53, 0x69, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6b,
0x55, 0x73, 0x65, 0x10, 0x18, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x46, 0x6f, 0x6f, 0x74, 0x77, 0x61,
0x79, 0x55, 0x73, 0x65, 0x10, 0x19, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x53, 0x74, 0x65, 0x70, 0x73,
0x55, 0x73, 0x65, 0x10, 0x1a, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x55, 0x73,
0x65, 0x10, 0x1b, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x50, 0x65, 0x64, 0x65, 0x73, 0x74, 0x72, 0x69,
0x61, 0x6e, 0x55, 0x73, 0x65, 0x10, 0x1c, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x42, 0x72, 0x69, 0x64,
0x6c, 0x65, 0x77, 0x61, 0x79, 0x55, 0x73, 0x65, 0x10, 0x1d, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x50,
0x65, 0x64, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x69, 0x6e,
0x67, 0x55, 0x73, 0x65, 0x10, 0x20, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x45, 0x6c, 0x65, 0x76, 0x61,
0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x10, 0x21, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x45, 0x73, 0x63,
0x61, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x6b,
0x52, 0x65, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x10, 0x1e, 0x12, 0x13, 0x0a,
0x0f, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65,
0x10, 0x1f, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x55, 0x73, 0x65, 0x10,
0x28, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x46, 0x65, 0x72, 0x72, 0x79, 0x55, 0x73, 0x65, 0x10, 0x29,
0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x52, 0x61, 0x69, 0x6c, 0x46, 0x65, 0x72, 0x72, 0x79, 0x55, 0x73,
0x65, 0x10, 0x2a, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x10, 0x2b, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x52, 0x61,
0x69, 0x6c, 0x55, 0x73, 0x65, 0x10, 0x32, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x42, 0x75, 0x73, 0x55,
0x73, 0x65, 0x10, 0x33, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x10, 0x34, 0x12, 0x1a,
0x0a, 0x16, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x10, 0x35, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x55, 0x73, 0x65, 0x10, 0x36, 0x22, 0x7c, 0x0a, 0x07, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65,
0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x50, 0x61, 0x76, 0x65, 0x64, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68,
0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x50, 0x61, 0x76, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0f,
0x0a, 0x0b, 0x6b, 0x50, 0x61, 0x76, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12,
0x0e, 0x0a, 0x0a, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12,
0x09, 0x0a, 0x05, 0x6b, 0x44, 0x69, 0x72, 0x74, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x47,
0x72, 0x61, 0x76, 0x65, 0x6c, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x50, 0x61, 0x74, 0x68,
0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x49, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x61, 0x62, 0x6c,
0x65, 0x10, 0x07, 0x22, 0x4a, 0x0a, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65,
0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x4e, 0x6f, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65,
0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12,
0x0e, 0x0a, 0x0a, 0x6b, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x10, 0x02, 0x12,
0x0e, 0x0a, 0x0a, 0x6b, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x03, 0x22,
0xa6, 0x01, 0x0a, 0x08, 0x53, 0x61, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
0x6b, 0x4e, 0x6f, 0x53, 0x61, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a,
0x07, 0x6b, 0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x4d,
0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12,
0x1c, 0x0a, 0x18, 0x6b, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x75,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x11, 0x0a,
0x0d, 0x6b, 0x41, 0x6c, 0x70, 0x69, 0x6e, 0x65, 0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x04,
0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6c,
0x70, 0x69, 0x6e, 0x65, 0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16,
0x6b, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x41, 0x6c, 0x70, 0x69, 0x6e, 0x65,
0x48, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x22, 0x42, 0x0a, 0x08, 0x53, 0x69, 0x64, 0x65,
0x77, 0x61, 0x6c, 0x6b, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x4e, 0x6f, 0x53, 0x69, 0x64, 0x65, 0x77,
0x61, 0x6c, 0x6b, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x4c, 0x65, 0x66, 0x74, 0x10, 0x01,
0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a,
0x6b, 0x42, 0x6f, 0x74, 0x68, 0x53, 0x69, 0x64, 0x65, 0x73, 0x10, 0x03, 0x22, 0x32, 0x0a, 0x09,
0x54, 0x72, 0x69, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x65, 0x67,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61, 0x6c,
0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x4c, 0x65, 0x67, 0x52, 0x04, 0x6c, 0x65, 0x67, 0x73,
0x22, 0x33, 0x0a, 0x04, 0x54, 0x72, 0x69, 0x70, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x61, 0x6c, 0x68, 0x61,
0x6c, 0x6c, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72,
0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x40, 0x48, 0x03, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x2e, 0x63,
0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76,
0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x61, 0x50, 0x00, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_trip_proto_rawDescOnce sync.Once
file_trip_proto_rawDescData = file_trip_proto_rawDesc
)
func file_trip_proto_rawDescGZIP() []byte {
file_trip_proto_rawDescOnce.Do(func() {
file_trip_proto_rawDescData = protoimpl.X.CompressGZIP(file_trip_proto_rawDescData)
})
return file_trip_proto_rawDescData
}
var file_trip_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_trip_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_trip_proto_goTypes = []interface{}{
(TripLeg_Traversability)(0), // 0: valhalla.TripLeg.Traversability
(TripLeg_Use)(0), // 1: valhalla.TripLeg.Use
(TripLeg_Surface)(0), // 2: valhalla.TripLeg.Surface
(TripLeg_CycleLane)(0), // 3: valhalla.TripLeg.CycleLane
(TripLeg_SacScale)(0), // 4: valhalla.TripLeg.SacScale
(TripLeg_Sidewalk)(0), // 5: valhalla.TripLeg.Sidewalk
(TripLeg_Node_Type)(0), // 6: valhalla.TripLeg.Node.Type
(*TripLeg)(nil), // 7: valhalla.TripLeg
(*TripRoute)(nil), // 8: valhalla.TripRoute
(*Trip)(nil), // 9: valhalla.Trip
(*TripLeg_LaneConnectivity)(nil), // 10: valhalla.TripLeg.LaneConnectivity
(*TripLeg_TrafficSegment)(nil), // 11: valhalla.TripLeg.TrafficSegment
(*TripLeg_Restriction)(nil), // 12: valhalla.TripLeg.Restriction
(*TripLeg_Edge)(nil), // 13: valhalla.TripLeg.Edge
(*TripLeg_IntersectingEdge)(nil), // 14: valhalla.TripLeg.IntersectingEdge
(*TripLeg_Cost)(nil), // 15: valhalla.TripLeg.Cost
(*TripLeg_PathCost)(nil), // 16: valhalla.TripLeg.PathCost
(*TripLeg_Node)(nil), // 17: valhalla.TripLeg.Node
(*TripLeg_Admin)(nil), // 18: valhalla.TripLeg.Admin
(*TripLeg_ShapeAttributes)(nil), // 19: valhalla.TripLeg.ShapeAttributes
(*TripLeg_Incident)(nil), // 20: valhalla.TripLeg.Incident
(*TripLeg_Closure)(nil), // 21: valhalla.TripLeg.Closure
(*Location)(nil), // 22: valhalla.Location
(*BoundingBox)(nil), // 23: valhalla.BoundingBox
(*StreetName)(nil), // 24: valhalla.StreetName
(RoadClass)(0), // 25: valhalla.RoadClass
(*TripSign)(nil), // 26: valhalla.TripSign
(TravelMode)(0), // 27: valhalla.TravelMode
(VehicleType)(0), // 28: valhalla.VehicleType
(PedestrianType)(0), // 29: valhalla.PedestrianType
(BicycleType)(0), // 30: valhalla.BicycleType
(TransitType)(0), // 31: valhalla.TransitType
(*TransitRouteInfo)(nil), // 32: valhalla.TransitRouteInfo
(*TurnLane)(nil), // 33: valhalla.TurnLane
(*TaggedValue)(nil), // 34: valhalla.TaggedValue
(*TransitPlatformInfo)(nil), // 35: valhalla.TransitPlatformInfo
(*TransitStationInfo)(nil), // 36: valhalla.TransitStationInfo
(*TransitEgressInfo)(nil), // 37: valhalla.TransitEgressInfo
(*BikeShareStationInfo)(nil), // 38: valhalla.BikeShareStationInfo
(*IncidentsTile_Metadata)(nil), // 39: valhalla.IncidentsTile.Metadata
}
var file_trip_proto_depIdxs = []int32{
22, // 0: valhalla.TripLeg.location:type_name -> valhalla.Location
17, // 1: valhalla.TripLeg.node:type_name -> valhalla.TripLeg.Node
18, // 2: valhalla.TripLeg.admin:type_name -> valhalla.TripLeg.Admin
23, // 3: valhalla.TripLeg.bbox:type_name -> valhalla.BoundingBox
19, // 4: valhalla.TripLeg.shape_attributes:type_name -> valhalla.TripLeg.ShapeAttributes
20, // 5: valhalla.TripLeg.incidents:type_name -> valhalla.TripLeg.Incident
21, // 6: valhalla.TripLeg.closures:type_name -> valhalla.TripLeg.Closure
7, // 7: valhalla.TripRoute.legs:type_name -> valhalla.TripLeg
8, // 8: valhalla.Trip.routes:type_name -> valhalla.TripRoute
24, // 9: valhalla.TripLeg.Edge.name:type_name -> valhalla.StreetName
25, // 10: valhalla.TripLeg.Edge.road_class:type_name -> valhalla.RoadClass
0, // 11: valhalla.TripLeg.Edge.traversability:type_name -> valhalla.TripLeg.Traversability
1, // 12: valhalla.TripLeg.Edge.use:type_name -> valhalla.TripLeg.Use
2, // 13: valhalla.TripLeg.Edge.surface:type_name -> valhalla.TripLeg.Surface
26, // 14: valhalla.TripLeg.Edge.sign:type_name -> valhalla.TripSign
27, // 15: valhalla.TripLeg.Edge.travel_mode:type_name -> valhalla.TravelMode
28, // 16: valhalla.TripLeg.Edge.vehicle_type:type_name -> valhalla.VehicleType
29, // 17: valhalla.TripLeg.Edge.pedestrian_type:type_name -> valhalla.PedestrianType
30, // 18: valhalla.TripLeg.Edge.bicycle_type:type_name -> valhalla.BicycleType
31, // 19: valhalla.TripLeg.Edge.transit_type:type_name -> valhalla.TransitType
32, // 20: valhalla.TripLeg.Edge.transit_route_info:type_name -> valhalla.TransitRouteInfo
3, // 21: valhalla.TripLeg.Edge.cycle_lane:type_name -> valhalla.TripLeg.CycleLane
5, // 22: valhalla.TripLeg.Edge.sidewalk:type_name -> valhalla.TripLeg.Sidewalk
10, // 23: valhalla.TripLeg.Edge.lane_connectivity:type_name -> valhalla.TripLeg.LaneConnectivity
11, // 24: valhalla.TripLeg.Edge.traffic_segment:type_name -> valhalla.TripLeg.TrafficSegment
33, // 25: valhalla.TripLeg.Edge.turn_lanes:type_name -> valhalla.TurnLane
12, // 26: valhalla.TripLeg.Edge.restriction:type_name -> valhalla.TripLeg.Restriction
34, // 27: valhalla.TripLeg.Edge.tagged_value:type_name -> valhalla.TaggedValue
4, // 28: valhalla.TripLeg.Edge.sac_scale:type_name -> valhalla.TripLeg.SacScale
0, // 29: valhalla.TripLeg.IntersectingEdge.driveability:type_name -> valhalla.TripLeg.Traversability
0, // 30: valhalla.TripLeg.IntersectingEdge.cyclability:type_name -> valhalla.TripLeg.Traversability
0, // 31: valhalla.TripLeg.IntersectingEdge.walkability:type_name -> valhalla.TripLeg.Traversability
1, // 32: valhalla.TripLeg.IntersectingEdge.use:type_name -> valhalla.TripLeg.Use
25, // 33: valhalla.TripLeg.IntersectingEdge.road_class:type_name -> valhalla.RoadClass
26, // 34: valhalla.TripLeg.IntersectingEdge.sign:type_name -> valhalla.TripSign
15, // 35: valhalla.TripLeg.PathCost.elapsed_cost:type_name -> valhalla.TripLeg.Cost
15, // 36: valhalla.TripLeg.PathCost.transition_cost:type_name -> valhalla.TripLeg.Cost
13, // 37: valhalla.TripLeg.Node.edge:type_name -> valhalla.TripLeg.Edge
14, // 38: valhalla.TripLeg.Node.intersecting_edge:type_name -> valhalla.TripLeg.IntersectingEdge
6, // 39: valhalla.TripLeg.Node.type:type_name -> valhalla.TripLeg.Node.Type
35, // 40: valhalla.TripLeg.Node.transit_platform_info:type_name -> valhalla.TransitPlatformInfo
36, // 41: valhalla.TripLeg.Node.transit_station_info:type_name -> valhalla.TransitStationInfo
37, // 42: valhalla.TripLeg.Node.transit_egress_info:type_name -> valhalla.TransitEgressInfo
16, // 43: valhalla.TripLeg.Node.cost:type_name -> valhalla.TripLeg.PathCost
16, // 44: valhalla.TripLeg.Node.recosts:type_name -> valhalla.TripLeg.PathCost
38, // 45: valhalla.TripLeg.Node.bss_info:type_name -> valhalla.BikeShareStationInfo
39, // 46: valhalla.TripLeg.Incident.metadata:type_name -> valhalla.IncidentsTile.Metadata
47, // [47:47] is the sub-list for method output_type
47, // [47:47] is the sub-list for method input_type
47, // [47:47] is the sub-list for extension type_name
47, // [47:47] is the sub-list for extension extendee
0, // [0:47] is the sub-list for field type_name
}
func init() { file_trip_proto_init() }
func file_trip_proto_init() {
if File_trip_proto != nil {
return
}
file_common_proto_init()
file_sign_proto_init()
file_incidents_proto_init()
if !protoimpl.UnsafeEnabled {
file_trip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripRoute); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Trip); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_LaneConnectivity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_TrafficSegment); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Restriction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Edge); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_IntersectingEdge); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Cost); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_PathCost); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Node); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Admin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_ShapeAttributes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Incident); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_trip_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TripLeg_Closure); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_trip_proto_msgTypes[14].OneofWrappers = []interface{}{
(*TripLeg_Closure_BeginShapeIndex)(nil),
(*TripLeg_Closure_EndShapeIndex)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_trip_proto_rawDesc,
NumEnums: 7,
NumMessages: 15,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_trip_proto_goTypes,
DependencyIndexes: file_trip_proto_depIdxs,
EnumInfos: file_trip_proto_enumTypes,
MessageInfos: file_trip_proto_msgTypes,
}.Build()
File_trip_proto = out.File
file_trip_proto_rawDesc = nil
file_trip_proto_goTypes = nil
file_trip_proto_depIdxs = nil
}