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