public xor