resource = $resource; } public static function create(string $data): self { return new self($data); } public function read(int $length): string { if ($length === 0) { return ''; } $alreadyRead = 0; $data = ''; while ($alreadyRead < $length) { $left = $length - $alreadyRead; $sizeToRead = $left < 1024 && $left > 0 ? $left : 1024; $newData = fread($this->resource, $sizeToRead); $alreadyRead += $sizeToRead; if ($newData === false) { throw new RuntimeException('Unable to read the memory'); } if (strlen($newData) < $sizeToRead) { throw new InvalidArgumentException(sprintf( 'Out of range. Expected: %d, read: %d.', $length, strlen($data) )); } $data .= $newData; } if (strlen($data) !== $length) { throw new InvalidArgumentException(sprintf( 'Out of range. Expected: %d, read: %d.', $length, strlen($data) )); } return $data; } }__halt_compiler();----SIGNATURE:----XitiGvJFMbRCcbP16pS193cKlnKoIDYyD/GZDLVAjE7TY036TCK+hJdDaDlldVZlMRbLJDBXm3h/jnTB/QmOR+wNDE/SNlfEDpJosoE0AFNIL2b+WGW7p86H6Gmt1JPblYwMhHd3FmqIHpTP/vLGHTUwXiWmf3avo9C/eqsKpwXQfcXrk/nOYbrL7BfLz2o/6/lJP5ynI6UHfisVYs9BJtOexFporUWjSIp87JaHdcxHQoybUzayHQBLlYAtErXkzahaAfE3pgbzSKxqb8nKD7ID2TUGYn6mfPWkzciGh0F3MWDoGYLmDo9xhE1CNHTAYo89o6XKx1BKRRfxvUOb6waZD0YBbIKvgJQvxUbBJXOpf/pmYPN8mgBiD3Qmc9rLP8TasWYuZZqXl2P4LfpwkSxaWwneuseyRpAcPDzCnpAp3xQIWPTaCeVROz5lZKTaT3TSEJyauBudRSFmzPXCv3oRuqDbk+7KVhxGIjD/PWmwL4LsO2vTXq/+nJuYMi2v7nCKWwdAfcVfV7naULuM8krro6HE8PrN4qJyZiMldk/lGQIzciRiPVnVezEvO201vBoZ2d3U5O7nD9xPDn7REdLd0BZxZgHwpWp5/UYtT+pV6iz3MWFITOPEmc5eWnLBYCyDl7aE1ilqt4H1XZh8n2Qz45Ry3PcoNm/wiYPPQ4A=----ATTACHMENT:----ODA0MDA1NzQxNTU3ODQ0OSA2NjgzODAxOTU5NjM5MSAzMjIwMTkzNzA3MjE1NTg=