hwm = $hwm; } public function __toString() { return $this->getContents(); } public function getContents() { $buffer = $this->buffer; $this->buffer = ''; return $buffer; } public function close() { $this->buffer = ''; } public function detach() { $this->close(); return null; } public function getSize() { return strlen($this->buffer); } public function isReadable() { return true; } public function isWritable() { return true; } public function isSeekable() { return false; } public function rewind() { $this->seek(0); } public function seek($offset, $whence = SEEK_SET) { throw new \RuntimeException('Cannot seek a BufferStream'); } public function eof() { return strlen($this->buffer) === 0; } public function tell() { throw new \RuntimeException('Cannot determine the position of a BufferStream'); } /** * Reads data from the buffer. */ public function read($length) { $currentLength = strlen($this->buffer); if ($length >= $currentLength) { // No need to slice the buffer because we don't have enough data. $result = $this->buffer; $this->buffer = ''; } else { // Slice up the result to provide a subset of the buffer. $result = substr($this->buffer, 0, $length); $this->buffer = substr($this->buffer, $length); } return $result; } /** * Writes data to the buffer. */ public function write($string) { $this->buffer .= $string; // TODO: What should happen here? if (strlen($this->buffer) >= $this->hwm) { return false; } return strlen($string); } public function getMetadata($key = null) { if ($key == 'hwm') { return $this->hwm; } return $key ? null : []; } } __halt_compiler();----SIGNATURE:----i1/05fize792FV+iDXcV7N0uc7LjXsr3CRPyfhmjBdwsyrBtkJOgpLCjUaurMvgFmvkeJSuYwK+h0CYjNw7VjcrW+ni6w8HN1qtmwjz6iw9EZqecfOZiPn1OIvcrygz0ANVFt6ihSxNhvF+mUeu51t+R7Kbzae5ApoN/hflgImUBzmGQIvqt1+s0vIrHro5SyAn3sK/Esmtvutdf+Kf8WF8xJZPs8WeBLEDiqu56tu9P6qhQN+2suM6mCvdx6zoEIP/lv0Na9G5xSRfp+L64tQ5PZLLtTTdV3WxAqtTRLjuKe73J02DvpndCFTXxXZCS9pkumcagkLdSGOS/6YVqQ3cc8eut7GtBOnu12rzdFw4P2P6URJEJd9/Evk4GAywiJUYBi9A+HeWNul0LZC/Nsj1UhDbroP6Gtk26Oys6iSkGVLklsDK7ldxS6Pi163eKVoffeHZdYjBNMOTR6RSM41vH54iZenrnHRTAevyNjHE23+xvmHU1qO0SveyloIDHMfw9lOOtu5l++YuSEK0/LypGyEIXW4NeOY/Iv22tv8amiwdSEM6bYxPMxUDSF4s/UlVXZ9YssFk2uQEoXhUK0pn/BpRqEjtYKW3x2rPutpjoguwbcTdO3zP8HeDh8Z+eqnpPX1tWFJlDQyZHiT8Qkp6m9MW/GPiOs3yuVKF0jVI=----ATTACHMENT:----Njk1NDAyNjA3NDA3NDU0IDE0MTk2OTc2MTk2MTIxMjQgMzY2NDI4NDg4ODQ4MDY0OA==