diff --git a/Logistic.py b/Logistic.py new file mode 100644 index 0000000..4884608 --- /dev/null +++ b/Logistic.py @@ -0,0 +1,167 @@ +from tqdm import tqdm +import re +import math +from math import log, exp +from sklearn.datasets import fetch_20newsgroups +import gensim +import torch +import gensim.downloader as api +import matplotlib.pyplot as plt +from gensim.models.word2vec import Word2Vec + +corpus = api.load('text8') +w2v = Word2Vec(corpus) +TRAINING_MODE = False +DEVICE = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') + +obfuscator = re.compile('[\\[?.,!()\\]*&^%$#@{}|\\\\/~\\- \t\n]+') + +MAX_SENTENCE_LEN = 128 +NUM_CATEGORIES = 2 +BATCH_SIZE = 256 + + +def tokenize(txt): + return [token.lower() for token in obfuscator.sub(' ', txt).split()] + + +class NetL2(torch.nn.Module): # This model got much better performance + + def __init__(self): + super(NetL2, self).__init__() + self.fc1 = torch.nn.Linear(w2v.wv.vector_size * MAX_SENTENCE_LEN, 512) + self.fc2 = torch.nn.Linear(512, 2) + + def forward(self, x): + x = x.reshape(-1, w2v.wv.vector_size * MAX_SENTENCE_LEN) + x = self.fc1(x) + x = torch.relu(x) + x = self.fc2(x) + x = torch.log_softmax(x, dim=1) + return x + + +class NetL1(torch.nn.Module): # This model did not learn well enough + + def __init__(self): + super(NetL1, self).__init__() + self.fc = torch.nn.Linear(w2v.wv.vector_size * MAX_SENTENCE_LEN, 2) + + def forward(self, x): + x = x.reshape(-1, w2v.wv.vector_size * MAX_SENTENCE_LEN) + x = self.fc(x) + x = torch.log_softmax(x, dim=1) + return x + + +model = NetL2().to(DEVICE) + + +def collate(batch: [(str, int)]): + inputs = torch.zeros(len(batch), w2v.wv.vector_size, MAX_SENTENCE_LEN) + outputs = torch.zeros(len(batch), dtype=torch.long) + for i, (sentence, expected) in enumerate(batch): + outputs[i] = expected + for j, word in enumerate(sentence[:MAX_SENTENCE_LEN]): + if word in w2v.wv: + vec = w2v.wv[word] + inputs[i, :, j] = torch.from_numpy(vec) + return inputs, outputs + + +def infer(data_dir): + with open(data_dir + '/in.tsv') as fd, open(data_dir + '/out.tsv', 'w+') as ex: + for line in tqdm(fd, desc="inferring " + data_dir): + comment, _ = line.split('\t') + comment = tokenize(comment) + comment, _ = collate([(comment, 0)]) + comment = comment.to(DEVICE) + predicetd = model(comment).argmax(dim=1).item() + ex.write(str(predicetd) + '\n') + + +if TRAINING_MODE: + + DATA = [] + + with open('train/in.tsv') as fd, open('train/expected.tsv') as ex: + k = 0 + for line, result in tqdm(zip(fd, ex), desc="preprocessing", total=289579): + result = int(result) + comment, _ = line.split('\t') + DATA.append((tokenize(comment), result)) + k+=1 + if k == -1: + break + + TEST_DATA = [] + + with open('dev-0/in.tsv') as fd, open('dev-0/expected.tsv') as ex: + k = 0 + for line, result in tqdm(zip(fd, ex), desc="test preprocessing", total=5272): + result = int(result) + comment, _ = line.split('\t') + TEST_DATA.append((tokenize(comment), result)) + k += 1 + if k == -1: + break + + dataloader = torch.utils.data.DataLoader(dataset=DATA, collate_fn=collate, batch_size=BATCH_SIZE, shuffle=True, + drop_last=True) + test_dataloader = torch.utils.data.DataLoader(dataset=TEST_DATA, collate_fn=collate, batch_size=BATCH_SIZE, shuffle=True, + drop_last=True) + + criterion = torch.nn.NLLLoss() + optimizer = torch.optim.Adam(model.parameters()) + bar = tqdm(total=len(DATA), desc="training", position=0) + test_bar = tqdm(total=len(TEST_DATA), desc="testing", position=0) + avg_losses = [] + accuracies = [] + test_accuracies = [] + for epoch in range(1000): + avg_loss = 0 + bar.reset() + accuracy = 0 + test_accuracy = 0 + total = 0 + for in_batch, out_batch in dataloader: + in_batch = in_batch.to(DEVICE) + outputs = model(in_batch) + out_batch = out_batch.to(DEVICE) + loss = criterion(outputs, out_batch) + optimizer.zero_grad() + loss.backward() + optimizer.step() + avg_loss += loss.item() * BATCH_SIZE + bar.update(BATCH_SIZE) + accuracy += (outputs.argmax(dim=1) == out_batch).sum().item() + total += BATCH_SIZE + avg_losses.append(avg_loss / total) + accuracies.append(accuracy / total) + test_bar.reset() + total = 0 + for in_batch, out_batch in test_dataloader: + in_batch = in_batch.to(DEVICE) + outputs = model(in_batch) + out_batch = out_batch.to(DEVICE) + test_bar.update(BATCH_SIZE) + test_accuracy += (outputs.argmax(dim=1) == out_batch).sum().item() + total += BATCH_SIZE + test_accuracies.append(test_accuracy / total) + plt.clf() + plt.plot(avg_losses, label='avg loss') + plt.plot(accuracies, label='accuracy') + plt.plot(test_accuracies, label='test accuracy') + print("epoch: "+str(epoch)) + print("avg loss: " + str(avg_losses[-1])) + print("accuracy: " + str(accuracies[-1])) + print("test accuracy: " + str(test_accuracies[-1])) + print() + plt.legend() + plt.pause(0.0001) + torch.save(model.state_dict(), 'l2_epoch_' + str(epoch) + ".pth") + infer('dev-0') +else: + model.load_state_dict(torch.load('l2_epoch_0.pth')) + model.eval() + infer('test-A') diff --git a/README.md b/README.md index 8c928a6..e288e36 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,22 @@ Classify a reddit as either from Skeptic subreddit or one of the Output label is the probability of a paranormal subreddit. +# Pytorch logistic regression + +The code can be found in Logistic.py +Trained models end with .pth extension. +Geval results: + +``` +$ ./geval -t dev-0 +Likelihood 0.0000 +Accuracy 0.7043 +F1.0 0.4950 +Precision 0.6257 +Recall 0.4094 +``` + + Sources ------- diff --git a/dev-0/out.tsv b/dev-0/out.tsv index f4dba94..613bcbd 100644 --- a/dev-0/out.tsv +++ b/dev-0/out.tsv @@ -1,5 +1,4 @@ 0 -0 1 0 0 @@ -7,31 +6,32 @@ 0 0 0 +1 0 0 0 0 -1 -0 -1 0 0 0 1 0 -0 -0 1 1 0 1 0 0 +1 +0 0 +1 0 1 0 +1 0 +1 0 0 0 @@ -48,18 +48,18 @@ 0 0 0 -0 -0 1 0 1 0 +1 0 0 0 0 0 1 +1 0 0 0 @@ -73,14 +73,7 @@ 0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 +1 0 0 0 @@ -92,20 +85,27 @@ 0 0 0 +1 0 +1 +1 0 -0 -0 +1 0 0 0 1 +1 +1 0 0 +1 +1 0 0 +1 0 -0 +1 0 0 0 @@ -114,12 +114,12 @@ 0 0 1 -0 +1 0 0 0 1 -0 +1 0 0 0 @@ -131,12 +131,12 @@ 0 1 0 -0 -0 1 0 +1 0 0 +1 0 1 0 @@ -144,7 +144,7 @@ 1 1 0 -0 +1 0 0 1 @@ -156,10 +156,13 @@ 0 1 0 -0 +1 0 0 1 +1 +1 +1 0 0 0 @@ -169,13 +172,10 @@ 0 0 0 -1 -0 0 0 0 0 -1 0 0 0 @@ -192,7 +192,7 @@ 0 0 0 -0 +1 0 0 0 @@ -204,62 +204,58 @@ 0 0 0 -1 -0 0 0 +1 0 0 0 0 0 1 -0 1 0 0 0 0 0 -1 0 0 0 -1 0 -1 0 0 +1 0 1 0 0 0 +1 0 1 0 0 1 -1 0 0 1 0 0 0 +1 0 0 0 0 0 -1 0 +1 0 0 0 0 0 -1 0 0 0 @@ -268,16 +264,15 @@ 0 0 0 -1 0 0 0 0 +1 0 0 0 0 -1 0 0 0 @@ -295,6 +290,7 @@ 0 0 0 +1 0 0 0 @@ -303,11 +299,9 @@ 0 0 0 -1 0 0 0 -1 0 0 0 @@ -322,17 +316,19 @@ 0 0 0 +0 +0 +0 1 0 0 0 0 -1 0 0 0 0 -1 +0 0 0 0 @@ -343,6 +339,7 @@ 0 0 0 +1 0 0 0 @@ -354,12 +351,12 @@ 0 0 0 -1 0 0 0 0 0 +1 0 0 0 @@ -372,27 +369,27 @@ 0 0 0 -1 0 0 0 1 -1 0 +1 0 0 +1 0 0 0 -1 0 -1 0 0 0 0 +1 0 0 +1 0 0 0 @@ -409,21 +406,24 @@ 0 1 0 +1 0 0 0 0 1 0 -0 1 0 +1 +1 0 0 0 0 1 -0 +1 +1 0 0 0 @@ -442,7 +442,7 @@ 0 0 0 -0 +1 0 0 0 @@ -461,7 +461,7 @@ 0 0 1 -0 +1 0 0 0 @@ -485,7 +485,9 @@ 0 0 0 +1 0 +1 0 0 0 @@ -496,11 +498,13 @@ 0 0 0 +1 0 0 0 0 0 +1 0 0 0 @@ -509,25 +513,28 @@ 0 0 0 +1 0 +1 0 0 0 1 -0 1 0 0 0 0 +1 0 0 +1 +1 0 0 0 1 -0 -0 +1 1 0 0 @@ -535,76 +542,87 @@ 0 0 0 -1 -0 -0 0 -1 0 0 0 0 1 +1 +1 0 0 0 0 -1 -0 0 1 0 -0 -0 1 0 0 1 -1 0 0 0 +1 0 0 0 +1 0 0 0 0 0 +1 0 0 0 +1 +1 +1 0 +1 0 +1 0 0 0 0 +1 0 0 0 0 +1 0 0 0 0 +1 0 0 +1 +1 0 0 +1 0 +1 +1 0 0 0 0 0 +1 0 0 0 0 0 0 +1 0 0 0 @@ -619,7 +637,7 @@ 0 0 0 -0 +1 0 1 1 @@ -627,48 +645,28 @@ 0 0 0 -0 -0 -0 1 0 0 0 0 0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 1 -0 1 -0 -0 1 0 1 -0 -0 1 0 0 0 0 -0 -0 -0 1 0 0 @@ -682,15 +680,11 @@ 0 0 0 -1 0 0 1 0 0 -0 -0 -0 1 0 0 @@ -703,23 +697,24 @@ 0 0 0 -1 0 0 0 0 0 -1 0 1 0 0 0 0 +1 +1 0 1 0 0 +1 0 0 1 @@ -728,9 +723,8 @@ 0 0 0 -1 -0 0 +1 0 0 0 @@ -739,9 +733,6 @@ 0 0 0 -1 -0 -0 0 1 0 @@ -749,11 +740,10 @@ 0 0 0 -1 -1 0 0 0 +1 0 0 0 @@ -766,10 +756,6 @@ 0 0 0 -1 -0 -0 -1 0 0 1 @@ -781,21 +767,30 @@ 0 0 0 +0 +1 1 0 0 1 0 +1 0 0 +1 +1 +1 0 1 1 +1 +1 0 0 0 -1 0 +1 +1 0 0 1 @@ -809,6 +804,11 @@ 0 1 1 +1 +1 +0 +1 +0 0 0 1 @@ -834,42 +834,42 @@ 0 0 1 +1 0 0 0 0 1 -1 0 1 -1 -0 0 0 0 0 0 1 +1 0 0 0 0 0 0 +1 0 +1 0 0 0 -0 -0 +1 0 0 0 0 0 1 -0 -0 +1 +1 1 0 0 @@ -891,23 +891,28 @@ 0 0 1 -0 -1 1 0 1 0 +1 +1 +1 0 +1 0 0 +1 0 +1 +1 0 0 0 +1 0 0 -0 -0 +1 0 0 0 @@ -916,17 +921,20 @@ 0 1 0 -1 0 0 0 0 +1 0 0 1 +1 0 +1 0 0 +1 0 0 0 @@ -935,14 +943,16 @@ 0 0 0 +1 0 +1 0 0 0 0 0 0 -0 +1 0 0 1 @@ -951,6 +961,7 @@ 0 0 0 +1 0 0 1 @@ -963,18 +974,22 @@ 0 1 0 +1 +1 0 0 +1 +1 +1 0 0 0 +1 0 0 0 0 -1 0 -1 0 0 0 @@ -983,8 +998,6 @@ 0 0 0 -1 -0 0 0 0 @@ -1005,21 +1018,8 @@ 0 0 0 +1 0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -1 1 0 0 @@ -1030,56 +1030,22 @@ 1 0 0 -0 -0 -0 1 0 0 1 0 +0 1 0 0 0 0 1 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 1 0 0 @@ -1095,13 +1061,7 @@ 0 0 0 -0 -0 -0 -0 -0 -0 -0 +1 0 0 0 @@ -1111,9 +1071,6 @@ 0 0 0 -0 -0 -0 1 0 0 @@ -1126,56 +1083,30 @@ 0 0 0 -0 -0 1 0 1 0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 0 0 0 0 0 0 +1 0 0 0 0 +1 0 0 +1 0 0 0 0 +1 0 0 0 @@ -1183,44 +1114,134 @@ 0 0 0 +1 0 0 +1 0 0 +1 +1 0 0 0 0 0 0 +1 0 0 0 +1 0 0 0 0 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 0 0 0 +1 0 0 0 +1 0 0 0 +1 0 +1 +1 0 0 0 0 0 0 +1 0 1 0 0 0 +1 0 0 0 @@ -1231,22 +1252,22 @@ 0 0 0 -0 -0 -0 -0 1 0 +1 0 0 +1 0 1 1 +1 0 +1 0 +1 0 -0 -0 +1 0 1 0 @@ -1255,25 +1276,24 @@ 1 0 0 -0 1 1 -0 1 0 0 -0 -0 +1 0 0 0 1 0 +1 0 0 0 0 1 +1 0 0 0 @@ -1281,14 +1301,14 @@ 0 0 0 -1 0 0 0 +1 +0 0 0 0 -1 0 0 0 @@ -1300,6 +1320,7 @@ 0 1 0 +1 0 0 0 @@ -1312,13 +1333,13 @@ 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 @@ -1331,10 +1352,10 @@ 0 0 0 -1 0 0 0 +1 0 0 0 @@ -1345,6 +1366,7 @@ 0 0 0 +1 0 0 0 @@ -1355,7 +1377,6 @@ 0 0 0 -1 0 0 0 @@ -1363,12 +1384,9 @@ 0 1 0 -0 -0 -0 -0 1 0 +1 0 0 0 @@ -1380,32 +1398,31 @@ 0 0 0 +1 0 -0 +1 0 0 0 1 0 0 -0 +1 0 1 0 0 0 -1 -0 0 +1 0 0 0 -1 0 0 0 1 -0 +1 0 0 0 @@ -1421,12 +1438,8 @@ 0 0 0 -0 -1 1 0 -0 -0 1 0 0 @@ -1435,36 +1448,23 @@ 0 0 1 -1 -0 0 1 -1 -1 -0 -0 -0 -0 -0 -0 -0 0 1 -0 1 1 1 1 1 -0 -0 -0 +1 0 1 0 0 0 0 +1 0 0 0 @@ -1472,7 +1472,6 @@ 0 0 1 -1 0 0 0 @@ -1486,6 +1485,7 @@ 0 0 0 +1 0 0 0 @@ -1500,16 +1500,13 @@ 0 1 0 -0 +1 0 0 0 1 1 -0 -0 -0 -0 +1 0 0 0 @@ -1528,25 +1525,27 @@ 0 1 1 -0 -0 1 0 +1 0 +1 +1 +1 0 1 +1 0 +1 0 0 0 0 1 1 -1 -0 -0 0 0 +1 0 0 0 @@ -1558,6 +1557,7 @@ 0 0 0 +1 0 0 0 @@ -1567,21 +1567,21 @@ 0 0 1 -0 1 -0 -0 1 0 0 -0 -0 +1 +1 1 0 1 1 0 0 +1 +0 +0 0 0 0 @@ -1601,16 +1601,14 @@ 0 0 1 -1 0 0 0 0 0 1 -0 -0 -0 +1 +1 0 0 0 @@ -1622,17 +1620,18 @@ 0 1 0 +1 0 0 0 0 1 +1 0 0 0 0 0 -1 0 0 0 @@ -1649,7 +1648,6 @@ 0 0 0 -1 0 0 1 @@ -1658,6 +1656,8 @@ 0 0 0 +1 +0 0 0 1 @@ -1668,32 +1668,32 @@ 0 0 1 -1 0 -1 0 -1 0 0 +1 0 0 0 +1 0 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 0 0 +1 0 0 0 @@ -1702,19 +1702,19 @@ 0 1 0 +1 0 0 0 0 -0 -0 -0 +1 +1 +1 0 0 0 0 1 -1 0 0 0 @@ -1732,20 +1732,20 @@ 0 0 0 +1 0 0 0 0 0 0 -0 -0 -0 +1 0 1 0 0 0 +0 1 1 1 @@ -1755,27 +1755,15 @@ 1 1 1 -0 -1 -1 -1 -1 -0 1 0 0 -1 0 0 0 0 0 -0 -1 1 -0 -0 -0 1 0 0 @@ -1783,13 +1771,6 @@ 0 0 0 -0 -0 -0 -0 -0 -0 -0 1 0 0 @@ -1799,11 +1780,6 @@ 0 0 0 -0 -0 -0 -0 -0 1 0 0 @@ -1819,10 +1795,13 @@ 0 0 0 +1 0 0 +1 0 0 +1 0 0 0 @@ -1831,11 +1810,10 @@ 0 0 0 +1 0 -0 -0 -0 -0 +1 +1 0 0 0 @@ -1846,6 +1824,9 @@ 0 0 1 +1 +1 +0 0 0 0 @@ -1859,23 +1840,28 @@ 0 1 0 +1 0 0 1 +1 0 0 0 +1 0 0 0 0 +1 +0 0 0 -1 1 0 0 0 +1 0 0 0 @@ -1884,6 +1870,7 @@ 0 0 0 +1 0 0 0 @@ -1896,15 +1883,18 @@ 0 0 1 -1 0 +1 +1 0 0 0 +1 0 1 0 0 +0 1 0 0 @@ -1912,11 +1902,12 @@ 0 0 0 +1 0 0 +1 0 0 -1 0 0 0 @@ -1925,35 +1916,42 @@ 0 0 0 -1 0 0 0 0 0 0 -1 0 0 0 +1 0 +1 0 0 0 0 0 +1 0 0 0 +1 0 0 +1 +1 0 +1 0 0 0 0 +1 0 0 +1 0 1 0 @@ -1965,7 +1963,8 @@ 0 0 0 -1 +0 +0 1 1 0 @@ -1978,27 +1977,24 @@ 0 1 0 +1 +1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -0 0 1 0 +1 0 1 1 0 0 -0 +1 1 0 0 @@ -2009,24 +2005,28 @@ 0 0 0 +1 +1 0 +1 0 +1 0 0 0 1 0 0 -0 +1 1 1 0 +1 0 0 0 -0 -0 -0 +1 +1 0 1 0 @@ -2045,6 +2045,7 @@ 0 0 0 +1 0 0 0 @@ -2054,7 +2055,6 @@ 0 0 0 -1 0 0 0 @@ -2070,12 +2070,12 @@ 0 1 0 -1 0 0 0 1 1 +1 0 0 1 @@ -2094,11 +2094,11 @@ 0 0 0 -1 -1 0 0 +1 0 +1 0 0 0 @@ -2107,17 +2107,17 @@ 0 0 0 +1 +1 0 0 0 +1 0 0 0 0 1 -1 -0 -0 0 0 0 @@ -2125,6 +2125,7 @@ 0 0 0 +1 0 0 0 @@ -2136,18 +2137,17 @@ 0 0 0 -0 -0 +1 0 1 0 0 +1 0 0 0 0 0 -1 0 1 0 @@ -2156,8 +2156,6 @@ 0 0 0 -0 -0 1 0 0 @@ -2166,7 +2164,6 @@ 0 0 0 -0 1 0 0 @@ -2174,32 +2171,33 @@ 0 0 1 -1 0 0 +1 0 0 0 0 0 -1 0 +1 0 0 0 0 0 0 +1 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 @@ -2211,6 +2209,8 @@ 0 0 0 +1 +1 0 0 1 @@ -2221,25 +2221,23 @@ 0 0 0 +1 +0 0 0 0 0 -1 1 0 0 0 -1 0 0 +1 0 0 0 -1 -1 0 -1 0 0 0 @@ -2247,6 +2245,8 @@ 0 0 0 +1 +0 0 0 0 @@ -2262,9 +2262,8 @@ 1 1 0 -0 -0 1 +0 1 0 0 @@ -2274,6 +2273,7 @@ 0 0 0 +0 1 0 0 @@ -2292,7 +2292,7 @@ 0 0 1 -0 +1 0 1 0 @@ -2306,6 +2306,7 @@ 1 0 0 +1 0 0 0 @@ -2316,19 +2317,19 @@ 0 0 0 +1 0 +1 0 0 0 +1 0 0 0 -1 -0 0 1 0 -1 0 0 0 @@ -2340,36 +2341,34 @@ 0 1 0 -0 +1 +1 1 0 0 +1 0 0 0 0 0 +1 0 0 +1 0 0 0 0 -1 -0 -0 0 0 1 -0 1 1 0 -0 -0 -0 1 0 +1 0 0 0 @@ -2379,25 +2378,21 @@ 0 0 0 -1 -0 0 0 -1 0 0 0 1 0 -1 +0 0 0 1 1 0 0 -0 -0 +1 1 0 0 @@ -2408,27 +2403,32 @@ 0 0 0 -1 0 0 0 0 0 +1 0 0 +1 0 +1 0 0 0 +1 0 +1 +1 0 0 1 0 1 +1 0 -0 -0 +1 0 0 0 @@ -2443,16 +2443,16 @@ 0 0 1 -0 +1 0 0 0 1 0 -1 0 0 1 +1 0 0 0 @@ -2467,7 +2467,6 @@ 0 0 0 -1 0 0 0 @@ -2478,8 +2477,7 @@ 0 0 0 -1 -1 +0 0 0 0 @@ -2491,6 +2489,8 @@ 0 1 0 +1 +1 0 0 0 @@ -2499,29 +2499,28 @@ 0 0 1 -0 -0 -0 +1 0 1 +0 1 0 0 0 -1 0 +1 0 0 -1 0 0 0 -1 0 0 1 +1 0 -0 +1 +1 0 0 0 @@ -2530,7 +2529,6 @@ 0 0 1 -0 1 0 0 @@ -2539,20 +2537,22 @@ 0 0 0 -1 0 +1 +1 0 0 0 0 1 +1 +1 0 0 0 0 0 0 -1 0 0 0 @@ -2563,11 +2563,8 @@ 0 0 1 -0 -0 1 0 -0 1 0 0 @@ -2575,10 +2572,8 @@ 0 0 0 -0 1 0 -1 0 0 0 @@ -2591,7 +2586,6 @@ 0 0 0 -1 0 0 1 @@ -2599,9 +2593,12 @@ 0 0 0 +0 +1 1 0 0 +0 1 0 0 @@ -2620,6 +2617,9 @@ 0 0 0 +0 +1 +0 1 1 0 @@ -2634,13 +2634,14 @@ 0 0 0 -0 +1 1 0 0 0 0 1 +1 0 0 0 @@ -2648,13 +2649,12 @@ 0 0 0 -1 0 1 0 -1 0 1 +1 0 0 0 @@ -2664,7 +2664,7 @@ 0 0 1 -0 +1 0 0 1 @@ -2672,14 +2672,14 @@ 0 0 0 -1 0 0 0 -1 0 +1 0 0 +1 0 1 0 @@ -2687,9 +2687,9 @@ 0 1 0 -1 0 1 +1 0 0 0 @@ -2698,7 +2698,7 @@ 0 0 0 -0 +1 0 0 0 @@ -2720,7 +2720,7 @@ 0 0 0 -1 +0 1 0 0 @@ -2731,9 +2731,11 @@ 0 1 0 +1 0 0 0 +1 0 0 0 @@ -2753,13 +2755,13 @@ 0 0 0 -1 -0 0 0 0 +1 0 0 +1 0 0 0 @@ -2767,12 +2769,15 @@ 0 1 0 +0 +0 1 0 0 0 1 0 +1 0 0 0 @@ -2780,16 +2785,18 @@ 0 0 0 +1 +1 0 +1 0 0 0 0 -1 -0 0 0 0 +1 0 0 0 @@ -2797,11 +2804,12 @@ 0 0 1 +1 +1 0 0 0 0 -1 0 0 0 @@ -2825,31 +2833,23 @@ 0 0 0 -1 -1 -0 -1 0 0 +1 0 0 0 0 1 -0 -0 1 0 0 -1 -0 0 0 0 0 0 0 -1 0 0 0 @@ -2863,31 +2863,39 @@ 0 0 0 +1 0 +1 0 0 0 0 0 +1 0 +1 0 +1 +1 0 0 -1 0 0 -1 0 0 0 0 0 +1 0 0 0 +1 0 +1 0 0 +1 0 0 0 @@ -2902,16 +2910,11 @@ 0 1 0 -1 -0 0 0 0 0 -1 -0 0 -1 0 0 0 @@ -2919,13 +2922,12 @@ 0 0 0 +1 0 0 0 -1 0 0 -1 0 0 0 @@ -2943,13 +2945,8 @@ 0 0 0 -0 -1 -1 -0 1 0 -0 1 0 0 @@ -2958,13 +2955,16 @@ 0 0 0 +1 0 +1 0 0 0 0 0 0 +1 0 0 0 @@ -2982,7 +2982,7 @@ 0 0 0 -0 +1 0 0 0 @@ -3017,18 +3017,18 @@ 0 0 0 +1 0 0 0 0 -1 0 0 0 1 0 0 -0 +1 0 0 0 @@ -3046,25 +3046,21 @@ 0 0 0 -0 1 0 0 -1 -0 0 0 0 1 0 0 -0 -0 1 0 0 0 0 +1 0 0 0 @@ -3078,9 +3074,7 @@ 0 0 0 -0 -0 -0 +1 0 0 0 @@ -3089,26 +3083,36 @@ 0 0 0 -0 1 0 0 +1 +0 0 0 +1 0 +1 0 0 0 0 0 +1 0 0 +1 +1 +1 +1 0 +1 0 0 1 1 0 +1 0 1 0 @@ -3125,18 +3129,17 @@ 0 0 0 +1 0 0 0 0 -1 -1 0 0 0 0 -1 0 +1 0 0 0 @@ -3147,9 +3150,6 @@ 1 0 0 -1 -1 -0 0 0 0 @@ -3161,31 +3161,26 @@ 0 0 0 -1 0 0 0 0 0 0 -1 -1 0 -1 0 0 0 0 0 0 -1 0 -1 0 0 -1 0 0 +1 +1 0 0 1 @@ -3199,32 +3194,31 @@ 0 0 0 -0 1 0 0 0 0 +1 0 0 0 0 0 0 -1 0 0 -1 -1 0 0 -1 0 0 0 0 +1 0 0 +1 +1 0 0 0 @@ -3232,16 +3226,14 @@ 1 0 0 -0 1 0 0 -0 1 0 1 0 -0 +1 0 0 0 @@ -3252,6 +3244,7 @@ 0 0 0 +0 1 0 0 @@ -3259,15 +3252,16 @@ 1 0 0 -0 -0 1 0 +1 0 0 0 0 0 +1 +1 0 0 0 @@ -3282,55 +3276,58 @@ 0 0 0 -1 0 0 1 0 0 0 -1 -0 0 0 0 0 1 0 +1 +1 0 0 -1 0 0 +1 0 0 0 0 +1 +1 0 0 +1 0 0 0 0 0 -1 0 0 0 0 1 +1 0 0 0 1 -1 +0 1 0 0 -1 0 +1 0 0 +1 0 0 0 @@ -3340,6 +3337,7 @@ 0 0 0 +1 0 0 0 @@ -3353,15 +3351,17 @@ 0 0 1 -0 +1 1 0 0 0 +1 0 0 0 0 +1 0 0 0 @@ -3382,12 +3382,11 @@ 0 0 1 -1 -1 0 0 0 0 +1 0 0 0 @@ -3397,16 +3396,17 @@ 0 0 0 +1 0 0 0 -1 0 0 -1 0 +1 0 0 +1 0 0 1 @@ -3421,18 +3421,19 @@ 0 0 0 +1 0 0 0 -1 0 0 0 1 0 +1 +1 0 -0 -0 +1 0 0 0 @@ -3444,9 +3445,6 @@ 0 0 0 -0 -0 -0 1 0 0 @@ -3455,32 +3453,32 @@ 0 0 0 +1 0 +1 0 0 -1 -1 -1 0 +1 0 0 0 0 -1 0 1 0 0 0 0 -0 +1 1 0 0 1 0 0 -0 +1 +1 0 0 0 @@ -3490,7 +3488,7 @@ 0 0 1 -1 +0 0 1 0 @@ -3504,35 +3502,37 @@ 0 1 0 -0 +1 0 0 0 1 0 -0 -0 +1 0 0 0 1 -0 1 0 0 0 0 0 +1 0 +1 0 0 0 +1 0 0 0 0 0 0 +1 0 0 0 @@ -3548,8 +3548,8 @@ 0 0 0 -1 0 +1 0 1 0 @@ -3568,12 +3568,12 @@ 0 0 0 +1 +1 0 +1 0 -0 -0 -0 -0 +1 0 0 0 @@ -3582,11 +3582,10 @@ 0 0 0 -0 1 0 -1 0 +1 0 0 0 @@ -3594,27 +3593,27 @@ 0 1 1 -0 -0 1 0 0 0 +1 +0 0 +1 0 0 0 0 1 0 +1 0 0 0 0 0 0 -1 -0 0 0 0 @@ -3628,26 +3627,27 @@ 0 1 0 +1 0 0 0 0 -0 +1 1 0 0 0 0 -1 0 0 -1 0 0 0 1 0 -0 +1 +1 +1 0 0 0 @@ -3658,32 +3658,32 @@ 1 0 1 -1 -0 0 0 0 0 0 -1 -0 -0 0 0 +1 0 +1 0 0 0 0 0 0 +1 0 1 0 +1 0 0 0 1 +1 0 0 0 @@ -3697,22 +3697,25 @@ 0 0 0 -0 +1 0 0 0 0 0 1 +1 0 0 0 0 0 +1 0 0 0 -0 +1 +1 0 0 1 @@ -3724,9 +3727,6 @@ 0 0 0 -1 -1 -0 0 0 0 @@ -3738,7 +3738,7 @@ 0 0 1 -1 +0 0 0 0 @@ -3747,23 +3747,28 @@ 1 0 0 -0 +1 1 0 0 0 +1 0 0 +1 +1 +1 +1 0 0 +1 0 0 0 0 0 0 -0 -0 +1 0 0 0 @@ -3773,26 +3778,21 @@ 0 0 0 -0 -0 -0 -0 -0 1 0 1 0 0 0 -1 0 +1 +1 0 0 0 0 0 0 -1 0 0 0 @@ -3806,6 +3806,7 @@ 0 0 0 +1 0 0 0 @@ -3813,27 +3814,23 @@ 0 0 0 +1 0 0 0 0 0 +1 0 +1 0 0 0 -0 -0 -0 -1 1 0 0 0 1 -1 -0 -0 0 0 0 @@ -3845,6 +3842,7 @@ 0 0 0 +1 0 0 0 @@ -3860,6 +3858,7 @@ 0 0 0 +1 0 0 0 @@ -3877,9 +3876,10 @@ 0 0 1 +1 +0 0 0 -1 0 0 0 @@ -3908,7 +3908,6 @@ 0 0 0 -1 0 0 0 @@ -3919,49 +3918,46 @@ 1 0 0 -1 -0 0 +1 0 0 0 -1 0 0 0 +1 0 0 0 0 1 0 +1 0 1 1 -0 -0 +1 0 0 1 1 0 -0 -0 1 1 0 0 0 +1 0 0 0 -1 0 -1 0 0 0 0 +1 0 0 0 @@ -3972,9 +3968,7 @@ 0 0 0 -1 0 -1 0 0 0 @@ -3986,6 +3980,8 @@ 0 0 0 +1 +1 0 0 0 @@ -3996,6 +3992,7 @@ 0 0 0 +1 0 0 0 @@ -4005,15 +4002,16 @@ 0 0 1 -0 -0 +1 0 1 0 0 0 +1 0 0 +1 0 0 0 @@ -4025,17 +4023,19 @@ 0 0 1 -1 0 0 +1 0 1 0 +1 0 0 0 0 0 +1 0 0 0 @@ -4045,7 +4045,9 @@ 0 0 0 +1 0 +1 0 0 0 @@ -4054,38 +4056,36 @@ 0 0 0 -1 -0 0 1 1 0 -0 1 0 0 -1 0 0 0 0 0 0 +1 0 0 0 0 0 +1 0 0 0 0 +1 0 0 0 0 0 -1 0 1 1 @@ -4106,13 +4106,15 @@ 0 0 0 -0 1 0 0 0 +1 +1 0 0 +1 0 0 0 @@ -4124,9 +4126,7 @@ 0 0 0 -0 -0 -0 +1 0 0 0 @@ -4137,15 +4137,15 @@ 0 0 0 -0 +1 1 0 0 0 0 -0 -0 -0 +1 +1 +1 0 0 0 @@ -4166,17 +4166,17 @@ 0 0 1 +1 0 +1 0 -0 -0 -0 +1 0 0 0 1 1 -0 +1 1 1 0 @@ -4193,25 +4193,25 @@ 0 0 0 -1 +0 0 1 0 0 0 -1 +0 0 0 1 0 0 0 -1 +0 1 0 1 1 -0 +1 0 0 0 @@ -4223,7 +4223,7 @@ 0 0 1 -1 +0 0 0 0 @@ -4238,16 +4238,16 @@ 0 0 0 -1 -0 -1 0 0 0 +1 +1 0 0 0 1 +1 0 0 0 @@ -4289,53 +4289,53 @@ 0 0 0 -0 +1 +1 1 0 0 0 -1 -0 0 0 1 0 -1 0 1 1 +1 +1 0 0 0 0 +1 0 0 0 +1 0 0 0 -1 -0 0 1 0 0 0 1 -1 0 0 0 +1 0 0 1 0 +1 0 0 0 0 0 -1 0 1 1 @@ -4343,16 +4343,13 @@ 0 0 0 -1 -0 -0 -1 -1 0 0 0 0 +1 0 +1 0 0 0 @@ -4363,18 +4360,21 @@ 0 0 0 -1 0 0 0 +1 0 1 0 1 1 0 +1 +1 0 0 +1 0 0 0 @@ -4382,7 +4382,7 @@ 0 0 0 -0 +1 1 0 0 @@ -4394,7 +4394,6 @@ 0 0 0 -1 0 0 0 @@ -4407,16 +4406,15 @@ 0 0 0 -1 0 0 0 -1 0 0 -1 0 +1 0 +1 0 0 0 @@ -4428,10 +4426,12 @@ 0 1 0 +1 0 0 0 0 +1 0 0 0 @@ -4439,11 +4439,9 @@ 0 1 0 -1 -0 -0 0 0 +1 0 0 0 @@ -4458,9 +4456,11 @@ 0 1 0 +1 0 0 0 +1 0 0 0 @@ -4471,7 +4471,7 @@ 0 0 0 -1 +0 1 0 0 @@ -4485,9 +4485,9 @@ 1 0 1 -1 0 -1 +0 +0 0 0 0 @@ -4501,13 +4501,13 @@ 0 0 0 +1 0 0 0 0 0 0 -1 0 1 0 @@ -4526,6 +4526,7 @@ 0 1 1 +1 0 0 0 @@ -4536,12 +4537,11 @@ 0 0 0 -0 -0 +1 1 0 0 -0 +1 0 0 1 @@ -4553,10 +4553,10 @@ 0 1 0 +1 0 0 -0 -0 +1 0 1 0 @@ -4564,6 +4564,7 @@ 0 0 0 +1 0 0 0 @@ -4575,11 +4576,14 @@ 0 0 0 +0 1 0 1 0 +1 0 +1 0 0 0 @@ -4587,12 +4591,10 @@ 0 0 1 -0 -0 -0 1 0 0 +1 0 0 0 @@ -4602,8 +4604,6 @@ 0 0 0 -0 -1 1 1 0 @@ -4615,13 +4615,13 @@ 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 @@ -4632,19 +4632,19 @@ 0 0 1 -1 -0 -0 0 +1 0 +1 0 0 0 0 1 0 +1 0 -0 +1 1 0 0 @@ -4654,7 +4654,6 @@ 0 0 0 -0 1 0 0 @@ -4663,7 +4662,8 @@ 0 0 0 -1 +0 +0 1 0 0 @@ -4686,16 +4686,16 @@ 0 0 0 -0 +1 0 1 0 0 -1 0 0 0 0 +1 0 0 0 @@ -4704,7 +4704,7 @@ 1 0 1 -0 +1 0 0 0 @@ -4723,23 +4723,22 @@ 0 0 0 +1 0 0 0 +1 0 0 +1 0 -0 -0 -0 -0 +1 0 0 0 0 0 1 -1 0 0 0 @@ -4749,13 +4748,10 @@ 0 0 0 -1 0 0 0 -1 0 -1 0 0 0 @@ -4764,6 +4760,7 @@ 0 0 0 +1 0 0 0 @@ -4771,8 +4768,11 @@ 0 0 0 +1 0 0 +1 +1 0 0 0 @@ -4781,16 +4781,16 @@ 0 0 0 -1 -0 0 0 0 +1 0 0 0 0 0 +1 0 0 0 @@ -4801,23 +4801,23 @@ 0 0 0 -1 -0 0 0 0 0 1 -1 0 1 +1 0 0 +1 0 0 0 0 0 +1 0 0 0 @@ -4833,18 +4833,18 @@ 0 0 0 -1 0 -1 0 0 0 -1 0 0 0 0 0 +1 +1 +1 0 0 0 @@ -4857,14 +4857,13 @@ 0 0 0 -0 -1 1 0 1 0 0 -1 +0 +0 0 0 0 @@ -4879,6 +4878,7 @@ 0 0 0 +1 0 0 0 @@ -4887,14 +4887,18 @@ 0 0 1 +1 0 0 0 0 0 0 +1 +1 0 0 +1 0 0 0 @@ -4910,22 +4914,18 @@ 0 0 0 -0 -0 -0 -1 -1 -1 1 0 1 0 +1 0 0 0 +1 0 0 -0 +1 0 0 0 @@ -4945,8 +4945,6 @@ 1 0 0 -1 -0 0 0 0 @@ -4954,13 +4952,14 @@ 1 0 0 -1 +0 1 0 0 0 0 0 +1 0 0 0 @@ -4968,8 +4967,9 @@ 0 0 0 -1 0 +1 +1 0 0 0 @@ -4981,14 +4981,14 @@ 0 0 0 -0 -0 1 0 +1 0 0 0 1 +1 0 0 1 @@ -5001,20 +5001,21 @@ 0 0 0 -0 +1 0 0 0 0 1 0 -0 +1 1 0 0 0 0 0 +1 0 0 0 @@ -5022,12 +5023,11 @@ 0 1 0 -1 -0 0 0 0 0 +1 0 0 0 @@ -5043,7 +5043,7 @@ 0 1 0 -0 +1 0 0 1 @@ -5054,10 +5054,12 @@ 0 0 0 +1 0 0 0 0 +1 0 0 0 @@ -5068,16 +5070,15 @@ 0 0 0 -1 0 0 1 -0 1 0 1 0 1 +1 0 0 0 @@ -5092,8 +5093,7 @@ 0 0 0 -0 -0 +1 0 1 1 @@ -5102,22 +5102,20 @@ 0 0 1 -0 1 -0 1 0 0 0 -1 0 0 +1 0 0 0 -1 0 0 +1 0 1 0 @@ -5129,6 +5127,7 @@ 0 0 0 +1 0 0 0 @@ -5139,18 +5138,12 @@ 0 0 0 -1 0 1 0 1 -1 -0 -0 -0 0 1 -1 0 1 0 @@ -5166,25 +5159,32 @@ 0 0 0 -1 0 0 0 +1 +0 0 0 +1 0 0 +1 0 +1 0 0 0 0 0 0 +1 0 0 1 +1 0 +1 0 0 0 @@ -5193,9 +5193,9 @@ 1 0 0 -1 0 1 +1 0 0 0 @@ -5203,18 +5203,17 @@ 0 0 0 -1 -0 -0 0 0 0 0 0 +1 0 0 0 0 +1 0 0 0 @@ -5226,6 +5225,7 @@ 0 0 0 +1 0 0 0 @@ -5236,26 +5236,24 @@ 0 0 1 -1 -1 +0 1 0 0 0 0 0 -1 0 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 @@ -5266,6 +5264,8 @@ 0 0 0 +0 +1 1 0 0 diff --git a/l1_epoch_6.pth b/l1_epoch_6.pth new file mode 100644 index 0000000..c78711b Binary files /dev/null and b/l1_epoch_6.pth differ diff --git a/l1_epochs.txt b/l1_epochs.txt new file mode 100644 index 0000000..9160087 --- /dev/null +++ b/l1_epochs.txt @@ -0,0 +1,44 @@ +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1562.58it/s]epoch: 0 +avg loss: 0.6662371538425887 +accuracy: 0.6769724323932329 +test accuracy: 0.6496585735963581 + +testing: 97%|█████████▋| 5120/5272 [00:04<00:00, 1485.70it/s]epoch: 1 +avg loss: 0.6602801650684239 +accuracy: 0.6871561819054558 +test accuracy: 0.6574355083459787 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1509.15it/s]epoch: 2 +avg loss: 0.6611704620506444 +accuracy: 0.6899844256662258 +test accuracy: 0.6566767830045523 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1471.36it/s]epoch: 3 +avg loss: 0.6616791084902397 +accuracy: 0.6911412775097642 +test accuracy: 0.6638846737481032 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1579.47it/s]epoch: 4 +avg loss: 0.6610813111163456 +accuracy: 0.6913588347221311 +test accuracy: 0.6403641881638846 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1561.11it/s]epoch: 5 +avg loss: 0.6612948830510013 +accuracy: 0.6919113609757613 +test accuracy: 0.6553490136570561 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1496.72it/s]epoch: 6 +avg loss: 0.662789237758215 +accuracy: 0.6916558175834574 +test accuracy: 0.6688163884673748 <--- this is the best we managed to get + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1531.05it/s]epoch: 7 +avg loss: 0.6635299078017594 +accuracy: 0.6916730840288833 +test accuracy: 0.6525037936267072 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1539.94it/s]epoch: 8 +avg loss: 0.6665739091241887 +accuracy: 0.6917179767869908 +test accuracy: 0.6676783004552352 \ No newline at end of file diff --git a/l2_epoch_0.pth b/l2_epoch_0.pth new file mode 100644 index 0000000..d6be2bb Binary files /dev/null and b/l2_epoch_0.pth differ diff --git a/l2_epochs.txt b/l2_epochs.txt new file mode 100644 index 0000000..c6322bb --- /dev/null +++ b/l2_epochs.txt @@ -0,0 +1,9 @@ +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1496.45it/s]epoch: 0 +avg loss: 0.5669572093742932 +accuracy: 0.705209252052117 +test accuracy: 0.7043400606980273 + +testing: 97%|█████████▋| 5120/5272 [00:03<00:00, 1500.00it/s]epoch: 1 +avg loss: 0.5200198413747087 +accuracy: 0.7267515945562351 +test accuracy: 0.6817147192716236 <-- starts over-fitting \ No newline at end of file diff --git a/test-A/out.tsv b/test-A/out.tsv index 6b07b39..b2a7bc7 100644 --- a/test-A/out.tsv +++ b/test-A/out.tsv @@ -1,4 +1,12 @@ +1 +0 +0 +1 0 +1 +1 +0 +1 0 0 0 @@ -6,14 +14,27 @@ 0 1 0 +1 0 0 +1 0 +1 0 +1 +1 +1 +1 +1 +1 0 +1 0 +1 0 +1 0 +1 0 0 0 @@ -24,17 +45,15 @@ 0 0 0 -1 0 0 0 -1 0 -1 0 0 0 0 +1 0 0 0 @@ -43,22 +62,28 @@ 0 0 0 +1 +1 0 0 1 0 0 0 -1 0 0 0 0 +1 +1 0 0 0 0 1 +1 +1 +1 0 0 0 @@ -66,25 +91,30 @@ 0 0 0 -1 -0 0 0 +1 0 0 0 +1 0 0 1 0 0 0 +1 +1 0 0 1 +1 0 1 +1 0 +1 0 1 0 @@ -92,30 +122,30 @@ 0 0 0 +1 0 0 0 0 0 -1 0 0 -1 0 +1 0 0 1 1 -0 -0 -0 +1 +1 +1 1 0 0 0 0 0 -0 +1 0 0 0 @@ -123,17 +153,16 @@ 0 1 0 +1 0 0 -0 -0 -0 +1 +1 0 0 0 1 0 -1 0 0 1 @@ -142,42 +171,47 @@ 1 0 1 +1 0 +1 0 0 0 1 +1 0 0 0 +1 0 1 0 0 0 +1 0 0 0 0 0 0 -1 0 -1 0 0 0 1 +1 +1 0 0 +1 0 0 0 0 0 0 -0 -0 +1 0 0 0 @@ -185,6 +219,7 @@ 0 0 1 +1 0 0 0 @@ -192,50 +227,55 @@ 0 0 0 +1 0 +1 0 0 0 +1 0 +1 0 0 0 0 0 +1 0 0 0 0 -0 +1 1 0 +1 +1 0 0 +1 0 +1 0 0 0 -1 0 0 0 -1 -1 0 0 +1 0 0 0 0 -1 0 1 0 -1 -1 0 0 0 +1 0 0 0 @@ -243,9 +283,12 @@ 0 1 1 +1 +1 0 0 -0 +1 +1 1 0 0 @@ -256,62 +299,70 @@ 0 0 0 +1 0 0 0 +1 0 0 0 +1 0 0 0 0 0 0 -1 -0 0 1 0 0 0 -1 -0 0 0 0 -1 0 1 0 0 1 1 +1 +1 0 0 0 0 0 +1 0 0 0 0 1 +1 0 0 0 0 -1 0 +1 +1 +1 0 +1 +1 0 +1 0 +1 0 1 0 0 -1 0 +1 0 0 0 @@ -321,10 +372,12 @@ 0 0 0 +0 1 0 0 0 +0 1 0 0 @@ -334,17 +387,23 @@ 0 0 0 -0 +1 +1 0 1 0 0 0 +1 +1 +0 0 1 +1 0 0 0 +1 0 0 0 @@ -354,7 +413,6 @@ 1 0 0 -1 0 0 1 @@ -362,7 +420,11 @@ 0 0 0 +0 +0 1 +1 +0 0 0 0 @@ -371,24 +433,24 @@ 1 0 0 +1 +1 0 0 1 0 0 -1 +0 0 1 1 0 0 -1 0 0 0 0 0 -1 0 0 0 @@ -400,30 +462,35 @@ 0 0 0 +1 0 0 0 0 1 +1 0 0 +0 +1 +1 1 0 0 0 0 0 -1 0 -1 0 -1 0 0 +1 0 0 1 +1 0 +1 0 1 1 @@ -434,104 +501,124 @@ 0 0 1 -1 0 0 1 0 +1 +0 0 0 0 +1 0 0 +1 0 +1 +1 0 +1 0 0 0 0 0 0 +1 0 0 0 0 0 0 -1 0 0 0 0 +1 0 +1 0 0 0 1 1 0 +1 +1 +1 0 0 0 0 1 -0 -0 1 0 -0 1 0 +1 0 -0 +1 1 0 +1 0 0 1 0 -1 0 1 -0 1 0 0 0 -1 0 0 0 0 1 0 +1 0 0 0 0 0 -1 0 +1 0 +1 0 0 0 0 +1 +1 0 0 0 +1 +1 0 +1 +1 +1 0 0 0 0 0 0 +1 0 +1 0 1 0 0 +1 +1 0 0 0 @@ -553,26 +640,28 @@ 0 0 0 -1 -1 -1 +0 0 1 0 0 0 0 +1 +0 0 0 0 1 0 +1 0 1 1 0 0 -0 +1 +1 0 0 0 @@ -583,9 +672,6 @@ 0 0 0 -1 -0 -0 0 0 1 @@ -594,6 +680,7 @@ 0 0 1 +0 1 0 0 @@ -602,32 +689,32 @@ 0 0 0 -1 0 0 1 0 0 0 -1 -1 0 +1 0 0 0 +1 0 0 1 0 0 0 +1 0 0 +1 +1 0 0 0 -1 -0 0 0 1 @@ -635,9 +722,10 @@ 0 0 0 -0 1 0 +1 +1 0 0 0 @@ -645,18 +733,21 @@ 0 0 0 +1 0 0 0 0 0 1 +1 +1 0 +1 0 1 0 0 -1 0 0 0 @@ -665,34 +756,49 @@ 0 0 0 +0 1 -1 0 0 0 +1 +1 +0 +1 0 0 0 0 1 -0 +1 +1 0 1 0 1 +1 0 0 1 -0 +1 +1 +1 0 1 0 0 0 0 +0 1 0 +1 +0 +1 0 +1 +1 +1 0 0 0 @@ -700,10 +806,13 @@ 0 0 0 +1 +1 0 -0 +1 0 1 +1 0 0 0 @@ -711,6 +820,7 @@ 0 0 1 +1 0 0 0 @@ -719,8 +829,12 @@ 0 0 0 +1 0 0 +1 +1 +1 0 1 0 @@ -729,6 +843,13 @@ 0 0 0 +1 +1 +1 +1 +0 +1 +0 0 0 0 @@ -739,84 +860,106 @@ 0 1 0 -0 +1 0 0 0 1 -0 1 0 0 +1 +1 +0 0 0 1 +1 +1 +1 0 0 0 1 0 +1 0 +1 0 0 0 0 -1 0 0 0 0 0 +1 +1 0 0 1 0 -1 0 -1 0 0 -1 0 0 1 0 1 1 +1 0 +1 0 +1 +1 0 0 +1 +1 +1 0 0 0 0 +1 +1 +1 0 0 1 +1 +1 0 +1 0 +1 0 0 +1 0 +1 0 0 0 -0 +1 0 0 0 0 1 +1 0 -0 +1 0 1 1 0 +1 0 -0 -0 +1 0 0 0 @@ -826,41 +969,52 @@ 0 1 0 -1 -1 0 0 0 0 -1 0 0 0 -1 0 1 +1 +1 0 0 0 0 0 1 +1 0 0 +1 +1 +0 0 1 0 0 +1 +0 0 0 0 0 1 1 +1 +1 0 0 +1 0 1 +1 +1 +1 +0 0 0 0 @@ -874,44 +1028,53 @@ 0 0 0 -1 1 0 0 +1 0 0 0 1 +1 +1 0 0 +1 0 0 0 0 0 0 +1 +1 0 +1 0 0 0 0 -1 -0 0 -1 0 0 0 +1 0 +1 +1 0 0 +1 +1 0 0 0 1 1 +1 0 -0 +1 0 0 0 @@ -919,10 +1082,14 @@ 0 0 0 +1 +1 +1 0 0 0 0 +1 0 0 1 @@ -930,56 +1097,77 @@ 0 0 0 +1 0 0 +1 0 -0 +1 0 1 0 0 0 +1 +1 +1 0 1 0 +1 +1 +1 0 0 +1 0 0 +1 0 +1 0 0 +1 0 0 0 1 -0 1 1 0 0 0 +0 1 0 0 0 0 -1 +0 0 0 1 0 0 0 +1 +1 +1 +0 0 0 +1 0 +1 0 0 +1 +1 0 0 0 0 +1 0 0 0 @@ -991,25 +1179,25 @@ 0 1 1 -0 1 1 0 -0 +1 0 0 1 0 0 +1 +1 0 0 0 -1 -1 0 0 0 0 +1 0 1 1 @@ -1017,21 +1205,28 @@ 0 0 0 +1 +1 0 0 0 +1 0 +1 0 0 +1 +1 +1 +1 0 +1 0 0 0 0 -1 0 0 -1 0 0 0 @@ -1041,31 +1236,38 @@ 1 0 1 +1 0 0 0 1 +1 0 0 -1 -1 0 1 -1 0 0 +1 +0 0 0 0 0 +1 0 0 0 0 0 +1 0 0 +1 +1 +1 0 +1 0 0 1 @@ -1073,15 +1275,15 @@ 0 0 0 +1 0 1 0 0 0 -1 0 0 -1 +0 0 0 1 @@ -1089,21 +1291,23 @@ 0 0 0 +1 +0 0 0 0 1 0 +1 +1 0 1 0 0 0 -1 0 0 1 -1 0 0 0 @@ -1111,15 +1315,28 @@ 0 0 0 +1 +0 0 1 +1 +1 +1 0 0 0 1 +1 +1 0 +1 +1 +1 0 +1 +1 0 +1 0 0 0 @@ -1130,24 +1347,27 @@ 0 0 0 +1 0 0 +1 0 0 -1 0 0 0 1 -1 0 0 0 0 0 0 +1 +1 0 0 +1 0 0 0 @@ -1162,27 +1382,36 @@ 0 0 0 -1 0 0 1 0 0 +1 +0 0 +1 0 +1 0 0 0 0 0 +1 +1 +1 0 +1 +1 0 0 0 0 1 0 -0 +1 +1 1 0 1 @@ -1190,14 +1419,15 @@ 0 0 0 +1 0 0 0 0 +1 0 0 1 -1 0 0 0 @@ -1206,18 +1436,22 @@ 0 0 0 +1 0 0 0 0 0 +1 0 +1 0 +1 +1 0 0 0 0 -1 0 1 1 @@ -1227,10 +1461,12 @@ 0 0 0 +1 0 0 0 0 +1 0 0 0 @@ -1244,30 +1480,34 @@ 0 0 0 +1 +1 0 0 0 0 -1 -0 0 0 0 0 1 0 -0 +1 0 0 1 0 0 -0 +1 1 0 +1 0 0 +1 +1 0 +1 0 0 0 @@ -1277,9 +1517,14 @@ 0 0 0 +1 +1 0 0 0 +1 +1 +1 0 0 0 @@ -1292,15 +1537,12 @@ 0 0 1 +1 0 0 0 0 1 -0 -1 -0 -0 1 0 0 @@ -1308,16 +1550,27 @@ 0 0 0 +1 +1 0 0 0 +1 +1 0 0 +1 +1 +1 +1 +1 +1 0 0 0 0 0 +1 0 0 1 @@ -1325,31 +1578,34 @@ 1 0 0 -0 1 -0 -0 1 1 0 0 0 0 -0 1 -0 +1 +1 1 0 0 +1 +1 0 0 0 +1 0 +1 0 +1 0 0 +1 0 -0 +1 0 0 0 @@ -1359,8 +1615,7 @@ 1 0 0 -0 -0 +1 1 0 1 @@ -1369,7 +1624,6 @@ 0 1 0 -1 0 0 0 @@ -1383,7 +1637,7 @@ 0 0 0 -1 +0 1 0 0 @@ -1393,9 +1647,20 @@ 0 0 0 +1 +0 +1 +1 +1 0 +1 +1 +1 +1 0 0 +1 +1 0 0 0 @@ -1407,6 +1672,7 @@ 0 0 0 +1 0 0 0 @@ -1414,15 +1680,15 @@ 0 0 0 -1 -0 0 1 +1 0 0 0 0 0 +1 0 0 0 @@ -1430,6 +1696,7 @@ 0 0 0 +1 0 0 1 @@ -1441,39 +1708,44 @@ 1 0 0 -0 -0 -0 1 0 1 -1 -0 -0 -0 -0 0 0 0 0 +1 0 0 0 +1 0 0 +1 +1 0 +1 +1 +1 +1 0 0 0 0 +1 0 0 0 0 +1 0 +1 0 +1 0 0 +1 0 0 0 @@ -1482,9 +1754,11 @@ 0 0 1 +1 0 0 0 +1 0 0 0 @@ -1493,7 +1767,10 @@ 1 0 1 +1 0 +1 +1 0 1 1 @@ -1502,10 +1779,13 @@ 0 0 0 +1 +0 +0 +0 0 0 0 -1 0 1 0 @@ -1513,18 +1793,27 @@ 0 0 0 +1 +1 0 0 +1 0 0 1 0 +1 +1 +1 +1 0 0 0 1 0 0 +1 +0 0 0 0 @@ -1533,10 +1822,16 @@ 0 0 0 +1 +1 +1 0 0 0 +1 +1 0 +1 0 0 0 @@ -1546,7 +1841,10 @@ 1 0 0 +1 +1 0 +1 0 0 0 @@ -1558,12 +1856,12 @@ 0 0 0 -1 0 0 0 0 1 +1 0 0 0 @@ -1582,27 +1880,36 @@ 0 0 0 +1 0 0 0 0 +1 0 0 0 0 +1 0 0 0 +1 0 0 0 -0 +1 0 1 0 0 0 0 +0 +1 +1 +1 +1 1 0 1 @@ -1610,37 +1917,56 @@ 0 0 1 +1 +1 +1 0 +1 0 +1 +1 +1 0 0 0 +1 0 +1 +1 0 0 0 0 0 0 +1 0 +1 0 0 0 +1 +1 +1 0 0 0 1 0 +1 0 0 +1 +1 0 0 0 0 +1 +1 0 0 -0 -0 +1 0 0 0 @@ -1648,7 +1974,6 @@ 0 0 1 -0 1 1 0 @@ -1657,18 +1982,25 @@ 0 0 0 +1 +1 0 0 0 +1 +1 +1 0 0 +1 0 0 0 +1 0 0 -0 -0 +1 +1 0 0 0 @@ -1681,7 +2013,6 @@ 0 0 0 -1 0 0 0 @@ -1689,13 +2020,20 @@ 0 0 0 +1 +1 +1 +1 +0 0 1 +1 0 0 0 1 0 +1 0 0 0 @@ -1706,24 +2044,26 @@ 0 0 1 +1 0 0 -1 0 0 0 0 0 0 -1 0 +1 +1 0 0 +1 0 +1 0 0 0 -1 0 0 0 @@ -1732,39 +2072,50 @@ 0 0 0 +1 +1 0 0 0 +1 +1 +1 0 0 0 0 0 0 +1 0 0 0 0 -1 0 0 1 0 0 1 +1 0 1 0 1 +1 0 0 1 -0 +1 0 0 0 1 0 +1 +1 +1 +1 0 0 0 @@ -1774,31 +2125,34 @@ 0 0 1 -1 -0 0 +1 0 0 0 0 0 0 +1 +1 0 +1 +1 0 0 +1 0 1 1 0 0 +1 0 0 1 -1 -1 0 0 -1 +0 0 0 0 @@ -1808,29 +2162,36 @@ 0 0 0 +1 0 0 0 0 0 +1 0 0 1 0 0 +1 0 -0 +1 +1 0 0 1 -0 1 0 0 +1 +0 0 0 +1 0 0 +1 0 0 0 @@ -1838,24 +2199,37 @@ 1 0 0 -1 0 +1 +1 0 1 +1 0 +1 +1 0 0 +1 0 +1 0 0 0 +1 0 +1 0 0 0 1 1 0 +0 +0 +0 +0 +1 1 0 0 @@ -1863,24 +2237,29 @@ 0 0 0 +1 +1 0 1 +1 0 0 0 0 0 +1 0 0 0 -1 0 0 0 0 0 0 +1 0 +1 0 0 0 @@ -1891,9 +2270,10 @@ 0 0 0 -1 0 0 +1 +0 0 0 0 @@ -1903,31 +2283,36 @@ 0 0 0 +1 0 0 0 0 0 -1 0 0 0 +1 0 0 1 0 +1 +1 0 1 +1 0 0 0 0 0 -1 0 0 +1 0 0 +1 0 1 0 @@ -1937,16 +2322,16 @@ 0 1 0 -0 -0 1 0 0 0 +1 +0 +1 0 0 0 -1 0 1 0 @@ -1957,6 +2342,9 @@ 0 0 0 +1 +1 +1 0 0 1 @@ -1965,10 +2353,15 @@ 0 1 0 +1 +1 0 0 0 +1 0 +1 +1 0 0 1 @@ -1976,7 +2369,6 @@ 0 0 0 -1 0 0 0 @@ -1986,12 +2378,15 @@ 0 0 0 -1 +0 0 1 0 0 0 +1 +1 +1 0 0 0 @@ -1999,13 +2394,20 @@ 0 0 0 +1 +1 0 1 0 0 +1 0 +1 +1 0 0 +1 +1 0 0 0 @@ -2014,32 +2416,44 @@ 0 0 0 +1 0 +1 +1 0 0 0 0 0 0 +1 +1 0 +1 0 0 +1 0 1 0 0 1 0 +1 0 0 0 0 0 -0 +1 0 1 0 0 +1 +1 +1 +0 0 0 0 @@ -2055,11 +2469,19 @@ 0 0 0 +0 +0 1 0 0 +0 +1 +1 1 0 +1 +1 +1 0 1 0 @@ -2067,13 +2489,11 @@ 0 0 0 -1 0 0 0 0 0 -1 0 1 0 @@ -2083,27 +2503,37 @@ 0 0 0 +1 +1 0 +1 +1 0 0 1 +1 0 0 0 0 0 +1 0 0 0 0 +1 0 0 0 +1 0 0 +1 0 1 0 +1 0 0 1 @@ -2112,9 +2542,6 @@ 0 0 1 -1 -1 -1 0 0 0 @@ -2122,38 +2549,47 @@ 0 0 0 +1 +1 +1 +0 +1 +0 0 0 0 1 0 0 +0 1 0 0 1 -0 1 0 0 0 -1 0 +1 0 0 +1 0 1 0 0 0 -1 0 0 1 +1 0 +1 0 0 -0 +1 +1 0 0 0 @@ -2170,6 +2606,7 @@ 0 0 0 +1 0 0 1 @@ -2177,10 +2614,16 @@ 0 0 0 +0 +1 +0 1 1 0 1 +1 +0 +0 0 0 0 @@ -2190,25 +2633,32 @@ 0 0 0 +1 +1 +1 0 1 0 +1 0 0 +1 0 0 0 0 0 1 -0 -0 +1 +1 1 0 0 0 0 +1 0 +1 0 0 0 @@ -2221,11 +2671,11 @@ 1 0 0 -0 -0 1 0 +1 0 +1 0 0 0 @@ -2233,7 +2683,6 @@ 0 0 0 -1 0 0 0 @@ -2242,25 +2691,29 @@ 0 0 0 +1 0 0 1 0 0 +1 +0 0 0 0 +1 0 0 0 0 0 -1 0 1 0 0 0 +1 0 0 0 @@ -2268,21 +2721,21 @@ 0 1 0 -0 -0 +1 1 0 0 +1 +1 0 0 -0 +1 0 0 0 0 0 1 -0 1 0 0 @@ -2290,20 +2743,29 @@ 0 0 0 +1 0 +1 +1 +1 0 1 0 +1 0 +1 +1 0 0 -1 0 0 0 0 0 1 +1 +1 +1 0 0 0 @@ -2312,22 +2774,21 @@ 1 0 0 -0 -0 1 -0 +1 0 0 1 0 0 0 +1 0 +1 0 0 0 1 -0 1 0 0 @@ -2339,44 +2800,60 @@ 0 0 0 -0 -0 +1 0 0 1 1 0 -1 -1 0 0 0 0 +1 +0 0 0 +1 0 0 +1 0 1 1 +1 +1 +0 0 0 -1 0 +1 +1 +1 +1 +1 0 0 0 0 +1 0 +1 +1 +1 +1 0 1 0 1 1 1 +1 0 +1 0 0 +1 0 0 0 @@ -2384,18 +2861,20 @@ 0 0 0 -1 0 1 +1 0 1 0 +1 0 1 0 0 0 0 +1 0 0 0 @@ -2406,22 +2885,21 @@ 0 0 1 -0 -0 -0 1 0 -0 -0 -0 1 0 0 0 0 1 +1 +1 0 +1 0 +1 +1 0 0 0 @@ -2429,6 +2907,7 @@ 1 0 0 +1 0 0 0 @@ -2436,9 +2915,6 @@ 0 1 0 -0 -0 -0 1 0 0 @@ -2450,41 +2926,47 @@ 0 0 0 -0 +1 0 0 0 1 -0 1 0 0 0 0 +1 +1 +1 +1 0 +1 0 0 0 +1 +1 0 +1 +1 0 0 0 0 -0 +1 1 0 0 0 -1 0 -1 0 0 -1 0 +1 +1 0 0 -1 0 0 0 @@ -2495,26 +2977,17 @@ 0 0 0 -1 -1 0 0 0 1 -1 -1 0 1 0 0 0 -1 -0 -0 -1 0 1 -1 0 0 0 @@ -2527,8 +3000,10 @@ 1 0 1 +1 0 0 +1 0 0 0 @@ -2544,13 +3019,15 @@ 0 0 0 +1 0 -0 +1 0 0 0 0 1 +1 0 0 0 @@ -2566,7 +3043,9 @@ 0 0 1 +1 0 +1 0 0 0 @@ -2574,40 +3053,48 @@ 0 0 0 +1 +1 0 0 +1 0 -0 +1 0 0 1 +1 0 0 +1 0 0 0 +1 0 0 0 1 0 0 -0 1 1 1 0 0 +1 +1 0 -0 -0 +1 0 0 1 0 +1 +1 0 0 -0 +1 0 0 0 @@ -2621,106 +3108,146 @@ 0 0 0 -0 -0 -0 1 0 0 +1 0 0 0 +1 0 0 0 1 0 -1 0 0 +1 0 +1 0 0 0 1 0 +1 0 0 0 0 +1 0 0 +1 +1 +1 0 0 0 +1 +1 0 +1 +1 +1 +1 +1 0 +1 +1 0 0 0 0 +1 +1 +1 0 0 +1 0 1 0 0 +1 0 +1 +1 0 0 0 +1 0 +1 0 1 0 1 +1 0 +1 0 0 +1 0 0 +1 +1 0 0 0 0 +1 0 0 0 0 0 +1 +1 +1 0 0 +1 +1 0 1 1 0 0 -1 0 -1 0 +1 0 +1 0 0 1 0 0 +1 0 0 0 0 0 0 +1 0 0 0 0 +1 0 0 0 0 +1 +1 0 0 +1 0 0 0 @@ -2728,673 +3255,87 @@ 0 1 1 +1 +1 +0 0 0 0 0 +1 0 0 1 1 +1 0 0 0 0 0 0 +1 +0 0 0 1 -1 +0 1 1 0 0 0 +1 +1 +1 +1 +1 0 0 0 0 0 +1 +1 0 -0 +1 0 0 1 0 -1 0 0 1 0 0 0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -1 -0 -1 -0 -0 -1 -1 -0 -0 -1 -1 -1 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -1 -0 -0 -1 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -1 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -1 -0 -1 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -1 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -1 -0 -1 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -1 -0 -1 -0 -1 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -1 -0 -0 -1 -0 -0 -0 -1 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -0 -1 -0 -0 -0 -0 -1 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 1 0 1 0 -1 -1 0 0 +1 0 0 0 1 -1 0 -1 0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 1 0 0 @@ -3415,57 +3356,24 @@ 0 0 0 -1 0 1 0 -0 1 0 0 -0 1 0 0 1 -0 1 0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 +1 +1 0 0 0 @@ -3473,39 +3381,33 @@ 0 1 0 +1 0 +1 0 0 0 0 -0 +1 0 0 0 1 1 -0 -0 -0 1 0 0 -1 0 0 0 1 0 0 -0 -0 1 0 0 -0 -0 1 -0 +1 1 0 1 @@ -3513,49 +3415,21 @@ 0 0 0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 0 -0 -1 -0 -0 -1 1 1 0 0 -0 -0 -0 -0 -0 -0 -0 +1 0 0 0 @@ -3568,48 +3442,22 @@ 0 0 1 -0 -0 -0 -1 -0 1 0 0 0 1 -1 -0 0 1 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 1 0 0 0 -0 -0 1 -0 -0 1 0 -0 -0 -0 -0 -0 1 -0 1 0 1 @@ -3621,21 +3469,8 @@ 0 0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 -0 -0 1 0 0 @@ -3645,18 +3480,10 @@ 0 0 0 -0 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 +1 +1 0 0 0 @@ -3671,57 +3498,23 @@ 1 0 0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 -0 -0 -0 1 1 0 -0 1 0 -0 1 0 0 1 -1 -0 -0 -0 -0 0 0 0 0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 @@ -3731,15 +3524,10 @@ 0 0 0 -0 -0 -0 -0 -0 +1 1 0 -0 -0 +1 0 0 0 @@ -3747,41 +3535,16 @@ 0 0 0 -0 1 0 -0 1 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 +1 1 0 0 0 -1 -0 -1 0 1 0 @@ -3791,10 +3554,12 @@ 0 1 1 +1 +1 0 0 1 -1 +0 0 0 0 @@ -3806,49 +3571,74 @@ 0 1 1 +1 0 +1 +1 0 0 0 0 0 +1 +1 0 0 0 0 0 -1 0 0 0 0 0 +1 +1 0 0 0 1 +1 +1 0 1 0 0 +1 +1 +1 +1 +1 +1 0 0 0 +1 +1 0 0 0 0 +1 +1 0 +1 +1 +1 0 1 0 0 0 +1 0 0 0 +1 0 +1 0 +1 0 0 0 @@ -3857,66 +3647,83 @@ 0 0 0 -1 0 0 +1 0 +1 +1 0 1 0 +1 0 0 0 1 +0 1 0 0 0 -1 0 0 +1 +0 +1 0 0 0 1 0 0 -0 1 0 +1 0 0 1 +1 0 0 +1 0 +1 0 0 0 1 +1 0 0 +1 +0 0 +1 +1 0 1 +1 0 0 0 0 0 0 -1 -1 0 -1 0 +1 0 0 0 0 0 +1 +1 0 0 +1 +1 0 1 0 @@ -3928,32 +3735,44 @@ 0 0 0 -1 0 +1 0 0 1 0 +1 0 0 0 0 1 +1 0 0 0 1 1 +1 +1 +0 0 0 0 0 +1 +1 0 0 +1 +1 0 0 +1 0 0 +1 +1 0 0 0 @@ -3961,25 +3780,32 @@ 0 1 1 +1 +1 0 0 0 0 0 -1 -0 -0 0 0 0 +1 0 0 1 +1 0 +1 0 +1 0 0 +1 +1 0 +1 +1 0 0 0 @@ -3987,17 +3813,22 @@ 0 0 0 +1 +1 +1 0 1 0 0 0 0 +1 +1 0 0 1 0 -0 +1 0 0 1 @@ -4009,17 +3840,20 @@ 0 0 0 +1 +0 0 0 0 1 +1 0 0 0 0 0 0 -0 +1 0 0 0 @@ -4027,12 +3861,16 @@ 0 0 1 +1 0 0 0 0 +1 +1 0 0 +1 0 0 1 @@ -4040,14 +3878,22 @@ 0 0 0 +1 0 +1 0 0 +1 0 0 +1 0 +1 +1 0 +1 0 +1 0 0 0 @@ -4056,23 +3902,23 @@ 0 0 0 -1 -0 -1 0 0 0 0 0 1 -0 1 0 0 0 +1 0 0 0 +1 +1 +1 0 0 0 @@ -4080,7 +3926,9 @@ 0 0 0 +1 0 +1 0 0 1 @@ -4094,44 +3942,57 @@ 0 0 0 +1 +1 0 0 -1 0 -1 0 0 1 +1 0 1 +1 0 0 +1 +0 0 0 1 +1 +1 0 +1 0 +1 0 0 0 0 0 0 -1 0 0 +1 0 0 0 +1 0 0 0 0 0 0 +1 0 +1 0 1 +1 +0 0 0 0 @@ -4140,7 +4001,11 @@ 0 0 0 +1 +1 0 +1 +1 0 0 0 @@ -4149,27 +4014,30 @@ 0 1 0 +1 0 0 0 0 0 -1 -0 0 0 +1 0 0 0 1 -1 +0 1 0 0 0 +1 0 0 1 +1 +1 0 0 0 @@ -4177,9 +4045,9 @@ 0 0 0 -1 0 0 +1 0 0 0 @@ -4190,14 +4058,11 @@ 0 1 0 -0 1 -0 1 0 0 0 -1 0 1 0 @@ -4205,44 +4070,45 @@ 0 0 0 -1 0 0 0 0 0 -1 0 0 -1 0 -1 0 -1 0 +1 0 0 +1 0 0 1 0 0 +1 0 +1 0 -0 +1 0 0 0 0 1 -1 0 0 1 -0 +1 +1 1 0 0 +0 +1 1 0 0 @@ -4251,27 +4117,36 @@ 0 1 0 +1 0 0 0 0 -1 0 1 +1 +1 0 0 0 0 0 +1 +0 +1 0 0 0 +1 0 0 0 +1 0 0 1 +0 +0 1 0 0 @@ -4285,13 +4160,15 @@ 0 0 0 +0 1 1 0 0 +1 0 0 -0 +1 0 0 0 @@ -4299,38 +4176,42 @@ 0 0 0 +1 +1 +1 0 0 0 0 +1 0 1 +1 0 0 0 -1 0 1 +1 +1 0 0 0 0 0 -1 0 0 0 0 1 1 -1 0 1 0 0 0 0 -0 +1 0 0 0 @@ -4340,11 +4221,10 @@ 1 0 0 -1 0 -1 0 0 +1 0 0 0 @@ -4355,9 +4235,9 @@ 0 0 0 -0 -1 1 +0 +0 1 1 0 @@ -4369,39 +4249,53 @@ 0 0 0 -0 +1 0 0 1 0 -1 0 0 0 0 0 +1 +1 +0 +1 0 +1 0 0 +1 0 1 0 +1 +1 0 0 0 +1 +1 +1 +1 0 0 0 -1 0 0 0 0 0 0 +1 +1 0 0 0 +1 +1 0 0 0 @@ -4415,6 +4309,8 @@ 0 0 0 +1 +1 0 0 0 @@ -4422,18 +4318,15 @@ 0 1 1 -0 -0 1 1 0 1 +1 0 0 0 0 -1 -0 0 1 0 @@ -4443,6 +4336,8 @@ 0 0 0 +1 +1 0 0 0 @@ -4452,10 +4347,6 @@ 1 0 1 -1 -1 -0 -0 0 1 0 @@ -4463,22 +4354,15 @@ 0 0 0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 -0 +1 +1 1 0 0 0 +0 +1 1 1 1 @@ -4487,12 +4371,10 @@ 0 0 1 -0 -0 -0 1 0 0 +1 0 0 1 @@ -4502,19 +4384,16 @@ 0 0 1 -0 -0 -0 -0 1 0 0 0 -0 1 -0 +1 +1 1 0 +1 0 0 0 @@ -4522,9 +4401,6 @@ 0 0 0 -0 -1 -0 1 0 0 @@ -4532,25 +4408,35 @@ 0 0 0 -0 +1 1 0 0 0 0 0 +1 +1 0 0 0 +1 +1 0 +1 +1 +1 +1 0 0 0 +1 0 0 0 0 0 +1 0 0 0 @@ -4562,9 +4448,11 @@ 0 0 0 +1 0 1 1 +1 0 0 0 @@ -4572,11 +4460,6 @@ 0 0 0 -1 -0 -0 -0 -0 0 0 1 @@ -4584,11 +4467,16 @@ 0 0 0 +0 1 1 0 0 +1 +0 +1 0 +1 0 0 1 @@ -4600,23 +4488,38 @@ 0 1 0 +1 0 +1 0 0 +1 0 0 0 1 +1 0 0 1 +1 +1 0 0 0 0 +1 +1 +0 +1 0 +1 0 0 +1 +1 +1 +1 0 0 0 @@ -4625,7 +4528,12 @@ 0 0 1 +1 +1 +0 0 +1 +1 0 1 0 @@ -4636,7 +4544,12 @@ 1 0 1 +1 +1 +1 +0 0 +1 0 0 0 @@ -4650,26 +4563,41 @@ 0 0 0 +1 +1 0 0 +1 0 +1 +1 0 0 1 +1 0 0 0 +1 0 0 0 +1 0 0 +1 0 0 +1 +1 0 +1 0 +1 0 0 +1 +1 0 0 0 @@ -4677,18 +4605,17 @@ 0 0 0 +1 +1 0 0 1 -0 1 0 0 -1 0 0 0 -1 0 0 1 @@ -4697,7 +4624,7 @@ 0 0 0 -0 +1 0 0 1 @@ -4708,11 +4635,12 @@ 0 0 0 +1 0 0 0 0 -0 +1 0 1 0 @@ -4720,14 +4648,15 @@ 0 0 0 -1 0 0 1 +1 0 0 0 -0 +1 +1 0 0 0 @@ -4740,8 +4669,11 @@ 0 0 0 +0 1 0 +0 +0 1 0 0 @@ -4751,13 +4683,13 @@ 0 0 0 +0 1 0 0 -1 0 0 -1 +0 0 0 0 @@ -4768,11 +4700,12 @@ 0 0 1 +1 0 0 0 1 -0 +1 0 0 1 @@ -4781,25 +4714,26 @@ 0 0 0 +0 1 0 0 0 +0 1 0 0 0 0 -1 0 0 1 0 0 0 -0 1 1 +0 1 0 0 @@ -4808,105 +4742,116 @@ 0 1 1 -0 1 1 0 0 -1 0 1 0 -1 0 0 1 0 0 1 -1 0 -1 0 0 0 0 0 +1 0 0 0 -1 0 -1 -1 0 1 0 0 1 -0 1 0 0 0 +1 0 +1 0 +1 0 0 0 -1 -1 -0 0 0 +1 0 0 +1 0 +1 +1 0 +1 0 0 0 0 1 +1 0 0 0 0 0 0 +1 0 +1 +1 +1 0 0 +1 0 0 0 1 -0 1 0 1 1 0 1 -0 -0 1 -0 +1 1 0 0 +1 +1 0 0 0 0 1 +1 +1 +1 +1 0 0 0 +1 +1 +1 0 0 0 0 +1 +1 0 0 0 @@ -4914,17 +4859,22 @@ 0 0 0 +1 +1 0 0 0 1 0 -0 1 +1 +0 0 0 0 0 +1 +0 0 0 1 @@ -4934,16 +4884,22 @@ 1 0 0 +1 +1 +1 +0 0 0 0 0 1 +1 0 0 0 0 0 +1 0 0 0 @@ -4954,24 +4910,27 @@ 0 0 0 -1 0 0 0 -1 0 0 0 1 -0 +1 1 0 +1 0 0 0 0 +1 +1 0 0 +1 +1 0 0 0 @@ -4979,21 +4938,23 @@ 0 0 0 +1 0 0 0 0 0 1 -0 1 1 1 0 +1 0 0 0 -0 +1 +1 0 0 0 @@ -5003,26 +4964,48 @@ 0 1 0 +1 0 +1 0 0 0 +1 +1 0 +1 +1 +1 0 0 0 +1 +1 0 0 0 0 0 0 +1 +1 +1 +1 0 0 +1 +1 +1 +1 +1 +1 +1 0 +1 0 0 0 +1 0 0 1 @@ -5030,11 +5013,12 @@ 0 0 0 -1 0 +1 0 0 1 +1 0 0 0 @@ -5043,49 +5027,59 @@ 0 0 0 +1 0 0 -1 0 0 0 0 +0 +1 +1 1 0 +1 0 0 0 -1 0 -1 0 1 0 0 1 0 +1 0 0 1 0 -0 1 0 0 1 0 0 +1 +1 +1 0 0 +1 0 0 0 0 +1 +1 0 +1 0 0 0 0 +1 0 0 0 @@ -5096,23 +5090,19 @@ 0 0 0 -1 -0 0 1 -0 1 -0 -0 -0 1 -0 1 -0 +1 +1 +1 +1 1 0 0 -0 +1 0 0 1 @@ -5121,32 +5111,42 @@ 0 0 0 -1 -0 0 0 0 0 +1 0 0 +1 0 0 +1 0 +1 +1 0 +1 0 0 0 0 0 0 -1 0 0 0 +1 +1 +1 +1 0 0 0 0 +1 +1 0 0 0 +1