Image of a purple bunny. The image has been encoded in base64 in a special 16 color compressed format on top of an lz77 based compression algorithm
from kandinsky import fill_rect as fr, draw_string as ds from ion import keydown as kd from numpy import array as ar, concatenate as ct, zeros as zs B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ID = 1 class TP: def __init__(self, w1, w2, w3, mb, lo, ll): self.w1, self.w2, self.w3, self.mb = w1, w2, w3, mb self.lo, self.ll = lo, ll self.m1l = self._cmv(w1) self.m1d = self._cmv(6 - w1 if mb > 1 else 7 - w1) if mb == 1: self.md = self.m1d; return self.m2l = self._cmv(w2) self.m2d = self._cmv(13 - w2 if mb > 2 else 14 - w2) if mb == 2: self.md = self.m2d; return self.m3l = self._cmv(w3) self.m3d = self._cmv(20 - w3 if mb > 3 else 21 - w3) self.md = min(self.m3d, 2047) def _cmv(self, w): return (2 << (w - 1)) - 1 if w > 0 else 0 class SW: def __init__(self, ws): self.ws = ws self.buf = zs(ws, dtype=ID) self.idx = 0 self.of = 0 def add_b(self, b): self.buf[self.idx] = b self.of += ((self.idx + 1) // self.ws) * (self.ws) self.idx = (self.idx + 1) % self.ws def get_b(self, d): idx = (self.idx - d - 1) % self.ws return int(self.buf[idx]) def get_l(self): return self.idx + self.of def pw(gen): while True: try: a = next(gen) b = next(gen) yield a, b except StopIteration: break class TI: def __init__(self, data, tps, p=None): self.img = dc(fb64(data), tps) self.tps = tps p = p or self.img self.clrs = [ r565(next(p) * 256 + next(p)) for _ in range(next(p) + 1) ] dims = (next(self.img) << 24) | (next(self.img) << 16) | (next(self.img) << 8) | next(self.img) self.w, self.h = dims >> 18, (dims >> 4) & 0x3FFF def dr_img(self, x, y): x0 = x for b in self.img: l, c = (b >> 4) + 1, b & 0x0F if x + l > x0 + self.w: x, y = x0, y + 1 if self.clrs[c] != (255, 255, 255): fr(x, y, l, 1, self.clrs[c]) x += l def dld(eb, tps): if eb[0] & 0b11000000 == 0b10000000 or tps.mb == 1: d = (eb[0] >> tps.w1) & ((1 << (6 - tps.w1)) - 1) l = eb[0] & ((1 << tps.w1) - 1) return l + 3, d + 1, 1 elif (eb[0] & 0b11000000 == 0b11000000 and eb[1] & 0b10000000 == 0) or tps.mb == 2: cv = ((eb[0] & 0b00111111) << (8 if tps.mb <= 2 else 7)) | eb[1] d = cv >> tps.w2 l = cv & ((1 << tps.w2) - 1) if d <= tps.m1d: l += tps.m1l return l + 3, d + 1, 2 elif (eb[0] & 0b11000000 == 0b11000000 and eb[1] & 0b10000000 == 0b10000000 and eb[2] & 0b10000000 == 0) or tps.mb == 3: cv = ((eb[0] & 0b00111111) << (15 if tps.mb <= 3 else 14)) | ((eb[1] & 0b01111111) << 8) | eb[2] d = cv >> tps.w3 l = cv & ((1 << tps.w3) - 1) if d <= tps.m1d: l += tps.m1l + tps.m2l elif d <= tps.m2d: l += tps.m2l return l + 3, d + 1, 3 elif (eb[0] & 0b11000000 == 0b11000000 and eb[1] & 0b10000000 == 0b10000000 and eb[2] & 0b10000000 == 0b10000000) or tps.mb == 4: cv = ((eb[0] & 0b00111111) << 22) | ((eb[1] & 0b01111111) << 15) | ((eb[2] & 0b01111111) << 8) | eb[3] d = cv >> 17 l = cv & ((1 << 17) - 1) return l + 3, d + 1, 4 def dc(data, tps): tl, of, tx, p = len(data), 0, SW(tps.md), 0 while of < tl: od = data[of] if od & 0x80 == 0x00: if tps.lo <= od <= tps.lo + 127 - tps.ll: tx.add_b(od) of += 1 else: ll = 127 - od + 1 + tps.lo of += 1 for i in range(ll): tx.add_b(data[of + i]) of += ll else: l, d, nb = dld(data[of:of + 4], tps) of += nb ep = tx.get_l() - (d - l) if ep <= tx.get_l(): for i in range(l): tx.add_b(tx.get_b(d - 1)) else: ch = [tx.get_b(d - i - 1) for i in range(d)] * (l // d + 1) for i in range(l): tx.add_b(ch[i]) while p < tx.get_l(): yield tx.get_b(tx.get_l() - p - 1) p += 1 def r565(c): return ((c >> 11 & 0x1F) * 255 // 31, (c >> 5 & 0x3F) * 255 // 63, (c & 0x1F) * 255 // 31) def gclr(p): p = fb64(p) return [r565(p[1 + i] * 256 + p[2 + i]) for i in range(0, p[0] * 2, 2)] def fb64(eb): dl = (len(eb) * 3) // 4 - eb.count('=') da = zs(dl, dtype=ID) ai = 0 for i in range(0, len(eb), 4): bl = eb[i:i+4].replace("=", "A") bi = sum((B64.index(c) << (6 * (3 - j))) for j, c in enumerate(bl)) for byte in bi.to_bytes(3, "big"): if ai < dl: da[ai] = byte ai += 1 return da tps = TP(0, 3, 9, 3, 0, 7) img = TI('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' , tps) img.dr_img(60,10)