Code: Select all
#!/usr/bin/env python3
"""
Convert CCC format files to PNG images.
CCC format: comma-separated decimal integers representing cell indices
- Single 0 = row separator
- Double 0 (0,0) = end of file
Each integer (0-255) maps to an embedded 8x8 cell image.
This is a fully standalone program - all 256 cell images are embedded.
"""
import sys
from pathlib import Path
from PIL import Image
from io import BytesIO
import base64
# Embedded cell image data (256 cells: 0000-00ff)
# Each cell is an 8x8 RGB image stored as base64-encoded PNG
CELLS_DATA = {
"0000": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAADklEQVR4nGNgGA5gFQMAAhwAq7bCL0kAAAAASUVORK5CYII=",
"0001": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nJWOwQkAMAwCLyUzOqRT9hMaKOmjggiHiAFm0hopkJVWMxlIIzju4feUqqPrRHy/2lUbB7+vlEi9AAAAAElFTkSuQmCC",
"0002": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAN0lEQVR4nJXOMQoAIRQD0ad4xn/InNJiF7Sw0DSBDIRpxCn9uGL8nVpbZQP4UETdXFkSJWjPVhPzPAcT2o4K9gAAAABJRU5ErkJggg==",
"0003": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nGNkYFjFgA0wYRVlYGBggdKrwhBiYasYGBgYVkHMgpu3CiqC0yhGqGIMoxhJdhUAI7cKCExJT0YAAAAASUVORK5CYII=",
"0004": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNkYFjFgA0wYRXFJ8GI3SB8OqhnOQALSQIMzPWFfwAAAABJRU5ErkJggg==",
"0005": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsKQ9cMlYAwyjCIZAAD8qwYD+atCzgAAAABJRU5ErkJggg==",
"0006": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsIYGBgYWND4DKugakg3inQAAHrrBQmQN/UIAAAAAElFTkSuQmCC",
"0007": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsIYGBgYWFbB2WFQFavINIp0AAD05wYJgHys9AAAAABJRU5ErkJggg==",
"0008": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgoCZYhVWUCZccEy59TAwMYVjlIDqwyAEA9AwEB4SXVzAAAAAASUVORK5CYII=",
"0009": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgIBUwQulVSGJhMJFVyBIwBhPpRiGBVcjyOI0CADRHBgOb6qJOAAAAAElFTkSuQmCC",
"000a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgIBUwQulVSGJhDAwMDCxofIZVUDVMJBuFDFYhy+M0CgCyeAUJCh422wAAAABJRU5ErkJggg==",
"000b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgIBUwQulVSGJhDAwMDCyr4OwwqAqICBPJRiGDVcjyOI0CACyDBgkt3LOpAAAAAElFTkSuQmCC",
"000c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNkQIBVMEYYAwMDE5JEGLIKRgZ0ANXHhCERhiGCTR9VAAAIrgOxLGnjxgAAAABJRU5ErkJggg==",
"000d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsKQ9cMlYAwyjCLZVQAtZgdZ/M8WRQAAAABJRU5ErkJggg==",
"000e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsIYGBgYWND4DKugakg3ChkQ5yoAq5cGXxF/JgUAAAAASUVORK5CYII=",
"000f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGNgQIBVDAyr4BwmBhyAEaEaDsIYGBgYWFbB2WFQFavINAoZEOcqACWiB19+A5HaAAAAAElFTkSuQmCC",
"0010": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNkYFjFgA0wYRUdtBIAidoAuiOe/Y8AAAAASUVORK5CYII=",
"0011": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgoBpgXIVDgol6duAEAFRlAK7l9p89AAAAAElFTkSuQmCC",
"0012": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNgQIBVDAyr4BwmBhxgcEoAAP3yAWOXdalEAAAAAElFTkSuQmCC",
"0013": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgQIBVDAyr4BwmBhwApwTjKhwSOHUgAwotBwCg9ANeAuSmfgAAAABJRU5ErkJggg==",
"0014": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNkwASrGBgYGBgxhSCACasoqgQD9STCUCQYGTDBKgYGBgYAVXsDDOR/KSEAAAAASUVORK5CYII=",
"0015": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGNkwASrGBgYGBgxhSCACasoAwMDC5wbhmoeEwMOgGQHqlFIOlDNQnUVklYA+aQEt8/FXBcAAAAASUVORK5CYII=",
"0016": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgWMXAsIoBEzBBaQxpJhTeKlwSOHWQLhGGYLJgCkEAAFN2BA97mnk5AAAAAElFTkSuQmCC",
"0017": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGNgWMXAsIoBEzBBaQxpJhQekhwLmglwKSYGHABdRxh2HWEIJgumEAQAALE6BRN+4TYbAAAAAElFTkSuQmCC",
"0018": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNkWMWAFTBhF0aRCGNgCMOUCGNAYxA0Cu4EGIORZFcBAKU7BA9i1avSAAAAAElFTkSuQmCC",
"0019": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOElEQVR4nG2NQRIAIAgCVx/pI3tlB4dMixMugxipRSkAfFKdVjRa1Ru9jIJHCs5DGfuMA5GNmBTYUXUHuND4vEEAAAAASUVORK5CYII=",
"001a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAF0lEQVR4nGNgIBUwrsIhwYRLB+kSpAMAZqgAsuFozHoAAAAASUVORK5CYII=",
"001b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAEklEQVR4nGNcxYAdMOEQH6QSAIsuALqj0AtvAAAAAElFTkSuQmCC",
"001c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNkYGBgYGBYxQAFYTAGE1ZRBgYGJqyiUB2Yoiim0w4AAGaCBAivWjq8AAAAAElFTkSuQmCC",
"001d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgoDFYxcDAhFWUAVNiFYzBhFU0DFkCWZSBgQEA0g4EB8nSW1EAAAAASUVORK5CYII=",
"001e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGNgQAarEEwmBhwASWIViiaCOpBMh7Dx64AoD0MiV8F1hCEpDmNgYGAAAPgPBg3j2J99AAAAAElFTkSuQmCC",
"001f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGNgYGBgWMUABUgMJnQhGJsRiwQDA0MYXAcGYIIrQVaOJEEAINmEUwcAKHkFtLWh86UAAAAASUVORK5CYII=",
"0020": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAADElEQVR4nGNgGB4AAADIAAGtQHYiAAAAAElFTkSuQmCC",
"0021": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgIAxWMTCsQvCYcCnDKYFhGomAGB0AK9MCrZcYYVAAAAAASUVORK5CYII=",
"0022": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNgIAxWIZEMDExE6KA/AADXyAFXvuGGhAAAAABJRU5ErkJggg==",
"0023": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgIABWoTMYUUThIAy3DiZcZpNuFE4AAGyBBgEnR48qAAAAAElFTkSuQmCC",
"0024": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgIAqsQjAZMYVQFa7CqgO7ckw7VjEwrMKlIwy3qwCPSAeoSWQNLQAAAABJRU5ErkJggg==",
"0025": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgIAusYmBYhc5mQlfBwMAQhkcfFlEUo7CbgAMAAB3FCKlF7dYXAAAAAElFTkSuQmCC",
"0026": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYofQqJLEwZAWr0BmMWOSw6EDXtwpVxSqsloehqsMEACilCP5b5d5NAAAAAElFTkSuQmCC",
"0027": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNgIAxWMTCswiNHtCgtAQB+rQKpi/NyRQAAAABJRU5ErkJggg==",
"0028": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNgIAxWMTCsIkKUCZd+0iUIWo4BAMdpBAOB1jRPAAAAAElFTkSuQmCC",
"0029": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNgIAxWMTCsIkKOCZca0iWItBwJAAC/cQQDfv1AGQAAAABJRU5ErkJggg==",
"002a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgIAqsQjCZMIUgbEYsysOQdRAwHZnEZTlOAAAjSQWsJocJJgAAAABJRU5ErkJggg==",
"002b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoAysQjCZcKlhxFTLwMDAEEaGUTgBANxSAlqXGaJ3AAAAAElFTkSuQmCC",
"002c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNgGBxgFQPDKjxyBEUBdP4CqTYf1A8AAAAASUVORK5CYII=",
"002d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgoD1ghNKrUIXDqGkHAFgiAQJ6TOavAAAAAElFTkSuQmCC",
"002e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgGBxgFQPDKgSPiWT9AFQuAVcRsILUAAAAAElFTkSuQmCC",
"002f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNgoBisYmBYRT9RHAAARfQGpZhRSEgAAAAASUVORK5CYII=",
"0030": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgwAEYofQqVOEwiMQqKAdZERMuo0iXwGk5TgAAsOIDtBVqP98AAAAASUVORK5CYII=",
"0031": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgIBasYmBYxcDAwMCELgoDTCiiYVglkEQxjCJGAicAAL3NA1/A9dnwAAAAAElFTkSuQmCC",
"0032": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgwAEYGRgYGFbhkkADqxgYGBiYSDaKBcEMI04HTgAAPogDCfqj3kQAAAAASUVORK5CYII=",
"0033": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYGRgYGFbhkkADqxgYGBiY8BqFqpaBgYEhDLdROC3HCQBgkQOweI6mWAAAAABJRU5ErkJggg==",
"0034": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSgVMCySgsEmgAvx04AQB3RQMIw03l3wAAAABJRU5ErkJggg==",
"0035": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgwAEYGRgYGFZhkWBBMMNQJJhINooRi9gqvDpwAgAmzQMJfBItFgAAAABJRU5ErkJggg==",
"0036": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgwAEYGRgYGFZhkWBBMMNQJJioYtQqvDpwAgA9LgNiS1LK9AAAAABJRU5ErkJggg==",
"0037": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgwAEYGRgYGFbhkkADqxgYGBiYcBlFRQmcAADMAQFfQWJlmQAAAABJRU5ErkJggg==",
"0038": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTNQzCqcOnAAAk4IEDC+/uIUAAAAASUVORK5CYII=",
"0039": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTCQbxYhFbBVeHTgBAH0hA7MBtp1PAAAAAElFTkSuQmCC",
"003a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgoACsYmBYheAxDaRRAAvVAq0gph3mAAAAAElFTkSuQmCC",
"003b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgoACsYmBYheAxUc8oDDmCogAspQP/IDhreAAAAABJRU5ErkJggg==",
"003c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNgoBisYmBYRZYQ9aQZGAA9/AalCeceQwAAAABJRU5ErkJggg==",
"003d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgoBpgZGBgYFiFIRxGTR04AQCzeAIDcMfVZAAAAABJRU5ErkJggg==",
"003e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNgIAusYmBYRVVp4oRwAwBN7Aal4KFrdAAAAABJRU5ErkJggg==",
"003f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYEcxVMEYYAwMDAxOKaBiCzYKsCjdYhWQgcYAY5QA3bwUGqm8oqwAAAABJRU5ErkJggg==",
"0040": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYofQqVOEwrKKrGBgYGFjQ+HDAhMsObEbhsxwPAADzHARb3n7+6AAAAABJRU5ErkJggg==",
"0041": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYEcxVKBJMKKJhDAxhaBLYjVqFRYIFwYQZAlGH0yicAACkTgO3h6L7oQAAAABJRU5ErkJggg==",
"0042": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nHXMsQ0AIAwDwSNixgzJlHSRgsh3tt5mYMHpXUK0nMoLA78rsJ/r8sbFyAX0GAS2dsSyCAAAAABJRU5ErkJggg==",
"0043": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmHDZgU3HKryW4wQAY5ADZYubxrEAAAAASUVORK5CYII=",
"0044": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nGNgwAEYGRgYGFahioUxMDAwMKHwwxjg6pgYGLAoZ1iFKQEDOCWwWY4fAADizgQLpn/f2AAAAABJRU5ErkJggg==",
"0045": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmBD8VShm4jQKp+U4AQDtRgUPPtGXAQAAAABJRU5ErkJggg==",
"0046": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmBD8VShmYjOKAU0HkQAAqxADvM7p0b8AAAAASUVORK5CYII=",
"0047": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqMCRgxjJhVY7PcpwAAInWA7stJK0cAAAAAElFTkSuQmCC",
"0048": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSgVMCyShUwIJgEmkHTgAAjaYDYcfvoIMAAAAASUVORK5CYII=",
"0049": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgwAEYofQqJLEwNDWrUKSZcBlFvgTc9FU4FMIBAI+mA7KDFM9jAAAAAElFTkSuQmCC",
"004a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYEcxVSMJhaMpWIaSZcBnFhKYQVQKf5XAd6NZiAAD50gSxGQfOQQAAAABJRU5ErkJggg==",
"004b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMKGrhCliwiqKahQqYEEwCdhBEAAAfa0FYdfcFLAAAAAASUVORK5CYII=",
"004c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgwAdWMTCsQhdjwqWYdAkW7FYyMDDCWcQCACdVArR5YoTvAAAAAElFTkSuQmCC",
"004d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nI3MwQ0AIAxC0adDdshO6ckoBxM5NIRf4KEBDWpnDfP89HUDXGmCisFs1LEJfrQAYQMEtkUlUD4AAAAASUVORK5CYII=",
"004e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAM0lEQVR4nHXLwQ0AIAxC0adDdshO6ck0JMoJ+MBHCxrU7Rr2bDoeO1I/QQXLR41NkOytAy8DBLZtJcfZAAAAAElFTkSuQmCC",
"004f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTLiMIl0Cp+U4AQAaNAJhftx21AAAAABJRU5ErkJggg==",
"0050": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTFQxigGvUTgBAFFMArliVZ6rAAAAAElFTkSuQmCC",
"0051": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTLiMIl5iFdRYnJbjBABSMANh24EvVwAAAABJRU5ErkJggg==",
"0052": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTCQbhaQjDMm0MEyjwhDWYAcAk7AEY42IgKMAAAAASUVORK5CYII=",
"0053": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqcBrFiEVsFV4dOAEAoWEEC1DuJ4kAAAAASUVORK5CYII=",
"0054": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYGRgYGFZhkWCC0mFIYmFwiTB05QxhcB04jSJeAicAABxGAg71T1jGAAAAAElFTkSuQmCC",
"0055": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSQUUJRmQLESAMQyEcAAA5HAK1ZRHYogAAAABJRU5ErkJggg==",
"0056": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANElEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSQYzEKiQSagcSHwrC4DrCUETxAQDcawS1Y8ZBeAAAAABJRU5ErkJggg==",
"0057": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSQaTEKqx2YNEBtxaTgQkAn+0ECwkJjQwAAAAASUVORK5CYII=",
"0058": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nHWLsQ0AMAjDDEdyZK7sUAFFKpkgdmCJAQiAyE6voPzzsMHoqX/mKjDd23iLMdmWA9rxCQX0ScpeAAAAAElFTkSuQmCC",
"0059": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nH3NwQ0AIAhD0adDMiRTelGDB/yHJrQppWFAgjhewuwaJcii+1W5N3Eb8bi/jZYFJ2EEtSYKU1UAAAAASUVORK5CYII=",
"005a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVwHQwoQhBFjJhCGHZgMQqb5TgBAEaNBgj3sSeBAAAAAElFTkSuQmCC",
"005b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgwAEYofQqJLEwBgYGBhYUZWEIJhMuoyiVWIXqCqwAAAUUArg92EUVAAAAAElFTkSuQmCC",
"005c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAF0lEQVR4nGNgIAusYmBYNVjkGBgYGBgARfQGpbrvdQMAAAAASUVORK5CYII=",
"005d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgwAEYofQqJLEwTGWrECqYcBlFugQLFsvxAwB2JAMKCttkpAAAAABJRU5ErkJggg==",
"005e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNgIAqsQjCZ0EVXoUlA+GHo+mgLANs9A63DEDwPAAAAAElFTkSuQmCC",
"005f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNgGFKAkYGBgWEVFgkADikArA8arLkAAAAASUVORK5CYII=",
"0060": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNgIAqsIkKUiQgdNAMAEr8CAXmZhxUAAAAASUVORK5CYII=",
"0061": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgoBpghNKrUIXDMEVXQblMuIxiQTcqDMNYNAAAWOIEsA4sqJoAAAAASUVORK5CYII=",
"0062": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgwAdWYRFjwqUYpwQjFqPCsNqxCsplwWM/dgAAZG0EXIv77lwAAAAASUVORK5CYII=",
"0063": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoBpghNKrUIXDMEVXIXPRlBNhFDYAAHBCBKuofj3zAAAAAElFTkSuQmCC",
"0064": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgIAGsYmBgYGDCJYtTggVZO3ZDEexVhHVgAwA+xQQJ9fSHFQAAAABJRU5ErkJggg==",
"0065": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoBpghNKrkMTCGBgYGJjQRVG4aBL4jcIJADvwBAMFIT0AAAAAAElFTkSuQmCC",
"0066": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgIAxWMTCswiXBgFUOVYgRi2gYXjuYiHAVKgAAhM4FqgVQ4H0AAAAASUVORK5CYII=",
"0067": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgoBpghNKrUIXDMEVXQbn4dSADfDrCGBgYGACRxgZW+HQraAAAAABJRU5ErkJggg==",
"0068": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgwAdWYRFjwqUYpwQjFqPCsNqxCsrFaRROAABIJQOwlWPnVgAAAABJRU5ErkJggg==",
"0069": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNgIAxWEaEGnw4mXHKoEjh1EAMA9EICBTvi2r4AAAAASUVORK5CYII=",
"006a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgIAxWEaEGnw4mXHKoEug68Fm7Cl0aACbJBAOTwdPSAAAAAElFTkSuQmCC",
"006b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgIABWoQswEVKxCl2UCY8cKn8VlI1hB0EAAEueBgFh9bCAAAAAAElFTkSuQmCC",
"006c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgIABWMTCswiOHBJhwKUOVWIVLghijcAIAdMsCsX11qJgAAAAASUVORK5CYII=",
"006d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgoBpgZGBgYFiFKhbGwMDAwITMgZKrkCUwAE4JnAAA5ukCXptzYBMAAAAASUVORK5CYII=",
"006e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgoBpghNKrkMTCkBWsQmKsYmBgYGDCZRROCZwAABycAwSFYOvmAAAAAElFTkSuQmCC",
"006f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoBpghNKrkMTC4Cxk0VVQLhN5RmEDAERgBAOKBdIoAAAAAElFTkSuQmCC",
"0070": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgoBpgZGBgYFiFKhYGZyFLrIJyWbDIoajCAEy4LAcAa1wEWqENDmYAAAAASUVORK5CYII=",
"0071": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgoBpghNKrUIXDMEVXQbks2HVgB6sYGBgYmHDJAgBeZgRakfv28AAAAABJRU5ErkJggg==",
"0072": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNgoAVYhUSiSyCJMuHSj1MCJwAACXMCrR3uwjQAAAAASUVORK5CYII=",
"0073": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgoBpgRDBXIQmHMbCgqwzDZcQqqFYWBJ9IAAD0ZQNeK7KLgQAAAABJRU5ErkJggg==",
"0074": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgIAxWofCYUERXMWAD2HVgyKFK4NRBDAAArhkDWyGvYiYAAAAASUVORK5CYII=",
"0075": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgoDpYhcRYxcDAwMCESyVOCUYspjEwMIThthQAAIMDBMebjPoAAAAASUVORK5CYII=",
"0076": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgoDpYhcRYxcDAwMAE5YchyTEgSyDrC0OTCCPOUgB/1QRbXaL5mwAAAABJRU5ErkJggg==",
"0077": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoC5YhUquYmBgYGDCpRinBCOKaRAQhtdeAFE1A65eo8AQAAAAAElFTkSuQmCC",
"0078": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoDpYxcCwCsbAKYcuikVuFSobiz4kAAAZdgdPVvlB7gAAAABJRU5ErkJggg==",
"0079": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgoC5YhcpexcDAwMCESzEjFk0MDAxhWI1dhUtHGAMDAwMAU+kFVyGNswsAAAAASUVORK5CYII=",
"007a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgoBpgZGBgYFiFJBCGqWYVphCy6CooG8MonAbCAABPFASr2DKEDQAAAABJRU5ErkJggg==",
"007b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgIAqsYmBYRawoA7ooE1ZRYnQQ0IdkPwBkWAapb6/92QAAAABJRU5ErkJggg==",
"007c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNgIAqsQjCZcKnBKUEkoMgOAJbwAV1aUNgAAAAAAElFTkSuQmCC",
"007d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgIABWMTCsIlMOBpjwyBHUgVMtqgQAbFAGqZni+7wAAAAASUVORK5CYII=",
"007e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAE0lEQVR4nGNgIAxWIZGERAcKAACPRwKpcWPjtAAAAABJRU5ErkJggg==",
"007f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgIAqswiOKLrcKnc2E3YRVEAlsgBG3nTgAAEWGBVb0MbvqAAAAAElFTkSuQmCC",
"0080": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYEcxVKBJMKKJhDAxhaBLYjVqFRYIFwYQZAlGH0yicAACkTgO3h6L7oQAAAABJRU5ErkJggg==",
"0081": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgwAEYGRgYGFZhCIcxsCBzkAETyUYhScCNWoVHBx4AALe3BLWodVEnAAAAAElFTkSuQmCC",
"0082": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nHXMsQ0AIAwDwSNixgzJlHSRgsh3tt5mYMHpXUK0nMoLA78rsJ/r8sbFyAX0GAS2dsSyCAAAAABJRU5ErkJggg==",
"0083": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmHDZQboETgAAIMQCEOieKPcAAAAASUVORK5CYII=",
"0084": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYEcxVSMJhDEwoomEIKSYGHIB0CUZ0a2GABdklyA4BAFd8A7muOgsBAAAAAElFTkSuQmCC",
"0085": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmBD8VShm4jQKp+U4AQDtRgUPPtGXAQAAAABJRU5ErkJggg==",
"0086": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nHXNwQkAIAwEwdEiU2Sq9KEiEXKvcFn2aDIgQdwuYRYs31kfv6qyWzv/jThcq2qzAD9JBV/lNRI3AAAAAElFTkSuQmCC",
"0087": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVwHWgAiwTczDBkO7AYhc1ynAAAGk0Fskoy4+UAAAAASUVORK5CYII=",
"0088": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANElEQVR4nH3MwQ0AIAgEwZEiLZIq/WgMRt0PZA+OBw0S9OUS4rzMOeNqa1AL60ffa1ztjwEvAwS2aQyhYAAAAABJRU5ErkJggg==",
"0089": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGNgwAdWMTCsgjFgXCYUFWEwOQY0iVUIJhO6aBhWHWEIJhNWUXwAAGO7BrNLJ73vAAAAAElFTkSuQmCC",
"008a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMKGrhCliwiqKahQqYEEwCdhBEAAAfa0FYdfcFLAAAAAASUVORK5CYII=",
"008b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgwAEYEcxVKBJMKKJhDAxhaBIYgEyJVbhksQEASOICtjiFuxQAAAAASUVORK5CYII=",
"008c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nI3MwQ0AIAxC0adDdshO6ckoBxM5NIRf4KEBDWpnDfP89HUDXGmCisFs1LEJfrQAYQMEtkUlUD4AAAAASUVORK5CYII=",
"008d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSgVMCyShUwIJgEmkHTgAAjaYDYcfvoIMAAAAASUVORK5CYII=",
"008e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTLiMIl0Cp+U4AQAaNAJhftx21AAAAABJRU5ErkJggg==",
"008f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTLiMoqIETgAA/HUBuPGlE1cAAAAASUVORK5CYII=",
"0090": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFUMDAwMTFQxigGvUTgBAFFMArliVZ6rAAAAAElFTkSuQmCC",
"0091": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgwAEYGRgYGFZhkWBBMMNgjFVoEqgqmHDZgU3HKryW4wQAY5ADZYubxrEAAAAASUVORK5CYII=",
"0092": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAEYGRgYGFZhkWCC0mFIYmFwiTB05QxhcB04jSJeAicAABxGAg71T1jGAAAAAElFTkSuQmCC",
"0093": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nH3MwQ0AIAzDwIMhGbJT8kKqEMHPWA6BAQXW2QpmKqJoVw9xUd8isgGU9QOxNNF/+AAAAABJRU5ErkJggg==",
"0094": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgwAEYofQqVOEwBiaEaBgSuQoigQ3glMBvB9xoTDYmAAANTgS3Yb+P2gAAAABJRU5ErkJggg==",
"0095": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nHWLsQ0AMAjDDEdyZK7sUAFFKpkgdmCJAQiAyE6voPzzsMHoqX/mKjDd23iLMdmWA9rxCQX0ScpeAAAAAElFTkSuQmCC",
"0096": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgwAdWMTCsQmcz4VJMRQlGqIXEglUMANNnBAa/DKIqAAAAAElFTkSuQmCC",
"0097": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGNgwAEYGRgYGFYxMDAwMITBxFYxMDAwMOHSgVMCySgsEmgAvx04AQB3RQMIw03l3wAAAABJRU5ErkJggg==",
"0098": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nI3NMQoAIADDwNNH+si+0slBsGDGhlAKAwLW2QKzFbdIE7V4n3+yAXu+AwlhXJvgAAAAAElFTkSuQmCC",
"0099": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nI3NMQoAIADDwNNH+si+0slBsGDGhlAKAwLW2QKzFbdIE7V4n38RG30SA7MKOdbJAAAAAElFTkSuQmCC",
"009a": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNgwAEYGRgYGFbBeGEICSY0PqoETqOQTYOZyYTGhxq7CpcOPAAAmeQEYKnd/CEAAAAASUVORK5CYII=",
"009b": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nI3MwQkAIAwEwdEiU2Sq9BVQIZB93rJHw4IEUVvC7oqJyPr8Rbh5iwkHt/QECojLwHkAAAAASUVORK5CYII=",
"009c": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgIABWMTCsQhFgwqUSpwQjwihkEIamI4yBIQyqDocOPAAAnVMEXY55g28AAAAASUVORK5CYII=",
"009d": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgwAEYofQqVOEwiMQqKAdZESMDJsAigWQgQaPQLMcDAI4LBllDo++UAAAAAElFTkSuQmCC",
"009e": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNgwAdWMTCsQmczoasIgzJQJZAAksQqXBJhuCQgcquwKEIBAAuDBrMHDWNVAAAAAElFTkSuQmCC",
"009f": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgwAEYofQqrBIQ0TAGZEVMeI3CMAcVrEJirGJgwWIHfgAANCcGButx4YQAAAAASUVORK5CYII=",
"00a0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgoBpghNKrUIXDMEVXQblMuIxiQTcqDMNYNAAAWOIEsA4sqJoAAAAASUVORK5CYII=",
"00a1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgwAEYofQqVOEwZA6aHAOaHEwav1HIojBNLERYgAoAftMGrTqH5LoAAAAASUVORK5CYII=",
"00a2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgwAdWMTCsQhdjIqQDAzBikQjDqgNmHwse07ADACIYBa46Ux/DAAAAAElFTkSuQmCC",
"00a3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgoBpghNKrkMTCMJWtQlWBVQibUdhNgwEAXqwEq9d/4vcAAAAASUVORK5CYII=",
"00a4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgoBpghNKrUIXDMEVXQbn4dSADfDrCGBgYGACRxgZW+HQraAAAAABJRU5ErkJggg==",
"00a5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoBpghNKrkMTCGBgYGJjQRVG4aBL4jcIJADvwBAMFIT0AAAAAAElFTkSuQmCC",
"00a6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNgoC5YxcCwCsaAcZkYGBgYwrAoZkRoQgVMCNEwJBIPAAD1VgWudjmESwAAAABJRU5ErkJggg==",
"00a7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgoBpghNKrUIXDMFXCVDBhEV2FKYFkAgt2OxgYAA4wBAivCIt5AAAAAElFTkSuQmCC",
"00a8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNgoDpYhcRYxcDAwMCESyVOCUYspjEwMIThthQAAIMDBMebjPoAAAAASUVORK5CYII=",
"00a9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgIAxWMTCsIkIZknJUfUy4VOKUYMRiGgMDQxhuSwHYVQRYxJ0bkgAAAABJRU5ErkJggg==",
"00aa": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoDpYhcFA4SOJMmJXGMbAhMxhCCPCUgBkTARYvGROcAAAAABJRU5ErkJggg==",
"00ab": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoBpgRDBXIQmHYYqugrKZcBmFUwInAAAZnAMErFlhNwAAAABJRU5ErkJggg==",
"00ac": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNgoDpYBSNXYRVFkmPCZQROCZwAAMdfBKu0WEsRAAAAAElFTkSuQmCC",
"00ad": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgoDpYhcRYxcDAwMCESyULFk0MaDrCGBjCiLAUACIFA13YqLTEAAAAAElFTkSuQmCC",
"00ae": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoBpghNKrkMTC4Cxk0VVQLhN5RmEDAERgBAOKBdIoAAAAAElFTkSuQmCC",
"00af": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgoBpghNKrUIXDGJiQOQxhCB4TAw6AUwInAACtxwG00e2tVQAAAABJRU5ErkJggg==",
"00b0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgWMXAwMCAhcQNBqMOALxECqGn/2nKAAAAAElFTkSuQmCC",
"00b1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgYGBgWMWAjcQuyoBDdIB1AABOQBVBmKyDtQAAAABJRU5ErkJggg==",
"00b2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNgYGBgWMWASTJCWdjBoNMBAKJTDU1MO/3yAAAAAElFTkSuQmCC",
"00b3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNgQAarEEwmBhxgcEoAAIHEALlbT/HwAAAAAElFTkSuQmCC",
"00b4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNgQAarEEwmBhyAdAkWZHNxA4osBwDrjAINN6w+UwAAAABJRU5ErkJggg==",
"00b5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgQAarEEwmBhwApwQLsnbcAEkR6TpwWg4AVWMDYeKqzYAAAAAASUVORK5CYII=",
"00b6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNggINVSCQDAxMDDkC6BAvcUNyAUssBj6EDYbG06d8AAAAASUVORK5CYII=",
"00b7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoD1gZFiFIRaGxl+FRDIwMOEyCqcEAK66AlpkoTMiAAAAAElFTkSuQmCC",
"00b8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgoBpgZFiFKhCGVRmSIhZ0HdgBkiImXGoA+hcDBpzYv1oAAAAASUVORK5CYII=",
"00b9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNggINVSCQDAxMDDoBTggWulxCAqUPVEYZHLUFXAQD7TwULuTu2pwAAAABJRU5ErkJggg==",
"00ba": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNggINVSCQDAxMDDjA4JQD9SAFjueA6xgAAAABJRU5ErkJggg==",
"00bb": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoBpgZFiFIRaGVSVMHQuKDnxqYeqYcFkOACOMBAY0p2jpAAAAAElFTkSuQmCC",
"00bc": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNggINVSCQDAxMDDoBTggWulxCAqSNeB0EAALbPA1/gGMFAAAAAAElFTkSuQmCC",
"00bd": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNggINVSCQDAxMDDkC6BCPcUAQIw6WYTAAAV7sCXERIEygAAAAASUVORK5CYII=",
"00be": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgQAarEEwmBhwApwQLsnbcAEkRkTqIAQA9SQK1kdeBnwAAAABJRU5ErkJggg==",
"00bf": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNgoD1gZFiFKhCGVRmSIiZcRuGUAACHOgGwvCjgrQAAAABJRU5ErkJggg==",
"00c0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNgQAarEEwmBhyAdAlGXHZQEQAAuVABXFVLgHYAAAAASUVORK5CYII=",
"00c1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgQAarEEwmBhyAdAlGZHNpBADBSAFcPqjnEgAAAABJRU5ErkJggg==",
"00c2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgoD1gZFhFjDIkRUy41OCUAABrWAFaFohb2gAAAABJRU5ErkJggg==",
"00c3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgQAarEEwmBhyAdAlGXHYw4JIg3Q4A4mgCCtpotOsAAAAASUVORK5CYII=",
"00c4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAEUlEQVR4nGNgoD1gZFhFczsAQkAArKURdJ8AAAAASUVORK5CYII=",
"00c5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNgQAarEEwmBhyAdAlGZHNxA4osBwDqYAIKuAbSIAAAAABJRU5ErkJggg==",
"00c6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgQAarEEwmBhwApwQjLqMYcEmQrgOn5QBDGwNbD7hQtQAAAABJRU5ErkJggg==",
"00c7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNggINVSCQDAxMDDkC6BAsWsVW4JMLIswMARk8CZ994XnoAAAAASUVORK5CYII=",
"00c8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNggINVSCQDAxMDDoBTggWL2Cq8fEbcCkkFAKf8A1zOsaFWAAAAAElFTkSuQmCC",
"00c9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgoBpgRDBX4VKDKsGCSxpDgoGBIYyBgYGBCZfBALrRAmBtEhGKAAAAAElFTkSuQmCC",
"00ca": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNggINVSCQDAxMDDoBTggWuF91MXICRgDwJAADEigNcV5nKIAAAAABJRU5ErkJggg==",
"00cb": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoBpgZFhFkY4wBmwGrEIiGRiYcBkFAO68A61bWRgiAAAAAElFTkSuQmCC",
"00cc": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNggINVSCQDAxMDDoBTggWL2Cq8fAwdq3BJMDAwhOG1HACv7wO7VaNYkAAAAABJRU5ErkJggg==",
"00cd": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAE0lEQVR4nGNgoBpgZFhFcx04AQCDuAFXNbwBBgAAAABJRU5ErkJggg==",
"00ce": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNggINVSCQDAxMDDoBTggWuF91MXIARRT4Mq3IiXQUAL50FsowbNIEAAAAASUVORK5CYII=",
"00cf": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgQAarEEwmBhwApwQjsnaiAOk6cAIAAdUCBZzeVw4AAAAASUVORK5CYII=",
"00d0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNggINVSCQDAxMDDkC6BCPcUNoBADzbAgZALE0iAAAAAElFTkSuQmCC",
"00d1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAF0lEQVR4nGNgoBpgZFhFGx1IiphwqQEAm9ICA6tZpbsAAAAASUVORK5CYII=",
"00d2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNgoD1gZFhFUM0qJJKBgQmXMpwSAJPaAgR7GMx3AAAAAElFTkSuQmCC",
"00d3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNggINVSCQDAxMDDkC6BCO6HTQAADbhAgYDT+z9AAAAAElFTkSuQmCC",
"00d4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgQAarEEwmBhwApwQjLqMYcEkQqYMYAAArAQKvArv60QAAAABJRU5ErkJggg==",
"00d5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNgoBpgROGtwqUMSYJ0HUy41AAAxP4CrYVyat8AAAAASUVORK5CYII=",
"00d6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNgoD1gRDBX4VKzCkWaCZcynBIAjeACBJzCo5cAAAAASUVORK5CYII=",
"00d7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNggINVSCQDAxMDDkC6BCPcUNyAUssBjnUDXivTk20AAAAASUVORK5CYII=",
"00d8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgQAarEEwmBhwApwQjsnbcAEkR6TpwWg4AUwsDW4+6rBIAAAAASUVORK5CYII=",
"00d9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgQAarEEwmBhyAdAkWZHNpBADCdAFfIXGD+gAAAABJRU5ErkJggg==",
"00da": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGUlEQVR4nGNgoD1gROGtwqUMSYIJlxqcEgBjYAFafTiWOgAAAABJRU5ErkJggg==",
"00db": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAE0lEQVR4nGNkWMWAFTBhFx6sEgCKhAC6r/jUNgAAAABJRU5ErkJggg==",
"00dc": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNgoD1gZFiFXYIJlw7SJQBDbACyAe6yiAAAAABJRU5ErkJggg==",
"00dd": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNkWMWAAGEIJhMDDjA4JQDJAAEQBuzXjgAAAABJRU5ErkJggg==",
"00de": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNkQAarEEwmBhxgcEoAAIKMALql0gTaAAAAAElFTkSuQmCC",
"00df": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFUlEQVR4nGNkWMWAFTBhFyZHgh4AAIiQALJRSBqJAAAAAElFTkSuQmCC",
"00e0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgoBpgZGBgYFiFKhYGZyFLrIJyWbDIoajCAEy4LAcAa1wEWqENDmYAAAAASUVORK5CYII=",
"00e1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNgoBpghNKrUIXDMEVXIXPRlBNhFDYAAHBCBKuofj3zAAAAAElFTkSuQmCC",
"00e2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgoBpgZGBgYFiFKhbGwMDAwITMgZKrkCUwAE4JnAAA5ukCXptzYBMAAAAASUVORK5CYII=",
"00e3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNgoC5YhcpexcDAwMCESzEjFk0MDAxhWI1dhUtHGAMDAwMAU+kFVyGNswsAAAAASUVORK5CYII=",
"00e4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGNgoACsQuExYgoxMDAwhDEwwVkIkoGBgQEusQqLadjtYMKqhoGBAQB72ARcr4uT6wAAAABJRU5ErkJggg==",
"00e5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoDpYxcCwCsbAKYcuikVuFSobiz4kAAAZdgdPVvlB7gAAAABJRU5ErkJggg==",
"00e6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoDpYhcRYxcDAwMCESyVOCUYspuG3EgD4tgNYRt2aFgAAAABJRU5ErkJggg==",
"00e7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgoDpYhcRYxcDAwMCESyUjFk0MDAxhWM1chSmKBABC3ARW8vc3NwAAAABJRU5ErkJggg==",
"00e8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgoC5YhUquYmBgYGDCpZigBLJp+AEAXzsEAymO+tUAAAAASUVORK5CYII=",
"00e9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNgoC5YhUquYmBgYGDCpRinBCPCECJtBQBKcwQClRUNMgAAAABJRU5ErkJggg==",
"00ea": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNgoC5YxcCwCl2MESEHB2FomlB1s2CRww8AiMsFAiXplasAAAAASUVORK5CYII=",
"00eb": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgoC5YhYXLhOCgSsMkwtC1IukgEgAAax0EWfsbDfAAAAAASUVORK5CYII=",
"00ec": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHUlEQVR4nGNgoDpYhS7AiEUiDKuOVVA2Cx7TsAMAORsEWEKKfC4AAAAASUVORK5CYII=",
"00ed": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoBpghNKrkMTCkCXQpMMYmND4eI1CVYEOAC5iBAZ0Za1XAAAAAElFTkSuQmCC",
"00ee": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgoC5YhcSAsZlQpMMQ6pjQNTGg6QjDLo0FAADDVwVZBu8OfQAAAABJRU5ErkJggg==",
"00ef": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNgoBpgRDBXIQmHYYqugrJJ14ETAACanwX/VagwFwAAAABJRU5ErkJggg==",
"00f0": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNggINVSCQDAyMyBxmwIJhhKFpZMNVCVDCh2IFkJk6jcFqOEwAA5F0GY+tho2MAAAAASUVORK5CYII=",
"00f1": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNgIAxWIZF4ACOKcggIY2BgYGDCon0VFhYRRuEEABHTBVcj20O6AAAAAElFTkSuQmCC",
"00f2": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgoBpgRDBXwRhhEIlVmKrx6kAFSLqZcFkOAAclA1ofSWL2AAAAAElFTkSuQmCC",
"00f3": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgQAarEEwmBhyAGIlVKKYxYrWAgYGBBYspYZhCxLgKAHqJA7YUycDiAAAAAElFTkSuQmCC",
"00f4": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNgQAarEEwmBhyAGIlVKKYxIpuLDBix2ByGy3j8AACSCAOxvQP/ewAAAABJRU5ErkJggg==",
"00f5": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgQAarEEwmBhyAGIlVKKaxIJuLDBix2ByGqYwYVwEAq04EYGbLjGoAAAAASUVORK5CYII=",
"00f6": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNgQAarEEwmBhyAGIlVKKYxIpuLDBix2ByGqYwYVwEAqiIEXdiX04cAAAAASUVORK5CYII=",
"00f7": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNgQAarEEwmBhwASWIVuiYM/iq4DnRVyCIYOhixqArDdAqSPgC2fges6zB15QAAAABJRU5ErkJggg==",
"00f8": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNgQAarGBhWQZksDGggDCGHqgMGmDBlYUZh0UieUTglAFu0BGFT1cf6AAAAAElFTkSuQmCC",
"00f9": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNkgIBVDCggjIEJzkIWhamFK0fThy6NBSBJM2KXJgcAAHWQBwHX6gLAAAAAAElFTkSuQmCC",
"00fa": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAEklEQVR4nGNgGJxgFQPDKlKkAVMgAqkgiF9iAAAAAElFTkSuQmCC",
"00fb": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIklEQVR4nGNgQAarEEwmBhyAdAkWZHNxAyRFLPilkYRgogAMVwQLc597zwAAAABJRU5ErkJggg==",
"00fc": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNgIBUwYhFbhVUIXZQ4IfIAAMBXBKgbakdJAAAAAElFTkSuQmCC",
"00fd": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFklEQVR4nGNggIBVDAyrGFABFqHBCwDhnwKp0eW+qQAAAABJRU5ErkJggg==",
"00fe": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAFElEQVR4nGNgoD1gZGBgYFhFWzsAQEIArKZ9/uQAAAAASUVORK5CYII=",
"00ff": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGNgYGBgWMWAjYSw0ABWQYgEE25JqulgxKUDAPNUB/4MMEtcAAAAAElFTkSuQmCC",
}
def read_ccc_file(input_path):
"""Read CCC file and return list of rows (each row is a list of integers)."""
with open(input_path, 'r') as f:
content = f.read().strip()
# Parse comma-separated integers
numbers = [int(x.strip()) for x in content.split(',')]
# Split by rows (single 0 = row separator, double 0 = end of file)
rows = []
current_row = []
i = 0
while i < len(numbers):
if numbers[i] == 0:
# Check if this is end of file (double 0)
if i + 1 < len(numbers) and numbers[i + 1] == 0:
# End of file - save current row if not empty
if current_row:
rows.append(current_row)
break
else:
# Single 0 - row separator
if current_row:
rows.append(current_row)
current_row = []
else:
current_row.append(numbers[i])
i += 1
return rows
def get_cell_image(cell_index):
"""Get embedded cell image as PIL Image object."""
hex_key = f"{cell_index:04x}"
if hex_key not in CELLS_DATA:
# Create a placeholder (dark gray square)
return Image.new('RGB', (8, 8), color=(64, 64, 64))
# Decode base64 PNG data
b64_data = CELLS_DATA[hex_key]
png_bytes = base64.b64decode(b64_data)
cell_image = Image.open(BytesIO(png_bytes)).convert('RGB')
return cell_image
def create_image_from_rows(rows, cell_size=8):
"""Create composite image from rows of cell indices.
All cell images are embedded as 8x8 RGB images in CELLS_DATA.
"""
if not rows:
raise ValueError("No rows found in CCC file")
# Calculate dimensions
max_width = max(len(row) for row in rows) if rows else 0
height = len(rows)
if max_width == 0:
raise ValueError("Invalid row width")
# Create new image with black background
image_width = max_width * cell_size
image_height = height * cell_size
composite = Image.new('RGB', (image_width, image_height), color='black')
# Paste cells into composite image
for row_idx, row in enumerate(rows):
for col_idx, cell_index in enumerate(row):
cell_image = get_cell_image(cell_index)
# Calculate position
x = col_idx * cell_size
y = row_idx * cell_size
# Paste cell
composite.paste(cell_image, (x, y))
return composite
def main():
if len(sys.argv) != 3:
print("Usage: ccc_to_png.py <input.ccc> <output.png>")
sys.exit(1)
input_file = Path(sys.argv[1])
output_file = Path(sys.argv[2])
if not input_file.exists():
print(f"Error: Input file not found: {input_file}")
sys.exit(1)
try:
# Read CCC file
rows = read_ccc_file(input_file)
print(f"Read {len(rows)} rows from {input_file}")
# Create composite image (uses embedded cell data)
image = create_image_from_rows(rows)
print(f"Created image: {image.width}x{image.height} pixels")
# Save image
image.save(output_file)
print(f"Saved to {output_file}")
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
sys.exit(1)
if __name__ == '__main__':
main()