Сумма двух целых чисел без использования оператора «+» в python

Нужна помощь в понимании Python решений Leetcode 371. "Сумма двух целых чисел". я нашелhttps://discuss.leetcode.com/topic/49900/python-solution/2 является наиболее популярным решением Python, но у меня возникли проблемы с его пониманием.

Как понять использование «% MASK» и почему «MASK = 0x100000000»?Как понять "~ ((% MIN_INT) ^ MAX_INT)"?Когда сумма превышает MAX_INT, функции выдают отрицательное значение (например, getSum (2147483647,2) = -2147483647), не так ли?
class Solution(object):

    def getSum(self, a, b):
        """
        :type a: int
        :type b: int
        :rtype: int
        """
        MAX_INT = 0x7FFFFFFF
        MIN_INT = 0x80000000
        MASK = 0x100000000
        while b:
            a, b = (a ^ b) % MASK, ((a & b) << 1) % MASK
        return a if a <= MAX_INT else ~((a % MIN_INT) ^ MAX_INT)