def MergeFromString(self, serialized):
    'Merges serialized protocol buffer data into this message.\n\n    When we find a field in `serialized` that is already present\n    in this message:\n\n    -   If it\'s a "repeated" field, we append to the end of our list.\n    -   Else, if it\'s a scalar, we overwrite our field.\n    -   Else, (it\'s a nonrepeated composite), we recursively merge\n        into the existing composite.\n\n    Args:\n      serialized (bytes): Any object that allows us to call\n        ``memoryview(serialized)`` to access a string of bytes using the\n        buffer interface.\n\n    Returns:\n      int: The number of bytes read from `serialized`.\n      For non-group messages, this will always be `len(serialized)`,\n      but for messages which are actually groups, this will\n      generally be less than `len(serialized)`, since we must\n      stop when we reach an ``END_GROUP`` tag.  Note that if\n      we *do* stop because of an ``END_GROUP`` tag, the number\n      of bytes returned does not include the bytes\n      for the ``END_GROUP`` tag information.\n\n    Raises:\n      DecodeError: if the input cannot be parsed.\n    '
    raise NotImplementedError
Merges serialized protocol buffer data into this message.

When we find a field in `serialized` that is already present
in this message:

-   If it's a "repeated" field, we append to the end of our list.
-   Else, if it's a scalar, we overwrite our field.
-   Else, (it's a nonrepeated composite), we recursively merge
    into the existing composite.

Args:
  serialized (bytes): Any object that allows us to call
    ``memoryview(serialized)`` to access a string of bytes using the
    buffer interface.

Returns:
  int: The number of bytes read from `serialized`.
  For non-group messages, this will always be `len(serialized)`,
  but for messages which are actually groups, this will
  generally be less than `len(serialized)`, since we must
  stop when we reach an ``END_GROUP`` tag.  Note that if
  we *do* stop because of an ``END_GROUP`` tag, the number
  of bytes returned does not include the bytes
  for the ``END_GROUP`` tag information.

Raises:
  DecodeError: if the input cannot be parsed.
def MergeFromString(self, serialized):
    'Merges serialized protocol buffer data into this message.\n\n    When we find a field in `serialized` that is already present\n    in this message:\n\n    -   If it\'s a "repeated" field, we append to the end of our list.\n    -   Else, if it\'s a scalar, we overwrite our field.\n    -   Else, (it\'s a nonrepeated composite), we recursively merge\n        into the existing composite.\n\n    Args:\n      serialized (bytes): Any object that allows us to call\n        ``memoryview(serialized)`` to access a string of bytes using the\n        buffer interface.\n\n    Returns:\n      int: The number of bytes read from `serialized`.\n      For non-group messages, this will always be `len(serialized)`,\n      but for messages which are actually groups, this will\n      generally be less than `len(serialized)`, since we must\n      stop when we reach an ``END_GROUP`` tag.  Note that if\n      we *do* stop because of an ``END_GROUP`` tag, the number\n      of bytes returned does not include the bytes\n      for the ``END_GROUP`` tag information.\n\n    Raises:\n      DecodeError: if the input cannot be parsed.\n    '
    raise NotImplementedError