# Feed this file to script/make-artificial.go

make gif

header

image {
	imageWidthHeight 2 2
	palette {
		0x00 0x00 0xFF
		0x11 0x00 0xFF
		0x22 0x00 0xFF
		0x33 0x00 0xFF
	}
}

frame {
	frameLeftTopWidthHeight 0 0 2 2
}

# The frame area is 4 pixels and we supply 4 but then an invalid LZW code.
# Compare with pixel-data-too-much-good-lzw.gif.make-artificial.txt
#
# The disassembly (see also std/lzw/README.md) is:
#
# 0x02                              LZW literal width.
# 0x02                              GIF block length.
# 0x84 0xF1 = 0b1111_0001_1000_0100 (little endian).
#             0b...._...._...._.100 3-bit Clear code.
#             0b...._...._..00_0... 3-bit Literal 0x00.
#             0b...._...1_10.._.... 3-bit Copy code (2 bytes).
#             0b...._000._...._.... 3-bit Literal 0x00.
#             0b1111_...._...._.... 4-bit Invalid code.
# 0x00                              GIF block terminator.
bytes 0x02 0x02 0x84 0xF1 0x00

trailer
