inline int32_t WireFormatLite::ZigZagDecode32(uint32_t n) {
  // Note:  Using unsigned types prevent undefined behavior
  return static_cast<int32_t>((n >> 1) ^ (~(n & 1) + 1));
}
inline int32_t WireFormatLite::ZigZagDecode32(uint32_t n) {
   
  return static_cast<int32_t>((n >> 1) ^ (~(n & 1) + 1));
}