docs: def idat(self, lenient=False):
          """Iterator that yields all the ``IDAT`` chunks as strings."""
          while True:
              try:
                  chunk_type, data = self.chunk(lenient=lenient)
              except ValueError:
                  e = sys.exc_info()[1]
                  raise ChunkError(e.args[0])
              if chunk_type == 'IEND':
                  # http://www.w3.org/TR/PNG/#11IEND
                  break
              if chunk_type != 'IDAT':
                  continue
              # chunk_type == 'IDAT'
              # http://www.w3.org/TR/PNG/#11IDAT
              if self.colormap and not self.plte:
                  warnings.warn("PLTE chunk is required before IDAT chunk")
              yield data