code: def parse_buffer_to_png(data):
      
  
      images = []
  
      c1 = 0
      c2 = 0
      data_len = len(data)
      while c1 < data_len:
          # IEND can appear in a PNG without being the actual end
          if data[c2:c2 + 4] == b'IEND' and (c2 + 8 == data_len or data[c2+9:c2+12] == b'PNG'):
              images.append(Image.open(BytesIO(data[c1:c2 + 8])))
              c1 = c2 + 8
              c2 = c1
          c2 += 1
  
      return images
docs: Parse PNG file bytes to Pillow Image