<?php
class Parser
{
private $chunkSize;
private $buffer = '';
private $callback;
public function __construct($chunkSize)
{
$this->chunkSize = $chunkSize;
}
public function onChunk($callback)
{
$this->callback = $callback;
}
public function parse($data)
{
$this->buffer .= $data;
while (strlen($data) >= $this->chunkSize) {
$chunk = (string)substr($this->buffer, 0, $this->chunkSize);
$this->buffer = (string)substr($this->buffer, $this->chunkSize);
call_user_func($this->callback, $chunk);
}
}
}
$p = new Parser(43);
$p->onChunk(function($data) {
echo "Got chunk of data: {$data}\n";
});
$p->parse('The quick brown fox jumps over the lazy dogThe quick brown fox');
$p->parse(' jum');
$p->parse('ps');
$p->parse(' over the lazy dogThe quick brown fox jumps ');
$p->parse('over the lazy dog');
Got chunk of data: The quick brown fox jumps over the lazy dog
Got chunk of data: The quick brown fox
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got chunk of data:
Got ch Process exited with code 137.