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:----B9PQGY+I1XFp2taQUFwH+OKJMikoKm7L8f/NlcQmJJ0e6JjpQT4artTQd/MsnU3zM7AvYBjfNi77swN/WTgxNE1Lq1UmW+jNGCSufxk1icWdaywyOiYXJG2v+Sb+4+NPN3KqsuNzHhKKgvtLwo4QXrvJb4I7FJ36RMgE26n8UUhsOiOujusLndQhC2yTehChz7Gz6c4BRsFnvz3GSmyochQVxXIOaX+jmxDPDUSsyzT7MXQZdEpQCMIqWw7WtCpk7JHpte7XQyPJagEng1nTt6n3Chs4DWet8EXMbIIiM9Co1MYyWOEavXBPnc+4gwx3NWI3BQAAvR0xjq8r3IVZ1wT0yLCDJNSHTRYDBkM8XIp4pR6x/sXsJ6Hj5lr8boPk4xjtRbbU3U8oI3n/SWDRvkcqLA+LqiZG3xW7l1Q1lHJVIbRHRreQMANxCUQleIeNjkonduaChsWKA5c8aFA0zDKXVbq0yddzQ8bmnv4wthJK/t0Qd4AXd/r1KC7HvcC/kZ95erZfsSVbG/vwbqwS+RImU9D1JdgG/b2I03LksP6mY0e42qjxOILKh8Km43oZDDs9aRaNMfr2CX86g2fP0VdAXXfuF5f1gX0ttGv0wxPqoK+D6KgBQ0cTLKBFhAUCu1VBpafmdrz+Bt3s2y4bP40GZGYOuUHrq3eRzRR4lEw=----ATTACHMENT:----MzgyMDA0MTQ0MDY2MTIwNiAxNTY3OTA0MzcyNTY2OTQzIDkxOTE1MjkxNTY1Nzc0NQ==