diff --git a/bindings/go/scip/scip.pb.go b/bindings/go/scip/scip.pb.go index b2da5971..87c4b8f1 100644 --- a/bindings/go/scip/scip.pb.go +++ b/bindings/go/scip/scip.pb.go @@ -1974,7 +1974,10 @@ type SymbolInformation struct { // this field by rendering markdown code blocks. New indexers should only // include non-code documentation in this field, for example docstrings. Documentation []string `protobuf:"bytes,3,rep,name=documentation,proto3" json:"documentation,omitempty"` - // (optional) Relationships to other symbols (e.g., implements, type definition). + // Deprecated: Use the typed relationship fields instead (implementations, + // references, type_definitions, definition, enclosing_symbol). + // + // Deprecated: Marked as deprecated in scip.proto. Relationships []*Relationship `protobuf:"bytes,4,rep,name=relationships,proto3" json:"relationships,omitempty"` // The kind of this symbol. Use this field instead of // `SymbolDescriptor.Suffix` to determine whether something is, for example, a @@ -1997,26 +2000,69 @@ type SymbolInformation struct { // while other fields such as `Documentation.occurrences` can be optionally // included to support hyperlinking referenced symbols in the signature. SignatureDocumentation *Document `protobuf:"bytes,7,opt,name=signature_documentation,json=signatureDocumentation,proto3" json:"signature_documentation,omitempty"` - // (optional) The enclosing symbol if this is a local symbol. For non-local + // (optional) The enclosing symbol if this is a local symbol. For non-local // symbols, the enclosing symbol should be parsed from the `symbol` field // using the `Descriptor` grammar. // - // The primary use-case for this field is to allow local symbol to be displayed - // in a symbol hierarchy for API documentation. It's OK to leave this field - // empty for local variables since local variables usually don't belong in API - // documentation. However, in the situation that you wish to include a local - // symbol in the hierarchy, then you can use `enclosing_symbol` to locate the - // "parent" or "owner" of this local symbol. For example, a Java indexer may - // choose to use local symbols for private class fields while providing an - // `enclosing_symbol` to reference the enclosing class to allow the field to - // be part of the class documentation hierarchy. From the perspective of an - // author of an indexer, the decision to use a local symbol or global symbol - // should exclusively be determined whether the local symbol is accessible - // outside the document, not by the capability to find the enclosing - // symbol. + // The primary use-case for this field is to allow local symbols to be + // displayed in a symbol hierarchy for API documentation. It's OK to leave + // this field empty for local variables since local variables usually don't + // belong in API documentation. However, in the situation that you wish to + // include a local symbol in the hierarchy, then you can use + // `enclosing_symbol` to locate the "parent" or "owner" of this local symbol. + // For example, a Java indexer may choose to use local symbols for private + // class fields while providing an `enclosing_symbol` to reference the + // enclosing class to allow the field to be part of the class documentation + // hierarchy. From the perspective of an author of an indexer, the decision + // to use a local symbol or global symbol should exclusively be determined + // by whether the local symbol is accessible outside the document, not by the + // capability to find the enclosing symbol. EnclosingSymbol string `protobuf:"bytes,8,opt,name=enclosing_symbol,json=enclosingSymbol,proto3" json:"enclosing_symbol,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // (optional) Symbols that this symbol implements or overrides. + // For "Find implementations" on the target symbol, this symbol will be + // included in the results. + // + // For example, consider the following TypeScript code: + // ```ts + // + // interface Animal { + // sound(): string + // } + // + // class Dog implements Animal { + // public sound(): string { return "woof" } + // } + // + // ``` + // Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()` + // would list `Animal#sound()` in `implementations`. + Implementations []string `protobuf:"bytes,9,rep,name=implementations,proto3" json:"implementations,omitempty"` + // (optional) Symbols whose references should be included when performing + // "Find references" on this symbol. + // + // Continuing the TypeScript example above, `Dog#sound()` would list + // `Animal#sound()` in `references`. This means doing "Find references" on + // `Dog#sound()` would also include references to `Animal#sound()`, and + // vice-versa. + // + // It's common for a symbol to appear in both `implementations` and + // `references`, but not always. For example, `Dog#` lists `Animal#` in + // `implementations` but NOT in `references`, because "Find references" on + // `Animal#` should not return `Dog#`. + References []string `protobuf:"bytes,10,rep,name=references,proto3" json:"references,omitempty"` + // (optional) Symbols that this symbol is a type definition for. + // Used for "Go to type definition" navigation. + TypeDefinitions []string `protobuf:"bytes,11,rep,name=type_definitions,json=typeDefinitions,proto3" json:"type_definitions,omitempty"` + // (optional) Allows overriding the behavior of "Go to definition" and + // "Find references" for symbols which do not have a definition of their own + // or could potentially have multiple definitions. + // + // For example, in a language with single inheritance and some form of mixins, + // you can use `definition` to relate the symbol to the matching symbol in an + // ancestor class. + Definition string `protobuf:"bytes,12,opt,name=definition,proto3" json:"definition,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SymbolInformation) Reset() { @@ -2063,6 +2109,7 @@ func (x *SymbolInformation) GetDocumentation() []string { return nil } +// Deprecated: Marked as deprecated in scip.proto. func (x *SymbolInformation) GetRelationships() []*Relationship { if x != nil { return x.Relationships @@ -2098,6 +2145,34 @@ func (x *SymbolInformation) GetEnclosingSymbol() string { return "" } +func (x *SymbolInformation) GetImplementations() []string { + if x != nil { + return x.Implementations + } + return nil +} + +func (x *SymbolInformation) GetReferences() []string { + if x != nil { + return x.References + } + return nil +} + +func (x *SymbolInformation) GetTypeDefinitions() []string { + if x != nil { + return x.TypeDefinitions + } + return nil +} + +func (x *SymbolInformation) GetDefinition() string { + if x != nil { + return x.Definition + } + return "" +} + type Relationship struct { state protoimpl.MessageState `protogen:"open.v1"` Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` @@ -2556,15 +2631,24 @@ const file_scip_proto_rawDesc = "" + "\tParameter\x10\x06\x12\b\n" + "\x04Meta\x10\a\x12\t\n" + "\x05Local\x10\b\x12\t\n" + - "\x05Macro\x10\t\x1a\x02\x10\x01\"\xd2\f\n" + + "\x05Macro\x10\t\x1a\x02\x10\x01\"\xeb\r\n" + "\x11SymbolInformation\x12\x16\n" + "\x06symbol\x18\x01 \x01(\tR\x06symbol\x12$\n" + - "\rdocumentation\x18\x03 \x03(\tR\rdocumentation\x128\n" + - "\rrelationships\x18\x04 \x03(\v2\x12.scip.RelationshipR\rrelationships\x120\n" + + "\rdocumentation\x18\x03 \x03(\tR\rdocumentation\x12<\n" + + "\rrelationships\x18\x04 \x03(\v2\x12.scip.RelationshipB\x02\x18\x01R\rrelationships\x120\n" + "\x04kind\x18\x05 \x01(\x0e2\x1c.scip.SymbolInformation.KindR\x04kind\x12!\n" + "\fdisplay_name\x18\x06 \x01(\tR\vdisplayName\x12G\n" + "\x17signature_documentation\x18\a \x01(\v2\x0e.scip.DocumentR\x16signatureDocumentation\x12)\n" + - "\x10enclosing_symbol\x18\b \x01(\tR\x0fenclosingSymbol\"\xfb\t\n" + + "\x10enclosing_symbol\x18\b \x01(\tR\x0fenclosingSymbol\x12(\n" + + "\x0fimplementations\x18\t \x03(\tR\x0fimplementations\x12\x1e\n" + + "\n" + + "references\x18\n" + + " \x03(\tR\n" + + "references\x12)\n" + + "\x10type_definitions\x18\v \x03(\tR\x0ftypeDefinitions\x12\x1e\n" + + "\n" + + "definition\x18\f \x01(\tR\n" + + "definition\"\xfb\t\n" + "\x04Kind\x12\x13\n" + "\x0fUnspecifiedKind\x10\x00\x12\x12\n" + "\x0eAbstractMethod\x10B\x12\f\n" + diff --git a/bindings/haskell/src/Proto/Scip.hs b/bindings/haskell/src/Proto/Scip.hs index 968c0c2e..720d62ee 100644 --- a/bindings/haskell/src/Proto/Scip.hs +++ b/bindings/haskell/src/Proto/Scip.hs @@ -4025,7 +4025,14 @@ instance Control.DeepSeq.NFData Symbol where * 'Proto.Scip_Fields.displayName' @:: Lens' SymbolInformation Data.Text.Text@ * 'Proto.Scip_Fields.signatureDocumentation' @:: Lens' SymbolInformation Document@ * 'Proto.Scip_Fields.maybe'signatureDocumentation' @:: Lens' SymbolInformation (Prelude.Maybe Document)@ - * 'Proto.Scip_Fields.enclosingSymbol' @:: Lens' SymbolInformation Data.Text.Text@ -} + * 'Proto.Scip_Fields.enclosingSymbol' @:: Lens' SymbolInformation Data.Text.Text@ + * 'Proto.Scip_Fields.implementations' @:: Lens' SymbolInformation [Data.Text.Text]@ + * 'Proto.Scip_Fields.vec'implementations' @:: Lens' SymbolInformation (Data.Vector.Vector Data.Text.Text)@ + * 'Proto.Scip_Fields.references' @:: Lens' SymbolInformation [Data.Text.Text]@ + * 'Proto.Scip_Fields.vec'references' @:: Lens' SymbolInformation (Data.Vector.Vector Data.Text.Text)@ + * 'Proto.Scip_Fields.typeDefinitions' @:: Lens' SymbolInformation [Data.Text.Text]@ + * 'Proto.Scip_Fields.vec'typeDefinitions' @:: Lens' SymbolInformation (Data.Vector.Vector Data.Text.Text)@ + * 'Proto.Scip_Fields.definition' @:: Lens' SymbolInformation Data.Text.Text@ -} data SymbolInformation = SymbolInformation'_constructor {_SymbolInformation'symbol :: !Data.Text.Text, _SymbolInformation'documentation :: !(Data.Vector.Vector Data.Text.Text), @@ -4034,6 +4041,10 @@ data SymbolInformation _SymbolInformation'displayName :: !Data.Text.Text, _SymbolInformation'signatureDocumentation :: !(Prelude.Maybe Document), _SymbolInformation'enclosingSymbol :: !Data.Text.Text, + _SymbolInformation'implementations :: !(Data.Vector.Vector Data.Text.Text), + _SymbolInformation'references :: !(Data.Vector.Vector Data.Text.Text), + _SymbolInformation'typeDefinitions :: !(Data.Vector.Vector Data.Text.Text), + _SymbolInformation'definition :: !Data.Text.Text, _SymbolInformation'_unknownFields :: !Data.ProtoLens.FieldSet} deriving stock (Prelude.Eq, Prelude.Ord) instance Prelude.Show SymbolInformation where @@ -4118,18 +4129,82 @@ instance Data.ProtoLens.Field.HasField SymbolInformation "enclosingSymbol" Data. _SymbolInformation'enclosingSymbol (\ x__ y__ -> x__ {_SymbolInformation'enclosingSymbol = y__})) Prelude.id +instance Data.ProtoLens.Field.HasField SymbolInformation "implementations" [Data.Text.Text] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'implementations + (\ x__ y__ -> x__ {_SymbolInformation'implementations = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField SymbolInformation "vec'implementations" (Data.Vector.Vector Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'implementations + (\ x__ y__ -> x__ {_SymbolInformation'implementations = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField SymbolInformation "references" [Data.Text.Text] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'references + (\ x__ y__ -> x__ {_SymbolInformation'references = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField SymbolInformation "vec'references" (Data.Vector.Vector Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'references + (\ x__ y__ -> x__ {_SymbolInformation'references = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField SymbolInformation "typeDefinitions" [Data.Text.Text] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'typeDefinitions + (\ x__ y__ -> x__ {_SymbolInformation'typeDefinitions = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField SymbolInformation "vec'typeDefinitions" (Data.Vector.Vector Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'typeDefinitions + (\ x__ y__ -> x__ {_SymbolInformation'typeDefinitions = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField SymbolInformation "definition" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _SymbolInformation'definition + (\ x__ y__ -> x__ {_SymbolInformation'definition = y__})) + Prelude.id instance Data.ProtoLens.Message SymbolInformation where messageName _ = Data.Text.pack "scip.SymbolInformation" packedMessageDescriptor _ = "\n\ \\DC1SymbolInformation\DC2\SYN\n\ \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2$\n\ - \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC28\n\ - \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationships\DC20\n\ + \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC2<\n\ + \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationshipsB\STX\CAN\SOH\DC20\n\ \\EOTkind\CAN\ENQ \SOH(\SO2\FS.scip.SymbolInformation.KindR\EOTkind\DC2!\n\ \\fdisplay_name\CAN\ACK \SOH(\tR\vdisplayName\DC2G\n\ \\ETBsignature_documentation\CAN\a \SOH(\v2\SO.scip.DocumentR\SYNsignatureDocumentation\DC2)\n\ - \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\"\251\t\n\ + \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\DC2(\n\ + \\SIimplementations\CAN\t \ETX(\tR\SIimplementations\DC2\RS\n\ + \\n\ + \references\CAN\n\ + \ \ETX(\tR\n\ + \references\DC2)\n\ + \\DLEtype_definitions\CAN\v \ETX(\tR\SItypeDefinitions\DC2\RS\n\ + \\n\ + \definition\CAN\f \SOH(\tR\n\ + \definition\"\251\t\n\ \\EOTKind\DC2\DC3\n\ \\SIUnspecifiedKind\DLE\NUL\DC2\DC2\n\ \\SOAbstractMethod\DLEB\DC2\f\n\ @@ -4293,6 +4368,42 @@ instance Data.ProtoLens.Message SymbolInformation where Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"enclosingSymbol")) :: Data.ProtoLens.FieldDescriptor SymbolInformation + implementations__field_descriptor + = Data.ProtoLens.FieldDescriptor + "implementations" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"implementations")) :: + Data.ProtoLens.FieldDescriptor SymbolInformation + references__field_descriptor + = Data.ProtoLens.FieldDescriptor + "references" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"references")) :: + Data.ProtoLens.FieldDescriptor SymbolInformation + typeDefinitions__field_descriptor + = Data.ProtoLens.FieldDescriptor + "type_definitions" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"typeDefinitions")) :: + Data.ProtoLens.FieldDescriptor SymbolInformation + definition__field_descriptor + = Data.ProtoLens.FieldDescriptor + "definition" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Optional + (Data.ProtoLens.Field.field @"definition")) :: + Data.ProtoLens.FieldDescriptor SymbolInformation in Data.Map.fromList [(Data.ProtoLens.Tag 1, symbol__field_descriptor), @@ -4301,7 +4412,11 @@ instance Data.ProtoLens.Message SymbolInformation where (Data.ProtoLens.Tag 5, kind__field_descriptor), (Data.ProtoLens.Tag 6, displayName__field_descriptor), (Data.ProtoLens.Tag 7, signatureDocumentation__field_descriptor), - (Data.ProtoLens.Tag 8, enclosingSymbol__field_descriptor)] + (Data.ProtoLens.Tag 8, enclosingSymbol__field_descriptor), + (Data.ProtoLens.Tag 9, implementations__field_descriptor), + (Data.ProtoLens.Tag 10, references__field_descriptor), + (Data.ProtoLens.Tag 11, typeDefinitions__field_descriptor), + (Data.ProtoLens.Tag 12, definition__field_descriptor)] unknownFields = Lens.Family2.Unchecked.lens _SymbolInformation'_unknownFields @@ -4315,23 +4430,45 @@ instance Data.ProtoLens.Message SymbolInformation where _SymbolInformation'displayName = Data.ProtoLens.fieldDefault, _SymbolInformation'signatureDocumentation = Prelude.Nothing, _SymbolInformation'enclosingSymbol = Data.ProtoLens.fieldDefault, + _SymbolInformation'implementations = Data.Vector.Generic.empty, + _SymbolInformation'references = Data.Vector.Generic.empty, + _SymbolInformation'typeDefinitions = Data.Vector.Generic.empty, + _SymbolInformation'definition = Data.ProtoLens.fieldDefault, _SymbolInformation'_unknownFields = []} parseMessage = let loop :: SymbolInformation -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text - -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Relationship - -> Data.ProtoLens.Encoding.Bytes.Parser SymbolInformation - loop x mutable'documentation mutable'relationships + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Relationship + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text + -> Data.ProtoLens.Encoding.Bytes.Parser SymbolInformation + loop + x + mutable'documentation + mutable'implementations + mutable'references + mutable'relationships + mutable'typeDefinitions = do end <- Data.ProtoLens.Encoding.Bytes.atEnd if end then do frozen'documentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'documentation) + frozen'implementations <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'implementations) + frozen'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'references) frozen'relationships <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'relationships) + frozen'typeDefinitions <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'typeDefinitions) (let missing = [] in if Prelude.null missing then @@ -4348,8 +4485,16 @@ instance Data.ProtoLens.Message SymbolInformation where (Data.ProtoLens.Field.field @"vec'documentation") frozen'documentation (Lens.Family2.set - (Data.ProtoLens.Field.field @"vec'relationships") - frozen'relationships x))) + (Data.ProtoLens.Field.field @"vec'implementations") + frozen'implementations + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'references") frozen'references + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'relationships") + frozen'relationships + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'typeDefinitions") + frozen'typeDefinitions x)))))) else do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt case tag of @@ -4361,7 +4506,8 @@ instance Data.ProtoLens.Message SymbolInformation where "symbol" loop (Lens.Family2.set (Data.ProtoLens.Field.field @"symbol") y x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions 26 -> do !y <- (Data.ProtoLens.Encoding.Bytes.) (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt @@ -4371,7 +4517,9 @@ instance Data.ProtoLens.Message SymbolInformation where v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO (Data.ProtoLens.Encoding.Growing.append mutable'documentation y) - loop x v mutable'relationships + loop + x v mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions 34 -> do !y <- (Data.ProtoLens.Encoding.Bytes.) (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt @@ -4382,7 +4530,9 @@ instance Data.ProtoLens.Message SymbolInformation where v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO (Data.ProtoLens.Encoding.Growing.append mutable'relationships y) - loop x mutable'documentation v + loop + x mutable'documentation mutable'implementations mutable'references + v mutable'typeDefinitions 40 -> do y <- (Data.ProtoLens.Encoding.Bytes.) (Prelude.fmap @@ -4393,7 +4543,8 @@ instance Data.ProtoLens.Message SymbolInformation where "kind" loop (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions 50 -> do y <- (Data.ProtoLens.Encoding.Bytes.) (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt @@ -4402,7 +4553,8 @@ instance Data.ProtoLens.Message SymbolInformation where "display_name" loop (Lens.Family2.set (Data.ProtoLens.Field.field @"displayName") y x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions 58 -> do y <- (Data.ProtoLens.Encoding.Bytes.) (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt @@ -4412,7 +4564,8 @@ instance Data.ProtoLens.Message SymbolInformation where loop (Lens.Family2.set (Data.ProtoLens.Field.field @"signatureDocumentation") y x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions 66 -> do y <- (Data.ProtoLens.Encoding.Bytes.) (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt @@ -4422,23 +4575,77 @@ instance Data.ProtoLens.Message SymbolInformation where loop (Lens.Family2.set (Data.ProtoLens.Field.field @"enclosingSymbol") y x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions + 74 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "implementations" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'implementations y) + loop + x mutable'documentation v mutable'references mutable'relationships + mutable'typeDefinitions + 82 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "references" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append mutable'references y) + loop + x mutable'documentation mutable'implementations v + mutable'relationships mutable'typeDefinitions + 90 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "type_definitions" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'typeDefinitions y) + loop + x mutable'documentation mutable'implementations mutable'references + mutable'relationships v + 98 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "definition" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"definition") y x) + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire wire loop (Lens.Family2.over Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) - mutable'documentation mutable'relationships + mutable'documentation mutable'implementations mutable'references + mutable'relationships mutable'typeDefinitions in (Data.ProtoLens.Encoding.Bytes.) (do mutable'documentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO Data.ProtoLens.Encoding.Growing.new + mutable'implementations <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + mutable'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new mutable'relationships <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO Data.ProtoLens.Encoding.Growing.new + mutable'typeDefinitions <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new loop Data.ProtoLens.defMessage mutable'documentation - mutable'relationships) + mutable'implementations mutable'references mutable'relationships + mutable'typeDefinitions) "SymbolInformation" buildMessage = \ _x @@ -4551,8 +4758,77 @@ instance Data.ProtoLens.Message SymbolInformation where (Data.ByteString.length bs))) (Data.ProtoLens.Encoding.Bytes.putBytes bs)) Data.Text.Encoding.encodeUtf8 _v)) - (Data.ProtoLens.Encoding.Wire.buildFieldSet - (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 74) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'implementations") _x)) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 82) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'references") _x)) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 90) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'typeDefinitions") + _x)) + ((Data.Monoid.<>) + (let + _v + = Lens.Family2.view + (Data.ProtoLens.Field.field @"definition") _x + in + if (Prelude.==) _v Data.ProtoLens.fieldDefault then + Data.Monoid.mempty + else + (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 98) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view + Data.ProtoLens.unknownFields _x)))))))))))) instance Control.DeepSeq.NFData SymbolInformation where rnf = \ x__ @@ -4571,7 +4847,15 @@ instance Control.DeepSeq.NFData SymbolInformation where (Control.DeepSeq.deepseq (_SymbolInformation'signatureDocumentation x__) (Control.DeepSeq.deepseq - (_SymbolInformation'enclosingSymbol x__) ()))))))) + (_SymbolInformation'enclosingSymbol x__) + (Control.DeepSeq.deepseq + (_SymbolInformation'implementations x__) + (Control.DeepSeq.deepseq + (_SymbolInformation'references x__) + (Control.DeepSeq.deepseq + (_SymbolInformation'typeDefinitions x__) + (Control.DeepSeq.deepseq + (_SymbolInformation'definition x__) ()))))))))))) newtype SymbolInformation'Kind'UnrecognizedValue = SymbolInformation'Kind'UnrecognizedValue Data.Int.Int32 deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show) @@ -6072,15 +6356,24 @@ packedFileDescriptor \\tParameter\DLE\ACK\DC2\b\n\ \\EOTMeta\DLE\a\DC2\t\n\ \\ENQLocal\DLE\b\DC2\t\n\ - \\ENQMacro\DLE\t\SUB\STX\DLE\SOH\"\210\f\n\ + \\ENQMacro\DLE\t\SUB\STX\DLE\SOH\"\235\r\n\ \\DC1SymbolInformation\DC2\SYN\n\ \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2$\n\ - \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC28\n\ - \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationships\DC20\n\ + \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC2<\n\ + \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationshipsB\STX\CAN\SOH\DC20\n\ \\EOTkind\CAN\ENQ \SOH(\SO2\FS.scip.SymbolInformation.KindR\EOTkind\DC2!\n\ \\fdisplay_name\CAN\ACK \SOH(\tR\vdisplayName\DC2G\n\ \\ETBsignature_documentation\CAN\a \SOH(\v2\SO.scip.DocumentR\SYNsignatureDocumentation\DC2)\n\ - \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\"\251\t\n\ + \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\DC2(\n\ + \\SIimplementations\CAN\t \ETX(\tR\SIimplementations\DC2\RS\n\ + \\n\ + \references\CAN\n\ + \ \ETX(\tR\n\ + \references\DC2)\n\ + \\DLEtype_definitions\CAN\v \ETX(\tR\SItypeDefinitions\DC2\RS\n\ + \\n\ + \definition\CAN\f \SOH(\tR\n\ + \definition\"\251\t\n\ \\EOTKind\DC2\DC3\n\ \\SIUnspecifiedKind\DLE\NUL\DC2\DC2\n\ \\SOAbstractMethod\DLEB\DC2\f\n\ @@ -6421,9 +6714,9 @@ packedFileDescriptor \\ETXXML\DLE\US\DC2\a\n\ \\ETXXSL\DLE \DC2\b\n\ \\EOTYAML\DLEJ\DC2\a\n\ - \\ETXZig\DLE&B-Z+github.com/scip-code/scip/bindings/go/scip/J\188\183\STX\n\ + \\ETXZig\DLE&B-Z+github.com/scip-code/scip/bindings/go/scip/J\176\198\STX\n\ \\a\DC2\ENQ\n\ - \\NUL\239\ACK\SOH\n\ + \\NUL\156\a\SOH\n\ \\130\EOT\n\ \\SOH\f\DC2\ETX\n\ \\NUL\DC22\247\ETX An index contains one or more pieces of information about a given piece of\n\ @@ -6982,7 +7275,7 @@ packedFileDescriptor \\r\n\ \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\225\SOH\DC2\DC3\n\ \\131\SOH\n\ - \\STX\EOT\a\DC2\ACK\232\SOH\NUL\186\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ + \\STX\EOT\a\DC2\ACK\232\SOH\NUL\231\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ \ docstring or what package it's defined it.\n\ \\n\ \\v\n\ @@ -7014,31 +7307,36 @@ packedFileDescriptor \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\242\SOH\DC2\US\n\ \\r\n\ \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\242\SOH\"#\n\ - \^\n\ - \\EOT\EOT\a\STX\STX\DC2\EOT\244\SOH\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\ + \\150\SOH\n\ + \\EOT\EOT\a\STX\STX\DC2\EOT\245\SOH\STX>\SUB\135\SOH Deprecated: Use the typed relationship fields instead (implementations,\n\ + \ references, type_definitions, definition, enclosing_symbol).\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\244\SOH\STX\n\ + \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\245\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\244\SOH\v\ETB\n\ + \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\245\SOH\v\ETB\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\244\SOH\CAN%\n\ + \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\245\SOH\CAN%\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\244\SOH()\n\ + \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\245\SOH()\n\ + \\r\n\ + \\ENQ\EOT\a\STX\STX\b\DC2\EOT\245\SOH*=\n\ + \\SO\n\ + \\ACK\EOT\a\STX\STX\b\ETX\DC2\EOT\245\SOH+<\n\ \\164\SOH\n\ - \\EOT\EOT\a\STX\ETX\DC2\EOT\248\SOH\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ + \\EOT\EOT\a\STX\ETX\DC2\EOT\249\SOH\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ \ `SymbolDescriptor.Suffix` to determine whether something is, for example, a\n\ \ class or a method.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\ACK\DC2\EOT\248\SOH\STX\ACK\n\ + \\ENQ\EOT\a\STX\ETX\ACK\DC2\EOT\249\SOH\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\248\SOH\a\v\n\ + \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\249\SOH\a\v\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\248\SOH\SO\SI\n\ + \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\249\SOH\SO\SI\n\ \\245\ENQ\n\ - \\EOT\EOT\a\EOT\NUL\DC2\ACK\135\STX\STX\150\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ + \\EOT\EOT\a\EOT\NUL\DC2\ACK\136\STX\STX\151\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ \ information about the symbol's meaning in the language.\n\ \\n\ \ For example:\n\ @@ -7054,603 +7352,603 @@ packedFileDescriptor \ - If two symbols have different Suffixes, they should have different Kinds.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\EOT\NUL\SOH\DC2\EOT\135\STX\a\v\n\ + \\ENQ\EOT\a\EOT\NUL\SOH\DC2\EOT\136\STX\a\v\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\NUL\DC2\EOT\136\STX\EOT\CAN\n\ + \\ACK\EOT\a\EOT\NUL\STX\NUL\DC2\EOT\137\STX\EOT\CAN\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NUL\SOH\DC2\EOT\136\STX\EOT\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\NUL\SOH\DC2\EOT\137\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NUL\STX\DC2\EOT\136\STX\SYN\ETB\n\ + \\a\EOT\a\EOT\NUL\STX\NUL\STX\DC2\EOT\137\STX\SYN\ETB\n\ \R\n\ - \\ACK\EOT\a\EOT\NUL\STX\SOH\DC2\EOT\138\STX\EOT\CAN\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX\SOH\DC2\EOT\139\STX\EOT\CAN\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SOH\SOH\DC2\EOT\138\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\SOH\SOH\DC2\EOT\139\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SOH\STX\DC2\EOT\138\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX\SOH\STX\DC2\EOT\139\STX\NAK\ETB\n\ \*\n\ - \\ACK\EOT\a\EOT\NUL\STX\STX\DC2\EOT\140\STX\EOT\DC2\SUB\SUB For Ruby's attr_accessor\n\ + \\ACK\EOT\a\EOT\NUL\STX\STX\DC2\EOT\141\STX\EOT\DC2\SUB\SUB For Ruby's attr_accessor\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\STX\SOH\DC2\EOT\140\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\STX\SOH\DC2\EOT\141\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\STX\STX\DC2\EOT\140\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\STX\STX\DC2\EOT\141\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ETX\DC2\EOT\141\STX\EOT\SO\n\ + \\ACK\EOT\a\EOT\NUL\STX\ETX\DC2\EOT\142\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETX\SOH\DC2\EOT\141\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\ETX\SOH\DC2\EOT\142\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETX\STX\DC2\EOT\141\STX\f\r\n\ + \\a\EOT\a\EOT\NUL\STX\ETX\STX\DC2\EOT\142\STX\f\r\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX\EOT\DC2\EOT\143\STX\EOT\DC2\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX\EOT\DC2\EOT\144\STX\EOT\DC2\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EOT\SOH\DC2\EOT\143\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX\EOT\SOH\DC2\EOT\144\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EOT\STX\DC2\EOT\143\STX\DLE\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\EOT\STX\DC2\EOT\144\STX\DLE\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ENQ\DC2\EOT\144\STX\EOT\ETB\n\ + \\ACK\EOT\a\EOT\NUL\STX\ENQ\DC2\EOT\145\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ENQ\SOH\DC2\EOT\144\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\ENQ\SOH\DC2\EOT\145\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ENQ\STX\DC2\EOT\144\STX\NAK\SYN\n\ + \\a\EOT\a\EOT\NUL\STX\ENQ\STX\DC2\EOT\145\STX\NAK\SYN\n\ \\EM\n\ - \\ACK\EOT\a\EOT\NUL\STX\ACK\DC2\EOT\146\STX\EOT\DC2\SUB\t For C++\n\ + \\ACK\EOT\a\EOT\NUL\STX\ACK\DC2\EOT\147\STX\EOT\DC2\SUB\t For C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ACK\SOH\DC2\EOT\146\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX\ACK\SOH\DC2\EOT\147\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ACK\STX\DC2\EOT\146\STX\DLE\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\ACK\STX\DC2\EOT\147\STX\DLE\DC1\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\a\DC2\EOT\148\STX\EOT\SO\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\a\DC2\EOT\149\STX\EOT\SO\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\a\SOH\DC2\EOT\148\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\a\SOH\DC2\EOT\149\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\a\STX\DC2\EOT\148\STX\f\r\n\ + \\a\EOT\a\EOT\NUL\STX\a\STX\DC2\EOT\149\STX\f\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\b\DC2\EOT\149\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\b\DC2\EOT\150\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\b\SOH\DC2\EOT\149\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX\b\SOH\DC2\EOT\150\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\b\STX\DC2\EOT\149\STX\SO\SI\n\ + \\a\EOT\a\EOT\NUL\STX\b\STX\DC2\EOT\150\STX\SO\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\t\DC2\EOT\150\STX\EOT\SO\n\ + \\ACK\EOT\a\EOT\NUL\STX\t\DC2\EOT\151\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\t\SOH\DC2\EOT\150\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\t\SOH\DC2\EOT\151\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\t\STX\DC2\EOT\150\STX\f\r\n\ + \\a\EOT\a\EOT\NUL\STX\t\STX\DC2\EOT\151\STX\f\r\n\ \\EM\n\ \\ACK\EOT\a\EOT\NUL\STX\n\ - \\DC2\EOT\152\STX\EOT\DC1\SUB\t For C++\n\ + \\DC2\EOT\153\STX\EOT\DC1\SUB\t For C++\n\ \\n\ \\SI\n\ \\a\EOT\a\EOT\NUL\STX\n\ - \\SOH\DC2\EOT\152\STX\EOT\v\n\ + \\SOH\DC2\EOT\153\STX\EOT\v\n\ \\SI\n\ \\a\EOT\a\EOT\NUL\STX\n\ - \\STX\DC2\EOT\152\STX\SO\DLE\n\ + \\STX\DC2\EOT\153\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\v\DC2\EOT\153\STX\EOT\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX\v\DC2\EOT\154\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\v\SOH\DC2\EOT\153\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\v\SOH\DC2\EOT\154\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\v\STX\DC2\EOT\153\STX\SI\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\v\STX\DC2\EOT\154\STX\SI\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\f\DC2\EOT\154\STX\EOT\DC4\n\ + \\ACK\EOT\a\EOT\NUL\STX\f\DC2\EOT\155\STX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\f\SOH\DC2\EOT\154\STX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STX\f\SOH\DC2\EOT\155\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\f\STX\DC2\EOT\154\STX\DC2\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\f\STX\DC2\EOT\155\STX\DC2\DC3\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX\r\DC2\EOT\156\STX\EOT\DC2\SUB\SO For Solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX\r\DC2\EOT\157\STX\EOT\DC2\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\r\SOH\DC2\EOT\156\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\r\SOH\DC2\EOT\157\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\r\STX\DC2\EOT\156\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\r\STX\DC2\EOT\157\STX\SI\DC1\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STX\SO\DC2\EOT\158\STX\EOT\DC4\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STX\SO\DC2\EOT\159\STX\EOT\DC4\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SO\SOH\DC2\EOT\158\STX\EOT\SO\n\ + \\a\EOT\a\EOT\NUL\STX\SO\SOH\DC2\EOT\159\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SO\STX\DC2\EOT\158\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\SO\STX\DC2\EOT\159\STX\DC1\DC3\n\ \\US\n\ - \\ACK\EOT\a\EOT\NUL\STX\SI\DC2\EOT\160\STX\EOT\DC2\SUB\SI For C# and F#\n\ + \\ACK\EOT\a\EOT\NUL\STX\SI\DC2\EOT\161\STX\EOT\DC2\SUB\SI For C# and F#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SI\SOH\DC2\EOT\160\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\SI\SOH\DC2\EOT\161\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SI\STX\DC2\EOT\160\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\SI\STX\DC2\EOT\161\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DLE\DC2\EOT\161\STX\EOT\SO\n\ + \\ACK\EOT\a\EOT\NUL\STX\DLE\DC2\EOT\162\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DLE\SOH\DC2\EOT\161\STX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STX\DLE\SOH\DC2\EOT\162\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DLE\STX\DC2\EOT\161\STX\v\r\n\ + \\a\EOT\a\EOT\NUL\STX\DLE\STX\DC2\EOT\162\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC1\DC2\EOT\162\STX\EOT\DC4\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC1\DC2\EOT\163\STX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC1\SOH\DC2\EOT\162\STX\EOT\SO\n\ + \\a\EOT\a\EOT\NUL\STX\DC1\SOH\DC2\EOT\163\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC1\STX\DC2\EOT\162\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\DC1\STX\DC2\EOT\163\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC2\DC2\EOT\163\STX\EOT\SI\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC2\DC2\EOT\164\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC2\SOH\DC2\EOT\163\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\DC2\SOH\DC2\EOT\164\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC2\STX\DC2\EOT\163\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX\DC2\STX\DC2\EOT\164\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC3\DC2\EOT\164\STX\EOT\SI\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC3\DC2\EOT\165\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC3\SOH\DC2\EOT\164\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\DC3\SOH\DC2\EOT\165\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC3\STX\DC2\EOT\164\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX\DC3\STX\DC2\EOT\165\STX\f\SO\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC4\DC2\EOT\166\STX\EOT\DC3\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC4\DC2\EOT\167\STX\EOT\DC3\SUB\n\ \ For Dart\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC4\SOH\DC2\EOT\166\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX\DC4\SOH\DC2\EOT\167\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC4\STX\DC2\EOT\166\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\DC4\STX\DC2\EOT\167\STX\DLE\DC2\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX\NAK\DC2\EOT\168\STX\EOT\SO\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX\NAK\DC2\EOT\169\STX\EOT\SO\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NAK\SOH\DC2\EOT\168\STX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STX\NAK\SOH\DC2\EOT\169\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NAK\STX\DC2\EOT\168\STX\v\r\n\ + \\a\EOT\a\EOT\NUL\STX\NAK\STX\DC2\EOT\169\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\SYN\DC2\EOT\169\STX\EOT\SI\n\ + \\ACK\EOT\a\EOT\NUL\STX\SYN\DC2\EOT\170\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SYN\SOH\DC2\EOT\169\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\SYN\SOH\DC2\EOT\170\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SYN\STX\DC2\EOT\169\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX\SYN\STX\DC2\EOT\170\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ETB\DC2\EOT\170\STX\EOT\SO\n\ + \\ACK\EOT\a\EOT\NUL\STX\ETB\DC2\EOT\171\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETB\SOH\DC2\EOT\170\STX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STX\ETB\SOH\DC2\EOT\171\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETB\STX\DC2\EOT\170\STX\v\r\n\ + \\a\EOT\a\EOT\NUL\STX\ETB\STX\DC2\EOT\171\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\CAN\DC2\EOT\171\STX\EOT\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX\CAN\DC2\EOT\172\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\CAN\SOH\DC2\EOT\171\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\CAN\SOH\DC2\EOT\172\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\CAN\STX\DC2\EOT\171\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\CAN\STX\DC2\EOT\172\STX\SI\DC1\n\ \;\n\ - \\ACK\EOT\a\EOT\NUL\STX\EM\DC2\EOT\173\STX\EOT\DLE\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ + \\ACK\EOT\a\EOT\NUL\STX\EM\DC2\EOT\174\STX\EOT\DLE\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EM\SOH\DC2\EOT\173\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX\EM\SOH\DC2\EOT\174\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EM\STX\DC2\EOT\173\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\EM\STX\DC2\EOT\174\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\SUB\DC2\EOT\175\STX\EOT\DC1\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\SUB\DC2\EOT\176\STX\EOT\DC1\SUB\n\ \ For Raku\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SUB\SOH\DC2\EOT\175\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX\SUB\SOH\DC2\EOT\176\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SUB\STX\DC2\EOT\175\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\SUB\STX\DC2\EOT\176\STX\SO\DLE\n\ \)\n\ - \\ACK\EOT\a\EOT\NUL\STX\ESC\DC2\EOT\177\STX\EOT\DC2\SUB\EM For Purescript and Lean\n\ + \\ACK\EOT\a\EOT\NUL\STX\ESC\DC2\EOT\178\STX\EOT\DC2\SUB\EM For Purescript and Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ESC\SOH\DC2\EOT\177\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX\ESC\SOH\DC2\EOT\178\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ESC\STX\DC2\EOT\177\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\ESC\STX\DC2\EOT\178\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\FS\DC2\EOT\178\STX\EOT\DC3\n\ + \\ACK\EOT\a\EOT\NUL\STX\FS\DC2\EOT\179\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\FS\SOH\DC2\EOT\178\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX\FS\SOH\DC2\EOT\179\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\FS\STX\DC2\EOT\178\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\FS\STX\DC2\EOT\179\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\GS\DC2\EOT\179\STX\EOT\r\n\ + \\ACK\EOT\a\EOT\NUL\STX\GS\DC2\EOT\180\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\GS\SOH\DC2\EOT\179\STX\EOT\a\n\ + \\a\EOT\a\EOT\NUL\STX\GS\SOH\DC2\EOT\180\STX\EOT\a\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\GS\STX\DC2\EOT\179\STX\n\ + \\a\EOT\a\EOT\NUL\STX\GS\STX\DC2\EOT\180\STX\n\ \\f\n\ \\FS\n\ - \\ACK\EOT\a\EOT\NUL\STX\RS\DC2\EOT\181\STX\EOT\SO\SUB\f For Racket\n\ + \\ACK\EOT\a\EOT\NUL\STX\RS\DC2\EOT\182\STX\EOT\SO\SUB\f For Racket\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\RS\SOH\DC2\EOT\181\STX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STX\RS\SOH\DC2\EOT\182\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\RS\STX\DC2\EOT\181\STX\v\r\n\ + \\a\EOT\a\EOT\NUL\STX\RS\STX\DC2\EOT\182\STX\v\r\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\US\DC2\EOT\183\STX\EOT\SI\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\US\DC2\EOT\184\STX\EOT\SI\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\US\SOH\DC2\EOT\183\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX\US\SOH\DC2\EOT\184\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\US\STX\DC2\EOT\183\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX\US\STX\DC2\EOT\184\STX\f\SO\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX \DC2\EOT\185\STX\EOT\DC1\SUB\SO For solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX \DC2\EOT\186\STX\EOT\DC1\SUB\SO For solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX \SOH\DC2\EOT\185\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX \SOH\DC2\EOT\186\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX \STX\DC2\EOT\185\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX \STX\DC2\EOT\186\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX!\DC2\EOT\186\STX\EOT\SI\n\ + \\ACK\EOT\a\EOT\NUL\STX!\DC2\EOT\187\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX!\SOH\DC2\EOT\186\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX!\SOH\DC2\EOT\187\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX!\STX\DC2\EOT\186\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX!\STX\DC2\EOT\187\STX\f\SO\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\"\DC2\EOT\187\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\"\DC2\EOT\188\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\"\SOH\DC2\EOT\187\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX\"\SOH\DC2\EOT\188\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\"\STX\DC2\EOT\187\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\"\STX\DC2\EOT\188\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX#\DC2\EOT\189\STX\EOT\NAK\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX#\DC2\EOT\190\STX\EOT\NAK\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX#\SOH\DC2\EOT\189\STX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STX#\SOH\DC2\EOT\190\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX#\STX\DC2\EOT\189\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX#\STX\DC2\EOT\190\STX\DC2\DC4\n\ \\148\SOH\n\ - \\ACK\EOT\a\EOT\NUL\STX$\DC2\EOT\192\STX\EOT\CAN\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ + \\ACK\EOT\a\EOT\NUL\STX$\DC2\EOT\193\STX\EOT\CAN\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ \ like Go where the receiver doesn't have a conventional name.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX$\SOH\DC2\EOT\192\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX$\SOH\DC2\EOT\193\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX$\STX\DC2\EOT\192\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX$\STX\DC2\EOT\193\STX\NAK\ETB\n\ \8\n\ - \\ACK\EOT\a\EOT\NUL\STX%\DC2\EOT\194\STX\EOT\GS\SUB( Analogous to 'AbstractMethod', for Go.\n\ + \\ACK\EOT\a\EOT\NUL\STX%\DC2\EOT\195\STX\EOT\GS\SUB( Analogous to 'AbstractMethod', for Go.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX%\SOH\DC2\EOT\194\STX\EOT\ETB\n\ + \\a\EOT\a\EOT\NUL\STX%\SOH\DC2\EOT\195\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX%\STX\DC2\EOT\194\STX\SUB\FS\n\ + \\a\EOT\a\EOT\NUL\STX%\STX\DC2\EOT\195\STX\SUB\FS\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX&\DC2\EOT\196\STX\EOT\DC1\SUB\SO For Protobuf\n\ + \\ACK\EOT\a\EOT\NUL\STX&\DC2\EOT\197\STX\EOT\DC1\SUB\SO For Protobuf\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX&\SOH\DC2\EOT\196\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX&\SOH\DC2\EOT\197\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX&\STX\DC2\EOT\196\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX&\STX\DC2\EOT\197\STX\SO\DLE\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX'\DC2\EOT\198\STX\EOT\SI\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX'\DC2\EOT\199\STX\EOT\SI\SUB\n\ \ For Dart\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX'\SOH\DC2\EOT\198\STX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STX'\SOH\DC2\EOT\199\STX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX'\STX\DC2\EOT\198\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX'\STX\DC2\EOT\199\STX\f\SO\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX(\DC2\EOT\200\STX\EOT\DC2\SUB\SO For Solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX(\DC2\EOT\201\STX\EOT\DC2\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX(\SOH\DC2\EOT\200\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX(\SOH\DC2\EOT\201\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX(\STX\DC2\EOT\200\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX(\STX\DC2\EOT\201\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX)\DC2\EOT\201\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX)\DC2\EOT\202\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX)\SOH\DC2\EOT\201\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX)\SOH\DC2\EOT\202\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX)\STX\DC2\EOT\201\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX)\STX\DC2\EOT\202\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX*\DC2\EOT\202\STX\EOT\DC3\n\ + \\ACK\EOT\a\EOT\NUL\STX*\DC2\EOT\203\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX*\SOH\DC2\EOT\202\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX*\SOH\DC2\EOT\203\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX*\STX\DC2\EOT\202\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX*\STX\DC2\EOT\203\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX+\DC2\EOT\203\STX\EOT\SO\n\ + \\ACK\EOT\a\EOT\NUL\STX+\DC2\EOT\204\STX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX+\SOH\DC2\EOT\203\STX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STX+\SOH\DC2\EOT\204\STX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX+\STX\DC2\EOT\203\STX\v\r\n\ + \\a\EOT\a\EOT\NUL\STX+\STX\DC2\EOT\204\STX\v\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX,\DC2\EOT\204\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX,\DC2\EOT\205\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX,\SOH\DC2\EOT\204\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX,\SOH\DC2\EOT\205\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX,\STX\DC2\EOT\204\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX,\STX\DC2\EOT\205\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX-\DC2\EOT\205\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX-\DC2\EOT\206\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX-\SOH\DC2\EOT\205\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX-\SOH\DC2\EOT\206\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX-\STX\DC2\EOT\205\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX-\STX\DC2\EOT\206\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX.\DC2\EOT\206\STX\EOT\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX.\DC2\EOT\207\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX.\SOH\DC2\EOT\206\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX.\SOH\DC2\EOT\207\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX.\STX\DC2\EOT\206\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX.\STX\DC2\EOT\207\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX/\DC2\EOT\207\STX\EOT\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX/\DC2\EOT\208\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX/\SOH\DC2\EOT\207\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX/\SOH\DC2\EOT\208\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX/\STX\DC2\EOT\207\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX/\STX\DC2\EOT\208\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX0\DC2\EOT\208\STX\EOT\ETB\n\ + \\ACK\EOT\a\EOT\NUL\STX0\DC2\EOT\209\STX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX0\SOH\DC2\EOT\208\STX\EOT\DC1\n\ + \\a\EOT\a\EOT\NUL\STX0\SOH\DC2\EOT\209\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX0\STX\DC2\EOT\208\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX0\STX\DC2\EOT\209\STX\DC4\SYN\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX1\DC2\EOT\209\STX\EOT\DC3\n\ + \\ACK\EOT\a\EOT\NUL\STX1\DC2\EOT\210\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX1\SOH\DC2\EOT\209\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX1\SOH\DC2\EOT\210\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX1\STX\DC2\EOT\209\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX1\STX\DC2\EOT\210\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX2\DC2\EOT\210\STX\EOT\CAN\n\ + \\ACK\EOT\a\EOT\NUL\STX2\DC2\EOT\211\STX\EOT\CAN\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX2\SOH\DC2\EOT\210\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX2\SOH\DC2\EOT\211\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX2\STX\DC2\EOT\210\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX2\STX\DC2\EOT\211\STX\NAK\ETB\n\ \/\n\ - \\ACK\EOT\a\EOT\NUL\STX3\DC2\EOT\212\STX\EOT\DC1\SUB\US For Haskell's PatternSynonyms\n\ + \\ACK\EOT\a\EOT\NUL\STX3\DC2\EOT\213\STX\EOT\DC1\SUB\US For Haskell's PatternSynonyms\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX3\SOH\DC2\EOT\212\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STX3\SOH\DC2\EOT\213\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX3\STX\DC2\EOT\212\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX3\STX\DC2\EOT\213\STX\SO\DLE\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX4\DC2\EOT\214\STX\EOT\DC3\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX4\DC2\EOT\215\STX\EOT\DC3\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX4\SOH\DC2\EOT\214\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX4\SOH\DC2\EOT\215\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX4\STX\DC2\EOT\214\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX4\STX\DC2\EOT\215\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX5\DC2\EOT\215\STX\EOT\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX5\DC2\EOT\216\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX5\SOH\DC2\EOT\215\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX5\SOH\DC2\EOT\216\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX5\STX\DC2\EOT\215\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX5\STX\DC2\EOT\216\STX\SI\DC1\n\ \Q\n\ - \\ACK\EOT\a\EOT\NUL\STX6\DC2\EOT\217\STX\EOT\DC2\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ + \\ACK\EOT\a\EOT\NUL\STX6\DC2\EOT\218\STX\EOT\DC2\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX6\SOH\DC2\EOT\217\STX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STX6\SOH\DC2\EOT\218\STX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX6\STX\DC2\EOT\217\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX6\STX\DC2\EOT\218\STX\SI\DC1\n\ \K\n\ - \\ACK\EOT\a\EOT\NUL\STX7\DC2\EOT\219\STX\EOT\CAN\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ + \\ACK\EOT\a\EOT\NUL\STX7\DC2\EOT\220\STX\EOT\CAN\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX7\SOH\DC2\EOT\219\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX7\SOH\DC2\EOT\220\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX7\STX\DC2\EOT\219\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX7\STX\DC2\EOT\220\STX\NAK\ETB\n\ \9\n\ - \\ACK\EOT\a\EOT\NUL\STX8\DC2\EOT\221\STX\EOT\ESC\SUB) Analogous to 'AbstractMethod', for C++.\n\ + \\ACK\EOT\a\EOT\NUL\STX8\DC2\EOT\222\STX\EOT\ESC\SUB) Analogous to 'AbstractMethod', for C++.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX8\SOH\DC2\EOT\221\STX\EOT\NAK\n\ + \\a\EOT\a\EOT\NUL\STX8\SOH\DC2\EOT\222\STX\EOT\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX8\STX\DC2\EOT\221\STX\CAN\SUB\n\ + \\a\EOT\a\EOT\NUL\STX8\STX\DC2\EOT\222\STX\CAN\SUB\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STX9\DC2\EOT\223\STX\EOT\NAK\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STX9\DC2\EOT\224\STX\EOT\NAK\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX9\SOH\DC2\EOT\223\STX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STX9\SOH\DC2\EOT\224\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX9\STX\DC2\EOT\223\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX9\STX\DC2\EOT\224\STX\DC2\DC4\n\ \4\n\ - \\ACK\EOT\a\EOT\NUL\STX:\DC2\EOT\225\STX\EOT\ETB\SUB$ 'self' in Python, Rust, Swift etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX:\DC2\EOT\226\STX\EOT\ETB\SUB$ 'self' in Python, Rust, Swift etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX:\SOH\DC2\EOT\225\STX\EOT\DC1\n\ + \\a\EOT\a\EOT\NUL\STX:\SOH\DC2\EOT\226\STX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX:\STX\DC2\EOT\225\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX:\STX\DC2\EOT\226\STX\DC4\SYN\n\ \;\n\ - \\ACK\EOT\a\EOT\NUL\STX;\DC2\EOT\227\STX\EOT\DLE\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ + \\ACK\EOT\a\EOT\NUL\STX;\DC2\EOT\228\STX\EOT\DLE\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX;\SOH\DC2\EOT\227\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STX;\SOH\DC2\EOT\228\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX;\STX\DC2\EOT\227\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX;\STX\DC2\EOT\228\STX\r\SI\n\ \3\n\ - \\ACK\EOT\a\EOT\NUL\STX<\DC2\EOT\229\STX\EOT\DC3\SUB# For Alloy, analogous to 'Struct'.\n\ + \\ACK\EOT\a\EOT\NUL\STX<\DC2\EOT\230\STX\EOT\DC3\SUB# For Alloy, analogous to 'Struct'.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX<\SOH\DC2\EOT\229\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STX<\SOH\DC2\EOT\230\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX<\STX\DC2\EOT\229\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX<\STX\DC2\EOT\230\STX\DLE\DC2\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX=\DC2\EOT\231\STX\EOT\CAN\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX=\DC2\EOT\232\STX\EOT\CAN\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX=\SOH\DC2\EOT\231\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STX=\SOH\DC2\EOT\232\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX=\STX\DC2\EOT\231\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX=\STX\DC2\EOT\232\STX\NAK\ETB\n\ \8\n\ - \\ACK\EOT\a\EOT\NUL\STX>\DC2\EOT\233\STX\EOT\EM\SUB( Analogous to 'StaticMethod', for Ruby.\n\ + \\ACK\EOT\a\EOT\NUL\STX>\DC2\EOT\234\STX\EOT\EM\SUB( Analogous to 'StaticMethod', for Ruby.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX>\SOH\DC2\EOT\233\STX\EOT\DC3\n\ + \\a\EOT\a\EOT\NUL\STX>\SOH\DC2\EOT\234\STX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX>\STX\DC2\EOT\233\STX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STX>\STX\DC2\EOT\234\STX\SYN\CAN\n\ \5\n\ - \\ACK\EOT\a\EOT\NUL\STX?\DC2\EOT\235\STX\EOT\SUB\SUB% Analogous to 'StaticField', for C++\n\ + \\ACK\EOT\a\EOT\NUL\STX?\DC2\EOT\236\STX\EOT\SUB\SUB% Analogous to 'StaticField', for C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX?\SOH\DC2\EOT\235\STX\EOT\DC4\n\ + \\a\EOT\a\EOT\NUL\STX?\SOH\DC2\EOT\236\STX\EOT\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX?\STX\DC2\EOT\235\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX?\STX\DC2\EOT\236\STX\ETB\EM\n\ \\CAN\n\ - \\ACK\EOT\a\EOT\NUL\STX@\DC2\EOT\237\STX\EOT\NAK\SUB\b For C#\n\ + \\ACK\EOT\a\EOT\NUL\STX@\DC2\EOT\238\STX\EOT\NAK\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX@\SOH\DC2\EOT\237\STX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STX@\SOH\DC2\EOT\238\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX@\STX\DC2\EOT\237\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX@\STX\DC2\EOT\238\STX\DC2\DC4\n\ \\CAN\n\ - \\ACK\EOT\a\EOT\NUL\STXA\DC2\EOT\239\STX\EOT\NAK\SUB\b For C#\n\ + \\ACK\EOT\a\EOT\NUL\STXA\DC2\EOT\240\STX\EOT\NAK\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXA\SOH\DC2\EOT\239\STX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STXA\SOH\DC2\EOT\240\STX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXA\STX\DC2\EOT\239\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STXA\STX\DC2\EOT\240\STX\DC2\DC4\n\ \(\n\ - \\ACK\EOT\a\EOT\NUL\STXB\DC2\EOT\241\STX\EOT\SYN\SUB\CAN For Java, C#, C++ etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXB\DC2\EOT\242\STX\EOT\SYN\SUB\CAN For Java, C#, C++ etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXB\SOH\DC2\EOT\241\STX\EOT\DLE\n\ + \\a\EOT\a\EOT\NUL\STXB\SOH\DC2\EOT\242\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXB\STX\DC2\EOT\241\STX\DC3\NAK\n\ + \\a\EOT\a\EOT\NUL\STXB\STX\DC2\EOT\242\STX\DC3\NAK\n\ \)\n\ - \\ACK\EOT\a\EOT\NUL\STXC\DC2\EOT\243\STX\EOT\CAN\SUB\EM For C#, TypeScript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXC\DC2\EOT\244\STX\EOT\CAN\SUB\EM For C#, TypeScript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXC\SOH\DC2\EOT\243\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STXC\SOH\DC2\EOT\244\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXC\STX\DC2\EOT\243\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STXC\STX\DC2\EOT\244\STX\NAK\ETB\n\ \\FS\n\ - \\ACK\EOT\a\EOT\NUL\STXD\DC2\EOT\245\STX\EOT\CAN\SUB\f For C, C++\n\ + \\ACK\EOT\a\EOT\NUL\STXD\DC2\EOT\246\STX\EOT\CAN\SUB\f For C, C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXD\SOH\DC2\EOT\245\STX\EOT\DC2\n\ + \\a\EOT\a\EOT\NUL\STXD\SOH\DC2\EOT\246\STX\EOT\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXD\STX\DC2\EOT\245\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STXD\STX\DC2\EOT\246\STX\NAK\ETB\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXE\DC2\EOT\246\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STXE\DC2\EOT\247\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXE\SOH\DC2\EOT\246\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STXE\SOH\DC2\EOT\247\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXE\STX\DC2\EOT\246\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STXE\STX\DC2\EOT\247\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXF\DC2\EOT\247\STX\EOT\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STXF\DC2\EOT\248\STX\EOT\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXF\SOH\DC2\EOT\247\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STXF\SOH\DC2\EOT\248\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXF\STX\DC2\EOT\247\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STXF\STX\DC2\EOT\248\STX\r\SI\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STXG\DC2\EOT\249\STX\EOT\DC3\SUB\v For Swift\n\ + \\ACK\EOT\a\EOT\NUL\STXG\DC2\EOT\250\STX\EOT\DC3\SUB\v For Swift\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXG\SOH\DC2\EOT\249\STX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STXG\SOH\DC2\EOT\250\STX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXG\STX\DC2\EOT\249\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STXG\STX\DC2\EOT\250\STX\DLE\DC2\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STXH\DC2\EOT\251\STX\EOT\DLE\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STXH\DC2\EOT\252\STX\EOT\DLE\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXH\SOH\DC2\EOT\251\STX\EOT\n\ + \\a\EOT\a\EOT\NUL\STXH\SOH\DC2\EOT\252\STX\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXH\STX\DC2\EOT\251\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STXH\STX\DC2\EOT\252\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STXI\DC2\EOT\253\STX\EOT\DC1\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STXI\DC2\EOT\254\STX\EOT\DC1\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXI\SOH\DC2\EOT\253\STX\EOT\v\n\ + \\a\EOT\a\EOT\NUL\STXI\SOH\DC2\EOT\254\STX\EOT\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXI\STX\DC2\EOT\253\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STXI\STX\DC2\EOT\254\STX\SO\DLE\n\ \U\n\ - \\ACK\EOT\a\EOT\NUL\STXJ\DC2\EOT\128\ETX\EOT\ETB\SUBE Method receiver for languages\n\ + \\ACK\EOT\a\EOT\NUL\STXJ\DC2\EOT\129\ETX\EOT\ETB\SUBE Method receiver for languages\n\ \ 'this' in JavaScript, C++, Java etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXJ\SOH\DC2\EOT\128\ETX\EOT\DC1\n\ + \\a\EOT\a\EOT\NUL\STXJ\SOH\DC2\EOT\129\ETX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXJ\STX\DC2\EOT\128\ETX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STXJ\STX\DC2\EOT\129\ETX\DC4\SYN\n\ \O\n\ - \\ACK\EOT\a\EOT\NUL\STXK\DC2\EOT\130\ETX\EOT\SI\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXK\DC2\EOT\131\ETX\EOT\SI\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXK\SOH\DC2\EOT\130\ETX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STXK\SOH\DC2\EOT\131\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXK\STX\DC2\EOT\130\ETX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STXK\STX\DC2\EOT\131\ETX\f\SO\n\ \E\n\ - \\ACK\EOT\a\EOT\NUL\STXL\DC2\EOT\132\ETX\EOT\NAK\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXL\DC2\EOT\133\ETX\EOT\NAK\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXL\SOH\DC2\EOT\132\ETX\EOT\SI\n\ + \\a\EOT\a\EOT\NUL\STXL\SOH\DC2\EOT\133\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXL\STX\DC2\EOT\132\ETX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STXL\STX\DC2\EOT\133\ETX\DC2\DC4\n\ \\137\SOH\n\ - \\ACK\EOT\a\EOT\NUL\STXM\DC2\EOT\135\ETX\EOT\SO\SUBy Data type definition for languages like OCaml which use `type`\n\ + \\ACK\EOT\a\EOT\NUL\STXM\DC2\EOT\136\ETX\EOT\SO\SUBy Data type definition for languages like OCaml which use `type`\n\ \ rather than separate keywords like `struct` and `enum`.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXM\SOH\DC2\EOT\135\ETX\EOT\b\n\ + \\a\EOT\a\EOT\NUL\STXM\SOH\DC2\EOT\136\ETX\EOT\b\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXM\STX\DC2\EOT\135\ETX\v\r\n\ + \\a\EOT\a\EOT\NUL\STXM\STX\DC2\EOT\136\ETX\v\r\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXN\DC2\EOT\136\ETX\EOT\DC3\n\ + \\ACK\EOT\a\EOT\NUL\STXN\DC2\EOT\137\ETX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXN\SOH\DC2\EOT\136\ETX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STXN\SOH\DC2\EOT\137\ETX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXN\STX\DC2\EOT\136\ETX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STXN\STX\DC2\EOT\137\ETX\DLE\DC2\n\ \S\n\ - \\ACK\EOT\a\EOT\NUL\STXO\DC2\EOT\138\ETX\EOT\DC3\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXO\DC2\EOT\139\ETX\EOT\DC3\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXO\SOH\DC2\EOT\138\ETX\EOT\r\n\ + \\a\EOT\a\EOT\NUL\STXO\SOH\DC2\EOT\139\ETX\EOT\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXO\STX\DC2\EOT\138\ETX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STXO\STX\DC2\EOT\139\ETX\DLE\DC2\n\ \M\n\ - \\ACK\EOT\a\EOT\NUL\STXP\DC2\EOT\140\ETX\EOT\EM\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXP\DC2\EOT\141\ETX\EOT\EM\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXP\SOH\DC2\EOT\140\ETX\EOT\DC3\n\ + \\a\EOT\a\EOT\NUL\STXP\SOH\DC2\EOT\141\ETX\EOT\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXP\STX\DC2\EOT\140\ETX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STXP\STX\DC2\EOT\141\ETX\SYN\CAN\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STXQ\DC2\EOT\142\ETX\EOT\DC4\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STXQ\DC2\EOT\143\ETX\EOT\DC4\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXQ\SOH\DC2\EOT\142\ETX\EOT\SO\n\ + \\a\EOT\a\EOT\NUL\STXQ\SOH\DC2\EOT\143\ETX\EOT\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXQ\STX\DC2\EOT\142\ETX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STXQ\STX\DC2\EOT\143\ETX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXR\DC2\EOT\143\ETX\EOT\ETB\n\ + \\ACK\EOT\a\EOT\NUL\STXR\DC2\EOT\144\ETX\EOT\ETB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXR\SOH\DC2\EOT\143\ETX\EOT\DC1\n\ + \\a\EOT\a\EOT\NUL\STXR\SOH\DC2\EOT\144\ETX\EOT\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXR\STX\DC2\EOT\143\ETX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STXR\STX\DC2\EOT\144\ETX\DC4\SYN\n\ \(\n\ - \\ACK\EOT\a\EOT\NUL\STXS\DC2\EOT\145\ETX\EOT\SI\SUB\CAN For C, C++, Capn Proto\n\ + \\ACK\EOT\a\EOT\NUL\STXS\DC2\EOT\146\ETX\EOT\SI\SUB\CAN For C, C++, Capn Proto\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXS\SOH\DC2\EOT\145\ETX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STXS\SOH\DC2\EOT\146\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXS\STX\DC2\EOT\145\ETX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STXS\STX\DC2\EOT\146\ETX\f\SO\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXT\DC2\EOT\146\ETX\EOT\SI\n\ + \\ACK\EOT\a\EOT\NUL\STXT\DC2\EOT\147\ETX\EOT\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXT\SOH\DC2\EOT\146\ETX\EOT\t\n\ + \\a\EOT\a\EOT\NUL\STXT\SOH\DC2\EOT\147\ETX\EOT\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXT\STX\DC2\EOT\146\ETX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STXT\STX\DC2\EOT\147\ETX\f\SO\n\ \[\n\ - \\ACK\EOT\a\EOT\NUL\STXU\DC2\EOT\147\ETX\EOT\DC2\"K Next = 87;\n\ + \\ACK\EOT\a\EOT\NUL\STXU\DC2\EOT\148\ETX\EOT\DC2\"K Next = 87;\n\ \ Feel free to open a PR proposing new language-specific kinds.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXU\SOH\DC2\EOT\147\ETX\EOT\f\n\ + \\a\EOT\a\EOT\NUL\STXU\SOH\DC2\EOT\148\ETX\EOT\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXU\STX\DC2\EOT\147\ETX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STXU\STX\DC2\EOT\148\ETX\SI\DC1\n\ \\243\ETX\n\ - \\EOT\EOT\a\STX\EOT\DC2\EOT\160\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ + \\EOT\EOT\a\STX\EOT\DC2\EOT\161\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ \ For example, the symbol \"com/example/MyClass#myMethod(+1).\" should have the\n\ \ display name \"myMethod\". The `symbol` field is not a reliable source of\n\ \ the display name for several reasons:\n\ @@ -7661,13 +7959,13 @@ packedFileDescriptor \ displayed to the user.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\160\ETX\STX\b\n\ + \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\161\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\160\ETX\t\NAK\n\ + \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\161\ETX\t\NAK\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\160\ETX\CAN\EM\n\ + \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\161\ETX\CAN\EM\n\ \\196\ETX\n\ - \\EOT\EOT\a\STX\ENQ\DC2\EOT\167\ETX\STX'\SUB\181\ETX (optional) The signature of this symbol as it's displayed in API\n\ + \\EOT\EOT\a\STX\ENQ\DC2\EOT\168\ETX\STX'\SUB\181\ETX (optional) The signature of this symbol as it's displayed in API\n\ \ documentation or in hover tooltips. For example, a Java method that adds\n\ \ two numbers this would have `Document.language = \"java\"` and `Document.text\n\ \ = \"void add(int a, int b)\". The `language` and `text` fields are required\n\ @@ -7675,51 +7973,132 @@ packedFileDescriptor \ included to support hyperlinking referenced symbols in the signature.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\ACK\DC2\EOT\167\ETX\STX\n\ + \\ENQ\EOT\a\STX\ENQ\ACK\DC2\EOT\168\ETX\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\SOH\DC2\EOT\167\ETX\v\"\n\ + \\ENQ\EOT\a\STX\ENQ\SOH\DC2\EOT\168\ETX\v\"\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\ETX\DC2\EOT\167\ETX%&\n\ - \\201\b\n\ - \\EOT\EOT\a\STX\ACK\DC2\EOT\185\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ + \\ENQ\EOT\a\STX\ENQ\ETX\DC2\EOT\168\ETX%&\n\ + \\204\b\n\ + \\EOT\EOT\a\STX\ACK\DC2\EOT\186\ETX\STX\RS\SUB\189\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ \ symbols, the enclosing symbol should be parsed from the `symbol` field\n\ \ using the `Descriptor` grammar.\n\ \\n\ - \ The primary use-case for this field is to allow local symbol to be displayed\n\ - \ in a symbol hierarchy for API documentation. It's OK to leave this field\n\ - \ empty for local variables since local variables usually don't belong in API\n\ - \ documentation. However, in the situation that you wish to include a local\n\ - \ symbol in the hierarchy, then you can use `enclosing_symbol` to locate the\n\ - \ \"parent\" or \"owner\" of this local symbol. For example, a Java indexer may\n\ - \ choose to use local symbols for private class fields while providing an\n\ - \ `enclosing_symbol` to reference the enclosing class to allow the field to\n\ - \ be part of the class documentation hierarchy. From the perspective of an\n\ - \ author of an indexer, the decision to use a local symbol or global symbol\n\ - \ should exclusively be determined whether the local symbol is accessible\n\ - \ outside the document, not by the capability to find the enclosing\n\ - \ symbol.\n\ + \ The primary use-case for this field is to allow local symbols to be\n\ + \ displayed in a symbol hierarchy for API documentation. It's OK to leave\n\ + \ this field empty for local variables since local variables usually don't\n\ + \ belong in API documentation. However, in the situation that you wish to\n\ + \ include a local symbol in the hierarchy, then you can use\n\ + \ `enclosing_symbol` to locate the \"parent\" or \"owner\" of this local symbol.\n\ + \ For example, a Java indexer may choose to use local symbols for private\n\ + \ class fields while providing an `enclosing_symbol` to reference the\n\ + \ enclosing class to allow the field to be part of the class documentation\n\ + \ hierarchy. From the perspective of an author of an indexer, the decision\n\ + \ to use a local symbol or global symbol should exclusively be determined\n\ + \ by whether the local symbol is accessible outside the document, not by the\n\ + \ capability to find the enclosing symbol.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ACK\ENQ\DC2\EOT\186\ETX\STX\b\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ACK\SOH\DC2\EOT\186\ETX\t\EM\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ACK\ETX\DC2\EOT\186\ETX\FS\GS\n\ + \\230\ETX\n\ + \\EOT\EOT\a\STX\a\DC2\EOT\203\ETX\STX&\SUB\215\ETX (optional) Symbols that this symbol implements or overrides.\n\ + \ For \"Find implementations\" on the target symbol, this symbol will be\n\ + \ included in the results.\n\ + \\n\ + \ For example, consider the following TypeScript code:\n\ + \ ```ts\n\ + \ interface Animal {\n\ + \ sound(): string\n\ + \ }\n\ + \ class Dog implements Animal {\n\ + \ public sound(): string { return \"woof\" }\n\ + \ }\n\ + \ ```\n\ + \ Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()`\n\ + \ would list `Animal#sound()` in `implementations`.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\a\EOT\DC2\EOT\203\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\a\ENQ\DC2\EOT\203\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\STX\a\SOH\DC2\EOT\203\ETX\DC2!\n\ + \\r\n\ + \\ENQ\EOT\a\STX\a\ETX\DC2\EOT\203\ETX$%\n\ + \\209\EOT\n\ + \\EOT\EOT\a\STX\b\DC2\EOT\217\ETX\STX\"\SUB\194\EOT (optional) Symbols whose references should be included when performing\n\ + \ \"Find references\" on this symbol.\n\ + \\n\ + \ Continuing the TypeScript example above, `Dog#sound()` would list\n\ + \ `Animal#sound()` in `references`. This means doing \"Find references\" on\n\ + \ `Dog#sound()` would also include references to `Animal#sound()`, and\n\ + \ vice-versa.\n\ + \\n\ + \ It's common for a symbol to appear in both `implementations` and\n\ + \ `references`, but not always. For example, `Dog#` lists `Animal#` in\n\ + \ `implementations` but NOT in `references`, because \"Find references\" on\n\ + \ `Animal#` should not return `Dog#`.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\b\EOT\DC2\EOT\217\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\b\ENQ\DC2\EOT\217\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\STX\b\SOH\DC2\EOT\217\ETX\DC2\FS\n\ + \\r\n\ + \\ENQ\EOT\a\STX\b\ETX\DC2\EOT\217\ETX\US!\n\ + \{\n\ + \\EOT\EOT\a\STX\t\DC2\EOT\221\ETX\STX(\SUBm (optional) Symbols that this symbol is a type definition for.\n\ + \ Used for \"Go to type definition\" navigation.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\t\EOT\DC2\EOT\221\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\t\ENQ\DC2\EOT\221\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\STX\t\SOH\DC2\EOT\221\ETX\DC2\"\n\ + \\r\n\ + \\ENQ\EOT\a\STX\t\ETX\DC2\EOT\221\ETX%'\n\ + \\251\STX\n\ + \\EOT\EOT\a\STX\n\ + \\DC2\EOT\230\ETX\STX\EM\SUB\236\STX (optional) Allows overriding the behavior of \"Go to definition\" and\n\ + \ \"Find references\" for symbols which do not have a definition of their own\n\ + \ or could potentially have multiple definitions.\n\ + \\n\ + \ For example, in a language with single inheritance and some form of mixins,\n\ + \ you can use `definition` to relate the symbol to the matching symbol in an\n\ + \ ancestor class.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\ENQ\DC2\EOT\185\ETX\STX\b\n\ + \\ENQ\EOT\a\STX\n\ + \\ENQ\DC2\EOT\230\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\SOH\DC2\EOT\185\ETX\t\EM\n\ + \\ENQ\EOT\a\STX\n\ + \\SOH\DC2\EOT\230\ETX\t\DC3\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\ETX\DC2\EOT\185\ETX\FS\GS\n\ + \\ENQ\EOT\a\STX\n\ + \\ETX\DC2\EOT\230\ETX\SYN\CAN\n\ \\f\n\ - \\STX\EOT\b\DC2\ACK\188\ETX\NUL\240\ETX\SOH\n\ + \\STX\EOT\b\DC2\ACK\233\ETX\NUL\157\EOT\SOH\n\ \\v\n\ - \\ETX\EOT\b\SOH\DC2\EOT\188\ETX\b\DC4\n\ + \\ETX\EOT\b\SOH\DC2\EOT\233\ETX\b\DC4\n\ \\f\n\ - \\EOT\EOT\b\STX\NUL\DC2\EOT\189\ETX\STX\DC4\n\ + \\EOT\EOT\b\STX\NUL\DC2\EOT\234\ETX\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\189\ETX\STX\b\n\ + \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\234\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\189\ETX\t\SI\n\ + \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\234\ETX\t\SI\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\189\ETX\DC2\DC3\n\ + \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\234\ETX\DC2\DC3\n\ \\222\b\n\ - \\EOT\EOT\b\STX\SOH\DC2\EOT\214\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ + \\EOT\EOT\b\STX\SOH\DC2\EOT\131\EOT\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ \ should be included together with this symbol. For example, consider the\n\ \ following TypeScript code that defines two symbols `Animal#sound()` and\n\ \ `Dog#sound()`:\n\ @@ -7745,13 +8124,13 @@ packedFileDescriptor \ `Animal#sound()` method as well.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\214\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\131\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\214\ETX\a\DC3\n\ + \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\131\EOT\a\DC3\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\214\ETX\SYN\ETB\n\ + \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\131\EOT\SYN\ETB\n\ \\238\ETX\n\ - \\EOT\EOT\b\STX\STX\DC2\EOT\223\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ + \\EOT\EOT\b\STX\STX\DC2\EOT\140\EOT\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ \ It's common for `is_implementation` and `is_reference` to both be true but\n\ \ it's not always the case.\n\ \ In the TypeScript example above, observe that `Dog#` has an\n\ @@ -7761,22 +8140,22 @@ packedFileDescriptor \ implementations\" on the \"Animal#\" symbol.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\223\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\140\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\223\ETX\a\CAN\n\ + \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\140\EOT\a\CAN\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\223\ETX\ESC\FS\n\ + \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\140\EOT\ESC\FS\n\ \P\n\ - \\EOT\EOT\b\STX\ETX\DC2\EOT\225\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ + \\EOT\EOT\b\STX\ETX\DC2\EOT\142\EOT\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\225\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\142\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\225\ETX\a\EM\n\ + \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\142\EOT\a\EM\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\225\ETX\FS\GS\n\ + \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\142\EOT\FS\GS\n\ \\216\ENQ\n\ - \\EOT\EOT\b\STX\EOT\DC2\EOT\238\ETX\STX\EM\SUB\134\ENQ Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ + \\EOT\EOT\b\STX\EOT\DC2\EOT\155\EOT\STX\EM\SUB\134\ENQ Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ \ for symbols which do not have a definition of their own or could\n\ \ potentially have multiple definitions.\n\ \\n\ @@ -7791,387 +8170,387 @@ packedFileDescriptor \\"A Update registerInverseRelationships on adding a new field here.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\238\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\155\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\238\ETX\a\DC4\n\ + \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\155\EOT\a\DC4\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\238\ETX\ETB\CAN\n\ + \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\155\EOT\ETB\CAN\n\ \\136\ETX\n\ - \\STX\ENQ\ETX\DC2\ACK\247\ETX\NUL\141\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ + \\STX\ENQ\ETX\DC2\ACK\164\EOT\NUL\186\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ \ encoded as a bitset where each bit represents a different role. For example,\n\ \ to determine if the `Import` role is set, test whether the second bit of the\n\ \ enum value is defined. In pseudocode, this can be implemented with the\n\ \ logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.\n\ \\n\ \\v\n\ - \\ETX\ENQ\ETX\SOH\DC2\EOT\247\ETX\ENQ\SI\n\ + \\ETX\ENQ\ETX\SOH\DC2\EOT\164\EOT\ENQ\SI\n\ \v\n\ - \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\250\ETX\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ + \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\167\EOT\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ \ from the Protobuf code generator.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\250\ETX\STX\ETB\n\ + \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\167\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\250\ETX\SUB\ESC\n\ + \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\167\EOT\SUB\ESC\n\ \T\n\ - \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\252\ETX\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ + \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\169\EOT\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\252\ETX\STX\f\n\ + \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\169\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\252\ETX\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\169\EOT\SI\DC2\n\ \,\n\ - \\EOT\ENQ\ETX\STX\STX\DC2\EOT\254\ETX\STX\SI\SUB\RS Is the symbol imported here?\n\ + \\EOT\ENQ\ETX\STX\STX\DC2\EOT\171\EOT\STX\SI\SUB\RS Is the symbol imported here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\254\ETX\STX\b\n\ + \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\171\EOT\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\254\ETX\v\SO\n\ + \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\171\EOT\v\SO\n\ \+\n\ - \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\128\EOT\STX\DC4\SUB\GS Is the symbol written here?\n\ + \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\173\EOT\STX\DC4\SUB\GS Is the symbol written here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\128\EOT\STX\r\n\ + \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\173\EOT\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\128\EOT\DLE\DC3\n\ + \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\173\EOT\DLE\DC3\n\ \(\n\ - \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\130\EOT\STX\DC3\SUB\SUB Is the symbol read here?\n\ + \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\175\EOT\STX\DC3\SUB\SUB Is the symbol read here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\130\EOT\STX\f\n\ + \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\175\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\130\EOT\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\175\EOT\SI\DC2\n\ \0\n\ - \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\132\EOT\STX\DC3\SUB\" Is the symbol in generated code?\n\ + \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\177\EOT\STX\DC3\SUB\" Is the symbol in generated code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\132\EOT\STX\v\n\ + \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\177\EOT\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\132\EOT\SO\DC2\n\ + \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\177\EOT\SO\DC2\n\ \+\n\ - \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\134\EOT\STX\SO\SUB\GS Is the symbol in test code?\n\ + \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\179\EOT\STX\SO\SUB\GS Is the symbol in test code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\134\EOT\STX\ACK\n\ + \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\179\EOT\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\134\EOT\t\r\n\ + \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\179\EOT\t\r\n\ \\237\SOH\n\ - \\EOT\ENQ\ETX\STX\a\DC2\EOT\140\EOT\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ + \\EOT\ENQ\ETX\STX\a\DC2\EOT\185\EOT\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ \\n\ \ Applies to forward declarations for languages like C, C++\n\ \ and Objective-C, as well as `val` declarations in interface\n\ \ files in languages like SML and OCaml.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\140\EOT\STX\DC3\n\ + \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\185\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\140\EOT\SYN\SUB\n\ + \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\185\EOT\SYN\SUB\n\ \\f\n\ - \\STX\ENQ\EOT\DC2\ACK\143\EOT\NUL\236\EOT\SOH\n\ + \\STX\ENQ\EOT\DC2\ACK\188\EOT\NUL\153\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\EOT\SOH\DC2\EOT\143\EOT\ENQ\SI\n\ + \\ETX\ENQ\EOT\SOH\DC2\EOT\188\EOT\ENQ\SI\n\ \\v\n\ - \\ETX\ENQ\EOT\ETX\DC2\EOT\144\EOT\STX\FS\n\ + \\ETX\ENQ\EOT\ETX\DC2\EOT\189\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\144\EOT\STX\FS\n\ + \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\189\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\146\EOT\STX\FS\n\ + \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\191\EOT\STX\FS\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\146\EOT\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\191\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\146\EOT\SUB\ESC\n\ + \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\191\EOT\SUB\ESC\n\ \;\n\ - \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\149\EOT\STX\SO\SUB- Comment, including comment markers and text\n\ + \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\194\EOT\STX\SO\SUB- Comment, including comment markers and text\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\149\EOT\STX\t\n\ + \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\194\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\149\EOT\f\r\n\ + \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\194\EOT\f\r\n\ \\ESC\n\ - \\EOT\ENQ\EOT\STX\STX\DC2\EOT\152\EOT\STX\ESC\SUB\r `;` `.` `,`\n\ + \\EOT\ENQ\EOT\STX\STX\DC2\EOT\197\EOT\STX\ESC\SUB\r `;` `.` `,`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\152\EOT\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\197\EOT\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\152\EOT\EM\SUB\n\ + \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\197\EOT\EM\SUB\n\ \2\n\ - \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\154\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\ + \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\199\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\154\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\199\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\154\EOT\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\199\EOT\ETB\CAN\n\ \5\n\ - \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\157\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ + \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\202\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\157\EOT\STX\t\n\ + \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\202\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\157\EOT\f\r\n\ + \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\202\EOT\f\r\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\158\EOT\STX,\n\ + \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\203\EOT\STX,\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\158\EOT\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\203\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\158\EOT\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\203\EOT\SYN\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\158\EOT\CAN+\n\ + \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\203\EOT\CAN+\n\ \\SO\n\ - \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\158\EOT\EM*\n\ + \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\203\EOT\EM*\n\ \\RS\n\ - \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\161\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\ + \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\206\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\161\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\206\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\161\EOT\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\206\EOT\ETB\CAN\n\ \X\n\ - \\EOT\ENQ\EOT\STX\a\DC2\EOT\164\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ + \\EOT\ENQ\EOT\STX\a\DC2\EOT\209\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\164\EOT\STX\f\n\ + \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\209\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\164\EOT\SI\DLE\n\ + \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\209\EOT\SI\DLE\n\ \N\n\ - \\EOT\ENQ\EOT\STX\b\DC2\EOT\166\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ + \\EOT\ENQ\EOT\STX\b\DC2\EOT\211\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\166\EOT\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\211\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\166\EOT\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\211\EOT\SYN\ETB\n\ \[\n\ - \\EOT\ENQ\EOT\STX\t\DC2\EOT\168\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ + \\EOT\ENQ\EOT\STX\t\DC2\EOT\213\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\168\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\213\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\168\EOT\DC3\DC4\n\ + \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\213\EOT\DC3\DC4\n\ \.\n\ \\EOT\ENQ\EOT\STX\n\ - \\DC2\EOT\170\EOT\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ + \\DC2\EOT\215\EOT\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ \\n\ \\r\n\ \\ENQ\ENQ\EOT\STX\n\ - \\SOH\DC2\EOT\170\EOT\STX\DC4\n\ + \\SOH\DC2\EOT\215\EOT\STX\DC4\n\ \\r\n\ \\ENQ\ENQ\EOT\STX\n\ - \\STX\DC2\EOT\170\EOT\ETB\CAN\n\ + \\STX\DC2\EOT\215\EOT\ETB\CAN\n\ \'\n\ - \\EOT\ENQ\EOT\STX\v\DC2\EOT\172\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ + \\EOT\ENQ\EOT\STX\v\DC2\EOT\217\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\172\EOT\STX\EM\n\ + \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\217\EOT\STX\EM\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\172\EOT\FS\RS\n\ + \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\217\EOT\FS\RS\n\ \3\n\ - \\EOT\ENQ\EOT\STX\f\DC2\EOT\174\EOT\STX\ESC\SUB% Parameter definition and references\n\ + \\EOT\ENQ\EOT\STX\f\DC2\EOT\219\EOT\STX\ESC\SUB% Parameter definition and references\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\174\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\219\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\174\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\219\EOT\CAN\SUB\n\ \X\n\ - \\EOT\ENQ\EOT\STX\r\DC2\EOT\176\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ + \\EOT\ENQ\EOT\STX\r\DC2\EOT\221\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\176\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\221\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\176\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\221\EOT\DC4\SYN\n\ \K\n\ - \\EOT\ENQ\EOT\STX\SO\DC2\EOT\178\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ + \\EOT\ENQ\EOT\STX\SO\DC2\EOT\223\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\178\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\223\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\178\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\223\EOT\ETB\EM\n\ \\205\SOH\n\ - \\EOT\ENQ\EOT\STX\SI\DC2\EOT\183\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ + \\EOT\ENQ\EOT\STX\SI\DC2\EOT\228\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ \\n\ \ NOTE: This corresponds to a package in Go and JVM languages,\n\ \ and a module in languages like Python and JavaScript.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\183\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\228\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\183\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\228\EOT\CAN\SUB\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\184\EOT\STX,\n\ + \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\229\EOT\STX,\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\184\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\229\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\184\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\229\EOT\NAK\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\184\EOT\CAN+\n\ + \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\229\EOT\CAN+\n\ \\SO\n\ - \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\184\EOT\EM*\n\ + \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\229\EOT\EM*\n\ \4\n\ - \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\187\EOT\STX\SUB\SUB& Function references, including calls\n\ + \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\232\EOT\STX\SUB\SUB& Function references, including calls\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\187\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\232\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\187\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\232\EOT\ETB\EM\n\ \(\n\ - \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\189\EOT\STX$\SUB\SUB Function definition only\n\ + \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\234\EOT\STX$\SUB\SUB Function definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\189\EOT\STX\RS\n\ + \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\234\EOT\STX\RS\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\189\EOT!#\n\ + \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\234\EOT!#\n\ \7\n\ - \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\192\EOT\STX\ETB\SUB) Macro references, including invocations\n\ + \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\237\EOT\STX\ETB\SUB) Macro references, including invocations\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\192\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\237\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\192\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\237\EOT\DC4\SYN\n\ \%\n\ - \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\194\EOT\STX!\SUB\ETB Macro definition only\n\ + \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\239\EOT\STX!\SUB\ETB Macro definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\194\EOT\STX\ESC\n\ + \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\239\EOT\STX\ESC\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\194\EOT\RS \n\ + \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\239\EOT\RS \n\ \!\n\ - \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\197\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ + \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\242\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\197\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\242\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\197\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\242\EOT\DC3\NAK\n\ \K\n\ - \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\199\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ + \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\244\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\199\EOT\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\244\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\199\EOT\SUB\FS\n\ + \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\244\EOT\SUB\FS\n\ \7\n\ - \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\202\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ + \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\247\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\202\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\247\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\202\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\247\EOT\CAN\SUB\n\ \\DC4\n\ - \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\205\EOT\STX\DC3\SUB\ACK `\\b`\n\ + \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\250\EOT\STX\DC3\SUB\ACK `\\b`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\205\EOT\STX\r\n\ + \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\250\EOT\STX\r\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\205\EOT\DLE\DC2\n\ + \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\250\EOT\DLE\DC2\n\ \\CAN\n\ - \\EOT\ENQ\EOT\STX\EM\DC2\EOT\207\EOT\STX\NAK\SUB\n\ + \\EOT\ENQ\EOT\STX\EM\DC2\EOT\252\EOT\STX\NAK\SUB\n\ \ `*`, `+`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\207\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\252\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\207\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\252\EOT\DC2\DC4\n\ \\DC3\n\ - \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\209\EOT\STX\NAK\SUB\ENQ `.`\n\ + \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\254\EOT\STX\NAK\SUB\ENQ `.`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\209\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\254\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\209\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\254\EOT\DC2\DC4\n\ \\"\n\ - \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\211\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ + \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\128\ENQ\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\211\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\128\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\211\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\128\ENQ\DC3\NAK\n\ \\CAN\n\ - \\EOT\ENQ\EOT\STX\FS\DC2\EOT\213\EOT\STX\DC1\SUB\n\ + \\EOT\ENQ\EOT\STX\FS\DC2\EOT\130\ENQ\STX\DC1\SUB\n\ \ `|`, `-`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\213\EOT\STX\v\n\ + \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\130\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\213\EOT\SO\DLE\n\ + \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\130\ENQ\SO\DLE\n\ \0\n\ - \\EOT\ENQ\EOT\STX\GS\DC2\EOT\216\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ + \\EOT\ENQ\EOT\STX\GS\DC2\EOT\133\ENQ\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\216\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\133\ENQ\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\216\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\133\ENQ\DC2\DC4\n\ \-\n\ - \\EOT\ENQ\EOT\STX\RS\DC2\EOT\218\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ + \\EOT\ENQ\EOT\STX\RS\DC2\EOT\135\ENQ\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\218\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\135\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\218\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\135\ENQ\CAN\SUB\n\ \_\n\ - \\EOT\ENQ\EOT\STX\US\DC2\EOT\220\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ + \\EOT\ENQ\EOT\STX\US\DC2\EOT\137\ENQ\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\220\EOT\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\137\ENQ\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\220\EOT\EM\ESC\n\ + \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\137\ENQ\EM\ESC\n\ \G\n\ - \\EOT\ENQ\EOT\STX \DC2\EOT\222\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ + \\EOT\ENQ\EOT\STX \DC2\EOT\139\ENQ\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\222\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\139\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\222\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\139\ENQ\NAK\ETB\n\ \V\n\ - \\EOT\ENQ\EOT\STX!\DC2\EOT\224\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ + \\EOT\ENQ\EOT\STX!\DC2\EOT\141\ENQ\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\224\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\141\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\224\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\141\ENQ\NAK\ETB\n\ \9\n\ - \\EOT\ENQ\EOT\STX\"\DC2\EOT\226\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ + \\EOT\ENQ\EOT\STX\"\DC2\EOT\143\ENQ\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\226\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\143\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\226\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\143\ENQ\DC3\NAK\n\ \\US\n\ - \\EOT\ENQ\EOT\STX#\DC2\EOT\228\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\ + \\EOT\ENQ\EOT\STX#\DC2\EOT\145\ENQ\STX\SYN\SUB\DC1 `true`, `false`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\228\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\145\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\228\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\145\ENQ\DC3\NAK\n\ \&\n\ - \\EOT\ENQ\EOT\STX$\DC2\EOT\231\EOT\STX\v\SUB\CAN Used for XML-like tags\n\ + \\EOT\ENQ\EOT\STX$\DC2\EOT\148\ENQ\STX\v\SUB\CAN Used for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\231\EOT\STX\ENQ\n\ + \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\148\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\231\EOT\b\n\ + \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\148\ENQ\b\n\ \\n\ \/\n\ - \\EOT\ENQ\EOT\STX%\DC2\EOT\233\EOT\STX\DC4\SUB! Attribute name in XML-like tags\n\ + \\EOT\ENQ\EOT\STX%\DC2\EOT\150\ENQ\STX\DC4\SUB! Attribute name in XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\233\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\150\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\233\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\150\ENQ\DC1\DC3\n\ \,\n\ - \\EOT\ENQ\EOT\STX&\DC2\EOT\235\EOT\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ + \\EOT\ENQ\EOT\STX&\DC2\EOT\152\ENQ\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\235\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\152\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\235\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\152\ENQ\DC1\DC3\n\ \\249\SOH\n\ - \\STX\EOT\t\DC2\ACK\243\EOT\NUL\212\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ + \\STX\EOT\t\DC2\ACK\160\ENQ\NUL\129\ACK\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ \ information.\n\ \\n\ \ If possible, indexers should try to bundle logically related information\n\ \ across occurrences into a single occurrence to reduce payload sizes.\n\ \\n\ \\v\n\ - \\ETX\EOT\t\SOH\DC2\EOT\243\EOT\b\DC2\n\ + \\ETX\EOT\t\SOH\DC2\EOT\160\ENQ\b\DC2\n\ \\232\b\n\ - \\EOT\EOT\t\STX\NUL\DC2\EOT\139\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\ + \\EOT\EOT\t\STX\NUL\DC2\EOT\184\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\ \ elements:\n\ \\n\ \ - Four elements: `[startLine, startCharacter, endLine, endCharacter]`\n\ @@ -8196,36 +8575,36 @@ packedFileDescriptor \ improvements make up for it.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\139\ENQ\STX\n\ + \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\184\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\139\ENQ\v\DLE\n\ + \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\184\ENQ\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\139\ENQ\DC1\SYN\n\ + \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\184\ENQ\DC1\SYN\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\139\ENQ\EM\SUB\n\ + \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\184\ENQ\EM\SUB\n\ \\138\SOH\n\ - \\EOT\EOT\t\STX\SOH\DC2\EOT\142\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ + \\EOT\EOT\t\STX\SOH\DC2\EOT\187\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ \ `SymbolInformation.symbol` for how to format symbols as strings.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\142\ENQ\STX\b\n\ + \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\187\ENQ\STX\b\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\142\ENQ\t\SI\n\ + \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\187\ENQ\t\SI\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\142\ENQ\DC2\DC3\n\ + \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\187\ENQ\DC2\DC3\n\ \\151\SOH\n\ - \\EOT\EOT\t\STX\STX\DC2\EOT\145\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ + \\EOT\EOT\t\STX\STX\DC2\EOT\190\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ \ See `SymbolRole`'s documentation for how to read and write this field.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\145\ENQ\STX\a\n\ + \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\190\ENQ\STX\a\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\145\ENQ\b\DC4\n\ + \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\190\ENQ\b\DC4\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\145\ENQ\ETB\CAN\n\ + \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\190\ENQ\ETB\CAN\n\ \\241\ETX\n\ - \\EOT\EOT\t\STX\ETX\DC2\EOT\154\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ + \\EOT\EOT\t\STX\ETX\DC2\EOT\199\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ \ empty, the `Symbol.documentation` field is used instead. One example\n\ \ where this field might be useful is when the symbol represents a generic\n\ \ function (with abstract type parameters such as `List`) and at this\n\ @@ -8235,37 +8614,37 @@ packedFileDescriptor \ which commonly allow for type-changing assignment.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\154\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\199\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\154\ENQ\v\DC1\n\ + \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\199\ENQ\v\DC1\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\154\ENQ\DC2(\n\ + \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\199\ENQ\DC2(\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\154\ENQ+,\n\ + \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\199\ENQ+,\n\ \X\n\ - \\EOT\EOT\t\STX\EOT\DC2\EOT\156\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ + \\EOT\EOT\t\STX\EOT\DC2\EOT\201\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\156\ENQ\STX\f\n\ + \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\201\ENQ\STX\f\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\156\ENQ\r\CAN\n\ + \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\201\ENQ\r\CAN\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\156\ENQ\ESC\FS\n\ + \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\201\ENQ\ESC\FS\n\ \W\n\ - \\EOT\EOT\t\STX\ENQ\DC2\EOT\158\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ + \\EOT\EOT\t\STX\ENQ\DC2\EOT\203\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\158\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\203\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\158\ENQ\v\NAK\n\ + \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\203\ENQ\v\NAK\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\158\ENQ\SYN!\n\ + \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\203\ENQ\SYN!\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\158\ENQ$%\n\ + \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\203\ENQ$%\n\ \\183\SO\n\ - \\EOT\EOT\t\STX\ACK\DC2\EOT\211\ENQ\STX%\SUB\168\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\ + \\EOT\EOT\t\STX\ACK\DC2\EOT\128\ACK\STX%\SUB\168\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\ \ source range of the nearest non-trivial enclosing AST node. This range must\n\ \ enclose the `range` field. Example applications that make use of the\n\ \ enclosing_range field:\n\ @@ -8319,152 +8698,152 @@ packedFileDescriptor \ ```\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\211\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\128\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\211\ENQ\v\DLE\n\ + \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\128\ACK\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\211\ENQ\DC1 \n\ + \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\128\ACK\DC1 \n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\211\ENQ#$\n\ + \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\128\ACK#$\n\ \w\n\ \\STX\EOT\n\ - \\DC2\ACK\216\ENQ\NUL\227\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ + \\DC2\ACK\133\ACK\NUL\144\ACK\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ \ reported for a document.\n\ \\n\ \\v\n\ \\ETX\EOT\n\ - \\SOH\DC2\EOT\216\ENQ\b\DC2\n\ + \\SOH\DC2\EOT\133\ACK\b\DC2\n\ \W\n\ \\EOT\EOT\n\ - \\STX\NUL\DC2\EOT\218\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ + \\STX\NUL\DC2\EOT\135\ACK\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ACK\DC2\EOT\218\ENQ\STX\n\ + \\STX\NUL\ACK\DC2\EOT\135\ACK\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\SOH\DC2\EOT\218\ENQ\v\DC3\n\ + \\STX\NUL\SOH\DC2\EOT\135\ACK\v\DC3\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ETX\DC2\EOT\218\ENQ\SYN\ETB\n\ + \\STX\NUL\ETX\DC2\EOT\135\ACK\SYN\ETB\n\ \]\n\ \\EOT\EOT\n\ - \\STX\SOH\DC2\EOT\220\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ + \\STX\SOH\DC2\EOT\137\ACK\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ENQ\DC2\EOT\220\ENQ\STX\b\n\ + \\STX\SOH\ENQ\DC2\EOT\137\ACK\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\SOH\DC2\EOT\220\ENQ\t\r\n\ + \\STX\SOH\SOH\DC2\EOT\137\ACK\t\r\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ETX\DC2\EOT\220\ENQ\DLE\DC1\n\ + \\STX\SOH\ETX\DC2\EOT\137\ACK\DLE\DC1\n\ \+\n\ \\EOT\EOT\n\ - \\STX\STX\DC2\EOT\222\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ + \\STX\STX\DC2\EOT\139\ACK\STX\NAK\SUB\GS Message of this diagnostic.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ENQ\DC2\EOT\222\ENQ\STX\b\n\ + \\STX\STX\ENQ\DC2\EOT\139\ACK\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\SOH\DC2\EOT\222\ENQ\t\DLE\n\ + \\STX\STX\SOH\DC2\EOT\139\ACK\t\DLE\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ETX\DC2\EOT\222\ENQ\DC3\DC4\n\ + \\STX\STX\ETX\DC2\EOT\139\ACK\DC3\DC4\n\ \~\n\ \\EOT\EOT\n\ - \\STX\ETX\DC2\EOT\225\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ + \\STX\ETX\DC2\EOT\142\ACK\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ \ 'typescript' or 'super lint'.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ENQ\DC2\EOT\225\ENQ\STX\b\n\ + \\STX\ETX\ENQ\DC2\EOT\142\ACK\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\SOH\DC2\EOT\225\ENQ\t\SI\n\ + \\STX\ETX\SOH\DC2\EOT\142\ACK\t\SI\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ETX\DC2\EOT\225\ENQ\DC2\DC3\n\ + \\STX\ETX\ETX\DC2\EOT\142\ACK\DC2\DC3\n\ \\f\n\ \\EOT\EOT\n\ - \\STX\EOT\DC2\EOT\226\ENQ\STX\"\n\ + \\STX\EOT\DC2\EOT\143\ACK\STX\"\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\EOT\DC2\EOT\226\ENQ\STX\n\ + \\STX\EOT\EOT\DC2\EOT\143\ACK\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ACK\DC2\EOT\226\ENQ\v\CAN\n\ + \\STX\EOT\ACK\DC2\EOT\143\ACK\v\CAN\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\SOH\DC2\EOT\226\ENQ\EM\GS\n\ + \\STX\EOT\SOH\DC2\EOT\143\ACK\EM\GS\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ETX\DC2\EOT\226\ENQ !\n\ + \\STX\EOT\ETX\DC2\EOT\143\ACK !\n\ \\f\n\ - \\STX\ENQ\ENQ\DC2\ACK\229\ENQ\NUL\235\ENQ\SOH\n\ + \\STX\ENQ\ENQ\DC2\ACK\146\ACK\NUL\152\ACK\SOH\n\ \\v\n\ - \\ETX\ENQ\ENQ\SOH\DC2\EOT\229\ENQ\ENQ\r\n\ + \\ETX\ENQ\ENQ\SOH\DC2\EOT\146\ACK\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\230\ENQ\STX\SUB\n\ + \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\147\ACK\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\230\ENQ\STX\NAK\n\ + \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\147\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\230\ENQ\CAN\EM\n\ + \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\147\ACK\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\231\ENQ\STX\f\n\ + \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\148\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\231\ENQ\STX\a\n\ + \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\148\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\231\ENQ\n\ + \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\148\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\232\ENQ\STX\SO\n\ + \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\149\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\232\ENQ\STX\t\n\ + \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\149\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\232\ENQ\f\r\n\ + \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\149\ACK\f\r\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\233\ENQ\STX\DC2\n\ + \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\150\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\233\ENQ\STX\r\n\ + \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\150\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\233\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\150\ACK\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\234\ENQ\STX\v\n\ + \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\151\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\234\ENQ\STX\ACK\n\ + \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\151\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\234\ENQ\t\n\ + \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\151\ACK\t\n\ \\n\ \\f\n\ - \\STX\ENQ\ACK\DC2\ACK\237\ENQ\NUL\241\ENQ\SOH\n\ + \\STX\ENQ\ACK\DC2\ACK\154\ACK\NUL\158\ACK\SOH\n\ \\v\n\ - \\ETX\ENQ\ACK\SOH\DC2\EOT\237\ENQ\ENQ\DC2\n\ + \\ETX\ENQ\ACK\SOH\DC2\EOT\154\ACK\ENQ\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\238\ENQ\STX\US\n\ + \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\155\ACK\STX\US\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\238\ENQ\STX\SUB\n\ + \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\155\ACK\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\238\ENQ\GS\RS\n\ + \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\155\ACK\GS\RS\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\239\ENQ\STX\DC2\n\ + \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\156\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\239\ENQ\STX\r\n\ + \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\156\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\239\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\156\ACK\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\STX\DC2\EOT\240\ENQ\STX\DC1\n\ + \\EOT\ENQ\ACK\STX\STX\DC2\EOT\157\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\240\ENQ\STX\f\n\ + \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\157\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\240\ENQ\SI\DLE\n\ + \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\157\ACK\SI\DLE\n\ \\208\ETX\n\ - \\STX\ENQ\a\DC2\ACK\249\ENQ\NUL\239\ACK\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ + \\STX\ENQ\a\DC2\ACK\166\ACK\NUL\156\a\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ \ for the `Document.language` field. The primary purpose of this enum is to\n\ \ prevent a situation where we have a single programming language ends up with\n\ \ multiple string representations. For example, the C++ language uses the name\n\ @@ -8472,709 +8851,709 @@ packedFileDescriptor \ Feel free to send a pull-request to add missing programming languages.\n\ \\n\ \\v\n\ - \\ETX\ENQ\a\SOH\DC2\EOT\249\ENQ\ENQ\r\n\ + \\ETX\ENQ\a\SOH\DC2\EOT\166\ACK\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\NUL\DC2\EOT\250\ENQ\STX\SUB\n\ + \\EOT\ENQ\a\STX\NUL\DC2\EOT\167\ACK\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\250\ENQ\STX\NAK\n\ + \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\167\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\250\ENQ\CAN\EM\n\ + \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\167\ACK\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\a\STX\SOH\DC2\EOT\251\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\SOH\DC2\EOT\168\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\251\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\168\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\251\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\168\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\STX\DC2\EOT\252\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\STX\DC2\EOT\169\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\252\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\169\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\252\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\169\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETX\DC2\EOT\253\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\ETX\DC2\EOT\170\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\253\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\170\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\253\ENQ\b\n\ + \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\170\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\EOT\DC2\EOT\254\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\EOT\DC2\EOT\171\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\254\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\171\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\254\ENQ\b\n\ + \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\171\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\ENQ\DC2\EOT\255\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\ENQ\DC2\EOT\172\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\255\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\172\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\255\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\172\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\ACK\DC2\EOT\128\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\ACK\DC2\EOT\173\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\128\ACK\STX\n\ + \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\173\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\128\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\173\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\a\DC2\EOT\129\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\a\DC2\EOT\174\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\129\ACK\STX\n\ + \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\174\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\129\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\174\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX\b\DC2\EOT\130\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\b\DC2\EOT\175\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\130\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\175\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\130\ACK\b\n\ + \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\175\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\t\DC2\EOT\131\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\t\DC2\EOT\176\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\131\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\176\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\131\ACK\b\n\ + \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\176\ACK\b\n\ \\n\ \\f\n\ \\EOT\ENQ\a\STX\n\ - \\DC2\EOT\132\ACK\STX\SO\n\ + \\DC2\EOT\177\ACK\STX\SO\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\SOH\DC2\EOT\132\ACK\STX\b\n\ + \\SOH\DC2\EOT\177\ACK\STX\b\n\ \\r\n\ \\ENQ\ENQ\a\STX\n\ - \\STX\DC2\EOT\132\ACK\v\r\n\ + \\STX\DC2\EOT\177\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\v\DC2\EOT\133\ACK\STX\t\n\ + \\EOT\ENQ\a\STX\v\DC2\EOT\178\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\133\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\178\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\133\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\178\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX\f\DC2\EOT\134\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\f\DC2\EOT\179\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\134\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\179\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\134\ACK\n\ + \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\179\ACK\n\ \\f\n\ \H\n\ - \\EOT\ENQ\a\STX\r\DC2\EOT\135\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ + \\EOT\ENQ\a\STX\r\DC2\EOT\180\ACK\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\135\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\180\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\135\ACK\b\n\ + \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\180\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SO\DC2\EOT\136\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\SO\DC2\EOT\181\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\136\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\181\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\136\ACK\b\n\ + \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\181\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SI\DC2\EOT\137\ACK\STX\r\n\ + \\EOT\ENQ\a\STX\SI\DC2\EOT\182\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\137\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\182\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\137\ACK\v\f\n\ + \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\182\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX\DLE\DC2\EOT\138\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\DLE\DC2\EOT\183\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\138\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\183\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\138\ACK\f\r\n\ + \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\183\ACK\f\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC1\DC2\EOT\139\ACK\STX\DC4\n\ + \\EOT\ENQ\a\STX\DC1\DC2\EOT\184\ACK\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\139\ACK\STX\SO\n\ + \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\184\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\139\ACK\DC1\DC3\n\ + \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\184\ACK\DC1\DC3\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC2\DC2\EOT\140\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX\DC2\DC2\EOT\185\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\140\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\185\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\140\ACK\SI\DLE\n\ + \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\185\ACK\SI\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC3\DC2\EOT\141\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\DC3\DC2\EOT\186\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\141\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\186\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\141\ACK\b\n\ + \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\186\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\DC4\DC2\EOT\142\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\DC4\DC2\EOT\187\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\142\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\187\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\142\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\187\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\NAK\DC2\EOT\143\ACK\STX\v\n\ + \\EOT\ENQ\a\STX\NAK\DC2\EOT\188\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\143\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\188\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\143\ACK\t\n\ + \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\188\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX\SYN\DC2\EOT\144\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SYN\DC2\EOT\189\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\144\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\189\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\144\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\189\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ETB\DC2\EOT\145\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\ETB\DC2\EOT\190\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\145\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\190\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\145\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\190\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\CAN\DC2\EOT\146\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\CAN\DC2\EOT\191\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\146\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\191\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\146\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\191\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\EM\DC2\EOT\147\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\EM\DC2\EOT\192\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\147\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\192\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\147\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\192\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\SUB\DC2\EOT\148\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\SUB\DC2\EOT\193\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\148\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\193\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\148\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\193\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\ESC\DC2\EOT\149\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\ESC\DC2\EOT\194\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\149\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\194\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\149\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\194\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\FS\DC2\EOT\150\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX\FS\DC2\EOT\195\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\150\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\195\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\150\ACK\v\r\n\ + \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\195\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\GS\DC2\EOT\151\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\GS\DC2\EOT\196\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\151\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\196\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\151\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\196\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\RS\DC2\EOT\152\ACK\STX\f\n\ + \\EOT\ENQ\a\STX\RS\DC2\EOT\197\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\152\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\197\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\152\ACK\t\v\n\ + \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\197\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX\US\DC2\EOT\153\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX\US\DC2\EOT\198\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\153\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\198\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\153\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\198\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX \DC2\EOT\154\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX \DC2\EOT\199\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX \SOH\DC2\EOT\154\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX \SOH\DC2\EOT\199\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX \STX\DC2\EOT\154\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX \STX\DC2\EOT\199\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX!\DC2\EOT\155\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX!\DC2\EOT\200\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\155\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\200\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX!\STX\DC2\EOT\155\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX!\STX\DC2\EOT\200\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX\"\DC2\EOT\156\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX\"\DC2\EOT\201\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\156\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\201\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\156\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\201\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX#\DC2\EOT\157\ACK\STX\n\ + \\EOT\ENQ\a\STX#\DC2\EOT\202\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\157\ACK\STX\EOT\n\ + \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\202\ACK\STX\EOT\n\ \\r\n\ - \\ENQ\ENQ\a\STX#\STX\DC2\EOT\157\ACK\a\t\n\ + \\ENQ\ENQ\a\STX#\STX\DC2\EOT\202\ACK\a\t\n\ \\f\n\ - \\EOT\ENQ\a\STX$\DC2\EOT\158\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX$\DC2\EOT\203\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\158\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\203\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX$\STX\DC2\EOT\158\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX$\STX\DC2\EOT\203\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX%\DC2\EOT\159\ACK\STX\r\n\ + \\EOT\ENQ\a\STX%\DC2\EOT\204\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\159\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\204\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX%\STX\DC2\EOT\159\ACK\v\f\n\ + \\ENQ\ENQ\a\STX%\STX\DC2\EOT\204\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX&\DC2\EOT\160\ACK\STX\f\n\ + \\EOT\ENQ\a\STX&\DC2\EOT\205\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\160\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\205\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX&\STX\DC2\EOT\160\ACK\t\v\n\ + \\ENQ\ENQ\a\STX&\STX\DC2\EOT\205\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX'\DC2\EOT\161\ACK\STX\f\n\ + \\EOT\ENQ\a\STX'\DC2\EOT\206\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\161\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\206\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX'\STX\DC2\EOT\161\ACK\t\v\n\ + \\ENQ\ENQ\a\STX'\STX\DC2\EOT\206\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX(\DC2\EOT\162\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX(\DC2\EOT\207\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\162\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\207\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX(\STX\DC2\EOT\162\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX(\STX\DC2\EOT\207\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX)\DC2\EOT\163\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX)\DC2\EOT\208\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\163\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\208\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX)\STX\DC2\EOT\163\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX)\STX\DC2\EOT\208\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX*\DC2\EOT\164\ACK\STX\r\n\ + \\EOT\ENQ\a\STX*\DC2\EOT\209\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\164\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\209\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX*\STX\DC2\EOT\164\ACK\n\ + \\ENQ\ENQ\a\STX*\STX\DC2\EOT\209\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX+\DC2\EOT\165\ACK\STX\v\n\ + \\EOT\ENQ\a\STX+\DC2\EOT\210\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\165\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\210\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX+\STX\DC2\EOT\165\ACK\b\n\ + \\ENQ\ENQ\a\STX+\STX\DC2\EOT\210\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX,\DC2\EOT\166\ACK\STX\t\n\ + \\EOT\ENQ\a\STX,\DC2\EOT\211\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\166\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\211\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STX,\STX\DC2\EOT\166\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STX,\STX\DC2\EOT\211\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STX-\DC2\EOT\167\ACK\STX\f\n\ + \\EOT\ENQ\a\STX-\DC2\EOT\212\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\167\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\212\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX-\STX\DC2\EOT\167\ACK\t\v\n\ + \\ENQ\ENQ\a\STX-\STX\DC2\EOT\212\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX.\DC2\EOT\168\ACK\STX\v\n\ + \\EOT\ENQ\a\STX.\DC2\EOT\213\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\168\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\213\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX.\STX\DC2\EOT\168\ACK\t\n\ + \\ENQ\ENQ\a\STX.\STX\DC2\EOT\213\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX/\DC2\EOT\169\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STX/\DC2\EOT\214\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\169\ACK\STX\f\n\ + \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\214\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX/\STX\DC2\EOT\169\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STX/\STX\DC2\EOT\214\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STX0\DC2\EOT\170\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STX0\DC2\EOT\215\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\170\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\215\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX0\STX\DC2\EOT\170\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STX0\STX\DC2\EOT\215\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STX1\DC2\EOT\171\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX1\DC2\EOT\216\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\171\ACK\STX\t\n\ + \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\216\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STX1\STX\DC2\EOT\171\ACK\f\SO\n\ + \\ENQ\ENQ\a\STX1\STX\DC2\EOT\216\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX2\DC2\EOT\172\ACK\STX\r\n\ + \\EOT\ENQ\a\STX2\DC2\EOT\217\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\172\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\217\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX2\STX\DC2\EOT\172\ACK\n\ + \\ENQ\ENQ\a\STX2\STX\DC2\EOT\217\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX3\DC2\EOT\173\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STX3\DC2\EOT\218\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\173\ACK\STX\n\ + \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\218\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX3\STX\DC2\EOT\173\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STX3\STX\DC2\EOT\218\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STX4\DC2\EOT\174\ACK\STX\r\n\ + \\EOT\ENQ\a\STX4\DC2\EOT\219\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\174\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\219\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX4\STX\DC2\EOT\174\ACK\v\f\n\ + \\ENQ\ENQ\a\STX4\STX\DC2\EOT\219\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\a\STX5\DC2\EOT\175\ACK\STX\r\n\ + \\EOT\ENQ\a\STX5\DC2\EOT\220\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\175\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\220\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX5\STX\DC2\EOT\175\ACK\n\ + \\ENQ\ENQ\a\STX5\STX\DC2\EOT\220\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX6\DC2\EOT\176\ACK\STX\f\n\ + \\EOT\ENQ\a\STX6\DC2\EOT\221\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\176\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\221\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX6\STX\DC2\EOT\176\ACK\t\v\n\ + \\ENQ\ENQ\a\STX6\STX\DC2\EOT\221\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX7\DC2\EOT\177\ACK\STX\f\n\ + \\EOT\ENQ\a\STX7\DC2\EOT\222\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\177\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\222\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX7\STX\DC2\EOT\177\ACK\t\v\n\ + \\ENQ\ENQ\a\STX7\STX\DC2\EOT\222\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STX8\DC2\EOT\178\ACK\STX\v\n\ + \\EOT\ENQ\a\STX8\DC2\EOT\223\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\178\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\223\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX8\STX\DC2\EOT\178\ACK\b\n\ + \\ENQ\ENQ\a\STX8\STX\DC2\EOT\223\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX9\DC2\EOT\179\ACK\STX\r\n\ + \\EOT\ENQ\a\STX9\DC2\EOT\224\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\179\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\224\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX9\STX\DC2\EOT\179\ACK\t\f\n\ + \\ENQ\ENQ\a\STX9\STX\DC2\EOT\224\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STX:\DC2\EOT\180\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX:\DC2\EOT\225\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\180\ACK\STX\n\ + \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\225\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX:\STX\DC2\EOT\180\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX:\STX\DC2\EOT\225\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX;\DC2\EOT\181\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX;\DC2\EOT\226\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\181\ACK\STX\n\ + \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\226\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX;\STX\DC2\EOT\181\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX;\STX\DC2\EOT\226\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX<\DC2\EOT\182\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX<\DC2\EOT\227\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\182\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\227\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX<\STX\DC2\EOT\182\ACK\v\r\n\ + \\ENQ\ENQ\a\STX<\STX\DC2\EOT\227\ACK\v\r\n\ \(\n\ - \\EOT\ENQ\a\STX=\DC2\EOT\183\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ + \\EOT\ENQ\a\STX=\DC2\EOT\228\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\183\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\228\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX=\STX\DC2\EOT\183\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX=\STX\DC2\EOT\228\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX>\DC2\EOT\184\ACK\STX\v\n\ + \\EOT\ENQ\a\STX>\DC2\EOT\229\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\184\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\229\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX>\STX\DC2\EOT\184\ACK\b\n\ + \\ENQ\ENQ\a\STX>\STX\DC2\EOT\229\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STX?\DC2\EOT\185\ACK\STX\r\n\ + \\EOT\ENQ\a\STX?\DC2\EOT\230\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\185\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\230\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX?\STX\DC2\EOT\185\ACK\n\ + \\ENQ\ENQ\a\STX?\STX\DC2\EOT\230\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STX@\DC2\EOT\186\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STX@\DC2\EOT\231\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\186\ACK\STX\r\n\ + \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\231\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STX@\STX\DC2\EOT\186\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STX@\STX\DC2\EOT\231\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXA\DC2\EOT\187\ACK\STX\NAK\n\ + \\EOT\ENQ\a\STXA\DC2\EOT\232\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\187\ACK\STX\SI\n\ + \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\232\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXA\STX\DC2\EOT\187\ACK\DC2\DC4\n\ + \\ENQ\ENQ\a\STXA\STX\DC2\EOT\232\ACK\DC2\DC4\n\ \\f\n\ - \\EOT\ENQ\a\STXB\DC2\EOT\188\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXB\DC2\EOT\233\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\188\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\233\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXB\STX\DC2\EOT\188\ACK\v\r\n\ + \\ENQ\ENQ\a\STXB\STX\DC2\EOT\233\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXC\DC2\EOT\189\ACK\STX\v\n\ + \\EOT\ENQ\a\STXC\DC2\EOT\234\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\189\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\234\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXC\STX\DC2\EOT\189\ACK\b\n\ + \\ENQ\ENQ\a\STXC\STX\DC2\EOT\234\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXD\DC2\EOT\190\ACK\STX\r\n\ + \\EOT\ENQ\a\STXD\DC2\EOT\235\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\190\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\235\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXD\STX\DC2\EOT\190\ACK\n\ + \\ENQ\ENQ\a\STXD\STX\DC2\EOT\235\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\a\STXE\DC2\EOT\191\ACK\STX\f\n\ + \\EOT\ENQ\a\STXE\DC2\EOT\236\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\191\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\236\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXE\STX\DC2\EOT\191\ACK\t\v\n\ + \\ENQ\ENQ\a\STXE\STX\DC2\EOT\236\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXF\DC2\EOT\192\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXF\DC2\EOT\237\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\192\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\237\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXF\STX\DC2\EOT\192\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXF\STX\DC2\EOT\237\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXG\DC2\EOT\193\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXG\DC2\EOT\238\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\193\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\238\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXG\STX\DC2\EOT\193\ACK\v\r\n\ + \\ENQ\ENQ\a\STXG\STX\DC2\EOT\238\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXH\DC2\EOT\194\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STXH\DC2\EOT\239\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\194\ACK\STX\n\ + \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\239\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXH\STX\DC2\EOT\194\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STXH\STX\DC2\EOT\239\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\a\STXI\DC2\EOT\195\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXI\DC2\EOT\240\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\195\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\240\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXI\STX\DC2\EOT\195\ACK\v\r\n\ + \\ENQ\ENQ\a\STXI\STX\DC2\EOT\240\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXJ\DC2\EOT\196\ACK\STX\t\n\ + \\EOT\ENQ\a\STXJ\DC2\EOT\241\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\196\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\241\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\196\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\241\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\a\STXK\DC2\EOT\197\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXK\DC2\EOT\242\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\197\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\242\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXK\STX\DC2\EOT\197\ACK\v\r\n\ + \\ENQ\ENQ\a\STXK\STX\DC2\EOT\242\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\a\STXL\DC2\EOT\198\ACK\STX\f\n\ + \\EOT\ENQ\a\STXL\DC2\EOT\243\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\198\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\243\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXL\STX\DC2\EOT\198\ACK\t\v\n\ + \\ENQ\ENQ\a\STXL\STX\DC2\EOT\243\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXM\DC2\EOT\199\ACK\STX\r\n\ + \\EOT\ENQ\a\STXM\DC2\EOT\244\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\199\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\244\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXM\STX\DC2\EOT\199\ACK\n\ + \\ENQ\ENQ\a\STXM\STX\DC2\EOT\244\ACK\n\ \\f\n\ \2\n\ - \\EOT\ENQ\a\STXN\DC2\EOT\200\ACK\STX\SO\"$ Internal language for testing SCIP\n\ + \\EOT\ENQ\a\STXN\DC2\EOT\245\ACK\STX\SO\"$ Internal language for testing SCIP\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\200\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\245\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXN\STX\DC2\EOT\200\ACK\n\ + \\ENQ\ENQ\a\STXN\STX\DC2\EOT\245\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STXO\DC2\EOT\201\ACK\STX\f\n\ + \\EOT\ENQ\a\STXO\DC2\EOT\246\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\201\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\246\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXO\STX\DC2\EOT\201\ACK\t\v\n\ + \\ENQ\ENQ\a\STXO\STX\DC2\EOT\246\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXP\DC2\EOT\202\ACK\STX\f\n\ + \\EOT\ENQ\a\STXP\DC2\EOT\247\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\202\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\247\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXP\STX\DC2\EOT\202\ACK\t\v\n\ + \\ENQ\ENQ\a\STXP\STX\DC2\EOT\247\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXQ\DC2\EOT\203\ACK\STX\f\n\ + \\EOT\ENQ\a\STXQ\DC2\EOT\248\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\203\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\248\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\203\ACK\t\v\n\ + \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\248\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXR\DC2\EOT\204\ACK\STX\v\n\ + \\EOT\ENQ\a\STXR\DC2\EOT\249\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\204\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\249\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXR\STX\DC2\EOT\204\ACK\b\n\ + \\ENQ\ENQ\a\STXR\STX\DC2\EOT\249\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXS\DC2\EOT\205\ACK\STX\f\n\ + \\EOT\ENQ\a\STXS\DC2\EOT\250\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\205\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\250\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXS\STX\DC2\EOT\205\ACK\t\v\n\ + \\ENQ\ENQ\a\STXS\STX\DC2\EOT\250\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXT\DC2\EOT\206\ACK\STX\v\n\ + \\EOT\ENQ\a\STXT\DC2\EOT\251\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\206\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\251\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXT\STX\DC2\EOT\206\ACK\b\n\ + \\ENQ\ENQ\a\STXT\STX\DC2\EOT\251\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXU\DC2\EOT\207\ACK\STX\v\n\ + \\EOT\ENQ\a\STXU\DC2\EOT\252\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\207\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\252\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXU\STX\DC2\EOT\207\ACK\b\n\ + \\ENQ\ENQ\a\STXU\STX\DC2\EOT\252\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXV\DC2\EOT\208\ACK\STX\f\n\ + \\EOT\ENQ\a\STXV\DC2\EOT\253\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\208\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\253\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXV\STX\DC2\EOT\208\ACK\t\v\n\ + \\ENQ\ENQ\a\STXV\STX\DC2\EOT\253\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXW\DC2\EOT\209\ACK\STX\f\n\ + \\EOT\ENQ\a\STXW\DC2\EOT\254\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\209\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\254\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STXW\STX\DC2\EOT\209\ACK\n\ + \\ENQ\ENQ\a\STXW\STX\DC2\EOT\254\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STXX\DC2\EOT\210\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXX\DC2\EOT\255\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\210\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\255\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXX\STX\DC2\EOT\210\ACK\v\r\n\ + \\ENQ\ENQ\a\STXX\STX\DC2\EOT\255\ACK\v\r\n\ \\DC4\n\ - \\EOT\ENQ\a\STXY\DC2\EOT\211\ACK\STX\DC3\"\ACK Bash\n\ + \\EOT\ENQ\a\STXY\DC2\EOT\128\a\STX\DC3\"\ACK Bash\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\211\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\128\a\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXY\STX\DC2\EOT\211\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXY\STX\DC2\EOT\128\a\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXZ\DC2\EOT\212\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXZ\DC2\EOT\129\a\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\212\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\129\a\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\212\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\129\a\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX[\DC2\EOT\213\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX[\DC2\EOT\130\a\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\213\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\130\a\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX[\STX\DC2\EOT\213\ACK\n\ + \\ENQ\ENQ\a\STX[\STX\DC2\EOT\130\a\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\a\STX\\\DC2\EOT\214\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\\\DC2\EOT\131\a\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\214\ACK\STX\n\ + \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\131\a\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\214\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\131\a\r\SI\n\ \\f\n\ - \\EOT\ENQ\a\STX]\DC2\EOT\215\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX]\DC2\EOT\132\a\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\215\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\132\a\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STX]\STX\DC2\EOT\215\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX]\STX\DC2\EOT\132\a\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STX^\DC2\EOT\216\ACK\STX\f\n\ + \\EOT\ENQ\a\STX^\DC2\EOT\133\a\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\216\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\133\a\STX\a\n\ \\r\n\ - \\ENQ\ENQ\a\STX^\STX\DC2\EOT\216\ACK\n\ + \\ENQ\ENQ\a\STX^\STX\DC2\EOT\133\a\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\a\STX_\DC2\EOT\217\ACK\STX\f\n\ + \\EOT\ENQ\a\STX_\DC2\EOT\134\a\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\217\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\134\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STX_\STX\DC2\EOT\217\ACK\b\v\n\ + \\ENQ\ENQ\a\STX_\STX\DC2\EOT\134\a\b\v\n\ \\f\n\ - \\EOT\ENQ\a\STX`\DC2\EOT\218\ACK\STX\f\n\ + \\EOT\ENQ\a\STX`\DC2\EOT\135\a\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\218\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\135\a\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STX`\STX\DC2\EOT\218\ACK\t\v\n\ + \\ENQ\ENQ\a\STX`\STX\DC2\EOT\135\a\t\v\n\ \\f\n\ - \\EOT\ENQ\a\STXa\DC2\EOT\219\ACK\STX\v\n\ + \\EOT\ENQ\a\STXa\DC2\EOT\136\a\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\219\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\136\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXa\STX\DC2\EOT\219\ACK\b\n\ + \\ENQ\ENQ\a\STXa\STX\DC2\EOT\136\a\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXb\DC2\EOT\220\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXb\DC2\EOT\137\a\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\220\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\137\a\STX\b\n\ \\r\n\ - \\ENQ\ENQ\a\STXb\STX\DC2\EOT\220\ACK\v\SO\n\ + \\ENQ\ENQ\a\STXb\STX\DC2\EOT\137\a\v\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXc\DC2\EOT\221\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXc\DC2\EOT\138\a\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\221\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\138\a\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXc\STX\DC2\EOT\221\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXc\STX\DC2\EOT\138\a\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\a\STXd\DC2\EOT\222\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STXd\DC2\EOT\139\a\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\222\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\139\a\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\a\STXd\STX\DC2\EOT\222\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STXd\STX\DC2\EOT\139\a\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\a\STXe\DC2\EOT\223\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STXe\DC2\EOT\140\a\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\223\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\140\a\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXe\STX\DC2\EOT\223\ACK\f\SI\n\ + \\ENQ\ENQ\a\STXe\STX\DC2\EOT\140\a\f\SI\n\ \\f\n\ - \\EOT\ENQ\a\STXf\DC2\EOT\224\ACK\STX\r\n\ + \\EOT\ENQ\a\STXf\DC2\EOT\141\a\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\224\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\141\a\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXf\STX\DC2\EOT\224\ACK\t\f\n\ + \\ENQ\ENQ\a\STXf\STX\DC2\EOT\141\a\t\f\n\ \\f\n\ - \\EOT\ENQ\a\STXg\DC2\EOT\225\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STXg\DC2\EOT\142\a\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\225\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\142\a\STX\r\n\ \\r\n\ - \\ENQ\ENQ\a\STXg\STX\DC2\EOT\225\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXg\STX\DC2\EOT\142\a\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\a\STXh\DC2\EOT\226\ACK\STX\v\n\ + \\EOT\ENQ\a\STXh\DC2\EOT\143\a\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\226\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\143\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXh\STX\DC2\EOT\226\ACK\b\n\ + \\ENQ\ENQ\a\STXh\STX\DC2\EOT\143\a\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXi\DC2\EOT\227\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXi\DC2\EOT\144\a\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\227\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\144\a\STX\t\n\ \\r\n\ - \\ENQ\ENQ\a\STXi\STX\DC2\EOT\227\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXi\STX\DC2\EOT\144\a\f\SO\n\ \\f\n\ - \\EOT\ENQ\a\STXj\DC2\EOT\228\ACK\STX\v\n\ + \\EOT\ENQ\a\STXj\DC2\EOT\145\a\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\228\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\145\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXj\STX\DC2\EOT\228\ACK\b\n\ + \\ENQ\ENQ\a\STXj\STX\DC2\EOT\145\a\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXk\DC2\EOT\229\ACK\STX\v\n\ + \\EOT\ENQ\a\STXk\DC2\EOT\146\a\STX\v\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\229\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\146\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXk\STX\DC2\EOT\229\ACK\b\n\ + \\ENQ\ENQ\a\STXk\STX\DC2\EOT\146\a\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\a\STXl\DC2\EOT\230\ACK\STX\f\n\ + \\EOT\ENQ\a\STXl\DC2\EOT\147\a\STX\f\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\230\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\147\a\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\a\STXl\STX\DC2\EOT\230\ACK\t\v\n\ + \\ENQ\ENQ\a\STXl\STX\DC2\EOT\147\a\t\v\n\ \\147\ETX\n\ - \\EOT\ENQ\a\STXm\DC2\EOT\231\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ + \\EOT\ENQ\a\STXm\DC2\EOT\148\a\STX\v\"\132\ETX NextLanguage = 111;\n\ \ Steps add a new language:\n\ \ 1. Copy-paste the \"NextLanguage = N\" line above\n\ \ 2. Increment \"NextLanguage = N\" to \"NextLanguage = N+1\"\n\ @@ -9183,7 +9562,7 @@ packedFileDescriptor \ 5. (optional) Add a brief comment behind the language if the name is not self-explanatory\n\ \\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\231\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\148\a\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\a\STXm\STX\DC2\EOT\231\ACK\b\n\ + \\ENQ\ENQ\a\STXm\STX\DC2\EOT\148\a\b\n\ \b\ACKproto3" \ No newline at end of file diff --git a/bindings/haskell/src/Proto/Scip_Fields.hs b/bindings/haskell/src/Proto/Scip_Fields.hs index 2008de89..2a007e87 100644 --- a/bindings/haskell/src/Proto/Scip_Fields.hs +++ b/bindings/haskell/src/Proto/Scip_Fields.hs @@ -38,6 +38,12 @@ code :: (Prelude.Functor f, Data.ProtoLens.Field.HasField s "code" a) => Lens.Family2.LensLike' f s a code = Data.ProtoLens.Field.field @"code" +definition :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "definition" a) => + Lens.Family2.LensLike' f s a +definition = Data.ProtoLens.Field.field @"definition" descriptors :: forall f s a. (Prelude.Functor f, @@ -92,6 +98,12 @@ externalSymbols :: Data.ProtoLens.Field.HasField s "externalSymbols" a) => Lens.Family2.LensLike' f s a externalSymbols = Data.ProtoLens.Field.field @"externalSymbols" +implementations :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "implementations" a) => + Lens.Family2.LensLike' f s a +implementations = Data.ProtoLens.Field.field @"implementations" isDefinition :: forall f s a. (Prelude.Functor f, @@ -208,6 +220,12 @@ range :: (Prelude.Functor f, Data.ProtoLens.Field.HasField s "range" a) => Lens.Family2.LensLike' f s a range = Data.ProtoLens.Field.field @"range" +references :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "references" a) => + Lens.Family2.LensLike' f s a +references = Data.ProtoLens.Field.field @"references" relationships :: forall f s a. (Prelude.Functor f, @@ -293,6 +311,12 @@ toolInfo :: Data.ProtoLens.Field.HasField s "toolInfo" a) => Lens.Family2.LensLike' f s a toolInfo = Data.ProtoLens.Field.field @"toolInfo" +typeDefinitions :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "typeDefinitions" a) => + Lens.Family2.LensLike' f s a +typeDefinitions = Data.ProtoLens.Field.field @"typeDefinitions" vec'arguments :: forall f s a. (Prelude.Functor f, @@ -337,6 +361,13 @@ vec'externalSymbols :: Lens.Family2.LensLike' f s a vec'externalSymbols = Data.ProtoLens.Field.field @"vec'externalSymbols" +vec'implementations :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'implementations" a) => + Lens.Family2.LensLike' f s a +vec'implementations + = Data.ProtoLens.Field.field @"vec'implementations" vec'occurrences :: forall f s a. (Prelude.Functor f, @@ -356,6 +387,12 @@ vec'range :: Data.ProtoLens.Field.HasField s "vec'range" a) => Lens.Family2.LensLike' f s a vec'range = Data.ProtoLens.Field.field @"vec'range" +vec'references :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'references" a) => + Lens.Family2.LensLike' f s a +vec'references = Data.ProtoLens.Field.field @"vec'references" vec'relationships :: forall f s a. (Prelude.Functor f, @@ -374,6 +411,13 @@ vec'tags :: Data.ProtoLens.Field.HasField s "vec'tags" a) => Lens.Family2.LensLike' f s a vec'tags = Data.ProtoLens.Field.field @"vec'tags" +vec'typeDefinitions :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'typeDefinitions" a) => + Lens.Family2.LensLike' f s a +vec'typeDefinitions + = Data.ProtoLens.Field.field @"vec'typeDefinitions" version :: forall f s a. (Prelude.Functor f, Data.ProtoLens.Field.HasField s "version" a) => diff --git a/bindings/rust/src/generated/scip.rs b/bindings/rust/src/generated/scip.rs index 77e37648..415726ae 100644 --- a/bindings/rust/src/generated/scip.rs +++ b/bindings/rust/src/generated/scip.rs @@ -1470,7 +1470,8 @@ pub struct SymbolInformation { /// include non-code documentation in this field, for example docstrings. // @@protoc_insertion_point(field:scip.SymbolInformation.documentation) pub documentation: ::std::vec::Vec<::std::string::String>, - /// (optional) Relationships to other symbols (e.g., implements, type definition). + /// Deprecated: Use the typed relationship fields instead (implementations, + /// references, type_definitions, definition, enclosing_symbol). // @@protoc_insertion_point(field:scip.SymbolInformation.relationships) pub relationships: ::std::vec::Vec, /// The kind of this symbol. Use this field instead of @@ -1497,25 +1498,69 @@ pub struct SymbolInformation { /// included to support hyperlinking referenced symbols in the signature. // @@protoc_insertion_point(field:scip.SymbolInformation.signature_documentation) pub signature_documentation: ::protobuf::MessageField, - /// (optional) The enclosing symbol if this is a local symbol. For non-local + /// (optional) The enclosing symbol if this is a local symbol. For non-local /// symbols, the enclosing symbol should be parsed from the `symbol` field /// using the `Descriptor` grammar. /// - /// The primary use-case for this field is to allow local symbol to be displayed - /// in a symbol hierarchy for API documentation. It's OK to leave this field - /// empty for local variables since local variables usually don't belong in API - /// documentation. However, in the situation that you wish to include a local - /// symbol in the hierarchy, then you can use `enclosing_symbol` to locate the - /// "parent" or "owner" of this local symbol. For example, a Java indexer may - /// choose to use local symbols for private class fields while providing an - /// `enclosing_symbol` to reference the enclosing class to allow the field to - /// be part of the class documentation hierarchy. From the perspective of an - /// author of an indexer, the decision to use a local symbol or global symbol - /// should exclusively be determined whether the local symbol is accessible - /// outside the document, not by the capability to find the enclosing - /// symbol. + /// The primary use-case for this field is to allow local symbols to be + /// displayed in a symbol hierarchy for API documentation. It's OK to leave + /// this field empty for local variables since local variables usually don't + /// belong in API documentation. However, in the situation that you wish to + /// include a local symbol in the hierarchy, then you can use + /// `enclosing_symbol` to locate the "parent" or "owner" of this local symbol. + /// For example, a Java indexer may choose to use local symbols for private + /// class fields while providing an `enclosing_symbol` to reference the + /// enclosing class to allow the field to be part of the class documentation + /// hierarchy. From the perspective of an author of an indexer, the decision + /// to use a local symbol or global symbol should exclusively be determined + /// by whether the local symbol is accessible outside the document, not by the + /// capability to find the enclosing symbol. // @@protoc_insertion_point(field:scip.SymbolInformation.enclosing_symbol) pub enclosing_symbol: ::std::string::String, + /// (optional) Symbols that this symbol implements or overrides. + /// For "Find implementations" on the target symbol, this symbol will be + /// included in the results. + /// + /// For example, consider the following TypeScript code: + /// ```ts + /// interface Animal { + /// sound(): string + /// } + /// class Dog implements Animal { + /// public sound(): string { return "woof" } + /// } + /// ``` + /// Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()` + /// would list `Animal#sound()` in `implementations`. + // @@protoc_insertion_point(field:scip.SymbolInformation.implementations) + pub implementations: ::std::vec::Vec<::std::string::String>, + /// (optional) Symbols whose references should be included when performing + /// "Find references" on this symbol. + /// + /// Continuing the TypeScript example above, `Dog#sound()` would list + /// `Animal#sound()` in `references`. This means doing "Find references" on + /// `Dog#sound()` would also include references to `Animal#sound()`, and + /// vice-versa. + /// + /// It's common for a symbol to appear in both `implementations` and + /// `references`, but not always. For example, `Dog#` lists `Animal#` in + /// `implementations` but NOT in `references`, because "Find references" on + /// `Animal#` should not return `Dog#`. + // @@protoc_insertion_point(field:scip.SymbolInformation.references) + pub references: ::std::vec::Vec<::std::string::String>, + /// (optional) Symbols that this symbol is a type definition for. + /// Used for "Go to type definition" navigation. + // @@protoc_insertion_point(field:scip.SymbolInformation.type_definitions) + pub type_definitions: ::std::vec::Vec<::std::string::String>, + /// (optional) Allows overriding the behavior of "Go to definition" and + /// "Find references" for symbols which do not have a definition of their own + /// or could potentially have multiple definitions. + /// + /// For example, in a language with single inheritance and some form of mixins, + /// you can use `definition` to relate the symbol to the matching symbol in an + /// ancestor class. + // @@protoc_insertion_point(field:scip.SymbolInformation.definition) + pub definition: ::std::string::String, // special fields // @@protoc_insertion_point(special_field:scip.SymbolInformation.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -1533,7 +1578,7 @@ impl SymbolInformation { } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(7); + let mut fields = ::std::vec::Vec::with_capacity(11); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>( "symbol", @@ -1570,6 +1615,26 @@ impl SymbolInformation { |m: &SymbolInformation| { &m.enclosing_symbol }, |m: &mut SymbolInformation| { &mut m.enclosing_symbol }, )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "implementations", + |m: &SymbolInformation| { &m.implementations }, + |m: &mut SymbolInformation| { &mut m.implementations }, + )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "references", + |m: &SymbolInformation| { &m.references }, + |m: &mut SymbolInformation| { &mut m.references }, + )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "type_definitions", + |m: &SymbolInformation| { &m.type_definitions }, + |m: &mut SymbolInformation| { &mut m.type_definitions }, + )); + fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>( + "definition", + |m: &SymbolInformation| { &m.definition }, + |m: &mut SymbolInformation| { &mut m.definition }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "SymbolInformation", fields, @@ -1609,6 +1674,18 @@ impl ::protobuf::Message for SymbolInformation { 66 => { self.enclosing_symbol = is.read_string()?; }, + 74 => { + self.implementations.push(is.read_string()?); + }, + 82 => { + self.references.push(is.read_string()?); + }, + 90 => { + self.type_definitions.push(is.read_string()?); + }, + 98 => { + self.definition = is.read_string()?; + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -1644,6 +1721,18 @@ impl ::protobuf::Message for SymbolInformation { if !self.enclosing_symbol.is_empty() { my_size += ::protobuf::rt::string_size(8, &self.enclosing_symbol); } + for value in &self.implementations { + my_size += ::protobuf::rt::string_size(9, &value); + }; + for value in &self.references { + my_size += ::protobuf::rt::string_size(10, &value); + }; + for value in &self.type_definitions { + my_size += ::protobuf::rt::string_size(11, &value); + }; + if !self.definition.is_empty() { + my_size += ::protobuf::rt::string_size(12, &self.definition); + } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size @@ -1671,6 +1760,18 @@ impl ::protobuf::Message for SymbolInformation { if !self.enclosing_symbol.is_empty() { os.write_string(8, &self.enclosing_symbol)?; } + for v in &self.implementations { + os.write_string(9, &v)?; + }; + for v in &self.references { + os.write_string(10, &v)?; + }; + for v in &self.type_definitions { + os.write_string(11, &v)?; + }; + if !self.definition.is_empty() { + os.write_string(12, &self.definition)?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -1695,6 +1796,10 @@ impl ::protobuf::Message for SymbolInformation { self.display_name.clear(); self.signature_documentation.clear(); self.enclosing_symbol.clear(); + self.implementations.clear(); + self.references.clear(); + self.type_definitions.clear(); + self.definition.clear(); self.special_fields.clear(); } @@ -1707,6 +1812,10 @@ impl ::protobuf::Message for SymbolInformation { display_name: ::std::string::String::new(), signature_documentation: ::protobuf::MessageField::none(), enclosing_symbol: ::std::string::String::new(), + implementations: ::std::vec::Vec::new(), + references: ::std::vec::Vec::new(), + type_definitions: ::std::vec::Vec::new(), + definition: ::std::string::String::new(), special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -4535,242 +4644,245 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x1a\x02\x08\x01\x12\x08\n\x04Type\x10\x02\x12\x08\n\x04Term\x10\x03\x12\ \n\n\x06Method\x10\x04\x12\x11\n\rTypeParameter\x10\x05\x12\r\n\tParamet\ er\x10\x06\x12\x08\n\x04Meta\x10\x07\x12\t\n\x05Local\x10\x08\x12\t\n\ - \x05Macro\x10\t\x1a\x02\x10\x01\"\xd2\x0c\n\x11SymbolInformation\x12\x16\ - \n\x06symbol\x18\x01\x20\x01(\tR\x06symbol\x12$\n\rdocumentation\x18\x03\ - \x20\x03(\tR\rdocumentation\x128\n\rrelationships\x18\x04\x20\x03(\x0b2\ - \x12.scip.RelationshipR\rrelationships\x120\n\x04kind\x18\x05\x20\x01(\ - \x0e2\x1c.scip.SymbolInformation.KindR\x04kind\x12!\n\x0cdisplay_name\ - \x18\x06\x20\x01(\tR\x0bdisplayName\x12G\n\x17signature_documentation\ - \x18\x07\x20\x01(\x0b2\x0e.scip.DocumentR\x16signatureDocumentation\x12)\ - \n\x10enclosing_symbol\x18\x08\x20\x01(\tR\x0fenclosingSymbol\"\xfb\t\n\ - \x04Kind\x12\x13\n\x0fUnspecifiedKind\x10\0\x12\x12\n\x0eAbstractMethod\ - \x10B\x12\x0c\n\x08Accessor\x10H\x12\t\n\x05Array\x10\x01\x12\r\n\tAsser\ - tion\x10\x02\x12\x12\n\x0eAssociatedType\x10\x03\x12\r\n\tAttribute\x10\ - \x04\x12\t\n\x05Axiom\x10\x05\x12\x0b\n\x07Boolean\x10\x06\x12\t\n\x05Cl\ - ass\x10\x07\x12\x0b\n\x07Concept\x10V\x12\x0c\n\x08Constant\x10\x08\x12\ - \x0f\n\x0bConstructor\x10\t\x12\x0c\n\x08Contract\x10>\x12\x0e\n\nDataFa\ - mily\x10\n\x12\x0c\n\x08Delegate\x10I\x12\x08\n\x04Enum\x10\x0b\x12\x0e\ - \n\nEnumMember\x10\x0c\x12\t\n\x05Error\x10?\x12\t\n\x05Event\x10\r\x12\ - \r\n\tExtension\x10T\x12\x08\n\x04Fact\x10\x0e\x12\t\n\x05Field\x10\x0f\ - \x12\x08\n\x04File\x10\x10\x12\x0c\n\x08Function\x10\x11\x12\n\n\x06Gett\ - er\x10\x12\x12\x0b\n\x07Grammar\x10\x13\x12\x0c\n\x08Instance\x10\x14\ - \x12\r\n\tInterface\x10\x15\x12\x07\n\x03Key\x10\x16\x12\x08\n\x04Lang\ - \x10\x17\x12\t\n\x05Lemma\x10\x18\x12\x0b\n\x07Library\x10@\x12\t\n\x05M\ - acro\x10\x19\x12\n\n\x06Method\x10\x1a\x12\x0f\n\x0bMethodAlias\x10J\x12\ - \x12\n\x0eMethodReceiver\x10\x1b\x12\x17\n\x13MethodSpecification\x10C\ - \x12\x0b\n\x07Message\x10\x1c\x12\t\n\x05Mixin\x10U\x12\x0c\n\x08Modifie\ - r\x10A\x12\n\n\x06Module\x10\x1d\x12\r\n\tNamespace\x10\x1e\x12\x08\n\ - \x04Null\x10\x1f\x12\n\n\x06Number\x10\x20\x12\n\n\x06Object\x10!\x12\ - \x0c\n\x08Operator\x10\"\x12\x0b\n\x07Package\x10#\x12\x11\n\rPackageObj\ - ect\x10$\x12\r\n\tParameter\x10%\x12\x12\n\x0eParameterLabel\x10&\x12\ - \x0b\n\x07Pattern\x10'\x12\r\n\tPredicate\x10(\x12\x0c\n\x08Property\x10\ - )\x12\x0c\n\x08Protocol\x10*\x12\x12\n\x0eProtocolMethod\x10D\x12\x15\n\ - \x11PureVirtualMethod\x10E\x12\x0f\n\x0bQuasiquoter\x10+\x12\x11\n\rSelf\ - Parameter\x10,\x12\n\n\x06Setter\x10-\x12\r\n\tSignature\x10.\x12\x12\n\ - \x0eSingletonClass\x10K\x12\x13\n\x0fSingletonMethod\x10L\x12\x14\n\x10S\ - taticDataMember\x10M\x12\x0f\n\x0bStaticEvent\x10N\x12\x0f\n\x0bStaticFi\ - eld\x10O\x12\x10\n\x0cStaticMethod\x10P\x12\x12\n\x0eStaticProperty\x10Q\ - \x12\x12\n\x0eStaticVariable\x10R\x12\n\n\x06String\x100\x12\n\n\x06Stru\ - ct\x101\x12\r\n\tSubscript\x10/\x12\n\n\x06Tactic\x102\x12\x0b\n\x07Theo\ - rem\x103\x12\x11\n\rThisParameter\x104\x12\t\n\x05Trait\x105\x12\x0f\n\ - \x0bTraitMethod\x10F\x12\x08\n\x04Type\x106\x12\r\n\tTypeAlias\x107\x12\ - \r\n\tTypeClass\x108\x12\x13\n\x0fTypeClassMethod\x10G\x12\x0e\n\nTypeFa\ - mily\x109\x12\x11\n\rTypeParameter\x10:\x12\t\n\x05Union\x10;\x12\t\n\ - \x05Value\x10<\x12\x0c\n\x08Variable\x10=\"\xc9\x01\n\x0cRelationship\ - \x12\x16\n\x06symbol\x18\x01\x20\x01(\tR\x06symbol\x12!\n\x0cis_referenc\ - e\x18\x02\x20\x01(\x08R\x0bisReference\x12+\n\x11is_implementation\x18\ - \x03\x20\x01(\x08R\x10isImplementation\x12,\n\x12is_type_definition\x18\ - \x04\x20\x01(\x08R\x10isTypeDefinition\x12#\n\ris_definition\x18\x05\x20\ - \x01(\x08R\x0cisDefinition\"\xa4\x02\n\nOccurrence\x12\x14\n\x05range\ - \x18\x01\x20\x03(\x05R\x05range\x12\x16\n\x06symbol\x18\x02\x20\x01(\tR\ - \x06symbol\x12!\n\x0csymbol_roles\x18\x03\x20\x01(\x05R\x0bsymbolRoles\ - \x125\n\x16override_documentation\x18\x04\x20\x03(\tR\x15overrideDocumen\ - tation\x121\n\x0bsyntax_kind\x18\x05\x20\x01(\x0e2\x10.scip.SyntaxKindR\ - \nsyntaxKind\x122\n\x0bdiagnostics\x18\x06\x20\x03(\x0b2\x10.scip.Diagno\ - sticR\x0bdiagnostics\x12'\n\x0fenclosing_range\x18\x07\x20\x03(\x05R\x0e\ - enclosingRange\"\xa7\x01\n\nDiagnostic\x12*\n\x08severity\x18\x01\x20\ - \x01(\x0e2\x0e.scip.SeverityR\x08severity\x12\x12\n\x04code\x18\x02\x20\ - \x01(\tR\x04code\x12\x18\n\x07message\x18\x03\x20\x01(\tR\x07message\x12\ - \x16\n\x06source\x18\x04\x20\x01(\tR\x06source\x12'\n\x04tags\x18\x05\ - \x20\x03(\x0e2\x13.scip.DiagnosticTagR\x04tags*1\n\x0fProtocolVersion\ - \x12\x1e\n\x1aUnspecifiedProtocolVersion\x10\0*@\n\x0cTextEncoding\x12\ - \x1b\n\x17UnspecifiedTextEncoding\x10\0\x12\x08\n\x04UTF8\x10\x01\x12\t\ - \n\x05UTF16\x10\x02*\xa4\x01\n\x10PositionEncoding\x12\x1f\n\x1bUnspecif\ - iedPositionEncoding\x10\0\x12#\n\x1fUTF8CodeUnitOffsetFromLineStart\x10\ - \x01\x12$\n\x20UTF16CodeUnitOffsetFromLineStart\x10\x02\x12$\n\x20UTF32C\ - odeUnitOffsetFromLineStart\x10\x03*\x94\x01\n\nSymbolRole\x12\x19\n\x15U\ - nspecifiedSymbolRole\x10\0\x12\x0e\n\nDefinition\x10\x01\x12\n\n\x06Impo\ - rt\x10\x02\x12\x0f\n\x0bWriteAccess\x10\x04\x12\x0e\n\nReadAccess\x10\ - \x08\x12\r\n\tGenerated\x10\x10\x12\x08\n\x04Test\x10\x20\x12\x15\n\x11F\ - orwardDefinition\x10@*\xea\x06\n\nSyntaxKind\x12\x19\n\x15UnspecifiedSyn\ - taxKind\x10\0\x12\x0b\n\x07Comment\x10\x01\x12\x18\n\x14PunctuationDelim\ - iter\x10\x02\x12\x16\n\x12PunctuationBracket\x10\x03\x12\x0b\n\x07Keywor\ - d\x10\x04\x12\x19\n\x11IdentifierKeyword\x10\x04\x1a\x02\x08\x01\x12\x16\ - \n\x12IdentifierOperator\x10\x05\x12\x0e\n\nIdentifier\x10\x06\x12\x15\n\ - \x11IdentifierBuiltin\x10\x07\x12\x12\n\x0eIdentifierNull\x10\x08\x12\ - \x16\n\x12IdentifierConstant\x10\t\x12\x1b\n\x17IdentifierMutableGlobal\ - \x10\n\x12\x17\n\x13IdentifierParameter\x10\x0b\x12\x13\n\x0fIdentifierL\ - ocal\x10\x0c\x12\x16\n\x12IdentifierShadowed\x10\r\x12\x17\n\x13Identifi\ - erNamespace\x10\x0e\x12\x18\n\x10IdentifierModule\x10\x0e\x1a\x02\x08\ - \x01\x12\x16\n\x12IdentifierFunction\x10\x0f\x12\x20\n\x1cIdentifierFunc\ - tionDefinition\x10\x10\x12\x13\n\x0fIdentifierMacro\x10\x11\x12\x1d\n\ - \x19IdentifierMacroDefinition\x10\x12\x12\x12\n\x0eIdentifierType\x10\ - \x13\x12\x19\n\x15IdentifierBuiltinType\x10\x14\x12\x17\n\x13IdentifierA\ - ttribute\x10\x15\x12\x0f\n\x0bRegexEscape\x10\x16\x12\x11\n\rRegexRepeat\ - ed\x10\x17\x12\x11\n\rRegexWildcard\x10\x18\x12\x12\n\x0eRegexDelimiter\ - \x10\x19\x12\r\n\tRegexJoin\x10\x1a\x12\x11\n\rStringLiteral\x10\x1b\x12\ - \x17\n\x13StringLiteralEscape\x10\x1c\x12\x18\n\x14StringLiteralSpecial\ - \x10\x1d\x12\x14\n\x10StringLiteralKey\x10\x1e\x12\x14\n\x10CharacterLit\ - eral\x10\x1f\x12\x12\n\x0eNumericLiteral\x10\x20\x12\x12\n\x0eBooleanLit\ - eral\x10!\x12\x07\n\x03Tag\x10\"\x12\x10\n\x0cTagAttribute\x10#\x12\x10\ - \n\x0cTagDelimiter\x10$\x1a\x02\x10\x01*V\n\x08Severity\x12\x17\n\x13Uns\ - pecifiedSeverity\x10\0\x12\t\n\x05Error\x10\x01\x12\x0b\n\x07Warning\x10\ - \x02\x12\x0f\n\x0bInformation\x10\x03\x12\x08\n\x04Hint\x10\x04*N\n\rDia\ - gnosticTag\x12\x1c\n\x18UnspecifiedDiagnosticTag\x10\0\x12\x0f\n\x0bUnne\ - cessary\x10\x01\x12\x0e\n\nDeprecated\x10\x02*\x9b\n\n\x08Language\x12\ - \x17\n\x13UnspecifiedLanguage\x10\0\x12\x08\n\x04ABAP\x10<\x12\x08\n\x04\ - Apex\x10`\x12\x07\n\x03APL\x101\x12\x07\n\x03Ada\x10'\x12\x08\n\x04Agda\ - \x10-\x12\x0c\n\x08AsciiDoc\x10V\x12\x0c\n\x08Assembly\x10:\x12\x07\n\ - \x03Awk\x10B\x12\x07\n\x03Bat\x10D\x12\n\n\x06BibTeX\x10Q\x12\x05\n\x01C\ - \x10\"\x12\t\n\x05COBOL\x10;\x12\x07\n\x03CPP\x10#\x12\x07\n\x03CSS\x10\ - \x1a\x12\n\n\x06CSharp\x10\x01\x12\x0b\n\x07Clojure\x10\x08\x12\x10\n\ - \x0cCoffeescript\x10\x15\x12\x0e\n\nCommonLisp\x10\t\x12\x07\n\x03Coq\ - \x10/\x12\x08\n\x04CUDA\x10a\x12\x08\n\x04Dart\x10\x03\x12\n\n\x06Delphi\ - \x109\x12\x08\n\x04Diff\x10X\x12\x0e\n\nDockerfile\x10P\x12\n\n\x06Dyalo\ - g\x102\x12\n\n\x06Elixir\x10\x11\x12\n\n\x06Erlang\x10\x12\x12\n\n\x06FS\ - harp\x10*\x12\x08\n\x04Fish\x10A\x12\x08\n\x04Flow\x10\x18\x12\x0b\n\x07\ - Fortran\x108\x12\x0e\n\nGit_Commit\x10[\x12\x0e\n\nGit_Config\x10Y\x12\ - \x0e\n\nGit_Rebase\x10\\\x12\x06\n\x02Go\x10!\x12\x0b\n\x07GraphQL\x10b\ - \x12\n\n\x06Groovy\x10\x07\x12\x08\n\x04HTML\x10\x1e\x12\x08\n\x04Hack\ - \x10\x14\x12\x0e\n\nHandlebars\x10Z\x12\x0b\n\x07Haskell\x10,\x12\t\n\ - \x05Idris\x10.\x12\x07\n\x03Ini\x10H\x12\x05\n\x01J\x103\x12\x08\n\x04JS\ - ON\x10K\x12\x08\n\x04Java\x10\x06\x12\x0e\n\nJavaScript\x10\x16\x12\x13\ - \n\x0fJavaScriptReact\x10]\x12\x0b\n\x07Jsonnet\x10L\x12\t\n\x05Julia\ - \x107\x12\x0c\n\x08Justfile\x10m\x12\n\n\x06Kotlin\x10\x04\x12\t\n\x05La\ - TeX\x10S\x12\x08\n\x04Lean\x100\x12\x08\n\x04Less\x10\x1b\x12\x07\n\x03L\ - ua\x10\x0c\x12\x08\n\x04Luau\x10l\x12\x0c\n\x08Makefile\x10O\x12\x0c\n\ - \x08Markdown\x10T\x12\n\n\x06Matlab\x104\x12\n\n\x06Nickel\x10n\x12\x07\ - \n\x03Nix\x10M\x12\t\n\x05OCaml\x10)\x12\x0f\n\x0bObjective_C\x10$\x12\ - \x11\n\rObjective_CPP\x10%\x12\n\n\x06Pascal\x10c\x12\x07\n\x03PHP\x10\ - \x13\x12\t\n\x05PLSQL\x10F\x12\x08\n\x04Perl\x10\r\x12\x0e\n\nPowerShell\ - \x10C\x12\n\n\x06Prolog\x10G\x12\x0c\n\x08Protobuf\x10d\x12\n\n\x06Pytho\ - n\x10\x0f\x12\x05\n\x01R\x106\x12\n\n\x06Racket\x10\x0b\x12\x08\n\x04Rak\ - u\x10\x0e\x12\t\n\x05Razor\x10>\x12\t\n\x05Repro\x10f\x12\x08\n\x04ReST\ - \x10U\x12\x08\n\x04Ruby\x10\x10\x12\x08\n\x04Rust\x10(\x12\x07\n\x03SAS\ - \x10=\x12\x08\n\x04SCSS\x10\x1d\x12\x07\n\x03SML\x10+\x12\x07\n\x03SQL\ - \x10E\x12\x08\n\x04Sass\x10\x1c\x12\t\n\x05Scala\x10\x05\x12\n\n\x06Sche\ - me\x10\n\x12\x0f\n\x0bShellScript\x10@\x12\x0b\n\x07Skylark\x10N\x12\t\n\ - \x05Slang\x10k\x12\x0c\n\x08Solidity\x10_\x12\n\n\x06Svelte\x10j\x12\t\n\ - \x05Swift\x10\x02\x12\x07\n\x03Tcl\x10e\x12\x08\n\x04TOML\x10I\x12\x07\n\ - \x03TeX\x10R\x12\n\n\x06Thrift\x10g\x12\x0e\n\nTypeScript\x10\x17\x12\ - \x13\n\x0fTypeScriptReact\x10^\x12\x0b\n\x07Verilog\x10h\x12\x08\n\x04VH\ - DL\x10i\x12\x0f\n\x0bVisualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\ - \x07Wolfram\x105\x12\x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\ - \x08\n\x04YAML\x10J\x12\x07\n\x03Zig\x10&B-Z+github.com/scip-code/scip/b\ - indings/go/scip/J\xbc\xb7\x02\n\x07\x12\x05\n\0\xef\x06\x01\n\x82\x04\n\ - \x01\x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\x20contains\x20one\x20o\ - r\x20more\x20pieces\x20of\x20information\x20about\x20a\x20given\x20piece\ - \x20of\n\x20source\x20code\x20or\x20software\x20artifact.\x20Complementa\ - ry\x20information\x20can\x20be\x20merged\n\x20together\x20from\x20multip\ - le\x20sources\x20to\x20provide\x20a\x20unified\x20code\x20intelligence\n\ - \x20experience.\n\n\x20Programs\x20producing\x20a\x20file\x20of\x20this\ - \x20format\x20is\x20an\x20\"indexer\"\x20and\x20may\x20operate\n\x20some\ - where\x20on\x20the\x20spectrum\x20between\x20precision,\x20such\x20as\ - \x20indexes\x20produced\x20by\n\x20compiler-backed\x20indexers,\x20and\ - \x20heurstics,\x20such\x20as\x20indexes\x20produced\x20by\x20local\n\x20\ - syntax-directed\x20analysis\x20for\x20scope\x20rules.\n\n\x08\n\x01\x02\ - \x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\0B\n\t\n\x02\x08\x0b\x12\ - \x03\x0e\0B\n\xd0\x03\n\x02\x04\0\x12\x04\x16\0#\x01\x1a\xc3\x03\x20Inde\ - x\x20represents\x20a\x20complete\x20SCIP\x20index\x20for\x20a\x20workspa\ - ce\x20this\x20is\x20rooted\x20at\x20a\n\x20single\x20directory.\x20An\ - \x20Index\x20message\x20payload\x20can\x20have\x20a\x20large\x20memory\ - \x20footprint\n\x20and\x20it's\x20therefore\x20recommended\x20to\x20emit\ - \x20and\x20consume\x20an\x20Index\x20payload\x20one\x20field\n\x20value\ - \x20at\x20a\x20time.\x20To\x20permit\x20streaming\x20consumption\x20of\ - \x20an\x20Index\x20payload,\x20the\n\x20`metadata`\x20field\x20must\x20a\ - ppear\x20at\x20the\x20start\x20of\x20the\x20stream\x20and\x20must\x20onl\ - y\x20appear\n\x20once\x20in\x20the\x20stream.\x20Other\x20field\x20value\ - s\x20may\x20appear\x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\ - \x16\x08\r\n)\n\x04\x04\0\x02\0\x12\x03\x18\x02\x18\x1a\x1c\x20Metadata\ - \x20about\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x18\ - \x02\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x18\x0b\x13\n\x0c\n\x05\x04\0\ - \x02\0\x03\x12\x03\x18\x16\x17\n3\n\x04\x04\0\x02\x01\x12\x03\x1a\x02\"\ - \x1a&\x20Documents\x20that\x20belong\x20to\x20this\x20index.\n\n\x0c\n\ - \x05\x04\0\x02\x01\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\ - \x12\x03\x1a\x0b\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1a\x14\x1d\n\ - \x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1a\x20!\n\xf6\x03\n\x04\x04\0\x02\ - \x02\x12\x03\x20\x022\x1a\xe9\x02\x20(optional)\x20Symbols\x20that\x20ar\ - e\x20referenced\x20from\x20this\x20index\x20but\x20are\x20defined\x20in\ - \n\x20an\x20external\x20package\x20(a\x20separate\x20`Index`\x20message)\ - .\x20Leave\x20this\x20field\x20empty\n\x20if\x20you\x20assume\x20the\x20\ - external\x20package\x20will\x20get\x20indexed\x20separately.\x20If\x20th\ - e\n\x20external\x20package\x20won't\x20get\x20indexed\x20for\x20some\x20\ - reason\x20then\x20you\x20can\x20use\x20this\n\x20field\x20to\x20provide\ - \x20hover\x20documentation\x20for\x20those\x20external\x20symbols.\n\"}\ - \x20IMPORTANT:\x20When\x20adding\x20a\x20new\x20field\x20to\x20`Index`\ - \x20here,\x20add\x20a\x20matching\n\x20function\x20in\x20`IndexVisitor`\ - \x20and\x20update\x20`ParseStreaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x04\ - \x12\x03\x20\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x20\x0b\x1c\n\ - \x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x20\x1d-\n\x0c\n\x05\x04\0\x02\x02\ - \x03\x12\x03\x2001\n\n\n\x02\x04\x01\x12\x04%\02\x01\n\n\n\x03\x04\x01\ - \x01\x12\x03%\x08\x10\nN\n\x04\x04\x01\x02\0\x12\x03'\x02\x1e\x1aA\x20Wh\ - ich\x20version\x20of\x20this\x20protocol\x20was\x20used\x20to\x20generat\ - e\x20this\x20index?\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03'\x02\x11\n\ - \x0c\n\x05\x04\x01\x02\0\x01\x12\x03'\x12\x19\n\x0c\n\x05\x04\x01\x02\0\ - \x03\x12\x03'\x1c\x1d\nC\n\x04\x04\x01\x02\x01\x12\x03)\x02\x19\x1a6\x20\ - Information\x20about\x20the\x20tool\x20that\x20produced\x20this\x20index\ - .\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03)\x02\n\n\x0c\n\x05\x04\x01\ - \x02\x01\x01\x12\x03)\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03)\ - \x17\x18\n\xa2\x01\n\x04\x04\x01\x02\x02\x12\x03-\x02\x1a\x1a\x94\x01\ - \x20URI-encoded\x20absolute\x20path\x20to\x20the\x20root\x20directory\ - \x20of\x20this\x20index.\x20All\n\x20documents\x20in\x20this\x20index\ - \x20must\x20appear\x20in\x20a\x20subdirectory\x20of\x20this\x20root\n\ - \x20directory.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03-\x02\x08\n\x0c\ - \n\x05\x04\x01\x02\x02\x01\x12\x03-\t\x15\n\x0c\n\x05\x04\x01\x02\x02\ - \x03\x12\x03-\x18\x19\n\xe0\x01\n\x04\x04\x01\x02\x03\x12\x031\x02*\x1a\ - \xd2\x01\x20Text\x20encoding\x20of\x20the\x20source\x20files\x20on\x20di\ - sk\x20that\x20are\x20referenced\x20from\n\x20`Document.relative_path`.\ - \x20This\x20value\x20is\x20unrelated\x20to\x20the\x20`Document.text`\n\ - \x20field,\x20which\x20is\x20a\x20Protobuf\x20string\x20and\x20hence\x20\ - must\x20be\x20UTF-8\x20encoded.\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\ - \x031\x02\x0e\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x031\x0f%\n\x0c\n\x05\ - \x04\x01\x02\x03\x03\x12\x031()\n\n\n\x02\x05\0\x12\x044\06\x01\n\n\n\ - \x03\x05\0\x01\x12\x034\x05\x14\n\x0b\n\x04\x05\0\x02\0\x12\x035\x02!\n\ - \x0c\n\x05\x05\0\x02\0\x01\x12\x035\x02\x1c\n\x0c\n\x05\x05\0\x02\0\x02\ - \x12\x035\x1f\x20\n\n\n\x02\x05\x01\x12\x048\0<\x01\n\n\n\x03\x05\x01\ - \x01\x12\x038\x05\x11\n\x0b\n\x04\x05\x01\x02\0\x12\x039\x02\x1e\n\x0c\n\ - \x05\x05\x01\x02\0\x01\x12\x039\x02\x19\n\x0c\n\x05\x05\x01\x02\0\x02\ - \x12\x039\x1c\x1d\n\x0b\n\x04\x05\x01\x02\x01\x12\x03:\x02\x0b\n\x0c\n\ - \x05\x05\x01\x02\x01\x01\x12\x03:\x02\x06\n\x0c\n\x05\x05\x01\x02\x01\ - \x02\x12\x03:\t\n\n\x0b\n\x04\x05\x01\x02\x02\x12\x03;\x02\x0c\n\x0c\n\ - \x05\x05\x01\x02\x02\x01\x12\x03;\x02\x07\n\x0c\n\x05\x05\x01\x02\x02\ - \x02\x12\x03;\n\x0b\n\n\n\x02\x04\x02\x12\x04>\0E\x01\n\n\n\x03\x04\x02\ - \x01\x12\x03>\x08\x10\n<\n\x04\x04\x02\x02\0\x12\x03@\x02\x12\x1a/\x20Na\ - me\x20of\x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\n\x0c\ - \n\x05\x04\x02\x02\0\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x02\x02\0\x01\ - \x12\x03@\t\r\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03@\x10\x11\n?\n\x04\ - \x04\x02\x02\x01\x12\x03B\x02\x15\x1a2\x20Version\x20of\x20the\x20indexe\ - r\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\x01\ - \x05\x12\x03B\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03B\t\x10\n\ - \x0c\n\x05\x04\x02\x02\x01\x03\x12\x03B\x13\x14\nL\n\x04\x04\x02\x02\x02\ - \x12\x03D\x02\x20\x1a?\x20Command-line\x20arguments\x20that\x20were\x20u\ - sed\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\n\x05\x04\x02\x02\x02\ - \x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03D\x0b\x11\n\ - \x0c\n\x05\x04\x02\x02\x02\x01\x12\x03D\x12\x1b\n\x0c\n\x05\x04\x02\x02\ - \x02\x03\x12\x03D\x1e\x1f\nH\n\x02\x04\x03\x12\x04H\0u\x01\x1a<\x20Docum\ - ent\x20defines\x20the\x20metadata\x20about\x20a\x20source\x20file\x20on\ - \x20disk.\n\n\n\n\x03\x04\x03\x01\x12\x03H\x08\x10\n\xa5\x02\n\x04\x04\ - \x03\x02\0\x12\x03M\x02\x16\x1a\x97\x02\x20The\x20string\x20ID\x20for\ - \x20the\x20programming\x20language\x20this\x20file\x20is\x20written\x20i\ - n.\n\x20The\x20`Language`\x20enum\x20contains\x20the\x20names\x20of\x20m\ - ost\x20common\x20programming\x20languages.\n\x20This\x20field\x20is\x20t\ - yped\x20as\x20a\x20string\x20to\x20permit\x20any\x20programming\x20langu\ - age,\x20including\n\x20ones\x20that\x20are\x20not\x20specified\x20by\x20\ - the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03M\x02\ - \x08\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03M\t\x11\n\x0c\n\x05\x04\x03\ - \x02\0\x03\x12\x03M\x14\x15\n\xb5\x03\n\x04\x04\x03\x02\x01\x12\x03W\x02\ - \x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\x20to\x20the\x20text\ - \x20document.\n\n\x201.\x20The\x20path\x20must\x20be\x20relative\x20to\ + \x05Macro\x10\t\x1a\x02\x10\x01\"\xeb\r\n\x11SymbolInformation\x12\x16\n\ + \x06symbol\x18\x01\x20\x01(\tR\x06symbol\x12$\n\rdocumentation\x18\x03\ + \x20\x03(\tR\rdocumentation\x12<\n\rrelationships\x18\x04\x20\x03(\x0b2\ + \x12.scip.RelationshipR\rrelationshipsB\x02\x18\x01\x120\n\x04kind\x18\ + \x05\x20\x01(\x0e2\x1c.scip.SymbolInformation.KindR\x04kind\x12!\n\x0cdi\ + splay_name\x18\x06\x20\x01(\tR\x0bdisplayName\x12G\n\x17signature_docume\ + ntation\x18\x07\x20\x01(\x0b2\x0e.scip.DocumentR\x16signatureDocumentati\ + on\x12)\n\x10enclosing_symbol\x18\x08\x20\x01(\tR\x0fenclosingSymbol\x12\ + (\n\x0fimplementations\x18\t\x20\x03(\tR\x0fimplementations\x12\x1e\n\nr\ + eferences\x18\n\x20\x03(\tR\nreferences\x12)\n\x10type_definitions\x18\ + \x0b\x20\x03(\tR\x0ftypeDefinitions\x12\x1e\n\ndefinition\x18\x0c\x20\ + \x01(\tR\ndefinition\"\xfb\t\n\x04Kind\x12\x13\n\x0fUnspecifiedKind\x10\ + \0\x12\x12\n\x0eAbstractMethod\x10B\x12\x0c\n\x08Accessor\x10H\x12\t\n\ + \x05Array\x10\x01\x12\r\n\tAssertion\x10\x02\x12\x12\n\x0eAssociatedType\ + \x10\x03\x12\r\n\tAttribute\x10\x04\x12\t\n\x05Axiom\x10\x05\x12\x0b\n\ + \x07Boolean\x10\x06\x12\t\n\x05Class\x10\x07\x12\x0b\n\x07Concept\x10V\ + \x12\x0c\n\x08Constant\x10\x08\x12\x0f\n\x0bConstructor\x10\t\x12\x0c\n\ + \x08Contract\x10>\x12\x0e\n\nDataFamily\x10\n\x12\x0c\n\x08Delegate\x10I\ + \x12\x08\n\x04Enum\x10\x0b\x12\x0e\n\nEnumMember\x10\x0c\x12\t\n\x05Erro\ + r\x10?\x12\t\n\x05Event\x10\r\x12\r\n\tExtension\x10T\x12\x08\n\x04Fact\ + \x10\x0e\x12\t\n\x05Field\x10\x0f\x12\x08\n\x04File\x10\x10\x12\x0c\n\ + \x08Function\x10\x11\x12\n\n\x06Getter\x10\x12\x12\x0b\n\x07Grammar\x10\ + \x13\x12\x0c\n\x08Instance\x10\x14\x12\r\n\tInterface\x10\x15\x12\x07\n\ + \x03Key\x10\x16\x12\x08\n\x04Lang\x10\x17\x12\t\n\x05Lemma\x10\x18\x12\ + \x0b\n\x07Library\x10@\x12\t\n\x05Macro\x10\x19\x12\n\n\x06Method\x10\ + \x1a\x12\x0f\n\x0bMethodAlias\x10J\x12\x12\n\x0eMethodReceiver\x10\x1b\ + \x12\x17\n\x13MethodSpecification\x10C\x12\x0b\n\x07Message\x10\x1c\x12\ + \t\n\x05Mixin\x10U\x12\x0c\n\x08Modifier\x10A\x12\n\n\x06Module\x10\x1d\ + \x12\r\n\tNamespace\x10\x1e\x12\x08\n\x04Null\x10\x1f\x12\n\n\x06Number\ + \x10\x20\x12\n\n\x06Object\x10!\x12\x0c\n\x08Operator\x10\"\x12\x0b\n\ + \x07Package\x10#\x12\x11\n\rPackageObject\x10$\x12\r\n\tParameter\x10%\ + \x12\x12\n\x0eParameterLabel\x10&\x12\x0b\n\x07Pattern\x10'\x12\r\n\tPre\ + dicate\x10(\x12\x0c\n\x08Property\x10)\x12\x0c\n\x08Protocol\x10*\x12\ + \x12\n\x0eProtocolMethod\x10D\x12\x15\n\x11PureVirtualMethod\x10E\x12\ + \x0f\n\x0bQuasiquoter\x10+\x12\x11\n\rSelfParameter\x10,\x12\n\n\x06Sett\ + er\x10-\x12\r\n\tSignature\x10.\x12\x12\n\x0eSingletonClass\x10K\x12\x13\ + \n\x0fSingletonMethod\x10L\x12\x14\n\x10StaticDataMember\x10M\x12\x0f\n\ + \x0bStaticEvent\x10N\x12\x0f\n\x0bStaticField\x10O\x12\x10\n\x0cStaticMe\ + thod\x10P\x12\x12\n\x0eStaticProperty\x10Q\x12\x12\n\x0eStaticVariable\ + \x10R\x12\n\n\x06String\x100\x12\n\n\x06Struct\x101\x12\r\n\tSubscript\ + \x10/\x12\n\n\x06Tactic\x102\x12\x0b\n\x07Theorem\x103\x12\x11\n\rThisPa\ + rameter\x104\x12\t\n\x05Trait\x105\x12\x0f\n\x0bTraitMethod\x10F\x12\x08\ + \n\x04Type\x106\x12\r\n\tTypeAlias\x107\x12\r\n\tTypeClass\x108\x12\x13\ + \n\x0fTypeClassMethod\x10G\x12\x0e\n\nTypeFamily\x109\x12\x11\n\rTypePar\ + ameter\x10:\x12\t\n\x05Union\x10;\x12\t\n\x05Value\x10<\x12\x0c\n\x08Var\ + iable\x10=\"\xc9\x01\n\x0cRelationship\x12\x16\n\x06symbol\x18\x01\x20\ + \x01(\tR\x06symbol\x12!\n\x0cis_reference\x18\x02\x20\x01(\x08R\x0bisRef\ + erence\x12+\n\x11is_implementation\x18\x03\x20\x01(\x08R\x10isImplementa\ + tion\x12,\n\x12is_type_definition\x18\x04\x20\x01(\x08R\x10isTypeDefinit\ + ion\x12#\n\ris_definition\x18\x05\x20\x01(\x08R\x0cisDefinition\"\xa4\ + \x02\n\nOccurrence\x12\x14\n\x05range\x18\x01\x20\x03(\x05R\x05range\x12\ + \x16\n\x06symbol\x18\x02\x20\x01(\tR\x06symbol\x12!\n\x0csymbol_roles\ + \x18\x03\x20\x01(\x05R\x0bsymbolRoles\x125\n\x16override_documentation\ + \x18\x04\x20\x03(\tR\x15overrideDocumentation\x121\n\x0bsyntax_kind\x18\ + \x05\x20\x01(\x0e2\x10.scip.SyntaxKindR\nsyntaxKind\x122\n\x0bdiagnostic\ + s\x18\x06\x20\x03(\x0b2\x10.scip.DiagnosticR\x0bdiagnostics\x12'\n\x0fen\ + closing_range\x18\x07\x20\x03(\x05R\x0eenclosingRange\"\xa7\x01\n\nDiagn\ + ostic\x12*\n\x08severity\x18\x01\x20\x01(\x0e2\x0e.scip.SeverityR\x08sev\ + erity\x12\x12\n\x04code\x18\x02\x20\x01(\tR\x04code\x12\x18\n\x07message\ + \x18\x03\x20\x01(\tR\x07message\x12\x16\n\x06source\x18\x04\x20\x01(\tR\ + \x06source\x12'\n\x04tags\x18\x05\x20\x03(\x0e2\x13.scip.DiagnosticTagR\ + \x04tags*1\n\x0fProtocolVersion\x12\x1e\n\x1aUnspecifiedProtocolVersion\ + \x10\0*@\n\x0cTextEncoding\x12\x1b\n\x17UnspecifiedTextEncoding\x10\0\ + \x12\x08\n\x04UTF8\x10\x01\x12\t\n\x05UTF16\x10\x02*\xa4\x01\n\x10Positi\ + onEncoding\x12\x1f\n\x1bUnspecifiedPositionEncoding\x10\0\x12#\n\x1fUTF8\ + CodeUnitOffsetFromLineStart\x10\x01\x12$\n\x20UTF16CodeUnitOffsetFromLin\ + eStart\x10\x02\x12$\n\x20UTF32CodeUnitOffsetFromLineStart\x10\x03*\x94\ + \x01\n\nSymbolRole\x12\x19\n\x15UnspecifiedSymbolRole\x10\0\x12\x0e\n\nD\ + efinition\x10\x01\x12\n\n\x06Import\x10\x02\x12\x0f\n\x0bWriteAccess\x10\ + \x04\x12\x0e\n\nReadAccess\x10\x08\x12\r\n\tGenerated\x10\x10\x12\x08\n\ + \x04Test\x10\x20\x12\x15\n\x11ForwardDefinition\x10@*\xea\x06\n\nSyntaxK\ + ind\x12\x19\n\x15UnspecifiedSyntaxKind\x10\0\x12\x0b\n\x07Comment\x10\ + \x01\x12\x18\n\x14PunctuationDelimiter\x10\x02\x12\x16\n\x12PunctuationB\ + racket\x10\x03\x12\x0b\n\x07Keyword\x10\x04\x12\x19\n\x11IdentifierKeywo\ + rd\x10\x04\x1a\x02\x08\x01\x12\x16\n\x12IdentifierOperator\x10\x05\x12\ + \x0e\n\nIdentifier\x10\x06\x12\x15\n\x11IdentifierBuiltin\x10\x07\x12\ + \x12\n\x0eIdentifierNull\x10\x08\x12\x16\n\x12IdentifierConstant\x10\t\ + \x12\x1b\n\x17IdentifierMutableGlobal\x10\n\x12\x17\n\x13IdentifierParam\ + eter\x10\x0b\x12\x13\n\x0fIdentifierLocal\x10\x0c\x12\x16\n\x12Identifie\ + rShadowed\x10\r\x12\x17\n\x13IdentifierNamespace\x10\x0e\x12\x18\n\x10Id\ + entifierModule\x10\x0e\x1a\x02\x08\x01\x12\x16\n\x12IdentifierFunction\ + \x10\x0f\x12\x20\n\x1cIdentifierFunctionDefinition\x10\x10\x12\x13\n\x0f\ + IdentifierMacro\x10\x11\x12\x1d\n\x19IdentifierMacroDefinition\x10\x12\ + \x12\x12\n\x0eIdentifierType\x10\x13\x12\x19\n\x15IdentifierBuiltinType\ + \x10\x14\x12\x17\n\x13IdentifierAttribute\x10\x15\x12\x0f\n\x0bRegexEsca\ + pe\x10\x16\x12\x11\n\rRegexRepeated\x10\x17\x12\x11\n\rRegexWildcard\x10\ + \x18\x12\x12\n\x0eRegexDelimiter\x10\x19\x12\r\n\tRegexJoin\x10\x1a\x12\ + \x11\n\rStringLiteral\x10\x1b\x12\x17\n\x13StringLiteralEscape\x10\x1c\ + \x12\x18\n\x14StringLiteralSpecial\x10\x1d\x12\x14\n\x10StringLiteralKey\ + \x10\x1e\x12\x14\n\x10CharacterLiteral\x10\x1f\x12\x12\n\x0eNumericLiter\ + al\x10\x20\x12\x12\n\x0eBooleanLiteral\x10!\x12\x07\n\x03Tag\x10\"\x12\ + \x10\n\x0cTagAttribute\x10#\x12\x10\n\x0cTagDelimiter\x10$\x1a\x02\x10\ + \x01*V\n\x08Severity\x12\x17\n\x13UnspecifiedSeverity\x10\0\x12\t\n\x05E\ + rror\x10\x01\x12\x0b\n\x07Warning\x10\x02\x12\x0f\n\x0bInformation\x10\ + \x03\x12\x08\n\x04Hint\x10\x04*N\n\rDiagnosticTag\x12\x1c\n\x18Unspecifi\ + edDiagnosticTag\x10\0\x12\x0f\n\x0bUnnecessary\x10\x01\x12\x0e\n\nDeprec\ + ated\x10\x02*\x9b\n\n\x08Language\x12\x17\n\x13UnspecifiedLanguage\x10\0\ + \x12\x08\n\x04ABAP\x10<\x12\x08\n\x04Apex\x10`\x12\x07\n\x03APL\x101\x12\ + \x07\n\x03Ada\x10'\x12\x08\n\x04Agda\x10-\x12\x0c\n\x08AsciiDoc\x10V\x12\ + \x0c\n\x08Assembly\x10:\x12\x07\n\x03Awk\x10B\x12\x07\n\x03Bat\x10D\x12\ + \n\n\x06BibTeX\x10Q\x12\x05\n\x01C\x10\"\x12\t\n\x05COBOL\x10;\x12\x07\n\ + \x03CPP\x10#\x12\x07\n\x03CSS\x10\x1a\x12\n\n\x06CSharp\x10\x01\x12\x0b\ + \n\x07Clojure\x10\x08\x12\x10\n\x0cCoffeescript\x10\x15\x12\x0e\n\nCommo\ + nLisp\x10\t\x12\x07\n\x03Coq\x10/\x12\x08\n\x04CUDA\x10a\x12\x08\n\x04Da\ + rt\x10\x03\x12\n\n\x06Delphi\x109\x12\x08\n\x04Diff\x10X\x12\x0e\n\nDock\ + erfile\x10P\x12\n\n\x06Dyalog\x102\x12\n\n\x06Elixir\x10\x11\x12\n\n\x06\ + Erlang\x10\x12\x12\n\n\x06FSharp\x10*\x12\x08\n\x04Fish\x10A\x12\x08\n\ + \x04Flow\x10\x18\x12\x0b\n\x07Fortran\x108\x12\x0e\n\nGit_Commit\x10[\ + \x12\x0e\n\nGit_Config\x10Y\x12\x0e\n\nGit_Rebase\x10\\\x12\x06\n\x02Go\ + \x10!\x12\x0b\n\x07GraphQL\x10b\x12\n\n\x06Groovy\x10\x07\x12\x08\n\x04H\ + TML\x10\x1e\x12\x08\n\x04Hack\x10\x14\x12\x0e\n\nHandlebars\x10Z\x12\x0b\ + \n\x07Haskell\x10,\x12\t\n\x05Idris\x10.\x12\x07\n\x03Ini\x10H\x12\x05\n\ + \x01J\x103\x12\x08\n\x04JSON\x10K\x12\x08\n\x04Java\x10\x06\x12\x0e\n\nJ\ + avaScript\x10\x16\x12\x13\n\x0fJavaScriptReact\x10]\x12\x0b\n\x07Jsonnet\ + \x10L\x12\t\n\x05Julia\x107\x12\x0c\n\x08Justfile\x10m\x12\n\n\x06Kotlin\ + \x10\x04\x12\t\n\x05LaTeX\x10S\x12\x08\n\x04Lean\x100\x12\x08\n\x04Less\ + \x10\x1b\x12\x07\n\x03Lua\x10\x0c\x12\x08\n\x04Luau\x10l\x12\x0c\n\x08Ma\ + kefile\x10O\x12\x0c\n\x08Markdown\x10T\x12\n\n\x06Matlab\x104\x12\n\n\ + \x06Nickel\x10n\x12\x07\n\x03Nix\x10M\x12\t\n\x05OCaml\x10)\x12\x0f\n\ + \x0bObjective_C\x10$\x12\x11\n\rObjective_CPP\x10%\x12\n\n\x06Pascal\x10\ + c\x12\x07\n\x03PHP\x10\x13\x12\t\n\x05PLSQL\x10F\x12\x08\n\x04Perl\x10\r\ + \x12\x0e\n\nPowerShell\x10C\x12\n\n\x06Prolog\x10G\x12\x0c\n\x08Protobuf\ + \x10d\x12\n\n\x06Python\x10\x0f\x12\x05\n\x01R\x106\x12\n\n\x06Racket\ + \x10\x0b\x12\x08\n\x04Raku\x10\x0e\x12\t\n\x05Razor\x10>\x12\t\n\x05Repr\ + o\x10f\x12\x08\n\x04ReST\x10U\x12\x08\n\x04Ruby\x10\x10\x12\x08\n\x04Rus\ + t\x10(\x12\x07\n\x03SAS\x10=\x12\x08\n\x04SCSS\x10\x1d\x12\x07\n\x03SML\ + \x10+\x12\x07\n\x03SQL\x10E\x12\x08\n\x04Sass\x10\x1c\x12\t\n\x05Scala\ + \x10\x05\x12\n\n\x06Scheme\x10\n\x12\x0f\n\x0bShellScript\x10@\x12\x0b\n\ + \x07Skylark\x10N\x12\t\n\x05Slang\x10k\x12\x0c\n\x08Solidity\x10_\x12\n\ + \n\x06Svelte\x10j\x12\t\n\x05Swift\x10\x02\x12\x07\n\x03Tcl\x10e\x12\x08\ + \n\x04TOML\x10I\x12\x07\n\x03TeX\x10R\x12\n\n\x06Thrift\x10g\x12\x0e\n\n\ + TypeScript\x10\x17\x12\x13\n\x0fTypeScriptReact\x10^\x12\x0b\n\x07Verilo\ + g\x10h\x12\x08\n\x04VHDL\x10i\x12\x0f\n\x0bVisualBasic\x10?\x12\x07\n\ + \x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\x07\n\x03XML\x10\x1f\x12\ + \x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\x12\x07\n\x03Zig\x10&B-Z+gi\ + thub.com/scip-code/scip/bindings/go/scip/J\xb0\xc6\x02\n\x07\x12\x05\n\0\ + \x9c\x07\x01\n\x82\x04\n\x01\x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\ + \x20contains\x20one\x20or\x20more\x20pieces\x20of\x20information\x20abou\ + t\x20a\x20given\x20piece\x20of\n\x20source\x20code\x20or\x20software\x20\ + artifact.\x20Complementary\x20information\x20can\x20be\x20merged\n\x20to\ + gether\x20from\x20multiple\x20sources\x20to\x20provide\x20a\x20unified\ + \x20code\x20intelligence\n\x20experience.\n\n\x20Programs\x20producing\ + \x20a\x20file\x20of\x20this\x20format\x20is\x20an\x20\"indexer\"\x20and\ + \x20may\x20operate\n\x20somewhere\x20on\x20the\x20spectrum\x20between\ + \x20precision,\x20such\x20as\x20indexes\x20produced\x20by\n\x20compiler-\ + backed\x20indexers,\x20and\x20heurstics,\x20such\x20as\x20indexes\x20pro\ + duced\x20by\x20local\n\x20syntax-directed\x20analysis\x20for\x20scope\ + \x20rules.\n\n\x08\n\x01\x02\x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\ + \0B\n\t\n\x02\x08\x0b\x12\x03\x0e\0B\n\xd0\x03\n\x02\x04\0\x12\x04\x16\0\ + #\x01\x1a\xc3\x03\x20Index\x20represents\x20a\x20complete\x20SCIP\x20ind\ + ex\x20for\x20a\x20workspace\x20this\x20is\x20rooted\x20at\x20a\n\x20sing\ + le\x20directory.\x20An\x20Index\x20message\x20payload\x20can\x20have\x20\ + a\x20large\x20memory\x20footprint\n\x20and\x20it's\x20therefore\x20recom\ + mended\x20to\x20emit\x20and\x20consume\x20an\x20Index\x20payload\x20one\ + \x20field\n\x20value\x20at\x20a\x20time.\x20To\x20permit\x20streaming\ + \x20consumption\x20of\x20an\x20Index\x20payload,\x20the\n\x20`metadata`\ + \x20field\x20must\x20appear\x20at\x20the\x20start\x20of\x20the\x20stream\ + \x20and\x20must\x20only\x20appear\n\x20once\x20in\x20the\x20stream.\x20O\ + ther\x20field\x20values\x20may\x20appear\x20in\x20any\x20order.\n\n\n\n\ + \x03\x04\0\x01\x12\x03\x16\x08\r\n)\n\x04\x04\0\x02\0\x12\x03\x18\x02\ + \x18\x1a\x1c\x20Metadata\x20about\x20this\x20index.\n\n\x0c\n\x05\x04\0\ + \x02\0\x06\x12\x03\x18\x02\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x18\x0b\ + \x13\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x18\x16\x17\n3\n\x04\x04\0\x02\ + \x01\x12\x03\x1a\x02\"\x1a&\x20Documents\x20that\x20belong\x20to\x20this\ + \x20index.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\ + \x04\0\x02\x01\x06\x12\x03\x1a\x0b\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ + \x03\x1a\x14\x1d\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1a\x20!\n\xf6\ + \x03\n\x04\x04\0\x02\x02\x12\x03\x20\x022\x1a\xe9\x02\x20(optional)\x20S\ + ymbols\x20that\x20are\x20referenced\x20from\x20this\x20index\x20but\x20a\ + re\x20defined\x20in\n\x20an\x20external\x20package\x20(a\x20separate\x20\ + `Index`\x20message).\x20Leave\x20this\x20field\x20empty\n\x20if\x20you\ + \x20assume\x20the\x20external\x20package\x20will\x20get\x20indexed\x20se\ + parately.\x20If\x20the\n\x20external\x20package\x20won't\x20get\x20index\ + ed\x20for\x20some\x20reason\x20then\x20you\x20can\x20use\x20this\n\x20fi\ + eld\x20to\x20provide\x20hover\x20documentation\x20for\x20those\x20extern\ + al\x20symbols.\n\"}\x20IMPORTANT:\x20When\x20adding\x20a\x20new\x20field\ + \x20to\x20`Index`\x20here,\x20add\x20a\x20matching\n\x20function\x20in\ + \x20`IndexVisitor`\x20and\x20update\x20`ParseStreaming`.\n\n\x0c\n\x05\ + \x04\0\x02\x02\x04\x12\x03\x20\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\ + \x03\x20\x0b\x1c\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x20\x1d-\n\x0c\n\ + \x05\x04\0\x02\x02\x03\x12\x03\x2001\n\n\n\x02\x04\x01\x12\x04%\02\x01\n\ + \n\n\x03\x04\x01\x01\x12\x03%\x08\x10\nN\n\x04\x04\x01\x02\0\x12\x03'\ + \x02\x1e\x1aA\x20Which\x20version\x20of\x20this\x20protocol\x20was\x20us\ + ed\x20to\x20generate\x20this\x20index?\n\n\x0c\n\x05\x04\x01\x02\0\x06\ + \x12\x03'\x02\x11\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03'\x12\x19\n\x0c\n\ + \x05\x04\x01\x02\0\x03\x12\x03'\x1c\x1d\nC\n\x04\x04\x01\x02\x01\x12\x03\ + )\x02\x19\x1a6\x20Information\x20about\x20the\x20tool\x20that\x20produce\ + d\x20this\x20index.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03)\x02\n\n\ + \x0c\n\x05\x04\x01\x02\x01\x01\x12\x03)\x0b\x14\n\x0c\n\x05\x04\x01\x02\ + \x01\x03\x12\x03)\x17\x18\n\xa2\x01\n\x04\x04\x01\x02\x02\x12\x03-\x02\ + \x1a\x1a\x94\x01\x20URI-encoded\x20absolute\x20path\x20to\x20the\x20root\ + \x20directory\x20of\x20this\x20index.\x20All\n\x20documents\x20in\x20thi\ + s\x20index\x20must\x20appear\x20in\x20a\x20subdirectory\x20of\x20this\ + \x20root\n\x20directory.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03-\x02\ + \x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03-\t\x15\n\x0c\n\x05\x04\x01\ + \x02\x02\x03\x12\x03-\x18\x19\n\xe0\x01\n\x04\x04\x01\x02\x03\x12\x031\ + \x02*\x1a\xd2\x01\x20Text\x20encoding\x20of\x20the\x20source\x20files\ + \x20on\x20disk\x20that\x20are\x20referenced\x20from\n\x20`Document.relat\ + ive_path`.\x20This\x20value\x20is\x20unrelated\x20to\x20the\x20`Document\ + .text`\n\x20field,\x20which\x20is\x20a\x20Protobuf\x20string\x20and\x20h\ + ence\x20must\x20be\x20UTF-8\x20encoded.\n\n\x0c\n\x05\x04\x01\x02\x03\ + \x06\x12\x031\x02\x0e\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x031\x0f%\n\ + \x0c\n\x05\x04\x01\x02\x03\x03\x12\x031()\n\n\n\x02\x05\0\x12\x044\06\ + \x01\n\n\n\x03\x05\0\x01\x12\x034\x05\x14\n\x0b\n\x04\x05\0\x02\0\x12\ + \x035\x02!\n\x0c\n\x05\x05\0\x02\0\x01\x12\x035\x02\x1c\n\x0c\n\x05\x05\ + \0\x02\0\x02\x12\x035\x1f\x20\n\n\n\x02\x05\x01\x12\x048\0<\x01\n\n\n\ + \x03\x05\x01\x01\x12\x038\x05\x11\n\x0b\n\x04\x05\x01\x02\0\x12\x039\x02\ + \x1e\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x039\x02\x19\n\x0c\n\x05\x05\x01\ + \x02\0\x02\x12\x039\x1c\x1d\n\x0b\n\x04\x05\x01\x02\x01\x12\x03:\x02\x0b\ + \n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03:\x02\x06\n\x0c\n\x05\x05\x01\ + \x02\x01\x02\x12\x03:\t\n\n\x0b\n\x04\x05\x01\x02\x02\x12\x03;\x02\x0c\n\ + \x0c\n\x05\x05\x01\x02\x02\x01\x12\x03;\x02\x07\n\x0c\n\x05\x05\x01\x02\ + \x02\x02\x12\x03;\n\x0b\n\n\n\x02\x04\x02\x12\x04>\0E\x01\n\n\n\x03\x04\ + \x02\x01\x12\x03>\x08\x10\n<\n\x04\x04\x02\x02\0\x12\x03@\x02\x12\x1a/\ + \x20Name\x20of\x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\ + \n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x02\x02\ + \0\x01\x12\x03@\t\r\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03@\x10\x11\n?\n\ + \x04\x04\x02\x02\x01\x12\x03B\x02\x15\x1a2\x20Version\x20of\x20the\x20in\ + dexer\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\ + \x01\x05\x12\x03B\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03B\t\x10\ + \n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03B\x13\x14\nL\n\x04\x04\x02\x02\ + \x02\x12\x03D\x02\x20\x1a?\x20Command-line\x20arguments\x20that\x20were\ + \x20used\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\n\x05\x04\x02\x02\ + \x02\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03D\x0b\x11\ + \n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03D\x12\x1b\n\x0c\n\x05\x04\x02\ + \x02\x02\x03\x12\x03D\x1e\x1f\nH\n\x02\x04\x03\x12\x04H\0u\x01\x1a<\x20D\ + ocument\x20defines\x20the\x20metadata\x20about\x20a\x20source\x20file\ + \x20on\x20disk.\n\n\n\n\x03\x04\x03\x01\x12\x03H\x08\x10\n\xa5\x02\n\x04\ + \x04\x03\x02\0\x12\x03M\x02\x16\x1a\x97\x02\x20The\x20string\x20ID\x20fo\ + r\x20the\x20programming\x20language\x20this\x20file\x20is\x20written\x20\ + in.\n\x20The\x20`Language`\x20enum\x20contains\x20the\x20names\x20of\x20\ + most\x20common\x20programming\x20languages.\n\x20This\x20field\x20is\x20\ + typed\x20as\x20a\x20string\x20to\x20permit\x20any\x20programming\x20lang\ + uage,\x20including\n\x20ones\x20that\x20are\x20not\x20specified\x20by\ + \x20the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03M\ + \x02\x08\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03M\t\x11\n\x0c\n\x05\x04\ + \x03\x02\0\x03\x12\x03M\x14\x15\n\xb5\x03\n\x04\x04\x03\x02\x01\x12\x03W\ + \x02\x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\x20to\x20the\x20tex\ + t\x20document.\n\n\x201.\x20The\x20path\x20must\x20be\x20relative\x20to\ \x20the\x20directory\x20supplied\x20in\x20the\x20associated\n\x20\x20\ \x20\x20`Metadata.project_root`.\n\x202.\x20The\x20path\x20must\x20not\ \x20begin\x20with\x20a\x20leading\x20'/'.\n\x203.\x20The\x20path\x20must\ @@ -4978,7 +5090,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20for\x20parsing\x20symbols.\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\ \xe1\x01\x02\x08\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xe1\x01\t\x0f\n\r\ \n\x05\x04\x06\x02\x02\x03\x12\x04\xe1\x01\x12\x13\n\x83\x01\n\x02\x04\ - \x07\x12\x06\xe8\x01\0\xba\x03\x01\x1au\x20SymbolInformation\x20defines\ + \x07\x12\x06\xe8\x01\0\xe7\x03\x01\x1au\x20SymbolInformation\x20defines\ \x20metadata\x20about\x20a\x20symbol,\x20such\x20as\x20the\x20symbol's\n\ \x20docstring\x20or\x20what\x20package\x20it's\x20defined\x20it.\n\n\x0b\ \n\x03\x04\x07\x01\x12\x04\xe8\x01\x08\x19\n\xa0\x01\n\x04\x04\x07\x02\0\ @@ -4999,578 +5111,626 @@ static file_descriptor_proto_data: &'static [u8] = b"\ is\x20field,\x20for\x20example\x20docstrings.\n\n\r\n\x05\x04\x07\x02\ \x01\x04\x12\x04\xf2\x01\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xf2\ \x01\x0b\x11\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xf2\x01\x12\x1f\n\r\n\ - \x05\x04\x07\x02\x01\x03\x12\x04\xf2\x01\"#\n^\n\x04\x04\x07\x02\x02\x12\ - \x04\xf4\x01\x02*\x1aP\x20(optional)\x20Relationships\x20to\x20other\x20\ - symbols\x20(e.g.,\x20implements,\x20type\x20definition).\n\n\r\n\x05\x04\ - \x07\x02\x02\x04\x12\x04\xf4\x01\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\ - \x04\xf4\x01\x0b\x17\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xf4\x01\x18%\ - \n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xf4\x01()\n\xa4\x01\n\x04\x04\x07\ - \x02\x03\x12\x04\xf8\x01\x02\x10\x1a\x95\x01\x20The\x20kind\x20of\x20thi\ - s\x20symbol.\x20Use\x20this\x20field\x20instead\x20of\n\x20`SymbolDescri\ - ptor.Suffix`\x20to\x20determine\x20whether\x20something\x20is,\x20for\ - \x20example,\x20a\n\x20class\x20or\x20a\x20method.\n\n\r\n\x05\x04\x07\ - \x02\x03\x06\x12\x04\xf8\x01\x02\x06\n\r\n\x05\x04\x07\x02\x03\x01\x12\ - \x04\xf8\x01\x07\x0b\n\r\n\x05\x04\x07\x02\x03\x03\x12\x04\xf8\x01\x0e\ - \x0f\n\xf5\x05\n\x04\x04\x07\x04\0\x12\x06\x87\x02\x02\x96\x03\x03\x1a\ - \xe4\x05\x20(optional)\x20Kind\x20represents\x20the\x20fine-grained\x20c\ - ategory\x20of\x20a\x20symbol,\x20suitable\x20for\x20presenting\n\x20info\ - rmation\x20about\x20the\x20symbol's\x20meaning\x20in\x20the\x20language.\ - \n\n\x20For\x20example:\n\x20-\x20A\x20Java\x20method\x20would\x20have\ - \x20the\x20kind\x20`Method`\x20while\x20a\x20Go\x20function\x20would\n\ - \x20\x20\x20have\x20the\x20kind\x20`Function`,\x20even\x20if\x20the\x20s\ - ymbols\x20for\x20these\x20use\x20the\x20same\n\x20\x20\x20syntax\x20for\ - \x20the\x20descriptor\x20`SymbolDescriptor.Suffix.Method`.\n\x20-\x20A\ - \x20Go\x20struct\x20has\x20the\x20symbol\x20kind\x20`Struct`\x20while\ - \x20a\x20Java\x20class\x20has\n\x20\x20\x20the\x20symbol\x20kind\x20`Cla\ - ss`\x20even\x20if\x20they\x20both\x20have\x20the\x20same\x20descriptor:\ - \n\x20\x20\x20`SymbolDescriptor.Suffix.Type`.\n\n\x20Since\x20Kind\x20is\ - \x20more\x20fine-grained\x20than\x20Suffix:\n\x20-\x20If\x20two\x20symbo\ - ls\x20have\x20the\x20same\x20Kind,\x20they\x20should\x20share\x20the\x20\ - same\x20Suffix.\n\x20-\x20If\x20two\x20symbols\x20have\x20different\x20S\ - uffixes,\x20they\x20should\x20have\x20different\x20Kinds.\n\n\r\n\x05\ - \x04\x07\x04\0\x01\x12\x04\x87\x02\x07\x0b\n\x0e\n\x06\x04\x07\x04\0\x02\ - \0\x12\x04\x88\x02\x04\x18\n\x0f\n\x07\x04\x07\x04\0\x02\0\x01\x12\x04\ - \x88\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\x02\0\x02\x12\x04\x88\x02\x16\ - \x17\nR\n\x06\x04\x07\x04\0\x02\x01\x12\x04\x8a\x02\x04\x18\x1aB\x20A\ - \x20method\x20which\x20may\x20or\x20may\x20not\x20have\x20a\x20body.\x20\ - For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x01\ - \x12\x04\x8a\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x02\x12\x04\ - \x8a\x02\x15\x17\n*\n\x06\x04\x07\x04\0\x02\x02\x12\x04\x8c\x02\x04\x12\ - \x1a\x1a\x20For\x20Ruby's\x20attr_accessor\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x02\x01\x12\x04\x8c\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x02\ - \x02\x12\x04\x8c\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02\x03\x12\x04\ - \x8d\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x01\x12\x04\x8d\x02\ - \x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x02\x12\x04\x8d\x02\x0c\r\n\x1b\ - \n\x06\x04\x07\x04\0\x02\x04\x12\x04\x8f\x02\x04\x12\x1a\x0b\x20For\x20A\ - lloy\n\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x01\x12\x04\x8f\x02\x04\r\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x04\x02\x12\x04\x8f\x02\x10\x11\n\x0e\n\x06\x04\ - \x07\x04\0\x02\x05\x12\x04\x90\x02\x04\x17\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x05\x01\x12\x04\x90\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x05\x02\ - \x12\x04\x90\x02\x15\x16\n\x19\n\x06\x04\x07\x04\0\x02\x06\x12\x04\x92\ - \x02\x04\x12\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02\x06\x01\ - \x12\x04\x92\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x06\x02\x12\x04\x92\ - \x02\x10\x11\n\x1a\n\x06\x04\x07\x04\0\x02\x07\x12\x04\x94\x02\x04\x0e\ - \x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02\x07\x01\x12\x04\ - \x94\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x07\x02\x12\x04\x94\x02\x0c\ - \r\n\x0e\n\x06\x04\x07\x04\0\x02\x08\x12\x04\x95\x02\x04\x10\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x08\x01\x12\x04\x95\x02\x04\x0b\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x08\x02\x12\x04\x95\x02\x0e\x0f\n\x0e\n\x06\x04\x07\x04\0\x02\ - \t\x12\x04\x96\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\t\x01\x12\x04\ - \x96\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\t\x02\x12\x04\x96\x02\x0c\r\ - \n\x19\n\x06\x04\x07\x04\0\x02\n\x12\x04\x98\x02\x04\x11\x1a\t\x20For\ - \x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02\n\x01\x12\x04\x98\x02\x04\x0b\n\ - \x0f\n\x07\x04\x07\x04\0\x02\n\x02\x12\x04\x98\x02\x0e\x10\n\x0e\n\x06\ - \x04\x07\x04\0\x02\x0b\x12\x04\x99\x02\x04\x11\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x0b\x01\x12\x04\x99\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x0b\ - \x02\x12\x04\x99\x02\x0f\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x0c\x12\x04\ - \x9a\x02\x04\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x0c\x01\x12\x04\x9a\x02\ - \x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x0c\x02\x12\x04\x9a\x02\x12\x13\n\ - \x1e\n\x06\x04\x07\x04\0\x02\r\x12\x04\x9c\x02\x04\x12\x1a\x0e\x20For\ - \x20Solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02\r\x01\x12\x04\x9c\x02\x04\ - \x0c\n\x0f\n\x07\x04\x07\x04\0\x02\r\x02\x12\x04\x9c\x02\x0f\x11\n\x1d\n\ - \x06\x04\x07\x04\0\x02\x0e\x12\x04\x9e\x02\x04\x14\x1a\r\x20For\x20Haske\ - ll\n\n\x0f\n\x07\x04\x07\x04\0\x02\x0e\x01\x12\x04\x9e\x02\x04\x0e\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x0e\x02\x12\x04\x9e\x02\x11\x13\n\x1f\n\x06\x04\ - \x07\x04\0\x02\x0f\x12\x04\xa0\x02\x04\x12\x1a\x0f\x20For\x20C#\x20and\ - \x20F#\n\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x01\x12\x04\xa0\x02\x04\x0c\n\ - \x0f\n\x07\x04\x07\x04\0\x02\x0f\x02\x12\x04\xa0\x02\x0f\x11\n\x0e\n\x06\ - \x04\x07\x04\0\x02\x10\x12\x04\xa1\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x10\x01\x12\x04\xa1\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02\x10\ - \x02\x12\x04\xa1\x02\x0b\r\n\x0e\n\x06\x04\x07\x04\0\x02\x11\x12\x04\xa2\ - \x02\x04\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x01\x12\x04\xa2\x02\x04\ - \x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x02\x12\x04\xa2\x02\x11\x13\n\x0e\ - \n\x06\x04\x07\x04\0\x02\x12\x12\x04\xa3\x02\x04\x0f\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x12\x01\x12\x04\xa3\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x12\x02\x12\x04\xa3\x02\x0c\x0e\n\x0e\n\x06\x04\x07\x04\0\x02\x13\x12\ - \x04\xa4\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x13\x01\x12\x04\xa4\ - \x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x13\x02\x12\x04\xa4\x02\x0c\x0e\ - \n\x1a\n\x06\x04\x07\x04\0\x02\x14\x12\x04\xa6\x02\x04\x13\x1a\n\x20For\ - \x20Dart\n\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x01\x12\x04\xa6\x02\x04\r\n\ - \x0f\n\x07\x04\x07\x04\0\x02\x14\x02\x12\x04\xa6\x02\x10\x12\n\x1b\n\x06\ - \x04\x07\x04\0\x02\x15\x12\x04\xa8\x02\x04\x0e\x1a\x0b\x20For\x20Alloy\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02\x15\x01\x12\x04\xa8\x02\x04\x08\n\x0f\n\ - \x07\x04\x07\x04\0\x02\x15\x02\x12\x04\xa8\x02\x0b\r\n\x0e\n\x06\x04\x07\ - \x04\0\x02\x16\x12\x04\xa9\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x16\ - \x01\x12\x04\xa9\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x16\x02\x12\x04\ - \xa9\x02\x0c\x0e\n\x0e\n\x06\x04\x07\x04\0\x02\x17\x12\x04\xaa\x02\x04\ - \x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x17\x01\x12\x04\xaa\x02\x04\x08\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x17\x02\x12\x04\xaa\x02\x0b\r\n\x0e\n\x06\x04\ - \x07\x04\0\x02\x18\x12\x04\xab\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x18\x01\x12\x04\xab\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x18\x02\ - \x12\x04\xab\x02\x0f\x11\n;\n\x06\x04\x07\x04\0\x02\x19\x12\x04\xad\x02\ - \x04\x10\x1a+\x20For\x20'get'\x20in\x20Swift,\x20'attr_reader'\x20in\x20\ - Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x02\x19\x01\x12\x04\xad\x02\x04\n\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x19\x02\x12\x04\xad\x02\r\x0f\n\x1a\n\x06\x04\ - \x07\x04\0\x02\x1a\x12\x04\xaf\x02\x04\x11\x1a\n\x20For\x20Raku\n\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x1a\x01\x12\x04\xaf\x02\x04\x0b\n\x0f\n\x07\x04\ - \x07\x04\0\x02\x1a\x02\x12\x04\xaf\x02\x0e\x10\n)\n\x06\x04\x07\x04\0\ - \x02\x1b\x12\x04\xb1\x02\x04\x12\x1a\x19\x20For\x20Purescript\x20and\x20\ - Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02\x1b\x01\x12\x04\xb1\x02\x04\x0c\n\ - \x0f\n\x07\x04\x07\x04\0\x02\x1b\x02\x12\x04\xb1\x02\x0f\x11\n\x0e\n\x06\ - \x04\x07\x04\0\x02\x1c\x12\x04\xb2\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x1c\x01\x12\x04\xb2\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x1c\x02\ - \x12\x04\xb2\x02\x10\x12\n\x0e\n\x06\x04\x07\x04\0\x02\x1d\x12\x04\xb3\ - \x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x1d\x01\x12\x04\xb3\x02\x04\x07\ - \n\x0f\n\x07\x04\x07\x04\0\x02\x1d\x02\x12\x04\xb3\x02\n\x0c\n\x1c\n\x06\ - \x04\x07\x04\0\x02\x1e\x12\x04\xb5\x02\x04\x0e\x1a\x0c\x20For\x20Racket\ - \n\n\x0f\n\x07\x04\x07\x04\0\x02\x1e\x01\x12\x04\xb5\x02\x04\x08\n\x0f\n\ - \x07\x04\x07\x04\0\x02\x1e\x02\x12\x04\xb5\x02\x0b\r\n\x1a\n\x06\x04\x07\ - \x04\0\x02\x1f\x12\x04\xb7\x02\x04\x0f\x1a\n\x20For\x20Lean\n\n\x0f\n\ - \x07\x04\x07\x04\0\x02\x1f\x01\x12\x04\xb7\x02\x04\t\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x1f\x02\x12\x04\xb7\x02\x0c\x0e\n\x1e\n\x06\x04\x07\x04\0\x02\ - \x20\x12\x04\xb9\x02\x04\x11\x1a\x0e\x20For\x20solidity\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x20\x01\x12\x04\xb9\x02\x04\x0b\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x20\x02\x12\x04\xb9\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\ - !\x12\x04\xba\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02!\x01\x12\x04\xba\ - \x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02!\x02\x12\x04\xba\x02\x0c\x0e\n\ - \x0e\n\x06\x04\x07\x04\0\x02\"\x12\x04\xbb\x02\x04\x10\n\x0f\n\x07\x04\ - \x07\x04\0\x02\"\x01\x12\x04\xbb\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - \"\x02\x12\x04\xbb\x02\r\x0f\n\x1a\n\x06\x04\x07\x04\0\x02#\x12\x04\xbd\ - \x02\x04\x15\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x02#\x01\ - \x12\x04\xbd\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02#\x02\x12\x04\xbd\ - \x02\x12\x14\n\x94\x01\n\x06\x04\x07\x04\0\x02$\x12\x04\xc0\x02\x04\x18\ - \x1a\x83\x01\x20Analogous\x20to\x20'ThisParameter'\x20and\x20'SelfParame\ - ter',\x20but\x20for\x20languages\n\x20like\x20Go\x20where\x20the\x20rece\ - iver\x20doesn't\x20have\x20a\x20conventional\x20name.\n\n\x0f\n\x07\x04\ - \x07\x04\0\x02$\x01\x12\x04\xc0\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\ - \x02$\x02\x12\x04\xc0\x02\x15\x17\n8\n\x06\x04\x07\x04\0\x02%\x12\x04\ - \xc2\x02\x04\x1d\x1a(\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20\ - Go.\n\n\x0f\n\x07\x04\x07\x04\0\x02%\x01\x12\x04\xc2\x02\x04\x17\n\x0f\n\ - \x07\x04\x07\x04\0\x02%\x02\x12\x04\xc2\x02\x1a\x1c\n\x1e\n\x06\x04\x07\ - \x04\0\x02&\x12\x04\xc4\x02\x04\x11\x1a\x0e\x20For\x20Protobuf\n\n\x0f\n\ - \x07\x04\x07\x04\0\x02&\x01\x12\x04\xc4\x02\x04\x0b\n\x0f\n\x07\x04\x07\ - \x04\0\x02&\x02\x12\x04\xc4\x02\x0e\x10\n\x1a\n\x06\x04\x07\x04\0\x02'\ - \x12\x04\xc6\x02\x04\x0f\x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x07\x04\ - \0\x02'\x01\x12\x04\xc6\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02'\x02\x12\ - \x04\xc6\x02\x0c\x0e\n\x1e\n\x06\x04\x07\x04\0\x02(\x12\x04\xc8\x02\x04\ - \x12\x1a\x0e\x20For\x20Solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02(\x01\x12\ - \x04\xc8\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02(\x02\x12\x04\xc8\x02\ - \x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02)\x12\x04\xc9\x02\x04\x10\n\x0f\n\ - \x07\x04\x07\x04\0\x02)\x01\x12\x04\xc9\x02\x04\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02)\x02\x12\x04\xc9\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02*\x12\ - \x04\xca\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\x02*\x01\x12\x04\xca\x02\ - \x04\r\n\x0f\n\x07\x04\x07\x04\0\x02*\x02\x12\x04\xca\x02\x10\x12\n\x0e\ - \n\x06\x04\x07\x04\0\x02+\x12\x04\xcb\x02\x04\x0e\n\x0f\n\x07\x04\x07\ - \x04\0\x02+\x01\x12\x04\xcb\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02+\ - \x02\x12\x04\xcb\x02\x0b\r\n\x0e\n\x06\x04\x07\x04\0\x02,\x12\x04\xcc\ - \x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02,\x01\x12\x04\xcc\x02\x04\n\n\ - \x0f\n\x07\x04\x07\x04\0\x02,\x02\x12\x04\xcc\x02\r\x0f\n\x0e\n\x06\x04\ - \x07\x04\0\x02-\x12\x04\xcd\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02-\ - \x01\x12\x04\xcd\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02-\x02\x12\x04\ - \xcd\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02.\x12\x04\xce\x02\x04\x12\n\ - \x0f\n\x07\x04\x07\x04\0\x02.\x01\x12\x04\xce\x02\x04\x0c\n\x0f\n\x07\ - \x04\x07\x04\0\x02.\x02\x12\x04\xce\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\ - \0\x02/\x12\x04\xcf\x02\x04\x11\n\x0f\n\x07\x04\x07\x04\0\x02/\x01\x12\ - \x04\xcf\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02/\x02\x12\x04\xcf\x02\ - \x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x020\x12\x04\xd0\x02\x04\x17\n\x0f\n\ - \x07\x04\x07\x04\0\x020\x01\x12\x04\xd0\x02\x04\x11\n\x0f\n\x07\x04\x07\ - \x04\0\x020\x02\x12\x04\xd0\x02\x14\x16\n\x0e\n\x06\x04\x07\x04\0\x021\ - \x12\x04\xd1\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\x021\x01\x12\x04\xd1\ - \x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x021\x02\x12\x04\xd1\x02\x10\x12\n\ - \x0e\n\x06\x04\x07\x04\0\x022\x12\x04\xd2\x02\x04\x18\n\x0f\n\x07\x04\ - \x07\x04\0\x022\x01\x12\x04\xd2\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\ - \x022\x02\x12\x04\xd2\x02\x15\x17\n/\n\x06\x04\x07\x04\0\x023\x12\x04\ - \xd4\x02\x04\x11\x1a\x1f\x20For\x20Haskell's\x20PatternSynonyms\n\n\x0f\ - \n\x07\x04\x07\x04\0\x023\x01\x12\x04\xd4\x02\x04\x0b\n\x0f\n\x07\x04\ - \x07\x04\0\x023\x02\x12\x04\xd4\x02\x0e\x10\n\x1b\n\x06\x04\x07\x04\0\ - \x024\x12\x04\xd6\x02\x04\x13\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\ - \x07\x04\0\x024\x01\x12\x04\xd6\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x024\ - \x02\x12\x04\xd6\x02\x10\x12\n\x0e\n\x06\x04\x07\x04\0\x025\x12\x04\xd7\ - \x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x025\x01\x12\x04\xd7\x02\x04\x0c\ - \n\x0f\n\x07\x04\x07\x04\0\x025\x02\x12\x04\xd7\x02\x0f\x11\nQ\n\x06\x04\ - \x07\x04\0\x026\x12\x04\xd9\x02\x04\x12\x1aA\x20Analogous\x20to\x20'Trai\ - t'\x20and\x20'TypeClass',\x20for\x20Swift\x20and\x20Objective-C\n\n\x0f\ - \n\x07\x04\x07\x04\0\x026\x01\x12\x04\xd9\x02\x04\x0c\n\x0f\n\x07\x04\ - \x07\x04\0\x026\x02\x12\x04\xd9\x02\x0f\x11\nK\n\x06\x04\x07\x04\0\x027\ - \x12\x04\xdb\x02\x04\x18\x1a;\x20Analogous\x20to\x20'AbstractMethod',\ - \x20for\x20Swift\x20and\x20Objective-C.\n\n\x0f\n\x07\x04\x07\x04\0\x027\ - \x01\x12\x04\xdb\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x027\x02\x12\x04\ - \xdb\x02\x15\x17\n9\n\x06\x04\x07\x04\0\x028\x12\x04\xdd\x02\x04\x1b\x1a\ - )\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20C++.\n\n\x0f\n\x07\ - \x04\x07\x04\0\x028\x01\x12\x04\xdd\x02\x04\x15\n\x0f\n\x07\x04\x07\x04\ - \0\x028\x02\x12\x04\xdd\x02\x18\x1a\n\x1d\n\x06\x04\x07\x04\0\x029\x12\ - \x04\xdf\x02\x04\x15\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\ - \x029\x01\x12\x04\xdf\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x029\x02\x12\ - \x04\xdf\x02\x12\x14\n4\n\x06\x04\x07\x04\0\x02:\x12\x04\xe1\x02\x04\x17\ - \x1a$\x20'self'\x20in\x20Python,\x20Rust,\x20Swift\x20etc.\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02:\x01\x12\x04\xe1\x02\x04\x11\n\x0f\n\x07\x04\x07\x04\ - \0\x02:\x02\x12\x04\xe1\x02\x14\x16\n;\n\x06\x04\x07\x04\0\x02;\x12\x04\ - \xe3\x02\x04\x10\x1a+\x20For\x20'set'\x20in\x20Swift,\x20'attr_writer'\ - \x20in\x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x02;\x01\x12\x04\xe3\x02\x04\ - \n\n\x0f\n\x07\x04\x07\x04\0\x02;\x02\x12\x04\xe3\x02\r\x0f\n3\n\x06\x04\ - \x07\x04\0\x02<\x12\x04\xe5\x02\x04\x13\x1a#\x20For\x20Alloy,\x20analogo\ - us\x20to\x20'Struct'.\n\n\x0f\n\x07\x04\x07\x04\0\x02<\x01\x12\x04\xe5\ - \x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02<\x02\x12\x04\xe5\x02\x10\x12\n\ - \x1a\n\x06\x04\x07\x04\0\x02=\x12\x04\xe7\x02\x04\x18\x1a\n\x20For\x20Ru\ - by\n\n\x0f\n\x07\x04\x07\x04\0\x02=\x01\x12\x04\xe7\x02\x04\x12\n\x0f\n\ - \x07\x04\x07\x04\0\x02=\x02\x12\x04\xe7\x02\x15\x17\n8\n\x06\x04\x07\x04\ - \0\x02>\x12\x04\xe9\x02\x04\x19\x1a(\x20Analogous\x20to\x20'StaticMethod\ - ',\x20for\x20Ruby.\n\n\x0f\n\x07\x04\x07\x04\0\x02>\x01\x12\x04\xe9\x02\ - \x04\x13\n\x0f\n\x07\x04\x07\x04\0\x02>\x02\x12\x04\xe9\x02\x16\x18\n5\n\ - \x06\x04\x07\x04\0\x02?\x12\x04\xeb\x02\x04\x1a\x1a%\x20Analogous\x20to\ - \x20'StaticField',\x20for\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02?\x01\ - \x12\x04\xeb\x02\x04\x14\n\x0f\n\x07\x04\x07\x04\0\x02?\x02\x12\x04\xeb\ - \x02\x17\x19\n\x18\n\x06\x04\x07\x04\0\x02@\x12\x04\xed\x02\x04\x15\x1a\ - \x08\x20For\x20C#\n\n\x0f\n\x07\x04\x07\x04\0\x02@\x01\x12\x04\xed\x02\ - \x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02@\x02\x12\x04\xed\x02\x12\x14\n\ - \x18\n\x06\x04\x07\x04\0\x02A\x12\x04\xef\x02\x04\x15\x1a\x08\x20For\x20\ - C#\n\n\x0f\n\x07\x04\x07\x04\0\x02A\x01\x12\x04\xef\x02\x04\x0f\n\x0f\n\ - \x07\x04\x07\x04\0\x02A\x02\x12\x04\xef\x02\x12\x14\n(\n\x06\x04\x07\x04\ - \0\x02B\x12\x04\xf1\x02\x04\x16\x1a\x18\x20For\x20Java,\x20C#,\x20C++\ - \x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02B\x01\x12\x04\xf1\x02\x04\x10\n\ - \x0f\n\x07\x04\x07\x04\0\x02B\x02\x12\x04\xf1\x02\x13\x15\n)\n\x06\x04\ - \x07\x04\0\x02C\x12\x04\xf3\x02\x04\x18\x1a\x19\x20For\x20C#,\x20TypeScr\ - ipt\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02C\x01\x12\x04\xf3\x02\x04\x12\ - \n\x0f\n\x07\x04\x07\x04\0\x02C\x02\x12\x04\xf3\x02\x15\x17\n\x1c\n\x06\ - \x04\x07\x04\0\x02D\x12\x04\xf5\x02\x04\x18\x1a\x0c\x20For\x20C,\x20C++\ - \n\n\x0f\n\x07\x04\x07\x04\0\x02D\x01\x12\x04\xf5\x02\x04\x12\n\x0f\n\ - \x07\x04\x07\x04\0\x02D\x02\x12\x04\xf5\x02\x15\x17\n\x0e\n\x06\x04\x07\ - \x04\0\x02E\x12\x04\xf6\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02E\x01\ - \x12\x04\xf6\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02E\x02\x12\x04\xf6\ - \x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02F\x12\x04\xf7\x02\x04\x10\n\x0f\ - \n\x07\x04\x07\x04\0\x02F\x01\x12\x04\xf7\x02\x04\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02F\x02\x12\x04\xf7\x02\r\x0f\n\x1b\n\x06\x04\x07\x04\0\x02G\x12\ - \x04\xf9\x02\x04\x13\x1a\x0b\x20For\x20Swift\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02G\x01\x12\x04\xf9\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02G\x02\x12\ - \x04\xf9\x02\x10\x12\n\x1a\n\x06\x04\x07\x04\0\x02H\x12\x04\xfb\x02\x04\ - \x10\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02H\x01\x12\x04\ - \xfb\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02H\x02\x12\x04\xfb\x02\r\x0f\ - \n\x1a\n\x06\x04\x07\x04\0\x02I\x12\x04\xfd\x02\x04\x11\x1a\n\x20For\x20\ - Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02I\x01\x12\x04\xfd\x02\x04\x0b\n\x0f\ - \n\x07\x04\x07\x04\0\x02I\x02\x12\x04\xfd\x02\x0e\x10\nU\n\x06\x04\x07\ - \x04\0\x02J\x12\x04\x80\x03\x04\x17\x1aE\x20Method\x20receiver\x20for\ - \x20languages\n\x20'this'\x20in\x20JavaScript,\x20C++,\x20Java\x20etc.\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02J\x01\x12\x04\x80\x03\x04\x11\n\x0f\n\x07\ - \x04\x07\x04\0\x02J\x02\x12\x04\x80\x03\x14\x16\nO\n\x06\x04\x07\x04\0\ - \x02K\x12\x04\x82\x03\x04\x0f\x1a?\x20Analogous\x20to\x20'Protocol'\x20a\ - nd\x20'TypeClass',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\ - \x07\x04\0\x02K\x01\x12\x04\x82\x03\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02K\ - \x02\x12\x04\x82\x03\x0c\x0e\nE\n\x06\x04\x07\x04\0\x02L\x12\x04\x84\x03\ - \x04\x15\x1a5\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Rust,\ - \x20Scala\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02L\x01\x12\x04\x84\x03\ - \x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02L\x02\x12\x04\x84\x03\x12\x14\n\ - \x89\x01\n\x06\x04\x07\x04\0\x02M\x12\x04\x87\x03\x04\x0e\x1ay\x20Data\ - \x20type\x20definition\x20for\x20languages\x20like\x20OCaml\x20which\x20\ - use\x20`type`\n\x20rather\x20than\x20separate\x20keywords\x20like\x20`st\ - ruct`\x20and\x20`enum`.\n\n\x0f\n\x07\x04\x07\x04\0\x02M\x01\x12\x04\x87\ - \x03\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02M\x02\x12\x04\x87\x03\x0b\r\n\ - \x0e\n\x06\x04\x07\x04\0\x02N\x12\x04\x88\x03\x04\x13\n\x0f\n\x07\x04\ - \x07\x04\0\x02N\x01\x12\x04\x88\x03\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02N\ - \x02\x12\x04\x88\x03\x10\x12\nS\n\x06\x04\x07\x04\0\x02O\x12\x04\x8a\x03\ - \x04\x13\x1aC\x20Analogous\x20to\x20'Trait'\x20and\x20'Protocol',\x20for\ - \x20Haskell,\x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02O\x01\ - \x12\x04\x8a\x03\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02O\x02\x12\x04\x8a\ - \x03\x10\x12\nM\n\x06\x04\x07\x04\0\x02P\x12\x04\x8c\x03\x04\x19\x1a=\ - \x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Haskell,\x20Purescrip\ - t\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02P\x01\x12\x04\x8c\x03\x04\x13\n\ - \x0f\n\x07\x04\x07\x04\0\x02P\x02\x12\x04\x8c\x03\x16\x18\n\x1d\n\x06\ - \x04\x07\x04\0\x02Q\x12\x04\x8e\x03\x04\x14\x1a\r\x20For\x20Haskell\n\n\ - \x0f\n\x07\x04\x07\x04\0\x02Q\x01\x12\x04\x8e\x03\x04\x0e\n\x0f\n\x07\ - \x04\x07\x04\0\x02Q\x02\x12\x04\x8e\x03\x11\x13\n\x0e\n\x06\x04\x07\x04\ - \0\x02R\x12\x04\x8f\x03\x04\x17\n\x0f\n\x07\x04\x07\x04\0\x02R\x01\x12\ - \x04\x8f\x03\x04\x11\n\x0f\n\x07\x04\x07\x04\0\x02R\x02\x12\x04\x8f\x03\ - \x14\x16\n(\n\x06\x04\x07\x04\0\x02S\x12\x04\x91\x03\x04\x0f\x1a\x18\x20\ - For\x20C,\x20C++,\x20Capn\x20Proto\n\n\x0f\n\x07\x04\x07\x04\0\x02S\x01\ - \x12\x04\x91\x03\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02S\x02\x12\x04\x91\ - \x03\x0c\x0e\n\x0e\n\x06\x04\x07\x04\0\x02T\x12\x04\x92\x03\x04\x0f\n\ - \x0f\n\x07\x04\x07\x04\0\x02T\x01\x12\x04\x92\x03\x04\t\n\x0f\n\x07\x04\ - \x07\x04\0\x02T\x02\x12\x04\x92\x03\x0c\x0e\n[\n\x06\x04\x07\x04\0\x02U\ - \x12\x04\x93\x03\x04\x12\"K\x20Next\x20=\x2087;\n\x20Feel\x20free\x20to\ - \x20open\x20a\x20PR\x20proposing\x20new\x20language-specific\x20kinds.\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02U\x01\x12\x04\x93\x03\x04\x0c\n\x0f\n\x07\ - \x04\x07\x04\0\x02U\x02\x12\x04\x93\x03\x0f\x11\n\xf3\x03\n\x04\x04\x07\ - \x02\x04\x12\x04\xa0\x03\x02\x1a\x1a\xe4\x03\x20(optional)\x20The\x20nam\ - e\x20of\x20this\x20symbol\x20as\x20it\x20should\x20be\x20displayed\x20to\ - \x20the\x20user.\n\x20For\x20example,\x20the\x20symbol\x20\"com/example/\ - MyClass#myMethod(+1).\"\x20should\x20have\x20the\n\x20display\x20name\ - \x20\"myMethod\".\x20The\x20`symbol`\x20field\x20is\x20not\x20a\x20relia\ - ble\x20source\x20of\n\x20the\x20display\x20name\x20for\x20several\x20rea\ - sons:\n\n\x20-\x20Local\x20symbols\x20don't\x20encode\x20the\x20name.\n\ - \x20-\x20Some\x20languages\x20have\x20case-insensitive\x20names,\x20so\ - \x20the\x20symbol\x20is\x20all-lowercase.\n\x20-\x20The\x20symbol\x20may\ - \x20encode\x20names\x20with\x20special\x20characters\x20that\x20should\ - \x20not\x20be\n\x20\x20\x20displayed\x20to\x20the\x20user.\n\n\r\n\x05\ - \x04\x07\x02\x04\x05\x12\x04\xa0\x03\x02\x08\n\r\n\x05\x04\x07\x02\x04\ - \x01\x12\x04\xa0\x03\t\x15\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\xa0\x03\ - \x18\x19\n\xc4\x03\n\x04\x04\x07\x02\x05\x12\x04\xa7\x03\x02'\x1a\xb5\ - \x03\x20(optional)\x20The\x20signature\x20of\x20this\x20symbol\x20as\x20\ - it's\x20displayed\x20in\x20API\n\x20documentation\x20or\x20in\x20hover\ - \x20tooltips.\x20For\x20example,\x20a\x20Java\x20method\x20that\x20adds\ - \n\x20two\x20numbers\x20this\x20would\x20have\x20`Document.language\x20=\ - \x20\"java\"`\x20and\x20`Document.text\n\x20=\x20\"void\x20add(int\x20a,\ - \x20int\x20b)\".\x20The\x20`language`\x20and\x20`text`\x20fields\x20are\ - \x20required\n\x20while\x20other\x20fields\x20such\x20as\x20`Documentati\ - on.occurrences`\x20can\x20be\x20optionally\n\x20included\x20to\x20suppor\ - t\x20hyperlinking\x20referenced\x20symbols\x20in\x20the\x20signature.\n\ - \n\r\n\x05\x04\x07\x02\x05\x06\x12\x04\xa7\x03\x02\n\n\r\n\x05\x04\x07\ - \x02\x05\x01\x12\x04\xa7\x03\x0b\"\n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\ - \xa7\x03%&\n\xc9\x08\n\x04\x04\x07\x02\x06\x12\x04\xb9\x03\x02\x1e\x1a\ - \xba\x08\x20(optional)\x20The\x20enclosing\x20symbol\x20if\x20this\x20is\ - \x20a\x20local\x20symbol.\x20\x20For\x20non-local\n\x20symbols,\x20the\ - \x20enclosing\x20symbol\x20should\x20be\x20parsed\x20from\x20the\x20`sym\ - bol`\x20field\n\x20using\x20the\x20`Descriptor`\x20grammar.\n\n\x20The\ - \x20primary\x20use-case\x20for\x20this\x20field\x20is\x20to\x20allow\x20\ - local\x20symbol\x20to\x20be\x20displayed\n\x20in\x20a\x20symbol\x20hiera\ - rchy\x20for\x20API\x20documentation.\x20It's\x20OK\x20to\x20leave\x20thi\ - s\x20field\n\x20empty\x20for\x20local\x20variables\x20since\x20local\x20\ - variables\x20usually\x20don't\x20belong\x20in\x20API\n\x20documentation.\ - \x20However,\x20in\x20the\x20situation\x20that\x20you\x20wish\x20to\x20i\ - nclude\x20a\x20local\n\x20symbol\x20in\x20the\x20hierarchy,\x20then\x20y\ - ou\x20can\x20use\x20`enclosing_symbol`\x20to\x20locate\x20the\n\x20\"par\ - ent\"\x20or\x20\"owner\"\x20of\x20this\x20local\x20symbol.\x20For\x20exa\ - mple,\x20a\x20Java\x20indexer\x20may\n\x20choose\x20to\x20use\x20local\ - \x20symbols\x20for\x20private\x20class\x20fields\x20while\x20providing\ - \x20an\n\x20`enclosing_symbol`\x20to\x20reference\x20the\x20enclosing\ - \x20class\x20to\x20allow\x20the\x20field\x20to\n\x20be\x20part\x20of\x20\ - the\x20class\x20documentation\x20hierarchy.\x20From\x20the\x20perspectiv\ - e\x20of\x20an\n\x20author\x20of\x20an\x20indexer,\x20the\x20decision\x20\ - to\x20use\x20a\x20local\x20symbol\x20or\x20global\x20symbol\n\x20should\ - \x20exclusively\x20be\x20determined\x20whether\x20the\x20local\x20symbol\ - \x20is\x20accessible\n\x20outside\x20the\x20document,\x20not\x20by\x20th\ - e\x20capability\x20to\x20find\x20the\x20enclosing\n\x20symbol.\n\n\r\n\ - \x05\x04\x07\x02\x06\x05\x12\x04\xb9\x03\x02\x08\n\r\n\x05\x04\x07\x02\ - \x06\x01\x12\x04\xb9\x03\t\x19\n\r\n\x05\x04\x07\x02\x06\x03\x12\x04\xb9\ - \x03\x1c\x1d\n\x0c\n\x02\x04\x08\x12\x06\xbc\x03\0\xf0\x03\x01\n\x0b\n\ - \x03\x04\x08\x01\x12\x04\xbc\x03\x08\x14\n\x0c\n\x04\x04\x08\x02\0\x12\ - \x04\xbd\x03\x02\x14\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\xbd\x03\x02\x08\ - \n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xbd\x03\t\x0f\n\r\n\x05\x04\x08\x02\ - \0\x03\x12\x04\xbd\x03\x12\x13\n\xde\x08\n\x04\x04\x08\x02\x01\x12\x04\ - \xd6\x03\x02\x18\x1a\xcf\x08\x20When\x20resolving\x20\"Find\x20reference\ - s\",\x20this\x20field\x20documents\x20what\x20other\x20symbols\n\x20shou\ - ld\x20be\x20included\x20together\x20with\x20this\x20symbol.\x20For\x20ex\ - ample,\x20consider\x20the\n\x20following\x20TypeScript\x20code\x20that\ - \x20defines\x20two\x20symbols\x20`Animal#sound()`\x20and\n\x20`Dog#sound\ - ()`:\n\x20```ts\n\x20interface\x20Animal\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20^^^^^^\x20definition\x20Animal#\n\x20\x20\x20sound()\ - :\x20string\n\x20\x20\x20^^^^^\x20definition\x20Animal#sound()\n\x20}\n\ - \x20class\x20Dog\x20implements\x20Animal\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20^^^\x20definition\x20Dog#,\x20relationships\x20=\x20[{symbol:\x20\"A\ - nimal#\",\x20is_implementation:\x20true}]\n\x20\x20\x20public\x20sound()\ - :\x20string\x20{\x20return\x20\"woof\"\x20}\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20^^^^^\x20definition\x20Dog#sound(),\x20references_symbol\ - s\x20=\x20Animal#sound(),\x20relationships\x20=\x20[{symbol:\x20\"Animal\ - #sound()\",\x20is_implementation:true,\x20is_reference:\x20true}]\n\x20}\ - \n\x20const\x20animal:\x20Animal\x20=\x20new\x20Dog()\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20reference\x20Anima\ - l#\n\x20console.log(animal.sound())\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20reference\x20An\ - imal#sound()\n\x20```\n\x20Doing\x20\"Find\x20references\"\x20on\x20the\ - \x20symbol\x20`Animal#sound()`\x20should\x20return\n\x20references\x20to\ - \x20the\x20`Dog#sound()`\x20method\x20as\x20well.\x20Vice-versa,\x20doin\ - g\x20\"Find\n\x20references\"\x20on\x20the\x20`Dog#sound()`\x20method\ - \x20should\x20include\x20references\x20to\x20the\n\x20`Animal#sound()`\ - \x20method\x20as\x20well.\n\n\r\n\x05\x04\x08\x02\x01\x05\x12\x04\xd6\ - \x03\x02\x06\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xd6\x03\x07\x13\n\r\n\ - \x05\x04\x08\x02\x01\x03\x12\x04\xd6\x03\x16\x17\n\xee\x03\n\x04\x04\x08\ - \x02\x02\x12\x04\xdf\x03\x02\x1d\x1a\xdf\x03\x20Similar\x20to\x20`is_ref\ - erence`\x20but\x20for\x20\"Find\x20implementations\".\n\x20It's\x20commo\ - n\x20for\x20`is_implementation`\x20and\x20`is_reference`\x20to\x20both\ - \x20be\x20true\x20but\n\x20it's\x20not\x20always\x20the\x20case.\n\x20In\ - \x20the\x20TypeScript\x20example\x20above,\x20observe\x20that\x20`Dog#`\ - \x20has\x20an\n\x20`is_implementation`\x20relationship\x20with\x20`\"Ani\ - mal#\"`\x20but\x20not\x20`is_reference`.\n\x20This\x20is\x20because\x20\ - \"Find\x20references\"\x20on\x20the\x20\"Animal#\"\x20symbol\x20should\ - \x20not\x20return\n\x20\"Dog#\".\x20We\x20only\x20want\x20\"Dog#\"\x20to\ - \x20return\x20as\x20a\x20result\x20for\x20\"Find\n\x20implementations\"\ - \x20on\x20the\x20\"Animal#\"\x20symbol.\n\n\r\n\x05\x04\x08\x02\x02\x05\ - \x12\x04\xdf\x03\x02\x06\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\xdf\x03\ - \x07\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xdf\x03\x1b\x1c\nP\n\x04\ - \x04\x08\x02\x03\x12\x04\xe1\x03\x02\x1e\x1aB\x20Similar\x20to\x20`refer\ - ences_symbols`\x20but\x20for\x20\"Go\x20to\x20type\x20definition\".\n\n\ - \r\n\x05\x04\x08\x02\x03\x05\x12\x04\xe1\x03\x02\x06\n\r\n\x05\x04\x08\ - \x02\x03\x01\x12\x04\xe1\x03\x07\x19\n\r\n\x05\x04\x08\x02\x03\x03\x12\ - \x04\xe1\x03\x1c\x1d\n\xd8\x05\n\x04\x04\x08\x02\x04\x12\x04\xee\x03\x02\ - \x19\x1a\x86\x05\x20Allows\x20overriding\x20the\x20behavior\x20of\x20\"G\ - o\x20to\x20definition\"\x20and\x20\"Find\x20references\"\n\x20for\x20sym\ - bols\x20which\x20do\x20not\x20have\x20a\x20definition\x20of\x20their\x20\ - own\x20or\x20could\n\x20potentially\x20have\x20multiple\x20definitions.\ - \n\n\x20For\x20example,\x20in\x20a\x20language\x20with\x20single\x20inhe\ - ritance\x20and\x20no\x20field\x20overriding,\n\x20inherited\x20fields\ - \x20can\x20reuse\x20the\x20same\x20symbol\x20as\x20the\x20ancestor\x20wh\ - ich\x20declares\n\x20the\x20field.\x20In\x20such\x20a\x20situation,\x20i\ - s_definition\x20is\x20not\x20needed.\n\n\x20On\x20the\x20other\x20hand,\ - \x20in\x20languages\x20with\x20single\x20inheritance\x20and\x20some\x20f\ - orm\n\x20of\x20mixins,\x20you\x20can\x20use\x20is_definition\x20to\x20re\ - late\x20the\x20symbol\x20to\x20the\n\x20matching\x20symbol\x20in\x20ance\ - stor\x20classes,\x20and\x20is_reference\x20to\x20relate\x20the\n\x20symb\ - ol\x20to\x20the\x20matching\x20symbol\x20in\x20mixins.\n\"A\x20Update\ - \x20registerInverseRelationships\x20on\x20adding\x20a\x20new\x20field\ - \x20here.\n\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xee\x03\x02\x06\n\r\n\ - \x05\x04\x08\x02\x04\x01\x12\x04\xee\x03\x07\x14\n\r\n\x05\x04\x08\x02\ - \x04\x03\x12\x04\xee\x03\x17\x18\n\x88\x03\n\x02\x05\x03\x12\x06\xf7\x03\ - \0\x8d\x04\x01\x1a\xf9\x02\x20SymbolRole\x20declares\x20what\x20\"role\"\ - \x20a\x20symbol\x20has\x20in\x20an\x20occurrence.\x20A\x20role\x20is\n\ - \x20encoded\x20as\x20a\x20bitset\x20where\x20each\x20bit\x20represents\ - \x20a\x20different\x20role.\x20For\x20example,\n\x20to\x20determine\x20i\ - f\x20the\x20`Import`\x20role\x20is\x20set,\x20test\x20whether\x20the\x20\ - second\x20bit\x20of\x20the\n\x20enum\x20value\x20is\x20defined.\x20In\ - \x20pseudocode,\x20this\x20can\x20be\x20implemented\x20with\x20the\n\x20\ - logic:\x20`const\x20isImportRole\x20=\x20(role.value\x20&\x20SymbolRole.\ - Import.value)\x20>\x200`.\n\n\x0b\n\x03\x05\x03\x01\x12\x04\xf7\x03\x05\ - \x0f\nv\n\x04\x05\x03\x02\0\x12\x04\xfa\x03\x02\x1c\x1ah\x20This\x20case\ - \x20is\x20not\x20meant\x20to\x20be\x20used;\x20it\x20only\x20exists\x20t\ - o\x20avoid\x20an\x20error\n\x20from\x20the\x20Protobuf\x20code\x20genera\ - tor.\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\xfa\x03\x02\x17\n\r\n\x05\x05\ - \x03\x02\0\x02\x12\x04\xfa\x03\x1a\x1b\nT\n\x04\x05\x03\x02\x01\x12\x04\ - \xfc\x03\x02\x13\x1aF\x20Is\x20the\x20symbol\x20defined\x20here?\x20If\ - \x20not,\x20then\x20this\x20is\x20a\x20symbol\x20reference.\n\n\r\n\x05\ - \x05\x03\x02\x01\x01\x12\x04\xfc\x03\x02\x0c\n\r\n\x05\x05\x03\x02\x01\ - \x02\x12\x04\xfc\x03\x0f\x12\n,\n\x04\x05\x03\x02\x02\x12\x04\xfe\x03\ - \x02\x0f\x1a\x1e\x20Is\x20the\x20symbol\x20imported\x20here?\n\n\r\n\x05\ - \x05\x03\x02\x02\x01\x12\x04\xfe\x03\x02\x08\n\r\n\x05\x05\x03\x02\x02\ - \x02\x12\x04\xfe\x03\x0b\x0e\n+\n\x04\x05\x03\x02\x03\x12\x04\x80\x04\ - \x02\x14\x1a\x1d\x20Is\x20the\x20symbol\x20written\x20here?\n\n\r\n\x05\ - \x05\x03\x02\x03\x01\x12\x04\x80\x04\x02\r\n\r\n\x05\x05\x03\x02\x03\x02\ - \x12\x04\x80\x04\x10\x13\n(\n\x04\x05\x03\x02\x04\x12\x04\x82\x04\x02\ - \x13\x1a\x1a\x20Is\x20the\x20symbol\x20read\x20here?\n\n\r\n\x05\x05\x03\ - \x02\x04\x01\x12\x04\x82\x04\x02\x0c\n\r\n\x05\x05\x03\x02\x04\x02\x12\ - \x04\x82\x04\x0f\x12\n0\n\x04\x05\x03\x02\x05\x12\x04\x84\x04\x02\x13\ - \x1a\"\x20Is\x20the\x20symbol\x20in\x20generated\x20code?\n\n\r\n\x05\ - \x05\x03\x02\x05\x01\x12\x04\x84\x04\x02\x0b\n\r\n\x05\x05\x03\x02\x05\ - \x02\x12\x04\x84\x04\x0e\x12\n+\n\x04\x05\x03\x02\x06\x12\x04\x86\x04\ - \x02\x0e\x1a\x1d\x20Is\x20the\x20symbol\x20in\x20test\x20code?\n\n\r\n\ - \x05\x05\x03\x02\x06\x01\x12\x04\x86\x04\x02\x06\n\r\n\x05\x05\x03\x02\ - \x06\x02\x12\x04\x86\x04\t\r\n\xed\x01\n\x04\x05\x03\x02\x07\x12\x04\x8c\ - \x04\x02\x1b\x1a\xde\x01\x20Is\x20this\x20a\x20signature\x20for\x20a\x20\ - symbol\x20that\x20is\x20defined\x20elsewhere?\n\n\x20Applies\x20to\x20fo\ - rward\x20declarations\x20for\x20languages\x20like\x20C,\x20C++\n\x20and\ - \x20Objective-C,\x20as\x20well\x20as\x20`val`\x20declarations\x20in\x20i\ - nterface\n\x20files\x20in\x20languages\x20like\x20SML\x20and\x20OCaml.\n\ - \n\r\n\x05\x05\x03\x02\x07\x01\x12\x04\x8c\x04\x02\x13\n\r\n\x05\x05\x03\ - \x02\x07\x02\x12\x04\x8c\x04\x16\x1a\n\x0c\n\x02\x05\x04\x12\x06\x8f\x04\ - \0\xec\x04\x01\n\x0b\n\x03\x05\x04\x01\x12\x04\x8f\x04\x05\x0f\n\x0b\n\ - \x03\x05\x04\x03\x12\x04\x90\x04\x02\x1c\n\x0c\n\x04\x05\x04\x03\x02\x12\ - \x04\x90\x04\x02\x1c\n\x0c\n\x04\x05\x04\x02\0\x12\x04\x92\x04\x02\x1c\n\ - \r\n\x05\x05\x04\x02\0\x01\x12\x04\x92\x04\x02\x17\n\r\n\x05\x05\x04\x02\ - \0\x02\x12\x04\x92\x04\x1a\x1b\n;\n\x04\x05\x04\x02\x01\x12\x04\x95\x04\ - \x02\x0e\x1a-\x20Comment,\x20including\x20comment\x20markers\x20and\x20t\ - ext\n\n\r\n\x05\x05\x04\x02\x01\x01\x12\x04\x95\x04\x02\t\n\r\n\x05\x05\ - \x04\x02\x01\x02\x12\x04\x95\x04\x0c\r\n\x1b\n\x04\x05\x04\x02\x02\x12\ - \x04\x98\x04\x02\x1b\x1a\r\x20`;`\x20`.`\x20`,`\n\n\r\n\x05\x05\x04\x02\ - \x02\x01\x12\x04\x98\x04\x02\x16\n\r\n\x05\x05\x04\x02\x02\x02\x12\x04\ - \x98\x04\x19\x1a\n2\n\x04\x05\x04\x02\x03\x12\x04\x9a\x04\x02\x19\x1a$\ - \x20(),\x20{},\x20[]\x20when\x20used\x20syntactically\n\n\r\n\x05\x05\ - \x04\x02\x03\x01\x12\x04\x9a\x04\x02\x14\n\r\n\x05\x05\x04\x02\x03\x02\ - \x12\x04\x9a\x04\x17\x18\n5\n\x04\x05\x04\x02\x04\x12\x04\x9d\x04\x02\ - \x0e\x1a'\x20`if`,\x20`else`,\x20`return`,\x20`class`,\x20etc.\n\n\r\n\ - \x05\x05\x04\x02\x04\x01\x12\x04\x9d\x04\x02\t\n\r\n\x05\x05\x04\x02\x04\ - \x02\x12\x04\x9d\x04\x0c\r\n\x0c\n\x04\x05\x04\x02\x05\x12\x04\x9e\x04\ - \x02,\n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\x9e\x04\x02\x13\n\r\n\x05\ - \x05\x04\x02\x05\x02\x12\x04\x9e\x04\x16\x17\n\r\n\x05\x05\x04\x02\x05\ - \x03\x12\x04\x9e\x04\x18+\n\x0e\n\x06\x05\x04\x02\x05\x03\x01\x12\x04\ - \x9e\x04\x19*\n\x1e\n\x04\x05\x04\x02\x06\x12\x04\xa1\x04\x02\x19\x1a\ - \x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\x04\x02\x06\x01\x12\x04\xa1\ - \x04\x02\x14\n\r\n\x05\x05\x04\x02\x06\x02\x12\x04\xa1\x04\x17\x18\nX\n\ - \x04\x05\x04\x02\x07\x12\x04\xa4\x04\x02\x11\x1aJ\x20non-specific\x20cat\ - ch-all\x20for\x20any\x20identifier\x20not\x20better\x20described\x20else\ - where\n\n\r\n\x05\x05\x04\x02\x07\x01\x12\x04\xa4\x04\x02\x0c\n\r\n\x05\ - \x05\x04\x02\x07\x02\x12\x04\xa4\x04\x0f\x10\nN\n\x04\x05\x04\x02\x08\ - \x12\x04\xa6\x04\x02\x18\x1a@\x20Identifiers\x20builtin\x20to\x20the\x20\ - language:\x20`min`,\x20`print`\x20in\x20Python.\n\n\r\n\x05\x05\x04\x02\ - \x08\x01\x12\x04\xa6\x04\x02\x13\n\r\n\x05\x05\x04\x02\x08\x02\x12\x04\ - \xa6\x04\x16\x17\n[\n\x04\x05\x04\x02\t\x12\x04\xa8\x04\x02\x15\x1aM\x20\ - Identifiers\x20representing\x20`null`-like\x20values:\x20`None`\x20in\ - \x20Python,\x20`nil`\x20in\x20Go.\n\n\r\n\x05\x05\x04\x02\t\x01\x12\x04\ - \xa8\x04\x02\x10\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xa8\x04\x13\x14\n.\ - \n\x04\x05\x04\x02\n\x12\x04\xaa\x04\x02\x19\x1a\x20\x20`xyz`\x20in\x20`\ - const\x20xyz\x20=\x20\"hello\"`\n\n\r\n\x05\x05\x04\x02\n\x01\x12\x04\ - \xaa\x04\x02\x14\n\r\n\x05\x05\x04\x02\n\x02\x12\x04\xaa\x04\x17\x18\n'\ - \n\x04\x05\x04\x02\x0b\x12\x04\xac\x04\x02\x1f\x1a\x19\x20`var\x20X\x20=\ - \x20\"hello\"`\x20in\x20Go\n\n\r\n\x05\x05\x04\x02\x0b\x01\x12\x04\xac\ - \x04\x02\x19\n\r\n\x05\x05\x04\x02\x0b\x02\x12\x04\xac\x04\x1c\x1e\n3\n\ - \x04\x05\x04\x02\x0c\x12\x04\xae\x04\x02\x1b\x1a%\x20Parameter\x20defini\ - tion\x20and\x20references\n\n\r\n\x05\x05\x04\x02\x0c\x01\x12\x04\xae\ - \x04\x02\x15\n\r\n\x05\x05\x04\x02\x0c\x02\x12\x04\xae\x04\x18\x1a\nX\n\ - \x04\x05\x04\x02\r\x12\x04\xb0\x04\x02\x17\x1aJ\x20Identifiers\x20for\ - \x20variable\x20definitions\x20and\x20references\x20within\x20a\x20local\ - \x20scope\n\n\r\n\x05\x05\x04\x02\r\x01\x12\x04\xb0\x04\x02\x11\n\r\n\ - \x05\x05\x04\x02\r\x02\x12\x04\xb0\x04\x14\x16\nK\n\x04\x05\x04\x02\x0e\ - \x12\x04\xb2\x04\x02\x1a\x1a=\x20Identifiers\x20that\x20shadow\x20other\ - \x20identifiers\x20in\x20an\x20outer\x20scope\n\n\r\n\x05\x05\x04\x02\ - \x0e\x01\x12\x04\xb2\x04\x02\x14\n\r\n\x05\x05\x04\x02\x0e\x02\x12\x04\ - \xb2\x04\x17\x19\n\xcd\x01\n\x04\x05\x04\x02\x0f\x12\x04\xb7\x04\x02\x1b\ - \x1a\xbe\x01\x20Identifier\x20representing\x20a\x20unit\x20of\x20code\ - \x20abstraction\x20and/or\x20namespacing.\n\n\x20NOTE:\x20This\x20corres\ - ponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20JVM\x20languages,\n\ - \x20and\x20a\x20module\x20in\x20languages\x20like\x20Python\x20and\x20Ja\ - vaScript.\n\n\r\n\x05\x05\x04\x02\x0f\x01\x12\x04\xb7\x04\x02\x15\n\r\n\ - \x05\x05\x04\x02\x0f\x02\x12\x04\xb7\x04\x18\x1a\n\x0c\n\x04\x05\x04\x02\ - \x10\x12\x04\xb8\x04\x02,\n\r\n\x05\x05\x04\x02\x10\x01\x12\x04\xb8\x04\ - \x02\x12\n\r\n\x05\x05\x04\x02\x10\x02\x12\x04\xb8\x04\x15\x17\n\r\n\x05\ - \x05\x04\x02\x10\x03\x12\x04\xb8\x04\x18+\n\x0e\n\x06\x05\x04\x02\x10\ - \x03\x01\x12\x04\xb8\x04\x19*\n4\n\x04\x05\x04\x02\x11\x12\x04\xbb\x04\ - \x02\x1a\x1a&\x20Function\x20references,\x20including\x20calls\n\n\r\n\ - \x05\x05\x04\x02\x11\x01\x12\x04\xbb\x04\x02\x14\n\r\n\x05\x05\x04\x02\ - \x11\x02\x12\x04\xbb\x04\x17\x19\n(\n\x04\x05\x04\x02\x12\x12\x04\xbd\ - \x04\x02$\x1a\x1a\x20Function\x20definition\x20only\n\n\r\n\x05\x05\x04\ - \x02\x12\x01\x12\x04\xbd\x04\x02\x1e\n\r\n\x05\x05\x04\x02\x12\x02\x12\ - \x04\xbd\x04!#\n7\n\x04\x05\x04\x02\x13\x12\x04\xc0\x04\x02\x17\x1a)\x20\ - Macro\x20references,\x20including\x20invocations\n\n\r\n\x05\x05\x04\x02\ - \x13\x01\x12\x04\xc0\x04\x02\x11\n\r\n\x05\x05\x04\x02\x13\x02\x12\x04\ - \xc0\x04\x14\x16\n%\n\x04\x05\x04\x02\x14\x12\x04\xc2\x04\x02!\x1a\x17\ - \x20Macro\x20definition\x20only\n\n\r\n\x05\x05\x04\x02\x14\x01\x12\x04\ - \xc2\x04\x02\x1b\n\r\n\x05\x05\x04\x02\x14\x02\x12\x04\xc2\x04\x1e\x20\n\ - !\n\x04\x05\x04\x02\x15\x12\x04\xc5\x04\x02\x16\x1a\x13\x20non-builtin\ - \x20types\n\n\r\n\x05\x05\x04\x02\x15\x01\x12\x04\xc5\x04\x02\x10\n\r\n\ - \x05\x05\x04\x02\x15\x02\x12\x04\xc5\x04\x13\x15\nK\n\x04\x05\x04\x02\ - \x16\x12\x04\xc7\x04\x02\x1d\x1a=\x20builtin\x20types\x20only,\x20such\ - \x20as\x20`str`\x20for\x20Python\x20or\x20`int`\x20in\x20Go\n\n\r\n\x05\ - \x05\x04\x02\x16\x01\x12\x04\xc7\x04\x02\x17\n\r\n\x05\x05\x04\x02\x16\ - \x02\x12\x04\xc7\x04\x1a\x1c\n7\n\x04\x05\x04\x02\x17\x12\x04\xca\x04\ - \x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\x20__attribute__\n\n\r\ - \n\x05\x05\x04\x02\x17\x01\x12\x04\xca\x04\x02\x15\n\r\n\x05\x05\x04\x02\ - \x17\x02\x12\x04\xca\x04\x18\x1a\n\x14\n\x04\x05\x04\x02\x18\x12\x04\xcd\ - \x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\x05\x04\x02\x18\x01\x12\x04\ - \xcd\x04\x02\r\n\r\n\x05\x05\x04\x02\x18\x02\x12\x04\xcd\x04\x10\x12\n\ - \x18\n\x04\x05\x04\x02\x19\x12\x04\xcf\x04\x02\x15\x1a\n\x20`*`,\x20`+`\ - \n\n\r\n\x05\x05\x04\x02\x19\x01\x12\x04\xcf\x04\x02\x0f\n\r\n\x05\x05\ - \x04\x02\x19\x02\x12\x04\xcf\x04\x12\x14\n\x13\n\x04\x05\x04\x02\x1a\x12\ - \x04\xd1\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\x05\x05\x04\x02\x1a\x01\x12\ - \x04\xd1\x04\x02\x0f\n\r\n\x05\x05\x04\x02\x1a\x02\x12\x04\xd1\x04\x12\ - \x14\n\"\n\x04\x05\x04\x02\x1b\x12\x04\xd3\x04\x02\x16\x1a\x14\x20`(`,\ - \x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x04\x02\x1b\x01\x12\x04\xd3\x04\ - \x02\x10\n\r\n\x05\x05\x04\x02\x1b\x02\x12\x04\xd3\x04\x13\x15\n\x18\n\ - \x04\x05\x04\x02\x1c\x12\x04\xd5\x04\x02\x11\x1a\n\x20`|`,\x20`-`\n\n\r\ - \n\x05\x05\x04\x02\x1c\x01\x12\x04\xd5\x04\x02\x0b\n\r\n\x05\x05\x04\x02\ - \x1c\x02\x12\x04\xd5\x04\x0e\x10\n0\n\x04\x05\x04\x02\x1d\x12\x04\xd8\ - \x04\x02\x15\x1a\"\x20Literal\x20strings:\x20\"Hello,\x20world!\"\n\n\r\ - \n\x05\x05\x04\x02\x1d\x01\x12\x04\xd8\x04\x02\x0f\n\r\n\x05\x05\x04\x02\ - \x1d\x02\x12\x04\xd8\x04\x12\x14\n-\n\x04\x05\x04\x02\x1e\x12\x04\xda\ - \x04\x02\x1b\x1a\x1f\x20non-regex\x20escapes:\x20\"\\t\",\x20\"\\n\"\n\n\ - \r\n\x05\x05\x04\x02\x1e\x01\x12\x04\xda\x04\x02\x15\n\r\n\x05\x05\x04\ - \x02\x1e\x02\x12\x04\xda\x04\x18\x1a\n_\n\x04\x05\x04\x02\x1f\x12\x04\ - \xdc\x04\x02\x1c\x1aQ\x20datetimes\x20within\x20strings,\x20special\x20w\ + \x05\x04\x07\x02\x01\x03\x12\x04\xf2\x01\"#\n\x96\x01\n\x04\x04\x07\x02\ + \x02\x12\x04\xf5\x01\x02>\x1a\x87\x01\x20Deprecated:\x20Use\x20the\x20ty\ + ped\x20relationship\x20fields\x20instead\x20(implementations,\n\x20refer\ + ences,\x20type_definitions,\x20definition,\x20enclosing_symbol).\n\n\r\n\ + \x05\x04\x07\x02\x02\x04\x12\x04\xf5\x01\x02\n\n\r\n\x05\x04\x07\x02\x02\ + \x06\x12\x04\xf5\x01\x0b\x17\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xf5\ + \x01\x18%\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xf5\x01()\n\r\n\x05\x04\ + \x07\x02\x02\x08\x12\x04\xf5\x01*=\n\x0e\n\x06\x04\x07\x02\x02\x08\x03\ + \x12\x04\xf5\x01+<\n\xa4\x01\n\x04\x04\x07\x02\x03\x12\x04\xf9\x01\x02\ + \x10\x1a\x95\x01\x20The\x20kind\x20of\x20this\x20symbol.\x20Use\x20this\ + \x20field\x20instead\x20of\n\x20`SymbolDescriptor.Suffix`\x20to\x20deter\ + mine\x20whether\x20something\x20is,\x20for\x20example,\x20a\n\x20class\ + \x20or\x20a\x20method.\n\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\xf9\x01\ + \x02\x06\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xf9\x01\x07\x0b\n\r\n\x05\ + \x04\x07\x02\x03\x03\x12\x04\xf9\x01\x0e\x0f\n\xf5\x05\n\x04\x04\x07\x04\ + \0\x12\x06\x88\x02\x02\x97\x03\x03\x1a\xe4\x05\x20(optional)\x20Kind\x20\ + represents\x20the\x20fine-grained\x20category\x20of\x20a\x20symbol,\x20s\ + uitable\x20for\x20presenting\n\x20information\x20about\x20the\x20symbol'\ + s\x20meaning\x20in\x20the\x20language.\n\n\x20For\x20example:\n\x20-\x20\ + A\x20Java\x20method\x20would\x20have\x20the\x20kind\x20`Method`\x20while\ + \x20a\x20Go\x20function\x20would\n\x20\x20\x20have\x20the\x20kind\x20`Fu\ + nction`,\x20even\x20if\x20the\x20symbols\x20for\x20these\x20use\x20the\ + \x20same\n\x20\x20\x20syntax\x20for\x20the\x20descriptor\x20`SymbolDescr\ + iptor.Suffix.Method`.\n\x20-\x20A\x20Go\x20struct\x20has\x20the\x20symbo\ + l\x20kind\x20`Struct`\x20while\x20a\x20Java\x20class\x20has\n\x20\x20\ + \x20the\x20symbol\x20kind\x20`Class`\x20even\x20if\x20they\x20both\x20ha\ + ve\x20the\x20same\x20descriptor:\n\x20\x20\x20`SymbolDescriptor.Suffix.T\ + ype`.\n\n\x20Since\x20Kind\x20is\x20more\x20fine-grained\x20than\x20Suff\ + ix:\n\x20-\x20If\x20two\x20symbols\x20have\x20the\x20same\x20Kind,\x20th\ + ey\x20should\x20share\x20the\x20same\x20Suffix.\n\x20-\x20If\x20two\x20s\ + ymbols\x20have\x20different\x20Suffixes,\x20they\x20should\x20have\x20di\ + fferent\x20Kinds.\n\n\r\n\x05\x04\x07\x04\0\x01\x12\x04\x88\x02\x07\x0b\ + \n\x0e\n\x06\x04\x07\x04\0\x02\0\x12\x04\x89\x02\x04\x18\n\x0f\n\x07\x04\ + \x07\x04\0\x02\0\x01\x12\x04\x89\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\ + \x02\0\x02\x12\x04\x89\x02\x16\x17\nR\n\x06\x04\x07\x04\0\x02\x01\x12\ + \x04\x8b\x02\x04\x18\x1aB\x20A\x20method\x20which\x20may\x20or\x20may\ + \x20not\x20have\x20a\x20body.\x20For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x01\x01\x12\x04\x8b\x02\x04\x12\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x01\x02\x12\x04\x8b\x02\x15\x17\n*\n\x06\x04\x07\x04\0\ + \x02\x02\x12\x04\x8d\x02\x04\x12\x1a\x1a\x20For\x20Ruby's\x20attr_access\ + or\n\n\x0f\n\x07\x04\x07\x04\0\x02\x02\x01\x12\x04\x8d\x02\x04\x0c\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x02\x02\x12\x04\x8d\x02\x0f\x11\n\x0e\n\x06\x04\ + \x07\x04\0\x02\x03\x12\x04\x8e\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\ + \x03\x01\x12\x04\x8e\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x02\x12\ + \x04\x8e\x02\x0c\r\n\x1b\n\x06\x04\x07\x04\0\x02\x04\x12\x04\x90\x02\x04\ + \x12\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x01\x12\ + \x04\x90\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x02\x12\x04\x90\x02\ + \x10\x11\n\x0e\n\x06\x04\x07\x04\0\x02\x05\x12\x04\x91\x02\x04\x17\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x05\x01\x12\x04\x91\x02\x04\x12\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x05\x02\x12\x04\x91\x02\x15\x16\n\x19\n\x06\x04\x07\x04\0\ + \x02\x06\x12\x04\x93\x02\x04\x12\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x06\x01\x12\x04\x93\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x06\x02\x12\x04\x93\x02\x10\x11\n\x1a\n\x06\x04\x07\x04\0\x02\x07\ + \x12\x04\x95\x02\x04\x0e\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\ + \0\x02\x07\x01\x12\x04\x95\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x07\ + \x02\x12\x04\x95\x02\x0c\r\n\x0e\n\x06\x04\x07\x04\0\x02\x08\x12\x04\x96\ + \x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02\x08\x01\x12\x04\x96\x02\x04\ + \x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x08\x02\x12\x04\x96\x02\x0e\x0f\n\x0e\ + \n\x06\x04\x07\x04\0\x02\t\x12\x04\x97\x02\x04\x0e\n\x0f\n\x07\x04\x07\ + \x04\0\x02\t\x01\x12\x04\x97\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\t\ + \x02\x12\x04\x97\x02\x0c\r\n\x19\n\x06\x04\x07\x04\0\x02\n\x12\x04\x99\ + \x02\x04\x11\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02\n\x01\ + \x12\x04\x99\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\n\x02\x12\x04\x99\ + \x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x0b\x12\x04\x9a\x02\x04\x11\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x0b\x01\x12\x04\x9a\x02\x04\x0c\n\x0f\n\x07\ + \x04\x07\x04\0\x02\x0b\x02\x12\x04\x9a\x02\x0f\x10\n\x0e\n\x06\x04\x07\ + \x04\0\x02\x0c\x12\x04\x9b\x02\x04\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x0c\ + \x01\x12\x04\x9b\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x0c\x02\x12\ + \x04\x9b\x02\x12\x13\n\x1e\n\x06\x04\x07\x04\0\x02\r\x12\x04\x9d\x02\x04\ + \x12\x1a\x0e\x20For\x20Solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02\r\x01\ + \x12\x04\x9d\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\r\x02\x12\x04\x9d\ + \x02\x0f\x11\n\x1d\n\x06\x04\x07\x04\0\x02\x0e\x12\x04\x9f\x02\x04\x14\ + \x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x02\x0e\x01\x12\x04\ + \x9f\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x0e\x02\x12\x04\x9f\x02\ + \x11\x13\n\x1f\n\x06\x04\x07\x04\0\x02\x0f\x12\x04\xa1\x02\x04\x12\x1a\ + \x0f\x20For\x20C#\x20and\x20F#\n\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x01\ + \x12\x04\xa1\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x02\x12\x04\ + \xa1\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02\x10\x12\x04\xa2\x02\x04\ + \x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x10\x01\x12\x04\xa2\x02\x04\x08\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x10\x02\x12\x04\xa2\x02\x0b\r\n\x0e\n\x06\x04\ + \x07\x04\0\x02\x11\x12\x04\xa3\x02\x04\x14\n\x0f\n\x07\x04\x07\x04\0\x02\ + \x11\x01\x12\x04\xa3\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x02\ + \x12\x04\xa3\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02\x12\x12\x04\xa4\ + \x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x12\x01\x12\x04\xa4\x02\x04\t\ + \n\x0f\n\x07\x04\x07\x04\0\x02\x12\x02\x12\x04\xa4\x02\x0c\x0e\n\x0e\n\ + \x06\x04\x07\x04\0\x02\x13\x12\x04\xa5\x02\x04\x0f\n\x0f\n\x07\x04\x07\ + \x04\0\x02\x13\x01\x12\x04\xa5\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\ + \x13\x02\x12\x04\xa5\x02\x0c\x0e\n\x1a\n\x06\x04\x07\x04\0\x02\x14\x12\ + \x04\xa7\x02\x04\x13\x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x14\x01\x12\x04\xa7\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x02\ + \x12\x04\xa7\x02\x10\x12\n\x1b\n\x06\x04\x07\x04\0\x02\x15\x12\x04\xa9\ + \x02\x04\x0e\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x02\x15\ + \x01\x12\x04\xa9\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02\x15\x02\x12\ + \x04\xa9\x02\x0b\r\n\x0e\n\x06\x04\x07\x04\0\x02\x16\x12\x04\xaa\x02\x04\ + \x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x16\x01\x12\x04\xaa\x02\x04\t\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x16\x02\x12\x04\xaa\x02\x0c\x0e\n\x0e\n\x06\x04\ + \x07\x04\0\x02\x17\x12\x04\xab\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\ + \x17\x01\x12\x04\xab\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02\x17\x02\ + \x12\x04\xab\x02\x0b\r\n\x0e\n\x06\x04\x07\x04\0\x02\x18\x12\x04\xac\x02\ + \x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x18\x01\x12\x04\xac\x02\x04\x0c\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x18\x02\x12\x04\xac\x02\x0f\x11\n;\n\x06\ + \x04\x07\x04\0\x02\x19\x12\x04\xae\x02\x04\x10\x1a+\x20For\x20'get'\x20i\ + n\x20Swift,\x20'attr_reader'\x20in\x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x19\x01\x12\x04\xae\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02\x19\x02\ + \x12\x04\xae\x02\r\x0f\n\x1a\n\x06\x04\x07\x04\0\x02\x1a\x12\x04\xb0\x02\ + \x04\x11\x1a\n\x20For\x20Raku\n\n\x0f\n\x07\x04\x07\x04\0\x02\x1a\x01\ + \x12\x04\xb0\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x1a\x02\x12\x04\ + \xb0\x02\x0e\x10\n)\n\x06\x04\x07\x04\0\x02\x1b\x12\x04\xb2\x02\x04\x12\ + \x1a\x19\x20For\x20Purescript\x20and\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x1b\x01\x12\x04\xb2\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x1b\ + \x02\x12\x04\xb2\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02\x1c\x12\x04\ + \xb3\x02\x04\x13\n\x0f\n\x07\x04\x07\x04\0\x02\x1c\x01\x12\x04\xb3\x02\ + \x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x1c\x02\x12\x04\xb3\x02\x10\x12\n\ + \x0e\n\x06\x04\x07\x04\0\x02\x1d\x12\x04\xb4\x02\x04\r\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x1d\x01\x12\x04\xb4\x02\x04\x07\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x1d\x02\x12\x04\xb4\x02\n\x0c\n\x1c\n\x06\x04\x07\x04\0\x02\x1e\x12\ + \x04\xb6\x02\x04\x0e\x1a\x0c\x20For\x20Racket\n\n\x0f\n\x07\x04\x07\x04\ + \0\x02\x1e\x01\x12\x04\xb6\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02\x1e\ + \x02\x12\x04\xb6\x02\x0b\r\n\x1a\n\x06\x04\x07\x04\0\x02\x1f\x12\x04\xb8\ + \x02\x04\x0f\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\ + \x01\x12\x04\xb8\x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\x02\x12\x04\ + \xb8\x02\x0c\x0e\n\x1e\n\x06\x04\x07\x04\0\x02\x20\x12\x04\xba\x02\x04\ + \x11\x1a\x0e\x20For\x20solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02\x20\x01\ + \x12\x04\xba\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x20\x02\x12\x04\ + \xba\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02!\x12\x04\xbb\x02\x04\x0f\ + \n\x0f\n\x07\x04\x07\x04\0\x02!\x01\x12\x04\xbb\x02\x04\t\n\x0f\n\x07\ + \x04\x07\x04\0\x02!\x02\x12\x04\xbb\x02\x0c\x0e\n\x0e\n\x06\x04\x07\x04\ + \0\x02\"\x12\x04\xbc\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02\"\x01\x12\ + \x04\xbc\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02\"\x02\x12\x04\xbc\x02\r\ + \x0f\n\x1a\n\x06\x04\x07\x04\0\x02#\x12\x04\xbe\x02\x04\x15\x1a\n\x20For\ + \x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x02#\x01\x12\x04\xbe\x02\x04\x0f\n\ + \x0f\n\x07\x04\x07\x04\0\x02#\x02\x12\x04\xbe\x02\x12\x14\n\x94\x01\n\ + \x06\x04\x07\x04\0\x02$\x12\x04\xc1\x02\x04\x18\x1a\x83\x01\x20Analogous\ + \x20to\x20'ThisParameter'\x20and\x20'SelfParameter',\x20but\x20for\x20la\ + nguages\n\x20like\x20Go\x20where\x20the\x20receiver\x20doesn't\x20have\ + \x20a\x20conventional\x20name.\n\n\x0f\n\x07\x04\x07\x04\0\x02$\x01\x12\ + \x04\xc1\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02$\x02\x12\x04\xc1\x02\ + \x15\x17\n8\n\x06\x04\x07\x04\0\x02%\x12\x04\xc3\x02\x04\x1d\x1a(\x20Ana\ + logous\x20to\x20'AbstractMethod',\x20for\x20Go.\n\n\x0f\n\x07\x04\x07\ + \x04\0\x02%\x01\x12\x04\xc3\x02\x04\x17\n\x0f\n\x07\x04\x07\x04\0\x02%\ + \x02\x12\x04\xc3\x02\x1a\x1c\n\x1e\n\x06\x04\x07\x04\0\x02&\x12\x04\xc5\ + \x02\x04\x11\x1a\x0e\x20For\x20Protobuf\n\n\x0f\n\x07\x04\x07\x04\0\x02&\ + \x01\x12\x04\xc5\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02&\x02\x12\x04\ + \xc5\x02\x0e\x10\n\x1a\n\x06\x04\x07\x04\0\x02'\x12\x04\xc7\x02\x04\x0f\ + \x1a\n\x20For\x20Dart\n\n\x0f\n\x07\x04\x07\x04\0\x02'\x01\x12\x04\xc7\ + \x02\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02'\x02\x12\x04\xc7\x02\x0c\x0e\n\ + \x1e\n\x06\x04\x07\x04\0\x02(\x12\x04\xc9\x02\x04\x12\x1a\x0e\x20For\x20\ + Solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02(\x01\x12\x04\xc9\x02\x04\x0c\n\ + \x0f\n\x07\x04\x07\x04\0\x02(\x02\x12\x04\xc9\x02\x0f\x11\n\x0e\n\x06\ + \x04\x07\x04\0\x02)\x12\x04\xca\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\ + \x02)\x01\x12\x04\xca\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02)\x02\x12\ + \x04\xca\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02*\x12\x04\xcb\x02\x04\ + \x13\n\x0f\n\x07\x04\x07\x04\0\x02*\x01\x12\x04\xcb\x02\x04\r\n\x0f\n\ + \x07\x04\x07\x04\0\x02*\x02\x12\x04\xcb\x02\x10\x12\n\x0e\n\x06\x04\x07\ + \x04\0\x02+\x12\x04\xcc\x02\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\x02+\x01\ + \x12\x04\xcc\x02\x04\x08\n\x0f\n\x07\x04\x07\x04\0\x02+\x02\x12\x04\xcc\ + \x02\x0b\r\n\x0e\n\x06\x04\x07\x04\0\x02,\x12\x04\xcd\x02\x04\x10\n\x0f\ + \n\x07\x04\x07\x04\0\x02,\x01\x12\x04\xcd\x02\x04\n\n\x0f\n\x07\x04\x07\ + \x04\0\x02,\x02\x12\x04\xcd\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02-\x12\ + \x04\xce\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02-\x01\x12\x04\xce\x02\ + \x04\n\n\x0f\n\x07\x04\x07\x04\0\x02-\x02\x12\x04\xce\x02\r\x0f\n\x0e\n\ + \x06\x04\x07\x04\0\x02.\x12\x04\xcf\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\ + \0\x02.\x01\x12\x04\xcf\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02.\x02\ + \x12\x04\xcf\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02/\x12\x04\xd0\x02\ + \x04\x11\n\x0f\n\x07\x04\x07\x04\0\x02/\x01\x12\x04\xd0\x02\x04\x0b\n\ + \x0f\n\x07\x04\x07\x04\0\x02/\x02\x12\x04\xd0\x02\x0e\x10\n\x0e\n\x06\ + \x04\x07\x04\0\x020\x12\x04\xd1\x02\x04\x17\n\x0f\n\x07\x04\x07\x04\0\ + \x020\x01\x12\x04\xd1\x02\x04\x11\n\x0f\n\x07\x04\x07\x04\0\x020\x02\x12\ + \x04\xd1\x02\x14\x16\n\x0e\n\x06\x04\x07\x04\0\x021\x12\x04\xd2\x02\x04\ + \x13\n\x0f\n\x07\x04\x07\x04\0\x021\x01\x12\x04\xd2\x02\x04\r\n\x0f\n\ + \x07\x04\x07\x04\0\x021\x02\x12\x04\xd2\x02\x10\x12\n\x0e\n\x06\x04\x07\ + \x04\0\x022\x12\x04\xd3\x02\x04\x18\n\x0f\n\x07\x04\x07\x04\0\x022\x01\ + \x12\x04\xd3\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x022\x02\x12\x04\xd3\ + \x02\x15\x17\n/\n\x06\x04\x07\x04\0\x023\x12\x04\xd5\x02\x04\x11\x1a\x1f\ + \x20For\x20Haskell's\x20PatternSynonyms\n\n\x0f\n\x07\x04\x07\x04\0\x023\ + \x01\x12\x04\xd5\x02\x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x023\x02\x12\x04\ + \xd5\x02\x0e\x10\n\x1b\n\x06\x04\x07\x04\0\x024\x12\x04\xd7\x02\x04\x13\ + \x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x024\x01\x12\x04\ + \xd7\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x024\x02\x12\x04\xd7\x02\x10\ + \x12\n\x0e\n\x06\x04\x07\x04\0\x025\x12\x04\xd8\x02\x04\x12\n\x0f\n\x07\ + \x04\x07\x04\0\x025\x01\x12\x04\xd8\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\ + \0\x025\x02\x12\x04\xd8\x02\x0f\x11\nQ\n\x06\x04\x07\x04\0\x026\x12\x04\ + \xda\x02\x04\x12\x1aA\x20Analogous\x20to\x20'Trait'\x20and\x20'TypeClass\ + ',\x20for\x20Swift\x20and\x20Objective-C\n\n\x0f\n\x07\x04\x07\x04\0\x02\ + 6\x01\x12\x04\xda\x02\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x026\x02\x12\x04\ + \xda\x02\x0f\x11\nK\n\x06\x04\x07\x04\0\x027\x12\x04\xdc\x02\x04\x18\x1a\ + ;\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Swift\x20and\x20Obje\ + ctive-C.\n\n\x0f\n\x07\x04\x07\x04\0\x027\x01\x12\x04\xdc\x02\x04\x12\n\ + \x0f\n\x07\x04\x07\x04\0\x027\x02\x12\x04\xdc\x02\x15\x17\n9\n\x06\x04\ + \x07\x04\0\x028\x12\x04\xde\x02\x04\x1b\x1a)\x20Analogous\x20to\x20'Abst\ + ractMethod',\x20for\x20C++.\n\n\x0f\n\x07\x04\x07\x04\0\x028\x01\x12\x04\ + \xde\x02\x04\x15\n\x0f\n\x07\x04\x07\x04\0\x028\x02\x12\x04\xde\x02\x18\ + \x1a\n\x1d\n\x06\x04\x07\x04\0\x029\x12\x04\xe0\x02\x04\x15\x1a\r\x20For\ + \x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x029\x01\x12\x04\xe0\x02\x04\x0f\ + \n\x0f\n\x07\x04\x07\x04\0\x029\x02\x12\x04\xe0\x02\x12\x14\n4\n\x06\x04\ + \x07\x04\0\x02:\x12\x04\xe2\x02\x04\x17\x1a$\x20'self'\x20in\x20Python,\ + \x20Rust,\x20Swift\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02:\x01\x12\x04\ + \xe2\x02\x04\x11\n\x0f\n\x07\x04\x07\x04\0\x02:\x02\x12\x04\xe2\x02\x14\ + \x16\n;\n\x06\x04\x07\x04\0\x02;\x12\x04\xe4\x02\x04\x10\x1a+\x20For\x20\ + 'set'\x20in\x20Swift,\x20'attr_writer'\x20in\x20Ruby\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02;\x01\x12\x04\xe4\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02;\ + \x02\x12\x04\xe4\x02\r\x0f\n3\n\x06\x04\x07\x04\0\x02<\x12\x04\xe6\x02\ + \x04\x13\x1a#\x20For\x20Alloy,\x20analogous\x20to\x20'Struct'.\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02<\x01\x12\x04\xe6\x02\x04\r\n\x0f\n\x07\x04\x07\ + \x04\0\x02<\x02\x12\x04\xe6\x02\x10\x12\n\x1a\n\x06\x04\x07\x04\0\x02=\ + \x12\x04\xe8\x02\x04\x18\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\x07\x04\ + \0\x02=\x01\x12\x04\xe8\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\x02=\x02\ + \x12\x04\xe8\x02\x15\x17\n8\n\x06\x04\x07\x04\0\x02>\x12\x04\xea\x02\x04\ + \x19\x1a(\x20Analogous\x20to\x20'StaticMethod',\x20for\x20Ruby.\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02>\x01\x12\x04\xea\x02\x04\x13\n\x0f\n\x07\x04\ + \x07\x04\0\x02>\x02\x12\x04\xea\x02\x16\x18\n5\n\x06\x04\x07\x04\0\x02?\ + \x12\x04\xec\x02\x04\x1a\x1a%\x20Analogous\x20to\x20'StaticField',\x20fo\ + r\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02?\x01\x12\x04\xec\x02\x04\x14\n\ + \x0f\n\x07\x04\x07\x04\0\x02?\x02\x12\x04\xec\x02\x17\x19\n\x18\n\x06\ + \x04\x07\x04\0\x02@\x12\x04\xee\x02\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02@\x01\x12\x04\xee\x02\x04\x0f\n\x0f\n\x07\x04\ + \x07\x04\0\x02@\x02\x12\x04\xee\x02\x12\x14\n\x18\n\x06\x04\x07\x04\0\ + \x02A\x12\x04\xf0\x02\x04\x15\x1a\x08\x20For\x20C#\n\n\x0f\n\x07\x04\x07\ + \x04\0\x02A\x01\x12\x04\xf0\x02\x04\x0f\n\x0f\n\x07\x04\x07\x04\0\x02A\ + \x02\x12\x04\xf0\x02\x12\x14\n(\n\x06\x04\x07\x04\0\x02B\x12\x04\xf2\x02\ + \x04\x16\x1a\x18\x20For\x20Java,\x20C#,\x20C++\x20etc.\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02B\x01\x12\x04\xf2\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\ + \x02B\x02\x12\x04\xf2\x02\x13\x15\n)\n\x06\x04\x07\x04\0\x02C\x12\x04\ + \xf4\x02\x04\x18\x1a\x19\x20For\x20C#,\x20TypeScript\x20etc.\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02C\x01\x12\x04\xf4\x02\x04\x12\n\x0f\n\x07\x04\x07\ + \x04\0\x02C\x02\x12\x04\xf4\x02\x15\x17\n\x1c\n\x06\x04\x07\x04\0\x02D\ + \x12\x04\xf6\x02\x04\x18\x1a\x0c\x20For\x20C,\x20C++\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02D\x01\x12\x04\xf6\x02\x04\x12\n\x0f\n\x07\x04\x07\x04\0\ + \x02D\x02\x12\x04\xf6\x02\x15\x17\n\x0e\n\x06\x04\x07\x04\0\x02E\x12\x04\ + \xf7\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\x02E\x01\x12\x04\xf7\x02\x04\ + \n\n\x0f\n\x07\x04\x07\x04\0\x02E\x02\x12\x04\xf7\x02\r\x0f\n\x0e\n\x06\ + \x04\x07\x04\0\x02F\x12\x04\xf8\x02\x04\x10\n\x0f\n\x07\x04\x07\x04\0\ + \x02F\x01\x12\x04\xf8\x02\x04\n\n\x0f\n\x07\x04\x07\x04\0\x02F\x02\x12\ + \x04\xf8\x02\r\x0f\n\x1b\n\x06\x04\x07\x04\0\x02G\x12\x04\xfa\x02\x04\ + \x13\x1a\x0b\x20For\x20Swift\n\n\x0f\n\x07\x04\x07\x04\0\x02G\x01\x12\ + \x04\xfa\x02\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02G\x02\x12\x04\xfa\x02\ + \x10\x12\n\x1a\n\x06\x04\x07\x04\0\x02H\x12\x04\xfc\x02\x04\x10\x1a\n\ + \x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02H\x01\x12\x04\xfc\x02\x04\ + \n\n\x0f\n\x07\x04\x07\x04\0\x02H\x02\x12\x04\xfc\x02\r\x0f\n\x1a\n\x06\ + \x04\x07\x04\0\x02I\x12\x04\xfe\x02\x04\x11\x1a\n\x20For\x20Lean\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02I\x01\x12\x04\xfe\x02\x04\x0b\n\x0f\n\x07\x04\ + \x07\x04\0\x02I\x02\x12\x04\xfe\x02\x0e\x10\nU\n\x06\x04\x07\x04\0\x02J\ + \x12\x04\x81\x03\x04\x17\x1aE\x20Method\x20receiver\x20for\x20languages\ + \n\x20'this'\x20in\x20JavaScript,\x20C++,\x20Java\x20etc.\n\n\x0f\n\x07\ + \x04\x07\x04\0\x02J\x01\x12\x04\x81\x03\x04\x11\n\x0f\n\x07\x04\x07\x04\ + \0\x02J\x02\x12\x04\x81\x03\x14\x16\nO\n\x06\x04\x07\x04\0\x02K\x12\x04\ + \x83\x03\x04\x0f\x1a?\x20Analogous\x20to\x20'Protocol'\x20and\x20'TypeCl\ + ass',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02K\ + \x01\x12\x04\x83\x03\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02K\x02\x12\x04\ + \x83\x03\x0c\x0e\nE\n\x06\x04\x07\x04\0\x02L\x12\x04\x85\x03\x04\x15\x1a\ + 5\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Rust,\x20Scala\x20et\ + c.\n\n\x0f\n\x07\x04\x07\x04\0\x02L\x01\x12\x04\x85\x03\x04\x0f\n\x0f\n\ + \x07\x04\x07\x04\0\x02L\x02\x12\x04\x85\x03\x12\x14\n\x89\x01\n\x06\x04\ + \x07\x04\0\x02M\x12\x04\x88\x03\x04\x0e\x1ay\x20Data\x20type\x20definiti\ + on\x20for\x20languages\x20like\x20OCaml\x20which\x20use\x20`type`\n\x20r\ + ather\x20than\x20separate\x20keywords\x20like\x20`struct`\x20and\x20`enu\ + m`.\n\n\x0f\n\x07\x04\x07\x04\0\x02M\x01\x12\x04\x88\x03\x04\x08\n\x0f\n\ + \x07\x04\x07\x04\0\x02M\x02\x12\x04\x88\x03\x0b\r\n\x0e\n\x06\x04\x07\ + \x04\0\x02N\x12\x04\x89\x03\x04\x13\n\x0f\n\x07\x04\x07\x04\0\x02N\x01\ + \x12\x04\x89\x03\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02N\x02\x12\x04\x89\ + \x03\x10\x12\nS\n\x06\x04\x07\x04\0\x02O\x12\x04\x8b\x03\x04\x13\x1aC\ + \x20Analogous\x20to\x20'Trait'\x20and\x20'Protocol',\x20for\x20Haskell,\ + \x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02O\x01\x12\x04\x8b\ + \x03\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02O\x02\x12\x04\x8b\x03\x10\x12\nM\ + \n\x06\x04\x07\x04\0\x02P\x12\x04\x8d\x03\x04\x19\x1a=\x20Analogous\x20t\ + o\x20'AbstractMethod',\x20for\x20Haskell,\x20Purescript\x20etc.\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02P\x01\x12\x04\x8d\x03\x04\x13\n\x0f\n\x07\x04\ + \x07\x04\0\x02P\x02\x12\x04\x8d\x03\x16\x18\n\x1d\n\x06\x04\x07\x04\0\ + \x02Q\x12\x04\x8f\x03\x04\x14\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02Q\x01\x12\x04\x8f\x03\x04\x0e\n\x0f\n\x07\x04\x07\x04\0\ + \x02Q\x02\x12\x04\x8f\x03\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02R\x12\x04\ + \x90\x03\x04\x17\n\x0f\n\x07\x04\x07\x04\0\x02R\x01\x12\x04\x90\x03\x04\ + \x11\n\x0f\n\x07\x04\x07\x04\0\x02R\x02\x12\x04\x90\x03\x14\x16\n(\n\x06\ + \x04\x07\x04\0\x02S\x12\x04\x92\x03\x04\x0f\x1a\x18\x20For\x20C,\x20C++,\ + \x20Capn\x20Proto\n\n\x0f\n\x07\x04\x07\x04\0\x02S\x01\x12\x04\x92\x03\ + \x04\t\n\x0f\n\x07\x04\x07\x04\0\x02S\x02\x12\x04\x92\x03\x0c\x0e\n\x0e\ + \n\x06\x04\x07\x04\0\x02T\x12\x04\x93\x03\x04\x0f\n\x0f\n\x07\x04\x07\ + \x04\0\x02T\x01\x12\x04\x93\x03\x04\t\n\x0f\n\x07\x04\x07\x04\0\x02T\x02\ + \x12\x04\x93\x03\x0c\x0e\n[\n\x06\x04\x07\x04\0\x02U\x12\x04\x94\x03\x04\ + \x12\"K\x20Next\x20=\x2087;\n\x20Feel\x20free\x20to\x20open\x20a\x20PR\ + \x20proposing\x20new\x20language-specific\x20kinds.\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02U\x01\x12\x04\x94\x03\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\ + \x02U\x02\x12\x04\x94\x03\x0f\x11\n\xf3\x03\n\x04\x04\x07\x02\x04\x12\ + \x04\xa1\x03\x02\x1a\x1a\xe4\x03\x20(optional)\x20The\x20name\x20of\x20t\ + his\x20symbol\x20as\x20it\x20should\x20be\x20displayed\x20to\x20the\x20u\ + ser.\n\x20For\x20example,\x20the\x20symbol\x20\"com/example/MyClass#myMe\ + thod(+1).\"\x20should\x20have\x20the\n\x20display\x20name\x20\"myMethod\ + \".\x20The\x20`symbol`\x20field\x20is\x20not\x20a\x20reliable\x20source\ + \x20of\n\x20the\x20display\x20name\x20for\x20several\x20reasons:\n\n\x20\ + -\x20Local\x20symbols\x20don't\x20encode\x20the\x20name.\n\x20-\x20Some\ + \x20languages\x20have\x20case-insensitive\x20names,\x20so\x20the\x20symb\ + ol\x20is\x20all-lowercase.\n\x20-\x20The\x20symbol\x20may\x20encode\x20n\ + ames\x20with\x20special\x20characters\x20that\x20should\x20not\x20be\n\ + \x20\x20\x20displayed\x20to\x20the\x20user.\n\n\r\n\x05\x04\x07\x02\x04\ + \x05\x12\x04\xa1\x03\x02\x08\n\r\n\x05\x04\x07\x02\x04\x01\x12\x04\xa1\ + \x03\t\x15\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\xa1\x03\x18\x19\n\xc4\ + \x03\n\x04\x04\x07\x02\x05\x12\x04\xa8\x03\x02'\x1a\xb5\x03\x20(optional\ + )\x20The\x20signature\x20of\x20this\x20symbol\x20as\x20it's\x20displayed\ + \x20in\x20API\n\x20documentation\x20or\x20in\x20hover\x20tooltips.\x20Fo\ + r\x20example,\x20a\x20Java\x20method\x20that\x20adds\n\x20two\x20numbers\ + \x20this\x20would\x20have\x20`Document.language\x20=\x20\"java\"`\x20and\ + \x20`Document.text\n\x20=\x20\"void\x20add(int\x20a,\x20int\x20b)\".\x20\ + The\x20`language`\x20and\x20`text`\x20fields\x20are\x20required\n\x20whi\ + le\x20other\x20fields\x20such\x20as\x20`Documentation.occurrences`\x20ca\ + n\x20be\x20optionally\n\x20included\x20to\x20support\x20hyperlinking\x20\ + referenced\x20symbols\x20in\x20the\x20signature.\n\n\r\n\x05\x04\x07\x02\ + \x05\x06\x12\x04\xa8\x03\x02\n\n\r\n\x05\x04\x07\x02\x05\x01\x12\x04\xa8\ + \x03\x0b\"\n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\xa8\x03%&\n\xcc\x08\n\ + \x04\x04\x07\x02\x06\x12\x04\xba\x03\x02\x1e\x1a\xbd\x08\x20(optional)\ + \x20The\x20enclosing\x20symbol\x20if\x20this\x20is\x20a\x20local\x20symb\ + ol.\x20For\x20non-local\n\x20symbols,\x20the\x20enclosing\x20symbol\x20s\ + hould\x20be\x20parsed\x20from\x20the\x20`symbol`\x20field\n\x20using\x20\ + the\x20`Descriptor`\x20grammar.\n\n\x20The\x20primary\x20use-case\x20for\ + \x20this\x20field\x20is\x20to\x20allow\x20local\x20symbols\x20to\x20be\n\ + \x20displayed\x20in\x20a\x20symbol\x20hierarchy\x20for\x20API\x20documen\ + tation.\x20It's\x20OK\x20to\x20leave\n\x20this\x20field\x20empty\x20for\ + \x20local\x20variables\x20since\x20local\x20variables\x20usually\x20don'\ + t\n\x20belong\x20in\x20API\x20documentation.\x20However,\x20in\x20the\ + \x20situation\x20that\x20you\x20wish\x20to\n\x20include\x20a\x20local\ + \x20symbol\x20in\x20the\x20hierarchy,\x20then\x20you\x20can\x20use\n\x20\ + `enclosing_symbol`\x20to\x20locate\x20the\x20\"parent\"\x20or\x20\"owner\ + \"\x20of\x20this\x20local\x20symbol.\n\x20For\x20example,\x20a\x20Java\ + \x20indexer\x20may\x20choose\x20to\x20use\x20local\x20symbols\x20for\x20\ + private\n\x20class\x20fields\x20while\x20providing\x20an\x20`enclosing_s\ + ymbol`\x20to\x20reference\x20the\n\x20enclosing\x20class\x20to\x20allow\ + \x20the\x20field\x20to\x20be\x20part\x20of\x20the\x20class\x20documentat\ + ion\n\x20hierarchy.\x20From\x20the\x20perspective\x20of\x20an\x20author\ + \x20of\x20an\x20indexer,\x20the\x20decision\n\x20to\x20use\x20a\x20local\ + \x20symbol\x20or\x20global\x20symbol\x20should\x20exclusively\x20be\x20d\ + etermined\n\x20by\x20whether\x20the\x20local\x20symbol\x20is\x20accessib\ + le\x20outside\x20the\x20document,\x20not\x20by\x20the\n\x20capability\ + \x20to\x20find\x20the\x20enclosing\x20symbol.\n\n\r\n\x05\x04\x07\x02\ + \x06\x05\x12\x04\xba\x03\x02\x08\n\r\n\x05\x04\x07\x02\x06\x01\x12\x04\ + \xba\x03\t\x19\n\r\n\x05\x04\x07\x02\x06\x03\x12\x04\xba\x03\x1c\x1d\n\ + \xe6\x03\n\x04\x04\x07\x02\x07\x12\x04\xcb\x03\x02&\x1a\xd7\x03\x20(opti\ + onal)\x20Symbols\x20that\x20this\x20symbol\x20implements\x20or\x20overri\ + des.\n\x20For\x20\"Find\x20implementations\"\x20on\x20the\x20target\x20s\ + ymbol,\x20this\x20symbol\x20will\x20be\n\x20included\x20in\x20the\x20res\ + ults.\n\n\x20For\x20example,\x20consider\x20the\x20following\x20TypeScri\ + pt\x20code:\n\x20```ts\n\x20interface\x20Animal\x20{\n\x20\x20\x20sound(\ + ):\x20string\n\x20}\n\x20class\x20Dog\x20implements\x20Animal\x20{\n\x20\ + \x20\x20public\x20sound():\x20string\x20{\x20return\x20\"woof\"\x20}\n\ + \x20}\n\x20```\n\x20Here,\x20`Dog#`\x20would\x20list\x20`Animal#`\x20in\ + \x20`implementations`,\x20and\x20`Dog#sound()`\n\x20would\x20list\x20`An\ + imal#sound()`\x20in\x20`implementations`.\n\n\r\n\x05\x04\x07\x02\x07\ + \x04\x12\x04\xcb\x03\x02\n\n\r\n\x05\x04\x07\x02\x07\x05\x12\x04\xcb\x03\ + \x0b\x11\n\r\n\x05\x04\x07\x02\x07\x01\x12\x04\xcb\x03\x12!\n\r\n\x05\ + \x04\x07\x02\x07\x03\x12\x04\xcb\x03$%\n\xd1\x04\n\x04\x04\x07\x02\x08\ + \x12\x04\xd9\x03\x02\"\x1a\xc2\x04\x20(optional)\x20Symbols\x20whose\x20\ + references\x20should\x20be\x20included\x20when\x20performing\n\x20\"Find\ + \x20references\"\x20on\x20this\x20symbol.\n\n\x20Continuing\x20the\x20Ty\ + peScript\x20example\x20above,\x20`Dog#sound()`\x20would\x20list\n\x20`An\ + imal#sound()`\x20in\x20`references`.\x20This\x20means\x20doing\x20\"Find\ + \x20references\"\x20on\n\x20`Dog#sound()`\x20would\x20also\x20include\ + \x20references\x20to\x20`Animal#sound()`,\x20and\n\x20vice-versa.\n\n\ + \x20It's\x20common\x20for\x20a\x20symbol\x20to\x20appear\x20in\x20both\ + \x20`implementations`\x20and\n\x20`references`,\x20but\x20not\x20always.\ + \x20For\x20example,\x20`Dog#`\x20lists\x20`Animal#`\x20in\n\x20`implemen\ + tations`\x20but\x20NOT\x20in\x20`references`,\x20because\x20\"Find\x20re\ + ferences\"\x20on\n\x20`Animal#`\x20should\x20not\x20return\x20`Dog#`.\n\ + \n\r\n\x05\x04\x07\x02\x08\x04\x12\x04\xd9\x03\x02\n\n\r\n\x05\x04\x07\ + \x02\x08\x05\x12\x04\xd9\x03\x0b\x11\n\r\n\x05\x04\x07\x02\x08\x01\x12\ + \x04\xd9\x03\x12\x1c\n\r\n\x05\x04\x07\x02\x08\x03\x12\x04\xd9\x03\x1f!\ + \n{\n\x04\x04\x07\x02\t\x12\x04\xdd\x03\x02(\x1am\x20(optional)\x20Symbo\ + ls\x20that\x20this\x20symbol\x20is\x20a\x20type\x20definition\x20for.\n\ + \x20Used\x20for\x20\"Go\x20to\x20type\x20definition\"\x20navigation.\n\n\ + \r\n\x05\x04\x07\x02\t\x04\x12\x04\xdd\x03\x02\n\n\r\n\x05\x04\x07\x02\t\ + \x05\x12\x04\xdd\x03\x0b\x11\n\r\n\x05\x04\x07\x02\t\x01\x12\x04\xdd\x03\ + \x12\"\n\r\n\x05\x04\x07\x02\t\x03\x12\x04\xdd\x03%'\n\xfb\x02\n\x04\x04\ + \x07\x02\n\x12\x04\xe6\x03\x02\x19\x1a\xec\x02\x20(optional)\x20Allows\ + \x20overriding\x20the\x20behavior\x20of\x20\"Go\x20to\x20definition\"\ + \x20and\n\x20\"Find\x20references\"\x20for\x20symbols\x20which\x20do\x20\ + not\x20have\x20a\x20definition\x20of\x20their\x20own\n\x20or\x20could\ + \x20potentially\x20have\x20multiple\x20definitions.\n\n\x20For\x20exampl\ + e,\x20in\x20a\x20language\x20with\x20single\x20inheritance\x20and\x20som\ + e\x20form\x20of\x20mixins,\n\x20you\x20can\x20use\x20`definition`\x20to\ + \x20relate\x20the\x20symbol\x20to\x20the\x20matching\x20symbol\x20in\x20\ + an\n\x20ancestor\x20class.\n\n\r\n\x05\x04\x07\x02\n\x05\x12\x04\xe6\x03\ + \x02\x08\n\r\n\x05\x04\x07\x02\n\x01\x12\x04\xe6\x03\t\x13\n\r\n\x05\x04\ + \x07\x02\n\x03\x12\x04\xe6\x03\x16\x18\n\x0c\n\x02\x04\x08\x12\x06\xe9\ + \x03\0\x9d\x04\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\xe9\x03\x08\x14\n\x0c\ + \n\x04\x04\x08\x02\0\x12\x04\xea\x03\x02\x14\n\r\n\x05\x04\x08\x02\0\x05\ + \x12\x04\xea\x03\x02\x08\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xea\x03\t\ + \x0f\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xea\x03\x12\x13\n\xde\x08\n\x04\ + \x04\x08\x02\x01\x12\x04\x83\x04\x02\x18\x1a\xcf\x08\x20When\x20resolvin\ + g\x20\"Find\x20references\",\x20this\x20field\x20documents\x20what\x20ot\ + her\x20symbols\n\x20should\x20be\x20included\x20together\x20with\x20this\ + \x20symbol.\x20For\x20example,\x20consider\x20the\n\x20following\x20Type\ + Script\x20code\x20that\x20defines\x20two\x20symbols\x20`Animal#sound()`\ + \x20and\n\x20`Dog#sound()`:\n\x20```ts\n\x20interface\x20Animal\x20{\n\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20definition\x20Anim\ + al#\n\x20\x20\x20sound():\x20string\n\x20\x20\x20^^^^^\x20definition\x20\ + Animal#sound()\n\x20}\n\x20class\x20Dog\x20implements\x20Animal\x20{\n\ + \x20\x20\x20\x20\x20\x20\x20^^^\x20definition\x20Dog#,\x20relationships\ + \x20=\x20[{symbol:\x20\"Animal#\",\x20is_implementation:\x20true}]\n\x20\ + \x20\x20public\x20sound():\x20string\x20{\x20return\x20\"woof\"\x20}\n\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20definition\x20Dog#sound\ + (),\x20references_symbols\x20=\x20Animal#sound(),\x20relationships\x20=\ + \x20[{symbol:\x20\"Animal#sound()\",\x20is_implementation:true,\x20is_re\ + ference:\x20true}]\n\x20}\n\x20const\x20animal:\x20Animal\x20=\x20new\ + \x20Dog()\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\ + ^^^^^\x20reference\x20Animal#\n\x20console.log(animal.sound())\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + ^^^^^\x20reference\x20Animal#sound()\n\x20```\n\x20Doing\x20\"Find\x20re\ + ferences\"\x20on\x20the\x20symbol\x20`Animal#sound()`\x20should\x20retur\ + n\n\x20references\x20to\x20the\x20`Dog#sound()`\x20method\x20as\x20well.\ + \x20Vice-versa,\x20doing\x20\"Find\n\x20references\"\x20on\x20the\x20`Do\ + g#sound()`\x20method\x20should\x20include\x20references\x20to\x20the\n\ + \x20`Animal#sound()`\x20method\x20as\x20well.\n\n\r\n\x05\x04\x08\x02\ + \x01\x05\x12\x04\x83\x04\x02\x06\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\ + \x83\x04\x07\x13\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x83\x04\x16\x17\n\ + \xee\x03\n\x04\x04\x08\x02\x02\x12\x04\x8c\x04\x02\x1d\x1a\xdf\x03\x20Si\ + milar\x20to\x20`is_reference`\x20but\x20for\x20\"Find\x20implementations\ + \".\n\x20It's\x20common\x20for\x20`is_implementation`\x20and\x20`is_refe\ + rence`\x20to\x20both\x20be\x20true\x20but\n\x20it's\x20not\x20always\x20\ + the\x20case.\n\x20In\x20the\x20TypeScript\x20example\x20above,\x20observ\ + e\x20that\x20`Dog#`\x20has\x20an\n\x20`is_implementation`\x20relationshi\ + p\x20with\x20`\"Animal#\"`\x20but\x20not\x20`is_reference`.\n\x20This\ + \x20is\x20because\x20\"Find\x20references\"\x20on\x20the\x20\"Animal#\"\ + \x20symbol\x20should\x20not\x20return\n\x20\"Dog#\".\x20We\x20only\x20wa\ + nt\x20\"Dog#\"\x20to\x20return\x20as\x20a\x20result\x20for\x20\"Find\n\ + \x20implementations\"\x20on\x20the\x20\"Animal#\"\x20symbol.\n\n\r\n\x05\ + \x04\x08\x02\x02\x05\x12\x04\x8c\x04\x02\x06\n\r\n\x05\x04\x08\x02\x02\ + \x01\x12\x04\x8c\x04\x07\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x8c\ + \x04\x1b\x1c\nP\n\x04\x04\x08\x02\x03\x12\x04\x8e\x04\x02\x1e\x1aB\x20Si\ + milar\x20to\x20`references_symbols`\x20but\x20for\x20\"Go\x20to\x20type\ + \x20definition\".\n\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\x8e\x04\x02\ + \x06\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\x8e\x04\x07\x19\n\r\n\x05\x04\ + \x08\x02\x03\x03\x12\x04\x8e\x04\x1c\x1d\n\xd8\x05\n\x04\x04\x08\x02\x04\ + \x12\x04\x9b\x04\x02\x19\x1a\x86\x05\x20Allows\x20overriding\x20the\x20b\ + ehavior\x20of\x20\"Go\x20to\x20definition\"\x20and\x20\"Find\x20referenc\ + es\"\n\x20for\x20symbols\x20which\x20do\x20not\x20have\x20a\x20definitio\ + n\x20of\x20their\x20own\x20or\x20could\n\x20potentially\x20have\x20multi\ + ple\x20definitions.\n\n\x20For\x20example,\x20in\x20a\x20language\x20wit\ + h\x20single\x20inheritance\x20and\x20no\x20field\x20overriding,\n\x20inh\ + erited\x20fields\x20can\x20reuse\x20the\x20same\x20symbol\x20as\x20the\ + \x20ancestor\x20which\x20declares\n\x20the\x20field.\x20In\x20such\x20a\ + \x20situation,\x20is_definition\x20is\x20not\x20needed.\n\n\x20On\x20the\ + \x20other\x20hand,\x20in\x20languages\x20with\x20single\x20inheritance\ + \x20and\x20some\x20form\n\x20of\x20mixins,\x20you\x20can\x20use\x20is_de\ + finition\x20to\x20relate\x20the\x20symbol\x20to\x20the\n\x20matching\x20\ + symbol\x20in\x20ancestor\x20classes,\x20and\x20is_reference\x20to\x20rel\ + ate\x20the\n\x20symbol\x20to\x20the\x20matching\x20symbol\x20in\x20mixin\ + s.\n\"A\x20Update\x20registerInverseRelationships\x20on\x20adding\x20a\ + \x20new\x20field\x20here.\n\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\x9b\ + \x04\x02\x06\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\x9b\x04\x07\x14\n\r\n\ + \x05\x04\x08\x02\x04\x03\x12\x04\x9b\x04\x17\x18\n\x88\x03\n\x02\x05\x03\ + \x12\x06\xa4\x04\0\xba\x04\x01\x1a\xf9\x02\x20SymbolRole\x20declares\x20\ + what\x20\"role\"\x20a\x20symbol\x20has\x20in\x20an\x20occurrence.\x20A\ + \x20role\x20is\n\x20encoded\x20as\x20a\x20bitset\x20where\x20each\x20bit\ + \x20represents\x20a\x20different\x20role.\x20For\x20example,\n\x20to\x20\ + determine\x20if\x20the\x20`Import`\x20role\x20is\x20set,\x20test\x20whet\ + her\x20the\x20second\x20bit\x20of\x20the\n\x20enum\x20value\x20is\x20def\ + ined.\x20In\x20pseudocode,\x20this\x20can\x20be\x20implemented\x20with\ + \x20the\n\x20logic:\x20`const\x20isImportRole\x20=\x20(role.value\x20&\ + \x20SymbolRole.Import.value)\x20>\x200`.\n\n\x0b\n\x03\x05\x03\x01\x12\ + \x04\xa4\x04\x05\x0f\nv\n\x04\x05\x03\x02\0\x12\x04\xa7\x04\x02\x1c\x1ah\ + \x20This\x20case\x20is\x20not\x20meant\x20to\x20be\x20used;\x20it\x20onl\ + y\x20exists\x20to\x20avoid\x20an\x20error\n\x20from\x20the\x20Protobuf\ + \x20code\x20generator.\n\n\r\n\x05\x05\x03\x02\0\x01\x12\x04\xa7\x04\x02\ + \x17\n\r\n\x05\x05\x03\x02\0\x02\x12\x04\xa7\x04\x1a\x1b\nT\n\x04\x05\ + \x03\x02\x01\x12\x04\xa9\x04\x02\x13\x1aF\x20Is\x20the\x20symbol\x20defi\ + ned\x20here?\x20If\x20not,\x20then\x20this\x20is\x20a\x20symbol\x20refer\ + ence.\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\x04\xa9\x04\x02\x0c\n\r\n\x05\ + \x05\x03\x02\x01\x02\x12\x04\xa9\x04\x0f\x12\n,\n\x04\x05\x03\x02\x02\ + \x12\x04\xab\x04\x02\x0f\x1a\x1e\x20Is\x20the\x20symbol\x20imported\x20h\ + ere?\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\xab\x04\x02\x08\n\r\n\x05\ + \x05\x03\x02\x02\x02\x12\x04\xab\x04\x0b\x0e\n+\n\x04\x05\x03\x02\x03\ + \x12\x04\xad\x04\x02\x14\x1a\x1d\x20Is\x20the\x20symbol\x20written\x20he\ + re?\n\n\r\n\x05\x05\x03\x02\x03\x01\x12\x04\xad\x04\x02\r\n\r\n\x05\x05\ + \x03\x02\x03\x02\x12\x04\xad\x04\x10\x13\n(\n\x04\x05\x03\x02\x04\x12\ + \x04\xaf\x04\x02\x13\x1a\x1a\x20Is\x20the\x20symbol\x20read\x20here?\n\n\ + \r\n\x05\x05\x03\x02\x04\x01\x12\x04\xaf\x04\x02\x0c\n\r\n\x05\x05\x03\ + \x02\x04\x02\x12\x04\xaf\x04\x0f\x12\n0\n\x04\x05\x03\x02\x05\x12\x04\ + \xb1\x04\x02\x13\x1a\"\x20Is\x20the\x20symbol\x20in\x20generated\x20code\ + ?\n\n\r\n\x05\x05\x03\x02\x05\x01\x12\x04\xb1\x04\x02\x0b\n\r\n\x05\x05\ + \x03\x02\x05\x02\x12\x04\xb1\x04\x0e\x12\n+\n\x04\x05\x03\x02\x06\x12\ + \x04\xb3\x04\x02\x0e\x1a\x1d\x20Is\x20the\x20symbol\x20in\x20test\x20cod\ + e?\n\n\r\n\x05\x05\x03\x02\x06\x01\x12\x04\xb3\x04\x02\x06\n\r\n\x05\x05\ + \x03\x02\x06\x02\x12\x04\xb3\x04\t\r\n\xed\x01\n\x04\x05\x03\x02\x07\x12\ + \x04\xb9\x04\x02\x1b\x1a\xde\x01\x20Is\x20this\x20a\x20signature\x20for\ + \x20a\x20symbol\x20that\x20is\x20defined\x20elsewhere?\n\n\x20Applies\ + \x20to\x20forward\x20declarations\x20for\x20languages\x20like\x20C,\x20C\ + ++\n\x20and\x20Objective-C,\x20as\x20well\x20as\x20`val`\x20declarations\ + \x20in\x20interface\n\x20files\x20in\x20languages\x20like\x20SML\x20and\ + \x20OCaml.\n\n\r\n\x05\x05\x03\x02\x07\x01\x12\x04\xb9\x04\x02\x13\n\r\n\ + \x05\x05\x03\x02\x07\x02\x12\x04\xb9\x04\x16\x1a\n\x0c\n\x02\x05\x04\x12\ + \x06\xbc\x04\0\x99\x05\x01\n\x0b\n\x03\x05\x04\x01\x12\x04\xbc\x04\x05\ + \x0f\n\x0b\n\x03\x05\x04\x03\x12\x04\xbd\x04\x02\x1c\n\x0c\n\x04\x05\x04\ + \x03\x02\x12\x04\xbd\x04\x02\x1c\n\x0c\n\x04\x05\x04\x02\0\x12\x04\xbf\ + \x04\x02\x1c\n\r\n\x05\x05\x04\x02\0\x01\x12\x04\xbf\x04\x02\x17\n\r\n\ + \x05\x05\x04\x02\0\x02\x12\x04\xbf\x04\x1a\x1b\n;\n\x04\x05\x04\x02\x01\ + \x12\x04\xc2\x04\x02\x0e\x1a-\x20Comment,\x20including\x20comment\x20mar\ + kers\x20and\x20text\n\n\r\n\x05\x05\x04\x02\x01\x01\x12\x04\xc2\x04\x02\ + \t\n\r\n\x05\x05\x04\x02\x01\x02\x12\x04\xc2\x04\x0c\r\n\x1b\n\x04\x05\ + \x04\x02\x02\x12\x04\xc5\x04\x02\x1b\x1a\r\x20`;`\x20`.`\x20`,`\n\n\r\n\ + \x05\x05\x04\x02\x02\x01\x12\x04\xc5\x04\x02\x16\n\r\n\x05\x05\x04\x02\ + \x02\x02\x12\x04\xc5\x04\x19\x1a\n2\n\x04\x05\x04\x02\x03\x12\x04\xc7\ + \x04\x02\x19\x1a$\x20(),\x20{},\x20[]\x20when\x20used\x20syntactically\n\ + \n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\xc7\x04\x02\x14\n\r\n\x05\x05\x04\ + \x02\x03\x02\x12\x04\xc7\x04\x17\x18\n5\n\x04\x05\x04\x02\x04\x12\x04\ + \xca\x04\x02\x0e\x1a'\x20`if`,\x20`else`,\x20`return`,\x20`class`,\x20et\ + c.\n\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xca\x04\x02\t\n\r\n\x05\x05\ + \x04\x02\x04\x02\x12\x04\xca\x04\x0c\r\n\x0c\n\x04\x05\x04\x02\x05\x12\ + \x04\xcb\x04\x02,\n\r\n\x05\x05\x04\x02\x05\x01\x12\x04\xcb\x04\x02\x13\ + \n\r\n\x05\x05\x04\x02\x05\x02\x12\x04\xcb\x04\x16\x17\n\r\n\x05\x05\x04\ + \x02\x05\x03\x12\x04\xcb\x04\x18+\n\x0e\n\x06\x05\x04\x02\x05\x03\x01\ + \x12\x04\xcb\x04\x19*\n\x1e\n\x04\x05\x04\x02\x06\x12\x04\xce\x04\x02\ + \x19\x1a\x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\x04\x02\x06\x01\x12\ + \x04\xce\x04\x02\x14\n\r\n\x05\x05\x04\x02\x06\x02\x12\x04\xce\x04\x17\ + \x18\nX\n\x04\x05\x04\x02\x07\x12\x04\xd1\x04\x02\x11\x1aJ\x20non-specif\ + ic\x20catch-all\x20for\x20any\x20identifier\x20not\x20better\x20describe\ + d\x20elsewhere\n\n\r\n\x05\x05\x04\x02\x07\x01\x12\x04\xd1\x04\x02\x0c\n\ + \r\n\x05\x05\x04\x02\x07\x02\x12\x04\xd1\x04\x0f\x10\nN\n\x04\x05\x04\ + \x02\x08\x12\x04\xd3\x04\x02\x18\x1a@\x20Identifiers\x20builtin\x20to\ + \x20the\x20language:\x20`min`,\x20`print`\x20in\x20Python.\n\n\r\n\x05\ + \x05\x04\x02\x08\x01\x12\x04\xd3\x04\x02\x13\n\r\n\x05\x05\x04\x02\x08\ + \x02\x12\x04\xd3\x04\x16\x17\n[\n\x04\x05\x04\x02\t\x12\x04\xd5\x04\x02\ + \x15\x1aM\x20Identifiers\x20representing\x20`null`-like\x20values:\x20`N\ + one`\x20in\x20Python,\x20`nil`\x20in\x20Go.\n\n\r\n\x05\x05\x04\x02\t\ + \x01\x12\x04\xd5\x04\x02\x10\n\r\n\x05\x05\x04\x02\t\x02\x12\x04\xd5\x04\ + \x13\x14\n.\n\x04\x05\x04\x02\n\x12\x04\xd7\x04\x02\x19\x1a\x20\x20`xyz`\ + \x20in\x20`const\x20xyz\x20=\x20\"hello\"`\n\n\r\n\x05\x05\x04\x02\n\x01\ + \x12\x04\xd7\x04\x02\x14\n\r\n\x05\x05\x04\x02\n\x02\x12\x04\xd7\x04\x17\ + \x18\n'\n\x04\x05\x04\x02\x0b\x12\x04\xd9\x04\x02\x1f\x1a\x19\x20`var\ + \x20X\x20=\x20\"hello\"`\x20in\x20Go\n\n\r\n\x05\x05\x04\x02\x0b\x01\x12\ + \x04\xd9\x04\x02\x19\n\r\n\x05\x05\x04\x02\x0b\x02\x12\x04\xd9\x04\x1c\ + \x1e\n3\n\x04\x05\x04\x02\x0c\x12\x04\xdb\x04\x02\x1b\x1a%\x20Parameter\ + \x20definition\x20and\x20references\n\n\r\n\x05\x05\x04\x02\x0c\x01\x12\ + \x04\xdb\x04\x02\x15\n\r\n\x05\x05\x04\x02\x0c\x02\x12\x04\xdb\x04\x18\ + \x1a\nX\n\x04\x05\x04\x02\r\x12\x04\xdd\x04\x02\x17\x1aJ\x20Identifiers\ + \x20for\x20variable\x20definitions\x20and\x20references\x20within\x20a\ + \x20local\x20scope\n\n\r\n\x05\x05\x04\x02\r\x01\x12\x04\xdd\x04\x02\x11\ + \n\r\n\x05\x05\x04\x02\r\x02\x12\x04\xdd\x04\x14\x16\nK\n\x04\x05\x04\ + \x02\x0e\x12\x04\xdf\x04\x02\x1a\x1a=\x20Identifiers\x20that\x20shadow\ + \x20other\x20identifiers\x20in\x20an\x20outer\x20scope\n\n\r\n\x05\x05\ + \x04\x02\x0e\x01\x12\x04\xdf\x04\x02\x14\n\r\n\x05\x05\x04\x02\x0e\x02\ + \x12\x04\xdf\x04\x17\x19\n\xcd\x01\n\x04\x05\x04\x02\x0f\x12\x04\xe4\x04\ + \x02\x1b\x1a\xbe\x01\x20Identifier\x20representing\x20a\x20unit\x20of\ + \x20code\x20abstraction\x20and/or\x20namespacing.\n\n\x20NOTE:\x20This\ + \x20corresponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20JVM\x20langu\ + ages,\n\x20and\x20a\x20module\x20in\x20languages\x20like\x20Python\x20an\ + d\x20JavaScript.\n\n\r\n\x05\x05\x04\x02\x0f\x01\x12\x04\xe4\x04\x02\x15\ + \n\r\n\x05\x05\x04\x02\x0f\x02\x12\x04\xe4\x04\x18\x1a\n\x0c\n\x04\x05\ + \x04\x02\x10\x12\x04\xe5\x04\x02,\n\r\n\x05\x05\x04\x02\x10\x01\x12\x04\ + \xe5\x04\x02\x12\n\r\n\x05\x05\x04\x02\x10\x02\x12\x04\xe5\x04\x15\x17\n\ + \r\n\x05\x05\x04\x02\x10\x03\x12\x04\xe5\x04\x18+\n\x0e\n\x06\x05\x04\ + \x02\x10\x03\x01\x12\x04\xe5\x04\x19*\n4\n\x04\x05\x04\x02\x11\x12\x04\ + \xe8\x04\x02\x1a\x1a&\x20Function\x20references,\x20including\x20calls\n\ + \n\r\n\x05\x05\x04\x02\x11\x01\x12\x04\xe8\x04\x02\x14\n\r\n\x05\x05\x04\ + \x02\x11\x02\x12\x04\xe8\x04\x17\x19\n(\n\x04\x05\x04\x02\x12\x12\x04\ + \xea\x04\x02$\x1a\x1a\x20Function\x20definition\x20only\n\n\r\n\x05\x05\ + \x04\x02\x12\x01\x12\x04\xea\x04\x02\x1e\n\r\n\x05\x05\x04\x02\x12\x02\ + \x12\x04\xea\x04!#\n7\n\x04\x05\x04\x02\x13\x12\x04\xed\x04\x02\x17\x1a)\ + \x20Macro\x20references,\x20including\x20invocations\n\n\r\n\x05\x05\x04\ + \x02\x13\x01\x12\x04\xed\x04\x02\x11\n\r\n\x05\x05\x04\x02\x13\x02\x12\ + \x04\xed\x04\x14\x16\n%\n\x04\x05\x04\x02\x14\x12\x04\xef\x04\x02!\x1a\ + \x17\x20Macro\x20definition\x20only\n\n\r\n\x05\x05\x04\x02\x14\x01\x12\ + \x04\xef\x04\x02\x1b\n\r\n\x05\x05\x04\x02\x14\x02\x12\x04\xef\x04\x1e\ + \x20\n!\n\x04\x05\x04\x02\x15\x12\x04\xf2\x04\x02\x16\x1a\x13\x20non-bui\ + ltin\x20types\n\n\r\n\x05\x05\x04\x02\x15\x01\x12\x04\xf2\x04\x02\x10\n\ + \r\n\x05\x05\x04\x02\x15\x02\x12\x04\xf2\x04\x13\x15\nK\n\x04\x05\x04\ + \x02\x16\x12\x04\xf4\x04\x02\x1d\x1a=\x20builtin\x20types\x20only,\x20su\ + ch\x20as\x20`str`\x20for\x20Python\x20or\x20`int`\x20in\x20Go\n\n\r\n\ + \x05\x05\x04\x02\x16\x01\x12\x04\xf4\x04\x02\x17\n\r\n\x05\x05\x04\x02\ + \x16\x02\x12\x04\xf4\x04\x1a\x1c\n7\n\x04\x05\x04\x02\x17\x12\x04\xf7\ + \x04\x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\x20__attribute__\n\ + \n\r\n\x05\x05\x04\x02\x17\x01\x12\x04\xf7\x04\x02\x15\n\r\n\x05\x05\x04\ + \x02\x17\x02\x12\x04\xf7\x04\x18\x1a\n\x14\n\x04\x05\x04\x02\x18\x12\x04\ + \xfa\x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\x05\x04\x02\x18\x01\x12\ + \x04\xfa\x04\x02\r\n\r\n\x05\x05\x04\x02\x18\x02\x12\x04\xfa\x04\x10\x12\ + \n\x18\n\x04\x05\x04\x02\x19\x12\x04\xfc\x04\x02\x15\x1a\n\x20`*`,\x20`+\ + `\n\n\r\n\x05\x05\x04\x02\x19\x01\x12\x04\xfc\x04\x02\x0f\n\r\n\x05\x05\ + \x04\x02\x19\x02\x12\x04\xfc\x04\x12\x14\n\x13\n\x04\x05\x04\x02\x1a\x12\ + \x04\xfe\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\x05\x05\x04\x02\x1a\x01\x12\ + \x04\xfe\x04\x02\x0f\n\r\n\x05\x05\x04\x02\x1a\x02\x12\x04\xfe\x04\x12\ + \x14\n\"\n\x04\x05\x04\x02\x1b\x12\x04\x80\x05\x02\x16\x1a\x14\x20`(`,\ + \x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x04\x02\x1b\x01\x12\x04\x80\x05\ + \x02\x10\n\r\n\x05\x05\x04\x02\x1b\x02\x12\x04\x80\x05\x13\x15\n\x18\n\ + \x04\x05\x04\x02\x1c\x12\x04\x82\x05\x02\x11\x1a\n\x20`|`,\x20`-`\n\n\r\ + \n\x05\x05\x04\x02\x1c\x01\x12\x04\x82\x05\x02\x0b\n\r\n\x05\x05\x04\x02\ + \x1c\x02\x12\x04\x82\x05\x0e\x10\n0\n\x04\x05\x04\x02\x1d\x12\x04\x85\ + \x05\x02\x15\x1a\"\x20Literal\x20strings:\x20\"Hello,\x20world!\"\n\n\r\ + \n\x05\x05\x04\x02\x1d\x01\x12\x04\x85\x05\x02\x0f\n\r\n\x05\x05\x04\x02\ + \x1d\x02\x12\x04\x85\x05\x12\x14\n-\n\x04\x05\x04\x02\x1e\x12\x04\x87\ + \x05\x02\x1b\x1a\x1f\x20non-regex\x20escapes:\x20\"\\t\",\x20\"\\n\"\n\n\ + \r\n\x05\x05\x04\x02\x1e\x01\x12\x04\x87\x05\x02\x15\n\r\n\x05\x05\x04\ + \x02\x1e\x02\x12\x04\x87\x05\x18\x1a\n_\n\x04\x05\x04\x02\x1f\x12\x04\ + \x89\x05\x02\x1c\x1aQ\x20datetimes\x20within\x20strings,\x20special\x20w\ ords\x20within\x20a\x20string,\x20`{}`\x20in\x20format\x20strings\n\n\r\ - \n\x05\x05\x04\x02\x1f\x01\x12\x04\xdc\x04\x02\x16\n\r\n\x05\x05\x04\x02\ - \x1f\x02\x12\x04\xdc\x04\x19\x1b\nG\n\x04\x05\x04\x02\x20\x12\x04\xde\ - \x04\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\":\x20\"value\"\x20},\ + \n\x05\x05\x04\x02\x1f\x01\x12\x04\x89\x05\x02\x16\n\r\n\x05\x05\x04\x02\ + \x1f\x02\x12\x04\x89\x05\x19\x1b\nG\n\x04\x05\x04\x02\x20\x12\x04\x8b\ + \x05\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\":\x20\"value\"\x20},\ \x20useful\x20for\x20example\x20in\x20JSON\n\n\r\n\x05\x05\x04\x02\x20\ - \x01\x12\x04\xde\x04\x02\x12\n\r\n\x05\x05\x04\x02\x20\x02\x12\x04\xde\ - \x04\x15\x17\nV\n\x04\x05\x04\x02!\x12\x04\xe0\x04\x02\x18\x1aH\x20'c'\ + \x01\x12\x04\x8b\x05\x02\x12\n\r\n\x05\x05\x04\x02\x20\x02\x12\x04\x8b\ + \x05\x15\x17\nV\n\x04\x05\x04\x02!\x12\x04\x8d\x05\x02\x18\x1aH\x20'c'\ \x20or\x20similar,\x20in\x20languages\x20that\x20differentiate\x20string\ - s\x20and\x20characters\n\n\r\n\x05\x05\x04\x02!\x01\x12\x04\xe0\x04\x02\ - \x12\n\r\n\x05\x05\x04\x02!\x02\x12\x04\xe0\x04\x15\x17\n9\n\x04\x05\x04\ - \x02\"\x12\x04\xe2\x04\x02\x16\x1a+\x20Literal\x20numbers,\x20both\x20fl\ - oats\x20and\x20integers\n\n\r\n\x05\x05\x04\x02\"\x01\x12\x04\xe2\x04\ - \x02\x10\n\r\n\x05\x05\x04\x02\"\x02\x12\x04\xe2\x04\x13\x15\n\x1f\n\x04\ - \x05\x04\x02#\x12\x04\xe4\x04\x02\x16\x1a\x11\x20`true`,\x20`false`\n\n\ - \r\n\x05\x05\x04\x02#\x01\x12\x04\xe4\x04\x02\x10\n\r\n\x05\x05\x04\x02#\ - \x02\x12\x04\xe4\x04\x13\x15\n&\n\x04\x05\x04\x02$\x12\x04\xe7\x04\x02\ + s\x20and\x20characters\n\n\r\n\x05\x05\x04\x02!\x01\x12\x04\x8d\x05\x02\ + \x12\n\r\n\x05\x05\x04\x02!\x02\x12\x04\x8d\x05\x15\x17\n9\n\x04\x05\x04\ + \x02\"\x12\x04\x8f\x05\x02\x16\x1a+\x20Literal\x20numbers,\x20both\x20fl\ + oats\x20and\x20integers\n\n\r\n\x05\x05\x04\x02\"\x01\x12\x04\x8f\x05\ + \x02\x10\n\r\n\x05\x05\x04\x02\"\x02\x12\x04\x8f\x05\x13\x15\n\x1f\n\x04\ + \x05\x04\x02#\x12\x04\x91\x05\x02\x16\x1a\x11\x20`true`,\x20`false`\n\n\ + \r\n\x05\x05\x04\x02#\x01\x12\x04\x91\x05\x02\x10\n\r\n\x05\x05\x04\x02#\ + \x02\x12\x04\x91\x05\x13\x15\n&\n\x04\x05\x04\x02$\x12\x04\x94\x05\x02\ \x0b\x1a\x18\x20Used\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02$\ - \x01\x12\x04\xe7\x04\x02\x05\n\r\n\x05\x05\x04\x02$\x02\x12\x04\xe7\x04\ - \x08\n\n/\n\x04\x05\x04\x02%\x12\x04\xe9\x04\x02\x14\x1a!\x20Attribute\ + \x01\x12\x04\x94\x05\x02\x05\n\r\n\x05\x05\x04\x02$\x02\x12\x04\x94\x05\ + \x08\n\n/\n\x04\x05\x04\x02%\x12\x04\x96\x05\x02\x14\x1a!\x20Attribute\ \x20name\x20in\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02%\x01\x12\x04\ - \xe9\x04\x02\x0e\n\r\n\x05\x05\x04\x02%\x02\x12\x04\xe9\x04\x11\x13\n,\n\ - \x04\x05\x04\x02&\x12\x04\xeb\x04\x02\x14\x1a\x1e\x20Delimiters\x20for\ - \x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\xeb\x04\x02\ - \x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\xeb\x04\x11\x13\n\xf9\x01\n\x02\ - \x04\t\x12\x06\xf3\x04\0\xd4\x05\x01\x1a\xea\x01\x20Occurrence\x20associ\ + \x96\x05\x02\x0e\n\r\n\x05\x05\x04\x02%\x02\x12\x04\x96\x05\x11\x13\n,\n\ + \x04\x05\x04\x02&\x12\x04\x98\x05\x02\x14\x1a\x1e\x20Delimiters\x20for\ + \x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\x98\x05\x02\ + \x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\x98\x05\x11\x13\n\xf9\x01\n\x02\ + \x04\t\x12\x06\xa0\x05\0\x81\x06\x01\x1a\xea\x01\x20Occurrence\x20associ\ ates\x20a\x20source\x20position\x20with\x20a\x20symbol\x20and/or\x20high\ lighting\n\x20information.\n\n\x20If\x20possible,\x20indexers\x20should\ \x20try\x20to\x20bundle\x20logically\x20related\x20information\n\x20acro\ ss\x20occurrences\x20into\x20a\x20single\x20occurrence\x20to\x20reduce\ - \x20payload\x20sizes.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xf3\x04\x08\x12\n\ - \xe8\x08\n\x04\x04\t\x02\0\x12\x04\x8b\x05\x02\x1b\x1a\xd9\x08\x20Half-o\ + \x20payload\x20sizes.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xa0\x05\x08\x12\n\ + \xe8\x08\n\x04\x04\t\x02\0\x12\x04\xb8\x05\x02\x1b\x1a\xd9\x08\x20Half-o\ pen\x20[start,\x20end)\x20range\x20of\x20this\x20occurrence.\x20Must\x20\ be\x20exactly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\x20Four\x20\ elements:\x20`[startLine,\x20startCharacter,\x20endLine,\x20endCharacter\ @@ -5594,21 +5754,21 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20admittedly\x20more\x20embarrassing\x20to\n\x20work\x20with\x20in\x20\ some\x20programming\x20languages\x20but\x20we\x20hope\x20the\x20performa\ nce\n\x20improvements\x20make\x20up\x20for\x20it.\n\n\r\n\x05\x04\t\x02\ - \0\x04\x12\x04\x8b\x05\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\x8b\x05\ - \x0b\x10\n\r\n\x05\x04\t\x02\0\x01\x12\x04\x8b\x05\x11\x16\n\r\n\x05\x04\ - \t\x02\0\x03\x12\x04\x8b\x05\x19\x1a\n\x8a\x01\n\x04\x04\t\x02\x01\x12\ - \x04\x8e\x05\x02\x14\x1a|\x20(optional)\x20The\x20symbol\x20that\x20appe\ + \0\x04\x12\x04\xb8\x05\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xb8\x05\ + \x0b\x10\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xb8\x05\x11\x16\n\r\n\x05\x04\ + \t\x02\0\x03\x12\x04\xb8\x05\x19\x1a\n\x8a\x01\n\x04\x04\t\x02\x01\x12\ + \x04\xbb\x05\x02\x14\x1a|\x20(optional)\x20The\x20symbol\x20that\x20appe\ ars\x20at\x20this\x20position.\x20See\n\x20`SymbolInformation.symbol`\ \x20for\x20how\x20to\x20format\x20symbols\x20as\x20strings.\n\n\r\n\x05\ - \x04\t\x02\x01\x05\x12\x04\x8e\x05\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\ - \x12\x04\x8e\x05\t\x0f\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x8e\x05\x12\ - \x13\n\x97\x01\n\x04\x04\t\x02\x02\x12\x04\x91\x05\x02\x19\x1a\x88\x01\ + \x04\t\x02\x01\x05\x12\x04\xbb\x05\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\ + \x12\x04\xbb\x05\t\x0f\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xbb\x05\x12\ + \x13\n\x97\x01\n\x04\x04\t\x02\x02\x12\x04\xbe\x05\x02\x19\x1a\x88\x01\ \x20(optional)\x20Bitset\x20containing\x20`SymbolRole`s\x20in\x20this\ \x20occurrence.\n\x20See\x20`SymbolRole`'s\x20documentation\x20for\x20ho\ w\x20to\x20read\x20and\x20write\x20this\x20field.\n\n\r\n\x05\x04\t\x02\ - \x02\x05\x12\x04\x91\x05\x02\x07\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\x91\ - \x05\x08\x14\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x91\x05\x17\x18\n\xf1\ - \x03\n\x04\x04\t\x02\x03\x12\x04\x9a\x05\x02-\x1a\xe2\x03\x20(optional)\ + \x02\x05\x12\x04\xbe\x05\x02\x07\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xbe\ + \x05\x08\x14\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xbe\x05\x17\x18\n\xf1\ + \x03\n\x04\x04\t\x02\x03\x12\x04\xc7\x05\x02-\x1a\xe2\x03\x20(optional)\ \x20CommonMark-formatted\x20documentation\x20for\x20this\x20specific\x20\ range.\x20If\n\x20empty,\x20the\x20`Symbol.documentation`\x20field\x20is\ \x20used\x20instead.\x20One\x20example\n\x20where\x20this\x20field\x20mi\ @@ -5619,19 +5779,19 @@ static file_descriptor_proto_data: &'static [u8] = b"\ This\x20field\x20can\x20also\x20be\x20used\x20for\x20dynamically\x20or\ \x20gradually\x20typed\x20languages,\n\x20which\x20commonly\x20allow\x20\ for\x20type-changing\x20assignment.\n\n\r\n\x05\x04\t\x02\x03\x04\x12\ - \x04\x9a\x05\x02\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\x9a\x05\x0b\x11\n\ - \r\n\x05\x04\t\x02\x03\x01\x12\x04\x9a\x05\x12(\n\r\n\x05\x04\t\x02\x03\ - \x03\x12\x04\x9a\x05+,\nX\n\x04\x04\t\x02\x04\x12\x04\x9c\x05\x02\x1d\ + \x04\xc7\x05\x02\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\xc7\x05\x0b\x11\n\ + \r\n\x05\x04\t\x02\x03\x01\x12\x04\xc7\x05\x12(\n\r\n\x05\x04\t\x02\x03\ + \x03\x12\x04\xc7\x05+,\nX\n\x04\x04\t\x02\x04\x12\x04\xc9\x05\x02\x1d\ \x1aJ\x20(optional)\x20What\x20syntax\x20highlighting\x20class\x20should\ \x20be\x20used\x20for\x20this\x20range?\n\n\r\n\x05\x04\t\x02\x04\x06\ - \x12\x04\x9c\x05\x02\x0c\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\x9c\x05\r\ - \x18\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\x9c\x05\x1b\x1c\nW\n\x04\x04\t\ - \x02\x05\x12\x04\x9e\x05\x02&\x1aI\x20(optional)\x20Diagnostics\x20that\ + \x12\x04\xc9\x05\x02\x0c\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\xc9\x05\r\ + \x18\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xc9\x05\x1b\x1c\nW\n\x04\x04\t\ + \x02\x05\x12\x04\xcb\x05\x02&\x1aI\x20(optional)\x20Diagnostics\x20that\ \x20have\x20been\x20reported\x20for\x20this\x20specific\x20range.\n\n\r\ - \n\x05\x04\t\x02\x05\x04\x12\x04\x9e\x05\x02\n\n\r\n\x05\x04\t\x02\x05\ - \x06\x12\x04\x9e\x05\x0b\x15\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\x9e\x05\ - \x16!\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\x9e\x05$%\n\xb7\x0e\n\x04\x04\ - \t\x02\x06\x12\x04\xd3\x05\x02%\x1a\xa8\x0e\x20(optional)\x20Using\x20th\ + \n\x05\x04\t\x02\x05\x04\x12\x04\xcb\x05\x02\n\n\r\n\x05\x04\t\x02\x05\ + \x06\x12\x04\xcb\x05\x0b\x15\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xcb\x05\ + \x16!\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xcb\x05$%\n\xb7\x0e\n\x04\x04\ + \t\x02\x06\x12\x04\x80\x06\x02%\x1a\xa8\x0e\x20(optional)\x20Using\x20th\ e\x20same\x20encoding\x20as\x20the\x20sibling\x20`range`\x20field,\x20ha\ lf-open\n\x20source\x20range\x20of\x20the\x20nearest\x20non-trivial\x20e\ nclosing\x20AST\x20node.\x20This\x20range\x20must\n\x20enclose\x20the\ @@ -5678,55 +5838,55 @@ static file_descriptor_proto_data: &'static [u8] = b"\ sing_range\n\x20const\x20b\x20=\x20a.b(41).f(42).g(43)\n\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^^^^^^^^\x20enclosing_r\ - ange\n\x20```\n\n\r\n\x05\x04\t\x02\x06\x04\x12\x04\xd3\x05\x02\n\n\r\n\ - \x05\x04\t\x02\x06\x05\x12\x04\xd3\x05\x0b\x10\n\r\n\x05\x04\t\x02\x06\ - \x01\x12\x04\xd3\x05\x11\x20\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\xd3\x05\ - #$\nw\n\x02\x04\n\x12\x06\xd8\x05\0\xe3\x05\x01\x1ai\x20Represents\x20a\ + ange\n\x20```\n\n\r\n\x05\x04\t\x02\x06\x04\x12\x04\x80\x06\x02\n\n\r\n\ + \x05\x04\t\x02\x06\x05\x12\x04\x80\x06\x0b\x10\n\r\n\x05\x04\t\x02\x06\ + \x01\x12\x04\x80\x06\x11\x20\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\x80\x06\ + #$\nw\n\x02\x04\n\x12\x06\x85\x06\0\x90\x06\x01\x1ai\x20Represents\x20a\ \x20diagnostic,\x20such\x20as\x20a\x20compiler\x20error\x20or\x20warning\ ,\x20which\x20should\x20be\n\x20reported\x20for\x20a\x20document.\n\n\ - \x0b\n\x03\x04\n\x01\x12\x04\xd8\x05\x08\x12\nW\n\x04\x04\n\x02\0\x12\ - \x04\xda\x05\x02\x18\x1aI\x20Should\x20this\x20diagnostic\x20be\x20repor\ + \x0b\n\x03\x04\n\x01\x12\x04\x85\x06\x08\x12\nW\n\x04\x04\n\x02\0\x12\ + \x04\x87\x06\x02\x18\x1aI\x20Should\x20this\x20diagnostic\x20be\x20repor\ ted\x20as\x20an\x20error,\x20warning,\x20info,\x20or\x20hint?\n\n\r\n\ - \x05\x04\n\x02\0\x06\x12\x04\xda\x05\x02\n\n\r\n\x05\x04\n\x02\0\x01\x12\ - \x04\xda\x05\x0b\x13\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xda\x05\x16\x17\n\ - ]\n\x04\x04\n\x02\x01\x12\x04\xdc\x05\x02\x12\x1aO\x20(optional)\x20Code\ + \x05\x04\n\x02\0\x06\x12\x04\x87\x06\x02\n\n\r\n\x05\x04\n\x02\0\x01\x12\ + \x04\x87\x06\x0b\x13\n\r\n\x05\x04\n\x02\0\x03\x12\x04\x87\x06\x16\x17\n\ + ]\n\x04\x04\n\x02\x01\x12\x04\x89\x06\x02\x12\x1aO\x20(optional)\x20Code\ \x20of\x20this\x20diagnostic,\x20which\x20might\x20appear\x20in\x20the\ - \x20user\x20interface.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xdc\x05\x02\ - \x08\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xdc\x05\t\r\n\r\n\x05\x04\n\x02\ - \x01\x03\x12\x04\xdc\x05\x10\x11\n+\n\x04\x04\n\x02\x02\x12\x04\xde\x05\ + \x20user\x20interface.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\x89\x06\x02\ + \x08\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\x89\x06\t\r\n\r\n\x05\x04\n\x02\ + \x01\x03\x12\x04\x89\x06\x10\x11\n+\n\x04\x04\n\x02\x02\x12\x04\x8b\x06\ \x02\x15\x1a\x1d\x20Message\x20of\x20this\x20diagnostic.\n\n\r\n\x05\x04\ - \n\x02\x02\x05\x12\x04\xde\x05\x02\x08\n\r\n\x05\x04\n\x02\x02\x01\x12\ - \x04\xde\x05\t\x10\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xde\x05\x13\x14\n\ - ~\n\x04\x04\n\x02\x03\x12\x04\xe1\x05\x02\x14\x1ap\x20(optional)\x20Huma\ + \n\x02\x02\x05\x12\x04\x8b\x06\x02\x08\n\r\n\x05\x04\n\x02\x02\x01\x12\ + \x04\x8b\x06\t\x10\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\x8b\x06\x13\x14\n\ + ~\n\x04\x04\n\x02\x03\x12\x04\x8e\x06\x02\x14\x1ap\x20(optional)\x20Huma\ n-readable\x20string\x20describing\x20the\x20source\x20of\x20this\x20dia\ gnostic,\x20e.g.\n\x20'typescript'\x20or\x20'super\x20lint'.\n\n\r\n\x05\ - \x04\n\x02\x03\x05\x12\x04\xe1\x05\x02\x08\n\r\n\x05\x04\n\x02\x03\x01\ - \x12\x04\xe1\x05\t\x0f\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xe1\x05\x12\ - \x13\n\x0c\n\x04\x04\n\x02\x04\x12\x04\xe2\x05\x02\"\n\r\n\x05\x04\n\x02\ - \x04\x04\x12\x04\xe2\x05\x02\n\n\r\n\x05\x04\n\x02\x04\x06\x12\x04\xe2\ - \x05\x0b\x18\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xe2\x05\x19\x1d\n\r\n\ - \x05\x04\n\x02\x04\x03\x12\x04\xe2\x05\x20!\n\x0c\n\x02\x05\x05\x12\x06\ - \xe5\x05\0\xeb\x05\x01\n\x0b\n\x03\x05\x05\x01\x12\x04\xe5\x05\x05\r\n\ - \x0c\n\x04\x05\x05\x02\0\x12\x04\xe6\x05\x02\x1a\n\r\n\x05\x05\x05\x02\0\ - \x01\x12\x04\xe6\x05\x02\x15\n\r\n\x05\x05\x05\x02\0\x02\x12\x04\xe6\x05\ - \x18\x19\n\x0c\n\x04\x05\x05\x02\x01\x12\x04\xe7\x05\x02\x0c\n\r\n\x05\ - \x05\x05\x02\x01\x01\x12\x04\xe7\x05\x02\x07\n\r\n\x05\x05\x05\x02\x01\ - \x02\x12\x04\xe7\x05\n\x0b\n\x0c\n\x04\x05\x05\x02\x02\x12\x04\xe8\x05\ - \x02\x0e\n\r\n\x05\x05\x05\x02\x02\x01\x12\x04\xe8\x05\x02\t\n\r\n\x05\ - \x05\x05\x02\x02\x02\x12\x04\xe8\x05\x0c\r\n\x0c\n\x04\x05\x05\x02\x03\ - \x12\x04\xe9\x05\x02\x12\n\r\n\x05\x05\x05\x02\x03\x01\x12\x04\xe9\x05\ - \x02\r\n\r\n\x05\x05\x05\x02\x03\x02\x12\x04\xe9\x05\x10\x11\n\x0c\n\x04\ - \x05\x05\x02\x04\x12\x04\xea\x05\x02\x0b\n\r\n\x05\x05\x05\x02\x04\x01\ - \x12\x04\xea\x05\x02\x06\n\r\n\x05\x05\x05\x02\x04\x02\x12\x04\xea\x05\t\ - \n\n\x0c\n\x02\x05\x06\x12\x06\xed\x05\0\xf1\x05\x01\n\x0b\n\x03\x05\x06\ - \x01\x12\x04\xed\x05\x05\x12\n\x0c\n\x04\x05\x06\x02\0\x12\x04\xee\x05\ - \x02\x1f\n\r\n\x05\x05\x06\x02\0\x01\x12\x04\xee\x05\x02\x1a\n\r\n\x05\ - \x05\x06\x02\0\x02\x12\x04\xee\x05\x1d\x1e\n\x0c\n\x04\x05\x06\x02\x01\ - \x12\x04\xef\x05\x02\x12\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\xef\x05\ - \x02\r\n\r\n\x05\x05\x06\x02\x01\x02\x12\x04\xef\x05\x10\x11\n\x0c\n\x04\ - \x05\x06\x02\x02\x12\x04\xf0\x05\x02\x11\n\r\n\x05\x05\x06\x02\x02\x01\ - \x12\x04\xf0\x05\x02\x0c\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\xf0\x05\ - \x0f\x10\n\xd0\x03\n\x02\x05\x07\x12\x06\xf9\x05\0\xef\x06\x01\x1a\xc1\ + \x04\n\x02\x03\x05\x12\x04\x8e\x06\x02\x08\n\r\n\x05\x04\n\x02\x03\x01\ + \x12\x04\x8e\x06\t\x0f\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\x8e\x06\x12\ + \x13\n\x0c\n\x04\x04\n\x02\x04\x12\x04\x8f\x06\x02\"\n\r\n\x05\x04\n\x02\ + \x04\x04\x12\x04\x8f\x06\x02\n\n\r\n\x05\x04\n\x02\x04\x06\x12\x04\x8f\ + \x06\x0b\x18\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\x8f\x06\x19\x1d\n\r\n\ + \x05\x04\n\x02\x04\x03\x12\x04\x8f\x06\x20!\n\x0c\n\x02\x05\x05\x12\x06\ + \x92\x06\0\x98\x06\x01\n\x0b\n\x03\x05\x05\x01\x12\x04\x92\x06\x05\r\n\ + \x0c\n\x04\x05\x05\x02\0\x12\x04\x93\x06\x02\x1a\n\r\n\x05\x05\x05\x02\0\ + \x01\x12\x04\x93\x06\x02\x15\n\r\n\x05\x05\x05\x02\0\x02\x12\x04\x93\x06\ + \x18\x19\n\x0c\n\x04\x05\x05\x02\x01\x12\x04\x94\x06\x02\x0c\n\r\n\x05\ + \x05\x05\x02\x01\x01\x12\x04\x94\x06\x02\x07\n\r\n\x05\x05\x05\x02\x01\ + \x02\x12\x04\x94\x06\n\x0b\n\x0c\n\x04\x05\x05\x02\x02\x12\x04\x95\x06\ + \x02\x0e\n\r\n\x05\x05\x05\x02\x02\x01\x12\x04\x95\x06\x02\t\n\r\n\x05\ + \x05\x05\x02\x02\x02\x12\x04\x95\x06\x0c\r\n\x0c\n\x04\x05\x05\x02\x03\ + \x12\x04\x96\x06\x02\x12\n\r\n\x05\x05\x05\x02\x03\x01\x12\x04\x96\x06\ + \x02\r\n\r\n\x05\x05\x05\x02\x03\x02\x12\x04\x96\x06\x10\x11\n\x0c\n\x04\ + \x05\x05\x02\x04\x12\x04\x97\x06\x02\x0b\n\r\n\x05\x05\x05\x02\x04\x01\ + \x12\x04\x97\x06\x02\x06\n\r\n\x05\x05\x05\x02\x04\x02\x12\x04\x97\x06\t\ + \n\n\x0c\n\x02\x05\x06\x12\x06\x9a\x06\0\x9e\x06\x01\n\x0b\n\x03\x05\x06\ + \x01\x12\x04\x9a\x06\x05\x12\n\x0c\n\x04\x05\x06\x02\0\x12\x04\x9b\x06\ + \x02\x1f\n\r\n\x05\x05\x06\x02\0\x01\x12\x04\x9b\x06\x02\x1a\n\r\n\x05\ + \x05\x06\x02\0\x02\x12\x04\x9b\x06\x1d\x1e\n\x0c\n\x04\x05\x06\x02\x01\ + \x12\x04\x9c\x06\x02\x12\n\r\n\x05\x05\x06\x02\x01\x01\x12\x04\x9c\x06\ + \x02\r\n\r\n\x05\x05\x06\x02\x01\x02\x12\x04\x9c\x06\x10\x11\n\x0c\n\x04\ + \x05\x06\x02\x02\x12\x04\x9d\x06\x02\x11\n\r\n\x05\x05\x06\x02\x02\x01\ + \x12\x04\x9d\x06\x02\x0c\n\r\n\x05\x05\x06\x02\x02\x02\x12\x04\x9d\x06\ + \x0f\x10\n\xd0\x03\n\x02\x05\x07\x12\x06\xa6\x06\0\x9c\x07\x01\x1a\xc1\ \x03\x20Language\x20standardises\x20names\x20of\x20common\x20programming\ \x20languages\x20that\x20can\x20be\x20used\n\x20for\x20the\x20`Document.\ language`\x20field.\x20The\x20primary\x20purpose\x20of\x20this\x20enum\ @@ -5736,245 +5896,245 @@ static file_descriptor_proto_data: &'static [u8] = b"\ uage\x20uses\x20the\x20name\n\x20\"CPP\"\x20in\x20this\x20enum\x20and\ \x20other\x20names\x20such\x20as\x20\"cpp\"\x20are\x20incompatible.\n\ \x20Feel\x20free\x20to\x20send\x20a\x20pull-request\x20to\x20add\x20miss\ - ing\x20programming\x20languages.\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xf9\ - \x05\x05\r\n\x0c\n\x04\x05\x07\x02\0\x12\x04\xfa\x05\x02\x1a\n\r\n\x05\ - \x05\x07\x02\0\x01\x12\x04\xfa\x05\x02\x15\n\r\n\x05\x05\x07\x02\0\x02\ - \x12\x04\xfa\x05\x18\x19\n\x0c\n\x04\x05\x07\x02\x01\x12\x04\xfb\x05\x02\ - \x0c\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xfb\x05\x02\x06\n\r\n\x05\x05\ - \x07\x02\x01\x02\x12\x04\xfb\x05\t\x0b\n\x0c\n\x04\x05\x07\x02\x02\x12\ - \x04\xfc\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x02\x01\x12\x04\xfc\x05\x02\ - \x06\n\r\n\x05\x05\x07\x02\x02\x02\x12\x04\xfc\x05\t\x0b\n\x0c\n\x04\x05\ - \x07\x02\x03\x12\x04\xfd\x05\x02\x0b\n\r\n\x05\x05\x07\x02\x03\x01\x12\ - \x04\xfd\x05\x02\x05\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xfd\x05\x08\n\ - \n\x0c\n\x04\x05\x07\x02\x04\x12\x04\xfe\x05\x02\x0b\n\r\n\x05\x05\x07\ - \x02\x04\x01\x12\x04\xfe\x05\x02\x05\n\r\n\x05\x05\x07\x02\x04\x02\x12\ - \x04\xfe\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x05\x12\x04\xff\x05\x02\x0c\n\ - \r\n\x05\x05\x07\x02\x05\x01\x12\x04\xff\x05\x02\x06\n\r\n\x05\x05\x07\ - \x02\x05\x02\x12\x04\xff\x05\t\x0b\n\x0c\n\x04\x05\x07\x02\x06\x12\x04\ - \x80\x06\x02\x10\n\r\n\x05\x05\x07\x02\x06\x01\x12\x04\x80\x06\x02\n\n\r\ - \n\x05\x05\x07\x02\x06\x02\x12\x04\x80\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\ - \x07\x12\x04\x81\x06\x02\x10\n\r\n\x05\x05\x07\x02\x07\x01\x12\x04\x81\ - \x06\x02\n\n\r\n\x05\x05\x07\x02\x07\x02\x12\x04\x81\x06\r\x0f\n\x0c\n\ - \x04\x05\x07\x02\x08\x12\x04\x82\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x08\ - \x01\x12\x04\x82\x06\x02\x05\n\r\n\x05\x05\x07\x02\x08\x02\x12\x04\x82\ - \x06\x08\n\n\x0c\n\x04\x05\x07\x02\t\x12\x04\x83\x06\x02\x0b\n\r\n\x05\ - \x05\x07\x02\t\x01\x12\x04\x83\x06\x02\x05\n\r\n\x05\x05\x07\x02\t\x02\ - \x12\x04\x83\x06\x08\n\n\x0c\n\x04\x05\x07\x02\n\x12\x04\x84\x06\x02\x0e\ - \n\r\n\x05\x05\x07\x02\n\x01\x12\x04\x84\x06\x02\x08\n\r\n\x05\x05\x07\ - \x02\n\x02\x12\x04\x84\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x0b\x12\x04\x85\ - \x06\x02\t\n\r\n\x05\x05\x07\x02\x0b\x01\x12\x04\x85\x06\x02\x03\n\r\n\ - \x05\x05\x07\x02\x0b\x02\x12\x04\x85\x06\x06\x08\n\x0c\n\x04\x05\x07\x02\ - \x0c\x12\x04\x86\x06\x02\r\n\r\n\x05\x05\x07\x02\x0c\x01\x12\x04\x86\x06\ - \x02\x07\n\r\n\x05\x05\x07\x02\x0c\x02\x12\x04\x86\x06\n\x0c\nH\n\x04\ - \x05\x07\x02\r\x12\x04\x87\x06\x02\x0b\":\x20C++\x20(the\x20name\x20\"CP\ + ing\x20programming\x20languages.\n\n\x0b\n\x03\x05\x07\x01\x12\x04\xa6\ + \x06\x05\r\n\x0c\n\x04\x05\x07\x02\0\x12\x04\xa7\x06\x02\x1a\n\r\n\x05\ + \x05\x07\x02\0\x01\x12\x04\xa7\x06\x02\x15\n\r\n\x05\x05\x07\x02\0\x02\ + \x12\x04\xa7\x06\x18\x19\n\x0c\n\x04\x05\x07\x02\x01\x12\x04\xa8\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xa8\x06\x02\x06\n\r\n\x05\x05\ + \x07\x02\x01\x02\x12\x04\xa8\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x02\x12\ + \x04\xa9\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x02\x01\x12\x04\xa9\x06\x02\ + \x06\n\r\n\x05\x05\x07\x02\x02\x02\x12\x04\xa9\x06\t\x0b\n\x0c\n\x04\x05\ + \x07\x02\x03\x12\x04\xaa\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x03\x01\x12\ + \x04\xaa\x06\x02\x05\n\r\n\x05\x05\x07\x02\x03\x02\x12\x04\xaa\x06\x08\n\ + \n\x0c\n\x04\x05\x07\x02\x04\x12\x04\xab\x06\x02\x0b\n\r\n\x05\x05\x07\ + \x02\x04\x01\x12\x04\xab\x06\x02\x05\n\r\n\x05\x05\x07\x02\x04\x02\x12\ + \x04\xab\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x05\x12\x04\xac\x06\x02\x0c\n\ + \r\n\x05\x05\x07\x02\x05\x01\x12\x04\xac\x06\x02\x06\n\r\n\x05\x05\x07\ + \x02\x05\x02\x12\x04\xac\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x06\x12\x04\ + \xad\x06\x02\x10\n\r\n\x05\x05\x07\x02\x06\x01\x12\x04\xad\x06\x02\n\n\r\ + \n\x05\x05\x07\x02\x06\x02\x12\x04\xad\x06\r\x0f\n\x0c\n\x04\x05\x07\x02\ + \x07\x12\x04\xae\x06\x02\x10\n\r\n\x05\x05\x07\x02\x07\x01\x12\x04\xae\ + \x06\x02\n\n\r\n\x05\x05\x07\x02\x07\x02\x12\x04\xae\x06\r\x0f\n\x0c\n\ + \x04\x05\x07\x02\x08\x12\x04\xaf\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x08\ + \x01\x12\x04\xaf\x06\x02\x05\n\r\n\x05\x05\x07\x02\x08\x02\x12\x04\xaf\ + \x06\x08\n\n\x0c\n\x04\x05\x07\x02\t\x12\x04\xb0\x06\x02\x0b\n\r\n\x05\ + \x05\x07\x02\t\x01\x12\x04\xb0\x06\x02\x05\n\r\n\x05\x05\x07\x02\t\x02\ + \x12\x04\xb0\x06\x08\n\n\x0c\n\x04\x05\x07\x02\n\x12\x04\xb1\x06\x02\x0e\ + \n\r\n\x05\x05\x07\x02\n\x01\x12\x04\xb1\x06\x02\x08\n\r\n\x05\x05\x07\ + \x02\n\x02\x12\x04\xb1\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x0b\x12\x04\xb2\ + \x06\x02\t\n\r\n\x05\x05\x07\x02\x0b\x01\x12\x04\xb2\x06\x02\x03\n\r\n\ + \x05\x05\x07\x02\x0b\x02\x12\x04\xb2\x06\x06\x08\n\x0c\n\x04\x05\x07\x02\ + \x0c\x12\x04\xb3\x06\x02\r\n\r\n\x05\x05\x07\x02\x0c\x01\x12\x04\xb3\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02\x0c\x02\x12\x04\xb3\x06\n\x0c\nH\n\x04\ + \x05\x07\x02\r\x12\x04\xb4\x06\x02\x0b\":\x20C++\x20(the\x20name\x20\"CP\ P\"\x20was\x20chosen\x20for\x20consistency\x20with\x20LSP)\n\n\r\n\x05\ - \x05\x07\x02\r\x01\x12\x04\x87\x06\x02\x05\n\r\n\x05\x05\x07\x02\r\x02\ - \x12\x04\x87\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0e\x12\x04\x88\x06\x02\ - \x0b\n\r\n\x05\x05\x07\x02\x0e\x01\x12\x04\x88\x06\x02\x05\n\r\n\x05\x05\ - \x07\x02\x0e\x02\x12\x04\x88\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0f\x12\ - \x04\x89\x06\x02\r\n\r\n\x05\x05\x07\x02\x0f\x01\x12\x04\x89\x06\x02\x08\ - \n\r\n\x05\x05\x07\x02\x0f\x02\x12\x04\x89\x06\x0b\x0c\n\x0c\n\x04\x05\ - \x07\x02\x10\x12\x04\x8a\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\x01\x12\ - \x04\x8a\x06\x02\t\n\r\n\x05\x05\x07\x02\x10\x02\x12\x04\x8a\x06\x0c\r\n\ - \x0c\n\x04\x05\x07\x02\x11\x12\x04\x8b\x06\x02\x14\n\r\n\x05\x05\x07\x02\ - \x11\x01\x12\x04\x8b\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\x12\x04\ - \x8b\x06\x11\x13\n\x0c\n\x04\x05\x07\x02\x12\x12\x04\x8c\x06\x02\x11\n\r\ - \n\x05\x05\x07\x02\x12\x01\x12\x04\x8c\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ - \x12\x02\x12\x04\x8c\x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\x04\x8d\ - \x06\x02\x0b\n\r\n\x05\x05\x07\x02\x13\x01\x12\x04\x8d\x06\x02\x05\n\r\n\ - \x05\x05\x07\x02\x13\x02\x12\x04\x8d\x06\x08\n\n\x0c\n\x04\x05\x07\x02\ - \x14\x12\x04\x8e\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\x04\x8e\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02\x14\x02\x12\x04\x8e\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02\x15\x12\x04\x8f\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x15\ - \x01\x12\x04\x8f\x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\x04\x8f\ - \x06\t\n\n\x0c\n\x04\x05\x07\x02\x16\x12\x04\x90\x06\x02\x0e\n\r\n\x05\ - \x05\x07\x02\x16\x01\x12\x04\x90\x06\x02\x08\n\r\n\x05\x05\x07\x02\x16\ - \x02\x12\x04\x90\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\x91\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02\x17\x01\x12\x04\x91\x06\x02\x06\n\r\n\x05\ - \x05\x07\x02\x17\x02\x12\x04\x91\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x18\ - \x12\x04\x92\x06\x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\x92\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02\x18\x02\x12\x04\x92\x06\x0f\x11\n\x0c\n\ - \x04\x05\x07\x02\x19\x12\x04\x93\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\ - \x01\x12\x04\x93\x06\x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\x93\ - \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1a\x12\x04\x94\x06\x02\x0e\n\r\n\x05\ - \x05\x07\x02\x1a\x01\x12\x04\x94\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\ - \x02\x12\x04\x94\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\x95\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02\x1b\x01\x12\x04\x95\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02\x1b\x02\x12\x04\x95\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\ - \x12\x04\x96\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\x96\x06\ - \x02\x08\n\r\n\x05\x05\x07\x02\x1c\x02\x12\x04\x96\x06\x0b\r\n\x0c\n\x04\ - \x05\x07\x02\x1d\x12\x04\x97\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\ - \x12\x04\x97\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\x97\x06\t\ - \x0b\n\x0c\n\x04\x05\x07\x02\x1e\x12\x04\x98\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02\x1e\x01\x12\x04\x98\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\ - \x12\x04\x98\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\x99\x06\x02\ - \x0f\n\r\n\x05\x05\x07\x02\x1f\x01\x12\x04\x99\x06\x02\t\n\r\n\x05\x05\ - \x07\x02\x1f\x02\x12\x04\x99\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\ - \x04\x9a\x06\x02\x12\n\r\n\x05\x05\x07\x02\x20\x01\x12\x04\x9a\x06\x02\ - \x0c\n\r\n\x05\x05\x07\x02\x20\x02\x12\x04\x9a\x06\x0f\x11\n\x0c\n\x04\ - \x05\x07\x02!\x12\x04\x9b\x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\ - \x9b\x06\x02\x0c\n\r\n\x05\x05\x07\x02!\x02\x12\x04\x9b\x06\x0f\x11\n\ - \x0c\n\x04\x05\x07\x02\"\x12\x04\x9c\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\ - \x01\x12\x04\x9c\x06\x02\x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\x9c\x06\ - \x0f\x11\n\x0c\n\x04\x05\x07\x02#\x12\x04\x9d\x06\x02\n\n\r\n\x05\x05\ - \x07\x02#\x01\x12\x04\x9d\x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\ - \x9d\x06\x07\t\n\x0c\n\x04\x05\x07\x02$\x12\x04\x9e\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02$\x01\x12\x04\x9e\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\ - \x12\x04\x9e\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02%\x12\x04\x9f\x06\x02\r\ - \n\r\n\x05\x05\x07\x02%\x01\x12\x04\x9f\x06\x02\x08\n\r\n\x05\x05\x07\ - \x02%\x02\x12\x04\x9f\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\xa0\ - \x06\x02\x0c\n\r\n\x05\x05\x07\x02&\x01\x12\x04\xa0\x06\x02\x06\n\r\n\ - \x05\x05\x07\x02&\x02\x12\x04\xa0\x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\ - \x04\xa1\x06\x02\x0c\n\r\n\x05\x05\x07\x02'\x01\x12\x04\xa1\x06\x02\x06\ - \n\r\n\x05\x05\x07\x02'\x02\x12\x04\xa1\x06\t\x0b\n\x0c\n\x04\x05\x07\ - \x02(\x12\x04\xa2\x06\x02\x12\n\r\n\x05\x05\x07\x02(\x01\x12\x04\xa2\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02(\x02\x12\x04\xa2\x06\x0f\x11\n\x0c\n\x04\ - \x05\x07\x02)\x12\x04\xa3\x06\x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\ - \xa3\x06\x02\t\n\r\n\x05\x05\x07\x02)\x02\x12\x04\xa3\x06\x0c\x0e\n\x0c\ - \n\x04\x05\x07\x02*\x12\x04\xa4\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\ - \x04\xa4\x06\x02\x07\n\r\n\x05\x05\x07\x02*\x02\x12\x04\xa4\x06\n\x0c\n\ - \x0c\n\x04\x05\x07\x02+\x12\x04\xa5\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\ - \x01\x12\x04\xa5\x06\x02\x05\n\r\n\x05\x05\x07\x02+\x02\x12\x04\xa5\x06\ - \x08\n\n\x0c\n\x04\x05\x07\x02,\x12\x04\xa6\x06\x02\t\n\r\n\x05\x05\x07\ - \x02,\x01\x12\x04\xa6\x06\x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xa6\ - \x06\x06\x08\n\x0c\n\x04\x05\x07\x02-\x12\x04\xa7\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x02-\x01\x12\x04\xa7\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\ - \x04\xa7\x06\t\x0b\n\x0c\n\x04\x05\x07\x02.\x12\x04\xa8\x06\x02\x0b\n\r\ - \n\x05\x05\x07\x02.\x01\x12\x04\xa8\x06\x02\x06\n\r\n\x05\x05\x07\x02.\ - \x02\x12\x04\xa8\x06\t\n\n\x0c\n\x04\x05\x07\x02/\x12\x04\xa9\x06\x02\ - \x12\n\r\n\x05\x05\x07\x02/\x01\x12\x04\xa9\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02/\x02\x12\x04\xa9\x06\x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\ - \xaa\x06\x02\x17\n\r\n\x05\x05\x07\x020\x01\x12\x04\xaa\x06\x02\x11\n\r\ - \n\x05\x05\x07\x020\x02\x12\x04\xaa\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\ - \x12\x04\xab\x06\x02\x0f\n\r\n\x05\x05\x07\x021\x01\x12\x04\xab\x06\x02\ - \t\n\r\n\x05\x05\x07\x021\x02\x12\x04\xab\x06\x0c\x0e\n\x0c\n\x04\x05\ - \x07\x022\x12\x04\xac\x06\x02\r\n\r\n\x05\x05\x07\x022\x01\x12\x04\xac\ - \x06\x02\x07\n\r\n\x05\x05\x07\x022\x02\x12\x04\xac\x06\n\x0c\n\x0c\n\ - \x04\x05\x07\x023\x12\x04\xad\x06\x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\ - \x04\xad\x06\x02\n\n\r\n\x05\x05\x07\x023\x02\x12\x04\xad\x06\r\x10\n\ - \x0c\n\x04\x05\x07\x024\x12\x04\xae\x06\x02\r\n\r\n\x05\x05\x07\x024\x01\ - \x12\x04\xae\x06\x02\x08\n\r\n\x05\x05\x07\x024\x02\x12\x04\xae\x06\x0b\ - \x0c\n\x0c\n\x04\x05\x07\x025\x12\x04\xaf\x06\x02\r\n\r\n\x05\x05\x07\ - \x025\x01\x12\x04\xaf\x06\x02\x07\n\r\n\x05\x05\x07\x025\x02\x12\x04\xaf\ - \x06\n\x0c\n\x0c\n\x04\x05\x07\x026\x12\x04\xb0\x06\x02\x0c\n\r\n\x05\ - \x05\x07\x026\x01\x12\x04\xb0\x06\x02\x06\n\r\n\x05\x05\x07\x026\x02\x12\ - \x04\xb0\x06\t\x0b\n\x0c\n\x04\x05\x07\x027\x12\x04\xb1\x06\x02\x0c\n\r\ - \n\x05\x05\x07\x027\x01\x12\x04\xb1\x06\x02\x06\n\r\n\x05\x05\x07\x027\ - \x02\x12\x04\xb1\x06\t\x0b\n\x0c\n\x04\x05\x07\x028\x12\x04\xb2\x06\x02\ - \x0b\n\r\n\x05\x05\x07\x028\x01\x12\x04\xb2\x06\x02\x05\n\r\n\x05\x05\ - \x07\x028\x02\x12\x04\xb2\x06\x08\n\n\x0c\n\x04\x05\x07\x029\x12\x04\xb3\ - \x06\x02\r\n\r\n\x05\x05\x07\x029\x01\x12\x04\xb3\x06\x02\x06\n\r\n\x05\ - \x05\x07\x029\x02\x12\x04\xb3\x06\t\x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\ - \xb4\x06\x02\x10\n\r\n\x05\x05\x07\x02:\x01\x12\x04\xb4\x06\x02\n\n\r\n\ - \x05\x05\x07\x02:\x02\x12\x04\xb4\x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\ - \x04\xb5\x06\x02\x10\n\r\n\x05\x05\x07\x02;\x01\x12\x04\xb5\x06\x02\n\n\ - \r\n\x05\x05\x07\x02;\x02\x12\x04\xb5\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\ - \x12\x04\xb6\x06\x02\x0e\n\r\n\x05\x05\x07\x02<\x01\x12\x04\xb6\x06\x02\ - \x08\n\r\n\x05\x05\x07\x02<\x02\x12\x04\xb6\x06\x0b\r\n(\n\x04\x05\x07\ - \x02=\x12\x04\xb7\x06\x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\ - \x05\x05\x07\x02=\x01\x12\x04\xb7\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\ - \x12\x04\xb7\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02>\x12\x04\xb8\x06\x02\ - \x0b\n\r\n\x05\x05\x07\x02>\x01\x12\x04\xb8\x06\x02\x05\n\r\n\x05\x05\ - \x07\x02>\x02\x12\x04\xb8\x06\x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xb9\ - \x06\x02\r\n\r\n\x05\x05\x07\x02?\x01\x12\x04\xb9\x06\x02\x07\n\r\n\x05\ - \x05\x07\x02?\x02\x12\x04\xb9\x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\ - \xba\x06\x02\x13\n\r\n\x05\x05\x07\x02@\x01\x12\x04\xba\x06\x02\r\n\r\n\ - \x05\x05\x07\x02@\x02\x12\x04\xba\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\ - \x12\x04\xbb\x06\x02\x15\n\r\n\x05\x05\x07\x02A\x01\x12\x04\xbb\x06\x02\ - \x0f\n\r\n\x05\x05\x07\x02A\x02\x12\x04\xbb\x06\x12\x14\n\x0c\n\x04\x05\ - \x07\x02B\x12\x04\xbc\x06\x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xbc\ - \x06\x02\x08\n\r\n\x05\x05\x07\x02B\x02\x12\x04\xbc\x06\x0b\r\n\x0c\n\ - \x04\x05\x07\x02C\x12\x04\xbd\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\ - \x04\xbd\x06\x02\x05\n\r\n\x05\x05\x07\x02C\x02\x12\x04\xbd\x06\x08\n\n\ - \x0c\n\x04\x05\x07\x02D\x12\x04\xbe\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\ - \x12\x04\xbe\x06\x02\x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xbe\x06\n\ - \x0c\n\x0c\n\x04\x05\x07\x02E\x12\x04\xbf\x06\x02\x0c\n\r\n\x05\x05\x07\ - \x02E\x01\x12\x04\xbf\x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xbf\ - \x06\t\x0b\n\x0c\n\x04\x05\x07\x02F\x12\x04\xc0\x06\x02\x12\n\r\n\x05\ - \x05\x07\x02F\x01\x12\x04\xc0\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\ - \x04\xc0\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02G\x12\x04\xc1\x06\x02\x0e\n\ - \r\n\x05\x05\x07\x02G\x01\x12\x04\xc1\x06\x02\x08\n\r\n\x05\x05\x07\x02G\ - \x02\x12\x04\xc1\x06\x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xc2\x06\x02\ - \x11\n\r\n\x05\x05\x07\x02H\x01\x12\x04\xc2\x06\x02\n\n\r\n\x05\x05\x07\ - \x02H\x02\x12\x04\xc2\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xc3\x06\ - \x02\x0e\n\r\n\x05\x05\x07\x02I\x01\x12\x04\xc3\x06\x02\x08\n\r\n\x05\ - \x05\x07\x02I\x02\x12\x04\xc3\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\ - \xc4\x06\x02\t\n\r\n\x05\x05\x07\x02J\x01\x12\x04\xc4\x06\x02\x03\n\r\n\ - \x05\x05\x07\x02J\x02\x12\x04\xc4\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\ - \x12\x04\xc5\x06\x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xc5\x06\x02\ - \x08\n\r\n\x05\x05\x07\x02K\x02\x12\x04\xc5\x06\x0b\r\n\x0c\n\x04\x05\ - \x07\x02L\x12\x04\xc6\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xc6\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02L\x02\x12\x04\xc6\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02M\x12\x04\xc7\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\ - \x04\xc7\x06\x02\x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xc7\x06\n\x0c\n2\ - \n\x04\x05\x07\x02N\x12\x04\xc8\x06\x02\x0e\"$\x20Internal\x20language\ - \x20for\x20testing\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xc8\x06\ - \x02\x07\n\r\n\x05\x05\x07\x02N\x02\x12\x04\xc8\x06\n\r\n\x0c\n\x04\x05\ - \x07\x02O\x12\x04\xc9\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xc9\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02O\x02\x12\x04\xc9\x06\t\x0b\n\x0c\n\ - \x04\x05\x07\x02P\x12\x04\xca\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\ - \x04\xca\x06\x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xca\x06\t\x0b\n\ - \x0c\n\x04\x05\x07\x02Q\x12\x04\xcb\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\ - \x01\x12\x04\xcb\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xcb\x06\ - \t\x0b\n\x0c\n\x04\x05\x07\x02R\x12\x04\xcc\x06\x02\x0b\n\r\n\x05\x05\ - \x07\x02R\x01\x12\x04\xcc\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\ - \xcc\x06\x08\n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xcd\x06\x02\x0c\n\r\n\ - \x05\x05\x07\x02S\x01\x12\x04\xcd\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\ - \x12\x04\xcd\x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xce\x06\x02\x0b\ - \n\r\n\x05\x05\x07\x02T\x01\x12\x04\xce\x06\x02\x05\n\r\n\x05\x05\x07\ - \x02T\x02\x12\x04\xce\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xcf\x06\ - \x02\x0b\n\r\n\x05\x05\x07\x02U\x01\x12\x04\xcf\x06\x02\x05\n\r\n\x05\ - \x05\x07\x02U\x02\x12\x04\xcf\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\ - \xd0\x06\x02\x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xd0\x06\x02\x06\n\r\ - \n\x05\x05\x07\x02V\x02\x12\x04\xd0\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\ - \x12\x04\xd1\x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xd1\x06\x02\ - \x07\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xd1\x06\n\x0b\n\x0c\n\x04\x05\ - \x07\x02X\x12\x04\xd2\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xd2\ - \x06\x02\x08\n\r\n\x05\x05\x07\x02X\x02\x12\x04\xd2\x06\x0b\r\n\x14\n\ - \x04\x05\x07\x02Y\x12\x04\xd3\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\ - \x07\x02Y\x01\x12\x04\xd3\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\ - \xd3\x06\x10\x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xd4\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02Z\x01\x12\x04\xd4\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\ - \x12\x04\xd4\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xd5\x06\x02\ - \x0e\n\r\n\x05\x05\x07\x02[\x01\x12\x04\xd5\x06\x02\x07\n\r\n\x05\x05\ - \x07\x02[\x02\x12\x04\xd5\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xd6\ - \x06\x02\x10\n\r\n\x05\x05\x07\x02\\\x01\x12\x04\xd6\x06\x02\n\n\r\n\x05\ - \x05\x07\x02\\\x02\x12\x04\xd6\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\ - \x04\xd7\x06\x02\x0f\n\r\n\x05\x05\x07\x02]\x01\x12\x04\xd7\x06\x02\x08\ - \n\r\n\x05\x05\x07\x02]\x02\x12\x04\xd7\x06\x0b\x0e\n\x0c\n\x04\x05\x07\ - \x02^\x12\x04\xd8\x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xd8\x06\ - \x02\x07\n\r\n\x05\x05\x07\x02^\x02\x12\x04\xd8\x06\n\x0b\n\x0c\n\x04\ - \x05\x07\x02_\x12\x04\xd9\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\ - \xd9\x06\x02\x05\n\r\n\x05\x05\x07\x02_\x02\x12\x04\xd9\x06\x08\x0b\n\ - \x0c\n\x04\x05\x07\x02`\x12\x04\xda\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\ - \x01\x12\x04\xda\x06\x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xda\x06\ - \t\x0b\n\x0c\n\x04\x05\x07\x02a\x12\x04\xdb\x06\x02\x0b\n\r\n\x05\x05\ - \x07\x02a\x01\x12\x04\xdb\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\ - \xdb\x06\x08\n\n\x0c\n\x04\x05\x07\x02b\x12\x04\xdc\x06\x02\x0f\n\r\n\ - \x05\x05\x07\x02b\x01\x12\x04\xdc\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\ - \x12\x04\xdc\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xdd\x06\x02\ - \x12\n\r\n\x05\x05\x07\x02c\x01\x12\x04\xdd\x06\x02\x0c\n\r\n\x05\x05\ - \x07\x02c\x02\x12\x04\xdd\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\ - \xde\x06\x02\x17\n\r\n\x05\x05\x07\x02d\x01\x12\x04\xde\x06\x02\x11\n\r\ - \n\x05\x05\x07\x02d\x02\x12\x04\xde\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\ - \x12\x04\xdf\x06\x02\x10\n\r\n\x05\x05\x07\x02e\x01\x12\x04\xdf\x06\x02\ - \t\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xdf\x06\x0c\x0f\n\x0c\n\x04\x05\ - \x07\x02f\x12\x04\xe0\x06\x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xe0\ - \x06\x02\x06\n\r\n\x05\x05\x07\x02f\x02\x12\x04\xe0\x06\t\x0c\n\x0c\n\ - \x04\x05\x07\x02g\x12\x04\xe1\x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\ - \x04\xe1\x06\x02\r\n\r\n\x05\x05\x07\x02g\x02\x12\x04\xe1\x06\x10\x12\n\ - \x0c\n\x04\x05\x07\x02h\x12\x04\xe2\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\ - \x01\x12\x04\xe2\x06\x02\x05\n\r\n\x05\x05\x07\x02h\x02\x12\x04\xe2\x06\ - \x08\n\n\x0c\n\x04\x05\x07\x02i\x12\x04\xe3\x06\x02\x0f\n\r\n\x05\x05\ - \x07\x02i\x01\x12\x04\xe3\x06\x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\ - \xe3\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02j\x12\x04\xe4\x06\x02\x0b\n\r\n\ - \x05\x05\x07\x02j\x01\x12\x04\xe4\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\ - \x12\x04\xe4\x06\x08\n\n\x0c\n\x04\x05\x07\x02k\x12\x04\xe5\x06\x02\x0b\ - \n\r\n\x05\x05\x07\x02k\x01\x12\x04\xe5\x06\x02\x05\n\r\n\x05\x05\x07\ - \x02k\x02\x12\x04\xe5\x06\x08\n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xe6\x06\ - \x02\x0c\n\r\n\x05\x05\x07\x02l\x01\x12\x04\xe6\x06\x02\x06\n\r\n\x05\ - \x05\x07\x02l\x02\x12\x04\xe6\x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\ - \x04\xe7\x06\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\ + \x05\x07\x02\r\x01\x12\x04\xb4\x06\x02\x05\n\r\n\x05\x05\x07\x02\r\x02\ + \x12\x04\xb4\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0e\x12\x04\xb5\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x02\x0e\x01\x12\x04\xb5\x06\x02\x05\n\r\n\x05\x05\ + \x07\x02\x0e\x02\x12\x04\xb5\x06\x08\n\n\x0c\n\x04\x05\x07\x02\x0f\x12\ + \x04\xb6\x06\x02\r\n\r\n\x05\x05\x07\x02\x0f\x01\x12\x04\xb6\x06\x02\x08\ + \n\r\n\x05\x05\x07\x02\x0f\x02\x12\x04\xb6\x06\x0b\x0c\n\x0c\n\x04\x05\ + \x07\x02\x10\x12\x04\xb7\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x10\x01\x12\ + \x04\xb7\x06\x02\t\n\r\n\x05\x05\x07\x02\x10\x02\x12\x04\xb7\x06\x0c\r\n\ + \x0c\n\x04\x05\x07\x02\x11\x12\x04\xb8\x06\x02\x14\n\r\n\x05\x05\x07\x02\ + \x11\x01\x12\x04\xb8\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\x12\x04\ + \xb8\x06\x11\x13\n\x0c\n\x04\x05\x07\x02\x12\x12\x04\xb9\x06\x02\x11\n\r\ + \n\x05\x05\x07\x02\x12\x01\x12\x04\xb9\x06\x02\x0c\n\r\n\x05\x05\x07\x02\ + \x12\x02\x12\x04\xb9\x06\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\x04\xba\ + \x06\x02\x0b\n\r\n\x05\x05\x07\x02\x13\x01\x12\x04\xba\x06\x02\x05\n\r\n\ + \x05\x05\x07\x02\x13\x02\x12\x04\xba\x06\x08\n\n\x0c\n\x04\x05\x07\x02\ + \x14\x12\x04\xbb\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\x04\xbb\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02\x14\x02\x12\x04\xbb\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02\x15\x12\x04\xbc\x06\x02\x0b\n\r\n\x05\x05\x07\x02\x15\ + \x01\x12\x04\xbc\x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\x04\xbc\ + \x06\t\n\n\x0c\n\x04\x05\x07\x02\x16\x12\x04\xbd\x06\x02\x0e\n\r\n\x05\ + \x05\x07\x02\x16\x01\x12\x04\xbd\x06\x02\x08\n\r\n\x05\x05\x07\x02\x16\ + \x02\x12\x04\xbd\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\xbe\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02\x17\x01\x12\x04\xbe\x06\x02\x06\n\r\n\x05\ + \x05\x07\x02\x17\x02\x12\x04\xbe\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x18\ + \x12\x04\xbf\x06\x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\xbf\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02\x18\x02\x12\x04\xbf\x06\x0f\x11\n\x0c\n\ + \x04\x05\x07\x02\x19\x12\x04\xc0\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\ + \x01\x12\x04\xc0\x06\x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\xc0\ + \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1a\x12\x04\xc1\x06\x02\x0e\n\r\n\x05\ + \x05\x07\x02\x1a\x01\x12\x04\xc1\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\ + \x02\x12\x04\xc1\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\xc2\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02\x1b\x01\x12\x04\xc2\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02\x1b\x02\x12\x04\xc2\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\ + \x12\x04\xc3\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\xc3\x06\ + \x02\x08\n\r\n\x05\x05\x07\x02\x1c\x02\x12\x04\xc3\x06\x0b\r\n\x0c\n\x04\ + \x05\x07\x02\x1d\x12\x04\xc4\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\ + \x12\x04\xc4\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\xc4\x06\t\ + \x0b\n\x0c\n\x04\x05\x07\x02\x1e\x12\x04\xc5\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02\x1e\x01\x12\x04\xc5\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\ + \x12\x04\xc5\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\xc6\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02\x1f\x01\x12\x04\xc6\x06\x02\t\n\r\n\x05\x05\ + \x07\x02\x1f\x02\x12\x04\xc6\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\ + \x04\xc7\x06\x02\x12\n\r\n\x05\x05\x07\x02\x20\x01\x12\x04\xc7\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02\x20\x02\x12\x04\xc7\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02!\x12\x04\xc8\x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\ + \xc8\x06\x02\x0c\n\r\n\x05\x05\x07\x02!\x02\x12\x04\xc8\x06\x0f\x11\n\ + \x0c\n\x04\x05\x07\x02\"\x12\x04\xc9\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\ + \x01\x12\x04\xc9\x06\x02\x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\xc9\x06\ + \x0f\x11\n\x0c\n\x04\x05\x07\x02#\x12\x04\xca\x06\x02\n\n\r\n\x05\x05\ + \x07\x02#\x01\x12\x04\xca\x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\ + \xca\x06\x07\t\n\x0c\n\x04\x05\x07\x02$\x12\x04\xcb\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02$\x01\x12\x04\xcb\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\ + \x12\x04\xcb\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02%\x12\x04\xcc\x06\x02\r\ + \n\r\n\x05\x05\x07\x02%\x01\x12\x04\xcc\x06\x02\x08\n\r\n\x05\x05\x07\ + \x02%\x02\x12\x04\xcc\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\xcd\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02&\x01\x12\x04\xcd\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02&\x02\x12\x04\xcd\x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\ + \x04\xce\x06\x02\x0c\n\r\n\x05\x05\x07\x02'\x01\x12\x04\xce\x06\x02\x06\ + \n\r\n\x05\x05\x07\x02'\x02\x12\x04\xce\x06\t\x0b\n\x0c\n\x04\x05\x07\ + \x02(\x12\x04\xcf\x06\x02\x12\n\r\n\x05\x05\x07\x02(\x01\x12\x04\xcf\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02(\x02\x12\x04\xcf\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02)\x12\x04\xd0\x06\x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\ + \xd0\x06\x02\t\n\r\n\x05\x05\x07\x02)\x02\x12\x04\xd0\x06\x0c\x0e\n\x0c\ + \n\x04\x05\x07\x02*\x12\x04\xd1\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\ + \x04\xd1\x06\x02\x07\n\r\n\x05\x05\x07\x02*\x02\x12\x04\xd1\x06\n\x0c\n\ + \x0c\n\x04\x05\x07\x02+\x12\x04\xd2\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\ + \x01\x12\x04\xd2\x06\x02\x05\n\r\n\x05\x05\x07\x02+\x02\x12\x04\xd2\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02,\x12\x04\xd3\x06\x02\t\n\r\n\x05\x05\x07\ + \x02,\x01\x12\x04\xd3\x06\x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\xd3\ + \x06\x06\x08\n\x0c\n\x04\x05\x07\x02-\x12\x04\xd4\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02-\x01\x12\x04\xd4\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\ + \x04\xd4\x06\t\x0b\n\x0c\n\x04\x05\x07\x02.\x12\x04\xd5\x06\x02\x0b\n\r\ + \n\x05\x05\x07\x02.\x01\x12\x04\xd5\x06\x02\x06\n\r\n\x05\x05\x07\x02.\ + \x02\x12\x04\xd5\x06\t\n\n\x0c\n\x04\x05\x07\x02/\x12\x04\xd6\x06\x02\ + \x12\n\r\n\x05\x05\x07\x02/\x01\x12\x04\xd6\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02/\x02\x12\x04\xd6\x06\x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\ + \xd7\x06\x02\x17\n\r\n\x05\x05\x07\x020\x01\x12\x04\xd7\x06\x02\x11\n\r\ + \n\x05\x05\x07\x020\x02\x12\x04\xd7\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\ + \x12\x04\xd8\x06\x02\x0f\n\r\n\x05\x05\x07\x021\x01\x12\x04\xd8\x06\x02\ + \t\n\r\n\x05\x05\x07\x021\x02\x12\x04\xd8\x06\x0c\x0e\n\x0c\n\x04\x05\ + \x07\x022\x12\x04\xd9\x06\x02\r\n\r\n\x05\x05\x07\x022\x01\x12\x04\xd9\ + \x06\x02\x07\n\r\n\x05\x05\x07\x022\x02\x12\x04\xd9\x06\n\x0c\n\x0c\n\ + \x04\x05\x07\x023\x12\x04\xda\x06\x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\ + \x04\xda\x06\x02\n\n\r\n\x05\x05\x07\x023\x02\x12\x04\xda\x06\r\x10\n\ + \x0c\n\x04\x05\x07\x024\x12\x04\xdb\x06\x02\r\n\r\n\x05\x05\x07\x024\x01\ + \x12\x04\xdb\x06\x02\x08\n\r\n\x05\x05\x07\x024\x02\x12\x04\xdb\x06\x0b\ + \x0c\n\x0c\n\x04\x05\x07\x025\x12\x04\xdc\x06\x02\r\n\r\n\x05\x05\x07\ + \x025\x01\x12\x04\xdc\x06\x02\x07\n\r\n\x05\x05\x07\x025\x02\x12\x04\xdc\ + \x06\n\x0c\n\x0c\n\x04\x05\x07\x026\x12\x04\xdd\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x026\x01\x12\x04\xdd\x06\x02\x06\n\r\n\x05\x05\x07\x026\x02\x12\ + \x04\xdd\x06\t\x0b\n\x0c\n\x04\x05\x07\x027\x12\x04\xde\x06\x02\x0c\n\r\ + \n\x05\x05\x07\x027\x01\x12\x04\xde\x06\x02\x06\n\r\n\x05\x05\x07\x027\ + \x02\x12\x04\xde\x06\t\x0b\n\x0c\n\x04\x05\x07\x028\x12\x04\xdf\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x028\x01\x12\x04\xdf\x06\x02\x05\n\r\n\x05\x05\ + \x07\x028\x02\x12\x04\xdf\x06\x08\n\n\x0c\n\x04\x05\x07\x029\x12\x04\xe0\ + \x06\x02\r\n\r\n\x05\x05\x07\x029\x01\x12\x04\xe0\x06\x02\x06\n\r\n\x05\ + \x05\x07\x029\x02\x12\x04\xe0\x06\t\x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\ + \xe1\x06\x02\x10\n\r\n\x05\x05\x07\x02:\x01\x12\x04\xe1\x06\x02\n\n\r\n\ + \x05\x05\x07\x02:\x02\x12\x04\xe1\x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\ + \x04\xe2\x06\x02\x10\n\r\n\x05\x05\x07\x02;\x01\x12\x04\xe2\x06\x02\n\n\ + \r\n\x05\x05\x07\x02;\x02\x12\x04\xe2\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\ + \x12\x04\xe3\x06\x02\x0e\n\r\n\x05\x05\x07\x02<\x01\x12\x04\xe3\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02<\x02\x12\x04\xe3\x06\x0b\r\n(\n\x04\x05\x07\ + \x02=\x12\x04\xe4\x06\x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\ + \x05\x05\x07\x02=\x01\x12\x04\xe4\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\ + \x12\x04\xe4\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02>\x12\x04\xe5\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x02>\x01\x12\x04\xe5\x06\x02\x05\n\r\n\x05\x05\ + \x07\x02>\x02\x12\x04\xe5\x06\x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xe6\ + \x06\x02\r\n\r\n\x05\x05\x07\x02?\x01\x12\x04\xe6\x06\x02\x07\n\r\n\x05\ + \x05\x07\x02?\x02\x12\x04\xe6\x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\ + \xe7\x06\x02\x13\n\r\n\x05\x05\x07\x02@\x01\x12\x04\xe7\x06\x02\r\n\r\n\ + \x05\x05\x07\x02@\x02\x12\x04\xe7\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\ + \x12\x04\xe8\x06\x02\x15\n\r\n\x05\x05\x07\x02A\x01\x12\x04\xe8\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02A\x02\x12\x04\xe8\x06\x12\x14\n\x0c\n\x04\x05\ + \x07\x02B\x12\x04\xe9\x06\x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xe9\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02B\x02\x12\x04\xe9\x06\x0b\r\n\x0c\n\ + \x04\x05\x07\x02C\x12\x04\xea\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\ + \x04\xea\x06\x02\x05\n\r\n\x05\x05\x07\x02C\x02\x12\x04\xea\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02D\x12\x04\xeb\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\ + \x12\x04\xeb\x06\x02\x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xeb\x06\n\ + \x0c\n\x0c\n\x04\x05\x07\x02E\x12\x04\xec\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02E\x01\x12\x04\xec\x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xec\ + \x06\t\x0b\n\x0c\n\x04\x05\x07\x02F\x12\x04\xed\x06\x02\x12\n\r\n\x05\ + \x05\x07\x02F\x01\x12\x04\xed\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\ + \x04\xed\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02G\x12\x04\xee\x06\x02\x0e\n\ + \r\n\x05\x05\x07\x02G\x01\x12\x04\xee\x06\x02\x08\n\r\n\x05\x05\x07\x02G\ + \x02\x12\x04\xee\x06\x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xef\x06\x02\ + \x11\n\r\n\x05\x05\x07\x02H\x01\x12\x04\xef\x06\x02\n\n\r\n\x05\x05\x07\ + \x02H\x02\x12\x04\xef\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xf0\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02I\x01\x12\x04\xf0\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02I\x02\x12\x04\xf0\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\ + \xf1\x06\x02\t\n\r\n\x05\x05\x07\x02J\x01\x12\x04\xf1\x06\x02\x03\n\r\n\ + \x05\x05\x07\x02J\x02\x12\x04\xf1\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\ + \x12\x04\xf2\x06\x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xf2\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02K\x02\x12\x04\xf2\x06\x0b\r\n\x0c\n\x04\x05\ + \x07\x02L\x12\x04\xf3\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xf3\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02L\x02\x12\x04\xf3\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02M\x12\x04\xf4\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\ + \x04\xf4\x06\x02\x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xf4\x06\n\x0c\n2\ + \n\x04\x05\x07\x02N\x12\x04\xf5\x06\x02\x0e\"$\x20Internal\x20language\ + \x20for\x20testing\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xf5\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02N\x02\x12\x04\xf5\x06\n\r\n\x0c\n\x04\x05\ + \x07\x02O\x12\x04\xf6\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xf6\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02O\x02\x12\x04\xf6\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02P\x12\x04\xf7\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\ + \x04\xf7\x06\x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xf7\x06\t\x0b\n\ + \x0c\n\x04\x05\x07\x02Q\x12\x04\xf8\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\ + \x01\x12\x04\xf8\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xf8\x06\ + \t\x0b\n\x0c\n\x04\x05\x07\x02R\x12\x04\xf9\x06\x02\x0b\n\r\n\x05\x05\ + \x07\x02R\x01\x12\x04\xf9\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\ + \xf9\x06\x08\n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xfa\x06\x02\x0c\n\r\n\ + \x05\x05\x07\x02S\x01\x12\x04\xfa\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\ + \x12\x04\xfa\x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xfb\x06\x02\x0b\ + \n\r\n\x05\x05\x07\x02T\x01\x12\x04\xfb\x06\x02\x05\n\r\n\x05\x05\x07\ + \x02T\x02\x12\x04\xfb\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xfc\x06\ + \x02\x0b\n\r\n\x05\x05\x07\x02U\x01\x12\x04\xfc\x06\x02\x05\n\r\n\x05\ + \x05\x07\x02U\x02\x12\x04\xfc\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\ + \xfd\x06\x02\x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xfd\x06\x02\x06\n\r\ + \n\x05\x05\x07\x02V\x02\x12\x04\xfd\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\ + \x12\x04\xfe\x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xfe\x06\x02\ + \x07\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xfe\x06\n\x0b\n\x0c\n\x04\x05\ + \x07\x02X\x12\x04\xff\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xff\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02X\x02\x12\x04\xff\x06\x0b\r\n\x14\n\ + \x04\x05\x07\x02Y\x12\x04\x80\x07\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\ + \x07\x02Y\x01\x12\x04\x80\x07\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\ + \x80\x07\x10\x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\x81\x07\x02\x0f\n\r\n\ + \x05\x05\x07\x02Z\x01\x12\x04\x81\x07\x02\t\n\r\n\x05\x05\x07\x02Z\x02\ + \x12\x04\x81\x07\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\x82\x07\x02\ + \x0e\n\r\n\x05\x05\x07\x02[\x01\x12\x04\x82\x07\x02\x07\n\r\n\x05\x05\ + \x07\x02[\x02\x12\x04\x82\x07\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\x83\ + \x07\x02\x10\n\r\n\x05\x05\x07\x02\\\x01\x12\x04\x83\x07\x02\n\n\r\n\x05\ + \x05\x07\x02\\\x02\x12\x04\x83\x07\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\ + \x04\x84\x07\x02\x0f\n\r\n\x05\x05\x07\x02]\x01\x12\x04\x84\x07\x02\x08\ + \n\r\n\x05\x05\x07\x02]\x02\x12\x04\x84\x07\x0b\x0e\n\x0c\n\x04\x05\x07\ + \x02^\x12\x04\x85\x07\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\x85\x07\ + \x02\x07\n\r\n\x05\x05\x07\x02^\x02\x12\x04\x85\x07\n\x0b\n\x0c\n\x04\ + \x05\x07\x02_\x12\x04\x86\x07\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\ + \x86\x07\x02\x05\n\r\n\x05\x05\x07\x02_\x02\x12\x04\x86\x07\x08\x0b\n\ + \x0c\n\x04\x05\x07\x02`\x12\x04\x87\x07\x02\x0c\n\r\n\x05\x05\x07\x02`\ + \x01\x12\x04\x87\x07\x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\x87\x07\ + \t\x0b\n\x0c\n\x04\x05\x07\x02a\x12\x04\x88\x07\x02\x0b\n\r\n\x05\x05\ + \x07\x02a\x01\x12\x04\x88\x07\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\ + \x88\x07\x08\n\n\x0c\n\x04\x05\x07\x02b\x12\x04\x89\x07\x02\x0f\n\r\n\ + \x05\x05\x07\x02b\x01\x12\x04\x89\x07\x02\x08\n\r\n\x05\x05\x07\x02b\x02\ + \x12\x04\x89\x07\x0b\x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\x8a\x07\x02\ + \x12\n\r\n\x05\x05\x07\x02c\x01\x12\x04\x8a\x07\x02\x0c\n\r\n\x05\x05\ + \x07\x02c\x02\x12\x04\x8a\x07\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\ + \x8b\x07\x02\x17\n\r\n\x05\x05\x07\x02d\x01\x12\x04\x8b\x07\x02\x11\n\r\ + \n\x05\x05\x07\x02d\x02\x12\x04\x8b\x07\x14\x16\n\x0c\n\x04\x05\x07\x02e\ + \x12\x04\x8c\x07\x02\x10\n\r\n\x05\x05\x07\x02e\x01\x12\x04\x8c\x07\x02\ + \t\n\r\n\x05\x05\x07\x02e\x02\x12\x04\x8c\x07\x0c\x0f\n\x0c\n\x04\x05\ + \x07\x02f\x12\x04\x8d\x07\x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\x8d\ + \x07\x02\x06\n\r\n\x05\x05\x07\x02f\x02\x12\x04\x8d\x07\t\x0c\n\x0c\n\ + \x04\x05\x07\x02g\x12\x04\x8e\x07\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\ + \x04\x8e\x07\x02\r\n\r\n\x05\x05\x07\x02g\x02\x12\x04\x8e\x07\x10\x12\n\ + \x0c\n\x04\x05\x07\x02h\x12\x04\x8f\x07\x02\x0b\n\r\n\x05\x05\x07\x02h\ + \x01\x12\x04\x8f\x07\x02\x05\n\r\n\x05\x05\x07\x02h\x02\x12\x04\x8f\x07\ + \x08\n\n\x0c\n\x04\x05\x07\x02i\x12\x04\x90\x07\x02\x0f\n\r\n\x05\x05\ + \x07\x02i\x01\x12\x04\x90\x07\x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\ + \x90\x07\x0c\x0e\n\x0c\n\x04\x05\x07\x02j\x12\x04\x91\x07\x02\x0b\n\r\n\ + \x05\x05\x07\x02j\x01\x12\x04\x91\x07\x02\x05\n\r\n\x05\x05\x07\x02j\x02\ + \x12\x04\x91\x07\x08\n\n\x0c\n\x04\x05\x07\x02k\x12\x04\x92\x07\x02\x0b\ + \n\r\n\x05\x05\x07\x02k\x01\x12\x04\x92\x07\x02\x05\n\r\n\x05\x05\x07\ + \x02k\x02\x12\x04\x92\x07\x08\n\n\x0c\n\x04\x05\x07\x02l\x12\x04\x93\x07\ + \x02\x0c\n\r\n\x05\x05\x07\x02l\x01\x12\x04\x93\x07\x02\x06\n\r\n\x05\ + \x05\x07\x02l\x02\x12\x04\x93\x07\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\ + \x04\x94\x07\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\ \x20add\x20a\x20new\x20language:\n\x201.\x20Copy-paste\x20the\x20\"NextL\ anguage\x20=\x20N\"\x20line\x20above\n\x202.\x20Increment\x20\"NextLangu\ age\x20=\x20N\"\x20to\x20\"NextLanguage\x20=\x20N+1\"\n\x203.\x20Replace\ @@ -5983,8 +6143,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20correct\x20line\x20above\x20using\x20alphabetical\x20order\n\x205.\ \x20(optional)\x20Add\x20a\x20brief\x20comment\x20behind\x20the\x20langu\ age\x20if\x20the\x20name\x20is\x20not\x20self-explanatory\n\n\r\n\x05\ - \x05\x07\x02m\x01\x12\x04\xe7\x06\x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\ - \x04\xe7\x06\x08\nb\x06proto3\ + \x05\x07\x02m\x01\x12\x04\x94\x07\x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\ + \x04\x94\x07\x08\nb\x06proto3\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/bindings/typescript/scip_pb.ts b/bindings/typescript/scip_pb.ts index 9bb1633d..da6c496a 100644 --- a/bindings/typescript/scip_pb.ts +++ b/bindings/typescript/scip_pb.ts @@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file scip.proto. */ export const file_scip: GenFile = /*@__PURE__*/ - fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASLwCwoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSKQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwEioKBGtpbmQYBSABKA4yHC5zY2lwLlN5bWJvbEluZm9ybWF0aW9uLktpbmQSFAoMZGlzcGxheV9uYW1lGAYgASgJEi8KF3NpZ25hdHVyZV9kb2N1bWVudGF0aW9uGAcgASgLMg4uc2NpcC5Eb2N1bWVudBIYChBlbmNsb3Npbmdfc3ltYm9sGAggASgJIvsJCgRLaW5kEhMKD1Vuc3BlY2lmaWVkS2luZBAAEhIKDkFic3RyYWN0TWV0aG9kEEISDAoIQWNjZXNzb3IQSBIJCgVBcnJheRABEg0KCUFzc2VydGlvbhACEhIKDkFzc29jaWF0ZWRUeXBlEAMSDQoJQXR0cmlidXRlEAQSCQoFQXhpb20QBRILCgdCb29sZWFuEAYSCQoFQ2xhc3MQBxILCgdDb25jZXB0EFYSDAoIQ29uc3RhbnQQCBIPCgtDb25zdHJ1Y3RvchAJEgwKCENvbnRyYWN0ED4SDgoKRGF0YUZhbWlseRAKEgwKCERlbGVnYXRlEEkSCAoERW51bRALEg4KCkVudW1NZW1iZXIQDBIJCgVFcnJvchA/EgkKBUV2ZW50EA0SDQoJRXh0ZW5zaW9uEFQSCAoERmFjdBAOEgkKBUZpZWxkEA8SCAoERmlsZRAQEgwKCEZ1bmN0aW9uEBESCgoGR2V0dGVyEBISCwoHR3JhbW1hchATEgwKCEluc3RhbmNlEBQSDQoJSW50ZXJmYWNlEBUSBwoDS2V5EBYSCAoETGFuZxAXEgkKBUxlbW1hEBgSCwoHTGlicmFyeRBAEgkKBU1hY3JvEBkSCgoGTWV0aG9kEBoSDwoLTWV0aG9kQWxpYXMQShISCg5NZXRob2RSZWNlaXZlchAbEhcKE01ldGhvZFNwZWNpZmljYXRpb24QQxILCgdNZXNzYWdlEBwSCQoFTWl4aW4QVRIMCghNb2RpZmllchBBEgoKBk1vZHVsZRAdEg0KCU5hbWVzcGFjZRAeEggKBE51bGwQHxIKCgZOdW1iZXIQIBIKCgZPYmplY3QQIRIMCghPcGVyYXRvchAiEgsKB1BhY2thZ2UQIxIRCg1QYWNrYWdlT2JqZWN0ECQSDQoJUGFyYW1ldGVyECUSEgoOUGFyYW1ldGVyTGFiZWwQJhILCgdQYXR0ZXJuECcSDQoJUHJlZGljYXRlECgSDAoIUHJvcGVydHkQKRIMCghQcm90b2NvbBAqEhIKDlByb3RvY29sTWV0aG9kEEQSFQoRUHVyZVZpcnR1YWxNZXRob2QQRRIPCgtRdWFzaXF1b3RlchArEhEKDVNlbGZQYXJhbWV0ZXIQLBIKCgZTZXR0ZXIQLRINCglTaWduYXR1cmUQLhISCg5TaW5nbGV0b25DbGFzcxBLEhMKD1NpbmdsZXRvbk1ldGhvZBBMEhQKEFN0YXRpY0RhdGFNZW1iZXIQTRIPCgtTdGF0aWNFdmVudBBOEg8KC1N0YXRpY0ZpZWxkEE8SEAoMU3RhdGljTWV0aG9kEFASEgoOU3RhdGljUHJvcGVydHkQURISCg5TdGF0aWNWYXJpYWJsZRBSEgoKBlN0cmluZxAwEgoKBlN0cnVjdBAxEg0KCVN1YnNjcmlwdBAvEgoKBlRhY3RpYxAyEgsKB1RoZW9yZW0QMxIRCg1UaGlzUGFyYW1ldGVyEDQSCQoFVHJhaXQQNRIPCgtUcmFpdE1ldGhvZBBGEggKBFR5cGUQNhINCglUeXBlQWxpYXMQNxINCglUeXBlQ2xhc3MQOBITCg9UeXBlQ2xhc3NNZXRob2QQRxIOCgpUeXBlRmFtaWx5EDkSEQoNVHlwZVBhcmFtZXRlchA6EgkKBVVuaW9uEDsSCQoFVmFsdWUQPBIMCghWYXJpYWJsZRA9IoIBCgxSZWxhdGlvbnNoaXASDgoGc3ltYm9sGAEgASgJEhQKDGlzX3JlZmVyZW5jZRgCIAEoCBIZChFpc19pbXBsZW1lbnRhdGlvbhgDIAEoCBIaChJpc190eXBlX2RlZmluaXRpb24YBCABKAgSFQoNaXNfZGVmaW5pdGlvbhgFIAEoCCLIAQoKT2NjdXJyZW5jZRINCgVyYW5nZRgBIAMoBRIOCgZzeW1ib2wYAiABKAkSFAoMc3ltYm9sX3JvbGVzGAMgASgFEh4KFm92ZXJyaWRlX2RvY3VtZW50YXRpb24YBCADKAkSJQoLc3ludGF4X2tpbmQYBSABKA4yEC5zY2lwLlN5bnRheEtpbmQSJQoLZGlhZ25vc3RpY3MYBiADKAsyEC5zY2lwLkRpYWdub3N0aWMSFwoPZW5jbG9zaW5nX3JhbmdlGAcgAygFIoABCgpEaWFnbm9zdGljEiAKCHNldmVyaXR5GAEgASgOMg4uc2NpcC5TZXZlcml0eRIMCgRjb2RlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDgoGc291cmNlGAQgASgJEiEKBHRhZ3MYBSADKA4yEy5zY2lwLkRpYWdub3N0aWNUYWcqMQoPUHJvdG9jb2xWZXJzaW9uEh4KGlVuc3BlY2lmaWVkUHJvdG9jb2xWZXJzaW9uEAAqQAoMVGV4dEVuY29kaW5nEhsKF1Vuc3BlY2lmaWVkVGV4dEVuY29kaW5nEAASCAoEVVRGOBABEgkKBVVURjE2EAIqpAEKEFBvc2l0aW9uRW5jb2RpbmcSHwobVW5zcGVjaWZpZWRQb3NpdGlvbkVuY29kaW5nEAASIwofVVRGOENvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBABEiQKIFVURjE2Q29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAISJAogVVRGMzJDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQAyqUAQoKU3ltYm9sUm9sZRIZChVVbnNwZWNpZmllZFN5bWJvbFJvbGUQABIOCgpEZWZpbml0aW9uEAESCgoGSW1wb3J0EAISDwoLV3JpdGVBY2Nlc3MQBBIOCgpSZWFkQWNjZXNzEAgSDQoJR2VuZXJhdGVkEBASCAoEVGVzdBAgEhUKEUZvcndhcmREZWZpbml0aW9uEEAq6gYKClN5bnRheEtpbmQSGQoVVW5zcGVjaWZpZWRTeW50YXhLaW5kEAASCwoHQ29tbWVudBABEhgKFFB1bmN0dWF0aW9uRGVsaW1pdGVyEAISFgoSUHVuY3R1YXRpb25CcmFja2V0EAMSCwoHS2V5d29yZBAEEhkKEUlkZW50aWZpZXJLZXl3b3JkEAQaAggBEhYKEklkZW50aWZpZXJPcGVyYXRvchAFEg4KCklkZW50aWZpZXIQBhIVChFJZGVudGlmaWVyQnVpbHRpbhAHEhIKDklkZW50aWZpZXJOdWxsEAgSFgoSSWRlbnRpZmllckNvbnN0YW50EAkSGwoXSWRlbnRpZmllck11dGFibGVHbG9iYWwQChIXChNJZGVudGlmaWVyUGFyYW1ldGVyEAsSEwoPSWRlbnRpZmllckxvY2FsEAwSFgoSSWRlbnRpZmllclNoYWRvd2VkEA0SFwoTSWRlbnRpZmllck5hbWVzcGFjZRAOEhgKEElkZW50aWZpZXJNb2R1bGUQDhoCCAESFgoSSWRlbnRpZmllckZ1bmN0aW9uEA8SIAocSWRlbnRpZmllckZ1bmN0aW9uRGVmaW5pdGlvbhAQEhMKD0lkZW50aWZpZXJNYWNybxAREh0KGUlkZW50aWZpZXJNYWNyb0RlZmluaXRpb24QEhISCg5JZGVudGlmaWVyVHlwZRATEhkKFUlkZW50aWZpZXJCdWlsdGluVHlwZRAUEhcKE0lkZW50aWZpZXJBdHRyaWJ1dGUQFRIPCgtSZWdleEVzY2FwZRAWEhEKDVJlZ2V4UmVwZWF0ZWQQFxIRCg1SZWdleFdpbGRjYXJkEBgSEgoOUmVnZXhEZWxpbWl0ZXIQGRINCglSZWdleEpvaW4QGhIRCg1TdHJpbmdMaXRlcmFsEBsSFwoTU3RyaW5nTGl0ZXJhbEVzY2FwZRAcEhgKFFN0cmluZ0xpdGVyYWxTcGVjaWFsEB0SFAoQU3RyaW5nTGl0ZXJhbEtleRAeEhQKEENoYXJhY3RlckxpdGVyYWwQHxISCg5OdW1lcmljTGl0ZXJhbBAgEhIKDkJvb2xlYW5MaXRlcmFsECESBwoDVGFnECISEAoMVGFnQXR0cmlidXRlECMSEAoMVGFnRGVsaW1pdGVyECQaAhABKlYKCFNldmVyaXR5EhcKE1Vuc3BlY2lmaWVkU2V2ZXJpdHkQABIJCgVFcnJvchABEgsKB1dhcm5pbmcQAhIPCgtJbmZvcm1hdGlvbhADEggKBEhpbnQQBCpOCg1EaWFnbm9zdGljVGFnEhwKGFVuc3BlY2lmaWVkRGlhZ25vc3RpY1RhZxAAEg8KC1VubmVjZXNzYXJ5EAESDgoKRGVwcmVjYXRlZBACKpsKCghMYW5ndWFnZRIXChNVbnNwZWNpZmllZExhbmd1YWdlEAASCAoEQUJBUBA8EggKBEFwZXgQYBIHCgNBUEwQMRIHCgNBZGEQJxIICgRBZ2RhEC0SDAoIQXNjaWlEb2MQVhIMCghBc3NlbWJseRA6EgcKA0F3axBCEgcKA0JhdBBEEgoKBkJpYlRlWBBREgUKAUMQIhIJCgVDT0JPTBA7EgcKA0NQUBAjEgcKA0NTUxAaEgoKBkNTaGFycBABEgsKB0Nsb2p1cmUQCBIQCgxDb2ZmZWVzY3JpcHQQFRIOCgpDb21tb25MaXNwEAkSBwoDQ29xEC8SCAoEQ1VEQRBhEggKBERhcnQQAxIKCgZEZWxwaGkQORIICgREaWZmEFgSDgoKRG9ja2VyZmlsZRBQEgoKBkR5YWxvZxAyEgoKBkVsaXhpchAREgoKBkVybGFuZxASEgoKBkZTaGFycBAqEggKBEZpc2gQQRIICgRGbG93EBgSCwoHRm9ydHJhbhA4Eg4KCkdpdF9Db21taXQQWxIOCgpHaXRfQ29uZmlnEFkSDgoKR2l0X1JlYmFzZRBcEgYKAkdvECESCwoHR3JhcGhRTBBiEgoKBkdyb292eRAHEggKBEhUTUwQHhIICgRIYWNrEBQSDgoKSGFuZGxlYmFycxBaEgsKB0hhc2tlbGwQLBIJCgVJZHJpcxAuEgcKA0luaRBIEgUKAUoQMxIICgRKU09OEEsSCAoESmF2YRAGEg4KCkphdmFTY3JpcHQQFhITCg9KYXZhU2NyaXB0UmVhY3QQXRILCgdKc29ubmV0EEwSCQoFSnVsaWEQNxIMCghKdXN0ZmlsZRBtEgoKBktvdGxpbhAEEgkKBUxhVGVYEFMSCAoETGVhbhAwEggKBExlc3MQGxIHCgNMdWEQDBIICgRMdWF1EGwSDAoITWFrZWZpbGUQTxIMCghNYXJrZG93bhBUEgoKBk1hdGxhYhA0EgoKBk5pY2tlbBBuEgcKA05peBBNEgkKBU9DYW1sECkSDwoLT2JqZWN0aXZlX0MQJBIRCg1PYmplY3RpdmVfQ1BQECUSCgoGUGFzY2FsEGMSBwoDUEhQEBMSCQoFUExTUUwQRhIICgRQZXJsEA0SDgoKUG93ZXJTaGVsbBBDEgoKBlByb2xvZxBHEgwKCFByb3RvYnVmEGQSCgoGUHl0aG9uEA8SBQoBUhA2EgoKBlJhY2tldBALEggKBFJha3UQDhIJCgVSYXpvchA+EgkKBVJlcHJvEGYSCAoEUmVTVBBVEggKBFJ1YnkQEBIICgRSdXN0ECgSBwoDU0FTED0SCAoEU0NTUxAdEgcKA1NNTBArEgcKA1NRTBBFEggKBFNhc3MQHBIJCgVTY2FsYRAFEgoKBlNjaGVtZRAKEg8KC1NoZWxsU2NyaXB0EEASCwoHU2t5bGFyaxBOEgkKBVNsYW5nEGsSDAoIU29saWRpdHkQXxIKCgZTdmVsdGUQahIJCgVTd2lmdBACEgcKA1RjbBBlEggKBFRPTUwQSRIHCgNUZVgQUhIKCgZUaHJpZnQQZxIOCgpUeXBlU2NyaXB0EBcSEwoPVHlwZVNjcmlwdFJlYWN0EF4SCwoHVmVyaWxvZxBoEggKBFZIREwQaRIPCgtWaXN1YWxCYXNpYxA/EgcKA1Z1ZRAZEgsKB1dvbGZyYW0QNRIHCgNYTUwQHxIHCgNYU0wQIBIICgRZQU1MEEoSBwoDWmlnECZCLVorZ2l0aHViLmNvbS9zY2lwLWNvZGUvc2NpcC9iaW5kaW5ncy9nby9zY2lwL2IGcHJvdG8z"); + fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASLPDAoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSLQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwQgIYARIqCgRraW5kGAUgASgOMhwuc2NpcC5TeW1ib2xJbmZvcm1hdGlvbi5LaW5kEhQKDGRpc3BsYXlfbmFtZRgGIAEoCRIvChdzaWduYXR1cmVfZG9jdW1lbnRhdGlvbhgHIAEoCzIOLnNjaXAuRG9jdW1lbnQSGAoQZW5jbG9zaW5nX3N5bWJvbBgIIAEoCRIXCg9pbXBsZW1lbnRhdGlvbnMYCSADKAkSEgoKcmVmZXJlbmNlcxgKIAMoCRIYChB0eXBlX2RlZmluaXRpb25zGAsgAygJEhIKCmRlZmluaXRpb24YDCABKAki+wkKBEtpbmQSEwoPVW5zcGVjaWZpZWRLaW5kEAASEgoOQWJzdHJhY3RNZXRob2QQQhIMCghBY2Nlc3NvchBIEgkKBUFycmF5EAESDQoJQXNzZXJ0aW9uEAISEgoOQXNzb2NpYXRlZFR5cGUQAxINCglBdHRyaWJ1dGUQBBIJCgVBeGlvbRAFEgsKB0Jvb2xlYW4QBhIJCgVDbGFzcxAHEgsKB0NvbmNlcHQQVhIMCghDb25zdGFudBAIEg8KC0NvbnN0cnVjdG9yEAkSDAoIQ29udHJhY3QQPhIOCgpEYXRhRmFtaWx5EAoSDAoIRGVsZWdhdGUQSRIICgRFbnVtEAsSDgoKRW51bU1lbWJlchAMEgkKBUVycm9yED8SCQoFRXZlbnQQDRINCglFeHRlbnNpb24QVBIICgRGYWN0EA4SCQoFRmllbGQQDxIICgRGaWxlEBASDAoIRnVuY3Rpb24QERIKCgZHZXR0ZXIQEhILCgdHcmFtbWFyEBMSDAoISW5zdGFuY2UQFBINCglJbnRlcmZhY2UQFRIHCgNLZXkQFhIICgRMYW5nEBcSCQoFTGVtbWEQGBILCgdMaWJyYXJ5EEASCQoFTWFjcm8QGRIKCgZNZXRob2QQGhIPCgtNZXRob2RBbGlhcxBKEhIKDk1ldGhvZFJlY2VpdmVyEBsSFwoTTWV0aG9kU3BlY2lmaWNhdGlvbhBDEgsKB01lc3NhZ2UQHBIJCgVNaXhpbhBVEgwKCE1vZGlmaWVyEEESCgoGTW9kdWxlEB0SDQoJTmFtZXNwYWNlEB4SCAoETnVsbBAfEgoKBk51bWJlchAgEgoKBk9iamVjdBAhEgwKCE9wZXJhdG9yECISCwoHUGFja2FnZRAjEhEKDVBhY2thZ2VPYmplY3QQJBINCglQYXJhbWV0ZXIQJRISCg5QYXJhbWV0ZXJMYWJlbBAmEgsKB1BhdHRlcm4QJxINCglQcmVkaWNhdGUQKBIMCghQcm9wZXJ0eRApEgwKCFByb3RvY29sECoSEgoOUHJvdG9jb2xNZXRob2QQRBIVChFQdXJlVmlydHVhbE1ldGhvZBBFEg8KC1F1YXNpcXVvdGVyECsSEQoNU2VsZlBhcmFtZXRlchAsEgoKBlNldHRlchAtEg0KCVNpZ25hdHVyZRAuEhIKDlNpbmdsZXRvbkNsYXNzEEsSEwoPU2luZ2xldG9uTWV0aG9kEEwSFAoQU3RhdGljRGF0YU1lbWJlchBNEg8KC1N0YXRpY0V2ZW50EE4SDwoLU3RhdGljRmllbGQQTxIQCgxTdGF0aWNNZXRob2QQUBISCg5TdGF0aWNQcm9wZXJ0eRBREhIKDlN0YXRpY1ZhcmlhYmxlEFISCgoGU3RyaW5nEDASCgoGU3RydWN0EDESDQoJU3Vic2NyaXB0EC8SCgoGVGFjdGljEDISCwoHVGhlb3JlbRAzEhEKDVRoaXNQYXJhbWV0ZXIQNBIJCgVUcmFpdBA1Eg8KC1RyYWl0TWV0aG9kEEYSCAoEVHlwZRA2Eg0KCVR5cGVBbGlhcxA3Eg0KCVR5cGVDbGFzcxA4EhMKD1R5cGVDbGFzc01ldGhvZBBHEg4KClR5cGVGYW1pbHkQORIRCg1UeXBlUGFyYW1ldGVyEDoSCQoFVW5pb24QOxIJCgVWYWx1ZRA8EgwKCFZhcmlhYmxlED0iggEKDFJlbGF0aW9uc2hpcBIOCgZzeW1ib2wYASABKAkSFAoMaXNfcmVmZXJlbmNlGAIgASgIEhkKEWlzX2ltcGxlbWVudGF0aW9uGAMgASgIEhoKEmlzX3R5cGVfZGVmaW5pdGlvbhgEIAEoCBIVCg1pc19kZWZpbml0aW9uGAUgASgIIsgBCgpPY2N1cnJlbmNlEg0KBXJhbmdlGAEgAygFEg4KBnN5bWJvbBgCIAEoCRIUCgxzeW1ib2xfcm9sZXMYAyABKAUSHgoWb3ZlcnJpZGVfZG9jdW1lbnRhdGlvbhgEIAMoCRIlCgtzeW50YXhfa2luZBgFIAEoDjIQLnNjaXAuU3ludGF4S2luZBIlCgtkaWFnbm9zdGljcxgGIAMoCzIQLnNjaXAuRGlhZ25vc3RpYxIXCg9lbmNsb3NpbmdfcmFuZ2UYByADKAUigAEKCkRpYWdub3N0aWMSIAoIc2V2ZXJpdHkYASABKA4yDi5zY2lwLlNldmVyaXR5EgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIOCgZzb3VyY2UYBCABKAkSIQoEdGFncxgFIAMoDjITLnNjaXAuRGlhZ25vc3RpY1RhZyoxCg9Qcm90b2NvbFZlcnNpb24SHgoaVW5zcGVjaWZpZWRQcm90b2NvbFZlcnNpb24QACpACgxUZXh0RW5jb2RpbmcSGwoXVW5zcGVjaWZpZWRUZXh0RW5jb2RpbmcQABIICgRVVEY4EAESCQoFVVRGMTYQAiqkAQoQUG9zaXRpb25FbmNvZGluZxIfChtVbnNwZWNpZmllZFBvc2l0aW9uRW5jb2RpbmcQABIjCh9VVEY4Q29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAESJAogVVRGMTZDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQAhIkCiBVVEYzMkNvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBADKpQBCgpTeW1ib2xSb2xlEhkKFVVuc3BlY2lmaWVkU3ltYm9sUm9sZRAAEg4KCkRlZmluaXRpb24QARIKCgZJbXBvcnQQAhIPCgtXcml0ZUFjY2VzcxAEEg4KClJlYWRBY2Nlc3MQCBINCglHZW5lcmF0ZWQQEBIICgRUZXN0ECASFQoRRm9yd2FyZERlZmluaXRpb24QQCrqBgoKU3ludGF4S2luZBIZChVVbnNwZWNpZmllZFN5bnRheEtpbmQQABILCgdDb21tZW50EAESGAoUUHVuY3R1YXRpb25EZWxpbWl0ZXIQAhIWChJQdW5jdHVhdGlvbkJyYWNrZXQQAxILCgdLZXl3b3JkEAQSGQoRSWRlbnRpZmllcktleXdvcmQQBBoCCAESFgoSSWRlbnRpZmllck9wZXJhdG9yEAUSDgoKSWRlbnRpZmllchAGEhUKEUlkZW50aWZpZXJCdWlsdGluEAcSEgoOSWRlbnRpZmllck51bGwQCBIWChJJZGVudGlmaWVyQ29uc3RhbnQQCRIbChdJZGVudGlmaWVyTXV0YWJsZUdsb2JhbBAKEhcKE0lkZW50aWZpZXJQYXJhbWV0ZXIQCxITCg9JZGVudGlmaWVyTG9jYWwQDBIWChJJZGVudGlmaWVyU2hhZG93ZWQQDRIXChNJZGVudGlmaWVyTmFtZXNwYWNlEA4SGAoQSWRlbnRpZmllck1vZHVsZRAOGgIIARIWChJJZGVudGlmaWVyRnVuY3Rpb24QDxIgChxJZGVudGlmaWVyRnVuY3Rpb25EZWZpbml0aW9uEBASEwoPSWRlbnRpZmllck1hY3JvEBESHQoZSWRlbnRpZmllck1hY3JvRGVmaW5pdGlvbhASEhIKDklkZW50aWZpZXJUeXBlEBMSGQoVSWRlbnRpZmllckJ1aWx0aW5UeXBlEBQSFwoTSWRlbnRpZmllckF0dHJpYnV0ZRAVEg8KC1JlZ2V4RXNjYXBlEBYSEQoNUmVnZXhSZXBlYXRlZBAXEhEKDVJlZ2V4V2lsZGNhcmQQGBISCg5SZWdleERlbGltaXRlchAZEg0KCVJlZ2V4Sm9pbhAaEhEKDVN0cmluZ0xpdGVyYWwQGxIXChNTdHJpbmdMaXRlcmFsRXNjYXBlEBwSGAoUU3RyaW5nTGl0ZXJhbFNwZWNpYWwQHRIUChBTdHJpbmdMaXRlcmFsS2V5EB4SFAoQQ2hhcmFjdGVyTGl0ZXJhbBAfEhIKDk51bWVyaWNMaXRlcmFsECASEgoOQm9vbGVhbkxpdGVyYWwQIRIHCgNUYWcQIhIQCgxUYWdBdHRyaWJ1dGUQIxIQCgxUYWdEZWxpbWl0ZXIQJBoCEAEqVgoIU2V2ZXJpdHkSFwoTVW5zcGVjaWZpZWRTZXZlcml0eRAAEgkKBUVycm9yEAESCwoHV2FybmluZxACEg8KC0luZm9ybWF0aW9uEAMSCAoESGludBAEKk4KDURpYWdub3N0aWNUYWcSHAoYVW5zcGVjaWZpZWREaWFnbm9zdGljVGFnEAASDwoLVW5uZWNlc3NhcnkQARIOCgpEZXByZWNhdGVkEAIqmwoKCExhbmd1YWdlEhcKE1Vuc3BlY2lmaWVkTGFuZ3VhZ2UQABIICgRBQkFQEDwSCAoEQXBleBBgEgcKA0FQTBAxEgcKA0FkYRAnEggKBEFnZGEQLRIMCghBc2NpaURvYxBWEgwKCEFzc2VtYmx5EDoSBwoDQXdrEEISBwoDQmF0EEQSCgoGQmliVGVYEFESBQoBQxAiEgkKBUNPQk9MEDsSBwoDQ1BQECMSBwoDQ1NTEBoSCgoGQ1NoYXJwEAESCwoHQ2xvanVyZRAIEhAKDENvZmZlZXNjcmlwdBAVEg4KCkNvbW1vbkxpc3AQCRIHCgNDb3EQLxIICgRDVURBEGESCAoERGFydBADEgoKBkRlbHBoaRA5EggKBERpZmYQWBIOCgpEb2NrZXJmaWxlEFASCgoGRHlhbG9nEDISCgoGRWxpeGlyEBESCgoGRXJsYW5nEBISCgoGRlNoYXJwECoSCAoERmlzaBBBEggKBEZsb3cQGBILCgdGb3J0cmFuEDgSDgoKR2l0X0NvbW1pdBBbEg4KCkdpdF9Db25maWcQWRIOCgpHaXRfUmViYXNlEFwSBgoCR28QIRILCgdHcmFwaFFMEGISCgoGR3Jvb3Z5EAcSCAoESFRNTBAeEggKBEhhY2sQFBIOCgpIYW5kbGViYXJzEFoSCwoHSGFza2VsbBAsEgkKBUlkcmlzEC4SBwoDSW5pEEgSBQoBShAzEggKBEpTT04QSxIICgRKYXZhEAYSDgoKSmF2YVNjcmlwdBAWEhMKD0phdmFTY3JpcHRSZWFjdBBdEgsKB0pzb25uZXQQTBIJCgVKdWxpYRA3EgwKCEp1c3RmaWxlEG0SCgoGS290bGluEAQSCQoFTGFUZVgQUxIICgRMZWFuEDASCAoETGVzcxAbEgcKA0x1YRAMEggKBEx1YXUQbBIMCghNYWtlZmlsZRBPEgwKCE1hcmtkb3duEFQSCgoGTWF0bGFiEDQSCgoGTmlja2VsEG4SBwoDTml4EE0SCQoFT0NhbWwQKRIPCgtPYmplY3RpdmVfQxAkEhEKDU9iamVjdGl2ZV9DUFAQJRIKCgZQYXNjYWwQYxIHCgNQSFAQExIJCgVQTFNRTBBGEggKBFBlcmwQDRIOCgpQb3dlclNoZWxsEEMSCgoGUHJvbG9nEEcSDAoIUHJvdG9idWYQZBIKCgZQeXRob24QDxIFCgFSEDYSCgoGUmFja2V0EAsSCAoEUmFrdRAOEgkKBVJhem9yED4SCQoFUmVwcm8QZhIICgRSZVNUEFUSCAoEUnVieRAQEggKBFJ1c3QQKBIHCgNTQVMQPRIICgRTQ1NTEB0SBwoDU01MECsSBwoDU1FMEEUSCAoEU2FzcxAcEgkKBVNjYWxhEAUSCgoGU2NoZW1lEAoSDwoLU2hlbGxTY3JpcHQQQBILCgdTa3lsYXJrEE4SCQoFU2xhbmcQaxIMCghTb2xpZGl0eRBfEgoKBlN2ZWx0ZRBqEgkKBVN3aWZ0EAISBwoDVGNsEGUSCAoEVE9NTBBJEgcKA1RlWBBSEgoKBlRocmlmdBBnEg4KClR5cGVTY3JpcHQQFxITCg9UeXBlU2NyaXB0UmVhY3QQXhILCgdWZXJpbG9nEGgSCAoEVkhETBBpEg8KC1Zpc3VhbEJhc2ljED8SBwoDVnVlEBkSCwoHV29sZnJhbRA1EgcKA1hNTBAfEgcKA1hTTBAgEggKBFlBTUwQShIHCgNaaWcQJkItWitnaXRodWIuY29tL3NjaXAtY29kZS9zY2lwL2JpbmRpbmdzL2dvL3NjaXAvYgZwcm90bzM"); /** * Index represents a complete SCIP index for a workspace this is rooted at a @@ -466,9 +466,11 @@ export type SymbolInformation = Message<"scip.SymbolInformation"> & { documentation: string[]; /** - * (optional) Relationships to other symbols (e.g., implements, type definition). + * Deprecated: Use the typed relationship fields instead (implementations, + * references, type_definitions, definition, enclosing_symbol). * - * @generated from field: repeated scip.Relationship relationships = 4; + * @generated from field: repeated scip.Relationship relationships = 4 [deprecated = true]; + * @deprecated */ relationships: Relationship[]; @@ -509,27 +511,87 @@ export type SymbolInformation = Message<"scip.SymbolInformation"> & { signatureDocumentation?: Document; /** - * (optional) The enclosing symbol if this is a local symbol. For non-local + * (optional) The enclosing symbol if this is a local symbol. For non-local * symbols, the enclosing symbol should be parsed from the `symbol` field * using the `Descriptor` grammar. * - * The primary use-case for this field is to allow local symbol to be displayed - * in a symbol hierarchy for API documentation. It's OK to leave this field - * empty for local variables since local variables usually don't belong in API - * documentation. However, in the situation that you wish to include a local - * symbol in the hierarchy, then you can use `enclosing_symbol` to locate the - * "parent" or "owner" of this local symbol. For example, a Java indexer may - * choose to use local symbols for private class fields while providing an - * `enclosing_symbol` to reference the enclosing class to allow the field to - * be part of the class documentation hierarchy. From the perspective of an - * author of an indexer, the decision to use a local symbol or global symbol - * should exclusively be determined whether the local symbol is accessible - * outside the document, not by the capability to find the enclosing - * symbol. + * The primary use-case for this field is to allow local symbols to be + * displayed in a symbol hierarchy for API documentation. It's OK to leave + * this field empty for local variables since local variables usually don't + * belong in API documentation. However, in the situation that you wish to + * include a local symbol in the hierarchy, then you can use + * `enclosing_symbol` to locate the "parent" or "owner" of this local symbol. + * For example, a Java indexer may choose to use local symbols for private + * class fields while providing an `enclosing_symbol` to reference the + * enclosing class to allow the field to be part of the class documentation + * hierarchy. From the perspective of an author of an indexer, the decision + * to use a local symbol or global symbol should exclusively be determined + * by whether the local symbol is accessible outside the document, not by the + * capability to find the enclosing symbol. * * @generated from field: string enclosing_symbol = 8; */ enclosingSymbol: string; + + /** + * (optional) Symbols that this symbol implements or overrides. + * For "Find implementations" on the target symbol, this symbol will be + * included in the results. + * + * For example, consider the following TypeScript code: + * ```ts + * interface Animal { + * sound(): string + * } + * class Dog implements Animal { + * public sound(): string { return "woof" } + * } + * ``` + * Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()` + * would list `Animal#sound()` in `implementations`. + * + * @generated from field: repeated string implementations = 9; + */ + implementations: string[]; + + /** + * (optional) Symbols whose references should be included when performing + * "Find references" on this symbol. + * + * Continuing the TypeScript example above, `Dog#sound()` would list + * `Animal#sound()` in `references`. This means doing "Find references" on + * `Dog#sound()` would also include references to `Animal#sound()`, and + * vice-versa. + * + * It's common for a symbol to appear in both `implementations` and + * `references`, but not always. For example, `Dog#` lists `Animal#` in + * `implementations` but NOT in `references`, because "Find references" on + * `Animal#` should not return `Dog#`. + * + * @generated from field: repeated string references = 10; + */ + references: string[]; + + /** + * (optional) Symbols that this symbol is a type definition for. + * Used for "Go to type definition" navigation. + * + * @generated from field: repeated string type_definitions = 11; + */ + typeDefinitions: string[]; + + /** + * (optional) Allows overriding the behavior of "Go to definition" and + * "Find references" for symbols which do not have a definition of their own + * or could potentially have multiple definitions. + * + * For example, in a language with single inheritance and some form of mixins, + * you can use `definition` to relate the symbol to the matching symbol in an + * ancestor class. + * + * @generated from field: string definition = 12; + */ + definition: string; }; /** diff --git a/docs/scip.md b/docs/scip.md index 607a91c1..ed6607e0 100644 --- a/docs/scip.md +++ b/docs/scip.md @@ -374,11 +374,15 @@ docstring or what package it's defined it. | ---- | ---- | ----------- | | **symbol** | string | Identifier of this symbol, which can be referenced from `Occurence.symbol`. The string must be formatted according to the grammar in `Symbol`. | repeated **documentation** | string | (optional, but strongly recommended) The markdown-formatted documentation for this symbol. Use `SymbolInformation.signature_documentation` to document the method/class/type signature of this symbol. Due to historical reasons, indexers may include signature documentation in this field by rendering markdown code blocks. New indexers should only include non-code documentation in this field, for example docstrings. -| repeated **relationships** | Relationship | (optional) Relationships to other symbols (e.g., implements, type definition). +| repeated **relationships** | Relationship | Deprecated: Use the typed relationship fields instead (implementations, references, type_definitions, definition, enclosing_symbol). | **kind** | Kind | The kind of this symbol. Use this field instead of `SymbolDescriptor.Suffix` to determine whether something is, for example, a class or a method. | **display_name** | string | (optional) The name of this symbol as it should be displayed to the user. For example, the symbol "com/example/MyClass#myMethod(+1)." should have the display name "myMethod". The `symbol` field is not a reliable source of the display name for several reasons: | **signature_documentation** | Document | (optional) The signature of this symbol as it's displayed in API documentation or in hover tooltips. For example, a Java method that adds two numbers this would have `Document.language = "java"` and `Document.text = "void add(int a, int b)". The `language` and `text` fields are required while other fields such as `Documentation.occurrences` can be optionally included to support hyperlinking referenced symbols in the signature. -| **enclosing_symbol** | string | (optional) The enclosing symbol if this is a local symbol. For non-local symbols, the enclosing symbol should be parsed from the `symbol` field using the `Descriptor` grammar. +| **enclosing_symbol** | string | (optional) The enclosing symbol if this is a local symbol. For non-local symbols, the enclosing symbol should be parsed from the `symbol` field using the `Descriptor` grammar. +| repeated **implementations** | string | (optional) Symbols that this symbol implements or overrides. For "Find implementations" on the target symbol, this symbol will be included in the results. +| repeated **references** | string | (optional) Symbols whose references should be included when performing "Find references" on this symbol. +| repeated **type_definitions** | string | (optional) Symbols that this symbol is a type definition for. Used for "Go to type definition" navigation. +| **definition** | string | (optional) Allows overriding the behavior of "Go to definition" and "Find references" for symbols which do not have a definition of their own or could potentially have multiple definitions. @@ -400,23 +404,70 @@ the display name for several reasons: Additional notes on **enclosing_symbol**: -(optional) The enclosing symbol if this is a local symbol. For non-local +(optional) The enclosing symbol if this is a local symbol. For non-local symbols, the enclosing symbol should be parsed from the `symbol` field using the `Descriptor` grammar. -The primary use-case for this field is to allow local symbol to be displayed -in a symbol hierarchy for API documentation. It's OK to leave this field -empty for local variables since local variables usually don't belong in API -documentation. However, in the situation that you wish to include a local -symbol in the hierarchy, then you can use `enclosing_symbol` to locate the -"parent" or "owner" of this local symbol. For example, a Java indexer may -choose to use local symbols for private class fields while providing an -`enclosing_symbol` to reference the enclosing class to allow the field to -be part of the class documentation hierarchy. From the perspective of an -author of an indexer, the decision to use a local symbol or global symbol -should exclusively be determined whether the local symbol is accessible -outside the document, not by the capability to find the enclosing -symbol. +The primary use-case for this field is to allow local symbols to be +displayed in a symbol hierarchy for API documentation. It's OK to leave +this field empty for local variables since local variables usually don't +belong in API documentation. However, in the situation that you wish to +include a local symbol in the hierarchy, then you can use +`enclosing_symbol` to locate the "parent" or "owner" of this local symbol. +For example, a Java indexer may choose to use local symbols for private +class fields while providing an `enclosing_symbol` to reference the +enclosing class to allow the field to be part of the class documentation +hierarchy. From the perspective of an author of an indexer, the decision +to use a local symbol or global symbol should exclusively be determined +by whether the local symbol is accessible outside the document, not by the +capability to find the enclosing symbol. + + +Additional notes on **implementations**: + +(optional) Symbols that this symbol implements or overrides. +For "Find implementations" on the target symbol, this symbol will be +included in the results. + +For example, consider the following TypeScript code: +```ts +interface Animal { + sound(): string +} +class Dog implements Animal { + public sound(): string { return "woof" } +} +``` +Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()` +would list `Animal#sound()` in `implementations`. + + +Additional notes on **references**: + +(optional) Symbols whose references should be included when performing +"Find references" on this symbol. + +Continuing the TypeScript example above, `Dog#sound()` would list +`Animal#sound()` in `references`. This means doing "Find references" on +`Dog#sound()` would also include references to `Animal#sound()`, and +vice-versa. + +It's common for a symbol to appear in both `implementations` and +`references`, but not always. For example, `Dog#` lists `Animal#` in +`implementations` but NOT in `references`, because "Find references" on +`Animal#` should not return `Dog#`. + + + +Additional notes on **definition**: + +(optional) Allows overriding the behavior of "Go to definition" and +"Find references" for symbols which do not have a definition of their own +or could potentially have multiple definitions. + +For example, in a language with single inheritance and some form of mixins, +you can use `definition` to relate the symbol to the matching symbol in an +ancestor class. #### Kind diff --git a/scip.proto b/scip.proto index f6c64ae4..22578ff4 100644 --- a/scip.proto +++ b/scip.proto @@ -241,8 +241,9 @@ message SymbolInformation { // this field by rendering markdown code blocks. New indexers should only // include non-code documentation in this field, for example docstrings. repeated string documentation = 3; - // (optional) Relationships to other symbols (e.g., implements, type definition). - repeated Relationship relationships = 4; + // Deprecated: Use the typed relationship fields instead (implementations, + // references, type_definitions, definition, enclosing_symbol). + repeated Relationship relationships = 4 [deprecated = true]; // The kind of this symbol. Use this field instead of // `SymbolDescriptor.Suffix` to determine whether something is, for example, a // class or a method. @@ -422,24 +423,68 @@ message SymbolInformation { // while other fields such as `Documentation.occurrences` can be optionally // included to support hyperlinking referenced symbols in the signature. Document signature_documentation = 7; - // (optional) The enclosing symbol if this is a local symbol. For non-local + // (optional) The enclosing symbol if this is a local symbol. For non-local // symbols, the enclosing symbol should be parsed from the `symbol` field // using the `Descriptor` grammar. // - // The primary use-case for this field is to allow local symbol to be displayed - // in a symbol hierarchy for API documentation. It's OK to leave this field - // empty for local variables since local variables usually don't belong in API - // documentation. However, in the situation that you wish to include a local - // symbol in the hierarchy, then you can use `enclosing_symbol` to locate the - // "parent" or "owner" of this local symbol. For example, a Java indexer may - // choose to use local symbols for private class fields while providing an - // `enclosing_symbol` to reference the enclosing class to allow the field to - // be part of the class documentation hierarchy. From the perspective of an - // author of an indexer, the decision to use a local symbol or global symbol - // should exclusively be determined whether the local symbol is accessible - // outside the document, not by the capability to find the enclosing - // symbol. + // The primary use-case for this field is to allow local symbols to be + // displayed in a symbol hierarchy for API documentation. It's OK to leave + // this field empty for local variables since local variables usually don't + // belong in API documentation. However, in the situation that you wish to + // include a local symbol in the hierarchy, then you can use + // `enclosing_symbol` to locate the "parent" or "owner" of this local symbol. + // For example, a Java indexer may choose to use local symbols for private + // class fields while providing an `enclosing_symbol` to reference the + // enclosing class to allow the field to be part of the class documentation + // hierarchy. From the perspective of an author of an indexer, the decision + // to use a local symbol or global symbol should exclusively be determined + // by whether the local symbol is accessible outside the document, not by the + // capability to find the enclosing symbol. string enclosing_symbol = 8; + + // (optional) Symbols that this symbol implements or overrides. + // For "Find implementations" on the target symbol, this symbol will be + // included in the results. + // + // For example, consider the following TypeScript code: + // ```ts + // interface Animal { + // sound(): string + // } + // class Dog implements Animal { + // public sound(): string { return "woof" } + // } + // ``` + // Here, `Dog#` would list `Animal#` in `implementations`, and `Dog#sound()` + // would list `Animal#sound()` in `implementations`. + repeated string implementations = 9; + + // (optional) Symbols whose references should be included when performing + // "Find references" on this symbol. + // + // Continuing the TypeScript example above, `Dog#sound()` would list + // `Animal#sound()` in `references`. This means doing "Find references" on + // `Dog#sound()` would also include references to `Animal#sound()`, and + // vice-versa. + // + // It's common for a symbol to appear in both `implementations` and + // `references`, but not always. For example, `Dog#` lists `Animal#` in + // `implementations` but NOT in `references`, because "Find references" on + // `Animal#` should not return `Dog#`. + repeated string references = 10; + + // (optional) Symbols that this symbol is a type definition for. + // Used for "Go to type definition" navigation. + repeated string type_definitions = 11; + + // (optional) Allows overriding the behavior of "Go to definition" and + // "Find references" for symbols which do not have a definition of their own + // or could potentially have multiple definitions. + // + // For example, in a language with single inheritance and some form of mixins, + // you can use `definition` to relate the symbol to the matching symbol in an + // ancestor class. + string definition = 12; } message Relationship {