parameters: (self, str)
docstring: unpack serialized message in str into this message instance
      :param str: byte array of serialized message, ``str``
docstring_summary: unpack serialized message in str into this message instance
      :param str: byte array of serialized message, ``str``
docstring_tokens: unpack serialized message in str into this message instance : param str : byte array of serialized message str
function: def deserialize(self, str):
      """
      unpack serialized message in str into this message instance
      :param str: byte array of serialized message, ``str``
      """
      try:
        if self.map is None:
          self.map = geographic_msgs.msg.GeographicMap()
        end = 0
        start = end
        end += 1
        (self.success,) = _struct_B.unpack(str[start:end])
        self.success = bool(self.success)
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        start = end
        end += length
        if python3:
          self.status = str[start:end].decode('utf-8')
        else:
          self.status = str[start:end]
        _x = self
        start = end
        end += 12
        (_x.map.header.seq, _x.map.header.stamp.secs, _x.map.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        start = end
        end += length
        if python3:
          self.map.header.frame_id = str[start:end].decode('utf-8')
        else:
          self.map.header.frame_id = str[start:end]
        start = end
        end += 16
        self.map.id.uuid = str[start:end]
        _x = self
        start = end
        end += 48
        (_x.map.bounds.min_pt.latitude, _x.map.bounds.min_pt.longitude, _x.map.bounds.min_pt.altitude, _x.map.bounds.max_pt.latitude, _x.map.bounds.max_pt.longitude, _x.map.bounds.max_pt.altitude,) = _struct_6d.unpack(str[start:end])
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.map.points = []
        for i in range(0, length):
          val1 = geographic_msgs.msg.WayPoint()
          _v4 = val1.id
          start = end
          end += 16
          _v4.uuid = str[start:end]
          _v5 = val1.position
          _x = _v5
          start = end
          end += 24
          (_x.latitude, _x.longitude, _x.altitude,) = _struct_3d.unpack(str[start:end])
          start = end
          end += 4
          (length,) = _struct_I.unpack(str[start:end])
          val1.props = []
          for i in range(0, length):
            val2 = geographic_msgs.msg.KeyValue()
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            start = end
            end += length
            if python3:
              val2.key = str[start:end].decode('utf-8')
            else:
              val2.key = str[start:end]
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            start = end
            end += length
            if python3:
              val2.value = str[start:end].decode('utf-8')
            else:
              val2.value = str[start:end]
            val1.props.append(val2)
          self.map.points.append(val1)
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.map.features = []
        for i in range(0, length):
          val1 = geographic_msgs.msg.MapFeature()
          _v6 = val1.id
          start = end
          end += 16
          _v6.uuid = str[start:end]
          start = end
          end += 4
          (length,) = _struct_I.unpack(str[start:end])
          val1.components = []
          for i in range(0, length):
            val2 = uuid_msgs.msg.UniqueID()
            start = end
            end += 16
            val2.uuid = str[start:end]
            val1.components.append(val2)
          start = end
          end += 4
          (length,) = _struct_I.unpack(str[start:end])
          val1.props = []
          for i in range(0, length):
            val2 = geographic_msgs.msg.KeyValue()
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            start = end
            end += length
            if python3:
              val2.key = str[start:end].decode('utf-8')
            else:
              val2.key = str[start:end]
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            start = end
            end += length
            if python3:
              val2.value = str[start:end].decode('utf-8')
            else:
              val2.value = str[start:end]
            val1.props.append(val2)
          self.map.features.append(val1)
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.map.props = []
        for i in range(0, length):
          val1 = geographic_msgs.msg.KeyValue()
          start = end
          end += 4
          (length,) = _struct_I.unpack(str[start:end])
          start = end
          end += length
          if python3:
            val1.key = str[start:end].decode('utf-8')
          else:
            val1.key = str[start:end]
          start = end
          end += 4
          (length,) = _struct_I.unpack(str[start:end])
          start = end
          end += length
          if python3:
            val1.value = str[start:end].decode('utf-8')
          else:
            val1.value = str[start:end]
          self.map.props.append(val1)
        return self
      except struct.error as e:
        raise genpy.DeserializationError(e)
function_tokens: def deserialize ( self , str ) : try : if self . map is None : self . map = geographic_msgs . msg . GeographicMap ( ) end = 0 start = end end += 1 ( self . success , ) = _struct_B . unpack ( str [ start : end ] ) self . success = bool ( self . success ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : self . status = str [ start : end ] . decode ( 'utf-8' ) else : self . status = str [ start : end ] _x = self start = end end += 12 ( _x . map . header . seq , _x . map . header . stamp . secs , _x . map . header . stamp . nsecs , ) = _struct_3I . unpack ( str [ start : end ] ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : self . map . header . frame_id = str [ start : end ] . decode ( 'utf-8' ) else : self . map . header . frame_id = str [ start : end ] start = end end += 16 self . map . id . uuid = str [ start : end ] _x = self start = end end += 48 ( _x . map . bounds . min_pt . latitude , _x . map . bounds . min_pt . longitude , _x . map . bounds . min_pt . altitude , _x . map . bounds . max_pt . latitude , _x . map . bounds . max_pt . longitude , _x . map . bounds . max_pt . altitude , ) = _struct_6d . unpack ( str [ start : end ] ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) self . map . points = [ ] for i in range ( 0 , length ) : val1 = geographic_msgs . msg . WayPoint ( ) _v4 = val1 . id start = end end += 16 _v4 . uuid = str [ start : end ] _v5 = val1 . position _x = _v5 start = end end += 24 ( _x . latitude , _x . longitude , _x . altitude , ) = _struct_3d . unpack ( str [ start : end ] ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) val1 . props = [ ] for i in range ( 0 , length ) : val2 = geographic_msgs . msg . KeyValue ( ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val2 . key = str [ start : end ] . decode ( 'utf-8' ) else : val2 . key = str [ start : end ] start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val2 . value = str [ start : end ] . decode ( 'utf-8' ) else : val2 . value = str [ start : end ] val1 . props . append ( val2 ) self . map . points . append ( val1 ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) self . map . features = [ ] for i in range ( 0 , length ) : val1 = geographic_msgs . msg . MapFeature ( ) _v6 = val1 . id start = end end += 16 _v6 . uuid = str [ start : end ] start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) val1 . components = [ ] for i in range ( 0 , length ) : val2 = uuid_msgs . msg . UniqueID ( ) start = end end += 16 val2 . uuid = str [ start : end ] val1 . components . append ( val2 ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) val1 . props = [ ] for i in range ( 0 , length ) : val2 = geographic_msgs . msg . KeyValue ( ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val2 . key = str [ start : end ] . decode ( 'utf-8' ) else : val2 . key = str [ start : end ] start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val2 . value = str [ start : end ] . decode ( 'utf-8' ) else : val2 . value = str [ start : end ] val1 . props . append ( val2 ) self . map . features . append ( val1 ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) self . map . props = [ ] for i in range ( 0 , length ) : val1 = geographic_msgs . msg . KeyValue ( ) start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val1 . key = str [ start : end ] . decode ( 'utf-8' ) else : val1 . key = str [ start : end ] start = end end += 4 ( length , ) = _struct_I . unpack ( str [ start : end ] ) start = end end += length if python3 : val1 . value = str [ start : end ] . decode ( 'utf-8' ) else : val1 . value = str [ start : end ] self . map . props . append ( val1 ) return self except struct . error as e : raise genpy . DeserializationError ( e )