From 66cb14c9b0bb154226a1fb25009abcad181845e4 Mon Sep 17 00:00:00 2001 From: Kevin Webb Date: Wed, 5 Feb 2020 11:56:53 -0500 Subject: [PATCH 1/2] update streetnames and 0.3.2 fixes --- .../data/SharedStreetsOSMMetadata.java | 15 +++ .../data/SharedStreetsReference.java | 2 +- .../tools/builder/ProcessPBF.java | 43 ++++++- .../tools/builder/osm/model/Way.java | 117 +++++++++++++----- .../builder/transforms/SharedStreetData.java | 2 +- 5 files changed, 141 insertions(+), 38 deletions(-) diff --git a/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java b/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java index d0ef6c3..ecb7a6d 100644 --- a/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java +++ b/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java @@ -26,7 +26,11 @@ public class WaySectionMetadata implements Serializable { public Long[] nodeIds; public String name; + public String[] tagNames; + public String[] tagValues; + public WaySectionMetadata( WaySection section, boolean storeWaySegmentNames) { + this.wayId = section.wayId; this.roadClass = section.roadClass; @@ -42,6 +46,17 @@ public WaySectionMetadata( WaySection section, boolean storeWaySegmentNames) { for(int i = 0; i < section.nodes.length; i++) { this.nodeIds[i] = section.nodes[i].nodeId; } + + this.tagNames = new String[section.fields.keySet().size()]; + this.tagValues = new String[section.fields.keySet().size()]; + + int i = 0; + for(String key : section.fields.keySet()) { + this.tagNames[i] = key; + this.tagValues[i] = section.fields.get(key); + i++; + } + } } diff --git a/src/main/java/io/sharedstreets/data/SharedStreetsReference.java b/src/main/java/io/sharedstreets/data/SharedStreetsReference.java index d378dcb..ba69eec 100644 --- a/src/main/java/io/sharedstreets/data/SharedStreetsReference.java +++ b/src/main/java/io/sharedstreets/data/SharedStreetsReference.java @@ -341,7 +341,7 @@ public static UniqueId generateId(SharedStreetsReference ssr) { } } UniqueId id = UniqueId.generateHash(hashString); - + return id; } diff --git a/src/main/java/io/sharedstreets/tools/builder/ProcessPBF.java b/src/main/java/io/sharedstreets/tools/builder/ProcessPBF.java index dfd908d..874707b 100644 --- a/src/main/java/io/sharedstreets/tools/builder/ProcessPBF.java +++ b/src/main/java/io/sharedstreets/tools/builder/ProcessPBF.java @@ -58,6 +58,12 @@ public static void main(String[] args) throws Exception { .withArgName("Z-LEVEL") .create() ); + options.addOption( OptionBuilder.withLongOpt( "roadClass" ) + .withDescription( "road class (default 6)" ) + .hasArg() + .withArgName("Z-LEVEL") + .create() ); + String inputFile = ""; @@ -65,6 +71,8 @@ public static void main(String[] args) throws Exception { Integer zLevel = 12 ; + Integer roadClass = 6 ; + try { // parse the command line arguments CommandLine line = parser.parse( options, args ); @@ -82,6 +90,10 @@ public static void main(String[] args) throws Exception { if(line.hasOption("zlevel")){ zLevel = Integer.parseInt(line.getOptionValue("zlevel")); } + + if(line.hasOption("roadClass")){ + roadClass = Integer.parseInt(line.getOptionValue("roadClass")); + } } catch( Exception exp ) { System.out.println( "Unexpected exception:" + exp.getMessage() ); @@ -113,10 +125,33 @@ public static void main(String[] args) throws Exception { // list of way classes for export tiles (must be in sequential order from least to most filtered) ArrayList filteredClasses = new ArrayList<>(); - filteredClasses.add(Way.ROAD_CLASS.ClassUnclassified); - filteredClasses.add(Way.ROAD_CLASS.ClassTertiary); - filteredClasses.add(Way.ROAD_CLASS.ClassPrimary); - filteredClasses.add(Way.ROAD_CLASS.ClassMotorway); + + if(roadClass.intValue() == Way.ROAD_CLASS.ClassUnclassified.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassUnclassified); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassTertiary.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassTertiary); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassSecondary.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassSecondary); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassPrimary.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassPrimary); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassTrunk.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassTrunk); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassMotorway.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassUnclassified); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassResidential.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassResidential); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassService.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassService); + + else if(roadClass.intValue() == Way.ROAD_CLASS.ClassOther.getValue()) + filteredClasses.add(Way.ROAD_CLASS.ClassOther); for(Way.ROAD_CLASS filteredClass : filteredClasses) { diff --git a/src/main/java/io/sharedstreets/tools/builder/osm/model/Way.java b/src/main/java/io/sharedstreets/tools/builder/osm/model/Way.java index f417fdb..6b9823b 100644 --- a/src/main/java/io/sharedstreets/tools/builder/osm/model/Way.java +++ b/src/main/java/io/sharedstreets/tools/builder/osm/model/Way.java @@ -50,47 +50,100 @@ public boolean isLink() { } - public String getName() { + public boolean isDrivable() { - if(fields.containsKey("name")) - return fields.get("name").trim(); + if(this.isHighway()) { + if((fields.containsKey("motorcar'") && fields.get("motorcar").toLowerCase().equals("no") || fields.get("motorcar").toLowerCase().equals("false")) || + (fields.containsKey("motor_vehicle") && fields.get("motor_vehicle").toLowerCase().equals("no") || fields.get("motor_vehicle").toLowerCase().equals("false")) || + (fields.containsKey("vehicle") && fields.get("vehicle").toLowerCase().equals("no") || fields.get("vehicle").toLowerCase().equals("false")) || + (fields.containsKey("access") && fields.get("motorcar").toLowerCase().equals("no") || fields.get("motorcar").toLowerCase().equals("false"))){ + return false; + } + + return true; + } else - return ""; + return false; + } - public ROAD_CLASS roadClass() { + public boolean isBikeable() { - if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("motorway")) - return ROAD_CLASS.ClassMotorway; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("trunk")) - return ROAD_CLASS.ClassTrunk; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("primary")) - return ROAD_CLASS.ClassPrimary; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("secondary")) - return ROAD_CLASS.ClassSecondary; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("tertiary")) - return ROAD_CLASS.ClassTertiary; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("unclassified")) - return ROAD_CLASS.ClassUnclassified; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("residential")) - return ROAD_CLASS.ClassResidential; - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("service")) { - - // attempt to exclude parking lots, driveways and other private driveways to keep just public services roads - // not consistently mapped in OSM... https://taginfo.openstreetmap.org/keys/?key=service#values - if (fields.containsKey("service") && (fields.get("service").toLowerCase().trim().startsWith("parking") || - fields.get("service").toLowerCase().trim().startsWith("driveway") || - fields.get("service").toLowerCase().trim().startsWith("drive-through"))) - return ROAD_CLASS.ClassOther; + if (fields == null) + return false; + + assert fields != null; + + return fields.containsKey("bikable"); + + } + + public boolean isWalkable() { + + if (fields == null) + return false; + + assert fields != null; + + return fields.containsKey("highway"); + + } + + public String getName() { + + String name = ""; + + if(fields.containsKey("name")) + name = fields.get("name").trim(); + + if(fields.containsKey("ref")) { + if(name.isEmpty()) + name = fields.get("ref").trim(); else - return ROAD_CLASS.ClassService; + name += "; " + fields.get("ref").trim(); + } + + return name; + } + + public ROAD_CLASS roadClass() { + if(fields.containsKey("highway")) { + if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("motorway")) + return ROAD_CLASS.ClassMotorway; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("trunk")) + return ROAD_CLASS.ClassTrunk; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("primary")) + return ROAD_CLASS.ClassPrimary; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("secondary")) + return ROAD_CLASS.ClassSecondary; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("tertiary")) + return ROAD_CLASS.ClassTertiary; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("unclassified")) + return ROAD_CLASS.ClassUnclassified; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("residential")) + return ROAD_CLASS.ClassResidential; + else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("service")) { + + // attempt to exclude parking lots, driveways and other private driveways to keep just public services roads + // not consistently mapped in OSM... https://taginfo.openstreetmap.org/keys/?key=service#values + if (fields.containsKey("service") && (fields.get("service").toLowerCase().trim().startsWith("parking") || + fields.get("service").toLowerCase().trim().startsWith("driveway") || + fields.get("service").toLowerCase().trim().startsWith("drive-through"))) + return ROAD_CLASS.ClassOther; + else + return ROAD_CLASS.ClassService; + + + } else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("living_street")) + return ROAD_CLASS.ClassResidential; + else + return ROAD_CLASS.ClassOther; + } + else { + return ROAD_CLASS.ClassOther; // fall back to "other" for unknown } - else if (fields.containsKey("highway") && fields.get("highway").toLowerCase().trim().startsWith("living_street")) - return ROAD_CLASS.ClassResidential; - else - return ROAD_CLASS.ClassOther; } public boolean isRoundabout() { diff --git a/src/main/java/io/sharedstreets/tools/builder/transforms/SharedStreetData.java b/src/main/java/io/sharedstreets/tools/builder/transforms/SharedStreetData.java index be985de..e3f2f62 100644 --- a/src/main/java/io/sharedstreets/tools/builder/transforms/SharedStreetData.java +++ b/src/main/java/io/sharedstreets/tools/builder/transforms/SharedStreetData.java @@ -139,7 +139,7 @@ public DataSet> getTiledReferences(int zLevel) @Override public void flatMap(SharedStreetsReference value, Collector> out) throws Exception { Set tileIds = value.getTileKeys(zLevel); - + for(TileId id : tileIds) { out.collect(new Tuple2(id, value)); } From b543d88372ec425b798cf5112685999a1d9d59cf Mon Sep 17 00:00:00 2001 From: Kevin Webb Date: Fri, 27 Mar 2020 12:24:10 -0400 Subject: [PATCH 2/2] osm tags --- build.gradle | 2 +- .../data/SharedStreetsOSMMetadata.java | 11 +- .../data/output/proto/SharedStreetsProto.java | 4910 ++++++++++------- .../tools/builder/model/WaySection.java | 4 + .../builder/transforms/BaseSegments.java | 3 + 5 files changed, 3046 insertions(+), 1884 deletions(-) diff --git a/build.gradle b/build.gradle index d5d6aa4..647114a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'io.sharedstreets' -version '0.3.1' +version '0.3.2' buildscript { diff --git a/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java b/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java index ecb7a6d..09e7d94 100644 --- a/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java +++ b/src/main/java/io/sharedstreets/data/SharedStreetsOSMMetadata.java @@ -51,12 +51,12 @@ public WaySectionMetadata( WaySection section, boolean storeWaySegmentNames) { this.tagValues = new String[section.fields.keySet().size()]; int i = 0; - for(String key : section.fields.keySet()) { + for (String key : section.fields.keySet()) { this.tagNames[i] = key; this.tagValues[i] = section.fields.get(key); i++; - } + } } } @@ -96,6 +96,13 @@ public byte[] toBinary() throws IOException { waySection.addNodeIds(nodeId); } + for(int i = 0 ; i < waySectionMetadata.tagNames.length; i++) { + SharedStreetsProto.OsmTag.Builder tag = SharedStreetsProto.OsmTag.newBuilder(); + tag.setKey(waySectionMetadata.tagNames[i]); + tag.setValue(waySectionMetadata.tagValues[i]); + waySection.addTags(tag); + } + osmMetadata.addWaySections(waySection); } diff --git a/src/main/java/io/sharedstreets/data/output/proto/SharedStreetsProto.java b/src/main/java/io/sharedstreets/data/output/proto/SharedStreetsProto.java index e504324..d02a8b9 100644 --- a/src/main/java/io/sharedstreets/data/output/proto/SharedStreetsProto.java +++ b/src/main/java/io/sharedstreets/data/output/proto/SharedStreetsProto.java @@ -1,26 +1,24 @@ -package io.sharedstreets.data.output.proto;// Generated by the protocol buffer compiler. DO NOT EDIT! // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: sharedstreets.proto +// source: proto/sharedstreets.proto -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: sharedstreets.proto +package io.sharedstreets.data.output.proto; public final class SharedStreetsProto { private SharedStreetsProto() {} public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistryLite registry) { + com.google.protobuf.ExtensionRegistryLite registry) { } public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistry registry) { + com.google.protobuf.ExtensionRegistry registry) { registerAllExtensions( - (com.google.protobuf.ExtensionRegistryLite) registry); + (com.google.protobuf.ExtensionRegistryLite) registry); } /** * Protobuf enum {@code RoadClass} */ public enum RoadClass - implements com.google.protobuf.ProtocolMessageEnum { + implements com.google.protobuf.ProtocolMessageEnum { /** * Motorway = 0; */ @@ -101,7 +99,7 @@ public enum RoadClass public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); + "Can't get the number of an unknown enum value."); } return value; } @@ -130,37 +128,37 @@ public static RoadClass forNumber(int value) { } public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { + internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< - RoadClass> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public RoadClass findValueByNumber(int number) { - return RoadClass.forNumber(number); - } - }; + RoadClass> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public RoadClass findValueByNumber(int number) { + return RoadClass.forNumber(number); + } + }; public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { + getValueDescriptor() { return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { + getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { + getDescriptor() { return SharedStreetsProto.getDescriptor().getEnumTypes().get(0); } private static final RoadClass[] VALUES = values(); public static RoadClass valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); + "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; @@ -178,8 +176,8 @@ private RoadClass(int value) { } public interface DelimiterOrBuilder extends - // @@protoc_insertion_point(interface_extends:Delimiter) - com.google.protobuf.MessageOrBuilder { + // @@protoc_insertion_point(interface_extends:Delimiter) + com.google.protobuf.MessageOrBuilder { /** * uint32 length = 1; @@ -190,10 +188,10 @@ public interface DelimiterOrBuilder extends * Protobuf type {@code Delimiter} */ public static final class Delimiter extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:Delimiter) - DelimiterOrBuilder { - private static final long serialVersionUID = 0L; + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:Delimiter) + DelimiterOrBuilder { + private static final long serialVersionUID = 0L; // Use Delimiter.newBuilder() to construct. private Delimiter(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); @@ -208,13 +206,13 @@ private Delimiter() { return this.unknownFields; } private Delimiter( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { this(); int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); + com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { @@ -225,7 +223,7 @@ private Delimiter( break; default: { if (!parseUnknownFieldProto3( - input, unknownFields, extensionRegistry, tag)) { + input, unknownFields, extensionRegistry, tag)) { done = true; } break; @@ -241,22 +239,22 @@ private Delimiter( throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); + e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { + getDescriptor() { return SharedStreetsProto.internal_static_Delimiter_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { + internalGetFieldAccessorTable() { return SharedStreetsProto.internal_static_Delimiter_fieldAccessorTable - .ensureFieldAccessorsInitialized( - SharedStreetsProto.Delimiter.class, SharedStreetsProto.Delimiter.Builder.class); + .ensureFieldAccessorsInitialized( + SharedStreetsProto.Delimiter.class, SharedStreetsProto.Delimiter.Builder.class); } public static final int LENGTH_FIELD_NUMBER = 1; @@ -279,7 +277,7 @@ public final boolean isInitialized() { } public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { + throws java.io.IOException { if (length_ != 0) { output.writeUInt32(1, length_); } @@ -293,7 +291,7 @@ public int getSerializedSize() { size = 0; if (length_ != 0) { size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(1, length_); + .computeUInt32Size(1, length_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -303,7 +301,7 @@ public int getSerializedSize() { @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { - return true; + return true; } if (!(obj instanceof SharedStreetsProto.Delimiter)) { return super.equals(obj); @@ -312,7 +310,7 @@ public boolean equals(final java.lang.Object obj) { boolean result = true; result = result && (getLength() - == other.getLength()); + == other.getLength()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -332,73 +330,73 @@ public int hashCode() { } public static SharedStreetsProto.Delimiter parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.Delimiter parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.Delimiter parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.Delimiter parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.Delimiter parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.Delimiter parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.Delimiter parseFrom(java.io.InputStream input) - throws java.io.IOException { + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); + .parseWithIOException(PARSER, input); } public static SharedStreetsProto.Delimiter parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); + .parseWithIOException(PARSER, input, extensionRegistry); } public static SharedStreetsProto.Delimiter parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); + .parseDelimitedWithIOException(PARSER, input); } public static SharedStreetsProto.Delimiter parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static SharedStreetsProto.Delimiter parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); + .parseWithIOException(PARSER, input); } public static SharedStreetsProto.Delimiter parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); + .parseWithIOException(PARSER, input, extensionRegistry); } public Builder newBuilderForType() { return newBuilder(); } @@ -410,12 +408,12 @@ public static Builder newBuilder(SharedStreetsProto.Delimiter prototype) { } public Builder toBuilder() { return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); + ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -423,19 +421,19 @@ protected Builder newBuilderForType( * Protobuf type {@code Delimiter} */ public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:Delimiter) - SharedStreetsProto.DelimiterOrBuilder { + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:Delimiter) + SharedStreetsProto.DelimiterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { + getDescriptor() { return SharedStreetsProto.internal_static_Delimiter_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { + internalGetFieldAccessorTable() { return SharedStreetsProto.internal_static_Delimiter_fieldAccessorTable - .ensureFieldAccessorsInitialized( - SharedStreetsProto.Delimiter.class, SharedStreetsProto.Delimiter.Builder.class); + .ensureFieldAccessorsInitialized( + SharedStreetsProto.Delimiter.class, SharedStreetsProto.Delimiter.Builder.class); } // Construct using SharedStreetsProto.Delimiter.newBuilder() @@ -444,7 +442,7 @@ private Builder() { } private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -461,7 +459,7 @@ public Builder clear() { } public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { + getDescriptorForType() { return SharedStreetsProto.internal_static_Delimiter_descriptor; } @@ -488,26 +486,26 @@ public Builder clone() { return (Builder) super.clone(); } public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { return (Builder) super.setField(field, value); } public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { + com.google.protobuf.Descriptors.FieldDescriptor field) { return (Builder) super.clearField(field); } public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { + com.google.protobuf.Descriptors.OneofDescriptor oneof) { return (Builder) super.clearOneof(oneof); } public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { return (Builder) super.setRepeatedField(field, index, value); } public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { return (Builder) super.addRepeatedField(field, value); } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -534,9 +532,9 @@ public final boolean isInitialized() { } public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { SharedStreetsProto.Delimiter parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); @@ -562,7 +560,7 @@ public int getLength() { * uint32 length = 1; */ public Builder setLength(int value) { - + length_ = value; onChanged(); return this; @@ -571,18 +569,18 @@ public Builder setLength(int value) { * uint32 length = 1; */ public Builder clearLength() { - + length_ = 0; onChanged(); return this; } public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { + final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFieldsProto3(unknownFields); } public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { + final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } @@ -601,12 +599,12 @@ public static SharedStreetsProto.Delimiter getDefaultInstance() { } private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + PARSER = new com.google.protobuf.AbstractParser() { public Delimiter parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Delimiter(input, extensionRegistry); + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Delimiter(input, extensionRegistry); } }; @@ -626,8 +624,8 @@ public SharedStreetsProto.Delimiter getDefaultInstanceForType() { } public interface GISSectionMetadataOrBuilder extends - // @@protoc_insertion_point(interface_extends:GISSectionMetadata) - com.google.protobuf.MessageOrBuilder { + // @@protoc_insertion_point(interface_extends:GISSectionMetadata) + com.google.protobuf.MessageOrBuilder { /** *
@@ -645,7 +643,7 @@ public interface GISSectionMetadataOrBuilder extends
      * string sectionId = 1;
      */
     com.google.protobuf.ByteString
-    getSectionIdBytes();
+        getSectionIdBytes();
 
     /**
      * 
@@ -663,16 +661,16 @@ public interface GISSectionMetadataOrBuilder extends
      * string sectionProperties = 2;
      */
     com.google.protobuf.ByteString
-    getSectionPropertiesBytes();
+        getSectionPropertiesBytes();
   }
   /**
    * Protobuf type {@code GISSectionMetadata}
    */
   public  static final class GISSectionMetadata extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:GISSectionMetadata)
-          GISSectionMetadataOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:GISSectionMetadata)
+      GISSectionMetadataOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use GISSectionMetadata.newBuilder() to construct.
     private GISSectionMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -688,13 +686,13 @@ private GISSectionMetadata() {
       return this.unknownFields;
     }
     private GISSectionMetadata(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -705,7 +703,7 @@ private GISSectionMetadata(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -728,22 +726,22 @@ private GISSectionMetadata(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         this.unknownFields = unknownFields.build();
         makeExtensionsImmutable();
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_GISSectionMetadata_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_GISSectionMetadata_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.GISSectionMetadata.class, SharedStreetsProto.GISSectionMetadata.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.GISSectionMetadata.class, SharedStreetsProto.GISSectionMetadata.Builder.class);
     }
 
     public static final int SECTIONID_FIELD_NUMBER = 1;
@@ -760,8 +758,8 @@ public java.lang.String getSectionId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         sectionId_ = s;
         return s;
@@ -775,12 +773,12 @@ public java.lang.String getSectionId() {
      * string sectionId = 1;
      */
     public com.google.protobuf.ByteString
-    getSectionIdBytes() {
+        getSectionIdBytes() {
       java.lang.Object ref = sectionId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         sectionId_ = b;
         return b;
       } else {
@@ -802,8 +800,8 @@ public java.lang.String getSectionProperties() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         sectionProperties_ = s;
         return s;
@@ -817,12 +815,12 @@ public java.lang.String getSectionProperties() {
      * string sectionProperties = 2;
      */
     public com.google.protobuf.ByteString
-    getSectionPropertiesBytes() {
+        getSectionPropertiesBytes() {
       java.lang.Object ref = sectionProperties_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         sectionProperties_ = b;
         return b;
       } else {
@@ -841,7 +839,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getSectionIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sectionId_);
       }
@@ -870,7 +868,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.GISSectionMetadata)) {
         return super.equals(obj);
@@ -879,9 +877,9 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getSectionId()
-              .equals(other.getSectionId());
+          .equals(other.getSectionId());
       result = result && getSectionProperties()
-              .equals(other.getSectionProperties());
+          .equals(other.getSectionProperties());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -903,73 +901,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.GISSectionMetadata parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISSectionMetadata parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISSectionMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -981,12 +979,12 @@ public static Builder newBuilder(SharedStreetsProto.GISSectionMetadata prototype
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -994,19 +992,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code GISSectionMetadata}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:GISSectionMetadata)
-            SharedStreetsProto.GISSectionMetadataOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:GISSectionMetadata)
+        SharedStreetsProto.GISSectionMetadataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_GISSectionMetadata_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_GISSectionMetadata_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.GISSectionMetadata.class, SharedStreetsProto.GISSectionMetadata.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.GISSectionMetadata.class, SharedStreetsProto.GISSectionMetadata.Builder.class);
       }
 
       // Construct using SharedStreetsProto.GISSectionMetadata.newBuilder()
@@ -1015,7 +1013,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -1034,7 +1032,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_GISSectionMetadata_descriptor;
       }
 
@@ -1062,26 +1060,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -1113,9 +1111,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.GISSectionMetadata parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -1142,7 +1140,7 @@ public java.lang.String getSectionId() {
         java.lang.Object ref = sectionId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           sectionId_ = s;
           return s;
@@ -1158,12 +1156,12 @@ public java.lang.String getSectionId() {
        * string sectionId = 1;
        */
       public com.google.protobuf.ByteString
-      getSectionIdBytes() {
+          getSectionIdBytes() {
         java.lang.Object ref = sectionId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           sectionId_ = b;
           return b;
         } else {
@@ -1178,11 +1176,11 @@ public java.lang.String getSectionId() {
        * string sectionId = 1;
        */
       public Builder setSectionId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         sectionId_ = value;
         onChanged();
         return this;
@@ -1195,7 +1193,7 @@ public Builder setSectionId(
        * string sectionId = 1;
        */
       public Builder clearSectionId() {
-
+        
         sectionId_ = getDefaultInstance().getSectionId();
         onChanged();
         return this;
@@ -1208,12 +1206,12 @@ public Builder clearSectionId() {
        * string sectionId = 1;
        */
       public Builder setSectionIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         sectionId_ = value;
         onChanged();
         return this;
@@ -1231,7 +1229,7 @@ public java.lang.String getSectionProperties() {
         java.lang.Object ref = sectionProperties_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           sectionProperties_ = s;
           return s;
@@ -1247,12 +1245,12 @@ public java.lang.String getSectionProperties() {
        * string sectionProperties = 2;
        */
       public com.google.protobuf.ByteString
-      getSectionPropertiesBytes() {
+          getSectionPropertiesBytes() {
         java.lang.Object ref = sectionProperties_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           sectionProperties_ = b;
           return b;
         } else {
@@ -1267,11 +1265,11 @@ public java.lang.String getSectionProperties() {
        * string sectionProperties = 2;
        */
       public Builder setSectionProperties(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         sectionProperties_ = value;
         onChanged();
         return this;
@@ -1284,7 +1282,7 @@ public Builder setSectionProperties(
        * string sectionProperties = 2;
        */
       public Builder clearSectionProperties() {
-
+        
         sectionProperties_ = getDefaultInstance().getSectionProperties();
         onChanged();
         return this;
@@ -1297,23 +1295,23 @@ public Builder clearSectionProperties() {
        * string sectionProperties = 2;
        */
       public Builder setSectionPropertiesBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         sectionProperties_ = value;
         onChanged();
         return this;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -1332,12 +1330,12 @@ public static SharedStreetsProto.GISSectionMetadata getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public GISSectionMetadata parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new GISSectionMetadata(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new GISSectionMetadata(input, extensionRegistry);
       }
     };
 
@@ -1357,8 +1355,8 @@ public SharedStreetsProto.GISSectionMetadata getDefaultInstanceForType() {
   }
 
   public interface GISMetadataOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:GISMetadata)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:GISMetadata)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * 
@@ -1376,13 +1374,13 @@ public interface GISMetadataOrBuilder extends
      * string source = 1;
      */
     com.google.protobuf.ByteString
-    getSourceBytes();
+        getSourceBytes();
 
     /**
      * repeated .GISSectionMetadata sections = 2;
      */
-    java.util.List
-    getSectionsList();
+    java.util.List 
+        getSectionsList();
     /**
      * repeated .GISSectionMetadata sections = 2;
      */
@@ -1394,22 +1392,22 @@ public interface GISMetadataOrBuilder extends
     /**
      * repeated .GISSectionMetadata sections = 2;
      */
-    java.util.List
-    getSectionsOrBuilderList();
+    java.util.List 
+        getSectionsOrBuilderList();
     /**
      * repeated .GISSectionMetadata sections = 2;
      */
     SharedStreetsProto.GISSectionMetadataOrBuilder getSectionsOrBuilder(
-            int index);
+        int index);
   }
   /**
    * Protobuf type {@code GISMetadata}
    */
   public  static final class GISMetadata extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:GISMetadata)
-          GISMetadataOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:GISMetadata)
+      GISMetadataOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use GISMetadata.newBuilder() to construct.
     private GISMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -1425,13 +1423,13 @@ private GISMetadata() {
       return this.unknownFields;
     }
     private GISMetadata(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -1442,7 +1440,7 @@ private GISMetadata(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -1459,7 +1457,7 @@ private GISMetadata(
                 mutable_bitField0_ |= 0x00000002;
               }
               sections_.add(
-                      input.readMessage(SharedStreetsProto.GISSectionMetadata.parser(), extensionRegistry));
+                  input.readMessage(SharedStreetsProto.GISSectionMetadata.parser(), extensionRegistry));
               break;
             }
           }
@@ -1468,7 +1466,7 @@ private GISMetadata(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
           sections_ = java.util.Collections.unmodifiableList(sections_);
@@ -1478,15 +1476,15 @@ private GISMetadata(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_GISMetadata_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_GISMetadata_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.GISMetadata.class, SharedStreetsProto.GISMetadata.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.GISMetadata.class, SharedStreetsProto.GISMetadata.Builder.class);
     }
 
     private int bitField0_;
@@ -1504,8 +1502,8 @@ public java.lang.String getSource() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         source_ = s;
         return s;
@@ -1519,12 +1517,12 @@ public java.lang.String getSource() {
      * string source = 1;
      */
     public com.google.protobuf.ByteString
-    getSourceBytes() {
+        getSourceBytes() {
       java.lang.Object ref = source_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         source_ = b;
         return b;
       } else {
@@ -1543,8 +1541,8 @@ public java.util.List getSectionsList() {
     /**
      * repeated .GISSectionMetadata sections = 2;
      */
-    public java.util.List
-    getSectionsOrBuilderList() {
+    public java.util.List 
+        getSectionsOrBuilderList() {
       return sections_;
     }
     /**
@@ -1563,7 +1561,7 @@ public SharedStreetsProto.GISSectionMetadata getSections(int index) {
      * repeated .GISSectionMetadata sections = 2;
      */
     public SharedStreetsProto.GISSectionMetadataOrBuilder getSectionsOrBuilder(
-            int index) {
+        int index) {
       return sections_.get(index);
     }
 
@@ -1578,7 +1576,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getSourceBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, source_);
       }
@@ -1598,7 +1596,7 @@ public int getSerializedSize() {
       }
       for (int i = 0; i < sections_.size(); i++) {
         size += com.google.protobuf.CodedOutputStream
-                .computeMessageSize(2, sections_.get(i));
+          .computeMessageSize(2, sections_.get(i));
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -1608,7 +1606,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.GISMetadata)) {
         return super.equals(obj);
@@ -1617,9 +1615,9 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getSource()
-              .equals(other.getSource());
+          .equals(other.getSource());
       result = result && getSectionsList()
-              .equals(other.getSectionsList());
+          .equals(other.getSectionsList());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -1643,73 +1641,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.GISMetadata parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.GISMetadata parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISMetadata parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.GISMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -1721,12 +1719,12 @@ public static Builder newBuilder(SharedStreetsProto.GISMetadata prototype) {
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -1734,19 +1732,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code GISMetadata}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:GISMetadata)
-            SharedStreetsProto.GISMetadataOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:GISMetadata)
+        SharedStreetsProto.GISMetadataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_GISMetadata_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_GISMetadata_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.GISMetadata.class, SharedStreetsProto.GISMetadata.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.GISMetadata.class, SharedStreetsProto.GISMetadata.Builder.class);
       }
 
       // Construct using SharedStreetsProto.GISMetadata.newBuilder()
@@ -1755,7 +1753,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -1779,7 +1777,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_GISMetadata_descriptor;
       }
 
@@ -1818,26 +1816,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -1873,9 +1871,9 @@ public Builder mergeFrom(SharedStreetsProto.GISMetadata other) {
               sectionsBuilder_ = null;
               sections_ = other.sections_;
               bitField0_ = (bitField0_ & ~0x00000002);
-              sectionsBuilder_ =
-                      com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                              getSectionsFieldBuilder() : null;
+              sectionsBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getSectionsFieldBuilder() : null;
             } else {
               sectionsBuilder_.addAllMessages(other.sections_);
             }
@@ -1891,9 +1889,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.GISMetadata parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -1921,7 +1919,7 @@ public java.lang.String getSource() {
         java.lang.Object ref = source_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           source_ = s;
           return s;
@@ -1937,12 +1935,12 @@ public java.lang.String getSource() {
        * string source = 1;
        */
       public com.google.protobuf.ByteString
-      getSourceBytes() {
+          getSourceBytes() {
         java.lang.Object ref = source_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           source_ = b;
           return b;
         } else {
@@ -1957,11 +1955,11 @@ public java.lang.String getSource() {
        * string source = 1;
        */
       public Builder setSource(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         source_ = value;
         onChanged();
         return this;
@@ -1974,7 +1972,7 @@ public Builder setSource(
        * string source = 1;
        */
       public Builder clearSource() {
-
+        
         source_ = getDefaultInstance().getSource();
         onChanged();
         return this;
@@ -1987,28 +1985,28 @@ public Builder clearSource() {
        * string source = 1;
        */
       public Builder setSourceBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         source_ = value;
         onChanged();
         return this;
       }
 
       private java.util.List sections_ =
-              java.util.Collections.emptyList();
+        java.util.Collections.emptyList();
       private void ensureSectionsIsMutable() {
         if (!((bitField0_ & 0x00000002) == 0x00000002)) {
           sections_ = new java.util.ArrayList(sections_);
           bitField0_ |= 0x00000002;
-        }
+         }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder> sectionsBuilder_;
+          SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder> sectionsBuilder_;
 
       /**
        * repeated .GISSectionMetadata sections = 2;
@@ -2044,7 +2042,7 @@ public SharedStreetsProto.GISSectionMetadata getSections(int index) {
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder setSections(
-              int index, SharedStreetsProto.GISSectionMetadata value) {
+          int index, SharedStreetsProto.GISSectionMetadata value) {
         if (sectionsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -2061,7 +2059,7 @@ public Builder setSections(
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder setSections(
-              int index, SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
+          int index, SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
         if (sectionsBuilder_ == null) {
           ensureSectionsIsMutable();
           sections_.set(index, builderForValue.build());
@@ -2091,7 +2089,7 @@ public Builder addSections(SharedStreetsProto.GISSectionMetadata value) {
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder addSections(
-              int index, SharedStreetsProto.GISSectionMetadata value) {
+          int index, SharedStreetsProto.GISSectionMetadata value) {
         if (sectionsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -2108,7 +2106,7 @@ public Builder addSections(
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder addSections(
-              SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
+          SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
         if (sectionsBuilder_ == null) {
           ensureSectionsIsMutable();
           sections_.add(builderForValue.build());
@@ -2122,7 +2120,7 @@ public Builder addSections(
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder addSections(
-              int index, SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
+          int index, SharedStreetsProto.GISSectionMetadata.Builder builderForValue) {
         if (sectionsBuilder_ == null) {
           ensureSectionsIsMutable();
           sections_.add(index, builderForValue.build());
@@ -2136,11 +2134,11 @@ public Builder addSections(
        * repeated .GISSectionMetadata sections = 2;
        */
       public Builder addAllSections(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (sectionsBuilder_ == null) {
           ensureSectionsIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                  values, sections_);
+              values, sections_);
           onChanged();
         } else {
           sectionsBuilder_.addAllMessages(values);
@@ -2177,14 +2175,14 @@ public Builder removeSections(int index) {
        * repeated .GISSectionMetadata sections = 2;
        */
       public SharedStreetsProto.GISSectionMetadata.Builder getSectionsBuilder(
-              int index) {
+          int index) {
         return getSectionsFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .GISSectionMetadata sections = 2;
        */
       public SharedStreetsProto.GISSectionMetadataOrBuilder getSectionsOrBuilder(
-              int index) {
+          int index) {
         if (sectionsBuilder_ == null) {
           return sections_.get(index);  } else {
           return sectionsBuilder_.getMessageOrBuilder(index);
@@ -2193,8 +2191,8 @@ public SharedStreetsProto.GISSectionMetadataOrBuilder getSectionsOrBuilder(
       /**
        * repeated .GISSectionMetadata sections = 2;
        */
-      public java.util.List
-      getSectionsOrBuilderList() {
+      public java.util.List 
+           getSectionsOrBuilderList() {
         if (sectionsBuilder_ != null) {
           return sectionsBuilder_.getMessageOrBuilderList();
         } else {
@@ -2206,29 +2204,29 @@ public SharedStreetsProto.GISSectionMetadataOrBuilder getSectionsOrBuilder(
        */
       public SharedStreetsProto.GISSectionMetadata.Builder addSectionsBuilder() {
         return getSectionsFieldBuilder().addBuilder(
-                SharedStreetsProto.GISSectionMetadata.getDefaultInstance());
+            SharedStreetsProto.GISSectionMetadata.getDefaultInstance());
       }
       /**
        * repeated .GISSectionMetadata sections = 2;
        */
       public SharedStreetsProto.GISSectionMetadata.Builder addSectionsBuilder(
-              int index) {
+          int index) {
         return getSectionsFieldBuilder().addBuilder(
-                index, SharedStreetsProto.GISSectionMetadata.getDefaultInstance());
+            index, SharedStreetsProto.GISSectionMetadata.getDefaultInstance());
       }
       /**
        * repeated .GISSectionMetadata sections = 2;
        */
-      public java.util.List
-      getSectionsBuilderList() {
+      public java.util.List 
+           getSectionsBuilderList() {
         return getSectionsFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder>
-      getSectionsFieldBuilder() {
+          SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder> 
+          getSectionsFieldBuilder() {
         if (sectionsBuilder_ == null) {
           sectionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-                  SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder>(
+              SharedStreetsProto.GISSectionMetadata, SharedStreetsProto.GISSectionMetadata.Builder, SharedStreetsProto.GISSectionMetadataOrBuilder>(
                   sections_,
                   ((bitField0_ & 0x00000002) == 0x00000002),
                   getParentForChildren(),
@@ -2238,12 +2236,12 @@ public SharedStreetsProto.GISSectionMetadata.Builder addSectionsBuilder(
         return sectionsBuilder_;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -2262,12 +2260,12 @@ public static SharedStreetsProto.GISMetadata getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public GISMetadata parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new GISMetadata(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new GISMetadata(input, extensionRegistry);
       }
     };
 
@@ -2286,90 +2284,45 @@ public SharedStreetsProto.GISMetadata getDefaultInstanceForType() {
 
   }
 
-  public interface WaySectionOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:WaySection)
-          com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * uint64 wayId = 1;
-     */
-    long getWayId();
-
-    /**
-     * .RoadClass roadClass = 2;
-     */
-    int getRoadClassValue();
-    /**
-     * .RoadClass roadClass = 2;
-     */
-    SharedStreetsProto.RoadClass getRoadClass();
-
-    /**
-     * bool oneWay = 3;
-     */
-    boolean getOneWay();
-
-    /**
-     * bool roundabout = 4;
-     */
-    boolean getRoundabout();
-
-    /**
-     * bool link = 5;
-     */
-    boolean getLink();
+  public interface OsmTagOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:OsmTag)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
-     * repeated uint64 nodeIds = 6;
-     */
-    java.util.List getNodeIdsList();
-    /**
-     * repeated uint64 nodeIds = 6;
+     * string key = 1;
      */
-    int getNodeIdsCount();
+    java.lang.String getKey();
     /**
-     * repeated uint64 nodeIds = 6;
+     * string key = 1;
      */
-    long getNodeIds(int index);
+    com.google.protobuf.ByteString
+        getKeyBytes();
 
     /**
-     * 
-     * name only stored here if different for each way section, otherwise captured in OSMMetadata
-     * 
- * - * string name = 7; + * string value = 2; */ - java.lang.String getName(); + java.lang.String getValue(); /** - *
-     * name only stored here if different for each way section, otherwise captured in OSMMetadata
-     * 
- * - * string name = 7; + * string value = 2; */ com.google.protobuf.ByteString - getNameBytes(); + getValueBytes(); } /** - * Protobuf type {@code WaySection} + * Protobuf type {@code OsmTag} */ - public static final class WaySection extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:WaySection) - WaySectionOrBuilder { - private static final long serialVersionUID = 0L; - // Use WaySection.newBuilder() to construct. - private WaySection(com.google.protobuf.GeneratedMessageV3.Builder builder) { + public static final class OsmTag extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OsmTag) + OsmTagOrBuilder { + private static final long serialVersionUID = 0L; + // Use OsmTag.newBuilder() to construct. + private OsmTag(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private WaySection() { - wayId_ = 0L; - roadClass_ = 0; - oneWay_ = false; - roundabout_ = false; - link_ = false; - nodeIds_ = java.util.Collections.emptyList(); - name_ = ""; + private OsmTag() { + key_ = ""; + value_ = ""; } @java.lang.Override @@ -2377,14 +2330,14 @@ private WaySection() { getUnknownFields() { return this.unknownFields; } - private WaySection( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + private OsmTag( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { this(); int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); + com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { @@ -2395,62 +2348,21 @@ private WaySection( break; default: { if (!parseUnknownFieldProto3( - input, unknownFields, extensionRegistry, tag)) { + input, unknownFields, extensionRegistry, tag)) { done = true; } break; } - case 8: { - - wayId_ = input.readUInt64(); - break; - } - case 16: { - int rawValue = input.readEnum(); - - roadClass_ = rawValue; - break; - } - case 24: { - - oneWay_ = input.readBool(); - break; - } - case 32: { - - roundabout_ = input.readBool(); - break; - } - case 40: { + case 10: { + java.lang.String s = input.readStringRequireUtf8(); - link_ = input.readBool(); + key_ = s; break; } - case 48: { - if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) { - nodeIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000020; - } - nodeIds_.add(input.readUInt64()); - break; - } - case 50: { - int length = input.readRawVarint32(); - int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) { - nodeIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000020; - } - while (input.getBytesUntilLimit() > 0) { - nodeIds_.add(input.readUInt64()); - } - input.popLimit(limit); - break; - } - case 58: { + case 18: { java.lang.String s = input.readStringRequireUtf8(); - name_ = s; + value_ = s; break; } } @@ -2459,139 +2371,86 @@ private WaySection( throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); + e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) { - nodeIds_ = java.util.Collections.unmodifiableList(nodeIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return SharedStreetsProto.internal_static_WaySection_descriptor; + getDescriptor() { + return SharedStreetsProto.internal_static_OsmTag_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return SharedStreetsProto.internal_static_WaySection_fieldAccessorTable - .ensureFieldAccessorsInitialized( - SharedStreetsProto.WaySection.class, SharedStreetsProto.WaySection.Builder.class); - } - - private int bitField0_; - public static final int WAYID_FIELD_NUMBER = 1; - private long wayId_; - /** - * uint64 wayId = 1; - */ - public long getWayId() { - return wayId_; - } - - public static final int ROADCLASS_FIELD_NUMBER = 2; - private int roadClass_; - /** - * .RoadClass roadClass = 2; - */ - public int getRoadClassValue() { - return roadClass_; - } - /** - * .RoadClass roadClass = 2; - */ - public SharedStreetsProto.RoadClass getRoadClass() { - SharedStreetsProto.RoadClass result = SharedStreetsProto.RoadClass.valueOf(roadClass_); - return result == null ? SharedStreetsProto.RoadClass.UNRECOGNIZED : result; - } - - public static final int ONEWAY_FIELD_NUMBER = 3; - private boolean oneWay_; - /** - * bool oneWay = 3; - */ - public boolean getOneWay() { - return oneWay_; + internalGetFieldAccessorTable() { + return SharedStreetsProto.internal_static_OsmTag_fieldAccessorTable + .ensureFieldAccessorsInitialized( + SharedStreetsProto.OsmTag.class, SharedStreetsProto.OsmTag.Builder.class); } - public static final int ROUNDABOUT_FIELD_NUMBER = 4; - private boolean roundabout_; - /** - * bool roundabout = 4; - */ - public boolean getRoundabout() { - return roundabout_; - } - - public static final int LINK_FIELD_NUMBER = 5; - private boolean link_; - /** - * bool link = 5; - */ - public boolean getLink() { - return link_; - } - - public static final int NODEIDS_FIELD_NUMBER = 6; - private java.util.List nodeIds_; - /** - * repeated uint64 nodeIds = 6; - */ - public java.util.List - getNodeIdsList() { - return nodeIds_; - } + public static final int KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object key_; /** - * repeated uint64 nodeIds = 6; + * string key = 1; */ - public int getNodeIdsCount() { - return nodeIds_.size(); + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } } /** - * repeated uint64 nodeIds = 6; + * string key = 1; */ - public long getNodeIds(int index) { - return nodeIds_.get(index); + public com.google.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - private int nodeIdsMemoizedSerializedSize = -1; - public static final int NAME_FIELD_NUMBER = 7; - private volatile java.lang.Object name_; + public static final int VALUE_FIELD_NUMBER = 2; + private volatile java.lang.Object value_; /** - *
-     * name only stored here if different for each way section, otherwise captured in OSMMetadata
-     * 
- * - * string name = 7; + * string value = 2; */ - public java.lang.String getName() { - java.lang.Object ref = name_; + public java.lang.String getValue() { + java.lang.Object ref = value_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - name_ = s; + value_ = s; return s; } } /** - *
-     * name only stored here if different for each way section, otherwise captured in OSMMetadata
-     * 
- * - * string name = 7; + * string value = 2; */ public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; + getValueBytes() { + java.lang.Object ref = value_; if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + value_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; @@ -2609,9 +2468,919 @@ public final boolean isInitialized() { } public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (wayId_ != 0L) { + throws java.io.IOException { + if (!getKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); + } + if (!getValueBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); + } + if (!getValueBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof SharedStreetsProto.OsmTag)) { + return super.equals(obj); + } + SharedStreetsProto.OsmTag other = (SharedStreetsProto.OsmTag) obj; + + boolean result = true; + result = result && getKey() + .equals(other.getKey()); + result = result && getValue() + .equals(other.getValue()); + result = result && unknownFields.equals(other.unknownFields); + return result; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static SharedStreetsProto.OsmTag parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static SharedStreetsProto.OsmTag parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static SharedStreetsProto.OsmTag parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static SharedStreetsProto.OsmTag parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static SharedStreetsProto.OsmTag parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static SharedStreetsProto.OsmTag parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static SharedStreetsProto.OsmTag parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static SharedStreetsProto.OsmTag parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static SharedStreetsProto.OsmTag parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static SharedStreetsProto.OsmTag parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static SharedStreetsProto.OsmTag parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static SharedStreetsProto.OsmTag parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(SharedStreetsProto.OsmTag prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OsmTag} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:OsmTag) + SharedStreetsProto.OsmTagOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return SharedStreetsProto.internal_static_OsmTag_descriptor; + } + + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return SharedStreetsProto.internal_static_OsmTag_fieldAccessorTable + .ensureFieldAccessorsInitialized( + SharedStreetsProto.OsmTag.class, SharedStreetsProto.OsmTag.Builder.class); + } + + // Construct using SharedStreetsProto.OsmTag.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + key_ = ""; + + value_ = ""; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return SharedStreetsProto.internal_static_OsmTag_descriptor; + } + + public SharedStreetsProto.OsmTag getDefaultInstanceForType() { + return SharedStreetsProto.OsmTag.getDefaultInstance(); + } + + public SharedStreetsProto.OsmTag build() { + SharedStreetsProto.OsmTag result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public SharedStreetsProto.OsmTag buildPartial() { + SharedStreetsProto.OsmTag result = new SharedStreetsProto.OsmTag(this); + result.key_ = key_; + result.value_ = value_; + onBuilt(); + return result; + } + + public Builder clone() { + return (Builder) super.clone(); + } + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return (Builder) super.setField(field, value); + } + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return (Builder) super.clearField(field); + } + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return (Builder) super.clearOneof(oneof); + } + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return (Builder) super.setRepeatedField(field, index, value); + } + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return (Builder) super.addRepeatedField(field, value); + } + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof SharedStreetsProto.OsmTag) { + return mergeFrom((SharedStreetsProto.OsmTag)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(SharedStreetsProto.OsmTag other) { + if (other == SharedStreetsProto.OsmTag.getDefaultInstance()) return this; + if (!other.getKey().isEmpty()) { + key_ = other.key_; + onChanged(); + } + if (!other.getValue().isEmpty()) { + value_ = other.value_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + SharedStreetsProto.OsmTag parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (SharedStreetsProto.OsmTag) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object key_ = ""; + /** + * string key = 1; + */ + public java.lang.String getKey() { + java.lang.Object ref = key_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + key_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string key = 1; + */ + public com.google.protobuf.ByteString + getKeyBytes() { + java.lang.Object ref = key_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + key_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string key = 1; + */ + public Builder setKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + key_ = value; + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder clearKey() { + + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + /** + * string key = 1; + */ + public Builder setKeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + key_ = value; + onChanged(); + return this; + } + + private java.lang.Object value_ = ""; + /** + * string value = 2; + */ + public java.lang.String getValue() { + java.lang.Object ref = value_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + value_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string value = 2; + */ + public com.google.protobuf.ByteString + getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + value_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string value = 2; + */ + public Builder setValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + value_ = value; + onChanged(); + return this; + } + /** + * string value = 2; + */ + public Builder clearValue() { + + value_ = getDefaultInstance().getValue(); + onChanged(); + return this; + } + /** + * string value = 2; + */ + public Builder setValueBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + value_ = value; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFieldsProto3(unknownFields); + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OsmTag) + } + + // @@protoc_insertion_point(class_scope:OsmTag) + private static final SharedStreetsProto.OsmTag DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new SharedStreetsProto.OsmTag(); + } + + public static SharedStreetsProto.OsmTag getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public OsmTag parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OsmTag(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public SharedStreetsProto.OsmTag getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface WaySectionOrBuilder extends + // @@protoc_insertion_point(interface_extends:WaySection) + com.google.protobuf.MessageOrBuilder { + + /** + * uint64 wayId = 1; + */ + long getWayId(); + + /** + * .RoadClass roadClass = 2; + */ + int getRoadClassValue(); + /** + * .RoadClass roadClass = 2; + */ + SharedStreetsProto.RoadClass getRoadClass(); + + /** + * bool oneWay = 3; + */ + boolean getOneWay(); + + /** + * bool roundabout = 4; + */ + boolean getRoundabout(); + + /** + * bool link = 5; + */ + boolean getLink(); + + /** + * repeated uint64 nodeIds = 6; + */ + java.util.List getNodeIdsList(); + /** + * repeated uint64 nodeIds = 6; + */ + int getNodeIdsCount(); + /** + * repeated uint64 nodeIds = 6; + */ + long getNodeIds(int index); + + /** + *
+     * name only stored here if different for each way section, otherwise captured in OSMMetadata
+     * 
+ * + * string name = 7; + */ + java.lang.String getName(); + /** + *
+     * name only stored here if different for each way section, otherwise captured in OSMMetadata
+     * 
+ * + * string name = 7; + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + java.util.List + getTagsList(); + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + SharedStreetsProto.OsmTag getTags(int index); + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + int getTagsCount(); + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + java.util.List + getTagsOrBuilderList(); + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + SharedStreetsProto.OsmTagOrBuilder getTagsOrBuilder( + int index); + } + /** + * Protobuf type {@code WaySection} + */ + public static final class WaySection extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:WaySection) + WaySectionOrBuilder { + private static final long serialVersionUID = 0L; + // Use WaySection.newBuilder() to construct. + private WaySection(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private WaySection() { + wayId_ = 0L; + roadClass_ = 0; + oneWay_ = false; + roundabout_ = false; + link_ = false; + nodeIds_ = java.util.Collections.emptyList(); + name_ = ""; + tags_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private WaySection( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownFieldProto3( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + + wayId_ = input.readUInt64(); + break; + } + case 16: { + int rawValue = input.readEnum(); + + roadClass_ = rawValue; + break; + } + case 24: { + + oneWay_ = input.readBool(); + break; + } + case 32: { + + roundabout_ = input.readBool(); + break; + } + case 40: { + + link_ = input.readBool(); + break; + } + case 48: { + if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) { + nodeIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000020; + } + nodeIds_.add(input.readUInt64()); + break; + } + case 50: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) { + nodeIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000020; + } + while (input.getBytesUntilLimit() > 0) { + nodeIds_.add(input.readUInt64()); + } + input.popLimit(limit); + break; + } + case 58: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 66: { + if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + tags_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000080; + } + tags_.add( + input.readMessage(SharedStreetsProto.OsmTag.parser(), extensionRegistry)); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) { + nodeIds_ = java.util.Collections.unmodifiableList(nodeIds_); + } + if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + tags_ = java.util.Collections.unmodifiableList(tags_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return SharedStreetsProto.internal_static_WaySection_descriptor; + } + + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return SharedStreetsProto.internal_static_WaySection_fieldAccessorTable + .ensureFieldAccessorsInitialized( + SharedStreetsProto.WaySection.class, SharedStreetsProto.WaySection.Builder.class); + } + + private int bitField0_; + public static final int WAYID_FIELD_NUMBER = 1; + private long wayId_; + /** + * uint64 wayId = 1; + */ + public long getWayId() { + return wayId_; + } + + public static final int ROADCLASS_FIELD_NUMBER = 2; + private int roadClass_; + /** + * .RoadClass roadClass = 2; + */ + public int getRoadClassValue() { + return roadClass_; + } + /** + * .RoadClass roadClass = 2; + */ + public SharedStreetsProto.RoadClass getRoadClass() { + SharedStreetsProto.RoadClass result = SharedStreetsProto.RoadClass.valueOf(roadClass_); + return result == null ? SharedStreetsProto.RoadClass.UNRECOGNIZED : result; + } + + public static final int ONEWAY_FIELD_NUMBER = 3; + private boolean oneWay_; + /** + * bool oneWay = 3; + */ + public boolean getOneWay() { + return oneWay_; + } + + public static final int ROUNDABOUT_FIELD_NUMBER = 4; + private boolean roundabout_; + /** + * bool roundabout = 4; + */ + public boolean getRoundabout() { + return roundabout_; + } + + public static final int LINK_FIELD_NUMBER = 5; + private boolean link_; + /** + * bool link = 5; + */ + public boolean getLink() { + return link_; + } + + public static final int NODEIDS_FIELD_NUMBER = 6; + private java.util.List nodeIds_; + /** + * repeated uint64 nodeIds = 6; + */ + public java.util.List + getNodeIdsList() { + return nodeIds_; + } + /** + * repeated uint64 nodeIds = 6; + */ + public int getNodeIdsCount() { + return nodeIds_.size(); + } + /** + * repeated uint64 nodeIds = 6; + */ + public long getNodeIds(int index) { + return nodeIds_.get(index); + } + private int nodeIdsMemoizedSerializedSize = -1; + + public static final int NAME_FIELD_NUMBER = 7; + private volatile java.lang.Object name_; + /** + *
+     * name only stored here if different for each way section, otherwise captured in OSMMetadata
+     * 
+ * + * string name = 7; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + *
+     * name only stored here if different for each way section, otherwise captured in OSMMetadata
+     * 
+ * + * string name = 7; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 8; + private java.util.List tags_; + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + public java.util.List getTagsList() { + return tags_; + } + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + public java.util.List + getTagsOrBuilderList() { + return tags_; + } + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + public int getTagsCount() { + return tags_.size(); + } + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + public SharedStreetsProto.OsmTag getTags(int index) { + return tags_.get(index); + } + /** + *
+     * osm  tags
+     * 
+ * + * repeated .OsmTag tags = 8; + */ + public SharedStreetsProto.OsmTagOrBuilder getTagsOrBuilder( + int index) { + return tags_.get(index); + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (wayId_ != 0L) { output.writeUInt64(1, wayId_); } if (roadClass_ != SharedStreetsProto.RoadClass.Motorway.getNumber()) { @@ -2636,6 +3405,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, name_); } + for (int i = 0; i < tags_.size(); i++) { + output.writeMessage(8, tags_.get(i)); + } unknownFields.writeTo(output); } @@ -2646,41 +3418,45 @@ public int getSerializedSize() { size = 0; if (wayId_ != 0L) { size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(1, wayId_); + .computeUInt64Size(1, wayId_); } if (roadClass_ != SharedStreetsProto.RoadClass.Motorway.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, roadClass_); + .computeEnumSize(2, roadClass_); } if (oneWay_ != false) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, oneWay_); + .computeBoolSize(3, oneWay_); } if (roundabout_ != false) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, roundabout_); + .computeBoolSize(4, roundabout_); } if (link_ != false) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, link_); + .computeBoolSize(5, link_); } { int dataSize = 0; for (int i = 0; i < nodeIds_.size(); i++) { dataSize += com.google.protobuf.CodedOutputStream - .computeUInt64SizeNoTag(nodeIds_.get(i)); + .computeUInt64SizeNoTag(nodeIds_.get(i)); } size += dataSize; if (!getNodeIdsList().isEmpty()) { size += 1; size += com.google.protobuf.CodedOutputStream - .computeInt32SizeNoTag(dataSize); + .computeInt32SizeNoTag(dataSize); } nodeIdsMemoizedSerializedSize = dataSize; } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, name_); } + for (int i = 0; i < tags_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, tags_.get(i)); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -2689,7 +3465,7 @@ public int getSerializedSize() { @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { - return true; + return true; } if (!(obj instanceof SharedStreetsProto.WaySection)) { return super.equals(obj); @@ -2698,18 +3474,20 @@ public boolean equals(final java.lang.Object obj) { boolean result = true; result = result && (getWayId() - == other.getWayId()); + == other.getWayId()); result = result && roadClass_ == other.roadClass_; result = result && (getOneWay() - == other.getOneWay()); + == other.getOneWay()); result = result && (getRoundabout() - == other.getRoundabout()); + == other.getRoundabout()); result = result && (getLink() - == other.getLink()); + == other.getLink()); result = result && getNodeIdsList() - .equals(other.getNodeIdsList()); + .equals(other.getNodeIdsList()); result = result && getName() - .equals(other.getName()); + .equals(other.getName()); + result = result && getTagsList() + .equals(other.getTagsList()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -2723,97 +3501,101 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + WAYID_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getWayId()); + getWayId()); hash = (37 * hash) + ROADCLASS_FIELD_NUMBER; hash = (53 * hash) + roadClass_; hash = (37 * hash) + ONEWAY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getOneWay()); + getOneWay()); hash = (37 * hash) + ROUNDABOUT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getRoundabout()); + getRoundabout()); hash = (37 * hash) + LINK_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getLink()); + getLink()); if (getNodeIdsCount() > 0) { hash = (37 * hash) + NODEIDS_FIELD_NUMBER; hash = (53 * hash) + getNodeIdsList().hashCode(); } hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + getTagsList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static SharedStreetsProto.WaySection parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.WaySection parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.WaySection parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.WaySection parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.WaySection parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static SharedStreetsProto.WaySection parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static SharedStreetsProto.WaySection parseFrom(java.io.InputStream input) - throws java.io.IOException { + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); + .parseWithIOException(PARSER, input); } public static SharedStreetsProto.WaySection parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); + .parseWithIOException(PARSER, input, extensionRegistry); } public static SharedStreetsProto.WaySection parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); + .parseDelimitedWithIOException(PARSER, input); } public static SharedStreetsProto.WaySection parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static SharedStreetsProto.WaySection parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); + .parseWithIOException(PARSER, input); } public static SharedStreetsProto.WaySection parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); + .parseWithIOException(PARSER, input, extensionRegistry); } public Builder newBuilderForType() { return newBuilder(); } @@ -2825,12 +3607,12 @@ public static Builder newBuilder(SharedStreetsProto.WaySection prototype) { } public Builder toBuilder() { return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); + ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -2838,19 +3620,19 @@ protected Builder newBuilderForType( * Protobuf type {@code WaySection} */ public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:WaySection) - SharedStreetsProto.WaySectionOrBuilder { + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:WaySection) + SharedStreetsProto.WaySectionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { + getDescriptor() { return SharedStreetsProto.internal_static_WaySection_descriptor; } protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { + internalGetFieldAccessorTable() { return SharedStreetsProto.internal_static_WaySection_fieldAccessorTable - .ensureFieldAccessorsInitialized( - SharedStreetsProto.WaySection.class, SharedStreetsProto.WaySection.Builder.class); + .ensureFieldAccessorsInitialized( + SharedStreetsProto.WaySection.class, SharedStreetsProto.WaySection.Builder.class); } // Construct using SharedStreetsProto.WaySection.newBuilder() @@ -2859,13 +3641,14 @@ private Builder() { } private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getTagsFieldBuilder(); } } public Builder clear() { @@ -2884,11 +3667,17 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00000020); name_ = ""; + if (tagsBuilder_ == null) { + tags_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + } else { + tagsBuilder_.clear(); + } return this; } public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { + getDescriptorForType() { return SharedStreetsProto.internal_static_WaySection_descriptor; } @@ -2919,6 +3708,15 @@ public SharedStreetsProto.WaySection buildPartial() { } result.nodeIds_ = nodeIds_; result.name_ = name_; + if (tagsBuilder_ == null) { + if (((bitField0_ & 0x00000080) == 0x00000080)) { + tags_ = java.util.Collections.unmodifiableList(tags_); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.tags_ = tags_; + } else { + result.tags_ = tagsBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -2928,26 +3726,26 @@ public Builder clone() { return (Builder) super.clone(); } public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { return (Builder) super.setField(field, value); } public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { + com.google.protobuf.Descriptors.FieldDescriptor field) { return (Builder) super.clearField(field); } public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { + com.google.protobuf.Descriptors.OneofDescriptor oneof) { return (Builder) super.clearOneof(oneof); } public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { return (Builder) super.setRepeatedField(field, index, value); } public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { return (Builder) super.addRepeatedField(field, value); } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -2990,6 +3788,32 @@ public Builder mergeFrom(SharedStreetsProto.WaySection other) { name_ = other.name_; onChanged(); } + if (tagsBuilder_ == null) { + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + } else { + if (!other.tags_.isEmpty()) { + if (tagsBuilder_.isEmpty()) { + tagsBuilder_.dispose(); + tagsBuilder_ = null; + tags_ = other.tags_; + bitField0_ = (bitField0_ & ~0x00000080); + tagsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTagsFieldBuilder() : null; + } else { + tagsBuilder_.addAllMessages(other.tags_); + } + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3000,9 +3824,9 @@ public final boolean isInitialized() { } public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { SharedStreetsProto.WaySection parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); @@ -3029,7 +3853,7 @@ public long getWayId() { * uint64 wayId = 1; */ public Builder setWayId(long value) { - + wayId_ = value; onChanged(); return this; @@ -3038,7 +3862,7 @@ public Builder setWayId(long value) { * uint64 wayId = 1; */ public Builder clearWayId() { - + wayId_ = 0L; onChanged(); return this; @@ -3073,7 +3897,7 @@ public Builder setRoadClass(SharedStreetsProto.RoadClass value) { if (value == null) { throw new NullPointerException(); } - + roadClass_ = value.getNumber(); onChanged(); return this; @@ -3082,7 +3906,7 @@ public Builder setRoadClass(SharedStreetsProto.RoadClass value) { * .RoadClass roadClass = 2; */ public Builder clearRoadClass() { - + roadClass_ = 0; onChanged(); return this; @@ -3099,7 +3923,7 @@ public boolean getOneWay() { * bool oneWay = 3; */ public Builder setOneWay(boolean value) { - + oneWay_ = value; onChanged(); return this; @@ -3108,7 +3932,7 @@ public Builder setOneWay(boolean value) { * bool oneWay = 3; */ public Builder clearOneWay() { - + oneWay_ = false; onChanged(); return this; @@ -3125,7 +3949,7 @@ public boolean getRoundabout() { * bool roundabout = 4; */ public Builder setRoundabout(boolean value) { - + roundabout_ = value; onChanged(); return this; @@ -3134,7 +3958,7 @@ public Builder setRoundabout(boolean value) { * bool roundabout = 4; */ public Builder clearRoundabout() { - + roundabout_ = false; onChanged(); return this; @@ -3151,7 +3975,7 @@ public boolean getLink() { * bool link = 5; */ public Builder setLink(boolean value) { - + link_ = value; onChanged(); return this; @@ -3160,7 +3984,7 @@ public Builder setLink(boolean value) { * bool link = 5; */ public Builder clearLink() { - + link_ = false; onChanged(); return this; @@ -3171,13 +3995,13 @@ private void ensureNodeIdsIsMutable() { if (!((bitField0_ & 0x00000020) == 0x00000020)) { nodeIds_ = new java.util.ArrayList(nodeIds_); bitField0_ |= 0x00000020; - } + } } /** * repeated uint64 nodeIds = 6; */ public java.util.List - getNodeIdsList() { + getNodeIdsList() { return java.util.Collections.unmodifiableList(nodeIds_); } /** @@ -3193,140 +4017,452 @@ public long getNodeIds(int index) { return nodeIds_.get(index); } /** - * repeated uint64 nodeIds = 6; + * repeated uint64 nodeIds = 6; + */ + public Builder setNodeIds( + int index, long value) { + ensureNodeIdsIsMutable(); + nodeIds_.set(index, value); + onChanged(); + return this; + } + /** + * repeated uint64 nodeIds = 6; + */ + public Builder addNodeIds(long value) { + ensureNodeIdsIsMutable(); + nodeIds_.add(value); + onChanged(); + return this; + } + /** + * repeated uint64 nodeIds = 6; + */ + public Builder addAllNodeIds( + java.lang.Iterable values) { + ensureNodeIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, nodeIds_); + onChanged(); + return this; + } + /** + * repeated uint64 nodeIds = 6; + */ + public Builder clearNodeIds() { + nodeIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + *
+       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * 
+ * + * string name = 7; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * 
+ * + * string name = 7; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * 
+ * + * string name = 7; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + *
+       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * 
+ * + * string name = 7; + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + *
+       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * 
+ * + * string name = 7; + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private java.util.List tags_ = + java.util.Collections.emptyList(); + private void ensureTagsIsMutable() { + if (!((bitField0_ & 0x00000080) == 0x00000080)) { + tags_ = new java.util.ArrayList(tags_); + bitField0_ |= 0x00000080; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + SharedStreetsProto.OsmTag, SharedStreetsProto.OsmTag.Builder, SharedStreetsProto.OsmTagOrBuilder> tagsBuilder_; + + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public java.util.List getTagsList() { + if (tagsBuilder_ == null) { + return java.util.Collections.unmodifiableList(tags_); + } else { + return tagsBuilder_.getMessageList(); + } + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public int getTagsCount() { + if (tagsBuilder_ == null) { + return tags_.size(); + } else { + return tagsBuilder_.getCount(); + } + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public SharedStreetsProto.OsmTag getTags(int index) { + if (tagsBuilder_ == null) { + return tags_.get(index); + } else { + return tagsBuilder_.getMessage(index); + } + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder setTags( + int index, SharedStreetsProto.OsmTag value) { + if (tagsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.set(index, value); + onChanged(); + } else { + tagsBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder setTags( + int index, SharedStreetsProto.OsmTag.Builder builderForValue) { + if (tagsBuilder_ == null) { + ensureTagsIsMutable(); + tags_.set(index, builderForValue.build()); + onChanged(); + } else { + tagsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder addTags(SharedStreetsProto.OsmTag value) { + if (tagsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(value); + onChanged(); + } else { + tagsBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder addTags( + int index, SharedStreetsProto.OsmTag value) { + if (tagsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(index, value); + onChanged(); + } else { + tagsBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder addTags( + SharedStreetsProto.OsmTag.Builder builderForValue) { + if (tagsBuilder_ == null) { + ensureTagsIsMutable(); + tags_.add(builderForValue.build()); + onChanged(); + } else { + tagsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; + */ + public Builder addTags( + int index, SharedStreetsProto.OsmTag.Builder builderForValue) { + if (tagsBuilder_ == null) { + ensureTagsIsMutable(); + tags_.add(index, builderForValue.build()); + onChanged(); + } else { + tagsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; */ - public Builder setNodeIds( - int index, long value) { - ensureNodeIdsIsMutable(); - nodeIds_.set(index, value); - onChanged(); + public Builder addAllTags( + java.lang.Iterable values) { + if (tagsBuilder_ == null) { + ensureTagsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, tags_); + onChanged(); + } else { + tagsBuilder_.addAllMessages(values); + } return this; } /** - * repeated uint64 nodeIds = 6; + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; */ - public Builder addNodeIds(long value) { - ensureNodeIdsIsMutable(); - nodeIds_.add(value); - onChanged(); + public Builder clearTags() { + if (tagsBuilder_ == null) { + tags_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + } else { + tagsBuilder_.clear(); + } return this; } /** - * repeated uint64 nodeIds = 6; + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; */ - public Builder addAllNodeIds( - java.lang.Iterable values) { - ensureNodeIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, nodeIds_); - onChanged(); + public Builder removeTags(int index) { + if (tagsBuilder_ == null) { + ensureTagsIsMutable(); + tags_.remove(index); + onChanged(); + } else { + tagsBuilder_.remove(index); + } return this; } /** - * repeated uint64 nodeIds = 6; + *
+       * osm  tags
+       * 
+ * + * repeated .OsmTag tags = 8; */ - public Builder clearNodeIds() { - nodeIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); - onChanged(); - return this; + public SharedStreetsProto.OsmTag.Builder getTagsBuilder( + int index) { + return getTagsFieldBuilder().getBuilder(index); } - - private java.lang.Object name_ = ""; /** *
-       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * osm  tags
        * 
* - * string name = 7; + * repeated .OsmTag tags = 8; */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; + public SharedStreetsProto.OsmTagOrBuilder getTagsOrBuilder( + int index) { + if (tagsBuilder_ == null) { + return tags_.get(index); } else { + return tagsBuilder_.getMessageOrBuilder(index); } } /** *
-       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * osm  tags
        * 
* - * string name = 7; + * repeated .OsmTag tags = 8; */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; + public java.util.List + getTagsOrBuilderList() { + if (tagsBuilder_ != null) { + return tagsBuilder_.getMessageOrBuilderList(); } else { - return (com.google.protobuf.ByteString) ref; + return java.util.Collections.unmodifiableList(tags_); } } /** *
-       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * osm  tags
        * 
* - * string name = 7; + * repeated .OsmTag tags = 8; */ - public Builder setName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - name_ = value; - onChanged(); - return this; + public SharedStreetsProto.OsmTag.Builder addTagsBuilder() { + return getTagsFieldBuilder().addBuilder( + SharedStreetsProto.OsmTag.getDefaultInstance()); } /** *
-       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * osm  tags
        * 
* - * string name = 7; + * repeated .OsmTag tags = 8; */ - public Builder clearName() { - - name_ = getDefaultInstance().getName(); - onChanged(); - return this; + public SharedStreetsProto.OsmTag.Builder addTagsBuilder( + int index) { + return getTagsFieldBuilder().addBuilder( + index, SharedStreetsProto.OsmTag.getDefaultInstance()); } /** *
-       * name only stored here if different for each way section, otherwise captured in OSMMetadata
+       * osm  tags
        * 
* - * string name = 7; + * repeated .OsmTag tags = 8; */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); + public java.util.List + getTagsBuilderList() { + return getTagsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + SharedStreetsProto.OsmTag, SharedStreetsProto.OsmTag.Builder, SharedStreetsProto.OsmTagOrBuilder> + getTagsFieldBuilder() { + if (tagsBuilder_ == null) { + tagsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + SharedStreetsProto.OsmTag, SharedStreetsProto.OsmTag.Builder, SharedStreetsProto.OsmTagOrBuilder>( + tags_, + ((bitField0_ & 0x00000080) == 0x00000080), + getParentForChildren(), + isClean()); + tags_ = null; } - checkByteStringIsUtf8(value); - - name_ = value; - onChanged(); - return this; + return tagsBuilder_; } public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { + final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFieldsProto3(unknownFields); } public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { + final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } @@ -3345,12 +4481,12 @@ public static SharedStreetsProto.WaySection getDefaultInstance() { } private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + PARSER = new com.google.protobuf.AbstractParser() { public WaySection parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new WaySection(input, extensionRegistry); + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new WaySection(input, extensionRegistry); } }; @@ -3370,14 +4506,14 @@ public SharedStreetsProto.WaySection getDefaultInstanceForType() { } public interface OSMMetadataOrBuilder extends - // @@protoc_insertion_point(interface_extends:OSMMetadata) - com.google.protobuf.MessageOrBuilder { + // @@protoc_insertion_point(interface_extends:OSMMetadata) + com.google.protobuf.MessageOrBuilder { /** * repeated .WaySection waySections = 1; */ - java.util.List - getWaySectionsList(); + java.util.List + getWaySectionsList(); /** * repeated .WaySection waySections = 1; */ @@ -3389,13 +4525,13 @@ public interface OSMMetadataOrBuilder extends /** * repeated .WaySection waySections = 1; */ - java.util.List - getWaySectionsOrBuilderList(); + java.util.List + getWaySectionsOrBuilderList(); /** * repeated .WaySection waySections = 1; */ SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder( - int index); + int index); /** *
@@ -3413,16 +4549,16 @@ SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder(
      * string name = 2;
      */
     com.google.protobuf.ByteString
-    getNameBytes();
+        getNameBytes();
   }
   /**
    * Protobuf type {@code OSMMetadata}
    */
   public  static final class OSMMetadata extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:OSMMetadata)
-          OSMMetadataOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:OSMMetadata)
+      OSMMetadataOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use OSMMetadata.newBuilder() to construct.
     private OSMMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -3438,13 +4574,13 @@ private OSMMetadata() {
       return this.unknownFields;
     }
     private OSMMetadata(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -3455,7 +4591,7 @@ private OSMMetadata(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -3466,7 +4602,7 @@ private OSMMetadata(
                 mutable_bitField0_ |= 0x00000001;
               }
               waySections_.add(
-                      input.readMessage(SharedStreetsProto.WaySection.parser(), extensionRegistry));
+                  input.readMessage(SharedStreetsProto.WaySection.parser(), extensionRegistry));
               break;
             }
             case 18: {
@@ -3481,7 +4617,7 @@ private OSMMetadata(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
           waySections_ = java.util.Collections.unmodifiableList(waySections_);
@@ -3491,15 +4627,15 @@ private OSMMetadata(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_OSMMetadata_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_OSMMetadata_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.OSMMetadata.class, SharedStreetsProto.OSMMetadata.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.OSMMetadata.class, SharedStreetsProto.OSMMetadata.Builder.class);
     }
 
     private int bitField0_;
@@ -3514,8 +4650,8 @@ public java.util.List getWaySectionsList() {
     /**
      * repeated .WaySection waySections = 1;
      */
-    public java.util.List
-    getWaySectionsOrBuilderList() {
+    public java.util.List 
+        getWaySectionsOrBuilderList() {
       return waySections_;
     }
     /**
@@ -3534,7 +4670,7 @@ public SharedStreetsProto.WaySection getWaySections(int index) {
      * repeated .WaySection waySections = 1;
      */
     public SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder(
-            int index) {
+        int index) {
       return waySections_.get(index);
     }
 
@@ -3552,8 +4688,8 @@ public java.lang.String getName() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         name_ = s;
         return s;
@@ -3567,12 +4703,12 @@ public java.lang.String getName() {
      * string name = 2;
      */
     public com.google.protobuf.ByteString
-    getNameBytes() {
+        getNameBytes() {
       java.lang.Object ref = name_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         name_ = b;
         return b;
       } else {
@@ -3591,7 +4727,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       for (int i = 0; i < waySections_.size(); i++) {
         output.writeMessage(1, waySections_.get(i));
       }
@@ -3608,7 +4744,7 @@ public int getSerializedSize() {
       size = 0;
       for (int i = 0; i < waySections_.size(); i++) {
         size += com.google.protobuf.CodedOutputStream
-                .computeMessageSize(1, waySections_.get(i));
+          .computeMessageSize(1, waySections_.get(i));
       }
       if (!getNameBytes().isEmpty()) {
         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
@@ -3621,7 +4757,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.OSMMetadata)) {
         return super.equals(obj);
@@ -3630,9 +4766,9 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getWaySectionsList()
-              .equals(other.getWaySectionsList());
+          .equals(other.getWaySectionsList());
       result = result && getName()
-              .equals(other.getName());
+          .equals(other.getName());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -3656,73 +4792,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.OSMMetadata parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.OSMMetadata parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.OSMMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -3734,12 +4870,12 @@ public static Builder newBuilder(SharedStreetsProto.OSMMetadata prototype) {
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -3747,19 +4883,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code OSMMetadata}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:OSMMetadata)
-            SharedStreetsProto.OSMMetadataOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:OSMMetadata)
+        SharedStreetsProto.OSMMetadataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_OSMMetadata_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_OSMMetadata_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.OSMMetadata.class, SharedStreetsProto.OSMMetadata.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.OSMMetadata.class, SharedStreetsProto.OSMMetadata.Builder.class);
       }
 
       // Construct using SharedStreetsProto.OSMMetadata.newBuilder()
@@ -3768,7 +4904,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -3792,7 +4928,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_OSMMetadata_descriptor;
       }
 
@@ -3831,26 +4967,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -3882,9 +5018,9 @@ public Builder mergeFrom(SharedStreetsProto.OSMMetadata other) {
               waySectionsBuilder_ = null;
               waySections_ = other.waySections_;
               bitField0_ = (bitField0_ & ~0x00000001);
-              waySectionsBuilder_ =
-                      com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                              getWaySectionsFieldBuilder() : null;
+              waySectionsBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getWaySectionsFieldBuilder() : null;
             } else {
               waySectionsBuilder_.addAllMessages(other.waySections_);
             }
@@ -3904,9 +5040,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.OSMMetadata parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -3923,16 +5059,16 @@ public Builder mergeFrom(
       private int bitField0_;
 
       private java.util.List waySections_ =
-              java.util.Collections.emptyList();
+        java.util.Collections.emptyList();
       private void ensureWaySectionsIsMutable() {
         if (!((bitField0_ & 0x00000001) == 0x00000001)) {
           waySections_ = new java.util.ArrayList(waySections_);
           bitField0_ |= 0x00000001;
-        }
+         }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder> waySectionsBuilder_;
+          SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder> waySectionsBuilder_;
 
       /**
        * repeated .WaySection waySections = 1;
@@ -3968,7 +5104,7 @@ public SharedStreetsProto.WaySection getWaySections(int index) {
        * repeated .WaySection waySections = 1;
        */
       public Builder setWaySections(
-              int index, SharedStreetsProto.WaySection value) {
+          int index, SharedStreetsProto.WaySection value) {
         if (waySectionsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -3985,7 +5121,7 @@ public Builder setWaySections(
        * repeated .WaySection waySections = 1;
        */
       public Builder setWaySections(
-              int index, SharedStreetsProto.WaySection.Builder builderForValue) {
+          int index, SharedStreetsProto.WaySection.Builder builderForValue) {
         if (waySectionsBuilder_ == null) {
           ensureWaySectionsIsMutable();
           waySections_.set(index, builderForValue.build());
@@ -4015,7 +5151,7 @@ public Builder addWaySections(SharedStreetsProto.WaySection value) {
        * repeated .WaySection waySections = 1;
        */
       public Builder addWaySections(
-              int index, SharedStreetsProto.WaySection value) {
+          int index, SharedStreetsProto.WaySection value) {
         if (waySectionsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -4032,7 +5168,7 @@ public Builder addWaySections(
        * repeated .WaySection waySections = 1;
        */
       public Builder addWaySections(
-              SharedStreetsProto.WaySection.Builder builderForValue) {
+          SharedStreetsProto.WaySection.Builder builderForValue) {
         if (waySectionsBuilder_ == null) {
           ensureWaySectionsIsMutable();
           waySections_.add(builderForValue.build());
@@ -4046,7 +5182,7 @@ public Builder addWaySections(
        * repeated .WaySection waySections = 1;
        */
       public Builder addWaySections(
-              int index, SharedStreetsProto.WaySection.Builder builderForValue) {
+          int index, SharedStreetsProto.WaySection.Builder builderForValue) {
         if (waySectionsBuilder_ == null) {
           ensureWaySectionsIsMutable();
           waySections_.add(index, builderForValue.build());
@@ -4060,11 +5196,11 @@ public Builder addWaySections(
        * repeated .WaySection waySections = 1;
        */
       public Builder addAllWaySections(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (waySectionsBuilder_ == null) {
           ensureWaySectionsIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                  values, waySections_);
+              values, waySections_);
           onChanged();
         } else {
           waySectionsBuilder_.addAllMessages(values);
@@ -4101,14 +5237,14 @@ public Builder removeWaySections(int index) {
        * repeated .WaySection waySections = 1;
        */
       public SharedStreetsProto.WaySection.Builder getWaySectionsBuilder(
-              int index) {
+          int index) {
         return getWaySectionsFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .WaySection waySections = 1;
        */
       public SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder(
-              int index) {
+          int index) {
         if (waySectionsBuilder_ == null) {
           return waySections_.get(index);  } else {
           return waySectionsBuilder_.getMessageOrBuilder(index);
@@ -4117,8 +5253,8 @@ public SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder(
       /**
        * repeated .WaySection waySections = 1;
        */
-      public java.util.List
-      getWaySectionsOrBuilderList() {
+      public java.util.List 
+           getWaySectionsOrBuilderList() {
         if (waySectionsBuilder_ != null) {
           return waySectionsBuilder_.getMessageOrBuilderList();
         } else {
@@ -4130,29 +5266,29 @@ public SharedStreetsProto.WaySectionOrBuilder getWaySectionsOrBuilder(
        */
       public SharedStreetsProto.WaySection.Builder addWaySectionsBuilder() {
         return getWaySectionsFieldBuilder().addBuilder(
-                SharedStreetsProto.WaySection.getDefaultInstance());
+            SharedStreetsProto.WaySection.getDefaultInstance());
       }
       /**
        * repeated .WaySection waySections = 1;
        */
       public SharedStreetsProto.WaySection.Builder addWaySectionsBuilder(
-              int index) {
+          int index) {
         return getWaySectionsFieldBuilder().addBuilder(
-                index, SharedStreetsProto.WaySection.getDefaultInstance());
+            index, SharedStreetsProto.WaySection.getDefaultInstance());
       }
       /**
        * repeated .WaySection waySections = 1;
        */
-      public java.util.List
-      getWaySectionsBuilderList() {
+      public java.util.List 
+           getWaySectionsBuilderList() {
         return getWaySectionsFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder>
-      getWaySectionsFieldBuilder() {
+          SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder> 
+          getWaySectionsFieldBuilder() {
         if (waySectionsBuilder_ == null) {
           waySectionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-                  SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder>(
+              SharedStreetsProto.WaySection, SharedStreetsProto.WaySection.Builder, SharedStreetsProto.WaySectionOrBuilder>(
                   waySections_,
                   ((bitField0_ & 0x00000001) == 0x00000001),
                   getParentForChildren(),
@@ -4174,7 +5310,7 @@ public java.lang.String getName() {
         java.lang.Object ref = name_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           name_ = s;
           return s;
@@ -4190,12 +5326,12 @@ public java.lang.String getName() {
        * string name = 2;
        */
       public com.google.protobuf.ByteString
-      getNameBytes() {
+          getNameBytes() {
         java.lang.Object ref = name_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           name_ = b;
           return b;
         } else {
@@ -4210,11 +5346,11 @@ public java.lang.String getName() {
        * string name = 2;
        */
       public Builder setName(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         name_ = value;
         onChanged();
         return this;
@@ -4227,7 +5363,7 @@ public Builder setName(
        * string name = 2;
        */
       public Builder clearName() {
-
+        
         name_ = getDefaultInstance().getName();
         onChanged();
         return this;
@@ -4240,23 +5376,23 @@ public Builder clearName() {
        * string name = 2;
        */
       public Builder setNameBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         name_ = value;
         onChanged();
         return this;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -4275,12 +5411,12 @@ public static SharedStreetsProto.OSMMetadata getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public OSMMetadata parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new OSMMetadata(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new OSMMetadata(input, extensionRegistry);
       }
     };
 
@@ -4300,8 +5436,8 @@ public SharedStreetsProto.OSMMetadata getDefaultInstanceForType() {
   }
 
   public interface SharedStreetsMetadataOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:SharedStreetsMetadata)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:SharedStreetsMetadata)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * string geometryId = 1;
@@ -4311,7 +5447,7 @@ public interface SharedStreetsMetadataOrBuilder extends
      * string geometryId = 1;
      */
     com.google.protobuf.ByteString
-    getGeometryIdBytes();
+        getGeometryIdBytes();
 
     /**
      * .OSMMetadata osmMetadata = 2;
@@ -4329,8 +5465,8 @@ public interface SharedStreetsMetadataOrBuilder extends
     /**
      * repeated .GISMetadata gisMetadata = 3;
      */
-    java.util.List
-    getGisMetadataList();
+    java.util.List 
+        getGisMetadataList();
     /**
      * repeated .GISMetadata gisMetadata = 3;
      */
@@ -4342,22 +5478,22 @@ public interface SharedStreetsMetadataOrBuilder extends
     /**
      * repeated .GISMetadata gisMetadata = 3;
      */
-    java.util.List
-    getGisMetadataOrBuilderList();
+    java.util.List 
+        getGisMetadataOrBuilderList();
     /**
      * repeated .GISMetadata gisMetadata = 3;
      */
     SharedStreetsProto.GISMetadataOrBuilder getGisMetadataOrBuilder(
-            int index);
+        int index);
   }
   /**
    * Protobuf type {@code SharedStreetsMetadata}
    */
   public  static final class SharedStreetsMetadata extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:SharedStreetsMetadata)
-          SharedStreetsMetadataOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:SharedStreetsMetadata)
+      SharedStreetsMetadataOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use SharedStreetsMetadata.newBuilder() to construct.
     private SharedStreetsMetadata(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -4373,13 +5509,13 @@ private SharedStreetsMetadata() {
       return this.unknownFields;
     }
     private SharedStreetsMetadata(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -4390,7 +5526,7 @@ private SharedStreetsMetadata(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -4420,7 +5556,7 @@ private SharedStreetsMetadata(
                 mutable_bitField0_ |= 0x00000004;
               }
               gisMetadata_.add(
-                      input.readMessage(SharedStreetsProto.GISMetadata.parser(), extensionRegistry));
+                  input.readMessage(SharedStreetsProto.GISMetadata.parser(), extensionRegistry));
               break;
             }
           }
@@ -4429,7 +5565,7 @@ private SharedStreetsMetadata(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
           gisMetadata_ = java.util.Collections.unmodifiableList(gisMetadata_);
@@ -4439,15 +5575,15 @@ private SharedStreetsMetadata(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_SharedStreetsMetadata_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_SharedStreetsMetadata_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.SharedStreetsMetadata.class, SharedStreetsProto.SharedStreetsMetadata.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.SharedStreetsMetadata.class, SharedStreetsProto.SharedStreetsMetadata.Builder.class);
     }
 
     private int bitField0_;
@@ -4461,8 +5597,8 @@ public java.lang.String getGeometryId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         geometryId_ = s;
         return s;
@@ -4472,12 +5608,12 @@ public java.lang.String getGeometryId() {
      * string geometryId = 1;
      */
     public com.google.protobuf.ByteString
-    getGeometryIdBytes() {
+        getGeometryIdBytes() {
       java.lang.Object ref = geometryId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         geometryId_ = b;
         return b;
       } else {
@@ -4517,8 +5653,8 @@ public java.util.List getGisMetadataList() {
     /**
      * repeated .GISMetadata gisMetadata = 3;
      */
-    public java.util.List
-    getGisMetadataOrBuilderList() {
+    public java.util.List 
+        getGisMetadataOrBuilderList() {
       return gisMetadata_;
     }
     /**
@@ -4537,7 +5673,7 @@ public SharedStreetsProto.GISMetadata getGisMetadata(int index) {
      * repeated .GISMetadata gisMetadata = 3;
      */
     public SharedStreetsProto.GISMetadataOrBuilder getGisMetadataOrBuilder(
-            int index) {
+        int index) {
       return gisMetadata_.get(index);
     }
 
@@ -4552,7 +5688,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getGeometryIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, geometryId_);
       }
@@ -4575,11 +5711,11 @@ public int getSerializedSize() {
       }
       if (osmMetadata_ != null) {
         size += com.google.protobuf.CodedOutputStream
-                .computeMessageSize(2, getOsmMetadata());
+          .computeMessageSize(2, getOsmMetadata());
       }
       for (int i = 0; i < gisMetadata_.size(); i++) {
         size += com.google.protobuf.CodedOutputStream
-                .computeMessageSize(3, gisMetadata_.get(i));
+          .computeMessageSize(3, gisMetadata_.get(i));
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -4589,7 +5725,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.SharedStreetsMetadata)) {
         return super.equals(obj);
@@ -4598,14 +5734,14 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getGeometryId()
-              .equals(other.getGeometryId());
+          .equals(other.getGeometryId());
       result = result && (hasOsmMetadata() == other.hasOsmMetadata());
       if (hasOsmMetadata()) {
         result = result && getOsmMetadata()
-                .equals(other.getOsmMetadata());
+            .equals(other.getOsmMetadata());
       }
       result = result && getGisMetadataList()
-              .equals(other.getGisMetadataList());
+          .equals(other.getGisMetadataList());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -4633,73 +5769,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsMetadata parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -4711,12 +5847,12 @@ public static Builder newBuilder(SharedStreetsProto.SharedStreetsMetadata protot
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -4724,19 +5860,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code SharedStreetsMetadata}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:SharedStreetsMetadata)
-            SharedStreetsProto.SharedStreetsMetadataOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:SharedStreetsMetadata)
+        SharedStreetsProto.SharedStreetsMetadataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_SharedStreetsMetadata_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_SharedStreetsMetadata_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.SharedStreetsMetadata.class, SharedStreetsProto.SharedStreetsMetadata.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.SharedStreetsMetadata.class, SharedStreetsProto.SharedStreetsMetadata.Builder.class);
       }
 
       // Construct using SharedStreetsProto.SharedStreetsMetadata.newBuilder()
@@ -4745,7 +5881,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -4775,7 +5911,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_SharedStreetsMetadata_descriptor;
       }
 
@@ -4819,26 +5955,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -4877,9 +6013,9 @@ public Builder mergeFrom(SharedStreetsProto.SharedStreetsMetadata other) {
               gisMetadataBuilder_ = null;
               gisMetadata_ = other.gisMetadata_;
               bitField0_ = (bitField0_ & ~0x00000004);
-              gisMetadataBuilder_ =
-                      com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                              getGisMetadataFieldBuilder() : null;
+              gisMetadataBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getGisMetadataFieldBuilder() : null;
             } else {
               gisMetadataBuilder_.addAllMessages(other.gisMetadata_);
             }
@@ -4895,9 +6031,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.SharedStreetsMetadata parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -4921,7 +6057,7 @@ public java.lang.String getGeometryId() {
         java.lang.Object ref = geometryId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           geometryId_ = s;
           return s;
@@ -4933,12 +6069,12 @@ public java.lang.String getGeometryId() {
        * string geometryId = 1;
        */
       public com.google.protobuf.ByteString
-      getGeometryIdBytes() {
+          getGeometryIdBytes() {
         java.lang.Object ref = geometryId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           geometryId_ = b;
           return b;
         } else {
@@ -4949,11 +6085,11 @@ public java.lang.String getGeometryId() {
        * string geometryId = 1;
        */
       public Builder setGeometryId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         geometryId_ = value;
         onChanged();
         return this;
@@ -4962,7 +6098,7 @@ public Builder setGeometryId(
        * string geometryId = 1;
        */
       public Builder clearGeometryId() {
-
+        
         geometryId_ = getDefaultInstance().getGeometryId();
         onChanged();
         return this;
@@ -4971,12 +6107,12 @@ public Builder clearGeometryId() {
        * string geometryId = 1;
        */
       public Builder setGeometryIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         geometryId_ = value;
         onChanged();
         return this;
@@ -4984,7 +6120,7 @@ public Builder setGeometryIdBytes(
 
       private SharedStreetsProto.OSMMetadata osmMetadata_ = null;
       private com.google.protobuf.SingleFieldBuilderV3<
-              SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder> osmMetadataBuilder_;
+          SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder> osmMetadataBuilder_;
       /**
        * .OSMMetadata osmMetadata = 2;
        */
@@ -5021,7 +6157,7 @@ public Builder setOsmMetadata(SharedStreetsProto.OSMMetadata value) {
        * .OSMMetadata osmMetadata = 2;
        */
       public Builder setOsmMetadata(
-              SharedStreetsProto.OSMMetadata.Builder builderForValue) {
+          SharedStreetsProto.OSMMetadata.Builder builderForValue) {
         if (osmMetadataBuilder_ == null) {
           osmMetadata_ = builderForValue.build();
           onChanged();
@@ -5038,7 +6174,7 @@ public Builder mergeOsmMetadata(SharedStreetsProto.OSMMetadata value) {
         if (osmMetadataBuilder_ == null) {
           if (osmMetadata_ != null) {
             osmMetadata_ =
-                    SharedStreetsProto.OSMMetadata.newBuilder(osmMetadata_).mergeFrom(value).buildPartial();
+              SharedStreetsProto.OSMMetadata.newBuilder(osmMetadata_).mergeFrom(value).buildPartial();
           } else {
             osmMetadata_ = value;
           }
@@ -5067,7 +6203,7 @@ public Builder clearOsmMetadata() {
        * .OSMMetadata osmMetadata = 2;
        */
       public SharedStreetsProto.OSMMetadata.Builder getOsmMetadataBuilder() {
-
+        
         onChanged();
         return getOsmMetadataFieldBuilder().getBuilder();
       }
@@ -5079,18 +6215,18 @@ public SharedStreetsProto.OSMMetadataOrBuilder getOsmMetadataOrBuilder() {
           return osmMetadataBuilder_.getMessageOrBuilder();
         } else {
           return osmMetadata_ == null ?
-                  SharedStreetsProto.OSMMetadata.getDefaultInstance() : osmMetadata_;
+              SharedStreetsProto.OSMMetadata.getDefaultInstance() : osmMetadata_;
         }
       }
       /**
        * .OSMMetadata osmMetadata = 2;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-              SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder>
-      getOsmMetadataFieldBuilder() {
+          SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder> 
+          getOsmMetadataFieldBuilder() {
         if (osmMetadataBuilder_ == null) {
           osmMetadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-                  SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder>(
+              SharedStreetsProto.OSMMetadata, SharedStreetsProto.OSMMetadata.Builder, SharedStreetsProto.OSMMetadataOrBuilder>(
                   getOsmMetadata(),
                   getParentForChildren(),
                   isClean());
@@ -5100,16 +6236,16 @@ public SharedStreetsProto.OSMMetadataOrBuilder getOsmMetadataOrBuilder() {
       }
 
       private java.util.List gisMetadata_ =
-              java.util.Collections.emptyList();
+        java.util.Collections.emptyList();
       private void ensureGisMetadataIsMutable() {
         if (!((bitField0_ & 0x00000004) == 0x00000004)) {
           gisMetadata_ = new java.util.ArrayList(gisMetadata_);
           bitField0_ |= 0x00000004;
-        }
+         }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder> gisMetadataBuilder_;
+          SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder> gisMetadataBuilder_;
 
       /**
        * repeated .GISMetadata gisMetadata = 3;
@@ -5145,7 +6281,7 @@ public SharedStreetsProto.GISMetadata getGisMetadata(int index) {
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder setGisMetadata(
-              int index, SharedStreetsProto.GISMetadata value) {
+          int index, SharedStreetsProto.GISMetadata value) {
         if (gisMetadataBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5162,7 +6298,7 @@ public Builder setGisMetadata(
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder setGisMetadata(
-              int index, SharedStreetsProto.GISMetadata.Builder builderForValue) {
+          int index, SharedStreetsProto.GISMetadata.Builder builderForValue) {
         if (gisMetadataBuilder_ == null) {
           ensureGisMetadataIsMutable();
           gisMetadata_.set(index, builderForValue.build());
@@ -5192,7 +6328,7 @@ public Builder addGisMetadata(SharedStreetsProto.GISMetadata value) {
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder addGisMetadata(
-              int index, SharedStreetsProto.GISMetadata value) {
+          int index, SharedStreetsProto.GISMetadata value) {
         if (gisMetadataBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5209,7 +6345,7 @@ public Builder addGisMetadata(
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder addGisMetadata(
-              SharedStreetsProto.GISMetadata.Builder builderForValue) {
+          SharedStreetsProto.GISMetadata.Builder builderForValue) {
         if (gisMetadataBuilder_ == null) {
           ensureGisMetadataIsMutable();
           gisMetadata_.add(builderForValue.build());
@@ -5223,7 +6359,7 @@ public Builder addGisMetadata(
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder addGisMetadata(
-              int index, SharedStreetsProto.GISMetadata.Builder builderForValue) {
+          int index, SharedStreetsProto.GISMetadata.Builder builderForValue) {
         if (gisMetadataBuilder_ == null) {
           ensureGisMetadataIsMutable();
           gisMetadata_.add(index, builderForValue.build());
@@ -5237,11 +6373,11 @@ public Builder addGisMetadata(
        * repeated .GISMetadata gisMetadata = 3;
        */
       public Builder addAllGisMetadata(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (gisMetadataBuilder_ == null) {
           ensureGisMetadataIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                  values, gisMetadata_);
+              values, gisMetadata_);
           onChanged();
         } else {
           gisMetadataBuilder_.addAllMessages(values);
@@ -5278,14 +6414,14 @@ public Builder removeGisMetadata(int index) {
        * repeated .GISMetadata gisMetadata = 3;
        */
       public SharedStreetsProto.GISMetadata.Builder getGisMetadataBuilder(
-              int index) {
+          int index) {
         return getGisMetadataFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .GISMetadata gisMetadata = 3;
        */
       public SharedStreetsProto.GISMetadataOrBuilder getGisMetadataOrBuilder(
-              int index) {
+          int index) {
         if (gisMetadataBuilder_ == null) {
           return gisMetadata_.get(index);  } else {
           return gisMetadataBuilder_.getMessageOrBuilder(index);
@@ -5294,8 +6430,8 @@ public SharedStreetsProto.GISMetadataOrBuilder getGisMetadataOrBuilder(
       /**
        * repeated .GISMetadata gisMetadata = 3;
        */
-      public java.util.List
-      getGisMetadataOrBuilderList() {
+      public java.util.List 
+           getGisMetadataOrBuilderList() {
         if (gisMetadataBuilder_ != null) {
           return gisMetadataBuilder_.getMessageOrBuilderList();
         } else {
@@ -5307,29 +6443,29 @@ public SharedStreetsProto.GISMetadataOrBuilder getGisMetadataOrBuilder(
        */
       public SharedStreetsProto.GISMetadata.Builder addGisMetadataBuilder() {
         return getGisMetadataFieldBuilder().addBuilder(
-                SharedStreetsProto.GISMetadata.getDefaultInstance());
+            SharedStreetsProto.GISMetadata.getDefaultInstance());
       }
       /**
        * repeated .GISMetadata gisMetadata = 3;
        */
       public SharedStreetsProto.GISMetadata.Builder addGisMetadataBuilder(
-              int index) {
+          int index) {
         return getGisMetadataFieldBuilder().addBuilder(
-                index, SharedStreetsProto.GISMetadata.getDefaultInstance());
+            index, SharedStreetsProto.GISMetadata.getDefaultInstance());
       }
       /**
        * repeated .GISMetadata gisMetadata = 3;
        */
-      public java.util.List
-      getGisMetadataBuilderList() {
+      public java.util.List 
+           getGisMetadataBuilderList() {
         return getGisMetadataFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder>
-      getGisMetadataFieldBuilder() {
+          SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder> 
+          getGisMetadataFieldBuilder() {
         if (gisMetadataBuilder_ == null) {
           gisMetadataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-                  SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder>(
+              SharedStreetsProto.GISMetadata, SharedStreetsProto.GISMetadata.Builder, SharedStreetsProto.GISMetadataOrBuilder>(
                   gisMetadata_,
                   ((bitField0_ & 0x00000004) == 0x00000004),
                   getParentForChildren(),
@@ -5339,12 +6475,12 @@ public SharedStreetsProto.GISMetadata.Builder addGisMetadataBuilder(
         return gisMetadataBuilder_;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -5363,12 +6499,12 @@ public static SharedStreetsProto.SharedStreetsMetadata getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public SharedStreetsMetadata parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SharedStreetsMetadata(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new SharedStreetsMetadata(input, extensionRegistry);
       }
     };
 
@@ -5388,8 +6524,8 @@ public SharedStreetsProto.SharedStreetsMetadata getDefaultInstanceForType() {
   }
 
   public interface SharedStreetsGeometryOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:SharedStreetsGeometry)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:SharedStreetsGeometry)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * string id = 1;
@@ -5399,7 +6535,7 @@ public interface SharedStreetsGeometryOrBuilder extends
      * string id = 1;
      */
     com.google.protobuf.ByteString
-    getIdBytes();
+        getIdBytes();
 
     /**
      * string fromIntersectionId = 2;
@@ -5409,7 +6545,7 @@ public interface SharedStreetsGeometryOrBuilder extends
      * string fromIntersectionId = 2;
      */
     com.google.protobuf.ByteString
-    getFromIntersectionIdBytes();
+        getFromIntersectionIdBytes();
 
     /**
      * string toIntersectionId = 3;
@@ -5419,7 +6555,7 @@ public interface SharedStreetsGeometryOrBuilder extends
      * string toIntersectionId = 3;
      */
     com.google.protobuf.ByteString
-    getToIntersectionIdBytes();
+        getToIntersectionIdBytes();
 
     /**
      * string forwardReferenceId = 4;
@@ -5429,7 +6565,7 @@ public interface SharedStreetsGeometryOrBuilder extends
      * string forwardReferenceId = 4;
      */
     com.google.protobuf.ByteString
-    getForwardReferenceIdBytes();
+        getForwardReferenceIdBytes();
 
     /**
      * string backReferenceId = 5;
@@ -5439,7 +6575,7 @@ public interface SharedStreetsGeometryOrBuilder extends
      * string backReferenceId = 5;
      */
     com.google.protobuf.ByteString
-    getBackReferenceIdBytes();
+        getBackReferenceIdBytes();
 
     /**
      * .RoadClass roadClass = 6;
@@ -5479,10 +6615,10 @@ public interface SharedStreetsGeometryOrBuilder extends
    * Protobuf type {@code SharedStreetsGeometry}
    */
   public  static final class SharedStreetsGeometry extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:SharedStreetsGeometry)
-          SharedStreetsGeometryOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:SharedStreetsGeometry)
+      SharedStreetsGeometryOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use SharedStreetsGeometry.newBuilder() to construct.
     private SharedStreetsGeometry(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -5503,13 +6639,13 @@ private SharedStreetsGeometry() {
       return this.unknownFields;
     }
     private SharedStreetsGeometry(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -5520,7 +6656,7 @@ private SharedStreetsGeometry(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -5588,7 +6724,7 @@ private SharedStreetsGeometry(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
           lonlats_ = java.util.Collections.unmodifiableList(lonlats_);
@@ -5598,15 +6734,15 @@ private SharedStreetsGeometry(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_SharedStreetsGeometry_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_SharedStreetsGeometry_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.SharedStreetsGeometry.class, SharedStreetsProto.SharedStreetsGeometry.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.SharedStreetsGeometry.class, SharedStreetsProto.SharedStreetsGeometry.Builder.class);
     }
 
     private int bitField0_;
@@ -5620,8 +6756,8 @@ public java.lang.String getId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         id_ = s;
         return s;
@@ -5631,12 +6767,12 @@ public java.lang.String getId() {
      * string id = 1;
      */
     public com.google.protobuf.ByteString
-    getIdBytes() {
+        getIdBytes() {
       java.lang.Object ref = id_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         id_ = b;
         return b;
       } else {
@@ -5654,8 +6790,8 @@ public java.lang.String getFromIntersectionId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         fromIntersectionId_ = s;
         return s;
@@ -5665,12 +6801,12 @@ public java.lang.String getFromIntersectionId() {
      * string fromIntersectionId = 2;
      */
     public com.google.protobuf.ByteString
-    getFromIntersectionIdBytes() {
+        getFromIntersectionIdBytes() {
       java.lang.Object ref = fromIntersectionId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         fromIntersectionId_ = b;
         return b;
       } else {
@@ -5688,8 +6824,8 @@ public java.lang.String getToIntersectionId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         toIntersectionId_ = s;
         return s;
@@ -5699,12 +6835,12 @@ public java.lang.String getToIntersectionId() {
      * string toIntersectionId = 3;
      */
     public com.google.protobuf.ByteString
-    getToIntersectionIdBytes() {
+        getToIntersectionIdBytes() {
       java.lang.Object ref = toIntersectionId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         toIntersectionId_ = b;
         return b;
       } else {
@@ -5722,8 +6858,8 @@ public java.lang.String getForwardReferenceId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         forwardReferenceId_ = s;
         return s;
@@ -5733,12 +6869,12 @@ public java.lang.String getForwardReferenceId() {
      * string forwardReferenceId = 4;
      */
     public com.google.protobuf.ByteString
-    getForwardReferenceIdBytes() {
+        getForwardReferenceIdBytes() {
       java.lang.Object ref = forwardReferenceId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         forwardReferenceId_ = b;
         return b;
       } else {
@@ -5756,8 +6892,8 @@ public java.lang.String getBackReferenceId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         backReferenceId_ = s;
         return s;
@@ -5767,12 +6903,12 @@ public java.lang.String getBackReferenceId() {
      * string backReferenceId = 5;
      */
     public com.google.protobuf.ByteString
-    getBackReferenceIdBytes() {
+        getBackReferenceIdBytes() {
       java.lang.Object ref = backReferenceId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         backReferenceId_ = b;
         return b;
       } else {
@@ -5806,7 +6942,7 @@ public SharedStreetsProto.RoadClass getRoadClass() {
      * repeated double lonlats = 7;
      */
     public java.util.List
-    getLonlatsList() {
+        getLonlatsList() {
       return lonlats_;
     }
     /**
@@ -5842,7 +6978,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       getSerializedSize();
       if (!getIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
@@ -5894,7 +7030,7 @@ public int getSerializedSize() {
       }
       if (roadClass_ != SharedStreetsProto.RoadClass.Motorway.getNumber()) {
         size += com.google.protobuf.CodedOutputStream
-                .computeEnumSize(6, roadClass_);
+          .computeEnumSize(6, roadClass_);
       }
       {
         int dataSize = 0;
@@ -5903,7 +7039,7 @@ public int getSerializedSize() {
         if (!getLonlatsList().isEmpty()) {
           size += 1;
           size += com.google.protobuf.CodedOutputStream
-                  .computeInt32SizeNoTag(dataSize);
+              .computeInt32SizeNoTag(dataSize);
         }
         lonlatsMemoizedSerializedSize = dataSize;
       }
@@ -5915,7 +7051,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.SharedStreetsGeometry)) {
         return super.equals(obj);
@@ -5924,18 +7060,18 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getId()
-              .equals(other.getId());
+          .equals(other.getId());
       result = result && getFromIntersectionId()
-              .equals(other.getFromIntersectionId());
+          .equals(other.getFromIntersectionId());
       result = result && getToIntersectionId()
-              .equals(other.getToIntersectionId());
+          .equals(other.getToIntersectionId());
       result = result && getForwardReferenceId()
-              .equals(other.getForwardReferenceId());
+          .equals(other.getForwardReferenceId());
       result = result && getBackReferenceId()
-              .equals(other.getBackReferenceId());
+          .equals(other.getBackReferenceId());
       result = result && roadClass_ == other.roadClass_;
       result = result && getLonlatsList()
-              .equals(other.getLonlatsList());
+          .equals(other.getLonlatsList());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -5969,73 +7105,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsGeometry parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -6047,12 +7183,12 @@ public static Builder newBuilder(SharedStreetsProto.SharedStreetsGeometry protot
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -6060,19 +7196,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code SharedStreetsGeometry}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:SharedStreetsGeometry)
-            SharedStreetsProto.SharedStreetsGeometryOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:SharedStreetsGeometry)
+        SharedStreetsProto.SharedStreetsGeometryOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_SharedStreetsGeometry_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_SharedStreetsGeometry_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.SharedStreetsGeometry.class, SharedStreetsProto.SharedStreetsGeometry.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.SharedStreetsGeometry.class, SharedStreetsProto.SharedStreetsGeometry.Builder.class);
       }
 
       // Construct using SharedStreetsProto.SharedStreetsGeometry.newBuilder()
@@ -6081,7 +7217,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -6110,7 +7246,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_SharedStreetsGeometry_descriptor;
       }
 
@@ -6150,26 +7286,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -6226,9 +7362,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.SharedStreetsGeometry parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -6252,7 +7388,7 @@ public java.lang.String getId() {
         java.lang.Object ref = id_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           id_ = s;
           return s;
@@ -6264,12 +7400,12 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public com.google.protobuf.ByteString
-      getIdBytes() {
+          getIdBytes() {
         java.lang.Object ref = id_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           id_ = b;
           return b;
         } else {
@@ -6280,11 +7416,11 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public Builder setId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         id_ = value;
         onChanged();
         return this;
@@ -6293,7 +7429,7 @@ public Builder setId(
        * string id = 1;
        */
       public Builder clearId() {
-
+        
         id_ = getDefaultInstance().getId();
         onChanged();
         return this;
@@ -6302,12 +7438,12 @@ public Builder clearId() {
        * string id = 1;
        */
       public Builder setIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         id_ = value;
         onChanged();
         return this;
@@ -6321,7 +7457,7 @@ public java.lang.String getFromIntersectionId() {
         java.lang.Object ref = fromIntersectionId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           fromIntersectionId_ = s;
           return s;
@@ -6333,12 +7469,12 @@ public java.lang.String getFromIntersectionId() {
        * string fromIntersectionId = 2;
        */
       public com.google.protobuf.ByteString
-      getFromIntersectionIdBytes() {
+          getFromIntersectionIdBytes() {
         java.lang.Object ref = fromIntersectionId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           fromIntersectionId_ = b;
           return b;
         } else {
@@ -6349,11 +7485,11 @@ public java.lang.String getFromIntersectionId() {
        * string fromIntersectionId = 2;
        */
       public Builder setFromIntersectionId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         fromIntersectionId_ = value;
         onChanged();
         return this;
@@ -6362,7 +7498,7 @@ public Builder setFromIntersectionId(
        * string fromIntersectionId = 2;
        */
       public Builder clearFromIntersectionId() {
-
+        
         fromIntersectionId_ = getDefaultInstance().getFromIntersectionId();
         onChanged();
         return this;
@@ -6371,12 +7507,12 @@ public Builder clearFromIntersectionId() {
        * string fromIntersectionId = 2;
        */
       public Builder setFromIntersectionIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         fromIntersectionId_ = value;
         onChanged();
         return this;
@@ -6390,7 +7526,7 @@ public java.lang.String getToIntersectionId() {
         java.lang.Object ref = toIntersectionId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           toIntersectionId_ = s;
           return s;
@@ -6402,12 +7538,12 @@ public java.lang.String getToIntersectionId() {
        * string toIntersectionId = 3;
        */
       public com.google.protobuf.ByteString
-      getToIntersectionIdBytes() {
+          getToIntersectionIdBytes() {
         java.lang.Object ref = toIntersectionId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           toIntersectionId_ = b;
           return b;
         } else {
@@ -6418,11 +7554,11 @@ public java.lang.String getToIntersectionId() {
        * string toIntersectionId = 3;
        */
       public Builder setToIntersectionId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         toIntersectionId_ = value;
         onChanged();
         return this;
@@ -6431,7 +7567,7 @@ public Builder setToIntersectionId(
        * string toIntersectionId = 3;
        */
       public Builder clearToIntersectionId() {
-
+        
         toIntersectionId_ = getDefaultInstance().getToIntersectionId();
         onChanged();
         return this;
@@ -6440,12 +7576,12 @@ public Builder clearToIntersectionId() {
        * string toIntersectionId = 3;
        */
       public Builder setToIntersectionIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         toIntersectionId_ = value;
         onChanged();
         return this;
@@ -6459,7 +7595,7 @@ public java.lang.String getForwardReferenceId() {
         java.lang.Object ref = forwardReferenceId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           forwardReferenceId_ = s;
           return s;
@@ -6471,12 +7607,12 @@ public java.lang.String getForwardReferenceId() {
        * string forwardReferenceId = 4;
        */
       public com.google.protobuf.ByteString
-      getForwardReferenceIdBytes() {
+          getForwardReferenceIdBytes() {
         java.lang.Object ref = forwardReferenceId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           forwardReferenceId_ = b;
           return b;
         } else {
@@ -6487,11 +7623,11 @@ public java.lang.String getForwardReferenceId() {
        * string forwardReferenceId = 4;
        */
       public Builder setForwardReferenceId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         forwardReferenceId_ = value;
         onChanged();
         return this;
@@ -6500,7 +7636,7 @@ public Builder setForwardReferenceId(
        * string forwardReferenceId = 4;
        */
       public Builder clearForwardReferenceId() {
-
+        
         forwardReferenceId_ = getDefaultInstance().getForwardReferenceId();
         onChanged();
         return this;
@@ -6509,12 +7645,12 @@ public Builder clearForwardReferenceId() {
        * string forwardReferenceId = 4;
        */
       public Builder setForwardReferenceIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         forwardReferenceId_ = value;
         onChanged();
         return this;
@@ -6528,7 +7664,7 @@ public java.lang.String getBackReferenceId() {
         java.lang.Object ref = backReferenceId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           backReferenceId_ = s;
           return s;
@@ -6540,12 +7676,12 @@ public java.lang.String getBackReferenceId() {
        * string backReferenceId = 5;
        */
       public com.google.protobuf.ByteString
-      getBackReferenceIdBytes() {
+          getBackReferenceIdBytes() {
         java.lang.Object ref = backReferenceId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           backReferenceId_ = b;
           return b;
         } else {
@@ -6556,11 +7692,11 @@ public java.lang.String getBackReferenceId() {
        * string backReferenceId = 5;
        */
       public Builder setBackReferenceId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         backReferenceId_ = value;
         onChanged();
         return this;
@@ -6569,7 +7705,7 @@ public Builder setBackReferenceId(
        * string backReferenceId = 5;
        */
       public Builder clearBackReferenceId() {
-
+        
         backReferenceId_ = getDefaultInstance().getBackReferenceId();
         onChanged();
         return this;
@@ -6578,12 +7714,12 @@ public Builder clearBackReferenceId() {
        * string backReferenceId = 5;
        */
       public Builder setBackReferenceIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         backReferenceId_ = value;
         onChanged();
         return this;
@@ -6618,7 +7754,7 @@ public Builder setRoadClass(SharedStreetsProto.RoadClass value) {
         if (value == null) {
           throw new NullPointerException();
         }
-
+        
         roadClass_ = value.getNumber();
         onChanged();
         return this;
@@ -6627,7 +7763,7 @@ public Builder setRoadClass(SharedStreetsProto.RoadClass value) {
        * .RoadClass roadClass = 6;
        */
       public Builder clearRoadClass() {
-
+        
         roadClass_ = 0;
         onChanged();
         return this;
@@ -6638,7 +7774,7 @@ private void ensureLonlatsIsMutable() {
         if (!((bitField0_ & 0x00000040) == 0x00000040)) {
           lonlats_ = new java.util.ArrayList(lonlats_);
           bitField0_ |= 0x00000040;
-        }
+         }
       }
       /**
        * 
@@ -6648,7 +7784,7 @@ private void ensureLonlatsIsMutable() {
        * repeated double lonlats = 7;
        */
       public java.util.List
-      getLonlatsList() {
+          getLonlatsList() {
         return java.util.Collections.unmodifiableList(lonlats_);
       }
       /**
@@ -6679,7 +7815,7 @@ public double getLonlats(int index) {
        * repeated double lonlats = 7;
        */
       public Builder setLonlats(
-              int index, double value) {
+          int index, double value) {
         ensureLonlatsIsMutable();
         lonlats_.set(index, value);
         onChanged();
@@ -6706,10 +7842,10 @@ public Builder addLonlats(double value) {
        * repeated double lonlats = 7;
        */
       public Builder addAllLonlats(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         ensureLonlatsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                values, lonlats_);
+            values, lonlats_);
         onChanged();
         return this;
       }
@@ -6727,12 +7863,12 @@ public Builder clearLonlats() {
         return this;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -6751,12 +7887,12 @@ public static SharedStreetsProto.SharedStreetsGeometry getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public SharedStreetsGeometry parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SharedStreetsGeometry(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new SharedStreetsGeometry(input, extensionRegistry);
       }
     };
 
@@ -6776,8 +7912,8 @@ public SharedStreetsProto.SharedStreetsGeometry getDefaultInstanceForType() {
   }
 
   public interface LocationReferenceOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:LocationReference)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:LocationReference)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * string intersectionId = 1;
@@ -6787,7 +7923,7 @@ public interface LocationReferenceOrBuilder extends
      * string intersectionId = 1;
      */
     com.google.protobuf.ByteString
-    getIntersectionIdBytes();
+        getIntersectionIdBytes();
 
     /**
      * double lon = 2;
@@ -6836,10 +7972,10 @@ public interface LocationReferenceOrBuilder extends
    * Protobuf type {@code LocationReference}
    */
   public  static final class LocationReference extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:LocationReference)
-          LocationReferenceOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:LocationReference)
+      LocationReferenceOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use LocationReference.newBuilder() to construct.
     private LocationReference(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -6856,13 +7992,13 @@ private LocationReference() {
       return this.unknownFields;
     }
     private LocationReference(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -6873,7 +8009,7 @@ private LocationReference(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -6915,28 +8051,28 @@ private LocationReference(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         this.unknownFields = unknownFields.build();
         makeExtensionsImmutable();
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_LocationReference_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_LocationReference_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.LocationReference.class, SharedStreetsProto.LocationReference.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.LocationReference.class, SharedStreetsProto.LocationReference.Builder.class);
     }
 
     private int inboundBearingPresentCase_ = 0;
     private java.lang.Object inboundBearingPresent_;
     public enum InboundBearingPresentCase
-            implements com.google.protobuf.Internal.EnumLite {
+        implements com.google.protobuf.Internal.EnumLite {
       INBOUNDBEARING(4),
       INBOUNDBEARINGPRESENT_NOT_SET(0);
       private final int value;
@@ -6966,13 +8102,13 @@ public int getNumber() {
     public InboundBearingPresentCase
     getInboundBearingPresentCase() {
       return InboundBearingPresentCase.forNumber(
-              inboundBearingPresentCase_);
+          inboundBearingPresentCase_);
     }
 
     private int outboundBearingPresentCase_ = 0;
     private java.lang.Object outboundBearingPresent_;
     public enum OutboundBearingPresentCase
-            implements com.google.protobuf.Internal.EnumLite {
+        implements com.google.protobuf.Internal.EnumLite {
       OUTBOUNDBEARING(5),
       OUTBOUNDBEARINGPRESENT_NOT_SET(0);
       private final int value;
@@ -7002,13 +8138,13 @@ public int getNumber() {
     public OutboundBearingPresentCase
     getOutboundBearingPresentCase() {
       return OutboundBearingPresentCase.forNumber(
-              outboundBearingPresentCase_);
+          outboundBearingPresentCase_);
     }
 
     private int distanceToNextRefPresentCase_ = 0;
     private java.lang.Object distanceToNextRefPresent_;
     public enum DistanceToNextRefPresentCase
-            implements com.google.protobuf.Internal.EnumLite {
+        implements com.google.protobuf.Internal.EnumLite {
       DISTANCETONEXTREF(6),
       DISTANCETONEXTREFPRESENT_NOT_SET(0);
       private final int value;
@@ -7038,7 +8174,7 @@ public int getNumber() {
     public DistanceToNextRefPresentCase
     getDistanceToNextRefPresentCase() {
       return DistanceToNextRefPresentCase.forNumber(
-              distanceToNextRefPresentCase_);
+          distanceToNextRefPresentCase_);
     }
 
     public static final int INTERSECTIONID_FIELD_NUMBER = 1;
@@ -7051,8 +8187,8 @@ public java.lang.String getIntersectionId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         intersectionId_ = s;
         return s;
@@ -7062,12 +8198,12 @@ public java.lang.String getIntersectionId() {
      * string intersectionId = 1;
      */
     public com.google.protobuf.ByteString
-    getIntersectionIdBytes() {
+        getIntersectionIdBytes() {
       java.lang.Object ref = intersectionId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         intersectionId_ = b;
         return b;
       } else {
@@ -7149,7 +8285,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getIntersectionIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, intersectionId_);
       }
@@ -7161,15 +8297,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       }
       if (inboundBearingPresentCase_ == 4) {
         output.writeInt32(
-                4, (int)((java.lang.Integer) inboundBearingPresent_));
+            4, (int)((java.lang.Integer) inboundBearingPresent_));
       }
       if (outboundBearingPresentCase_ == 5) {
         output.writeInt32(
-                5, (int)((java.lang.Integer) outboundBearingPresent_));
+            5, (int)((java.lang.Integer) outboundBearingPresent_));
       }
       if (distanceToNextRefPresentCase_ == 6) {
         output.writeInt32(
-                6, (int)((java.lang.Integer) distanceToNextRefPresent_));
+            6, (int)((java.lang.Integer) distanceToNextRefPresent_));
       }
       unknownFields.writeTo(output);
     }
@@ -7184,26 +8320,26 @@ public int getSerializedSize() {
       }
       if (lon_ != 0D) {
         size += com.google.protobuf.CodedOutputStream
-                .computeDoubleSize(2, lon_);
+          .computeDoubleSize(2, lon_);
       }
       if (lat_ != 0D) {
         size += com.google.protobuf.CodedOutputStream
-                .computeDoubleSize(3, lat_);
+          .computeDoubleSize(3, lat_);
       }
       if (inboundBearingPresentCase_ == 4) {
         size += com.google.protobuf.CodedOutputStream
-                .computeInt32Size(
-                        4, (int)((java.lang.Integer) inboundBearingPresent_));
+          .computeInt32Size(
+              4, (int)((java.lang.Integer) inboundBearingPresent_));
       }
       if (outboundBearingPresentCase_ == 5) {
         size += com.google.protobuf.CodedOutputStream
-                .computeInt32Size(
-                        5, (int)((java.lang.Integer) outboundBearingPresent_));
+          .computeInt32Size(
+              5, (int)((java.lang.Integer) outboundBearingPresent_));
       }
       if (distanceToNextRefPresentCase_ == 6) {
         size += com.google.protobuf.CodedOutputStream
-                .computeInt32Size(
-                        6, (int)((java.lang.Integer) distanceToNextRefPresent_));
+          .computeInt32Size(
+              6, (int)((java.lang.Integer) distanceToNextRefPresent_));
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -7213,7 +8349,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.LocationReference)) {
         return super.equals(obj);
@@ -7222,44 +8358,44 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getIntersectionId()
-              .equals(other.getIntersectionId());
+          .equals(other.getIntersectionId());
       result = result && (
-              java.lang.Double.doubleToLongBits(getLon())
-                      == java.lang.Double.doubleToLongBits(
-                      other.getLon()));
+          java.lang.Double.doubleToLongBits(getLon())
+          == java.lang.Double.doubleToLongBits(
+              other.getLon()));
       result = result && (
-              java.lang.Double.doubleToLongBits(getLat())
-                      == java.lang.Double.doubleToLongBits(
-                      other.getLat()));
+          java.lang.Double.doubleToLongBits(getLat())
+          == java.lang.Double.doubleToLongBits(
+              other.getLat()));
       result = result && getInboundBearingPresentCase().equals(
-              other.getInboundBearingPresentCase());
+          other.getInboundBearingPresentCase());
       if (!result) return false;
       switch (inboundBearingPresentCase_) {
         case 4:
           result = result && (getInboundBearing()
-                  == other.getInboundBearing());
+              == other.getInboundBearing());
           break;
         case 0:
         default:
       }
       result = result && getOutboundBearingPresentCase().equals(
-              other.getOutboundBearingPresentCase());
+          other.getOutboundBearingPresentCase());
       if (!result) return false;
       switch (outboundBearingPresentCase_) {
         case 5:
           result = result && (getOutboundBearing()
-                  == other.getOutboundBearing());
+              == other.getOutboundBearing());
           break;
         case 0:
         default:
       }
       result = result && getDistanceToNextRefPresentCase().equals(
-              other.getDistanceToNextRefPresentCase());
+          other.getDistanceToNextRefPresentCase());
       if (!result) return false;
       switch (distanceToNextRefPresentCase_) {
         case 6:
           result = result && (getDistanceToNextRef()
-                  == other.getDistanceToNextRef());
+              == other.getDistanceToNextRef());
           break;
         case 0:
         default:
@@ -7279,10 +8415,10 @@ public int hashCode() {
       hash = (53 * hash) + getIntersectionId().hashCode();
       hash = (37 * hash) + LON_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-              java.lang.Double.doubleToLongBits(getLon()));
+          java.lang.Double.doubleToLongBits(getLon()));
       hash = (37 * hash) + LAT_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-              java.lang.Double.doubleToLongBits(getLat()));
+          java.lang.Double.doubleToLongBits(getLat()));
       switch (inboundBearingPresentCase_) {
         case 4:
           hash = (37 * hash) + INBOUNDBEARING_FIELD_NUMBER;
@@ -7313,73 +8449,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.LocationReference parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.LocationReference parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.LocationReference parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.LocationReference parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.LocationReference parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.LocationReference parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -7391,12 +8527,12 @@ public static Builder newBuilder(SharedStreetsProto.LocationReference prototype)
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -7404,19 +8540,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code LocationReference}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:LocationReference)
-            SharedStreetsProto.LocationReferenceOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:LocationReference)
+        SharedStreetsProto.LocationReferenceOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_LocationReference_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_LocationReference_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.LocationReference.class, SharedStreetsProto.LocationReference.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.LocationReference.class, SharedStreetsProto.LocationReference.Builder.class);
       }
 
       // Construct using SharedStreetsProto.LocationReference.newBuilder()
@@ -7425,7 +8561,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -7452,7 +8588,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_LocationReference_descriptor;
       }
 
@@ -7493,26 +8629,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -7573,9 +8709,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.LocationReference parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -7592,9 +8728,9 @@ public Builder mergeFrom(
       private int inboundBearingPresentCase_ = 0;
       private java.lang.Object inboundBearingPresent_;
       public InboundBearingPresentCase
-      getInboundBearingPresentCase() {
+          getInboundBearingPresentCase() {
         return InboundBearingPresentCase.forNumber(
-                inboundBearingPresentCase_);
+            inboundBearingPresentCase_);
       }
 
       public Builder clearInboundBearingPresent() {
@@ -7607,9 +8743,9 @@ public Builder clearInboundBearingPresent() {
       private int outboundBearingPresentCase_ = 0;
       private java.lang.Object outboundBearingPresent_;
       public OutboundBearingPresentCase
-      getOutboundBearingPresentCase() {
+          getOutboundBearingPresentCase() {
         return OutboundBearingPresentCase.forNumber(
-                outboundBearingPresentCase_);
+            outboundBearingPresentCase_);
       }
 
       public Builder clearOutboundBearingPresent() {
@@ -7622,9 +8758,9 @@ public Builder clearOutboundBearingPresent() {
       private int distanceToNextRefPresentCase_ = 0;
       private java.lang.Object distanceToNextRefPresent_;
       public DistanceToNextRefPresentCase
-      getDistanceToNextRefPresentCase() {
+          getDistanceToNextRefPresentCase() {
         return DistanceToNextRefPresentCase.forNumber(
-                distanceToNextRefPresentCase_);
+            distanceToNextRefPresentCase_);
       }
 
       public Builder clearDistanceToNextRefPresent() {
@@ -7643,7 +8779,7 @@ public java.lang.String getIntersectionId() {
         java.lang.Object ref = intersectionId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           intersectionId_ = s;
           return s;
@@ -7655,12 +8791,12 @@ public java.lang.String getIntersectionId() {
        * string intersectionId = 1;
        */
       public com.google.protobuf.ByteString
-      getIntersectionIdBytes() {
+          getIntersectionIdBytes() {
         java.lang.Object ref = intersectionId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           intersectionId_ = b;
           return b;
         } else {
@@ -7671,11 +8807,11 @@ public java.lang.String getIntersectionId() {
        * string intersectionId = 1;
        */
       public Builder setIntersectionId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         intersectionId_ = value;
         onChanged();
         return this;
@@ -7684,7 +8820,7 @@ public Builder setIntersectionId(
        * string intersectionId = 1;
        */
       public Builder clearIntersectionId() {
-
+        
         intersectionId_ = getDefaultInstance().getIntersectionId();
         onChanged();
         return this;
@@ -7693,12 +8829,12 @@ public Builder clearIntersectionId() {
        * string intersectionId = 1;
        */
       public Builder setIntersectionIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         intersectionId_ = value;
         onChanged();
         return this;
@@ -7715,7 +8851,7 @@ public double getLon() {
        * double lon = 2;
        */
       public Builder setLon(double value) {
-
+        
         lon_ = value;
         onChanged();
         return this;
@@ -7724,7 +8860,7 @@ public Builder setLon(double value) {
        * double lon = 2;
        */
       public Builder clearLon() {
-
+        
         lon_ = 0D;
         onChanged();
         return this;
@@ -7741,7 +8877,7 @@ public double getLat() {
        * double lat = 3;
        */
       public Builder setLat(double value) {
-
+        
         lat_ = value;
         onChanged();
         return this;
@@ -7750,7 +8886,7 @@ public Builder setLat(double value) {
        * double lat = 3;
        */
       public Builder clearLat() {
-
+        
         lat_ = 0D;
         onChanged();
         return this;
@@ -7882,12 +9018,12 @@ public Builder clearDistanceToNextRef() {
         return this;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -7906,12 +9042,12 @@ public static SharedStreetsProto.LocationReference getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public LocationReference parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new LocationReference(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new LocationReference(input, extensionRegistry);
       }
     };
 
@@ -7931,8 +9067,8 @@ public SharedStreetsProto.LocationReference getDefaultInstanceForType() {
   }
 
   public interface SharedStreetsReferenceOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:SharedStreetsReference)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:SharedStreetsReference)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * string id = 1;
@@ -7942,7 +9078,7 @@ public interface SharedStreetsReferenceOrBuilder extends
      * string id = 1;
      */
     com.google.protobuf.ByteString
-    getIdBytes();
+        getIdBytes();
 
     /**
      * string geometryId = 2;
@@ -7952,7 +9088,7 @@ public interface SharedStreetsReferenceOrBuilder extends
      * string geometryId = 2;
      */
     com.google.protobuf.ByteString
-    getGeometryIdBytes();
+        getGeometryIdBytes();
 
     /**
      * .SharedStreetsReference.FormOfWay formOfWay = 3;
@@ -7966,8 +9102,8 @@ public interface SharedStreetsReferenceOrBuilder extends
     /**
      * repeated .LocationReference locationReferences = 4;
      */
-    java.util.List
-    getLocationReferencesList();
+    java.util.List 
+        getLocationReferencesList();
     /**
      * repeated .LocationReference locationReferences = 4;
      */
@@ -7979,22 +9115,22 @@ public interface SharedStreetsReferenceOrBuilder extends
     /**
      * repeated .LocationReference locationReferences = 4;
      */
-    java.util.List
-    getLocationReferencesOrBuilderList();
+    java.util.List 
+        getLocationReferencesOrBuilderList();
     /**
      * repeated .LocationReference locationReferences = 4;
      */
     SharedStreetsProto.LocationReferenceOrBuilder getLocationReferencesOrBuilder(
-            int index);
+        int index);
   }
   /**
    * Protobuf type {@code SharedStreetsReference}
    */
   public  static final class SharedStreetsReference extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:SharedStreetsReference)
-          SharedStreetsReferenceOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:SharedStreetsReference)
+      SharedStreetsReferenceOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use SharedStreetsReference.newBuilder() to construct.
     private SharedStreetsReference(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -8012,13 +9148,13 @@ private SharedStreetsReference() {
       return this.unknownFields;
     }
     private SharedStreetsReference(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -8029,7 +9165,7 @@ private SharedStreetsReference(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -8058,7 +9194,7 @@ private SharedStreetsReference(
                 mutable_bitField0_ |= 0x00000008;
               }
               locationReferences_.add(
-                      input.readMessage(SharedStreetsProto.LocationReference.parser(), extensionRegistry));
+                  input.readMessage(SharedStreetsProto.LocationReference.parser(), extensionRegistry));
               break;
             }
           }
@@ -8067,7 +9203,7 @@ private SharedStreetsReference(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
           locationReferences_ = java.util.Collections.unmodifiableList(locationReferences_);
@@ -8077,22 +9213,22 @@ private SharedStreetsReference(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_SharedStreetsReference_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_SharedStreetsReference_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.SharedStreetsReference.class, SharedStreetsProto.SharedStreetsReference.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.SharedStreetsReference.class, SharedStreetsProto.SharedStreetsReference.Builder.class);
     }
 
     /**
      * Protobuf enum {@code SharedStreetsReference.FormOfWay}
      */
     public enum FormOfWay
-            implements com.google.protobuf.ProtocolMessageEnum {
+        implements com.google.protobuf.ProtocolMessageEnum {
       /**
        * Undefined = 0;
        */
@@ -8173,7 +9309,7 @@ public enum FormOfWay
       public final int getNumber() {
         if (this == UNRECOGNIZED) {
           throw new java.lang.IllegalArgumentException(
-                  "Can't get the number of an unknown enum value.");
+              "Can't get the number of an unknown enum value.");
         }
         return value;
       }
@@ -8201,37 +9337,37 @@ public static FormOfWay forNumber(int value) {
       }
 
       public static com.google.protobuf.Internal.EnumLiteMap
-      internalGetValueMap() {
+          internalGetValueMap() {
         return internalValueMap;
       }
       private static final com.google.protobuf.Internal.EnumLiteMap<
-              FormOfWay> internalValueMap =
-              new com.google.protobuf.Internal.EnumLiteMap() {
-                public FormOfWay findValueByNumber(int number) {
-                  return FormOfWay.forNumber(number);
-                }
-              };
+          FormOfWay> internalValueMap =
+            new com.google.protobuf.Internal.EnumLiteMap() {
+              public FormOfWay findValueByNumber(int number) {
+                return FormOfWay.forNumber(number);
+              }
+            };
 
       public final com.google.protobuf.Descriptors.EnumValueDescriptor
-      getValueDescriptor() {
+          getValueDescriptor() {
         return getDescriptor().getValues().get(ordinal());
       }
       public final com.google.protobuf.Descriptors.EnumDescriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return getDescriptor();
       }
       public static final com.google.protobuf.Descriptors.EnumDescriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.SharedStreetsReference.getDescriptor().getEnumTypes().get(0);
       }
 
       private static final FormOfWay[] VALUES = values();
 
       public static FormOfWay valueOf(
-              com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
         if (desc.getType() != getDescriptor()) {
           throw new java.lang.IllegalArgumentException(
-                  "EnumValueDescriptor is not for this type.");
+            "EnumValueDescriptor is not for this type.");
         }
         if (desc.getIndex() == -1) {
           return UNRECOGNIZED;
@@ -8259,8 +9395,8 @@ public java.lang.String getId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         id_ = s;
         return s;
@@ -8270,12 +9406,12 @@ public java.lang.String getId() {
      * string id = 1;
      */
     public com.google.protobuf.ByteString
-    getIdBytes() {
+        getIdBytes() {
       java.lang.Object ref = id_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         id_ = b;
         return b;
       } else {
@@ -8293,8 +9429,8 @@ public java.lang.String getGeometryId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         geometryId_ = s;
         return s;
@@ -8304,12 +9440,12 @@ public java.lang.String getGeometryId() {
      * string geometryId = 2;
      */
     public com.google.protobuf.ByteString
-    getGeometryIdBytes() {
+        getGeometryIdBytes() {
       java.lang.Object ref = geometryId_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         geometryId_ = b;
         return b;
       } else {
@@ -8344,8 +9480,8 @@ public java.util.List getLocationReference
     /**
      * repeated .LocationReference locationReferences = 4;
      */
-    public java.util.List
-    getLocationReferencesOrBuilderList() {
+    public java.util.List 
+        getLocationReferencesOrBuilderList() {
       return locationReferences_;
     }
     /**
@@ -8364,7 +9500,7 @@ public SharedStreetsProto.LocationReference getLocationReferences(int index) {
      * repeated .LocationReference locationReferences = 4;
      */
     public SharedStreetsProto.LocationReferenceOrBuilder getLocationReferencesOrBuilder(
-            int index) {
+        int index) {
       return locationReferences_.get(index);
     }
 
@@ -8379,7 +9515,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
       }
@@ -8408,11 +9544,11 @@ public int getSerializedSize() {
       }
       if (formOfWay_ != SharedStreetsProto.SharedStreetsReference.FormOfWay.Undefined.getNumber()) {
         size += com.google.protobuf.CodedOutputStream
-                .computeEnumSize(3, formOfWay_);
+          .computeEnumSize(3, formOfWay_);
       }
       for (int i = 0; i < locationReferences_.size(); i++) {
         size += com.google.protobuf.CodedOutputStream
-                .computeMessageSize(4, locationReferences_.get(i));
+          .computeMessageSize(4, locationReferences_.get(i));
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -8422,7 +9558,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.SharedStreetsReference)) {
         return super.equals(obj);
@@ -8431,12 +9567,12 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getId()
-              .equals(other.getId());
+          .equals(other.getId());
       result = result && getGeometryId()
-              .equals(other.getGeometryId());
+          .equals(other.getGeometryId());
       result = result && formOfWay_ == other.formOfWay_;
       result = result && getLocationReferencesList()
-              .equals(other.getLocationReferencesList());
+          .equals(other.getLocationReferencesList());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -8464,73 +9600,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsReference parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsReference parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsReference parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -8542,12 +9678,12 @@ public static Builder newBuilder(SharedStreetsProto.SharedStreetsReference proto
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -8555,19 +9691,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code SharedStreetsReference}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:SharedStreetsReference)
-            SharedStreetsProto.SharedStreetsReferenceOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:SharedStreetsReference)
+        SharedStreetsProto.SharedStreetsReferenceOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_SharedStreetsReference_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_SharedStreetsReference_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.SharedStreetsReference.class, SharedStreetsProto.SharedStreetsReference.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.SharedStreetsReference.class, SharedStreetsProto.SharedStreetsReference.Builder.class);
       }
 
       // Construct using SharedStreetsProto.SharedStreetsReference.newBuilder()
@@ -8576,7 +9712,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -8604,7 +9740,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_SharedStreetsReference_descriptor;
       }
 
@@ -8645,26 +9781,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -8707,9 +9843,9 @@ public Builder mergeFrom(SharedStreetsProto.SharedStreetsReference other) {
               locationReferencesBuilder_ = null;
               locationReferences_ = other.locationReferences_;
               bitField0_ = (bitField0_ & ~0x00000008);
-              locationReferencesBuilder_ =
-                      com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                              getLocationReferencesFieldBuilder() : null;
+              locationReferencesBuilder_ = 
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                   getLocationReferencesFieldBuilder() : null;
             } else {
               locationReferencesBuilder_.addAllMessages(other.locationReferences_);
             }
@@ -8725,9 +9861,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.SharedStreetsReference parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -8751,7 +9887,7 @@ public java.lang.String getId() {
         java.lang.Object ref = id_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           id_ = s;
           return s;
@@ -8763,12 +9899,12 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public com.google.protobuf.ByteString
-      getIdBytes() {
+          getIdBytes() {
         java.lang.Object ref = id_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           id_ = b;
           return b;
         } else {
@@ -8779,11 +9915,11 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public Builder setId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         id_ = value;
         onChanged();
         return this;
@@ -8792,7 +9928,7 @@ public Builder setId(
        * string id = 1;
        */
       public Builder clearId() {
-
+        
         id_ = getDefaultInstance().getId();
         onChanged();
         return this;
@@ -8801,12 +9937,12 @@ public Builder clearId() {
        * string id = 1;
        */
       public Builder setIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         id_ = value;
         onChanged();
         return this;
@@ -8820,7 +9956,7 @@ public java.lang.String getGeometryId() {
         java.lang.Object ref = geometryId_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           geometryId_ = s;
           return s;
@@ -8832,12 +9968,12 @@ public java.lang.String getGeometryId() {
        * string geometryId = 2;
        */
       public com.google.protobuf.ByteString
-      getGeometryIdBytes() {
+          getGeometryIdBytes() {
         java.lang.Object ref = geometryId_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           geometryId_ = b;
           return b;
         } else {
@@ -8848,11 +9984,11 @@ public java.lang.String getGeometryId() {
        * string geometryId = 2;
        */
       public Builder setGeometryId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         geometryId_ = value;
         onChanged();
         return this;
@@ -8861,7 +9997,7 @@ public Builder setGeometryId(
        * string geometryId = 2;
        */
       public Builder clearGeometryId() {
-
+        
         geometryId_ = getDefaultInstance().getGeometryId();
         onChanged();
         return this;
@@ -8870,12 +10006,12 @@ public Builder clearGeometryId() {
        * string geometryId = 2;
        */
       public Builder setGeometryIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         geometryId_ = value;
         onChanged();
         return this;
@@ -8910,7 +10046,7 @@ public Builder setFormOfWay(SharedStreetsProto.SharedStreetsReference.FormOfWay
         if (value == null) {
           throw new NullPointerException();
         }
-
+        
         formOfWay_ = value.getNumber();
         onChanged();
         return this;
@@ -8919,23 +10055,23 @@ public Builder setFormOfWay(SharedStreetsProto.SharedStreetsReference.FormOfWay
        * .SharedStreetsReference.FormOfWay formOfWay = 3;
        */
       public Builder clearFormOfWay() {
-
+        
         formOfWay_ = 0;
         onChanged();
         return this;
       }
 
       private java.util.List locationReferences_ =
-              java.util.Collections.emptyList();
+        java.util.Collections.emptyList();
       private void ensureLocationReferencesIsMutable() {
         if (!((bitField0_ & 0x00000008) == 0x00000008)) {
           locationReferences_ = new java.util.ArrayList(locationReferences_);
           bitField0_ |= 0x00000008;
-        }
+         }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder> locationReferencesBuilder_;
+          SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder> locationReferencesBuilder_;
 
       /**
        * repeated .LocationReference locationReferences = 4;
@@ -8971,7 +10107,7 @@ public SharedStreetsProto.LocationReference getLocationReferences(int index) {
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder setLocationReferences(
-              int index, SharedStreetsProto.LocationReference value) {
+          int index, SharedStreetsProto.LocationReference value) {
         if (locationReferencesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -8988,7 +10124,7 @@ public Builder setLocationReferences(
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder setLocationReferences(
-              int index, SharedStreetsProto.LocationReference.Builder builderForValue) {
+          int index, SharedStreetsProto.LocationReference.Builder builderForValue) {
         if (locationReferencesBuilder_ == null) {
           ensureLocationReferencesIsMutable();
           locationReferences_.set(index, builderForValue.build());
@@ -9018,7 +10154,7 @@ public Builder addLocationReferences(SharedStreetsProto.LocationReference value)
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder addLocationReferences(
-              int index, SharedStreetsProto.LocationReference value) {
+          int index, SharedStreetsProto.LocationReference value) {
         if (locationReferencesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -9035,7 +10171,7 @@ public Builder addLocationReferences(
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder addLocationReferences(
-              SharedStreetsProto.LocationReference.Builder builderForValue) {
+          SharedStreetsProto.LocationReference.Builder builderForValue) {
         if (locationReferencesBuilder_ == null) {
           ensureLocationReferencesIsMutable();
           locationReferences_.add(builderForValue.build());
@@ -9049,7 +10185,7 @@ public Builder addLocationReferences(
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder addLocationReferences(
-              int index, SharedStreetsProto.LocationReference.Builder builderForValue) {
+          int index, SharedStreetsProto.LocationReference.Builder builderForValue) {
         if (locationReferencesBuilder_ == null) {
           ensureLocationReferencesIsMutable();
           locationReferences_.add(index, builderForValue.build());
@@ -9063,11 +10199,11 @@ public Builder addLocationReferences(
        * repeated .LocationReference locationReferences = 4;
        */
       public Builder addAllLocationReferences(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         if (locationReferencesBuilder_ == null) {
           ensureLocationReferencesIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                  values, locationReferences_);
+              values, locationReferences_);
           onChanged();
         } else {
           locationReferencesBuilder_.addAllMessages(values);
@@ -9104,14 +10240,14 @@ public Builder removeLocationReferences(int index) {
        * repeated .LocationReference locationReferences = 4;
        */
       public SharedStreetsProto.LocationReference.Builder getLocationReferencesBuilder(
-              int index) {
+          int index) {
         return getLocationReferencesFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .LocationReference locationReferences = 4;
        */
       public SharedStreetsProto.LocationReferenceOrBuilder getLocationReferencesOrBuilder(
-              int index) {
+          int index) {
         if (locationReferencesBuilder_ == null) {
           return locationReferences_.get(index);  } else {
           return locationReferencesBuilder_.getMessageOrBuilder(index);
@@ -9120,8 +10256,8 @@ public SharedStreetsProto.LocationReferenceOrBuilder getLocationReferencesOrBuil
       /**
        * repeated .LocationReference locationReferences = 4;
        */
-      public java.util.List
-      getLocationReferencesOrBuilderList() {
+      public java.util.List 
+           getLocationReferencesOrBuilderList() {
         if (locationReferencesBuilder_ != null) {
           return locationReferencesBuilder_.getMessageOrBuilderList();
         } else {
@@ -9133,29 +10269,29 @@ public SharedStreetsProto.LocationReferenceOrBuilder getLocationReferencesOrBuil
        */
       public SharedStreetsProto.LocationReference.Builder addLocationReferencesBuilder() {
         return getLocationReferencesFieldBuilder().addBuilder(
-                SharedStreetsProto.LocationReference.getDefaultInstance());
+            SharedStreetsProto.LocationReference.getDefaultInstance());
       }
       /**
        * repeated .LocationReference locationReferences = 4;
        */
       public SharedStreetsProto.LocationReference.Builder addLocationReferencesBuilder(
-              int index) {
+          int index) {
         return getLocationReferencesFieldBuilder().addBuilder(
-                index, SharedStreetsProto.LocationReference.getDefaultInstance());
+            index, SharedStreetsProto.LocationReference.getDefaultInstance());
       }
       /**
        * repeated .LocationReference locationReferences = 4;
        */
-      public java.util.List
-      getLocationReferencesBuilderList() {
+      public java.util.List 
+           getLocationReferencesBuilderList() {
         return getLocationReferencesFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-              SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder>
-      getLocationReferencesFieldBuilder() {
+          SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder> 
+          getLocationReferencesFieldBuilder() {
         if (locationReferencesBuilder_ == null) {
           locationReferencesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-                  SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder>(
+              SharedStreetsProto.LocationReference, SharedStreetsProto.LocationReference.Builder, SharedStreetsProto.LocationReferenceOrBuilder>(
                   locationReferences_,
                   ((bitField0_ & 0x00000008) == 0x00000008),
                   getParentForChildren(),
@@ -9165,12 +10301,12 @@ public SharedStreetsProto.LocationReference.Builder addLocationReferencesBuilder
         return locationReferencesBuilder_;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -9189,12 +10325,12 @@ public static SharedStreetsProto.SharedStreetsReference getDefaultInstance() {
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public SharedStreetsReference parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SharedStreetsReference(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new SharedStreetsReference(input, extensionRegistry);
       }
     };
 
@@ -9214,8 +10350,8 @@ public SharedStreetsProto.SharedStreetsReference getDefaultInstanceForType() {
   }
 
   public interface SharedStreetsIntersectionOrBuilder extends
-          // @@protoc_insertion_point(interface_extends:SharedStreetsIntersection)
-          com.google.protobuf.MessageOrBuilder {
+      // @@protoc_insertion_point(interface_extends:SharedStreetsIntersection)
+      com.google.protobuf.MessageOrBuilder {
 
     /**
      * string id = 1;
@@ -9225,7 +10361,7 @@ public interface SharedStreetsIntersectionOrBuilder extends
      * string id = 1;
      */
     com.google.protobuf.ByteString
-    getIdBytes();
+        getIdBytes();
 
     /**
      * uint64 nodeId = 2;
@@ -9246,7 +10382,7 @@ public interface SharedStreetsIntersectionOrBuilder extends
      * repeated string inboundReferenceIds = 5;
      */
     java.util.List
-    getInboundReferenceIdsList();
+        getInboundReferenceIdsList();
     /**
      * repeated string inboundReferenceIds = 5;
      */
@@ -9259,13 +10395,13 @@ public interface SharedStreetsIntersectionOrBuilder extends
      * repeated string inboundReferenceIds = 5;
      */
     com.google.protobuf.ByteString
-    getInboundReferenceIdsBytes(int index);
+        getInboundReferenceIdsBytes(int index);
 
     /**
      * repeated string outboundReferenceIds = 6;
      */
     java.util.List
-    getOutboundReferenceIdsList();
+        getOutboundReferenceIdsList();
     /**
      * repeated string outboundReferenceIds = 6;
      */
@@ -9278,16 +10414,16 @@ public interface SharedStreetsIntersectionOrBuilder extends
      * repeated string outboundReferenceIds = 6;
      */
     com.google.protobuf.ByteString
-    getOutboundReferenceIdsBytes(int index);
+        getOutboundReferenceIdsBytes(int index);
   }
   /**
    * Protobuf type {@code SharedStreetsIntersection}
    */
   public  static final class SharedStreetsIntersection extends
-          com.google.protobuf.GeneratedMessageV3 implements
-          // @@protoc_insertion_point(message_implements:SharedStreetsIntersection)
-          SharedStreetsIntersectionOrBuilder {
-    private static final long serialVersionUID = 0L;
+      com.google.protobuf.GeneratedMessageV3 implements
+      // @@protoc_insertion_point(message_implements:SharedStreetsIntersection)
+      SharedStreetsIntersectionOrBuilder {
+  private static final long serialVersionUID = 0L;
     // Use SharedStreetsIntersection.newBuilder() to construct.
     private SharedStreetsIntersection(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
@@ -9307,13 +10443,13 @@ private SharedStreetsIntersection() {
       return this.unknownFields;
     }
     private SharedStreetsIntersection(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-              com.google.protobuf.UnknownFieldSet.newBuilder();
+          com.google.protobuf.UnknownFieldSet.newBuilder();
       try {
         boolean done = false;
         while (!done) {
@@ -9324,7 +10460,7 @@ private SharedStreetsIntersection(
               break;
             default: {
               if (!parseUnknownFieldProto3(
-                      input, unknownFields, extensionRegistry, tag)) {
+                  input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
               break;
@@ -9374,7 +10510,7 @@ private SharedStreetsIntersection(
         throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
-                e).setUnfinishedMessage(this);
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
           inboundReferenceIds_ = inboundReferenceIds_.getUnmodifiableView();
@@ -9387,15 +10523,15 @@ private SharedStreetsIntersection(
       }
     }
     public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
+        getDescriptor() {
       return SharedStreetsProto.internal_static_SharedStreetsIntersection_descriptor;
     }
 
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
+        internalGetFieldAccessorTable() {
       return SharedStreetsProto.internal_static_SharedStreetsIntersection_fieldAccessorTable
-              .ensureFieldAccessorsInitialized(
-                      SharedStreetsProto.SharedStreetsIntersection.class, SharedStreetsProto.SharedStreetsIntersection.Builder.class);
+          .ensureFieldAccessorsInitialized(
+              SharedStreetsProto.SharedStreetsIntersection.class, SharedStreetsProto.SharedStreetsIntersection.Builder.class);
     }
 
     private int bitField0_;
@@ -9409,8 +10545,8 @@ public java.lang.String getId() {
       if (ref instanceof java.lang.String) {
         return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-                (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
         id_ = s;
         return s;
@@ -9420,12 +10556,12 @@ public java.lang.String getId() {
      * string id = 1;
      */
     public com.google.protobuf.ByteString
-    getIdBytes() {
+        getIdBytes() {
       java.lang.Object ref = id_;
       if (ref instanceof java.lang.String) {
-        com.google.protobuf.ByteString b =
-                com.google.protobuf.ByteString.copyFromUtf8(
-                        (java.lang.String) ref);
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
         id_ = b;
         return b;
       } else {
@@ -9466,7 +10602,7 @@ public double getLat() {
      * repeated string inboundReferenceIds = 5;
      */
     public com.google.protobuf.ProtocolStringList
-    getInboundReferenceIdsList() {
+        getInboundReferenceIdsList() {
       return inboundReferenceIds_;
     }
     /**
@@ -9485,7 +10621,7 @@ public java.lang.String getInboundReferenceIds(int index) {
      * repeated string inboundReferenceIds = 5;
      */
     public com.google.protobuf.ByteString
-    getInboundReferenceIdsBytes(int index) {
+        getInboundReferenceIdsBytes(int index) {
       return inboundReferenceIds_.getByteString(index);
     }
 
@@ -9495,7 +10631,7 @@ public java.lang.String getInboundReferenceIds(int index) {
      * repeated string outboundReferenceIds = 6;
      */
     public com.google.protobuf.ProtocolStringList
-    getOutboundReferenceIdsList() {
+        getOutboundReferenceIdsList() {
       return outboundReferenceIds_;
     }
     /**
@@ -9514,7 +10650,7 @@ public java.lang.String getOutboundReferenceIds(int index) {
      * repeated string outboundReferenceIds = 6;
      */
     public com.google.protobuf.ByteString
-    getOutboundReferenceIdsBytes(int index) {
+        getOutboundReferenceIdsBytes(int index) {
       return outboundReferenceIds_.getByteString(index);
     }
 
@@ -9529,7 +10665,7 @@ public final boolean isInitialized() {
     }
 
     public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
+                        throws java.io.IOException {
       if (!getIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
       }
@@ -9561,15 +10697,15 @@ public int getSerializedSize() {
       }
       if (nodeId_ != 0L) {
         size += com.google.protobuf.CodedOutputStream
-                .computeUInt64Size(2, nodeId_);
+          .computeUInt64Size(2, nodeId_);
       }
       if (lon_ != 0D) {
         size += com.google.protobuf.CodedOutputStream
-                .computeDoubleSize(3, lon_);
+          .computeDoubleSize(3, lon_);
       }
       if (lat_ != 0D) {
         size += com.google.protobuf.CodedOutputStream
-                .computeDoubleSize(4, lat_);
+          .computeDoubleSize(4, lat_);
       }
       {
         int dataSize = 0;
@@ -9595,7 +10731,7 @@ public int getSerializedSize() {
     @java.lang.Override
     public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
-        return true;
+       return true;
       }
       if (!(obj instanceof SharedStreetsProto.SharedStreetsIntersection)) {
         return super.equals(obj);
@@ -9604,21 +10740,21 @@ public boolean equals(final java.lang.Object obj) {
 
       boolean result = true;
       result = result && getId()
-              .equals(other.getId());
+          .equals(other.getId());
       result = result && (getNodeId()
-              == other.getNodeId());
+          == other.getNodeId());
       result = result && (
-              java.lang.Double.doubleToLongBits(getLon())
-                      == java.lang.Double.doubleToLongBits(
-                      other.getLon()));
+          java.lang.Double.doubleToLongBits(getLon())
+          == java.lang.Double.doubleToLongBits(
+              other.getLon()));
       result = result && (
-              java.lang.Double.doubleToLongBits(getLat())
-                      == java.lang.Double.doubleToLongBits(
-                      other.getLat()));
+          java.lang.Double.doubleToLongBits(getLat())
+          == java.lang.Double.doubleToLongBits(
+              other.getLat()));
       result = result && getInboundReferenceIdsList()
-              .equals(other.getInboundReferenceIdsList());
+          .equals(other.getInboundReferenceIdsList());
       result = result && getOutboundReferenceIdsList()
-              .equals(other.getOutboundReferenceIdsList());
+          .equals(other.getOutboundReferenceIdsList());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -9634,13 +10770,13 @@ public int hashCode() {
       hash = (53 * hash) + getId().hashCode();
       hash = (37 * hash) + NODEID_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-              getNodeId());
+          getNodeId());
       hash = (37 * hash) + LON_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-              java.lang.Double.doubleToLongBits(getLon()));
+          java.lang.Double.doubleToLongBits(getLon()));
       hash = (37 * hash) + LAT_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-              java.lang.Double.doubleToLongBits(getLat()));
+          java.lang.Double.doubleToLongBits(getLat()));
       if (getInboundReferenceIdsCount() > 0) {
         hash = (37 * hash) + INBOUNDREFERENCEIDS_FIELD_NUMBER;
         hash = (53 * hash) + getInboundReferenceIdsList().hashCode();
@@ -9655,73 +10791,73 @@ public int hashCode() {
     }
 
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        java.nio.ByteBuffer data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input);
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input);
+          .parseWithIOException(PARSER, input);
     }
     public static SharedStreetsProto.SharedStreetsIntersection parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
-              .parseWithIOException(PARSER, input, extensionRegistry);
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -9733,12 +10869,12 @@ public static Builder newBuilder(SharedStreetsProto.SharedStreetsIntersection pr
     }
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
-              ? new Builder() : new Builder().mergeFrom(this);
+          ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @java.lang.Override
     protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -9746,19 +10882,19 @@ protected Builder newBuilderForType(
      * Protobuf type {@code SharedStreetsIntersection}
      */
     public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder implements
-            // @@protoc_insertion_point(builder_implements:SharedStreetsIntersection)
-            SharedStreetsProto.SharedStreetsIntersectionOrBuilder {
+        com.google.protobuf.GeneratedMessageV3.Builder implements
+        // @@protoc_insertion_point(builder_implements:SharedStreetsIntersection)
+        SharedStreetsProto.SharedStreetsIntersectionOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
+          getDescriptor() {
         return SharedStreetsProto.internal_static_SharedStreetsIntersection_descriptor;
       }
 
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
+          internalGetFieldAccessorTable() {
         return SharedStreetsProto.internal_static_SharedStreetsIntersection_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        SharedStreetsProto.SharedStreetsIntersection.class, SharedStreetsProto.SharedStreetsIntersection.Builder.class);
+            .ensureFieldAccessorsInitialized(
+                SharedStreetsProto.SharedStreetsIntersection.class, SharedStreetsProto.SharedStreetsIntersection.Builder.class);
       }
 
       // Construct using SharedStreetsProto.SharedStreetsIntersection.newBuilder()
@@ -9767,7 +10903,7 @@ private Builder() {
       }
 
       private Builder(
-              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -9794,7 +10930,7 @@ public Builder clear() {
       }
 
       public com.google.protobuf.Descriptors.Descriptor
-      getDescriptorForType() {
+          getDescriptorForType() {
         return SharedStreetsProto.internal_static_SharedStreetsIntersection_descriptor;
       }
 
@@ -9837,26 +10973,26 @@ public Builder clone() {
         return (Builder) super.clone();
       }
       public Builder setField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.setField(field, value);
       }
       public Builder clearField(
-              com.google.protobuf.Descriptors.FieldDescriptor field) {
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
         return (Builder) super.clearField(field);
       }
       public Builder clearOneof(
-              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return (Builder) super.clearOneof(oneof);
       }
       public Builder setRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              int index, java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, java.lang.Object value) {
         return (Builder) super.setRepeatedField(field, index, value);
       }
       public Builder addRepeatedField(
-              com.google.protobuf.Descriptors.FieldDescriptor field,
-              java.lang.Object value) {
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          java.lang.Object value) {
         return (Builder) super.addRepeatedField(field, value);
       }
       public Builder mergeFrom(com.google.protobuf.Message other) {
@@ -9913,9 +11049,9 @@ public final boolean isInitialized() {
       }
 
       public Builder mergeFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws java.io.IOException {
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
         SharedStreetsProto.SharedStreetsIntersection parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
@@ -9939,7 +11075,7 @@ public java.lang.String getId() {
         java.lang.Object ref = id_;
         if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
-                  (com.google.protobuf.ByteString) ref;
+              (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
           id_ = s;
           return s;
@@ -9951,12 +11087,12 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public com.google.protobuf.ByteString
-      getIdBytes() {
+          getIdBytes() {
         java.lang.Object ref = id_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b =
-                  com.google.protobuf.ByteString.copyFromUtf8(
-                          (java.lang.String) ref);
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
           id_ = b;
           return b;
         } else {
@@ -9967,11 +11103,11 @@ public java.lang.String getId() {
        * string id = 1;
        */
       public Builder setId(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-
+    throw new NullPointerException();
+  }
+  
         id_ = value;
         onChanged();
         return this;
@@ -9980,7 +11116,7 @@ public Builder setId(
        * string id = 1;
        */
       public Builder clearId() {
-
+        
         id_ = getDefaultInstance().getId();
         onChanged();
         return this;
@@ -9989,12 +11125,12 @@ public Builder clearId() {
        * string id = 1;
        */
       public Builder setIdBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
-
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+        
         id_ = value;
         onChanged();
         return this;
@@ -10011,7 +11147,7 @@ public long getNodeId() {
        * uint64 nodeId = 2;
        */
       public Builder setNodeId(long value) {
-
+        
         nodeId_ = value;
         onChanged();
         return this;
@@ -10020,7 +11156,7 @@ public Builder setNodeId(long value) {
        * uint64 nodeId = 2;
        */
       public Builder clearNodeId() {
-
+        
         nodeId_ = 0L;
         onChanged();
         return this;
@@ -10037,7 +11173,7 @@ public double getLon() {
        * double lon = 3;
        */
       public Builder setLon(double value) {
-
+        
         lon_ = value;
         onChanged();
         return this;
@@ -10046,7 +11182,7 @@ public Builder setLon(double value) {
        * double lon = 3;
        */
       public Builder clearLon() {
-
+        
         lon_ = 0D;
         onChanged();
         return this;
@@ -10063,7 +11199,7 @@ public double getLat() {
        * double lat = 4;
        */
       public Builder setLat(double value) {
-
+        
         lat_ = value;
         onChanged();
         return this;
@@ -10072,7 +11208,7 @@ public Builder setLat(double value) {
        * double lat = 4;
        */
       public Builder clearLat() {
-
+        
         lat_ = 0D;
         onChanged();
         return this;
@@ -10083,13 +11219,13 @@ private void ensureInboundReferenceIdsIsMutable() {
         if (!((bitField0_ & 0x00000010) == 0x00000010)) {
           inboundReferenceIds_ = new com.google.protobuf.LazyStringArrayList(inboundReferenceIds_);
           bitField0_ |= 0x00000010;
-        }
+         }
       }
       /**
        * repeated string inboundReferenceIds = 5;
        */
       public com.google.protobuf.ProtocolStringList
-      getInboundReferenceIdsList() {
+          getInboundReferenceIdsList() {
         return inboundReferenceIds_.getUnmodifiableView();
       }
       /**
@@ -10108,18 +11244,18 @@ public java.lang.String getInboundReferenceIds(int index) {
        * repeated string inboundReferenceIds = 5;
        */
       public com.google.protobuf.ByteString
-      getInboundReferenceIdsBytes(int index) {
+          getInboundReferenceIdsBytes(int index) {
         return inboundReferenceIds_.getByteString(index);
       }
       /**
        * repeated string inboundReferenceIds = 5;
        */
       public Builder setInboundReferenceIds(
-              int index, java.lang.String value) {
+          int index, java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureInboundReferenceIdsIsMutable();
+    throw new NullPointerException();
+  }
+  ensureInboundReferenceIdsIsMutable();
         inboundReferenceIds_.set(index, value);
         onChanged();
         return this;
@@ -10128,11 +11264,11 @@ public Builder setInboundReferenceIds(
        * repeated string inboundReferenceIds = 5;
        */
       public Builder addInboundReferenceIds(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureInboundReferenceIdsIsMutable();
+    throw new NullPointerException();
+  }
+  ensureInboundReferenceIdsIsMutable();
         inboundReferenceIds_.add(value);
         onChanged();
         return this;
@@ -10141,10 +11277,10 @@ public Builder addInboundReferenceIds(
        * repeated string inboundReferenceIds = 5;
        */
       public Builder addAllInboundReferenceIds(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         ensureInboundReferenceIdsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                values, inboundReferenceIds_);
+            values, inboundReferenceIds_);
         onChanged();
         return this;
       }
@@ -10161,11 +11297,11 @@ public Builder clearInboundReferenceIds() {
        * repeated string inboundReferenceIds = 5;
        */
       public Builder addInboundReferenceIdsBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
         ensureInboundReferenceIdsIsMutable();
         inboundReferenceIds_.add(value);
         onChanged();
@@ -10177,13 +11313,13 @@ private void ensureOutboundReferenceIdsIsMutable() {
         if (!((bitField0_ & 0x00000020) == 0x00000020)) {
           outboundReferenceIds_ = new com.google.protobuf.LazyStringArrayList(outboundReferenceIds_);
           bitField0_ |= 0x00000020;
-        }
+         }
       }
       /**
        * repeated string outboundReferenceIds = 6;
        */
       public com.google.protobuf.ProtocolStringList
-      getOutboundReferenceIdsList() {
+          getOutboundReferenceIdsList() {
         return outboundReferenceIds_.getUnmodifiableView();
       }
       /**
@@ -10202,18 +11338,18 @@ public java.lang.String getOutboundReferenceIds(int index) {
        * repeated string outboundReferenceIds = 6;
        */
       public com.google.protobuf.ByteString
-      getOutboundReferenceIdsBytes(int index) {
+          getOutboundReferenceIdsBytes(int index) {
         return outboundReferenceIds_.getByteString(index);
       }
       /**
        * repeated string outboundReferenceIds = 6;
        */
       public Builder setOutboundReferenceIds(
-              int index, java.lang.String value) {
+          int index, java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureOutboundReferenceIdsIsMutable();
+    throw new NullPointerException();
+  }
+  ensureOutboundReferenceIdsIsMutable();
         outboundReferenceIds_.set(index, value);
         onChanged();
         return this;
@@ -10222,11 +11358,11 @@ public Builder setOutboundReferenceIds(
        * repeated string outboundReferenceIds = 6;
        */
       public Builder addOutboundReferenceIds(
-              java.lang.String value) {
+          java.lang.String value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureOutboundReferenceIdsIsMutable();
+    throw new NullPointerException();
+  }
+  ensureOutboundReferenceIdsIsMutable();
         outboundReferenceIds_.add(value);
         onChanged();
         return this;
@@ -10235,10 +11371,10 @@ public Builder addOutboundReferenceIds(
        * repeated string outboundReferenceIds = 6;
        */
       public Builder addAllOutboundReferenceIds(
-              java.lang.Iterable values) {
+          java.lang.Iterable values) {
         ensureOutboundReferenceIdsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
-                values, outboundReferenceIds_);
+            values, outboundReferenceIds_);
         onChanged();
         return this;
       }
@@ -10255,23 +11391,23 @@ public Builder clearOutboundReferenceIds() {
        * repeated string outboundReferenceIds = 6;
        */
       public Builder addOutboundReferenceIdsBytes(
-              com.google.protobuf.ByteString value) {
+          com.google.protobuf.ByteString value) {
         if (value == null) {
-          throw new NullPointerException();
-        }
-        checkByteStringIsUtf8(value);
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
         ensureOutboundReferenceIdsIsMutable();
         outboundReferenceIds_.add(value);
         onChanged();
         return this;
       }
       public final Builder setUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
       }
 
       public final Builder mergeUnknownFields(
-              final com.google.protobuf.UnknownFieldSet unknownFields) {
+          final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
       }
 
@@ -10290,12 +11426,12 @@ public static SharedStreetsProto.SharedStreetsIntersection getDefaultInstance()
     }
 
     private static final com.google.protobuf.Parser
-            PARSER = new com.google.protobuf.AbstractParser() {
+        PARSER = new com.google.protobuf.AbstractParser() {
       public SharedStreetsIntersection parsePartialFrom(
-              com.google.protobuf.CodedInputStream input,
-              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-              throws com.google.protobuf.InvalidProtocolBufferException {
-        return new SharedStreetsIntersection(input, extensionRegistry);
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+          return new SharedStreetsIntersection(input, extensionRegistry);
       }
     };
 
@@ -10315,177 +11451,189 @@ public SharedStreetsProto.SharedStreetsIntersection getDefaultInstanceForType()
   }
 
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_Delimiter_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_Delimiter_fieldAccessorTable;
+    internal_static_Delimiter_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_Delimiter_fieldAccessorTable;
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_GISSectionMetadata_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_GISSectionMetadata_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_GISSectionMetadata_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_GISSectionMetadata_fieldAccessorTable;
+    internal_static_GISMetadata_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_GISMetadata_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_GISMetadata_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_GISMetadata_fieldAccessorTable;
+    internal_static_OsmTag_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_OsmTag_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_WaySection_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_WaySection_fieldAccessorTable;
+    internal_static_WaySection_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_WaySection_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_OSMMetadata_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_OSMMetadata_fieldAccessorTable;
+    internal_static_OSMMetadata_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_OSMMetadata_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_SharedStreetsMetadata_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_SharedStreetsMetadata_fieldAccessorTable;
+    internal_static_SharedStreetsMetadata_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_SharedStreetsMetadata_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_SharedStreetsGeometry_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_SharedStreetsGeometry_fieldAccessorTable;
+    internal_static_SharedStreetsGeometry_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_SharedStreetsGeometry_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_LocationReference_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_LocationReference_fieldAccessorTable;
+    internal_static_LocationReference_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_LocationReference_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_SharedStreetsReference_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_SharedStreetsReference_fieldAccessorTable;
+    internal_static_SharedStreetsReference_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_SharedStreetsReference_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-          internal_static_SharedStreetsIntersection_descriptor;
-  private static final
-  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-          internal_static_SharedStreetsIntersection_fieldAccessorTable;
+    internal_static_SharedStreetsIntersection_descriptor;
+  private static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_SharedStreetsIntersection_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
-  getDescriptor() {
+      getDescriptor() {
     return descriptor;
   }
   private static  com.google.protobuf.Descriptors.FileDescriptor
-          descriptor;
+      descriptor;
   static {
     java.lang.String[] descriptorData = {
-            "\n\023sharedstreets.proto\"\033\n\tDelimiter\022\016\n\006le" +
-                    "ngth\030\001 \001(\r\"B\n\022GISSectionMetadata\022\021\n\tsect" +
-                    "ionId\030\001 \001(\t\022\031\n\021sectionProperties\030\002 \001(\t\"D" +
-                    "\n\013GISMetadata\022\016\n\006source\030\001 \001(\t\022%\n\010section" +
-                    "s\030\002 \003(\0132\023.GISSectionMetadata\"\213\001\n\nWaySect" +
-                    "ion\022\r\n\005wayId\030\001 \001(\004\022\035\n\troadClass\030\002 \001(\0162\n." +
-                    "RoadClass\022\016\n\006oneWay\030\003 \001(\010\022\022\n\nroundabout\030" +
-                    "\004 \001(\010\022\014\n\004link\030\005 \001(\010\022\017\n\007nodeIds\030\006 \003(\004\022\014\n\004" +
-                    "name\030\007 \001(\t\"=\n\013OSMMetadata\022 \n\013waySections" +
-                    "\030\001 \003(\0132\013.WaySection\022\014\n\004name\030\002 \001(\t\"q\n\025Sha",
-            "redStreetsMetadata\022\022\n\ngeometryId\030\001 \001(\t\022!" +
-                    "\n\013osmMetadata\030\002 \001(\0132\014.OSMMetadata\022!\n\013gis" +
-                    "Metadata\030\003 \003(\0132\014.GISMetadata\"\276\001\n\025SharedS" +
-                    "treetsGeometry\022\n\n\002id\030\001 \001(\t\022\032\n\022fromInters" +
-                    "ectionId\030\002 \001(\t\022\030\n\020toIntersectionId\030\003 \001(\t" +
-                    "\022\032\n\022forwardReferenceId\030\004 \001(\t\022\027\n\017backRefe" +
-                    "renceId\030\005 \001(\t\022\035\n\troadClass\030\006 \001(\0162\n.RoadC" +
-                    "lass\022\017\n\007lonlats\030\007 \003(\001\"\351\001\n\021LocationRefere" +
-                    "nce\022\026\n\016intersectionId\030\001 \001(\t\022\013\n\003lon\030\002 \001(\001" +
-                    "\022\013\n\003lat\030\003 \001(\001\022\030\n\016inboundBearing\030\004 \001(\005H\000\022",
-            "\031\n\017outboundBearing\030\005 \001(\005H\001\022\033\n\021distanceTo" +
-                    "NextRef\030\006 \001(\005H\002B\030\n\026inboundBearing_presen" +
-                    "tB\031\n\027outboundBearing_presentB\033\n\031distance" +
-                    "ToNextRef_present\"\265\002\n\026SharedStreetsRefer" +
-                    "ence\022\n\n\002id\030\001 \001(\t\022\022\n\ngeometryId\030\002 \001(\t\0224\n\t" +
-                    "formOfWay\030\003 \001(\0162!.SharedStreetsReference" +
-                    ".FormOfWay\022.\n\022locationReferences\030\004 \003(\0132\022" +
-                    ".LocationReference\"\224\001\n\tFormOfWay\022\r\n\tUnde" +
-                    "fined\020\000\022\014\n\010Motorway\020\001\022\027\n\023MultipleCarriag" +
-                    "eway\020\002\022\025\n\021SingleCarriageway\020\003\022\016\n\nRoundab",
-            "out\020\004\022\021\n\rTrafficSquare\020\005\022\014\n\010SlipRoad\020\006\022\t" +
-                    "\n\005Other\020\007\"\214\001\n\031SharedStreetsIntersection\022" +
-                    "\n\n\002id\030\001 \001(\t\022\016\n\006nodeId\030\002 \001(\004\022\013\n\003lon\030\003 \001(\001" +
-                    "\022\013\n\003lat\030\004 \001(\001\022\033\n\023inboundReferenceIds\030\005 \003" +
-                    "(\t\022\034\n\024outboundReferenceIds\030\006 \003(\t*\211\001\n\tRoa" +
-                    "dClass\022\014\n\010Motorway\020\000\022\t\n\005Trunk\020\001\022\013\n\007Prima" +
-                    "ry\020\002\022\r\n\tSecondary\020\003\022\014\n\010Tertiary\020\004\022\017\n\013Res" +
-                    "idential\020\005\022\020\n\014Unclassified\020\006\022\013\n\007Service\020" +
-                    "\007\022\t\n\005Other\020\010B\024B\022SharedStreetsProtob\006prot" +
-                    "o3"
+      "\n\031proto/sharedstreets.proto\"\033\n\tDelimiter" +
+      "\022\016\n\006length\030\001 \001(\r\"B\n\022GISSectionMetadata\022\021" +
+      "\n\tsectionId\030\001 \001(\t\022\031\n\021sectionProperties\030\002" +
+      " \001(\t\"D\n\013GISMetadata\022\016\n\006source\030\001 \001(\t\022%\n\010s" +
+      "ections\030\002 \003(\0132\023.GISSectionMetadata\"$\n\006Os" +
+      "mTag\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"\242\001\n\nWay" +
+      "Section\022\r\n\005wayId\030\001 \001(\004\022\035\n\troadClass\030\002 \001(" +
+      "\0162\n.RoadClass\022\016\n\006oneWay\030\003 \001(\010\022\022\n\nroundab" +
+      "out\030\004 \001(\010\022\014\n\004link\030\005 \001(\010\022\017\n\007nodeIds\030\006 \003(\004" +
+      "\022\014\n\004name\030\007 \001(\t\022\025\n\004tags\030\010 \003(\0132\007.OsmTag\"=\n",
+      "\013OSMMetadata\022 \n\013waySections\030\001 \003(\0132\013.WayS" +
+      "ection\022\014\n\004name\030\002 \001(\t\"q\n\025SharedStreetsMet" +
+      "adata\022\022\n\ngeometryId\030\001 \001(\t\022!\n\013osmMetadata" +
+      "\030\002 \001(\0132\014.OSMMetadata\022!\n\013gisMetadata\030\003 \003(" +
+      "\0132\014.GISMetadata\"\276\001\n\025SharedStreetsGeometr" +
+      "y\022\n\n\002id\030\001 \001(\t\022\032\n\022fromIntersectionId\030\002 \001(" +
+      "\t\022\030\n\020toIntersectionId\030\003 \001(\t\022\032\n\022forwardRe" +
+      "ferenceId\030\004 \001(\t\022\027\n\017backReferenceId\030\005 \001(\t" +
+      "\022\035\n\troadClass\030\006 \001(\0162\n.RoadClass\022\017\n\007lonla" +
+      "ts\030\007 \003(\001\"\351\001\n\021LocationReference\022\026\n\016inters",
+      "ectionId\030\001 \001(\t\022\013\n\003lon\030\002 \001(\001\022\013\n\003lat\030\003 \001(\001" +
+      "\022\030\n\016inboundBearing\030\004 \001(\005H\000\022\031\n\017outboundBe" +
+      "aring\030\005 \001(\005H\001\022\033\n\021distanceToNextRef\030\006 \001(\005" +
+      "H\002B\030\n\026inboundBearing_presentB\031\n\027outbound" +
+      "Bearing_presentB\033\n\031distanceToNextRef_pre" +
+      "sent\"\265\002\n\026SharedStreetsReference\022\n\n\002id\030\001 " +
+      "\001(\t\022\022\n\ngeometryId\030\002 \001(\t\0224\n\tformOfWay\030\003 \001" +
+      "(\0162!.SharedStreetsReference.FormOfWay\022.\n" +
+      "\022locationReferences\030\004 \003(\0132\022.LocationRefe" +
+      "rence\"\224\001\n\tFormOfWay\022\r\n\tUndefined\020\000\022\014\n\010Mo",
+      "torway\020\001\022\027\n\023MultipleCarriageway\020\002\022\025\n\021Sin" +
+      "gleCarriageway\020\003\022\016\n\nRoundabout\020\004\022\021\n\rTraf" +
+      "ficSquare\020\005\022\014\n\010SlipRoad\020\006\022\t\n\005Other\020\007\"\214\001\n" +
+      "\031SharedStreetsIntersection\022\n\n\002id\030\001 \001(\t\022\016" +
+      "\n\006nodeId\030\002 \001(\004\022\013\n\003lon\030\003 \001(\001\022\013\n\003lat\030\004 \001(\001" +
+      "\022\033\n\023inboundReferenceIds\030\005 \003(\t\022\034\n\024outboun" +
+      "dReferenceIds\030\006 \003(\t*\211\001\n\tRoadClass\022\014\n\010Mot" +
+      "orway\020\000\022\t\n\005Trunk\020\001\022\013\n\007Primary\020\002\022\r\n\tSecon" +
+      "dary\020\003\022\014\n\010Tertiary\020\004\022\017\n\013Residential\020\005\022\020\n" +
+      "\014Unclassified\020\006\022\013\n\007Service\020\007\022\t\n\005Other\020\010B",
+      "\024B\022SharedStreetsProtob\006proto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-            new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-              public com.google.protobuf.ExtensionRegistry assignDescriptors(
-                      com.google.protobuf.Descriptors.FileDescriptor root) {
-                descriptor = root;
-                return null;
-              }
-            };
+        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
+          public com.google.protobuf.ExtensionRegistry assignDescriptors(
+              com.google.protobuf.Descriptors.FileDescriptor root) {
+            descriptor = root;
+            return null;
+          }
+        };
     com.google.protobuf.Descriptors.FileDescriptor
-            .internalBuildGeneratedFileFrom(descriptorData,
-                    new com.google.protobuf.Descriptors.FileDescriptor[] {
-                    }, assigner);
+      .internalBuildGeneratedFileFrom(descriptorData,
+        new com.google.protobuf.Descriptors.FileDescriptor[] {
+        }, assigner);
     internal_static_Delimiter_descriptor =
-            getDescriptor().getMessageTypes().get(0);
+      getDescriptor().getMessageTypes().get(0);
     internal_static_Delimiter_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_Delimiter_descriptor,
-            new java.lang.String[] { "Length", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_Delimiter_descriptor,
+        new java.lang.String[] { "Length", });
     internal_static_GISSectionMetadata_descriptor =
-            getDescriptor().getMessageTypes().get(1);
+      getDescriptor().getMessageTypes().get(1);
     internal_static_GISSectionMetadata_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_GISSectionMetadata_descriptor,
-            new java.lang.String[] { "SectionId", "SectionProperties", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_GISSectionMetadata_descriptor,
+        new java.lang.String[] { "SectionId", "SectionProperties", });
     internal_static_GISMetadata_descriptor =
-            getDescriptor().getMessageTypes().get(2);
+      getDescriptor().getMessageTypes().get(2);
     internal_static_GISMetadata_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_GISMetadata_descriptor,
-            new java.lang.String[] { "Source", "Sections", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_GISMetadata_descriptor,
+        new java.lang.String[] { "Source", "Sections", });
+    internal_static_OsmTag_descriptor =
+      getDescriptor().getMessageTypes().get(3);
+    internal_static_OsmTag_fieldAccessorTable = new
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_OsmTag_descriptor,
+        new java.lang.String[] { "Key", "Value", });
     internal_static_WaySection_descriptor =
-            getDescriptor().getMessageTypes().get(3);
+      getDescriptor().getMessageTypes().get(4);
     internal_static_WaySection_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_WaySection_descriptor,
-            new java.lang.String[] { "WayId", "RoadClass", "OneWay", "Roundabout", "Link", "NodeIds", "Name", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_WaySection_descriptor,
+        new java.lang.String[] { "WayId", "RoadClass", "OneWay", "Roundabout", "Link", "NodeIds", "Name", "Tags", });
     internal_static_OSMMetadata_descriptor =
-            getDescriptor().getMessageTypes().get(4);
+      getDescriptor().getMessageTypes().get(5);
     internal_static_OSMMetadata_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_OSMMetadata_descriptor,
-            new java.lang.String[] { "WaySections", "Name", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_OSMMetadata_descriptor,
+        new java.lang.String[] { "WaySections", "Name", });
     internal_static_SharedStreetsMetadata_descriptor =
-            getDescriptor().getMessageTypes().get(5);
+      getDescriptor().getMessageTypes().get(6);
     internal_static_SharedStreetsMetadata_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_SharedStreetsMetadata_descriptor,
-            new java.lang.String[] { "GeometryId", "OsmMetadata", "GisMetadata", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_SharedStreetsMetadata_descriptor,
+        new java.lang.String[] { "GeometryId", "OsmMetadata", "GisMetadata", });
     internal_static_SharedStreetsGeometry_descriptor =
-            getDescriptor().getMessageTypes().get(6);
+      getDescriptor().getMessageTypes().get(7);
     internal_static_SharedStreetsGeometry_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_SharedStreetsGeometry_descriptor,
-            new java.lang.String[] { "Id", "FromIntersectionId", "ToIntersectionId", "ForwardReferenceId", "BackReferenceId", "RoadClass", "Lonlats", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_SharedStreetsGeometry_descriptor,
+        new java.lang.String[] { "Id", "FromIntersectionId", "ToIntersectionId", "ForwardReferenceId", "BackReferenceId", "RoadClass", "Lonlats", });
     internal_static_LocationReference_descriptor =
-            getDescriptor().getMessageTypes().get(7);
+      getDescriptor().getMessageTypes().get(8);
     internal_static_LocationReference_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_LocationReference_descriptor,
-            new java.lang.String[] { "IntersectionId", "Lon", "Lat", "InboundBearing", "OutboundBearing", "DistanceToNextRef", "InboundBearingPresent", "OutboundBearingPresent", "DistanceToNextRefPresent", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_LocationReference_descriptor,
+        new java.lang.String[] { "IntersectionId", "Lon", "Lat", "InboundBearing", "OutboundBearing", "DistanceToNextRef", "InboundBearingPresent", "OutboundBearingPresent", "DistanceToNextRefPresent", });
     internal_static_SharedStreetsReference_descriptor =
-            getDescriptor().getMessageTypes().get(8);
+      getDescriptor().getMessageTypes().get(9);
     internal_static_SharedStreetsReference_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_SharedStreetsReference_descriptor,
-            new java.lang.String[] { "Id", "GeometryId", "FormOfWay", "LocationReferences", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_SharedStreetsReference_descriptor,
+        new java.lang.String[] { "Id", "GeometryId", "FormOfWay", "LocationReferences", });
     internal_static_SharedStreetsIntersection_descriptor =
-            getDescriptor().getMessageTypes().get(9);
+      getDescriptor().getMessageTypes().get(10);
     internal_static_SharedStreetsIntersection_fieldAccessorTable = new
-            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-            internal_static_SharedStreetsIntersection_descriptor,
-            new java.lang.String[] { "Id", "NodeId", "Lon", "Lat", "InboundReferenceIds", "OutboundReferenceIds", });
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_SharedStreetsIntersection_descriptor,
+        new java.lang.String[] { "Id", "NodeId", "Lon", "Lat", "InboundReferenceIds", "OutboundReferenceIds", });
   }
 
   // @@protoc_insertion_point(outer_class_scope)
diff --git a/src/main/java/io/sharedstreets/tools/builder/model/WaySection.java b/src/main/java/io/sharedstreets/tools/builder/model/WaySection.java
index 8dd0cb0..91bd934 100644
--- a/src/main/java/io/sharedstreets/tools/builder/model/WaySection.java
+++ b/src/main/java/io/sharedstreets/tools/builder/model/WaySection.java
@@ -4,6 +4,8 @@
 import io.sharedstreets.tools.builder.osm.model.NodePosition;
 import io.sharedstreets.tools.builder.osm.model.Way;
 
+import java.util.Map;
+
 public class WaySection {
 
     public Long wayId;
@@ -15,5 +17,7 @@ public class WaySection {
 
     public NodePosition[] nodes;
 
+    public Map fields;
+
 }
 
diff --git a/src/main/java/io/sharedstreets/tools/builder/transforms/BaseSegments.java b/src/main/java/io/sharedstreets/tools/builder/transforms/BaseSegments.java
index 85c4dbf..7d2322c 100644
--- a/src/main/java/io/sharedstreets/tools/builder/transforms/BaseSegments.java
+++ b/src/main/java/io/sharedstreets/tools/builder/transforms/BaseSegments.java
@@ -123,6 +123,7 @@ public void join(Tuple2 way, Tuple2 second, Collector way, Tuple2 second, Collector way, Tuple2 second, Collector