{"version":3,"file":"constants-HZvKhpE0.mjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for all parsers\n */\n\n// Maximum grid dimensions to prevent excessive memory usage\n// Most crosswords are 15x15 to 21x21, with Sunday puzzles typically 21x21\n// 100x100 provides plenty of headroom while preventing abuse\nexport const MAX_GRID_WIDTH = 100;\nexport const MAX_GRID_HEIGHT = 100;\n\n// PUZ format constants\nexport const PUZ_MAGIC_STRING = \"ACROSS&DOWN\";\nexport const PUZ_HEADER_SIZE = 52;\n\n// PUZ header offsets\nexport const PUZ_CHECKSUM_OFFSET = 0x00;\nexport const PUZ_FILE_MAGIC_OFFSET = 0x02;\nexport const PUZ_HEADER_CHECKSUM_OFFSET = 0x0e;\nexport const PUZ_VERSION_OFFSET = 0x14;\nexport const PUZ_WIDTH_OFFSET = 0x2c;\nexport const PUZ_HEIGHT_OFFSET = 0x2d;\nexport const PUZ_NUM_CLUES_OFFSET = 0x2e;\nexport const PUZ_SCRAMBLED_TAG_OFFSET = 0x32;\n\n// PUZ section types\nexport const PUZ_SECTION_GEXT = \"GEXT\";\nexport const PUZ_SECTION_LTIM = \"LTIM\";\nexport const PUZ_SECTION_RTBL = \"RTBL\";\nexport const PUZ_SECTION_RUSR = \"RUSR\";\nexport const PUZ_SECTION_GRBS = \"GRBS\";\n\n// PUZ flags\nexport const PUZ_CIRCLED_CELL_FLAG = 0x80;\n"],"mappings":";AAWA,MAAa,mBAAmB;AAchC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB"}