public override int GetHashCode()
                {
                    int hash = 1;

                    if (ReceiverId.Length != 0)
                    {
                        hash ^= ReceiverId.GetHashCode();
                    }
                    if (TechnicalMessageType.Length != 0)
                    {
                        hash ^= TechnicalMessageType.GetHashCode();
                    }
                    if (TeamSetContextId.Length != 0)
                    {
                        hash ^= TeamSetContextId.GetHashCode();
                    }
                    if (chunkContext_ != null)
                    {
                        hash ^= ChunkContext.GetHashCode();
                    }
                    if (PayloadSize != 0L)
                    {
                        hash ^= PayloadSize.GetHashCode();
                    }
                    if (sentTimestamp_ != null)
                    {
                        hash ^= SentTimestamp.GetHashCode();
                    }
                    if (SequenceNumber != 0L)
                    {
                        hash ^= SequenceNumber.GetHashCode();
                    }
                    if (SenderId.Length != 0)
                    {
                        hash ^= SenderId.GetHashCode();
                    }
                    if (createdAt_ != null)
                    {
                        hash ^= CreatedAt.GetHashCode();
                    }
                    if (MessageId.Length != 0)
                    {
                        hash ^= MessageId.GetHashCode();
                    }
                    if (metadata_ != null)
                    {
                        hash ^= Metadata.GetHashCode();
                    }
                    if (_unknownFields != null)
                    {
                        hash ^= _unknownFields.GetHashCode();
                    }
                    return(hash);
                }
        public override int GetHashCode()
        {
            int hash = 1;

            if (GiftboxId != 0UL)
            {
                hash ^= GiftboxId.GetHashCode();
            }
            if (SenderId.Length != 0)
            {
                hash ^= SenderId.GetHashCode();
            }
            if (SenderCodename.Length != 0)
            {
                hash ^= SenderCodename.GetHashCode();
            }
            if (ReceiverId.Length != 0)
            {
                hash ^= ReceiverId.GetHashCode();
            }
            if (ReceiverCodename.Length != 0)
            {
                hash ^= ReceiverCodename.GetHashCode();
            }
            if (FortId.Length != 0)
            {
                hash ^= FortId.GetHashCode();
            }
            if (FortName.Length != 0)
            {
                hash ^= FortName.GetHashCode();
            }
            if (FortLat != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FortLat);
            }
            if (FortLng != 0D)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FortLng);
            }
            if (FortImageUrl.Length != 0)
            {
                hash ^= FortImageUrl.GetHashCode();
            }
            if (CreationTimestamp != 0L)
            {
                hash ^= CreationTimestamp.GetHashCode();
            }
            if (SentTimestamp != 0L)
            {
                hash ^= SentTimestamp.GetHashCode();
            }
            if (DeliveryPokemonId != 0UL)
            {
                hash ^= DeliveryPokemonId.GetHashCode();
            }
            if (IsSponsored != false)
            {
                hash ^= IsSponsored.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(Header other)
 {
     if (other == null)
     {
         return;
     }
     if (other.ReceiverId.Length != 0)
     {
         ReceiverId = other.ReceiverId;
     }
     if (other.TechnicalMessageType.Length != 0)
     {
         TechnicalMessageType = other.TechnicalMessageType;
     }
     if (other.TeamSetContextId.Length != 0)
     {
         TeamSetContextId = other.TeamSetContextId;
     }
     if (other.chunkContext_ != null)
     {
         if (chunkContext_ == null)
         {
             ChunkContext = new global::Agrirouter.Commons.ChunkComponent();
         }
         ChunkContext.MergeFrom(other.ChunkContext);
     }
     if (other.PayloadSize != 0L)
     {
         PayloadSize = other.PayloadSize;
     }
     if (other.sentTimestamp_ != null)
     {
         if (sentTimestamp_ == null)
         {
             SentTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         SentTimestamp.MergeFrom(other.SentTimestamp);
     }
     if (other.SequenceNumber != 0L)
     {
         SequenceNumber = other.SequenceNumber;
     }
     if (other.SenderId.Length != 0)
     {
         SenderId = other.SenderId;
     }
     if (other.createdAt_ != null)
     {
         if (createdAt_ == null)
         {
             CreatedAt = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         CreatedAt.MergeFrom(other.CreatedAt);
     }
     if (other.MessageId.Length != 0)
     {
         MessageId = other.MessageId;
     }
     if (other.metadata_ != null)
     {
         if (metadata_ == null)
         {
             Metadata = new global::Agrirouter.Commons.Metadata();
         }
         Metadata.MergeFrom(other.Metadata);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }