# -*- coding: utf-8 -*-
class ModifiedBase64(object):

    def __init__(self):
        self.aae = ['K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
                    'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
                    'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
                    '8', '9', '+', '/']
        self.aaf = [None] * 128

        #  renamed from: pf
        # def m23208pf(self):
        i = 0
        i2 = 0
        while True:
            bArr = self.aaf
            if i2 <= len(bArr) - 1:
                bArr[i2] = -1
                i2 += 1
            else:
                break
        while True:
            cArr = self.aae
            if i <= len(cArr) - 1:
                self.aaf[ord(cArr[i])] = int(i)
                i += 1
            else:
                return

    def m23207r(self, str_):
        result = ''
        bArr = bytearray(str_.encode('utf-8'))

        i = 0
        while i <= len(bArr) - 1:
            bArr2 = [None] * 4
            b = 0
            i2 = 0
            while i2 <= 2:
                i3 = i + i2
                if i3 <= len(bArr) - 1:
                    bArr2[i2] = (b | ((bArr[i3] & 255) >> ((i2 * 2) + 2)))
                    b = ((((bArr[i3] & 255) << (((2 - i2) * 2) + 2)) & 255) >> 2)
                else:
                    bArr2[i2] = b
                    b = 0x40  # SignedBytes.MAX_POWER_OF_TWO;
                i2 += 1
            bArr2[3] = b

            i4 = 0
            while i4 <= 3:
                if bArr2[i4] <= 63:
                    result = result + self.aae[bArr2[i4]]
                else:
                    result = result + '='
                i4 += 1
            i += 3

        return result

    #  renamed from: eC
    def m23209eC(self, str_):
        """ generated source for method m23209eC """
        bys = []
        # bytes = str_.encode('utf-8')
        bytes = bytearray(str_.encode('utf-8'))
        # print(bytes)
        bArr = [None] * len(bytes)
        i = 0
        while i <= len(bytes) - 1:
            bArr[i] = self.aaf[bytes[i]]
            i += 1
        i2 = 0
        while i2 <= len(bArr) - 1:
            bArr2 = [None] * 3
            i3 = 0
            i4 = 0
            i7 = 0
            while i4 <= 2:
                i5 = i2 + i4
                i6 = i5 + 1
                if i6 <= len(bArr) and bArr[i6] >= 0:
                    bArr2[i4] = ((bArr[i5] & 255) << ((i4 * 2) + 2)) | ((bArr[i6] & 255) >> (((2 - (i4 + 1)) * 2) + 2))
                    i3 += 1
                i4 += 1
            while i7 <= i3 - 1:
                bys.append(self.py2ja(bArr2[i7]))
                i7 += 1
            i2 += 4
        return bytearray(bys).decode('utf-8')

    def py2ja(self, arr: int):
        """
     python字节数组转java字节数组
     :return:
     """
        while arr >= 256:
            arr = arr - 256
        return arr


if __name__ == '__main__':
    # UUID = "ENYnDJO5CNGnCJC5DzcyBWHtEJK4ENcyDJu3EG=="
    v = ModifiedBase64()
    # a = v.m23209eC(UUID)
    # print(a)

    text = '5ZIG5Ya26AQX6YQJ5YsY6SML5bsS'
    print(v.m23209eC(text))

    text = '唐冶街道刘老师'
    print(v.m23207r(text))