rewrite prs functions for clarity; implement staged compression

This commit is contained in:
Martin Michelsen
2022-10-10 18:44:19 -07:00
parent 14837447a3
commit 4edcbc5d4d
4 changed files with 638 additions and 594 deletions
+309 -318
View File
@@ -14,136 +14,181 @@ using namespace std;
struct prs_compress_ctx {
uint8_t bitpos;
std::string forward_log;
std::string output;
PRSCompressor::PRSCompressor()
: closed(false),
control_byte_offset(0),
pending_control_bits(0),
input_bytes(0),
compression_offset(0) {
this->output.put_u8(0);
}
prs_compress_ctx() : bitpos(0), forward_log("\0", 1) { }
string finish() {
this->put_control_bit(0);
this->put_control_bit(1);
this->put_static_data(0);
this->put_static_data(0);
this->output += this->forward_log;
this->forward_log.clear();
return this->output;
void PRSCompressor::add(const void* data, size_t size) {
if (this->closed) {
throw logic_error("compressor is closed");
}
void put_control_bit_nosave(bool bit) {
if (bit) {
this->forward_log[0] |= 1 << this->bitpos;
StringReader r(data, size);
while (!r.eof()) {
this->add_byte(r.get_u8());
}
}
void PRSCompressor::add(const string& data) {
this->add(data.data(), data.size());
}
void PRSCompressor::add_byte(uint8_t v) {
if (this->compression_offset + 0x100 <= this->input_bytes) {
this->advance();
}
this->forward_log[this->input_bytes & 0xFF] = v;
this->input_bytes++;
}
void PRSCompressor::advance() {
// Search for a match in the decompressed data history
size_t best_match_size = 0;
size_t best_match_offset = 0;
size_t start_offset = max<ssize_t>(
0, static_cast<ssize_t>(this->compression_offset) - 0x1FFF);
for (size_t match_offset = start_offset;
(match_offset < this->compression_offset - best_match_size) && (best_match_size < 0x100);
match_offset++) {
size_t match_size = 0;
while ((match_size < 0x100) &&
(match_offset + match_size < this->compression_offset) &&
(this->compression_offset + match_size < this->input_bytes) &&
(this->reverse_log[(match_offset + match_size) & 0x1FFF] == this->forward_log[(this->compression_offset + match_size) & 0xFF])) {
match_size++;
}
this->bitpos++;
}
void put_control_save() {
if (this->bitpos >= 8) {
this->bitpos = 0;
this->output += this->forward_log;
this->forward_log.resize(1);
this->forward_log[0] = 0;
if (match_size > best_match_size) {
best_match_offset = match_offset;
best_match_size = match_size;
}
}
void put_control_bit(bool bit) {
this->put_control_bit_nosave(bit);
this->put_control_save();
}
// If there is a suitable match, write a backreference
bool should_write_literal = false;
size_t advance_bytes = 0;
if (best_match_size < 2) {
should_write_literal = true;
void put_static_data(uint8_t data) {
this->forward_log.push_back(static_cast<char>(data));
}
} else {
// The backreference should be encoded:
// - As a short copy if offset in [-0x100, -1] and size in [2, 5]
// - As a long copy if offset in [-0x1FFF, -1] and size in [3, 9]
// - As an extended copy if offset in [-0x1FFF, -1] and size in [1, 0x100]
// Because an extended copy costs two control bits and three data bytes,
// it's not worth it to use an extended copy for sizes 1 and 2. In those
// cases, if a short copy can't reach back far enough, we just write a
// literal instead.
void raw_byte(uint8_t value) {
this->put_control_bit_nosave(1);
this->put_static_data(value);
this->put_control_save();
}
ssize_t backreference_offset = best_match_offset - this->compression_offset;
if ((backreference_offset >= -0x100) && (best_match_size <= 5)) {
// Write short copy
uint8_t size = best_match_size - 2;
this->write_control(false);
this->write_control(false);
this->write_control(size & 2);
this->write_control(size & 1);
this->output.put_u8(backreference_offset & 0xFF);
advance_bytes = best_match_size;
void short_copy(ssize_t offset, uint8_t size) {
size -= 2;
this->put_control_bit(0);
this->put_control_bit(0);
this->put_control_bit((size >> 1) & 1);
this->put_control_bit_nosave(size & 1);
this->put_static_data(offset & 0xFF);
this->put_control_save();
}
} else if (best_match_size < 3) {
// Can't use a long copy for size 2, and it's not worth it to use extended
// copy for this either (as noted above)
should_write_literal = true;
} else if ((backreference_offset >= -0x1FFF) && (best_match_size <= 9)) {
// Write long copy
this->write_control(false);
this->write_control(true);
uint16_t a = (backreference_offset << 3) | (best_match_size - 2);
this->output.put_u8(a & 0xFF);
this->output.put_u8(a >> 8);
advance_bytes = best_match_size;
} else if ((backreference_offset >= -0x1FFF) && (best_match_size <= 0x100)) {
// Write extended copy
this->write_control(false);
this->write_control(true);
uint16_t a = (backreference_offset << 3);
this->output.put_u8(a & 0xFF);
this->output.put_u8(a >> 8);
this->output.put_u8(best_match_size - 1);
advance_bytes = best_match_size;
void long_copy(ssize_t offset, uint8_t size) {
if (size <= 9) {
this->put_control_bit(0);
this->put_control_bit_nosave(1);
this->put_static_data(((offset << 3) & 0xF8) | ((size - 2) & 0x07));
this->put_static_data((offset >> 5) & 0xFF);
this->put_control_save();
} else {
this->put_control_bit(0);
this->put_control_bit_nosave(1);
this->put_static_data((offset << 3) & 0xF8);
this->put_static_data((offset >> 5) & 0xFF);
this->put_static_data(size - 1);
this->put_control_save();
throw logic_error("invalid best match");
}
}
void copy(ssize_t offset, uint8_t size) {
if ((offset > -0x100) && (size <= 5)) {
this->short_copy(offset, size);
} else {
this->long_copy(offset, size);
}
if (should_write_literal) {
this->write_control(true);
this->output.put_u8(this->forward_log[this->compression_offset & 0xFF]);
advance_bytes = 1;
}
};
for (size_t z = 0; z < advance_bytes; z++) {
this->reverse_log[this->compression_offset & 0x1FFF] = this->forward_log[this->compression_offset & 0xFF];
this->compression_offset++;
}
}
string& PRSCompressor::close() {
if (!this->closed) {
// Advance until all input is consumed
while (this->compression_offset < this->input_bytes) {
this->advance();
}
// Write stop command
this->write_control(false);
this->write_control(true);
this->output.put_u8(0);
this->output.put_u8(0);
// Write remaining control bits
this->flush_control();
this->closed = true;
}
return this->output.str();
}
void PRSCompressor::write_control(bool z) {
if (this->pending_control_bits & 0x0100) {
this->output.pput_u8(
this->control_byte_offset, this->pending_control_bits & 0xFF);
this->control_byte_offset = this->output.size();
this->output.put_u8(0);
this->pending_control_bits = z ? 0x8080 : 0x8000;
} else {
this->pending_control_bits =
(this->pending_control_bits >> 1) | (z ? 0x8080 : 0x8000);
}
}
void PRSCompressor::flush_control() {
if (this->pending_control_bits & 0xFF00) {
while (!(this->pending_control_bits & 0x0100)) {
this->pending_control_bits >>= 1;
}
this->output.pput_u8(
this->control_byte_offset, this->pending_control_bits & 0xFF);
} else {
if (this->control_byte_offset != this->output.size() - 1) {
throw logic_error("data written without control bits");
}
this->output.str().resize(this->output.str().size() - 1);
}
}
string prs_compress(const void* vdata, size_t size) {
const uint8_t* data = reinterpret_cast<const uint8_t*>(vdata);
prs_compress_ctx pc;
ssize_t data_ssize = static_cast<ssize_t>(size);
ssize_t read_offset = 0;
while (read_offset < data_ssize) {
// look for a chunk of data in history matching what's at the current offset
ssize_t best_offset = 0;
ssize_t best_size = 0;
for (ssize_t this_offset = -3; // min copy size is 3 bytes
(this_offset + read_offset >= 0) && // don't go before the beginning
(this_offset > -0x1FF0) && // max offset is -0x1FF0
(best_size < 255); // max size is 0xFF bytes
this_offset--) {
// for this offset, expand the match as much as possible
ssize_t this_size = 1;
while ((this_size < 0x100) && // max copy size is 255 bytes
((this_offset + this_size) < 0) && // don't copy past the read offset
(this_size <= data_ssize - read_offset) && // don't copy past the end
!memcmp(data + read_offset + this_offset, data + read_offset,
this_size)) {
this_size++;
}
this_size--;
if (this_size > best_size) {
best_offset = this_offset;
best_size = this_size;
}
}
// if there are no good matches, write the byte directly
if (best_size < 3) {
pc.raw_byte(data[read_offset]);
read_offset++;
} else {
pc.copy(best_offset, best_size);
read_offset += best_size;
}
}
return pc.finish();
PRSCompressor prs;
prs.add(vdata, size);
return move(prs.close());
}
string prs_compress(const string& data) {
@@ -152,225 +197,171 @@ string prs_compress(const string& data) {
static int16_t get_u8_or_eof(StringReader& r) {
return r.eof() ? -1 : r.get_u8();
}
class ControlStreamReader {
public:
ControlStreamReader(StringReader& r) : r(r), bits(0x0000) { }
bool read() {
if (!(this->bits & 0x0100)) {
this->bits = 0xFF00 | this->r.get_u8();
}
bool ret = this->bits & 1;
this->bits >>= 1;
return ret;
}
private:
StringReader& r;
uint16_t bits;
};
string prs_decompress(const void* data, size_t size, size_t max_output_size) {
string output;
// PRS is an LZ77-based compression algorithm. Compressed data is split into
// two streams: a control stream and a data stream. The control stream is read
// one bit at a time, and the data stream is read one byte at a time. The
// streams are interleaved such that the decompressor never has to move
// backward in the input stream - when the decompressor needs a control bit
// and there are no unused bits from the previous byte of the control stream,
// it reads a byte from the input and treats it as the next 8 control bits.
// There are 3 distinct commands in PRS, labeled here with their control bits:
// 1 - Literal byte. The decompressor copies one byte from the input data
// stream to the output.
// 00 - Short backreference. The decompressor reads two control bits and adds
// 2 to this value to determine the number of bytes to copy, then reads
// one byte from the data stream to determine how far back in the output
// to copy from. This byte is treated as an 8-bit negative number - so
// 0xF7, for example, means to start copying data from 9 bytes before the
// end of the output. The range must start before the end of the output,
// but the end of the range may be beyond the end of the output. In this
// case, the bytes between the beginning of the range and original end of
// the output are simply repeated.
// 01 - Long backreference. The decompressor reads two bytes from the data and
// byteswaps the resulting 16-bit value (that is, the low byte is read
// first). The start offset (again, as a negative number) is the top 13
// bits of this value; the size is the low 3 bits of this value, plus 2.
// If the size bits are all zero, an additional byte is read from the
// data stream and 1 is added to it to determine the backreference size
// (we call this an extended backreference). Therefore, the maximum
// backreference size is 256 bytes.
// Decompression ends when either there are no more input bytes to read, or
// when a long backreference is read with all zeroes in its offset field. The
// original implementation stops decompression successfully when any attempt
// to read from the input encounters the end of the stream, but newserv's
// implementation only allows this at the end of an opcode - if end-of-stream
// is encountered partway through an opcode, we throw instead, because it's
// likely the input has been truncated or is malformed in some way.
StringWriter w;
StringReader r(data, size);
ControlStreamReader cr(r);
int32_t r3, r5;
int bitpos = 9;
int16_t currentbyte; // int16_t because it can be -1 when EOF occurs
int flag;
int offset;
unsigned long x, t;
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output;
}
for (;;) {
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output;
}
bitpos = 8;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
if (flag) {
int ch = get_u8_or_eof(r);
if (ch == EOF) {
return output;
}
output += static_cast<char>(ch);
if (max_output_size && (output.size() > max_output_size)) {
while (!r.eof()) {
// Control 1 = literal byte
if (cr.read()) {
if (max_output_size && w.size() == max_output_size) {
throw runtime_error("maximum output size exceeded");
}
continue;
}
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output;
}
bitpos = 8;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
if (flag) {
r3 = get_u8_or_eof(r);
if (r3 == EOF) {
return output;
}
int high_byte = get_u8_or_eof(r);
if (high_byte == EOF) {
return output;
}
offset = ((high_byte & 0xFF) << 8) | (r3 & 0xFF);
if (offset == 0) {
return output;
}
r3 = r3 & 0x00000007;
r5 = (offset >> 3) | 0xFFFFE000;
if (r3 == 0) {
flag = 0;
r3 = get_u8_or_eof(r);
if (r3 == EOF) {
return output;
}
r3 = (r3 & 0xFF) + 1;
} else {
r3 += 2;
}
w.put_u8(r.get_u8());
} else {
r3 = 0;
for (x = 0; x < 2; x++) {
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output;
}
bitpos = 8;
ssize_t offset;
size_t count;
// Control 01 = long backreference
if (cr.read()) {
// The bits stored in the data stream are AAAAABBBCCCCCCCC, which we
// rearrange into offset = CCCCCCCCAAAAA and size = BBB.
uint16_t a = r.get_u8();
a |= (r.get_u8() << 8);
offset = (a >> 3) | (~0x1FFF);
// If offset is zero, it's a stop opcode
if (offset == ~0x1FFF) {
break;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
offset = r3 << 1;
r3 = offset | flag;
// If the size field is zero, it's an extended backreference (size comes
// from another byte in the data stream)
count = (a & 7) ? ((a & 7) + 2) : (r.get_u8() + 1);
// Control 00 = short backreference
} else {
// Count comes from 2 bits in the control stream instead of from the
// data stream (and 2 is added). Importantly, the control stream bits
// are read first - this may involve reading another control stream
// byte, which happens before the offset is read from the data stream.
count = cr.read() << 1;
count = (count | cr.read()) + 2;
offset = r.get_u8() | (~0xFF);
}
offset = get_u8_or_eof(r);
if (offset == EOF) {
return output;
// Copy bytes from the referenced location in the output. Importantly,
// copy only one byte at a time, in order to support ranges that cover the
// current end of the output.
size_t read_offset = w.size() + offset;
if (read_offset >= w.size()) {
throw runtime_error("backreference offset beyond beginning of output");
}
r3 += 2;
r5 = offset | 0xFFFFFF00;
}
if (r3 == 0) {
continue;
}
t = r3;
for (x = 0; x < t; x++) {
output += output.at(output.size() + r5);
if (max_output_size && (output.size() > max_output_size)) {
throw runtime_error("maximum output size exceeded");
for (size_t z = 0; z < count; z++) {
if (max_output_size && w.size() == max_output_size) {
throw runtime_error("maximum output size exceeded");
}
w.put_u8(w.str()[read_offset + z]);
}
}
}
return move(w.str());
}
string prs_decompress(const string& data, size_t max_output_size) {
return prs_decompress(data.data(), data.size(), max_output_size);
}
size_t prs_decompress_size(const string& data, size_t max_output_size) {
size_t output_size = 0;
StringReader r(data.data(), data.size());
size_t prs_decompress_size(const void* data, size_t size, size_t max_output_size) {
size_t ret = 0;
StringReader r(data, size);
ControlStreamReader cr(r);
int32_t r3;
int bitpos = 9;
int16_t currentbyte; // int16_t because it can be -1 when EOF occurs
int flag;
int offset;
unsigned long x;
while (!r.eof()) {
if (cr.read()) {
ret++;
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output_size;
}
for (;;) {
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output_size;
}
bitpos = 8;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
if (flag) {
int ch = get_u8_or_eof(r);
if (ch == EOF) {
return output_size;
}
output_size++;
if (max_output_size && (output_size > max_output_size)) {
throw runtime_error("maximum output size exceeded");
}
continue;
}
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output_size;
}
bitpos = 8;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
if (flag) {
r3 = get_u8_or_eof(r);
if (r3 == EOF) {
return output_size;
}
int high_byte = get_u8_or_eof(r);
if (high_byte == EOF) {
return output_size;
}
offset = ((high_byte & 0xFF) << 8) | (r3 & 0xFF);
if (offset == 0) {
return output_size;
}
r3 = r3 & 0x00000007;
if (r3 == 0) {
flag = 0;
r3 = get_u8_or_eof(r);
if (r3 == EOF) {
return output_size;
}
r3 = (r3 & 0xFF) + 1;
} else {
r3 += 2;
}
} else {
r3 = 0;
for (x = 0; x < 2; x++) {
bitpos--;
if (bitpos == 0) {
currentbyte = get_u8_or_eof(r);
if (currentbyte == EOF) {
return output_size;
}
bitpos = 8;
ssize_t offset;
size_t count;
if (cr.read()) {
uint16_t a = r.get_u8();
a |= (r.get_u8() << 8);
offset = (a >> 3) | (~0x1FFF);
if (offset == ~0x1FFF) {
break;
}
flag = currentbyte & 1;
currentbyte = currentbyte >> 1;
offset = r3 << 1;
r3 = offset | flag;
count = (a & 7) ? ((a & 7) + 2) : (r.get_u8() + 1);
} else {
count = cr.read() << 1;
count = (count | cr.read()) + 2;
offset = r.get_u8() | (~0xFF);
}
offset = get_u8_or_eof(r);
if (offset == EOF) {
return output_size;
size_t read_offset = ret + offset;
if (read_offset >= ret) {
throw runtime_error("backreference offset beyond beginning of output");
}
r3 += 2;
ret += count;
}
if (r3 == 0) {
continue;
}
output_size += r3;
if (max_output_size && (output_size > max_output_size)) {
if (max_output_size && ret > max_output_size) {
throw runtime_error("maximum output size exceeded");
}
}
return ret;
}
size_t prs_decompress_size(const string& data, size_t max_output_size) {
return prs_decompress_size(data.data(), data.size(), max_output_size);
}
@@ -422,7 +413,7 @@ string bc0_decompress(const string& data) {
}
// Control bit 0 means to perform a backreference copy. The offset and
// length are stored in two bytes in the input stream, laid out as follows:
// size are stored in two bytes in the input stream, laid out as follows:
// a1 = 0bBBBBBBBB
// a2 = 0bAAAACCCC
// The offset is the concatenation of bits AAAABBBBBBBB, which refers to a
@@ -473,48 +464,48 @@ string bc0_compress(const string& data) {
parray<uint8_t, 17> match_buf;
while (!r.eof()) {
// Search in the memo for the longest string matching the upcoming data, of
// length 3-17 bytes
// size 3-17 bytes
size_t best_match_offset = 0;
size_t best_match_length = 0;
size_t max_match_length = min<size_t>(r.remaining(), 17);
r.readx(match_buf.data(), max_match_length, false);
for (size_t match_length = 3; match_length <= max_match_length; match_length++) {
size_t best_match_size = 0;
size_t max_match_size = min<size_t>(r.remaining(), 17);
r.readx(match_buf.data(), max_match_size, false);
for (size_t match_size = 3; match_size <= max_match_size; match_size++) {
// Forbid matches that span the current memo position, or that cover the
// uninitialized part of the memo when the client decompresses (see
// comment in bc0_decompress about this)
size_t start_offset = (r.where() < 0x12) ? 0 : memo_offset;
size_t end_offset = (memo_offset - match_length + 1) & 0xFFF;
size_t end_offset = (memo_offset - match_size + 1) & 0xFFF;
for (size_t offset = start_offset; offset != end_offset; offset = (offset + 1) & 0xFFF) {
bool match_found = true;
for (size_t z = 0; z < match_length; z++) {
for (size_t z = 0; z < match_size; z++) {
if (match_buf[z] != memo[(offset + z) & 0xFFF]) {
match_found = false;
break;
}
}
// If a match was found at this length, don't bother looking for other
// matches of the same length
// If a match was found at this size, don't bother looking for other
// matches of the same size
if (match_found) {
best_match_length = match_length;
best_match_size = match_size;
best_match_offset = offset;
break;
}
}
// If no matches were found at the current length, don't bother looking
// for longer matches
if (best_match_length < match_length) {
// If no matches were found at the current size, don't bother looking for
// longer matches
if (best_match_size < match_size) {
break;
}
}
// Write a backreference if a match was found; otherwise, write a literal
if (best_match_length >= 3) {
if (best_match_size >= 3) {
pending_control_bits = (pending_control_bits >> 1) | 0x8000;
w.put_u8(best_match_offset & 0xFF); // a1
w.put_u8(((best_match_offset >> 4) & 0xF0) | (best_match_length - 3)); // a2
for (size_t z = 0; z < best_match_length; z++) {
w.put_u8(((best_match_offset >> 4) & 0xF0) | (best_match_size - 3)); // a2
for (size_t z = 0; z < best_match_size; z++) {
memo[memo_offset] = r.get_u8();
memo_offset = (memo_offset + 1) & 0xFFF;
}
+55
View File
@@ -4,14 +4,69 @@
#include <string>
#include "Text.hh"
// Use this class if you need to compress from multiple input buffers, or need
// to compress multiple chunks and don't want to copy their contents
// unnecessarily. (For most common use cases, use prs_compress (below) instead.)
class PRSCompressor {
public:
// To use this class, instantiate it, then call .add() one or more times, then
// call .close() and use the returned string as the compressed result.
PRSCompressor();
~PRSCompressor() = default;
// Adds more input data to be compressed, which logically comes after all
// previous data provided via add() calls. Cannot be called after close() is
// called.
void add(const void* data, size_t size);
void add(const std::string& data);
// Ends compression and returns the complete compressed result. It's OK to
// std::move() from the returned string reference.
std::string& close();
// Returns the total number of bytes passed to add() calls so far.
inline size_t input_size() const {
return this->input_bytes;
}
private:
void add_byte(uint8_t v);
void advance();
void write_control(bool z);
void flush_control();
bool closed;
size_t control_byte_offset;
uint16_t pending_control_bits;
size_t input_bytes;
parray<uint8_t, 0x100> forward_log;
size_t compression_offset;
parray<uint8_t, 0x2000> reverse_log;
StringWriter output;
};
// Compresses data from a single input buffer using PRS and returns the
// compressed result. This is a shortcut for constructing a PRSCompressor,
// calling .add() once, and calling .close().
std::string prs_compress(const void* vdata, size_t size);
std::string prs_compress(const std::string& data);
// Decompresses PRS-compressed data.
std::string prs_decompress(const void* data, size_t size, size_t max_output_size = 0);
std::string prs_decompress(const std::string& data, size_t max_output_size = 0);
// Returns the decompressed size of PRS-compressed data, without actually
// decompressing it.
size_t prs_decompress_size(const void* data, size_t size, size_t max_output_size = 0);
size_t prs_decompress_size(const std::string& data, size_t max_output_size = 0);
// Decompresses and compresses data using the BC0 algorithm.
std::string bc0_decompress(const std::string& data);
std::string bc0_compress(const std::string& data);
+7 -7
View File
@@ -908,17 +908,17 @@ const string& Ep3DataIndex::get_compressed_map_list() const {
header.strings_offset = entries_w.size();
header.total_size = sizeof(Ep3MapList) + entries_w.size() + strings_w.size();
StringWriter w;
w.put(header);
w.write(entries_w.str());
w.write(strings_w.str());
PRSCompressor prs;
prs.add(&header, sizeof(header));
prs.add(entries_w.str());
prs.add(strings_w.str());
StringWriter compressed_w;
compressed_w.put_u32b(w.str().size());
compressed_w.write(prs_compress(w.str()));
compressed_w.put_u32b(prs.input_size());
compressed_w.write(prs.close());
this->compressed_map_list = move(compressed_w.str());
static_game_data_log.info("Generated Episode 3 compressed map list (%zu -> %zu bytes)",
w.size(), this->compressed_map_list.size());
this->compressed_map_list.size(), this->compressed_map_list.size());
}
return this->compressed_map_list;
}
+267 -269
View File
@@ -3692,202 +3692,203 @@ I 94711 2022-07-26 00:26:28 - [Commands] Received from C-8 (NO DATA) (version=GC
0010 | 00 00 00 00 |
I 94711 2022-07-26 00:26:28 - [StaticGameData] Generated Episode 3 compressed map list (12120 -> 3105 bytes)
I 94711 2022-07-26 00:26:28 - [Commands] Sending to C-8 (NO DATA) (version=GC command=6C flag=00)
0000 | 6C 00 38 0C B6 00 00 00 34 0C 00 00 40 00 00 00 | l 8 8 @
0010 | 21 0C 00 00 00 00 2F 58 8F 00 00 00 0E FC F8 F9 | ! /X
0020 | 1D C0 00 00 FF 2F 58 01 B1 00 6F 00 00 3B 02 30 | /X o ; 0
0030 | 64 FF 00 0D C6 FC 1A FC 27 AF 00 07 00 07 65 FF | d ' e
0040 | 2D FF F8 FC 03 01 02 01 FD 04 80 FF 0A 01 01 01 | -
0050 | 01 01 EA 80 FF 0E 80 FF 0E 80 FF 0C 07 01 57 08 | W
0060 | 01 06 50 FD 10 C8 FC 10 F5 F0 FE 20 E8 FD 41 48 | P AH
0070 | FD 55 10 00 10 68 FC 88 F9 C8 FF FF EA F1 24 01 | U h $
0080 | 8D 00 01 02 44 18 F6 05 1D FC 21 EE 01 1D DB FC | D !
0090 | 2C 11 EF 0A 70 FE 11 03 D5 02 08 EF 0B 00 EF 30 | , p 0
00A0 | 80 ED 2F 00 FB 07 08 88 ED BC 44 42 41 43 FD 40 | / DBAC @
00B0 | 80 FF 0A 40 44 43 42 41 FE 00 EF AE 26 01 8F 00 | @DCBA &
00C0 | 05 02 31 58 F6 F5 D6 FC FE A1 DD E1 DD 02 DF 1C | 1X
00D0 | 00 05 00 08 78 FE 10 04 AB 02 03 80 FF 0C 90 F1 | x
00E0 | 0E 80 FF 0E E2 00 FF 1E FC 06 08 EA E0 DA 11 08 |
00F0 | DD DA 00 DE B3 00 F5 BF 01 1F 00 02 02 6C 21 DF | l!
0100 | 31 3A FC 48 C6 FC 55 FC 62 7B 00 09 00 CD 12 00 | 1: H U b{
0110 | 02 03 97 E8 F0 0C 01 04 70 E0 0D DD F2 80 FF 0E | p
0120 | 01 07 78 FE 0B 01 AB 01 06 48 EC 11 C8 F3 FE 00 | x H
0130 | EF 9D B7 F7 01 21 49 CE 80 19 DF 31 63 FC 71 C6 | !I 1c q
0140 | FC 7E FC 8B 6B 00 06 F1 EE 78 FE 0F 01 55 01 EF | ~ k x U
0150 | 80 FF 0C 01 EF 80 CC 0F 15 00 CC 0F 00 FF 1D 18 |
0160 | EE 0B 57 F0 06 08 F8 DC 0D F0 BB B2 7D F8 BA 1E | W }
0170 | 00 EF AF 02 09 00 BC 3F 41 CE 94 00 00 05 38 3A | ?A 8:
0180 | FC C1 BB 05 50 D6 FC 5C 01 EF B8 E0 11 08 55 06 | P \ U
0190 | 08 BF 0E 80 EF 30 08 A9 0C DC F0 03 02 70 E4 CC | 0 p
01A0 | 30 AD 20 80 FF 0D 20 46 A0 00 AB B9 7F 1C 01 A2 | 0 F
01B0 | 00 06 02 A8 63 99 BF 67 FC 74 74 FC A1 DD 06 8C | c g tt
01C0 | AF 00 EF 14 01 03 04 80 F1 0C 80 DE 31 D6 80 FF | 1
01D0 | 0E 07 90 CC FE 00 CD A2 6E BF 00 C7 00 07 02 BC | n
01E0 | 99 DF 31 97 FC A5 C6 FC B1 FC BD AA 11 CD 00 CD | 1
01F0 | 12 81 E0 F8 99 1C AA 78 FF 0F 00 FF 0E 88 FE 1F | x
0200 | 7B 9A EA E0 A9 0E E0 F2 FE 00 EF 86 BD 00 C7 00 | {
0210 | 09 37 FC 45 18 FC 51 6B FC 5D 00 EF FE 48 FF 15 | 7 E Qk ] H
0220 | 43 8B E8 FE 21 42 D0 FE 0E F0 AA 00 FE 0C 80 FF | C !B
0230 | 0C D0 FC 38 00 EF 6A FF 6A 01 88 00 08 02 E4 00 | 8 j j
0240 | C7 00 0A D7 FC DE 18 FC E5 2B FC EC 00 EF 19 80 | +
0250 | 9A 1C AB EB 80 FF 0E 00 FF 1B 00 FE 0F 76 00 DE | v
0260 | AD 40 89 B2 00 44 99 F0 78 09 F5 55 EB 80 77 16 | @ D x U w
0270 | 00 FF 0E 00 FE 0F FF 00 DE 93 B0 00 61 00 09 02 | a
0280 | F8 B7 00 00 0B 21 78 0C 61 89 A3 0C 17 FC 00 56 | !x a V
0290 | 15 AA 0B EF 00 68 3B 0A F0 58 D2 FE DA 00 CD AF | h; X
02A0 | 04 EF F9 29 45 5E E8 FC E1 AA 0D 77 58 FC 87 00 | )E^ wX
02B0 | EF 14 55 00 56 3F 80 57 BF 98 CD 10 F9 DF DF 78 | U V? W x
02C0 | CE 0B 44 00 40 00 90 DF 0B 44 F5 42 90 DD 1B 00 | D @ D B
02D0 | 9A A5 AD 00 FC 77 00 0E 03 41 93 0E BE 8C FC C9 | w A
02E0 | FC F1 D4 FC DF 00 0C AA 00 DE 13 9B F0 D8 8A 09 |
02F0 | 86 FF AA 4E 55 96 EF 5E EF A1 CE AA 7D FF 05 87 | NU ^ }
0300 | 7A 87 F8 DD BA 5A 94 8A 60 8A 32 31 A0 FF 0A FD | z Z ` 21
0310 | A0 FF 0A 00 DE A3 7B 00 EA 00 11 1B 03 34 21 72 | { 4!r
0320 | 6E 63 FC 78 FC 82 54 FC 02 89 00 34 11 55 01 CD | nc x T 4 U
0330 | 08 AD 0E 88 CC 0C 80 88 42 F5 80 FF 0E 88 CB FE | B
0340 | 00 EF 82 55 6E 67 FF 75 69 73 20 4C 61 70 69 15 | Ung uis Lapi
0350 | 73 98 FF 0B 98 FF 0B FF F3 54 68 65 20 61 72 65 | s The are
0360 | 7F 61 20 68 65 72 65 20 FC E9 0A 73 75 72 72 FF | a here surr
0370 | 6F 75 6E 64 65 64 20 62 FF 79 20 0A 63 6C 69 66 | ounded b y clif
0380 | 66 FF 73 20 61 6E 64 20 0A 66 DF 6F 72 65 73 74 | f s and f orest
0390 | 9C FF 68 F1 61 D4 6E 6F 74 FF 20 62 65 65 6E 20 | h a not been
03A0 | 0A 65 C7 78 70 6C E2 64 E9 20 E9 74 68 6F F8 BD | e xpl d tho
03B0 | 67 68 6C 79 3C F1 6F 74 3E A3 20 70 61 72 FE C5 | ghly< ot> par
03C0 | 6F 66 20 0A 52 61 9F 67 6F 6C 2E 20 FE 85 0A 64 | of Ra gol. d
03D0 | 69 73 63 6F 76 E7 65 72 79 E6 61 FF 20 67 69 61 | iscov ery a gia
03E0 | 6E 74 20 66 FF 6F 73 73 69 6C 69 7A 65 C7 64 0A | nt f ossilize d
03F0 | 63 63 74 91 75 64 F9 8F 93 6D 61 6B FF 69 6E 67 | cct ud mak ing
0400 | 20 0A 71 75 69 F1 74 42 20 73 74 8F 69 72 20 69 | qui tB st ir i
0410 | 7B F8 98 20 6E 65 77 FF 73 20 6C 61 74 65 6C 79 | { new s lately
0420 | FF 2E 00 4E 65 62 75 6C 61 FB 20 31 BE FF 4D 6F | . Nebula 1 Mo
0430 | 6E 74 B7 61 6E 61 88 FF 0D 61 DB F7 FF 6D 79 73 | nt ana a mys
0440 | 74 65 72 69 6F FF 75 73 0A 47 61 6C 2D 44 FF 61 | terio us Gal-D a
0450 | 2D 56 61 6C 20 49 73 71 6C 13 0A 77 FC 84 66 69 | -Val Isql w fi
0460 | 72 73 74 7A 87 FA 13 F7 0A 69 6E 7C CC 63 65 70 | rstz in| cep
0470 | 74 FC 70 0A 6D 65 73 73 FF 61 67 65 73 20 73 65 | t p mess ages se
0480 | 6E FF 74 0A 66 72 6F 6D 20 48 D8 44 68 F3 F5 0A | n t from H Dh
0490 | FF 46 6C 6F 77 65 6E 2E 0A 2B 54 68 D9 F4 C1 F4 | Flowen. +Th
04A0 | EE 54 0A 6D C1 F4 74 61 68 46 F2 F3 0A FD F9 F7 | T m tahF
04B0 | 30 FC 09 2C 0A 77 68 69 D3 63 68 D6 73 61 3F 69 | 0 , whi ch sa?i
04C0 | 64 20 74 6F 0A C5 89 66 BA 20 7F 77 69 74 68 20 | d to f with
04D0 | 61 0A BF 70 FA 0A 65 6E 65 72 67 80 F8 09 FD 32 | a p energ 2
04E0 | 80 F8 22 68 69 67 68 20 A3 70 6F 3E F9 F2 EE 30 | "high po> 0
04F0 | FC 0B 20 0A 5C F8 2C 20 D6 55 FE 0A 4D FE F1 F2 | \ , U M
0500 | 66 DB 65 72 D9 F3 61 61 F0 61 FF 75 74 69 66 75 | f er aa a utifu
0510 | 6C 20 76 67 69 65 77 BF B1 22 F4 08 69 B1 F2 B5 | l vgiew " i
0520 | 0A 7B ED DA EE 69 71 F0 53 0A 72 38 6E E9 DA F1 | { iq S r8n
0530 | A3 65 6E 76 1F 69 72 6F 6E 6D E3 D4 2E 95 74 27 | env ironm . t'
0540 | DE 89 ED 6C 73 6F C9 F1 70 C7 72 69 6D C3 6C 7F | lso p rim l
0550 | 6F 63 61 74 69 6F 6E 7C 0D 20 67 65 74 FC 17 63 | ocation| get c
0560 | 6C 6F 73 65 7F 20 6C 6F 6F 6B 20 61 A4 52 96 72 | lose look a R r
0570 | F8 9D 20 62 69 72 95 64 0A ED 1C FC 3A 8B 2C F1 | bir d : ,
0580 | EE 75 74 EB F1 99 EA 41 EC 6F 6C 48 DE D4 7E 9D | ut A olH ~
0590 | EE 70 72 65 63 61 C7 63 F6 2C 0A 8B 63 84 39 95 | preca c , c 9
05A0 | FE 42 E8 61 64 76 69 73 65 FF 64 2E 00 4C 75 70 | B advise d. Lup
05B0 | 75 73 5F 20 53 69 6C 76 32 EE BD 90 FF 0B 28 FF | us_ Silv2 (
05C0 | 0C 00 41 66 09 F4 6A A4 FC A8 F3 09 B5 E7 73 32 | Af j s2
05D0 | AA 72 E9 50 C6 F7 65 D9 31 58 65 74 2A F0 DD E0 | r P e 1Xet*
05E0 | F6 0C 42 ED 0A 72 C9 F4 69 8B 6C 74 F1 E9 0E BE | B r i lt
05F0 | 19 F5 6D 6F 6E 75 0B F7 FF 0A 4E 6F 77 61 64 61 | monu Nowada
0600 | 79 EB 73 2C D4 FC E1 F5 69 76 BE B9 F7 69 66 65 | y s, iv ife
0610 | 2D A9 E3 BF 6D 20 0A 70 6F 70 F1 F2 6E EF F9 64 | - m pop n d
0620 | 65 A1 EC 6E F7 A1 EB 2C 20 CA F7 0A 62 61 53 63 | e n , baSc
0630 | 6B C5 6E A2 BF DF 70 EF 6C 61 63 65 54 FC 66 61 | k n p laceT fa
0640 | DA 11 EC 51 E9 6F ED F9 66 FD 69 B2 E9 20 62 61 | Q o f i ba
0650 | 74 74 55 6C E1 E9 09 F6 F9 E1 EB 11 E1 79 0C FF | ttUl y
0660 | C6 F9 32 20 AB 0A 48 59 EA C1 EF B8 F6 0D B5 32 | 2 HY 2
0670 | B8 F6 20 B7 F7 20 8B E5 7D 64 B1 DD 72 6F 79 65 | }d roye
0680 | 55 C1 EC 3C F7 78 F7 16 01 EC F7 7E F7 20 73 E9 | U < x ~ s
0690 | F1 2E 0A 41 FE 09 E1 72 67 65 20 76 6F D1 6C E9 | . A rge vo l
06A0 | 03 F0 64 E3 61 74 D8 72 65 AF 67 61 72 64 2B DF | d at re gard+
06B0 | 98 FC 09 D6 6B D9 74 2B DB EB D8 0A E2 43 EB 91 | k t+ C
06C0 | 76 61 DF 69 6C 61 62 6C B3 EE 72 E2 C3 E9 C6 2E | va ilabl r .
06D0 | 00 7F 4D 6F 6C 61 65 20 56 15 CA F2 A0 FF 0A A0 | Molae V
06E0 | FF 0A 65 F4 E3 E1 50 44 F8 97 23 E7 EB 62 2B EE | e PD # b+
06F0 | 91 70 6F B2 D8 6E 20 5A BB D8 04 FD 67 B9 DF E9 | po n Z g
0700 | F1 EE 64 70 68 6F FF 74 6F 6E 2E 20 52 65 63 64 | dpho ton. Recd
0710 | 2B D9 DD 76 8C C9 69 DE F6 C2 F1 0A C2 D8 72 65 | + v i re
0720 | 76 47 65 61 6C 4D ED 29 F7 69 E8 69 D1 E7 63 74 | vGealM ) i i ct
0730 | 17 75 61 6C 79 D5 1D 1A EA D3 75 70 D1 D4 0C 9C | ualy up
0740 | FD 20 56 42 DF 2D 21 F0 09 F7 A5 1A E1 55 FF 04 | VB -! U
0750 | 63 3F 6F 6C 6C 65 63 74 6A B4 4B DE A4 F4 0A FC | c?ollectj K
0760 | 14 64 6D 69 6C 6C 9F 2D 73 68 61 70 54 98 41 E7 | dmill -shapT A
0770 | 79 E1 E1 EF 55 91 D5 BD FB BA F6 1A EE 3C CC 72 | y U < r
0780 | 61 6E 26 2B 72 BA BD E2 EA 9F EF 2E 00 54 2A DC | an&+r . T*
0790 | 56 B9 F0 6E 89 F0 98 FF 0B 2D 38 FF 0B 83 DC 63 | V n -8 c
07A0 | D9 DD 7A F3 F4 F7 72 6F 67 54 39 94 CF 9F FD 69 | z rogT9 i
07B0 | B1 DF 23 69 64 ED E2 F4 AA DE 64 D1 F7 6C 6F A5 | #id d lo
07C0 | 70 2B F0 CC 6A 58 5C 73 C4 CF 9C D8 75 6C F4 71 | p+ jX\s ul q
07D0 | 19 D6 03 EB 67 72 61 75 64 F9 F6 31 F6 64 75 5C | graud 1 du\
07E0 | 36 6F 6E 6C F3 74 14 61 E8 6E 65 7F CA DC 0A 6F | 6onl t a ne o
07F0 | 6E 63 65 2D FD 28 DA 09 C1 F2 6C 65 6E 64 6F 2B | nce- ( lendo+
0800 | 72 2E 70 D0 0B 15 D8 9A D0 F4 F9 0A AF 3D 2C 20 | r.p =,
0810 | 68 09 D2 F9 D3 5E 91 EA 72 65 6D 61 D2 89 3C F0 | h ^ rema <
0820 | 3F DC 80 DF FC 6D 6F D9 CE 73 D7 74 75 6E CA E3 | ? mo s tun
0830 | B1 CF 61 24 30 2B EB 5A 6C 61 E6 4D D1 F5 8C 6B | a$0+ Zla M k
0840 | 46 F3 EA 19 DD 90 FF 0A 30 FF 0B 00 53 AA E0 C3 | F 0 S
0850 | 0B 2A DA C1 D7 1D C4 25 2C F4 F1 5C F7 02 F1 77 | * %, \ w
0860 | 65 D9 F1 0A 6B 6E AB 6F 77 D9 EF C1 EC 71 D4 4A | e kn ow q J
0870 | 39 D9 31 D8 81 A2 D1 EF 1B 52 EC E8 3F 83 CD 0A | 9 1 R ?
0880 | 63 BD 61 69 E6 61 62 6F 09 DF F2 F2 CA 43 6D 69 | c ai abo Cmi
0890 | 89 78 37 48 D2 AA 71 EE AD 99 EE F1 C5 72 14 EC | x7H q r
08A0 | 22 ED 96 69 CA 6E 6C C9 66 6A 72 67 62 1D F6 EE | " i nl fjrgb
08B0 | 61 C4 61 72 FD 58 72 E7 73 2E 20 49 74 DA 91 E8 | a ar Xr s. It
08C0 | A9 EB 64 A9 BD 64 F6 99 F1 20 A9 DC 65 0A 61 CA | d d e a
08D0 | 96 D6 68 C0 0C 80 6F 65 6E 68 61 29 F3 64 B7 D9 | h oenha) d
08E0 | F1 6F 77 E1 EA 65 C1 CC 62 B1 F0 54 75 55 79 D3 | ow e b TuUy
08F0 | ED DB 59 DE 71 D8 96 69 31 F4 75 C8 B6 BA 1A C4 | Y q i1 u
0900 | 76 65 6D A1 CE 3B EA 2C 32 CC 0A 55 29 F7 61 F7 | vem ; ,2 U) a
0910 | E5 F2 74 BC C5 16 F3 5C D6 74 6F 47 75 72 69 F0 | t \ toGuri
0920 | 6B 71 D8 72 09 E5 00 F3 11 32 BD 00 F3 FE 00 F3 | kq r 2
0930 | 96 67 75 65 CC FF A2 CC FF F9 02 DD 4A AC FF 6B | gue J k
0940 | D8 84 7F 43 2E 41 2E 52 2E 44 FF E9 BC 54 65 63 | C.A.R.D Tec
0950 | 68 6E 6F 6C BB 6F 67 21 D6 52 65 71 E3 DD 72 89 | hnol og! Req r
0960 | BB 0A 4C E1 F4 72 C5 61 41 CF EA 6F D7 6E 62 6F | L r aA o nbo
0970 | 39 CE 40 D9 0B 0A 45 42 C1 BE 22 55 FB E0 21 D7 | 9 @ EB "U !
0980 | EA DB F9 BE EB CA F7 73 79 D2 08 FD 15 6D 61 D7 | sy ma
0990 | 64 65 0A DA CC 8E C4 66 BB 61 63 D1 A9 74 79 64 | de f ac tyd
09A0 | DA E8 2A 6A D1 61 68 57 65 61 64 3F DE 23 A7 5B | *j ahWead? # [
09B0 | 73 A5 0A 9A B6 70 31 BE 55 8D C1 93 F4 D2 EE 4A | s p1 U J
09C0 | DC BD 69 DD 59 B6 67 65 72 4B A6 A5 0A 39 CA 16 | i Y gerK 9
09D0 | 72 FB 75 6E E3 A2 43 68 69 65 C7 66 20 50 5B 61 | r un Chie f P[a
09E0 | EF 67 6C 61 73 C9 F6 43 61 B5 65 19 C7 F1 DC 54 | glas Ca e T
09F0 | 49 DA AE 79 F3 66 20 74 FF 80 FF 0E 88 F0 7C D9 | I y f t |
0A00 | 74 EC E3 B7 20 8A AF D0 49 C4 26 1F 61 6E 69 73 | t I & anis
0A10 | 6D 55 32 42 B4 22 C3 D1 D1 54 76 F1 D4 62 CE C9 | mU2B " Tv b
0A20 | F7 C8 7C 70 C4 09 61 51 6C 56 EA CC 45 A9 EE AB | |p aQlV E
0A30 | F3 68 BF 2B B0 44 6F 6D 65 2E 6A CF 7A C1 BC 64 | h + Dome.j z d
0A40 | CD 6D 69 74 D5 2A A6 59 B0 73 C1 6A BB 6E 62 6A | mit * Y s j nbj
0A50 | AE 60 6D 5D 49 F0 0A D4 72 65 09 E5 95 31 E5 99 | `m]I re 1
0A60 | C8 61 CE 4A 78 64 29 C7 3E DA 5C A8 0E BE 73 EA | a Jxd) > \ s
0A70 | B3 6D AC 3A 53 EB C1 CA BA B1 B0 0A F1 73 75 79 | m :S suy
0A80 | F0 AE 62 CD 74 69 3A B9 53 BD 74 68 75 70 70 DA | b ti: S thupp
0A90 | 9F 61 74 51 EC 70 FA 23 BF FA E2 0A 70 69 63 E7 | atQ p # pic
0AA0 | 6B 75 70 2C 73 AB 68 75 94 B7 33 E5 48 C8 0B D6 | kup,s hu 3 H
0AB0 | 05 F5 32 00 F5 FE 00 F5 58 44 5E 71 E5 72 20 4F | 2 XD^q r O
0AC0 | 19 C3 C5 A8 FF 09 A8 FF 09 F5 41 A2 6A C4 18 9E | A j
0AD0 | 93 AA 5A E3 A9 DC 93 A7 13 F7 1A 99 B6 03 BD 66 | Z f
0AE0 | B5 A0 81 E0 AA D7 61 A9 B9 AF 6F 6D 6E 69 D9 9F | a omni
0AF0 | EA 92 48 26 C3 E5 70 12 F3 CC 6F AA A2 BF 05 F6 | H& p o
0B00 | 33 9A B7 D7 AE 00 A6 0D 2D 2D 9C D2 CB BB 2B 65 | 3 -- +e
0B10 | 6D E1 AD 8B 91 89 7C 93 C0 8A D6 31 B3 67 71 B1 | m | 1 gq
0B20 | 59 F7 63 36 81 A2 76 0C FD 72 8A EF 8A F0 C0 5A | Y c6 v r Z
0B30 | 7B DF E1 B3 75 49 D5 BC D3 66 65 65 19 B2 C5 67 | { uI fee g
0B40 | 42 F3 EB 65 5F 73 63 72 69 62 25 AB AD 81 DA BD | B e_scrib%
0B50 | A7 6C E9 F0 71 99 1E 59 DB 77 68 6F AD BE A9 9F | l q Y who
0B60 | 0A 69 9A 61 A7 D6 BA 94 2E A1 95 02 DE 74 D6 17 | i a . t
0B70 | B6 61 82 DE 2D DC 72 68 39 73 95 62 BF 7A 86 0A | a - rh9s b z
0B80 | 73 69 67 6E 91 B0 65 63 A2 84 3B 77 5C D7 6F 62 | sign ec ;w\ ob
0B90 | 19 B0 63 6C 55 01 DA 35 CE 6B CE 41 D3 55 69 EB | clU 5 k A Ui
0BA0 | 04 9C BA 83 06 B8 F5 AA 9A 43 98 39 8C 56 69 61 | C 9 Via
0BB0 | AF 20 54 75 62 A1 B0 B7 FF 5A 60 FF 0A 6B AB 72 | Tub Z` k r
0BC0 | 2D F7 45 78 B0 0D E0 B0 0C FB BD 81 F3 59 D0 65 | - Ex Y e
0BD0 | 73 3A 31 D5 D8 CA 48 D1 8A 2D B7 53 70 65 F2 F0 | s:1 H - Spe
0BE0 | 54 72 E9 FE A9 A7 4E 65 74 77 6F 72 D5 6B 49 D8 | Tr Networ kI
0BF0 | 9E E6 8A B0 50 7E 04 AF 2E 0A 4C 69 6B 51 69 E4 | P~ . LikQi
0C00 | C4 AC E3 AD 62 F5 A4 E3 2C C2 A5 D9 E4 A8 8C 02 | b ,
0C10 | F8 1C AE A4 02 A9 A5 59 F5 AA 55 EA 63 EF C1 A4 | Y U c
0C20 | 03 87 4A 3D 85 D7 E6 59 EA 23 97 11 CB 00 E5 24 | J= Y # $
0C30 | 2E 00 02 00 00 00 00 00 | .
0000 | 6C 00 44 0C B6 00 00 00 40 0C 00 00 40 00 00 00 | l D @ @
0010 | 2D 0C 00 00 00 00 2F 58 8F 00 00 00 0E FC 38 F9 | - /X 8
0020 | 1D C0 FC F4 2F 58 01 B1 00 6F B0 EC 02 30 64 FF | /X o 0d
0030 | 63 00 0D E0 1A 3C DC 27 00 07 28 FE 65 FF 2D FF | c < ' ( e -
0040 | 7E C6 03 01 02 01 04 87 50 FF 0A 01 01 FE 01 FA | ~ P
0050 | 80 FF 0F 00 FF 1A 07 01 08 01 55 06 50 FD 10 C8 | U P
0060 | FC 10 F0 FE 21 0D E0 FD 43 C0 FB 52 10 FE 68 FC | ! C R h
0070 | F8 F8 C8 FF FF EA F0 24 01 8D 00 01 02 44 D6 99 | $ D
0080 | F0 05 79 F0 21 EE 01 6D 1D 39 F0 2C 01 EF 0A 57 | y ! m 9 , W
0090 | B0 F1 11 03 02 08 EF 0B 00 EF 30 EF 80 ED 2F 00 | 0 /
00A0 | 07 08 88 ED BC 44 42 F7 41 43 40 D0 E4 0A 40 44 | DB AC@ @D
00B0 | 43 E0 EE 00 EF AE 26 01 DF 8F 00 05 02 58 99 DF | C & X
00C0 | F5 D6 79 DF FE A1 DD E1 DD 02 61 1C EC 00 08 AF | y a
00D0 | 00 DE 10 04 02 03 60 DD 0C 90 F1 0E 7A 80 FF 0F | ` z
00E0 | 00 FF 1F 00 06 08 F5 E0 DA 11 08 DD DA 00 DE B3 |
00F0 | 00 F5 01 DF 1F 00 02 02 6C 19 CE 3A B6 F9 CD 48 | l : H
0100 | D9 CD 55 B9 CD F7 62 00 09 00 CD 12 00 02 03 AE | U b
0110 | 78 CD 0C 01 04 F0 CC 0D 83 CC F6 80 FF 0F 07 78 | x x
0120 | FE 0B 01 01 06 EA 48 EC 11 E0 EE FF 00 EF 9C F7 | H
0130 | 01 6D 21 49 CE 80 19 DF 63 DB F9 DE 71 D9 DE 7E | m!I c q ~
0140 | B9 DE 8B 6B 00 06 F1 EE F8 BB 0F 01 55 01 EF 00 | k U
0150 | CD 0C 01 EF 80 CC 0F D5 00 CC 0F 00 FF 1D 18 EE |
0160 | 0B 81 B9 06 55 08 78 DB 0D F0 BB B2 F8 BA 1E DF | U x
0170 | 00 BC AF 02 09 00 BC 41 CE 94 8F 00 00 05 38 FC | A 8
0180 | 8E C1 BB 05 50 F4 75 5C 01 EF 00 CD 11 08 06 D5 | P u\
0190 | 08 BF 0E 80 EF 30 08 A9 0C 01 A9 03 DD 02 88 AA | 0
01A0 | CC 30 20 60 A1 0D 20 FA 46 A0 00 AB B9 1C 01 A2 | 0 ` F
01B0 | 00 B7 06 02 A8 99 BF 67 79 BF 75 74 59 BF A1 DD | gy utY
01C0 | 06 8C AF 00 EF 14 01 03 04 80 F1 0C 80 DE 31 D6 | 1
01D0 | 80 DC 0E 07 90 CC FF 00 BC A1 6E BF 00 C7 00 07 | n
01E0 | 02 BC 19 8C 6D 97 F9 8B A5 D9 8B B1 AB B9 8B BD | m
01F0 | 01 BC 00 CD 12 81 E0 AA F8 99 1C 70 88 0F F8 87 | p
0200 | 0E 88 FE 1F AA 7B 9A 60 A8 0E F8 A9 FF 00 EF 85 | { `
0210 | 1F BD 00 00 09 37 63 FC 45 F8 51 AC F4 5D 00 EF | 7c E Q ]
0220 | FF D0 72 14 2D 43 20 72 21 42 D0 FE 0E AA F0 00 | r -C r!B
0230 | FE 0C 80 FF 0C D0 FC 38 FE 00 9A 6A 6A 01 88 00 | 8 jj
0240 | 08 02 1F E4 00 00 0A D7 63 FC DE F8 E5 AC F4 EC | c
0250 | 00 DE 19 80 9A 1C AA 5B 66 80 FF 0F 00 FF 1A 00 | [f
0260 | 98 0F 76 00 DE AD 40 49 6E 00 44 99 F0 78 09 F5 | v @In D x
0270 | 55 EB 80 77 16 00 FF 0E 00 FE 0F FF 00 89 93 B0 | U w
0280 | 00 61 00 09 02 F8 B7 00 00 0B 21 78 0C 61 56 A3 | a !x aV
0290 | 0C 17 F8 00 56 15 AA 0B EF 00 67 3B 0A CE 70 78 | V g; px
02A0 | FF DA 00 78 AE 04 EF F9 29 45 5E BA 09 45 E1 AA | x )E^ E
02B0 | 0D 77 C9 44 55 87 00 45 14 00 56 3F 80 57 BF F5 | w DU E V? W
02C0 | 98 CD 10 F9 DD F8 CD 0B 44 00 40 5D 00 80 56 0B | D @] V
02D0 | 44 42 90 DD 1B 7F 00 45 A5 AD 00 FC 00 0E 03 B7 | DB E
02E0 | 41 93 0E BE 29 33 C9 09 33 BD D4 E9 32 DF 00 0C | A )3 3 2
02F0 | 00 DE 13 AA 9B 34 D8 8A 09 86 FF 4E 55 AA 96 33 | 4 NU 3
0300 | 5E 33 89 87 7D FF AA 05 87 7A 87 F0 78 BA D4 2A | ^3 } z x *
0310 | D6 60 8A 32 31 A0 FF 0B 00 56 AD 7B BF 00 EA 00 | ` 21 V {
0320 | 11 03 34 19 2D 6D 6E F9 2C 78 D9 2C 82 55 B9 2C | 4 -mn ,x , U ,
0330 | 02 89 00 34 11 89 7A 55 80 67 0E 88 CC 0C 80 88 | 4 zU g
0340 | 42 80 64 0E FD 88 CB FF 00 23 81 55 6E 67 75 69 | B d # Ungui
0350 | 1F 73 20 4C 61 70 F4 FA 98 FF 0C 30 FF 0D 54 68 | s Lap 0 Th
0360 | 65 3F 20 61 72 65 61 20 40 F8 FA 20 FC CF 0A 73 | e? area @ s
0370 | 75 72 72 FF 6F 75 6E 64 65 64 20 62 E1 79 F1 63 | urr ounded b y c
0380 | 6C 69 43 66 66 B8 61 80 EF E5 66 61 6F D6 73 74 | liCff a fao st
0390 | C7 9C FF 68 61 D4 6E C3 6F 74 DB 65 65 E1 6E CA | ha n ot ee n
03A0 | 65 78 70 11 6C E2 68 CC E9 74 68 80 D7 BD 67 03 | exp l h th g
03B0 | 68 6C C0 01 DA DB 0E A3 20 70 99 38 C5 6F 66 FC | hl p 8 of
03C0 | 9E 52 61 67 6F 6C 2E 69 20 85 0A 64 38 5C 63 6F | Ragol.i d8\co
03D0 | 76 00 84 96 C1 E6 79 67 69 00 96 AC 70 97 73 73 | v ygi p ss
03E0 | 69 08 87 7A 7C 80 80 63 01 74 6D 98 5A 8F 1F 93 | i z| c tm Z
03F0 | 6D 61 6B 69 20 22 56 71 C4 1F 74 42 20 10 6D 69 | maki "Vq tB mi
0400 | 80 A1 EE E0 88 33 6E 65 77 10 0A 6C C2 CD 65 83 | 3new l e
0410 | 2E 00 0F 4E 65 62 75 F4 3B 20 31 BE FF 4D 6F 40 | . Nebu ; 1 Mo@
0420 | A3 36 61 1D 88 FF 0E DB F7 6D 79 0E 26 65 72 69 | 6a my &eri
0430 | 06 FF 73 0A 47 61 6C 2D 44 61 C3 2D 56 F9 20 49 | s Gal-Da -V I
0440 | 21 73 B5 6E C4 7B 77 13 66 00 9B 04 1A 87 FA 13 | !s n {w f
0450 | F7 0A F0 79 CC 63 65 70 F0 7F 6E 67 0A 6D 01 65 | y cep ng m e
0460 | 4B 86 26 65 73 70 65 F0 3D 0A 66 72 6F C7 6D 20 | K &espe = fro m
0470 | 48 44 68 FE F3 F5 0A 46 6C 6F 77 65 5F 6E 2E 0A | HDh Flowe_n.
0480 | 54 68 51 F3 05 39 F3 61 F7 CE 01 C1 F4 70 AD 46 | ThQ 9 a p F
0490 | F2 F3 0A 29 F7 30 FC 09 01 2C 8C 16 D7 63 68 72 | ) 0 , chr
04A0 | F3 86 AB 69 64 D1 6F 8D 0A CA F6 66 BA 03 20 77 | id o f w
04B0 | 09 80 E7 D0 70 FA 0A 61 65 0A 72 67 0B 80 F8 09 | p ae rg
04C0 | 32 80 F8 22 79 61 67 A2 70 6F D4 3E F9 F2 30 FC | 2 "yag po > 0
04D0 | 0B 20 DD 0A 5C F8 2C 20 15 F6 0A 7A 55 F6 21 F2 | \ , zU !
04E0 | 66 65 72 FB F1 EE 61 61 F0 61 75 74 69 7F 66 75 | fer aa auti fu
04F0 | 6C 20 76 69 65 20 6F 45 B1 22 F4 08 69 D1 ED B5 | l vie oE " i
0500 | 0A 7B ED 72 EE 69 99 EE 53 0A 72 38 6E 69 DA F1 | { r i S r8ni
0510 | A3 65 6E 78 CD 72 6F 6E 6D E3 E1 F6 2E 95 74 27 | enx ronm . t'
0520 | DE 21 ED 6C 73 6F C9 F1 70 F7 72 69 6D 71 EF 6C | ! lso p rimq l
0530 | 6F 63 1F 61 74 69 6F 6E 1F 0D 20 67 65 74 FF 17 | oc ation get
0540 | 63 6C 6F 73 65 20 6C 1F 6F 6F 6B 20 61 05 52 D2 | close l ook a R
0550 | F0 B5 5F 91 EA 62 69 72 64 0A ED 85 1C FC D2 E9 | _ bird
0560 | 4C 0A 81 62 67 75 74 99 EA 41 EC 6F 6C 24 DE D4 | L bgut A ol$
0570 | 21 9D EE 9C 65 38 A2 D3 F0 2C 0A 02 8B 96 A2 39 | ! e8 , 9
0580 | 95 42 E8 C3 61 64 34 73 65 FF 64 2E 00 4C 75 70 | B ad4se d. Lup
0590 | 75 73 5F 20 53 69 6C 76 32 EE BD 90 FF 0B 28 FF | us_ Silv2 (
05A0 | 0C 00 41 66 79 EE 6A A4 FC 18 EE 09 B5 E7 73 32 | Afy j s2
05B0 | 3F A2 E8 50 36 36 65 11 E8 31 56 65 74 2A F0 E0 | ? P66e 1Vet*
05C0 | F6 0C F7 42 ED 0A 72 D9 EA 69 6C 74 A2 F1 E9 0E | B r ilt
05D0 | E9 E7 EF 6D 6F 6E 75 0B F7 0A 4E C3 6F 77 6A 61 | monu N owja
05E0 | 79 A0 54 74 F9 E1 F5 FB 69 76 B9 F7 69 66 65 2D | y Tt iv ife-
05F0 | 7E A9 E3 6D 20 0A 70 6F D0 55 A1 E8 EE F9 64 70 | ~ m po U dp
0600 | 23 6C 69 6E F7 21 E7 2C 20 CA F7 0A 62 61 9B 63 | #lin ! , ba c
0610 | 6B BA EC 6E 1C BF 22 E1 70 6C BA EE 65 54 FC 66 | k n " pl eT f
0620 | 61 11 EC 76 51 E9 6F ED F9 66 69 C3 B2 E9 20 CD | a vQ o fi
0630 | 74 74 55 6C E1 E9 A1 E0 F9 E1 EB 11 E1 79 94 F5 | ttUl y
0640 | C6 F9 32 20 AB 0A 48 59 EA C1 EF B8 F6 0D B5 32 | 2 HY 2
0650 | B8 F6 20 B7 F7 20 8B E5 7D 64 B1 DD 72 6F 79 65 | }d roye
0660 | 55 C1 EC 3C F7 78 F7 16 01 EC F7 7E F7 20 73 81 | U < x ~ s
0670 | E0 2E 0A 41 FE 09 E1 72 67 65 20 76 6F F5 6C C1 | . A rge vo l
0680 | F6 13 EA 64 61 74 FE C1 EA 72 65 67 61 72 64 6A | dat regardj
0690 | 2B DF 98 FC 09 6B D9 74 AD 2B DB EB D8 0A 43 EB | + k t + C
06A0 | 79 D9 3F 76 61 69 6C 61 62 A8 14 4B D9 C3 E9 59 | y ?vailab K Y
06B0 | DD FF 2E 00 4D 6F 6C 61 65 20 55 56 AA E9 A0 FF | . Molae UV
06C0 | 0B 40 FF 0C 55 E3 E1 53 D6 F1 D4 01 F1 EB FF E7 | @ U S
06D0 | 62 09 D7 F1 D5 70 6F AE B2 D8 6E 20 BB D8 04 FD | b po n
06E0 | A0 66 DA D7 4B DA 7F 70 68 6F 74 6F 6E 2E 98 E2 | f K photon.
06F0 | 65 63 6C 2B D9 DD 76 51 D5 69 B4 DE 52 E8 0A 3A | ecl+ vQ i R :
0700 | D5 BF 72 65 76 65 61 6C F1 D3 DA A9 D5 69 E8 69 | reveal i i
0710 | D1 E7 63 AF 74 75 61 6C 79 D5 89 EE AE EA D3 75 | c tualy u
0720 | 70 F1 E6 21 E3 B6 9C FD 20 42 DF 2D 21 F0 AA 09 | p ! B -!
0730 | F7 72 D1 55 FF 8A D1 43 63 6F CA 65 50 C3 91 D1 | r U Cco eP
0740 | 4B DE E3 DC EB 0A 14 64 6D E1 69 B0 2D 73 68 93 | K dm i -sh
0750 | 61 70 98 41 E7 AA 79 E1 E1 EF 91 D5 BD FB EA 6A | ap A y j
0760 | D0 1A EE 81 D1 72 61 31 6E 2B 72 E9 BA E2 EA 9F | ra1n+r
0770 | EF 2E 00 B5 54 2A DC 99 E6 6E 69 E6 6A 98 FF 0B | . T* ni j
0780 | 38 FF 0B DB CC 63 D1 29 D4 DA F4 F7 72 AB 6F 67 | 8 c ) r og
0790 | B1 CD 94 CF 37 ED D2 B1 DF 23 69 64 DA CA DD C2 | 7 #id
07A0 | DB 64 D1 F7 6C 4B 6F 70 2B F0 CC B1 6A 38 73 3C | d lKop+ j8s<
07B0 | CC 4E C1 CB 75 6C 2B 0A 49 D0 93 E0 B0 2B 61 64 | N ul+ I +ad
07C0 | F9 F6 31 F6 E0 F9 36 6F 6E EA 64 DB F1 C7 61 E8 | 1 6on d a
07D0 | 6E 65 FE CA DC 0A 6F 6E 63 65 2D FA 28 DA 09 C1 | ne once- (
07E0 | F2 6C 65 6E 64 57 6F 72 2E 70 D0 0B 15 D8 CD 49 | lendWor.p I
07F0 | DB 2C F9 0A 24 57 2C 20 68 09 D2 C1 CA AF F1 DC | , $W, h
0800 | 72 65 6D 61 D2 3C F0 EA 8A C9 52 CC DF FC 6D 6F | rema < R mo
0810 | BE D9 CE 73 74 75 6E CA E3 26 B1 CF 61 30 B5 2B | stun & a0 +
0820 | EB 69 D9 61 E6 4D D1 F5 46 49 C3 46 F3 75 49 CB | i a M FI F uI
0830 | 90 FF 0A 30 FF 0B 00 53 D5 E0 C3 0B C2 C8 C1 D7 | 0 S
0840 | 1D C4 2C EA CC DD 4A CB 8A C2 77 65 7E D9 F1 0A | , J we~
0850 | 6B 6E 6F 77 55 D9 EF A1 E1 71 D4 39 D9 55 71 C4 | knowU q 9 Uq
0860 | F2 C6 B9 EC 99 EB F5 52 EC E9 DD 83 CD 0A 63 61 | R ca
0870 | 5E E1 D4 61 62 6F D1 D6 BD F2 CA 6B C6 6D 69 78 | ^ abo k mix
0880 | 42 C3 A4 D2 CA C0 71 EE 5A 99 EE F1 C5 72 14 EC | B q Z r
0890 | AD 62 CC 69 CA 6E 6C C9 32 BF AB 72 67 F3 BE F6 | b i nl 2 rg
08A0 | EE 61 C4 EB 61 72 91 C7 C2 BD 73 2E D7 20 49 74 | a ar s. It
08B0 | 91 E8 A9 EB 64 B6 A9 BD 64 99 F1 20 A9 DC 57 65 | d d We
08C0 | 0A 61 96 D6 68 C0 0C DF 6B C2 65 6E 68 61 29 F3 | a h k enha)
08D0 | 64 6E D9 F1 6F 77 29 C9 65 C5 C1 CC B1 F0 54 75 | dn ow) e Tu
08E0 | AA 79 D3 ED DB E1 C3 71 D8 AC 69 69 E4 AB C0 BA | y q ii
08F0 | B6 BA 1A C4 76 65 A1 CE B6 43 CE 2C A2 BA 0A 29 | ve C , )
0900 | B8 AA 61 F7 E5 F2 74 BC 16 F3 FA 5C D6 31 D2 6F | a t \ 1 o
0910 | 75 72 69 5A 69 C1 71 D8 72 09 E5 EB 00 F3 11 32 | uriZi q r 2
0920 | 00 F3 FF 00 F3 95 67 75 55 65 CD FF 96 FF DA A9 | guUe
0930 | F5 3C FF F3 A9 CA AF 43 2E 41 EF 2E 52 2E 44 E9 | < C.A .R.D
0940 | BC 54 65 7F 63 68 6E 6F 6C 6F 67 B7 99 A9 52 65 | Te chnolog Re
0950 | 71 E3 72 49 B5 BB 0A 4C E1 E7 72 61 41 CF BE E9 | q rI L raA
0960 | A8 6F 6E 62 6F 39 CE AE 40 D9 0B 0A 42 C1 BE 11 | onbo9 @ B
0970 | EC AA 83 AA 61 BE 12 CC F9 BE D6 CA EA 73 51 B0 | a sQ
0980 | 08 FD 15 6D AF 61 64 65 0A C2 A5 8E C4 77 66 61 | m ade wfa
0990 | 63 D1 A9 74 79 F5 9C A6 A9 C2 6A D1 61 68 65 AB | c ty j ahe
09A0 | 61 64 3F DE 23 A7 0B A5 AD 0A 9A B6 70 31 BE 75 | ad? # p1 u
09B0 | BB AA 93 E7 C2 A8 4A DC E9 C9 DE 59 B6 67 65 72 | J Y ger
09C0 | 4B A6 0A 7A 39 CA A2 A2 72 75 6E FF E3 A2 43 68 | K z9 run Ch
09D0 | 69 65 66 20 50 7E 49 AC 61 67 6C 61 73 AF 29 C3 | ief P~I aglas )
09E0 | 43 61 65 19 C7 39 A8 75 54 51 AC 79 E6 66 20 35 | Cae 9 uTQ y f 5
09F0 | 74 FF 80 FF 0F 03 A0 74 5B DC E3 B7 20 AF D0 FD | t t[
0A00 | 59 B9 39 F6 61 6E 69 73 6D AA A1 AA 42 B4 DA A7 | Y 9 anism B
0A10 | D1 D1 AA 49 C2 F1 D4 22 CB F7 C8 3A C2 9E 08 C1 | I " :
0A20 | 09 61 6C AA 56 EA CC D1 AA AB F3 FA 89 A7 2B B0 | al V +
0A30 | 44 6F 6D 65 D5 2E A2 CE E1 BB 64 CD 6D AB 69 74 | Dome . d m it
0A40 | 2A A6 59 B0 73 C1 D6 6A BB 6E 6A AE D1 9E 6D BA | * Y s j nj m
0A50 | B9 BB 0A D4 72 65 C9 A0 AA 49 9C C1 A0 61 CE 02 | re I a
0A60 | B0 55 64 29 C7 C2 9D 5C A8 5B 46 B5 73 02 A2 6D | Ud) \ [F s m
0A70 | F3 99 D5 53 DE 11 AE B1 B0 0A F1 73 75 75 C1 A5 | S suu
0A80 | 2A AB 74 69 F5 3A B9 CB B4 B2 9E 75 70 70 6E 02 | * ti : uppn
0A90 | D1 61 74 61 D2 70 FD 0B 98 9A B7 0A 70 69 63 6B | ata p pick
0AA0 | 7B 75 70 23 98 73 68 75 D5 94 B7 9B A1 48 C8 0B | {up# shu H
0AB0 | 05 F5 32 DA 00 F5 FF 00 F5 57 44 79 E2 72 AB 20 | 2 WDy r
0AC0 | 4F 19 C3 A8 FF 0A 50 FF 0B 55 41 42 C1 A1 A9 9E | O P UAB
0AD0 | 93 55 5A E3 59 8A 93 A7 13 EC AD 99 B6 93 8C 66 | UZ Y f
0AE0 | 91 A9 49 B8 F6 02 8A 61 C1 8A 6F 6D 6E 55 69 D9 | I a omnUi
0AF0 | 9F EA 92 99 9E 6B 32 8C 70 F2 E6 83 8D 6F 55 A2 | k2 p oU
0B00 | BF 05 EB 33 9A 1F 8B D7 00 A6 0D 2D 2D 9C C5 A3 | 3 --
0B10 | B3 65 55 6D E1 AD 8B 91 B2 B1 B5 93 C0 E1 88 51 | eUm Q
0B20 | 96 67 71 B1 B6 81 97 63 81 A2 76 0C FD 51 72 EF | gq c v Qr
0B30 | 8A E5 D4 C0 13 86 E1 B3 75 7A 49 C8 F1 89 66 65 | uzI fe
0B40 | 65 EB 39 A2 67 EA 8F 39 B3 65 73 AF 63 72 69 62 | e 9 g 9 es crib
0B50 | 25 AB 29 C5 56 BD A7 6C 29 93 31 85 AF A9 97 77 | % ) V l) 1 w
0B60 | 68 6F 01 84 A9 9F D5 0A 69 9A E1 87 BA 94 2E DA | ho i .
0B70 | A1 95 02 DE 74 17 B6 61 5A 82 DE 2D DC 72 E1 84 | t aZ - r
0B80 | FB 73 95 62 7A 86 0A 73 69 67 2D 6E 91 B0 63 A2 | s bz sig-n c
0B90 | 84 BB 3B 5C D7 6F 62 19 B0 AB 63 6C 01 DA 25 B0 | ;\ ob cl %
0BA0 | B3 91 AA F1 92 69 E0 04 9C BA 83 AA 06 B8 AA 9A | i
0BB0 | 5B 86 B9 84 7F 56 69 61 20 54 75 62 D5 41 B0 B0 | [ Via Tub A
0BC0 | FF 09 60 FF 09 6B AB 72 AA 2D F7 78 B0 0D E0 B0 | ` k r - x
0BD0 | 0C 41 86 7A 81 F3 59 C3 65 73 3A ED 39 D2 29 7B | A z Y es: 9 ){
0BE0 | 48 D1 8A 2D 53 5B 70 65 AA A7 54 D2 AB FF A9 A7 | H -S[pe T
0BF0 | 4E 65 74 77 6F 72 6B 6A 49 D8 9E DB 8A B0 50 BF | NetworkjI P
0C00 | 04 AF 2E 0A 4C 69 6B 69 D9 AA 49 79 2C D8 4A 85 | . Liki Iy, J
0C10 | 94 D7 55 2C C2 A5 B1 81 C9 96 52 00 1C AE 8A A5 | U, R
0C20 | 55 A9 A5 01 8D 55 DF CB 84 55 39 7A 03 87 3D 85 | U U U9z =
0C30 | D7 DB D5 52 8A 23 97 41 90 00 DA 24 2E 05 00 00 | R # A $.
0C40 | 00 00 00 00 |
I 94711 2022-07-26 00:26:31 - [Commands] Received from C-8 (NO DATA) (version=GC command=C9 flag=00)
0000 | C9 00 18 00 B5 05 00 00 32 00 00 00 00 00 FF FF | 2
0010 | 00 04 00 00 04 FF FF FF |
@@ -3907,79 +3908,76 @@ I 94711 2022-07-26 00:26:37 - [Commands] Received from C-8 (NO DATA) (version=GC
0000 | CA 00 18 00 B3 05 E0 E1 41 00 00 10 FF FF FF FF | A
0010 | 00 00 00 00 58 02 00 00 | X
I 94711 2022-07-26 00:26:37 - [Commands] Sending to C-8 (NO DATA) (version=GC command=6C flag=00)
0000 | 6C 00 84 04 B6 00 00 00 80 04 00 00 41 00 00 00 | l | A
0010 | 58 02 00 00 69 04 00 00 FF 00 00 01 00 00 00 02 | X i
0020 | 58 8F 05 08 05 05 F7 C8 F4 FA DE CC FF 04 02 03 | X
0030 | 80 FF 0C 01 49 01 D3 80 FF 0E BD 00 FF 1E 80 FF | I
0040 | 0B 06 08 07 E0 FC 10 AA 58 FC 10 F0 FE 20 E8 FD | X
0050 | 41 40 FF 16 FF 42 43 44 42 43 44 C8 C6 AF C7 C6 | A@ BCDBCD
0060 | C7 C8 18 FF 10 20 F9 1F AA C3 F5 10 F9 9B 78 FC | x
0070 | 6F 08 F7 0F AA 00 F6 1F 08 F9 AF A0 E7 3E 80 F1 | o >
0080 | BF AA 80 E8 10 00 FF 1E 80 FE 20 80 F0 DE 3E 80 | >
0090 | EF AE FF FF FF FF AA FC CC FF 98 FF 0B 38 FF 17 | 8
00A0 | AA 78 FE 2F F8 FC 5F F8 F9 BF 00 F8 FE AA 00 F8 | x / _
00B0 | FE 00 F8 FE E8 FB 81 00 B0 FE AA 00 B0 FE 00 B0 |
00C0 | FE 00 B0 FE 00 B0 FE AA 00 B0 FE 38 C8 FE 00 F8 | 8
00D0 | FE 00 F8 FE FA 00 F8 FE A8 FF 09 42 3B 99 9A FF | B;
00E0 | 42 95 33 33 42 E6 99 9A FF C0 86 66 66 40 DC CC | B 33B ff@
00F0 | CD E3 42 4E FC F0 00 7F 00 41 A0 00 00 3F 80 C7 | BN A ?
0100 | C0 D5 25 C1 C7 BC 72 F8 C8 32 00 00 C0 1F 83 33 | % r 2 3
0110 | 33 C0 60 A3 EC BD A4 C0 FD 2E E3 42 28 FC 82 66 | 3 ` . B( f
0120 | FF 66 42 D3 66 66 BF CC CC 7F CD 40 33 33 33 41 | fB ff @333A
0130 | 4E F4 F0 C6 FD 66 66 66 8E C0 FD 23 41 B0 B8 1F | N fff #A
0140 | 5C EB 85 42 F1 FF 28 99 99 9A C1 0C CC CD DB 41 | \ B ( A
0150 | 2E C0 FD 0A 40 80 FB 26 1B F8 3C AD 66 66 43 FF | . @ & < ffC
0160 | 14 4C CD C1 46 66 66 C0 B1 D3 70 2C 00 F7 0A 57 | L Fff p, W
0170 | 4C CC CD C0 CC FE 90 FB 8C 7F 62 F3 42 88 CC CD | L b B
0180 | C1 8C DB C1 EB 13 A1 F2 44 A1 F2 4F 8E C0 EB 31 | D O 1
0190 | C2 81 C8 5F 52 CC CD C2 B4 A1 E9 6B 81 E9 3F E2 | _R k ?
01A0 | E8 80 E9 33 1E 8C B8 34 B0 FF CE 33 33 C1 0B 33 | 3 4 33 3
01B0 | 33 3E AE A1 EB 41 59 C0 FD 0A 80 E9 27 F1 9C B8 | 3> AY '
01C0 | 53 99 9A 23 C2 E6 28 8E BC 3F F3 24 8E 80 E9 32 | S # ( ? $ 2
01D0 | 41 A8 6C FF 55 99 9A C3 02 CC CD C0 18 BC C0 D5 | A l U
01E0 | 38 80 FB 0C 80 E9 FE 78 FB 8F C0 6D 26 E1 F0 49 | 8 x m& I
01F0 | 01 F3 C5 71 81 F2 F4 3F E6 BF E1 D2 A7 AE 14 43 | q ? C
0200 | 5C C1 F1 4A 61 F2 82 F2 E8 63 43 43 D8 A8 F1 81 | \ Ja cCC
0210 | F1 F4 41 1B 33 B7 33 40 90 80 F2 0D C0 A2 EB 2D | A 3 3@ -
0220 | 2C C1 EB E4 81 D7 F6 F4 BF A2 EF F8 00 00 E2 C0 | ,
0230 | FD 0C EC 43 27 2F B3 33 C2 C2 C1 D8 E1 DC 94 41 | C'/ 3 A
0240 | D4 AA 80 EF 0D 80 FB 64 51 2B 80 FB 27 C6 63 E9 | dQ+ ' c
0250 | CE 94 5D FB 14 7B A7 CB 3A 8F 5C 43 B2 61 E4 B8 | ] { : \C a
0260 | C5 E2 63 43 02 F0 3C 8B 80 CA 0A 20 20 E7 12 B8 | cC <
0270 | 6D C2 C0 FD 0A 41 C0 FD 16 C2 AB C0 FD 0A 41 C0 | m A A
0280 | FD 12 90 77 FB 40 E6 87 7F 4E 65 62 75 6C 61 20 | w @ Nebula
0290 | F5 91 BB 20 FB 09 65 FF 4D 6F 6E AF 74 61 6E 61 | e Mon tana
02A0 | 60 FF 12 65 FF FE A0 F8 27 54 68 65 20 68 69 FF | ` e 'The hi
02B0 | 67 68 20 70 6F 69 6E 74 FF 20 0A 6F 66 20 47 61 | gh point of Ga
02C0 | 6C FF 2D 44 61 2D 56 61 6C 20 FF 0A 49 73 6C 61 | l -Da-Val Isla
02D0 | 6E 64 2C ED 20 ED FC 0A E5 FC 20 6F FF 66 66 65 | nd, o ffe
02E0 | 72 73 20 0A 61 FF 20 62 65 61 75 74 69 66 7F 75 | rs a beautif u
02F0 | 6C 20 76 69 65 77 8E BF 74 AC 3F 65 6E 74 69 72 | l view t ?entir
0300 | 65 3E DF 72 65 61 20 1E BD 20 69 74 FF D1 72 69 | e> rea it ri
0310 | 63 68 20 6E 61 A7 74 75 72 A3 65 7F 6E 76 69 72 | ch na tur e nvir
0320 | 6F 6E 6D 8C D4 2E 95 FF 74 27 73 20 61 6C 73 6F | onm . t's also
0330 | 7F 20 61 20 70 72 69 6D FC C3 6C 6F 63 61 74 FF | a prim locat
0340 | 69 6F 6E 20 74 6F 20 67 FF 65 74 20 61 0A 63 6C | ion to g et a cl
0350 | 6F FF 73 65 20 6C 6F 6F 6B 20 91 61 52 E2 96 72 | o se look aR r
0360 | 9D 20 62 47 69 72 64 A0 E9 1D FC 8B 2C 20 0A E7 | bGird ,
0370 | 62 75 74 F1 0A 7F 66 6F 6F 74 68 6F 6C A4 DE D4 | but foothol
0380 | 0A 1F 71 75 69 74 65 FF 9C 65 63 61 72 69 6F 75 | quite ecariou
0390 | C7 73 2C 0A 8B 63 84 39 95 E9 69 2A 64 76 69 EF | s, c 9 i*dvi
03A0 | 73 65 64 2E 28 7A 73 26 01 55 8F F8 EB 57 38 E9 | sed.(zs& U W8
03B0 | 57 80 FA 58 55 95 E3 B8 C2 FE 60 F4 6C 60 F7 FE | W XU ` l`
03C0 | 55 00 F7 FE F8 F6 FE 80 F3 FE 88 F3 FE 55 80 F3 | U U
03D0 | FE 60 F3 D5 60 F1 3F 00 FC 7E 55 E0 F7 FE E0 F7 | ` ` ? ~U
03E0 | FE E0 F7 FE E0 F7 FE 55 E0 F7 FE E0 F7 FE E0 F7 | U
03F0 | FE E0 F7 FE 55 E0 F7 FE E0 F7 FE E0 F7 FE E0 F7 | U
0400 | FE 55 70 90 FE 00 F8 FE 00 F8 FE 00 7E FE 55 60 | Up ~ U`
0410 | D7 FE E0 F7 FE E0 F7 FE E0 F7 FE 55 E0 F7 FE E0 | U
0420 | F7 FE E0 F7 FE E0 F7 FE 55 E0 F7 FE E0 F7 FE E0 | U
0430 | F7 FE E0 F7 FE 55 00 7E FE F8 8A FE 00 F8 FE 00 | U ~
0440 | 7E FE 55 60 D7 FE E0 F7 FE E0 F7 FE E0 F7 FE 55 | ~ U` U
0450 | E0 F7 FE E0 F7 FE E0 F7 FE E0 F7 FE 55 E0 F7 FE | U
0460 | E0 F7 FE E0 F7 FE E0 F7 FE 55 00 7E FE 78 8D FE | U ~ x
0470 | 00 F8 FE 00 F8 FE 57 60 E4 15 09 00 48 E4 3C 00 | W` H <
0480 | 00 00 00 00 |
0000 | 6C 00 5C 04 B6 00 00 00 58 04 00 00 41 00 00 00 | l \ X A
0010 | 58 02 00 00 41 04 00 00 87 00 00 01 FD 00 3F 02 | X A ?
0020 | 58 05 08 05 05 A2 F7 F4 D4 FF 7C F4 04 02 03 27 | X | '
0030 | 60 FF 0C 01 01 D3 F5 80 FF 0F 00 FF 1F 48 FD 09 | ` H
0040 | 06 08 07 AA E0 FC 10 58 FC 10 F0 FE 21 E0 FD 43 | X ! C
0050 | 1E C0 FB 13 42 43 44 0F FD C8 C6 C7 FE 55 C8 A0 | BCD U
0060 | F7 10 20 F8 1F C3 F5 55 10 F9 9B 30 F4 6F 08 F7 | U 0 o
0070 | 0F 00 F6 1F 55 08 F9 AF A0 E7 3E 80 F1 BF 80 E8 | U >
0080 | 10 D5 00 FF 1F 00 FE 1F 80 F0 DE 00 E8 AE FF 81 |
0090 | FF FE 54 FC C6 FF 80 FF 0F 00 FF 1F 55 00 FE 3F | T U ?
00A0 | 00 FC 7F 00 F8 FF 00 F0 FF 55 00 E8 FF 00 E0 FF | U
00B0 | 00 B0 FF 00 B0 FF 55 00 B0 FF 00 B0 FF 00 B0 FF | U
00C0 | 00 B0 FF D5 00 A8 FF 00 A0 FF 00 98 FF 00 90 FF |
00D0 | 42 FF 3B 99 9A 42 95 33 33 42 E1 E6 F8 C0 86 66 | B ; B 33B f
00E0 | 7F 66 40 DC CC CD 42 4E FC FC F0 00 00 41 A0 EF | f@ BN A
00F0 | 00 00 3F 80 B0 59 25 C1 C7 18 BC 72 3F C4 32 00 | ? Y% r? 2
0100 | 00 C0 83 8C B0 C0 60 EC D1 BD A4 C0 FD 2E 42 0D | ` .B
0110 | 28 01 5B 82 78 C3 42 D3 74 BF CC 10 74 40 8E 65 | ( [ x B t t@ e
0120 | 33 41 4E F0 42 86 FB 5D 66 F7 20 55 23 41 B0 C1 | 3AN B ]f U#A
0130 | 58 5C EB 85 63 42 F1 28 99 18 1C C1 0C B6 28 41 | X\ cB ( (A
0140 | 2E C0 FD 0A 40 A0 56 26 FD 1B 01 F7 AD 66 66 43 | . @ V& ffC
0150 | 14 FF 4C CD C1 46 66 66 C0 D3 D8 70 2C 00 F7 0A | L Fff p,
0160 | 4C AB CC CD C0 7C FF E0 75 8B 62 EA BF 42 88 CC | L | u b B
0170 | CD C1 8C C1 EB 6D 13 21 EE 44 81 E9 4F F7 C0 EB | m ! D O
0180 | 31 C2 81 C1 E7 52 CC CD 6B C2 B4 A1 E9 81 E9 3F | 1 R k ?
0190 | 6D E2 E8 80 E9 33 1E 81 E5 34 FC B0 CE 33 33 C1 | m 3 4 33
01A0 | 0B 77 33 33 3E A1 EB 41 59 ED 40 E7 0A 80 E9 27 | w33> AY @ '
01B0 | 9C 41 E3 53 99 D7 9A C2 E6 01 E5 81 E9 3F 75 F3 | A S ?u
01C0 | 41 E7 80 E9 32 41 A8 FF 01 40 55 99 9A C3 02 CC | A 2A @U
01D0 | CD B1 C0 BC C0 01 E1 EA 80 FB 0C 80 E9 FF 78 5F | x_
01E0 | 8E C0 26 B6 A1 D7 49 E1 D2 C5 81 F2 B8 F4 3F E6 | & I ?
01F0 | E1 D2 5F A7 AE 14 43 5C C1 31 A5 E1 D2 02 DC DC | _ C\ 1
0200 | 43 2D 43 61 D6 A8 41 D4 FE D0 41 1B 33 33 40 90 | C-Ca A A 33@
0210 | B6 D0 28 0D C0 42 30 2C 41 E9 B5 E4 C1 D0 B1 27 | ( B0,A '
0220 | BF E2 D6 D7 F8 00 00 C0 FD 0C F1 26 43 5F 27 B3 | &C_'
0230 | 33 C2 C2 C1 D8 C2 DC 94 41 55 D4 00 D9 0D 80 FB | 3 AU
0240 | 64 51 2B ED 80 FB 27 A3 D0 CE 81 CE 5D 14 7D 7B | dQ+ ' ] }{
0250 | A7 CB 3A 8F 5C 43 D9 61 E4 B8 05 CA 43 6D 02 41 | : \C a Cm A
0260 | 28 3C 80 CA 0A 20 B1 60 CE 12 B8 C2 C0 FD 0A 6D | (< ` m
0270 | 41 C0 FD 16 C2 C0 FD 0A 41 F5 C0 FD 12 F8 26 FB | A A &
0280 | 80 45 87 4E 65 62 AF 75 6C 61 20 91 BB 90 10 09 | E Neb ula
0290 | FE 65 FF 4D 6F 6E 74 61 6E F5 61 60 FF 13 50 12 | e Montan a` P
02A0 | 2D 54 68 65 FF 20 68 69 67 68 20 70 6F E1 69 AD | -The high po i
02B0 | 20 0A 6F FF 66 20 47 61 6C 2D 44 61 03 2D 56 F9 | o f Gal-Da -V
02C0 | 0C F1 49 73 7F 6F 6E 64 2C 20 AD FB 0A C3 45 FC | Is ond, E
02D0 | 20 D9 66 65 03 72 73 D1 FC 62 62 65 61 75 74 69 | fe rs bbeauti
02E0 | E1 66 57 20 76 69 73 65 77 BF 74 0C AC 65 60 03 | fW visew t e`
02F0 | 69 72 A5 00 DF FB E0 3E BD 20 69 F1 74 D1 72 69 | ir > i t ri
0300 | 63 00 96 49 27 74 75 72 A3 80 DC CD 72 10 37 6D | c I'tur r 7m
0310 | E3 D4 2E 95 74 27 00 AF 85 03 73 6F D1 00 73 D7 | . t' so s
0320 | C0 EA 73 6C 6F 21 63 D4 69 00 15 AE 0C EB 67 65 | slo!c i ge
0330 | 62 87 61 0A 63 ED 73 00 4F E8 03 6F 6B AB 12 52 | b a c s O ok R
0340 | 96 60 B5 98 62 88 93 64 71 12 1D FC 8B 0C 4C 0A | ` b dq L
0350 | 62 67 3C 74 0A 66 C0 D0 6C 6F 6C 48 DE D4 07 0A | bg<t f lolH
0360 | 71 75 73 80 0A 9C 65 00 A2 6F 1F 6F 75 73 2C 0A | qus e o ous,
0370 | 01 8B 96 31 39 95 69 05 2A 64 34 D8 99 64 2E B0 | 19 i *d4 d.
0380 | 13 73 26 AB 01 8F 78 31 57 B8 2E 57 80 FA 58 AA | s& x1W .W X
0390 | 15 29 F8 28 FF A0 F1 6B 60 F7 FF AA 60 EE FF A0 | ) ( k` `
03A0 | 0D FF E0 E1 FF 60 D5 FF AA 08 00 FF C0 C8 CF 18 | `
03B0 | 37 3F 00 FC 7F AA E0 F7 FF C0 EF FF A0 E7 FF 80 | 7?
03C0 | DF FF AA 60 D7 FF 40 CF FF 20 C7 FF 00 BF FF AA | ` @
03D0 | E0 B6 FF C0 AE FF A0 A6 FF 80 9E FF AA 60 04 FF | `
03E0 | E0 12 FF E0 0A FF 00 7E FF AA 00 7E FF E0 75 FF | ~ ~ u
03F0 | C0 6D FF A0 65 FF AA 80 5D FF 60 55 FF 40 4D FF | m e ] `U @M
0400 | 20 45 FF AA 00 3D FF E0 34 FF C0 2C FF A0 24 FF | E = 4 , $
0410 | AA E0 09 FF 68 03 FF 88 6F FF 00 7E FF AA 20 04 | h o ~
0420 | FF 20 04 FF 20 04 FF 20 04 FF AA 20 04 FF 20 04 |
0430 | FF 20 04 FF 20 04 FF AA 20 04 FF 20 04 FF 20 04 |
0440 | FF A0 24 FF AA 00 7E FF 08 00 FF 08 00 FF E0 7C | $ ~ |
0450 | E4 2B 09 00 C8 00 3C 00 00 00 00 00 | + <
I 94711 2022-07-26 00:26:38 - [Commands] Received from C-8 (NO DATA) (version=GC command=C9 flag=00)
0000 | C9 00 18 00 B5 05 30 B9 32 00 00 80 00 00 FF FF | 0 2
0010 | 00 01 02 00 01 E6 DE 50 | P