diff --git a/libprs500/communicate.py b/libprs500/communicate.py
index c40f46cef1..9963c3e5f8 100755
--- a/libprs500/communicate.py
+++ b/libprs500/communicate.py
@@ -45,12 +45,12 @@ Contains the logic for communication with the device (a SONY PRS-500).
The public interface of class L{PRS500Device} defines the methods for performing various tasks.
"""
import usb, sys, os, time
+from base64 import b64decode as decode
+from tempfile import TemporaryFile
from array import array
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
from xml.sax.handler import feature_namespaces
-from base64 import b64decode as decode
-from tempfile import TemporaryFile
from prstypes import *
from errors import *
diff --git a/libprs500/gui/database.py b/libprs500/gui/database.py
new file mode 100644
index 0000000000..e49da8ebe3
--- /dev/null
+++ b/libprs500/gui/database.py
@@ -0,0 +1,91 @@
+## Copyright (C) 2006 Kovid Goyal kovid@kovidgoyal.net
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with this program; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+import sqlite3 as sqlite
+import os, os.path, zlib
+from stat import ST_SIZE
+from libprs500.lrf.meta import LRFMetaFile
+
+
+class LibraryDatabase(object):
+
+ BOOKS_SQL = """
+ create table if not exists books_meta(id INTEGER PRIMARY KEY, title TEXT, authors TEXT, publisher TEXT, size INTEGER, tags TEXT,
+ cover BLOB, date DATE DEFAULT CURRENT_TIMESTAMP );
+ create table if not exists books_data(id INTEGER, extension TEXT, data BLOB);
+ """
+
+ def __init__(self, dbpath):
+ self.con = sqlite.connect(dbpath)
+ self.con.row_factory = sqlite.Row # Allow case insensitive field access by name
+ self.con.executescript(LibraryDatabase.BOOKS_SQL)
+
+ def get_cover(self, id):
+ raw = self.con.execute("select cover from books_meta where id=?", (id,)).next()["cover"]
+ return zlib.decompress(str(raw)) if raw else None
+
+ def get_extensions(self, id):
+ exts = []
+ cur = self.con.execute("select extension from books_data where id=?", (id,))
+ for row in cur:
+ exts.append(row["extension"])
+ return exts
+
+ def add_book(self, path):
+ file = os.path.abspath(path)
+ title, author, publisher, size, cover = os.path.basename(file), None, None, os.stat(file)[ST_SIZE], None
+ ext = title[title.rfind(".")+1:].lower() if title.find(".") > -1 else None
+ if ext == "lrf":
+ lrf = LRFMetaFile(open(file, "r+b"))
+ title, author, cover, publisher = lrf.title, lrf.author.strip(), lrf.thumbnail, lrf.publisher.strip()
+ if "unknown" in publisher.lower(): publisher = None
+ if "unknown" in author.lower(): author = None
+ file = zlib.compress(open(file).read())
+ if cover: cover = sqlite.Binary(zlib.compress(cover))
+ self.con.execute("insert into books_meta (title, authors, publisher, size, tags, cover) values (?,?,?,?,?,?)", (title, author, publisher, size, None, cover))
+ id = self.con.execute("select max(id) from books_meta").next()[0]
+ self.con.execute("insert into books_data values (?,?,?)", (id, ext, sqlite.Binary(file)))
+ self.con.commit()
+
+ def get_table(self, columns):
+ cols = ",".join([ c for c in columns])
+ cur = self.con.execute("select " + cols + " from books_meta")
+ rows = []
+ for row in cur:
+ r = {}
+ for c in columns: r[c] = row[c]
+ rows.append(r)
+ return rows
+
+ def get_meta_data(self, id):
+ try: row = self.con.execute("select * from books_meta where id=?", (id,)).next()
+ except StopIteration: return None
+ data = {}
+ for field in ("id", "title", "authors", "publisher", "size", "tags", "cover", "date"):
+ data[field] = row[field]
+ return data
+
+
+ def search(self, query): pass
+
+if __name__ == "__main__":
+ lbm = LibraryDatabase("/home/kovid/library.sqlite")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbfar01.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbfar02.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbfar03.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobblive01.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbtawny01.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbtawny02.lrf")
+# lbm.add_book("/home/kovid/documents/ebooks/hobbtawny03.lrf")
+ print lbm.get_table(["id","title"])
diff --git a/libprs500/gui/images.py b/libprs500/gui/images.py
new file mode 100644
index 0000000000..739cd346c9
--- /dev/null
+++ b/libprs500/gui/images.py
@@ -0,0 +1,1581 @@
+# Resource object code
+#
+# Created: Thu Nov 23 17:50:49 2006
+# by: The Resource Compiler for PyQt (Qt v4.1.4)
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore
+
+qt_resource_data = "\
+\x00\x00\x07\x8d\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x0e\x00\x00\x00\x16\x10\x06\x00\x00\x00\xa0\x5d\x71\x64\
+\x00\x00\x00\x06\x62\x4b\x47\x44\xff\xff\xff\xff\xff\xff\x09\x58\
+\xf7\xdc\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\
+\x00\x48\x00\x46\xc9\x6b\x3e\x00\x00\x00\x09\x76\x70\x41\x67\x00\
+\x00\x00\x0e\x00\x00\x00\x16\x00\x33\x40\x69\xae\x00\x00\x07\x18\
+\x49\x44\x41\x54\x48\xc7\xbd\xc1\xfb\x77\xce\xf7\x01\xc0\xf1\xf7\
+\xe7\xf2\xfd\x3e\x79\xf2\x4d\x82\xda\x30\xb7\xc3\x4e\x69\x8f\xd6\
+\x24\x19\x66\xab\x5e\x48\x0f\x5d\xa9\xcb\xd1\x2a\x53\xab\x0a\x45\
+\x8d\xe9\xba\x0a\xa6\xed\x4e\xac\xe5\x38\x14\x65\xba\xba\x6d\x74\
+\x2e\x67\x68\x68\x1b\x94\x56\x9a\xa2\x4d\x29\x7a\xd0\xd4\x25\x52\
+\x22\x8d\xb8\x45\x9e\x90\xe4\x79\xbe\x97\xcf\x67\xbf\xec\x6f\xd8\
+\xeb\x25\x3e\xbc\x77\xf7\x27\x7b\x27\x59\x7b\xcc\x3f\xfe\xec\xe9\
+\x5d\x90\xca\x4f\xad\xf5\x67\x43\xf0\x7d\xf0\x6b\xf3\x36\x98\xae\
+\xe6\x67\x76\x19\x98\x43\xa6\xd8\x4e\x87\xb6\x63\xdb\xae\x6a\xfd\
+\x2a\xc4\xaa\x63\x93\x62\xe5\xd0\x7c\xab\xf9\xb2\xdf\x1b\x9c\xa3\
+\xce\x01\x67\x13\xe8\xc1\x3a\x5f\x77\x80\xf4\xf3\xe9\x5b\xd3\x2a\
+\x40\xcd\x56\xdd\xe4\x1c\xc8\x29\xcb\x6e\x75\xff\x79\x90\x15\x6d\
+\x2f\x8e\xac\x1c\x01\x57\x1a\xaf\x1c\xb9\xfa\x0f\x48\xdc\x4e\xbc\
+\xd9\xb8\x0f\x52\x37\x52\x67\xfc\x45\x10\xfe\xca\x68\xe3\x02\x17\
+\xe8\x41\x11\xdc\xfa\xbe\xee\xe1\x86\x16\x90\xf8\xac\x61\x65\x53\
+\x00\xea\xa2\x2e\x72\xbe\x03\xd6\x8b\x5a\x71\x0c\xcc\x21\xb3\xd7\
+\x5e\x81\xbb\x55\x77\x1f\x6d\x7a\x06\x6e\x1e\xbe\xf9\xc7\xc4\x18\
+\xa8\x1f\x59\xff\xe9\x9d\x81\xa0\x53\x3b\x93\x3b\x52\x53\xc0\xdb\
+\xe5\x25\x3c\x09\x33\xae\x4f\x1f\xfd\xc2\x74\x90\x05\x52\xca\xf6\
+\x20\x47\x4b\x4f\x3e\x05\x62\x04\x31\x11\x82\x98\x26\x3b\xf3\x3e\
+\x88\xd7\x65\x3a\xaf\x82\xca\x95\xa5\x72\x08\x34\xf7\x6c\x3e\x9b\
+\x5a\x0f\xea\x01\x75\x44\x56\x82\x3a\xaf\x76\xe9\x1e\xb0\xf6\xb1\
+\x75\xa3\xb7\xfd\x08\xa6\x7b\x54\x15\x1d\x05\x19\xfc\x24\x1c\x12\
+\x54\x82\xb8\x86\xb2\x63\xc0\xde\xb6\xd7\x6d\x1d\xf0\x03\x95\x54\
+\x83\x3d\x6a\x8f\xdb\xb3\x40\x23\x31\x5b\x04\x74\x62\x06\x25\xc0\
+\x17\xb6\x98\x6f\xc1\xfe\x95\x77\xec\x02\x48\xff\x8b\xf7\x4a\xda\
+\x47\x10\xaf\x8e\x5f\x8d\x57\x83\xea\xa0\x06\xca\x09\x20\xbb\xa9\
+\xdf\x0b\x05\x76\x9d\xfd\xdc\xf6\x00\x4d\x8e\x09\xe8\x03\x72\xb1\
+\x7c\x57\xec\x00\x3e\xc7\x65\x13\x50\x49\x25\x95\xc0\x49\x4e\x72\
+\x12\x6c\xc8\x69\x3e\x07\xd1\xc7\x8e\xa5\x2b\xd0\x45\xe4\x13\x83\
+\x9a\x4e\x3f\xf6\xaa\x7d\x11\xc4\x76\xd1\x85\x9e\xe0\xbe\xe2\x8e\
+\x73\x0b\x20\xbd\x3e\x7d\x9e\xf7\x1d\xd8\x22\x3b\xc2\x66\x81\x7c\
+\x58\x1e\x97\x6d\x40\x9b\xf7\xec\x36\x73\x00\xc4\xe3\x34\x53\x0e\
+\xfe\x5c\x3f\xc3\x77\x21\x9c\x19\xce\x0c\xff\x0c\x3a\xa1\x13\x3a\
+\x01\xb2\x8b\xec\x22\xff\x0e\x76\x8d\x1d\x63\x67\x80\xc8\x17\x0f\
+\x88\x83\x90\x35\x34\x6b\x67\xd6\x0b\x20\x0b\xd5\xd7\x22\x00\x71\
+\x43\xac\x11\xfb\x21\x6d\x75\xac\x63\xec\x3f\x10\x1d\x8e\x26\x45\
+\x3b\x00\x97\xa5\xf6\x41\xd0\x66\x9f\x09\xcd\x1e\xb0\x97\x79\xdf\
+\xfa\x10\xac\x0d\xc6\x04\x71\x68\xcc\x6b\xcc\x6b\xcc\x03\x35\x5f\
+\xcd\x57\x7f\x02\x73\xdd\x5c\x37\xb5\x10\x6f\x8e\x37\xc7\x9b\xc0\
+\xfe\xd3\x1e\xb0\xd7\xc0\x1d\xe6\xfe\xc2\x19\x05\x7e\xef\xc6\x97\
+\x83\x21\xa0\x4b\xb5\x54\xb5\x10\x2b\x74\x6b\xd2\x3e\x02\xb9\x57\
+\xd4\x52\x08\xb2\x42\x2c\x90\x93\x41\xd2\x8e\x45\x8c\x00\xb3\x23\
+\x5a\x67\x2a\x80\xb9\xcc\x15\x73\x41\x0d\x53\xc3\xd4\x30\xd0\x0b\
+\xf5\x42\xbd\x04\xe4\x39\x79\x4e\x5e\x02\x73\xd3\xdc\x34\x77\x81\
+\x41\x0c\x62\x1c\x84\x4f\x86\x4f\x46\x0a\x44\x8d\xb8\xca\x31\x30\
+\x81\x91\x26\x05\xf6\x43\x7b\xd4\xac\x00\x35\x58\x65\xab\xc5\x20\
+\x97\xab\xe1\xb2\x37\xe8\x70\x6a\xd8\x18\x3d\x08\xb6\xc0\x26\xcc\
+\x66\x70\xca\x9c\x32\xfd\x2c\x34\x4c\x6d\x98\xea\x77\x06\x56\xb2\
+\x92\x95\x10\x2b\x8d\x95\xc6\x3e\x85\xf8\x8d\xf8\x8d\x78\x3d\xd8\
+\x94\x4d\xd9\x0a\x70\xad\xfb\x84\x53\x06\x69\xcb\xe2\x6e\x6c\x32\
+\xc8\x6b\xf2\x3d\x51\x01\xe1\x23\xe1\x3b\x51\x11\xd8\x91\xf6\x45\
+\xbb\x0a\xec\xfd\x36\xd3\x96\x80\x16\xab\x19\xc7\x72\x90\xef\xc8\
+\x19\xb2\x0c\xc8\x62\x1c\x40\xbc\x24\x5e\x12\x57\xe0\xc7\xfd\xb8\
+\xaf\x21\x1a\x1d\x8d\x8e\xc6\x41\xd3\x95\xa6\x2b\x4d\x55\x60\xa6\
+\x98\x29\x66\x14\xd4\x9f\x4d\x6c\x08\x66\x42\x8b\x4d\x59\xa5\x59\
+\x03\x21\xd8\x15\x78\xc1\xcb\xd0\xe2\xcd\x96\x63\xb2\xde\x00\x7b\
+\xd2\x16\x33\x13\xec\x44\x9b\x4d\x37\x90\xe6\x69\x7b\xc2\xee\x01\
+\x27\x43\x7d\xaf\xb6\x40\x98\x1d\x66\x87\xd9\x10\x66\x86\x99\xa1\
+\x0b\x69\x05\x69\x05\x69\xcf\x41\xf0\x54\xf0\x54\xf0\x24\xd8\x72\
+\x5b\x6e\xcb\x80\xa7\x79\x9a\x67\x20\xf3\x6f\x19\xf3\x32\x15\x84\
+\x5b\xc2\xb7\xc2\x5c\x90\x55\xf2\x80\x9c\x0c\xe2\x0d\xb4\xe8\x03\
+\xb2\x95\x5c\x21\x32\x80\x8d\xf6\x37\x76\x18\xe8\x68\x60\xb8\x32\
+\x3a\x07\xbc\x24\xce\x88\x5b\x20\x0b\x65\xa1\x2c\x04\x1b\xd8\xc0\
+\x36\x40\x70\x2a\x38\xe5\xff\x0b\xbc\xc5\xde\x62\x0f\x10\x83\xc5\
+\x60\x31\x04\xd8\xcf\x7e\x8e\x80\x2a\x56\xc5\x6a\x05\x48\x57\xb6\
+\x11\xe5\xa0\x76\xeb\x7b\xd4\xa7\x60\x3b\x72\x9b\x19\xc0\x36\xbb\
+\x99\x9d\x60\x73\x79\x94\x04\xe8\xe0\x9e\xa0\xdc\xdf\x05\x4d\x5e\
+\x73\x61\xd8\x15\x9c\x8b\xce\x25\x27\x04\x35\x5e\x8d\x57\x23\x40\
+\xe5\xa9\x3c\xb5\x03\xf4\x52\xbd\x54\x6f\x01\xff\x03\xff\x03\xff\
+\x08\x38\xb5\x4e\xad\x53\x0d\x41\x6e\x90\x1b\xa4\x81\xda\xa8\x77\
+\xab\x2c\xa0\x86\x2c\xe6\x80\x1a\x2e\x0f\xca\x22\xa0\x82\x36\xf4\
+\x84\x68\x5d\xd4\x2a\xea\x0c\xda\x78\xe6\x98\x59\x02\xfe\xe2\xd4\
+\xbe\xd4\x65\xf0\x97\xf9\x7b\xfd\x35\xa0\xaa\x54\x95\x0a\xc0\x0c\
+\x37\xc3\xcd\x50\x48\xe6\x27\xf3\x93\xf9\xa0\x07\xe8\x01\x7a\x00\
+\x04\x1b\x82\x0d\xc1\x06\x50\x1d\x54\x07\xd5\x1e\xa2\x9e\xe1\x89\
+\x28\x07\x58\x65\xdf\xa7\x2d\xa0\xe2\x67\x58\x0a\xfe\x9c\xb0\x7f\
+\xb8\x11\xa2\xf2\x68\x99\x59\x05\x5a\xc7\x75\x6b\xfd\x10\x88\x02\
+\x39\x47\x96\x01\x5f\xe2\x50\x03\x6c\x65\x2b\x5b\x40\xd6\xc9\x3a\
+\xd9\x08\x28\x14\x0a\xc2\x83\xe1\xc1\xf0\x13\x30\xcf\x9b\xe7\xcd\
+\x78\x90\xf5\xb2\x5e\x36\x83\xec\x24\x3b\xc9\x3e\x60\x2b\xec\x29\
+\x6b\x80\x93\x2c\x12\x9f\x41\x58\x14\x3e\x62\xbe\x82\xf0\x8b\x30\
+\x19\xfd\x01\xb4\x3c\xaf\x5e\x93\x71\x08\x4b\x82\x01\xd1\x10\x50\
+\x47\xd4\x0a\xdd\x03\xbc\x9e\x5e\x5f\xa7\x14\x48\x92\x20\x00\x1c\
+\x24\x97\x41\xe4\x8a\x5c\xb1\x1e\xb8\x20\xb4\xc8\x01\xf9\x92\x18\
+\x25\x24\xc8\x46\xf9\x9d\x2c\x02\x39\x4f\x2e\x97\x8d\x90\xdc\x9c\
+\x2c\x4e\xcd\x04\x14\x7d\xb9\x05\x66\x42\xb4\x3c\x1a\x0e\x62\xce\
+\xb2\xd9\x97\xdf\x68\xb4\xb6\xe2\xda\xc5\x05\xd5\x77\x40\x1d\x56\
+\x4f\xe8\x33\xe0\xf4\x76\xcf\xc6\x4a\x40\x06\x32\x29\x4f\x01\xfb\
+\xb8\x22\x4e\x80\xdd\x47\x36\x2d\x41\x56\xca\x06\xb1\x11\x44\x4b\
+\x71\x54\x9e\x06\xf7\x96\x3b\xc0\xad\x07\x3d\x54\x77\x54\x67\x40\
+\xdd\x51\xdd\xd4\x1e\xf0\x7a\xa5\x77\xcd\x7c\x05\x72\xd6\xe7\x4c\
+\xbb\x6f\x22\x48\x67\x62\xec\x41\xf7\x04\x98\xa4\x39\x6d\xa7\xc2\
+\x7d\xaf\xdd\xdb\xbd\x73\x7f\xe8\x30\xac\x5d\x59\xeb\x02\x08\x4d\
+\xb8\xc5\xf4\x87\x70\x7e\xd4\xde\xf6\x02\x51\x23\x6a\x54\x5f\x60\
+\x27\xdd\x9d\x6d\xa0\x7b\x39\x7b\xd3\x4b\xc0\x2d\x76\xff\xed\xb5\
+\x87\x3b\xfd\x1a\x16\xdc\x58\x0b\xd1\xde\xf0\xab\xa6\xf9\x10\xdb\
+\x1e\x1f\xe5\x95\x01\xf5\x76\x89\x18\x04\xd2\x0b\xbd\xb8\xd7\x0d\
+\xbc\xba\xf4\xd5\x5e\x3b\xc8\x4b\x7b\x7c\xde\xa3\x13\xc0\xf4\x30\
+\xdf\x44\x1d\x81\x67\xec\x6f\xd9\x0d\xa6\x83\x99\x65\xc6\x42\xab\
+\x3e\x2d\xfb\x67\x7a\x10\xaf\x4b\xdb\xee\x7a\x10\x8e\xf5\x37\x07\
+\x3f\x05\x7f\xb1\x3f\x28\x38\x06\x19\x81\xf7\x3b\x67\x2b\x34\x6c\
+\x4d\x1c\xba\xb1\x14\x82\xc1\xfe\x71\xff\x4b\x70\xe6\x38\xdf\xe8\
+\x69\x20\x3e\xae\xfb\xf8\xeb\x03\x49\x6b\x0f\xbf\x75\xe8\x93\xe3\
+\xb3\x21\xe9\x27\xeb\x52\xa5\x90\x9a\xe5\x3f\x96\x4c\x80\x7e\x5d\
+\xf6\xd3\xd7\xe1\xfa\x2f\x6f\x56\xd5\x77\x04\x3b\x4a\x4c\x10\xb7\
+\x41\xb6\x97\xb3\x54\x37\x88\x3d\xec\x16\xb8\x0b\xc1\xdb\x94\xf1\
+\x5c\x66\x1e\xa4\x1f\x8e\xef\x11\x23\xa1\xe5\xe4\x16\x97\x32\xf7\
+\x43\xe6\x9d\x16\xed\xb2\xe6\x41\xbf\x41\x7d\x1b\x72\x56\x83\xb0\
+\x35\xb6\xc1\x5e\xb5\x96\x4c\x12\xfc\x00\x38\x04\x74\x02\x0c\x0e\
+\x97\x81\xb1\xd6\xb1\x75\x60\xfb\xd3\xdd\x3e\x04\xe1\xd4\xa8\x8d\
+\xf9\x16\xd4\xbb\x72\x99\x1a\x09\x72\xbc\x7c\x48\x6c\x04\x32\x80\
+\xce\x40\x88\x8b\x06\x0c\x86\x96\xc0\x5d\xaa\xb9\x00\x68\xda\xf3\
+\x73\x10\xf6\x7f\xf8\x3f\xf9\x2f\xad\x1c\x3d\x20\x0d\xb1\x40\xd8\
+\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x0e\xcf\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x0a\x4d\x69\x43\x43\x50\x50\x68\x6f\
+\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\x43\x20\x70\x72\x6f\x66\x69\
+\x6c\x65\x00\x00\x78\xda\x9d\x53\x77\x58\x93\xf7\x16\x3e\xdf\xf7\
+\x65\x0f\x56\x42\xd8\xf0\xb1\x97\x6c\x81\x00\x22\x23\xac\x08\xc8\
+\x10\x59\xa2\x10\x92\x00\x61\x84\x10\x12\x40\xc5\x85\x88\x0a\x56\
+\x14\x15\x11\x9c\x48\x55\xc4\x82\xd5\x0a\x48\x9d\x88\xe2\xa0\x28\
+\xb8\x67\x41\x8a\x88\x5a\x8b\x55\x5c\x38\xee\x1f\xdc\xa7\xb5\x7d\
+\x7a\xef\xed\xed\xfb\xd7\xfb\xbc\xe7\x9c\xe7\xfc\xce\x79\xcf\x0f\
+\x80\x11\x12\x26\x91\xe6\xa2\x6a\x00\x39\x52\x85\x3c\x3a\xd8\x1f\
+\x8f\x4f\x48\xc4\xc9\xbd\x80\x02\x15\x48\xe0\x04\x20\x10\xe6\xcb\
+\xc2\x67\x05\xc5\x00\x00\xf0\x03\x79\x78\x7e\x74\xb0\x3f\xfc\x01\
+\xaf\x6f\x00\x02\x00\x70\xd5\x2e\x24\x12\xc7\xe1\xff\x83\xba\x50\
+\x26\x57\x00\x20\x91\x00\xe0\x22\x12\xe7\x0b\x01\x90\x52\x00\xc8\
+\x2e\x54\xc8\x14\x00\xc8\x18\x00\xb0\x53\xb3\x64\x0a\x00\x94\x00\
+\x00\x6c\x79\x7c\x42\x22\x00\xaa\x0d\x00\xec\xf4\x49\x3e\x05\x00\
+\xd8\xa9\x93\xdc\x17\x00\xd8\xa2\x1c\xa9\x08\x00\x8d\x01\x00\x99\
+\x28\x47\x24\x02\x40\xbb\x00\x60\x55\x81\x52\x2c\x02\xc0\xc2\x00\
+\xa0\xac\x40\x22\x2e\x04\xc0\xae\x01\x80\x59\xb6\x32\x47\x02\x80\
+\xbd\x05\x00\x76\x8e\x58\x90\x0f\x40\x60\x00\x80\x99\x42\x2c\xcc\
+\x00\x20\x38\x02\x00\x43\x1e\x13\xcd\x03\x20\x4c\x03\xa0\x30\xd2\
+\xbf\xe0\xa9\x5f\x70\x85\xb8\x48\x01\x00\xc0\xcb\x95\xcd\x97\x4b\
+\xd2\x33\x14\xb8\x95\xd0\x1a\x77\xf2\xf0\xe0\xe2\x21\xe2\xc2\x6c\
+\xb1\x42\x61\x17\x29\x10\x66\x09\xe4\x22\x9c\x97\x9b\x23\x13\x48\
+\xe7\x03\x4c\xce\x0c\x00\x00\x1a\xf9\xd1\xc1\xfe\x38\x3f\x90\xe7\
+\xe6\xe4\xe1\xe6\x66\xe7\x6c\xef\xf4\xc5\xa2\xfe\x6b\xf0\x6f\x22\
+\x3e\x21\xf1\xdf\xfe\xbc\x8c\x02\x04\x00\x10\x4e\xcf\xef\xda\x5f\
+\xe5\xe5\xd6\x03\x70\xc7\x01\xb0\x75\xbf\x6b\xa9\x5b\x00\xda\x56\
+\x00\x68\xdf\xf9\x5d\x33\xdb\x09\xa0\x5a\x0a\xd0\x7a\xf9\x8b\x79\
+\x38\xfc\x40\x1e\x9e\xa1\x50\xc8\x3c\x1d\x1c\x0a\x0b\x0b\xed\x25\
+\x62\xa1\xbd\x30\xe3\x8b\x3e\xff\x33\xe1\x6f\xe0\x8b\x7e\xf6\xfc\
+\x40\x1e\xfe\xdb\x7a\xf0\x00\x71\x9a\x40\x99\xad\xc0\xa3\x83\xfd\
+\x71\x61\x6e\x76\xae\x52\x8e\xe7\xcb\x04\x42\x31\x6e\xf7\xe7\x23\
+\xfe\xc7\x85\x7f\xfd\x8e\x29\xd1\xe2\x34\xb1\x5c\x2c\x15\x8a\xf1\
+\x58\x89\xb8\x50\x22\x4d\xc7\x79\xb9\x52\x91\x44\x21\xc9\x95\xe2\
+\x12\xe9\x7f\x32\xf1\x1f\x96\xfd\x09\x93\x77\x0d\x00\xac\x86\x4f\
+\xc0\x4e\xb6\x07\xb5\xcb\x6c\xc0\x7e\xee\x01\x02\x8b\x0e\x58\xd2\
+\x76\x00\x40\x7e\xf3\x2d\x8c\x1a\x0b\x91\x00\x10\x67\x34\x32\x79\
+\xf7\x00\x00\x93\xbf\xf9\x8f\x40\x2b\x01\x00\xcd\x97\xa4\xe3\x00\
+\x00\xbc\xe8\x18\x5c\xa8\x94\x17\x4c\xc6\x08\x00\x00\x44\xa0\x81\
+\x2a\xb0\x41\x07\x0c\xc1\x14\xac\xc0\x0e\x9c\xc1\x1d\xbc\xc0\x17\
+\x02\x61\x06\x44\x40\x0c\x24\xc0\x3c\x10\x42\x06\xe4\x80\x1c\x0a\
+\xa1\x18\x96\x41\x19\x54\xc0\x3a\xd8\x04\xb5\xb0\x03\x1a\xa0\x11\
+\x9a\xe1\x10\xb4\xc1\x31\x38\x0d\xe7\xe0\x12\x5c\x81\xeb\x70\x17\
+\x06\x60\x18\x9e\xc2\x18\xbc\x86\x09\x04\x41\xc8\x08\x13\x61\x21\
+\x3a\x88\x11\x62\x8e\xd8\x22\xce\x08\x17\x99\x8e\x04\x22\x61\x48\
+\x34\x92\x80\xa4\x20\xe9\x88\x14\x51\x22\xc5\xc8\x72\xa4\x02\xa9\
+\x42\x6a\x91\x5d\x48\x23\xf2\x2d\x72\x14\x39\x8d\x5c\x40\xfa\x90\
+\xdb\xc8\x20\x32\x8a\xfc\x8a\xbc\x47\x31\x94\x81\xb2\x51\x03\xd4\
+\x02\x75\x40\xb9\xa8\x1f\x1a\x8a\xc6\xa0\x73\xd1\x74\x34\x0f\x5d\
+\x80\x96\xa2\x6b\xd1\x1a\xb4\x1e\x3d\x80\xb6\xa2\xa7\xd1\x4b\xe8\
+\x75\x74\x00\x7d\x8a\x8e\x63\x80\xd1\x31\x0e\x66\x8c\xd9\x61\x5c\
+\x8c\x87\x45\x60\x89\x58\x1a\x26\xc7\x16\x63\xe5\x58\x35\x56\x8f\
+\x35\x63\x1d\x58\x37\x76\x15\x1b\xc0\x9e\x61\xef\x08\x24\x02\x8b\
+\x80\x13\xec\x08\x5e\x84\x10\xc2\x6c\x82\x90\x90\x47\x58\x4c\x58\
+\x43\xa8\x25\xec\x23\xb4\x12\xba\x08\x57\x09\x83\x84\x31\xc2\x27\
+\x22\x93\xa8\x4f\xb4\x25\x7a\x12\xf9\xc4\x78\x62\x3a\xb1\x90\x58\
+\x46\xac\x26\xee\x21\x1e\x21\x9e\x25\x5e\x27\x0e\x13\x5f\x93\x48\
+\x24\x0e\xc9\x92\xe4\x4e\x0a\x21\x25\x90\x32\x49\x0b\x49\x6b\x48\
+\xdb\x48\x2d\xa4\x53\xa4\x3e\xd2\x10\x69\x9c\x4c\x26\xeb\x90\x6d\
+\xc9\xde\xe4\x08\xb2\x80\xac\x20\x97\x91\xb7\x90\x0f\x90\x4f\x92\
+\xfb\xc9\xc3\xe4\xb7\x14\x3a\xc5\x88\xe2\x4c\x09\xa2\x24\x52\xa4\
+\x94\x12\x4a\x35\x65\x3f\xe5\x04\xa5\x9f\x32\x42\x99\xa0\xaa\x51\
+\xcd\xa9\x9e\xd4\x08\xaa\x88\x3a\x9f\x5a\x49\x6d\xa0\x76\x50\x2f\
+\x53\x87\xa9\x13\x34\x75\x9a\x25\xcd\x9b\x16\x43\xcb\xa4\x2d\xa3\
+\xd5\xd0\x9a\x69\x67\x69\xf7\x68\x2f\xe9\x74\xba\x09\xdd\x83\x1e\
+\x45\x97\xd0\x97\xd2\x6b\xe8\x07\xe9\xe7\xe9\x83\xf4\x77\x0c\x0d\
+\x86\x0d\x83\xc7\x48\x62\x28\x19\x6b\x19\x7b\x19\xa7\x18\xb7\x19\
+\x2f\x99\x4c\xa6\x05\xd3\x97\x99\xc8\x54\x30\xd7\x32\x1b\x99\x67\
+\x98\x0f\x98\x6f\x55\x58\x2a\xf6\x2a\x7c\x15\x91\xca\x12\x95\x3a\
+\x95\x56\x95\x7e\x95\xe7\xaa\x54\x55\x73\x55\x3f\xd5\x79\xaa\x0b\
+\x54\xab\x55\x0f\xab\x5e\x56\x7d\xa6\x46\x55\xb3\x50\xe3\xa9\x09\
+\xd4\x16\xab\xd5\xa9\x1d\x55\xbb\xa9\x36\xae\xce\x52\x77\x52\x8f\
+\x50\xcf\x51\x5f\xa3\xbe\x5f\xfd\x82\xfa\x63\x0d\xb2\x86\x85\x46\
+\xa0\x86\x48\xa3\x54\x63\xb7\xc6\x19\x8d\x21\x16\xc6\x32\x65\xf1\
+\x58\x42\xd6\x72\x56\x03\xeb\x2c\x6b\x98\x4d\x62\x5b\xb2\xf9\xec\
+\x4c\x76\x05\xfb\x1b\x76\x2f\x7b\x4c\x53\x43\x73\xaa\x66\xac\x66\
+\x91\x66\x9d\xe6\x71\xcd\x01\x0e\xc6\xb1\xe0\xf0\x39\xd9\x9c\x4a\
+\xce\x21\xce\x0d\xce\x7b\x2d\x03\x2d\x3f\x2d\xb1\xd6\x6a\xad\x66\
+\xad\x7e\xad\x37\xda\x7a\xda\xbe\xda\x62\xed\x72\xed\x16\xed\xeb\
+\xda\xef\x75\x70\x9d\x40\x9d\x2c\x9d\xf5\x3a\x6d\x3a\xf7\x75\x09\
+\xba\x36\xba\x51\xba\x85\xba\xdb\x75\xcf\xea\x3e\xd3\x63\xeb\x79\
+\xe9\x09\xf5\xca\xf5\x0e\xe9\xdd\xd1\x47\xf5\x6d\xf4\xa3\xf5\x17\
+\xea\xef\xd6\xef\xd1\x1f\x37\x30\x34\x08\x36\x90\x19\x6c\x31\x38\
+\x63\xf0\xcc\x90\x63\xe8\x6b\x98\x69\xb8\xd1\xf0\x84\xe1\xa8\x11\
+\xcb\x68\xba\x91\xc4\x68\xa3\xd1\x49\xa3\x27\xb8\x26\xee\x87\x67\
+\xe3\x35\x78\x17\x3e\x66\xac\x6f\x1c\x62\xac\x34\xde\x65\xdc\x6b\
+\x3c\x61\x62\x69\x32\xdb\xa4\xc4\xa4\xc5\xe4\xbe\x29\xcd\x94\x6b\
+\x9a\x66\xba\xd1\xb4\xd3\x74\xcc\xcc\xc8\x2c\xdc\xac\xd8\xac\xc9\
+\xec\x8e\x39\xd5\x9c\x6b\x9e\x61\xbe\xd9\xbc\xdb\xfc\x8d\x85\xa5\
+\x45\x9c\xc5\x4a\x8b\x36\x8b\xc7\x96\xda\x96\x7c\xcb\x05\x96\x4d\
+\x96\xf7\xac\x98\x56\x3e\x56\x79\x56\xf5\x56\xd7\xac\x49\xd6\x5c\
+\xeb\x2c\xeb\x6d\xd6\x57\x6c\x50\x1b\x57\x9b\x0c\x9b\x3a\x9b\xcb\
+\xb6\xa8\xad\x9b\xad\xc4\x76\x9b\x6d\xdf\x14\xe2\x14\x8f\x29\xd2\
+\x29\xf5\x53\x6e\xda\x31\xec\xfc\xec\x0a\xec\x9a\xec\x06\xed\x39\
+\xf6\x61\xf6\x25\xf6\x6d\xf6\xcf\x1d\xcc\x1c\x12\x1d\xd6\x3b\x74\
+\x3b\x7c\x72\x74\x75\xcc\x76\x6c\x70\xbc\xeb\xa4\xe1\x34\xc3\xa9\
+\xc4\xa9\xc3\xe9\x57\x67\x1b\x67\xa1\x73\x9d\xf3\x35\x17\xa6\x4b\
+\x90\xcb\x12\x97\x76\x97\x17\x53\x6d\xa7\x8a\xa7\x6e\x9f\x7a\xcb\
+\x95\xe5\x1a\xee\xba\xd2\xb5\xd3\xf5\xa3\x9b\xbb\x9b\xdc\xad\xd9\
+\x6d\xd4\xdd\xcc\x3d\xc5\x7d\xab\xfb\x4d\x2e\x9b\x1b\xc9\x5d\xc3\
+\x3d\xef\x41\xf4\xf0\xf7\x58\xe2\x71\xcc\xe3\x9d\xa7\x9b\xa7\xc2\
+\xf3\x90\xe7\x2f\x5e\x76\x5e\x59\x5e\xfb\xbd\x1e\x4f\xb3\x9c\x26\
+\x9e\xd6\x30\x6d\xc8\xdb\xc4\x5b\xe0\xbd\xcb\x7b\x60\x3a\x3e\x3d\
+\x65\xfa\xce\xe9\x03\x3e\xc6\x3e\x02\x9f\x7a\x9f\x87\xbe\xa6\xbe\
+\x22\xdf\x3d\xbe\x23\x7e\xd6\x7e\x99\x7e\x07\xfc\x9e\xfb\x3b\xfa\
+\xcb\xfd\x8f\xf8\xbf\xe1\x79\xf2\x16\xf1\x4e\x05\x60\x01\xc1\x01\
+\xe5\x01\xbd\x81\x1a\x81\xb3\x03\x6b\x03\x1f\x04\x99\x04\xa5\x07\
+\x35\x05\x8d\x05\xbb\x06\x2f\x0c\x3e\x15\x42\x0c\x09\x0d\x59\x1f\
+\x72\x93\x6f\xc0\x17\xf2\x1b\xf9\x63\x33\xdc\x67\x2c\x9a\xd1\x15\
+\xca\x08\x9d\x15\x5a\x1b\xfa\x30\xcc\x26\x4c\x1e\xd6\x11\x8e\x86\
+\xcf\x08\xdf\x10\x7e\x6f\xa6\xf9\x4c\xe9\xcc\xb6\x08\x88\xe0\x47\
+\x6c\x88\xb8\x1f\x69\x19\x99\x17\xf9\x7d\x14\x29\x2a\x32\xaa\x2e\
+\xea\x51\xb4\x53\x74\x71\x74\xf7\x2c\xd6\xac\xe4\x59\xfb\x67\xbd\
+\x8e\xf1\x8f\xa9\x8c\xb9\x3b\xdb\x6a\xb6\x72\x76\x67\xac\x6a\x6c\
+\x52\x6c\x63\xec\x9b\xb8\x80\xb8\xaa\xb8\x81\x78\x87\xf8\x45\xf1\
+\x97\x12\x74\x13\x24\x09\xed\x89\xe4\xc4\xd8\xc4\x3d\x89\xe3\x73\
+\x02\xe7\x6c\x9a\x33\x9c\xe4\x9a\x54\x96\x74\x63\xae\xe5\xdc\xa2\
+\xb9\x17\xe6\xe9\xce\xcb\x9e\x77\x3c\x59\x35\x59\x90\x7c\x38\x85\
+\x98\x12\x97\xb2\x3f\xe5\x83\x20\x42\x50\x2f\x18\x4f\xe5\xa7\x6e\
+\x4d\x1d\x13\xf2\x84\x9b\x85\x4f\x45\xbe\xa2\x8d\xa2\x51\xb1\xb7\
+\xb8\x4a\x3c\x92\xe6\x9d\x56\x95\xf6\x38\xdd\x3b\x7d\x43\xfa\x68\
+\x86\x4f\x46\x75\xc6\x33\x09\x4f\x52\x2b\x79\x91\x19\x92\xb9\x23\
+\xf3\x4d\x56\x44\xd6\xde\xac\xcf\xd9\x71\xd9\x2d\x39\x94\x9c\x94\
+\x9c\xa3\x52\x0d\x69\x96\xb4\x2b\xd7\x30\xb7\x28\xb7\x4f\x66\x2b\
+\x2b\x93\x0d\xe4\x79\xe6\x6d\xca\x1b\x93\x87\xca\xf7\xe4\x23\xf9\
+\x73\xf3\xdb\x15\x6c\x85\x4c\xd1\xa3\xb4\x52\xae\x50\x0e\x16\x4c\
+\x2f\xa8\x2b\x78\x5b\x18\x5b\x78\xb8\x48\xbd\x48\x5a\xd4\x33\xdf\
+\x66\xfe\xea\xf9\x23\x0b\x82\x16\x7c\xbd\x90\xb0\x50\xb8\xb0\xb3\
+\xd8\xb8\x78\x59\xf1\xe0\x22\xbf\x45\xbb\x16\x23\x8b\x53\x17\x77\
+\x2e\x31\x5d\x52\xba\x64\x78\x69\xf0\xd2\x7d\xcb\x68\xcb\xb2\x96\
+\xfd\x50\xe2\x58\x52\x55\xf2\x6a\x79\xdc\xf2\x8e\x52\x83\xd2\xa5\
+\xa5\x43\x2b\x82\x57\x34\x95\xa9\x94\xc9\xcb\x6e\xae\xf4\x5a\xb9\
+\x63\x15\x61\x95\x64\x55\xef\x6a\x97\xd5\x5b\x56\x7f\x2a\x17\x95\
+\x5f\xac\x70\xac\xa8\xae\xf8\xb0\x46\xb8\xe6\xe2\x57\x4e\x5f\xd5\
+\x7c\xf5\x79\x6d\xda\xda\xde\x4a\xb7\xca\xed\xeb\x48\xeb\xa4\xeb\
+\x6e\xac\xf7\x59\xbf\xaf\x4a\xbd\x6a\x41\xd5\xd0\x86\xf0\x0d\xad\
+\x1b\xf1\x8d\xe5\x1b\x5f\x6d\x4a\xde\x74\xa1\x7a\x6a\xf5\x8e\xcd\
+\xb4\xcd\xca\xcd\x03\x35\x61\x35\xed\x5b\xcc\xb6\xac\xdb\xf2\xa1\
+\x36\xa3\xf6\x7a\x9d\x7f\x5d\xcb\x56\xfd\xad\xab\xb7\xbe\xd9\x26\
+\xda\xd6\xbf\xdd\x77\x7b\xf3\x0e\x83\x1d\x15\x3b\xde\xef\x94\xec\
+\xbc\xb5\x2b\x78\x57\x6b\xbd\x45\x7d\xf5\x6e\xd2\xee\x82\xdd\x8f\
+\x1a\x62\x1b\xba\xbf\xe6\x7e\xdd\xb8\x47\x77\x4f\xc5\x9e\x8f\x7b\
+\xa5\x7b\x07\xf6\x45\xef\xeb\x6a\x74\x6f\x6c\xdc\xaf\xbf\xbf\xb2\
+\x09\x6d\x52\x36\x8d\x1e\x48\x3a\x70\xe5\x9b\x80\x6f\xda\x9b\xed\
+\x9a\x77\xb5\x70\x5a\x2a\x0e\xc2\x41\xe5\xc1\x27\xdf\xa6\x7c\x7b\
+\xe3\x50\xe8\xa1\xce\xc3\xdc\xc3\xcd\xdf\x99\x7f\xb7\xf5\x08\xeb\
+\x48\x79\x2b\xd2\x3a\xbf\x75\xac\x2d\xa3\x6d\xa0\x3d\xa1\xbd\xef\
+\xe8\x8c\xa3\x9d\x1d\x5e\x1d\x47\xbe\xb7\xff\x7e\xef\x31\xe3\x63\
+\x75\xc7\x35\x8f\x57\x9e\xa0\x9d\x28\x3d\xf1\xf9\xe4\x82\x93\xe3\
+\xa7\x64\xa7\x9e\x9d\x4e\x3f\x3d\xd4\x99\xdc\x79\xf7\x4c\xfc\x99\
+\x6b\x5d\x51\x5d\xbd\x67\x43\xcf\x9e\x3f\x17\x74\xee\x4c\xb7\x5f\
+\xf7\xc9\xf3\xde\xe7\x8f\x5d\xf0\xbc\x70\xf4\x22\xf7\x62\xdb\x25\
+\xb7\x4b\xad\x3d\xae\x3d\x47\x7e\x70\xfd\xe1\x48\xaf\x5b\x6f\xeb\
+\x65\xf7\xcb\xed\x57\x3c\xae\x74\xf4\x4d\xeb\x3b\xd1\xef\xd3\x7f\
+\xfa\x6a\xc0\xd5\x73\xd7\xf8\xd7\x2e\x5d\x9f\x79\xbd\xef\xc6\xec\
+\x1b\xb7\x6e\x26\xdd\x1c\xb8\x25\xba\xf5\xf8\x76\xf6\xed\x17\x77\
+\x0a\xee\x4c\xdc\x5d\x7a\x8f\x78\xaf\xfc\xbe\xda\xfd\xea\x07\xfa\
+\x0f\xea\x7f\xb4\xfe\xb1\x65\xc0\x6d\xe0\xf8\x60\xc0\x60\xcf\xc3\
+\x59\x0f\xef\x0e\x09\x87\x9e\xfe\x94\xff\xd3\x87\xe1\xd2\x47\xcc\
+\x47\xd5\x23\x46\x23\x8d\x8f\x9d\x1f\x1f\x1b\x0d\x1a\xbd\xf2\x64\
+\xce\x93\xe1\xa7\xb2\xa7\x13\xcf\xca\x7e\x56\xff\x79\xeb\x73\xab\
+\xe7\xdf\xfd\xe2\xfb\x4b\xcf\x58\xfc\xd8\xf0\x0b\xf9\x8b\xcf\xbf\
+\xae\x79\xa9\xf3\x72\xef\xab\xa9\xaf\x3a\xc7\x23\xc7\x1f\xbc\xce\
+\x79\x3d\xf1\xa6\xfc\xad\xce\xdb\x7d\xef\xb8\xef\xba\xdf\xc7\xbd\
+\x1f\x99\x28\xfc\x40\xfe\x50\xf3\xd1\xfa\x63\xc7\xa7\xd0\x4f\xf7\
+\x3e\xe7\x7c\xfe\xfc\x2f\xf7\x84\xf3\xfb\x25\xd2\x9f\x33\x00\x00\
+\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\x00\x00\
+\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\x25\x00\x00\x80\x83\x00\x00\
+\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\x30\x00\x00\xea\x60\x00\x00\
+\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\x46\x00\x00\x03\xec\x49\x44\
+\x41\x54\x78\xda\xb4\x95\x4b\x68\x5c\x55\x18\xc7\xff\xdf\x7d\xcd\
+\x9d\xb9\xb9\x73\x3b\x79\xcc\x98\x31\x35\xd8\x38\x09\x4d\x31\x05\
+\x11\xcc\xc2\x48\x74\x21\x5d\x59\x91\xb1\xb8\xb1\x48\x10\xdd\x04\
+\xd1\x65\xbb\x74\xed\x46\xdd\x09\x1a\xba\x50\xda\x6a\x0b\xad\x25\
+\x12\xb1\x6a\x90\x82\x41\xb0\x3e\x92\x4e\x12\x93\x86\xd6\x36\x99\
+\x24\x66\xe6\xde\x79\xdc\xcc\x3d\xe7\xde\x73\x5c\xe4\x41\x4b\x33\
+\xd9\xe5\x83\xb3\x38\x8b\xf3\xe3\xff\xfd\xbf\xc7\x21\x29\x25\x0e\
+\x22\xe8\xa0\xc0\x0a\x0e\x28\x0e\x0c\xac\x3d\x78\x99\x98\x98\x00\
+\x11\x61\x65\xe5\x3f\x5c\xba\x74\xf1\xdd\x6c\x36\x9b\xce\x66\x3b\
+\x3b\x6d\xdb\x6e\x6b\x6f\x6f\x33\x34\x4d\x0f\x3d\xcf\x63\x1b\x1b\
+\xa5\x8d\xd5\xd5\xd5\x62\x7f\xff\xb3\x17\x0a\x85\xc5\x45\xcf\xab\
+\x80\x88\x00\x00\x63\x63\x1f\x3d\x0a\x2e\x16\xd7\xa1\x69\x2a\x26\
+\x27\x27\x3f\x3f\x71\xe2\xe4\x33\xc3\xc3\x43\x2c\x93\x69\x27\xc7\
+\xb1\x85\xa2\x90\x24\x22\x10\x91\xc2\x79\x98\x5b\x5b\xdb\x10\x37\
+\x6f\x4e\xbf\xe2\xba\xd5\x1f\x93\xc9\xc4\xd9\x1d\xf0\x9e\x8a\x0b\
+\x85\x79\x84\x61\x88\xee\xee\xc3\x2f\xa7\xd3\xad\xc6\xe2\xe2\x7c\
+\xd5\x71\xac\x75\xc3\xd0\x42\xd3\x8c\x49\x45\x51\x40\x44\x24\x84\
+\x50\x75\x5d\x33\x73\xb9\x23\x5d\x41\xe0\x3b\xe5\xf2\xfa\x59\x55\
+\x55\x9b\x83\x8b\xc5\x22\xea\xf5\x3a\xf2\xf9\x57\xa3\x7c\xfe\x64\
+\xba\x5c\x76\xdb\x67\x67\x67\x33\xb1\x98\x01\x5d\xd7\xa1\x69\x1a\
+\x14\x45\x51\x7b\x7a\x7a\x38\x11\x09\xc7\xb1\x5b\x8a\xc5\xe5\xe5\
+\xdb\xb7\x97\x60\x18\x7a\x73\x30\xe7\x1c\x9c\x73\xec\xb4\xa0\x65\
+\x59\x51\x2e\xd7\xe7\xd9\xb6\x45\xba\xae\x83\x08\x52\x4a\x69\x71\
+\x1e\x72\xdf\x6f\x34\x00\x18\x52\x02\x95\x8a\x0b\xc3\x30\x9a\x83\
+\x19\x63\x60\x8c\xed\x16\x42\x08\x01\x21\x24\x69\x8a\x26\x15\x85\
+\x00\x40\x12\x91\xd4\x14\x0d\x44\xa4\x00\x20\x40\xa2\x5c\x2e\x23\
+\x16\x8b\x35\x07\x07\x01\x43\x10\x70\xec\xcc\x8c\x04\x60\xe9\x96\
+\xbc\xfc\xcf\x65\xf3\xdb\xea\x55\x13\x2a\x64\xbf\xec\x57\x4f\x1f\
+\x39\xed\x0b\x29\x41\x20\x08\x21\xe0\xba\xee\x23\x60\xe5\x61\x70\
+\x00\xc6\x02\x70\x1e\x02\x00\xe2\x46\x4c\xfe\xeb\xdd\x55\xdf\xf9\
+\xfe\x6d\x67\xa9\xb6\xa4\xd6\x78\x4d\x39\xf3\xc3\x99\xf8\x17\xbf\
+\x8d\xe9\x49\x33\x29\x39\x0f\xc1\x58\x88\x72\xb9\x0c\xd7\x75\xe1\
+\xba\xee\x7e\x56\xf0\x5d\xf0\xdc\xbd\x79\x9a\xba\x3b\xa5\xbf\xde\
+\x77\xaa\x31\xf2\xf4\xc8\xa6\x54\x24\x8e\x8b\xe3\x94\x11\x19\x54\
+\x1a\x1e\x45\x61\x24\x39\xe7\xa8\x54\x3c\x30\x16\xec\x67\xc5\x96\
+\x62\xc6\x38\x00\xe0\xe7\x99\x9f\xd4\xd1\xab\xa3\xce\x85\xd1\x8b\
+\xde\x60\x7a\x30\x00\x80\x7a\xb5\x6e\xe4\x3f\xcd\xdb\xef\x0d\xdc\
+\x13\x6f\x0e\x8e\x80\x31\x8e\x4a\xa5\xba\xfb\x66\x4f\x2b\xb6\x6c\
+\x60\x08\x82\x00\x08\x81\x85\xe5\x05\x38\x31\x47\xaa\xaa\x2a\x01\
+\x50\x24\x23\x25\x65\xa6\xa8\xc3\xea\x10\xd7\xff\xba\x1e\xe3\x3c\
+\x44\x10\x30\x54\xab\x95\xdd\xb3\xa7\x62\x29\x01\x21\x24\x82\x80\
+\xa3\xec\x55\xf0\xda\x73\x79\x31\x7e\x67\x3c\xfa\x66\xe1\x6b\x73\
+\x4d\x5f\x55\x2c\xcd\x92\x57\xa6\xaf\x98\xe9\x96\x0e\xf1\xfe\x4b\
+\x1f\x54\x39\xe7\x2d\x9c\x87\x68\x34\x02\x00\x84\x07\x87\xef\x21\
+\xc5\xf5\x7a\x15\xba\xae\x83\x31\x8e\xe5\xe2\x0a\x92\xa1\x23\x8e\
+\xa5\x06\x30\x3e\xf7\x5d\xe2\xd6\x4a\x21\x31\x5b\x9c\x8f\xdf\x58\
+\xba\xa1\x0f\x3d\xf9\x62\x34\xf4\xd4\xb0\xa8\xfa\x55\xe2\x3c\x04\
+\x11\x41\x4a\x81\x28\x8a\xf6\x56\x3c\x37\x37\x8d\x8e\x8e\x4e\x10\
+\x81\x82\xa0\x01\xc7\xb1\x8d\x4f\xde\xf8\x58\x6e\x4a\x1f\x9a\x34\
+\x62\xe5\x9a\x8b\x17\x9e\x1f\xc6\x63\xf2\x71\xf3\xf7\xbf\xff\x34\
+\x6a\x35\x5f\xe5\x3c\x22\x21\x38\x1a\x0d\xde\xbc\x78\x00\xb0\xbe\
+\xbe\xa2\xb7\xb6\xda\x6a\x6f\x6f\x0f\x54\x55\x85\x10\x82\x12\x3c\
+\x0e\xc6\x39\x94\x44\x0a\x49\xcd\x46\xc9\x73\x21\xa5\x50\x19\x63\
+\xf0\x3c\x37\xbe\x9d\xb9\xd8\x6f\x1f\xc7\x00\x64\xce\x9d\xfb\x52\
+\x99\x9c\xfc\x15\x52\x2a\x30\x0c\x13\x71\x2b\x8e\x84\x15\x87\xed\
+\xd8\x48\xb5\x1f\x42\x77\xf7\x61\x0c\x0c\x1c\x43\x5f\x5f\x2f\x8a\
+\xc5\xfb\x2a\x80\xb6\x6d\x91\xd4\x54\x31\x00\x7e\xeb\xd6\x1f\x1f\
+\x9e\x3f\xff\xd5\x5b\xb5\x5a\x25\x77\xf4\x68\x5f\x6b\x57\x57\x16\
+\x8e\x93\x84\x69\x12\x7c\xdf\x47\xa9\xe4\x62\x66\xa6\xb0\x76\xed\
+\xda\x78\x61\x6a\xea\x97\xcf\x00\x44\xfb\xfe\x79\xdb\x3b\x42\xdb\
+\x99\x66\x00\x5d\xb6\x6d\x3f\x91\x4a\xa5\x0e\x25\x12\x09\x43\x4a\
+\x09\xdf\xf7\x1b\xa5\x52\xa9\x54\xaf\xd7\xef\x00\xb8\x0f\x60\x73\
+\x3b\xf3\x68\xab\xb3\xb6\x78\xff\x0f\x00\x14\xf1\x04\x0a\xe6\xa9\
+\x7f\x6d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x38\x8d\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x3c\x00\x00\x00\x36\x10\x02\x00\x00\x00\x44\x95\xb1\x00\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\x00\x48\
+\x00\x46\xc9\x6b\x3e\x00\x00\x00\x09\x76\x70\x41\x67\x00\x00\x00\
+\x3c\x00\x00\x00\x36\x00\xef\x76\xeb\xaa\x00\x00\x38\x2a\x49\x44\
+\x41\x54\x78\xda\xed\xbc\x65\x80\x14\x57\xb7\xb0\xfb\x94\x75\xf7\
+\x18\xe3\xca\x30\x83\x0c\x0c\xee\x0c\x12\x7c\x70\x0b\x6e\xc1\x82\
+\x06\x08\x10\x02\x41\x13\x2c\xb8\x13\x2c\x81\xe0\x09\x1a\x5c\x03\
+\xc1\x06\x1f\x5c\x66\x70\x19\x06\x18\x18\xf7\xe9\xee\xb2\xef\x07\
+\xe1\x84\xf7\xbc\xbc\xf7\x9c\xfb\xe3\xde\x5f\xdf\xfe\x51\x5d\xbd\
+\xba\x7a\xed\xda\x4f\xad\x5a\x7b\xed\xda\x6b\x97\x60\x9a\xa6\x69\
+\x9a\x7c\x54\x12\xbc\x12\xbc\xde\x74\x3d\xb6\x7d\xf7\xbd\x2d\x2d\
+\x7d\x86\xbb\x0f\xf2\xde\xc9\xff\x2d\xff\xeb\x92\x3f\x4e\x74\x15\
+\x5d\xfb\x0e\x19\xb8\x7b\xe0\xee\x8f\xe5\xf2\xbf\x1f\xea\x1c\xe9\
+\x1c\x99\xe9\x5f\x53\x2d\x65\x96\x3a\x5a\xf9\x69\xa5\x1d\x65\xad\
+\x20\x4c\x22\x16\x80\x28\x80\xff\xbb\xff\x9f\xf7\x77\x55\x39\xb1\
+\xe0\xaf\x20\x86\xfc\x77\xaa\xc2\xbf\x5b\x74\xfc\xac\xc7\x3f\x3f\
+\x1e\x64\x46\xde\xbb\x77\xaf\x4d\xb9\xce\x65\xa3\x23\x9e\x81\xb2\
+\x96\x28\x50\x57\x11\x0b\x4a\x2d\xa2\x40\x73\x10\x0b\x52\x3c\x51\
+\xa0\x7f\x41\x2c\x48\x63\x89\x02\xfd\x24\xb1\x20\xf9\x10\x05\x7a\
+\x38\xb1\x20\xed\x23\x0a\xf4\xe9\xc4\x82\xd4\x8e\x28\x30\x5e\x11\
+\x0b\x42\x0a\x51\x60\x36\x23\x16\x84\x79\x44\x81\xb9\x9d\x58\x10\
+\x22\x89\x02\xd3\x95\x58\x10\xce\x13\x05\xe6\x08\x62\x41\xe8\x4f\
+\x14\x98\x37\xff\x69\x9e\x50\x85\x58\x30\xd7\x13\x05\xc2\x72\x62\
+\xc1\xac\x4b\x14\x08\xf9\xc4\x82\xf9\x90\x28\x10\xba\x13\x0b\xe6\
+\x78\xa2\x40\x38\x4e\x2c\x98\xfe\x44\x81\x18\x4a\x2c\xe8\x07\x88\
+\x02\x69\x2a\xb1\xa0\xb7\x27\x0a\xa4\x04\x62\x41\x4f\x27\x0a\xa4\
+\x68\x62\x41\x5f\x48\x14\x48\xbf\x13\x0b\x7a\x59\xa2\x40\xb6\x12\
+\x0b\xea\x65\xa2\x40\x19\x46\x2c\xa8\x83\x88\x02\xe5\x1a\xb1\xbb\
+\xaa\x9c\x7c\x75\x79\x5d\x97\x9b\x83\x36\x0d\xba\xf7\x3f\x80\x7e\
+\xdc\x3a\x7e\x7d\xfc\xfa\xbc\xb5\xcf\xd6\xdf\x75\x56\x0e\x29\xd9\
+\xa4\x6c\x01\xd0\xc2\x59\x1f\xcc\x00\x00\xa1\x30\x80\x79\x10\x40\
+\x9c\x02\x60\x74\x00\x10\x13\x40\x4b\x76\x3e\x10\xeb\xa7\xcf\xce\
+\xb8\x92\x36\x3b\x60\xa9\x7f\xa8\x77\x5d\x10\x7f\x07\xd0\xcb\x02\
+\x48\x56\x00\xfd\x32\x80\x3c\x14\x40\x1b\x0c\x20\x5f\x05\xd0\x64\
+\x00\xb9\x02\x80\xb6\x09\x40\x5e\x0a\xa0\x36\x00\x50\x72\x00\xd4\
+\x27\x00\x96\x2e\x00\xce\x49\x00\x96\xa3\x00\xce\x20\x00\x4b\x30\
+\x80\xf3\x08\x80\x65\x32\x80\xa3\x33\x80\xf5\x29\x80\x23\x1b\xc0\
+\xd6\x00\xc0\xbe\x04\xc0\xb6\x19\xc0\x5e\x01\xc0\x26\x03\xd8\xaf\
+\x02\xd8\x86\x00\xd8\xbf\x02\xb0\x5d\x01\x28\xb0\x00\xb8\x96\x03\
+\xc8\xff\x0d\xc0\x75\x11\x40\x7e\x63\x00\xd7\x0c\x80\xfc\x17\xb0\
+\xab\xca\xa5\xdc\x1b\x7d\xbb\xdc\x1c\x74\xe5\x5f\x41\x7f\xc2\x75\
+\xa8\x23\x94\x15\xca\x0a\x65\xb9\xf6\x9c\xe3\xcc\x71\xf6\x72\x26\
+\x00\xd5\x01\x94\xa5\x00\xce\x44\x00\xcb\x21\x00\x47\x07\x00\xcb\
+\x6f\x00\x8e\x1e\xf0\x28\xfa\x79\x97\x07\x17\x7f\x3e\x77\xfc\xe5\
+\xf9\xa3\x3e\xe9\xb6\x2a\xae\x09\xd5\xac\x11\x15\x8a\x0f\x6f\xed\
+\x5f\xbf\x72\x8d\xda\x62\xbe\x63\xb8\x30\x19\x2c\xb3\x01\xec\x53\
+\x00\x2c\x53\x00\xec\x73\x00\x2c\x63\x01\xec\xef\xb1\x3e\x01\xb0\
+\xff\x02\xa0\xd8\x00\xec\xbb\x00\x94\x1e\x00\x05\x0b\x00\x94\xf6\
+\x00\x05\x01\x00\x4a\x73\x80\x82\x93\x00\xca\x37\x00\x05\x97\x00\
+\x94\x37\x00\x05\x0f\x01\x94\xf2\x00\xf9\xbb\x01\x94\xe2\x00\xf9\
+\x25\x00\x94\x60\x80\xfc\x14\x00\x65\x20\x40\x7e\x1e\x80\x72\x11\
+\x20\xdf\x09\xa0\xd8\x01\xf2\x6e\x00\x28\x79\x00\x79\x9b\x00\x94\
+\x54\x80\xbc\x60\x00\x25\xf1\x1f\x0d\xff\xbd\x7c\x02\xb4\xd2\x4f\
+\xdd\xa0\x6e\xc8\x17\x0c\x6f\xf6\x31\x47\x88\xa4\x0a\x98\x05\x00\
+\xe6\xb7\x00\xc2\x41\x00\x67\x75\x00\xbe\xf8\x68\xbf\x03\x3c\x5b\
+\xfe\xb2\x5a\x5a\xbd\xaf\xe3\x46\x4e\x1c\xb5\xba\xc4\xee\x12\x72\
+\x11\xe9\x6a\xf7\x98\x9d\x97\xbb\xcf\xbc\xfb\xfb\x8e\xbd\x9d\xfc\
+\xd6\x2b\x65\x4c\xa1\xdd\xed\x7a\x7d\xa3\x5b\x84\x2e\x0b\xe9\xea\
+\x75\x14\xb4\xe9\x00\xf2\x64\x00\xed\x08\x80\x54\x0c\x40\x4f\x06\
+\x90\x7c\x00\x8c\x70\x00\xe9\x4b\x00\xa3\x33\x80\x04\x80\xf1\x10\
+\x40\xda\x00\x60\xc8\x00\x62\x03\x00\x23\x0b\x40\x74\x05\x30\x23\
+\x01\xc4\xa9\x00\xe6\x5c\x00\x31\x0c\xc0\xf4\x01\x10\x4f\x02\x98\
+\x63\x00\x84\xde\x00\xe6\x5d\x00\x41\x04\x30\x2b\x02\x08\xeb\x00\
+\x58\x01\x20\xd4\x05\x20\x17\x40\x78\x0c\x40\x17\x00\x61\x32\x00\
+\x87\x01\x54\x0f\x67\x83\xff\x15\x68\xf5\xae\xf2\x42\xae\x28\x7f\
+\xa1\x46\x10\x08\x52\x1e\xaf\x41\x9b\x00\x60\x77\x01\x90\xdf\x57\
+\x9c\x0a\xc0\xb2\x8f\xfe\xb8\x0a\x5e\x07\x27\x0f\x49\x9e\x55\xf7\
+\x56\x80\xec\x73\x50\x5a\x6c\x64\x9a\x5a\x2d\x6a\xcd\xab\x7a\xb9\
+\x56\xe1\xea\xab\x2b\x8f\x49\x59\x95\x2c\xbd\x6d\xbf\x6b\xc5\xde\
+\xcd\x07\x4e\x66\x06\x1d\x5c\x90\xf4\xa2\xf9\xa8\x3a\x37\xab\x53\
+\xb5\x7a\xa9\x26\x65\x42\x84\x78\xe1\x12\x80\x79\x16\x40\x78\x04\
+\x60\x76\x04\x10\xbc\x00\xcc\x6e\x00\xfc\xf8\x51\x8d\xf7\x00\x84\
+\xbd\x00\xa6\x06\x20\x0c\x07\x30\x4b\x01\x08\x16\x00\xb3\x09\x80\
+\x50\x02\xc0\x7c\x0b\x20\xfc\x0a\x60\x14\x05\x90\xdc\x01\x9c\x95\
+\x01\xa4\x9a\x90\x56\x38\xed\x78\xc6\xfa\x5d\xa3\x7e\x7f\x79\x50\
+\x6c\xdf\xb9\xc7\xc5\x56\xe5\x82\x8a\xfb\xa6\xfb\xd5\x80\x82\x50\
+\x00\xa9\x15\x40\xc1\x70\x00\xe9\x0c\x40\xbe\x1f\x80\xf2\x03\x80\
+\xfa\x77\x7c\x66\x39\xfb\xef\x54\xc5\x4f\xb0\x77\x9a\xd5\x75\x45\
+\xb3\x90\xc5\x51\x28\x58\x0c\xe0\xec\x06\x60\x5c\x04\x70\x96\x01\
+\x70\xd6\xff\xd4\xd6\x3e\xc4\xb8\xa6\x8f\xb5\xe5\xd9\xf2\x5c\xda\
+\x82\x76\x59\x79\x05\xfa\x3e\xe9\x6b\x5e\x4b\xe7\x2c\x5d\xfc\x3f\
+\xf7\xad\x1b\x54\x63\x98\x3e\xa0\x7c\xbf\x57\xa3\x3b\x8e\xb9\x3b\
+\x3c\x21\xf1\xbb\x1c\x8f\xbc\xaa\x53\x36\xfd\xea\xf3\xcb\xed\xb3\
+\x9e\x77\x73\x6e\xe4\x98\xae\xc2\x5e\xc3\x15\xcc\xe7\x1f\xee\x12\
+\x30\x3f\x03\x20\x0f\x80\x9f\x3f\xda\xe6\x7d\xf4\xeb\xfb\x23\x9f\
+\x7f\x84\x7e\x06\x80\xe0\x0e\x60\x94\x04\x10\xbe\x02\x30\xae\x00\
+\x88\x17\x00\xf4\xaf\x01\xc4\xe2\x00\x7a\x21\x48\xda\x98\xdc\x2c\
+\xc5\xcd\xbd\xe1\xda\xa8\xb3\x17\xb7\xfc\xf2\xa3\xb9\x36\x15\xd4\
+\xe6\x00\xc6\x2c\x00\xcd\x0e\x20\xad\x04\xd0\x7e\x05\x90\xb3\x01\
+\x9c\xe7\x01\xd4\x52\xef\x09\x7e\xca\xa2\x3f\x01\x5a\xaf\xad\xd7\
+\x96\x2e\xcb\x97\x38\x41\x53\x30\x1b\xf1\x89\xf2\x72\x43\xca\xb0\
+\x94\x61\x4b\x93\xb7\xff\xbe\x39\xf1\xf0\xb4\xcb\xab\x4f\xba\x9e\
+\xae\x77\xe3\xd2\xb5\x4b\x99\x49\xce\xb1\x76\x57\x5b\x25\xf9\x99\
+\xf5\x3e\x88\x97\x8d\x7c\x10\x4b\x19\x0d\x41\x5d\xad\xe6\x82\xd0\
+\x42\xf5\x01\xf3\xa8\x6e\xba\x44\x4a\xef\x5c\x3a\xb7\x5f\xd9\x7a\
+\x59\xf4\xdd\xa9\xcf\xc7\x6d\x1f\x6b\xe6\x78\xe4\xfc\xe1\xd8\x36\
+\xa6\xf7\x2f\xe7\x7e\xd1\x6f\xd4\xbd\x67\xbb\x3f\x12\xf4\x78\x00\
+\x7d\x28\x80\xfe\xbe\x23\xad\xf5\xd1\xd6\xfa\xd1\xaf\xef\x8f\x5c\
+\x03\xa0\xfd\x06\xa0\xbf\xef\x60\xc7\x00\x18\x1a\x80\xd6\x18\xc0\
+\x78\xdf\xd9\x7a\x03\x18\x7d\x00\xb4\x17\x00\xc6\x52\x28\x5c\xc1\
+\xbf\x73\xb0\x47\xf6\x58\xb7\x0b\xf2\x51\xff\xa6\x17\xf6\x3f\x1f\
+\x1d\x1f\x9b\x18\xff\xfc\xb3\x0f\xed\x36\x4b\x00\xa8\xef\xc3\x81\
+\xce\x00\x6a\xf2\x3f\x54\x3e\xb0\x12\xf2\xfe\x57\xa0\xa5\x15\xd2\
+\x0a\x7d\xb8\xf6\x35\x8d\x39\xfd\x67\xc2\xe5\x85\x97\x17\x1e\xbf\
+\x11\x3b\x34\x76\xa8\x5a\xd3\x7c\xab\xd6\x7c\x7f\xcc\xe9\xc8\x2b\
+\x3d\xcf\xef\xac\x56\xa5\x84\x6f\x78\xbf\xd6\xd3\x4a\xaf\xae\x52\
+\xac\xd2\xed\xa2\x8f\x3c\x8f\xdb\x8b\x9a\x7f\x71\x9c\x6a\xf2\x4c\
+\x33\x06\x0c\xf4\x7e\x60\xd6\x91\xf6\x83\xe0\x67\x5e\x04\xdd\x55\
+\xa8\x0b\x7a\x2f\x79\x33\x28\x75\xa4\xf3\xa0\xa6\x2b\x59\x72\x57\
+\xb1\xa5\x58\xb2\xcd\xab\xe6\xe7\x1a\x77\x9c\xb5\xf6\xab\x7d\xfd\
+\xbf\xbb\x74\xec\x71\xc6\x9d\x94\xef\xfd\x56\x75\x5b\xfe\x30\xcd\
+\x3b\xe7\x59\x7a\x05\xfe\x7f\x29\x85\xfe\x72\x9f\xe6\x5a\x5a\x3b\
+\x52\x7a\x67\xe0\xe1\x12\xbd\x9d\x4b\x5d\x86\x3e\x08\xbc\xfd\xc5\
+\xa3\xa5\xff\x6f\x74\x38\x1b\x98\xa5\xfe\x5d\xfa\x09\x1f\xad\xaf\
+\xd7\xd7\x4b\xfd\xa5\xa5\x74\xd1\x5c\x27\xed\x58\x95\xb9\x72\xc9\
+\xad\x56\xf7\x77\x3f\x50\x23\x1f\x15\x6d\x1f\xde\x60\xca\xc4\x9e\
+\xad\xda\x44\x6c\x09\x3b\xec\x71\x56\xdd\x36\x61\x56\xf1\x29\xc5\
+\xc1\x05\x55\x72\x3b\xef\x18\xed\x25\x14\x3f\x15\x56\x23\x62\x19\
+\xa8\x7b\x85\x0a\x20\xd5\x12\x96\x83\x59\xd5\xf9\x1c\x24\x2b\x19\
+\xa0\x07\x6a\x5d\xc0\xbc\x2a\x9c\x01\x7d\x9f\x73\x0f\x08\xdf\xa9\
+\xad\x40\x2f\x29\x8c\x06\xbc\xc4\xa5\x2e\x86\xe5\x9a\xe7\xf2\xe1\
+\x7c\xd1\xaf\x5b\xd6\xd3\x56\x4f\xaf\xbe\xba\xf8\xc3\xec\x95\x4b\
+\x56\x85\xb5\x2b\xd9\x60\x54\xbd\xb7\x2d\x1e\xd7\x8e\xa8\x13\xf1\
+\xff\x1d\x68\xa9\x97\x10\x2b\x74\xb7\xbd\x2e\x96\x12\x70\x5e\xba\
+\x7f\x7d\x59\x36\x9c\xc8\x59\x96\x3f\x9e\x70\xea\xab\x51\xff\x3b\
+\x1d\x96\xb3\x4c\xfe\x77\xe9\xa7\x2c\xba\x92\x54\x49\xdb\xe0\x38\
+\xaa\x85\x9b\x47\x9e\x57\x7b\xd1\x34\x61\x51\xad\xc3\x25\x0e\x96\
+\x38\xd8\xf4\x54\xc4\xca\x62\xe5\x7d\x42\x9c\xa1\xe2\x5b\x71\xa2\
+\x56\xce\xfc\xd5\x63\x90\x75\x94\x58\x05\xb4\x2d\xca\xc1\x77\x57\
+\xd2\x5e\x26\xd7\x2c\x5a\xb6\x78\x5e\xd8\x6e\x10\x5a\x98\x19\x20\
+\x5c\x06\xd0\x24\x79\x28\x68\xde\xfa\x33\x10\x7f\xb1\x9c\x02\x39\
+\x5c\xa8\x03\xf2\x2f\x94\x01\xa9\x85\x75\x2f\x48\xb7\xf5\x1d\x20\
+\x6e\x91\xca\x81\xf4\xb5\xf9\x27\xe8\x15\x2c\x31\x25\x36\x87\x0f\
+\x0c\xad\xb3\xa4\xca\xf8\x29\x13\x6d\xf1\xc5\x5f\xdd\x7c\x5b\x7a\
+\x66\xd7\x8d\x73\xd7\x35\xd3\x66\x6b\xb3\xd5\x11\x00\x24\x01\xe8\
+\xed\x01\xb4\x93\x1f\x49\xde\xbb\x90\x31\xff\x48\x8c\x57\x00\x5a\
+\xd9\x8f\x24\xef\x5d\xc8\x8b\x8f\x24\xe3\x01\x9c\xf5\xad\x77\xc2\
+\x36\x07\xf8\x02\x08\xb9\xfa\x2a\x50\x83\x01\xe8\x08\xa0\x56\x07\
+\x30\xdf\x47\x1f\xef\xa3\xf6\x14\x00\x73\xf6\x07\x89\xb3\x81\x59\
+\xf8\x7f\x05\x5a\x97\x75\x59\x68\xfd\x64\xc6\xcb\x9f\x9f\xd6\x2a\
+\xfe\xb5\xff\x02\xef\x23\xfd\xea\xd4\x5c\x52\x35\xba\x9d\x4f\xb9\
+\x4a\xe5\x7f\x70\x76\x74\xec\x75\xee\x76\xdd\xe0\xb1\xcd\x7d\x88\
+\xf5\x77\xdb\x29\x5b\x67\x10\xee\xd2\xe8\xe5\xfe\x14\x6b\x9a\x4f\
+\xe0\xdc\xc2\x3b\x8b\x7d\x0d\x52\x35\xb9\x2f\x80\xb9\x19\xc4\x79\
+\x7a\x79\x90\x9f\xc8\x8b\xc0\x6c\x62\x8c\x07\xfd\x1b\x35\x03\x34\
+\x57\xe5\x47\x30\x83\xf4\x6c\x30\xab\x99\xf5\xc1\xbc\xc6\x24\x40\
+\xa5\x11\x88\x96\xf7\x5d\x2c\x58\x53\xe4\x3f\xa4\xdd\xa3\x87\x74\
+\xf9\xa3\x6b\xa7\x72\x65\x4a\x0c\x2d\x71\x61\x52\xd5\x55\x1d\x56\
+\x14\x2f\xb0\xe7\x3d\xce\x2e\xff\x4f\x23\xcd\x4b\x00\xce\xe8\x7f\
+\x5a\x62\x4c\x07\x70\xc4\x7c\x24\x11\x01\x1c\x0d\x3f\x92\xcc\x04\
+\xb0\x9f\xfe\x47\xa2\x6d\x82\x02\x77\xbb\xab\x96\x03\x46\x1f\xdb\
+\x16\xaf\x97\x56\x15\x40\x8d\x03\x90\x33\xfe\xb9\x3c\xea\xd3\x8f\
+\xfe\x15\x0a\x1f\xba\x43\x6d\xf8\xff\xce\xa2\x63\xa5\x58\x29\xf6\
+\xf6\x80\xc7\x77\x12\x96\x47\xd6\xf6\xdd\x10\xd0\x4e\x9e\x64\x7b\
+\x25\x4e\xca\xbc\xa1\x05\x3a\x3c\xf3\xeb\xe4\xb7\xce\xdf\x5e\xfc\
+\x74\xe8\xb4\x90\xd1\xc2\x00\x71\x86\xb2\x0e\xcc\x75\x74\x4e\x6c\
+\x9e\x56\x2a\xa5\x43\x91\x8c\xf0\x29\xc1\x7f\x81\x36\xab\xa0\x3a\
+\x68\x97\x45\x2b\x08\x3b\x98\x05\x5a\x22\x80\xb9\xd5\x58\x09\xf8\
+\x48\xc3\x40\xea\xe4\xf4\x07\xd3\xd7\xcc\x03\x63\xbe\x12\x03\xe6\
+\x78\xed\x2f\x30\xf2\xcd\x3f\x81\xbe\x00\xfa\xc9\x0f\x67\x25\x74\
+\x64\x87\xd0\xb1\xc3\xf4\x7a\x9e\x4d\xd3\xda\x3d\xac\x7f\xb8\x69\
+\xde\xb8\x23\x2b\x8f\xad\x1c\xe6\xac\xe8\xe8\x9f\x97\x0c\xa0\xdb\
+\x00\xcc\xd6\x00\xea\x1e\x00\xe1\xfd\xd8\xec\x04\x80\xb3\x30\x80\
+\x58\x00\x40\x39\x00\xc7\x5c\x00\x26\xc2\x87\xda\x1c\xbf\x02\x88\
+\x86\x38\xd5\x3c\xa6\x8e\xcd\x2f\xc7\x23\x61\x82\x67\x90\xdf\x84\
+\xa0\x5b\x00\x9a\x03\x3e\x58\xb7\xbd\x08\x80\xf8\xbe\x8b\x2d\x03\
+\x60\x5c\x07\x90\x34\x10\xa6\xf0\x89\xf2\x29\x1f\x3d\x54\x1f\xaa\
+\xa5\xdc\x1f\xfb\xb4\xd5\xc3\x25\x45\x36\xfb\xed\xf4\x2c\x1f\xf8\
+\xb3\x45\xf0\xdc\x92\xb3\x4e\xeb\x57\xb0\xf3\xb1\x6b\xea\xa1\xec\
+\x17\x91\x73\x4b\xc6\x86\xac\x05\x2d\x46\xbf\x08\x42\x3a\x19\xf9\
+\x25\x1c\x47\x85\xc1\xb6\x49\xd6\xcf\x6c\xc5\x41\xf8\x5a\x49\x01\
+\x2a\xe6\xfb\x01\x76\x29\x0f\x84\x6b\xea\x0f\x20\x2c\x13\xdc\x41\
+\xcc\x31\x96\x81\x7d\x93\xf8\x07\x88\xad\x8d\x66\x60\xb9\xa3\xde\
+\x83\x82\x5c\x26\x80\xf8\x8e\x07\x60\x04\x4b\x83\x41\x8a\xd6\xd7\
+\x80\xbe\xeb\x5f\xce\xef\x56\xdd\x51\x95\xc7\x96\x7d\x60\x5e\x34\
+\x4a\xa9\x5d\xa6\x75\x5e\x7b\x69\xcb\x99\x19\x23\x06\xe6\xf5\x4f\
+\x91\x97\x4b\x2d\x69\x03\x60\x84\xc2\x87\x18\xda\xdc\x08\x1f\x1c\
+\x85\xb9\x04\xc0\x6c\x06\x20\x95\x00\xe0\x07\xf8\x10\x16\x2a\xdb\
+\x01\x1c\x3b\x8d\x75\x6a\x8a\xb1\x35\xf7\x27\xe5\x3b\x7d\x7b\xb1\
+\x7c\xbf\xa2\x6e\xcf\x29\xa4\x4e\x13\x6e\x01\x18\x69\x00\x8a\x1f\
+\x80\xa3\x1e\x80\xf1\x7e\x5c\xf1\xbe\x96\xe1\x60\x4e\x16\xfa\x02\
+\x93\xfe\x67\x8b\x1e\x28\x0d\x54\xfa\xdd\xaa\xfe\x58\x7a\x7a\xb9\
+\x48\xb8\x9f\xbf\xf7\x5a\xc7\x02\xc2\xb5\x5c\xef\xd1\xd6\x4d\x85\
+\x9a\x3d\x3b\x9e\x92\x9a\x14\x14\xf1\x65\x11\xef\xb0\x78\x90\x0d\
+\xf1\x36\x18\x8f\x35\x51\xdf\x61\x4d\x93\xb6\xd9\x06\xba\x6c\xb1\
+\xc6\x83\xb4\xe4\x7d\x14\x2b\x2d\x06\x22\x00\x04\x87\xf9\x0a\x18\
+\x69\xf8\x81\xbe\x57\x98\x08\x4a\xa0\x28\x81\x59\xdf\xd0\xc0\xbe\
+\x53\x5a\x02\xc2\x71\x4e\x83\x19\x44\x30\x18\x3d\xf4\x35\x1f\x82\
+\x36\x61\xdc\xc7\xe7\xf7\x7e\x44\x26\x6c\xaa\x57\xa7\x6a\xe1\x4a\
+\x53\xaa\xdc\x29\xf9\x55\x64\xd1\x4d\x33\x0f\xb7\x39\xfc\x91\xe7\
+\xa5\x10\x80\xb6\x1a\x80\x6f\x81\xbf\x63\x6e\x55\x03\x30\xc6\x3b\
+\x67\xe5\xef\xcd\x1e\x92\x99\x91\x7d\x21\xcb\xeb\xd5\xe5\xa4\xb8\
+\x77\x8d\x12\x2f\x24\xc5\xbd\x78\x96\x70\x2a\x29\x2e\x55\xce\x54\
+\x9f\xa7\x25\x75\x4c\x1d\x29\x65\xd9\x47\xda\x0b\x9c\x17\x8c\xa2\
+\x99\x4f\x33\x6a\xe6\xed\xd4\x37\x6a\x1b\x1d\xbd\x01\xf4\x37\x00\
+\xc6\x72\x00\xbc\xdf\xdf\xab\x00\xea\xe7\x20\x7b\xbc\x77\x62\xff\
+\xb3\x45\xdf\xd4\x6f\x6a\x1d\x5e\x26\xbc\x4b\x48\x49\x28\xb5\xd8\
+\xe7\x7b\x5f\xa5\xe0\x82\x33\xde\x51\x46\xd8\xaa\xcf\xb7\xbd\x4e\
+\xef\x9b\x13\x97\xf7\x63\x85\x83\xc5\x22\x8b\x4d\x04\x7b\x7b\xb3\
+\x3f\xc8\xa6\xe5\x42\x7e\x9e\x5c\x60\xe9\x2e\x64\x09\x59\xe2\x7d\
+\xc8\x4f\xd3\x7b\x82\xe8\x6e\x6c\x07\x73\x94\x61\x80\x39\xce\x7c\
+\x05\xc6\x39\x69\x36\x08\xb1\xe6\x4d\xd0\x2f\x08\x73\xc0\xec\x4a\
+\x3a\x88\x57\x0d\x77\xd0\x63\xa4\xd5\x20\xc8\xda\x0c\xe0\x99\x34\
+\x18\xa4\xdf\xf5\x35\xa0\xe5\x00\xd0\xfa\x6f\xd0\xe5\x01\xb8\x06\
+\x9c\x36\xca\x75\x2e\xd1\x6c\x7c\x2d\xcb\xea\xf3\x3b\xa7\x1d\x69\
+\x74\xfe\xf3\x1b\x3f\xde\xba\x24\xa4\x18\xdb\xad\x29\xb9\x9f\xe7\
+\xb5\xcb\xbc\x98\x23\x65\xac\xc9\x39\x25\xff\x66\xbe\x34\x5f\x8a\
+\x29\x42\x7b\xb6\xc9\xa7\xa4\x65\xea\x5b\xf7\x66\x2e\x9e\x6e\x97\
+\x5d\xbf\xf5\x98\xe0\xbe\xc7\x3d\xd2\xe5\x88\xdb\x3a\xa5\xb3\xfc\
+\x87\x98\xea\xf8\xc2\x54\xcd\x07\x79\xae\x71\x5b\x5f\x2d\x53\x9f\
+\x4a\x4d\x84\xc5\x72\xa4\x6c\xd3\xaa\x3f\xa9\x90\x71\xe9\x5d\x67\
+\xf3\x6c\xea\x69\x61\x83\x56\xad\xa0\x7e\x81\xa2\xd6\x07\xf1\x86\
+\x39\xc2\xb1\xcb\xb9\x2b\x3f\x56\x5d\x95\x77\xcc\xb5\xa6\xec\xe5\
+\xd2\x36\xa1\x4f\xe2\x94\xc4\xea\x8e\x19\x8e\x0c\xc7\x0c\xeb\x14\
+\xeb\x14\xeb\x94\xff\x08\x5a\x34\x44\x43\x34\x02\x1a\xba\x64\xba\
+\x64\x86\xb7\xf5\x1d\xea\x5f\xed\x71\x9b\x94\x5d\xa9\xee\x62\x1f\
+\xf9\xb1\x7a\x39\xff\x92\x70\x47\xbf\xe0\xd9\xc3\x23\xdc\xe3\x1d\
+\xfb\xc5\x83\x9a\xa6\xa7\x9b\x5f\xcb\x43\xdd\xf2\xad\xe1\xee\xaf\
+\x3e\xe8\xb0\xd6\x33\xfc\xc1\x3e\x57\x2c\x0e\xd2\x24\x63\x1d\x50\
+\x20\x2e\x03\xc1\xcd\x71\x07\xb4\x47\x54\x05\x06\x69\x56\xd0\xc3\
+\xf4\x56\x20\x0c\x32\xcb\x81\xd0\x58\x3d\x04\x66\x61\x82\x41\xfc\
+\x49\x5f\x03\xaa\x3f\x80\xd1\xfa\xe3\xf3\x33\x1c\x00\x86\x13\xc0\
+\x38\x2e\xcc\xd3\x2e\xd9\xfc\x3a\x7c\x5e\xaf\x65\x6d\x7d\x51\xe2\
+\xf2\xae\xbf\x56\x1d\x5a\xba\xb1\x58\xbf\x92\x97\x87\x6b\x15\x8f\
+\x1b\x3e\xa7\xbc\x2e\x05\x7c\xcf\x39\xeb\x0b\x21\xcc\x7c\x28\xb6\
+\xa2\xa5\x38\xd5\x65\xa9\xc5\x0d\xc4\x34\xb1\x29\x1b\x2c\xe3\x95\
+\x4d\x20\x04\xc8\x0a\x58\x3b\x4b\x27\x33\x72\x73\xbf\x76\x96\xf5\
+\xba\x90\x5e\xc6\xbc\x94\xbf\xc6\x96\x2e\x96\x2e\x37\xac\x84\x77\
+\x49\x0d\x88\x92\x27\x02\xc8\x2b\x01\x94\x1e\x64\x00\x55\xc1\x5a\
+\x91\xaa\x3c\xb4\xfd\x4a\xb9\xbc\x7b\xd9\x9d\xd4\x95\x01\x9e\x59\
+\xbe\x15\xcb\x1c\x94\x76\xae\xdb\xd4\x3d\x68\x5f\xe8\xe9\x92\xa7\
+\xeb\xb6\x6f\x74\xba\xd1\xe9\x4f\x80\x4e\x9b\x96\x36\x2d\x6d\x5a\
+\xc4\xad\xd0\xf9\x81\xd1\x81\xb1\x6e\xcd\xbd\x6e\x17\x9c\x2d\x38\
+\x6e\x6f\x91\x50\x3f\xb3\x42\x5e\x29\xd7\x35\xb6\x7c\x97\x49\x96\
+\x43\x88\xa6\x0f\x88\x36\x4b\xf3\xa4\x32\xef\xee\xa6\xfc\xe0\xd3\
+\x2b\xa4\x67\xe1\x6d\xff\x75\xb1\x52\xc4\x9b\x20\xde\xd6\xe7\x83\
+\x1a\x26\x7d\x07\xac\x53\x53\xc1\xc8\x97\xd7\x81\x25\x40\xd5\xc1\
+\x39\x45\x28\x0b\xca\x66\xe9\x3a\x38\x56\x18\x03\x40\x6f\x24\x34\
+\x04\x33\x9d\x6d\xa0\x35\x05\x30\xe2\x01\xe4\x13\xf0\x41\xf2\x5f\
+\x0e\xce\x01\xa0\x07\x01\x68\x69\x6a\x19\xfd\x0f\xed\x6e\xd8\xb4\
+\x90\xe5\xfe\x5b\xc3\x22\x7d\xae\x06\x84\x03\xed\x08\xd3\x7a\x89\
+\xa1\xa0\x04\xc8\xb3\x80\x11\x92\x09\x20\x34\xe7\x1a\x88\x82\x65\
+\x27\x98\x75\xf5\x9d\x20\x3b\x05\x03\x84\x53\x72\xf9\xcc\xcb\x05\
+\xe3\xb2\x6c\xb6\x07\x6a\x05\x63\x5e\xf2\xe0\x22\x43\x6d\x43\x80\
+\x01\xd2\x9f\x00\xe6\x1d\x00\x69\x2c\x00\x29\x60\x89\x01\x30\xaf\
+\x01\x91\x9a\x17\x86\x5b\xa4\x77\xb8\xc7\x6f\x65\xf0\x9b\x1e\xb0\
+\xab\xcc\xc8\x52\x7a\xd1\xa0\x98\x86\x77\xbc\x1e\xfe\xf0\x1f\x7d\
+\xf4\x1d\xe3\x8e\x71\xc7\xa8\x98\x1b\xa2\x84\xfe\xe1\xb7\xc6\xb3\
+\xbf\x6b\x48\x4e\x0d\x7d\x85\xb6\x42\xeb\xef\xcc\xca\x2f\x08\x5d\
+\x17\xac\x84\x6d\x12\xbe\x91\x7a\x8a\x8d\x40\xaf\xa5\x4e\x7e\x11\
+\x9a\x26\xa4\x64\x17\x5f\x53\xb4\x4d\x58\xbf\x0f\x3a\xde\xf7\xc4\
+\xe2\x61\xe1\x38\x08\x31\xea\x36\x30\x37\x4a\x23\x41\x16\xcd\xdb\
+\x60\x24\x8a\x2f\xc0\x1c\x24\x8e\x02\xa3\x21\x2f\x40\xf8\xd5\x9c\
+\x04\xf2\x13\x36\x83\xe4\x01\x20\x47\x00\x48\xc9\x9f\xb0\xe8\x70\
+\xe0\xef\xc8\xd7\xec\x09\x72\x51\x69\x62\xfe\x9f\xf6\xca\xea\x02\
+\xbf\x67\xf2\x3e\x69\xdf\xdf\x0d\x2b\xfe\xf7\x2d\xbb\x15\xd4\x64\
+\x7d\x03\x08\x0d\xc4\x58\x00\xb3\x88\x98\x02\x46\xb4\xd1\x1a\x84\
+\x44\x69\x36\x48\xd1\xc2\x74\x50\xb7\xe0\x5d\x30\xc5\x71\x46\xed\
+\xfe\x3c\x57\x69\x6f\xff\xb9\xe5\xfa\x49\xf9\x3d\xde\x3b\xab\x0e\
+\x00\x92\xe7\x87\xda\x85\xef\x01\x8c\x1b\x00\xf2\x5a\x00\xf1\xb9\
+\xd5\x17\xcc\xa3\x92\x02\xfa\x34\x35\x95\x04\xf9\x82\xb4\x8c\x70\
+\x12\x48\xf8\x8f\xae\x23\x6e\x7d\xdc\xfa\xb8\xf5\x65\xdb\x06\x0f\
+\x09\x1c\x09\xc0\x61\x9f\xae\xee\x47\xbc\x16\x5d\x4b\x7e\x16\xf2\
+\xe8\x49\xc4\x95\xf0\x35\x25\xfc\xc1\xac\x20\xc6\x81\xf0\x50\x78\
+\xfe\x3a\xe9\xcd\xcd\xe4\xe8\x06\x6b\xda\xf6\x0a\x5b\x02\xa0\xad\
+\x02\xd0\xc7\x81\x71\x43\x9c\x03\x52\x9c\x68\x05\x63\x91\x31\x1e\
+\x8c\xfd\xc6\x7d\x10\x6e\xe8\xa7\x62\x43\xaf\xde\xb8\x96\x72\xc7\
+\x73\xcf\xa9\x3f\xdf\xda\x82\x7c\x06\x7a\x9d\x2b\xb4\xc5\x7b\xbf\
+\x57\xeb\x42\x0b\xfc\x9f\x78\x17\xf6\xf9\x25\xa4\xb0\xe7\x78\xdf\
+\xaf\x0a\x5d\xf4\x4a\xf4\xfe\xc2\xe5\x9a\x7b\xbe\x6b\x35\x25\xc4\
+\xb6\x1e\xde\x4f\x30\x80\x51\x0b\x40\x88\x01\xbd\xb4\x76\xef\x5d\
+\xe5\xec\xab\x59\x1b\xfd\xc6\xbb\xad\xf0\xae\xcd\x60\xee\x7c\x08\
+\xb2\xe4\x07\x00\xa6\x97\x22\x01\x08\x97\x2c\x31\x20\x26\x30\x0c\
+\x94\x3d\x66\x11\x10\xee\x49\xde\x60\xec\x13\xab\x80\x8b\x2c\x88\
+\xd9\x63\xf2\xf7\xe4\xc6\xdb\xa7\x5b\xc6\xb0\xac\x5c\x83\x08\x35\
+\x32\x00\xc0\x38\x05\x20\x54\x03\x90\xaf\x01\xd7\x01\xc4\xce\x00\
+\xe2\x45\x61\x39\x88\xe1\xf2\x21\x10\xb6\x9b\x3f\x80\x58\x4c\xaa\
+\x80\xbb\xd4\x4a\x0e\x25\x97\x0c\x5e\xff\x47\xd0\x77\x56\xdf\x59\
+\x7d\x67\x75\xa7\xe6\x35\x6b\x57\xef\xad\x4f\x66\x25\x07\xc2\x47\
+\x7b\x36\x76\x59\xfa\xb4\x65\xc6\xe0\x6c\x5b\x77\xa3\x51\x85\xf0\
+\x34\x10\x55\x0e\x83\x58\xc5\x1c\x98\x3e\xd0\x31\x32\xbf\x93\x47\
+\x71\x8f\x81\x85\x06\x02\xc8\x3b\x40\xdd\xeb\x8c\x04\x29\xc1\x78\
+\x03\xf6\xef\xcc\x3f\xc0\x18\x68\x02\x0c\x14\xee\x83\x5e\x58\xfa\
+\xfd\xb2\xbc\xbd\xfe\xe1\x09\x77\xce\xc5\xf4\xb9\x5a\x3c\x6c\x46\
+\x89\xf5\x11\x5f\x3f\xfb\xec\x7e\xc1\xc3\x65\xee\xe3\x68\x46\x44\
+\xa1\xb5\xc2\x72\x4b\x4b\x47\x2d\x7d\xa5\xe3\x17\xe3\x98\x92\x2f\
+\xba\xbb\xde\xf0\x3f\x54\x68\x88\x8f\x10\x3c\xcb\xa7\xa4\x7b\x8e\
+\xb7\x9f\xf7\x38\xcf\xa7\x21\x33\x83\x5c\x3c\x9f\x05\xfe\xe4\x39\
+\x24\xfe\x87\x17\xce\xa7\x65\x8b\x0b\x72\x61\x8b\x3d\x2d\x34\x4f\
+\xc9\x9a\xea\x3d\xc2\x43\xf4\x98\x2b\x75\x95\xda\x89\xee\xd2\x73\
+\xf3\x0d\x50\x87\x45\x00\x66\x33\xf6\x83\x98\x2d\xf9\x81\xe8\x14\
+\xfa\x81\x98\x23\xce\x00\x33\x58\x08\xcb\x5e\x99\x3a\x20\xf3\x92\
+\x5c\xc5\x63\xa5\x67\x88\x7b\x2f\xf7\x18\xeb\xe9\x7f\x10\x5b\xd4\
+\x0f\x84\x94\xf7\xb1\xf7\x2b\x00\xbd\xa5\x14\x0f\xe2\x72\x47\x3d\
+\x40\xf1\xf0\x01\xa9\xa9\x50\xc4\x5c\xae\x2f\x33\x92\xec\xfe\x66\
+\x6b\x7d\x05\x3a\xd0\xf9\x5f\x40\xeb\x4f\xf4\x27\xfa\x93\xbb\x9e\
+\x77\x3d\x6f\x39\xaa\xf8\xb7\x6f\xda\xd6\x57\xf0\x03\xb5\x67\xc1\
+\x5e\xfd\x9a\x31\x30\xd9\x23\x7d\x76\xee\x85\xb2\x85\x43\xc5\x50\
+\x57\x30\x3a\x9a\x81\x60\x2c\x17\xdb\xda\x8b\x08\x95\x5c\xd2\xac\
+\x77\xad\x77\xad\x4d\xa9\x49\xcd\xbf\x3d\x59\x53\x30\x04\x46\x82\
+\xe2\xcb\x01\x50\xd7\x19\xbd\x40\x0b\x15\x57\x81\xe2\xae\xf7\x75\
+\xd6\x66\xae\x3e\xad\xb1\xfe\xd6\xc5\x7a\x29\x31\xda\x71\xeb\xe5\
+\xd0\x12\xb9\x79\x32\x55\xcc\x33\xca\x6a\xa5\xa7\x1a\x5a\x75\x66\
+\x48\x93\xa6\x3e\x9d\x37\xb5\xd8\x12\x72\xdc\xdd\xe2\xfe\x20\xf5\
+\xc2\x9b\x15\x99\xe7\x53\x8a\x66\xa4\xa6\x6f\x2c\xb0\x24\x35\x7f\
+\x57\xf6\x8d\xd7\xed\x56\x4f\xbe\xbf\x9f\xf5\x6e\x6b\x5a\x41\x5a\
+\xce\xdb\xd0\xb7\xd5\x5e\x6d\xd2\x93\xad\xb3\xce\xdd\x21\xff\xd4\
+\x43\xa3\x9e\xed\xb0\xf5\x91\xdf\xca\xc0\xb8\xc0\x2a\xee\xb7\x03\
+\xb7\xd9\xbe\xf0\x2b\xf0\x31\x0a\x5d\x74\x3d\xee\xdb\xcb\x67\xb2\
+\x87\x2d\x78\xb8\x47\x9b\x42\x3b\xbc\x4c\xef\xcd\xae\xe9\x72\x92\
+\x4b\x27\xcb\x1f\xae\xc5\x6d\x23\xe3\xd2\x9f\xb5\x4a\xb8\xef\xb3\
+\x26\xe0\x3b\xf7\xb7\x0c\x23\x5b\x53\x00\xdc\x17\x03\x18\xf3\x01\
+\xc4\x7a\x60\x2c\x04\x90\x86\x00\xd8\x9a\x8a\xf5\xc0\x9c\x4e\x36\
+\x48\xbe\xc6\x45\x10\x66\x28\x13\xd9\x28\xe4\xd1\x3d\x7b\x63\xfa\
+\x9d\x9c\xab\x9f\xb0\xe8\x97\x77\x5f\xde\x7d\x79\xd7\x67\x9d\xfc\
+\x52\xd9\x63\xb9\xe1\x52\xcf\xd5\x4f\xec\x0f\x46\xc3\x90\x86\x85\
+\xda\x7b\xbc\xc9\xc9\x2f\xe8\xae\xdb\xfd\xae\x78\xae\xf7\xbc\x0f\
+\x62\x3d\x7a\x83\xde\x42\x8f\x32\x15\xf9\xbc\xdc\x5a\xee\x27\xbb\
+\xc8\xbb\x01\xd4\xfa\x20\x5d\x10\x86\x80\xda\xdc\x48\x05\x16\xca\
+\x7d\xc0\x10\xb4\xe1\x20\x74\x32\xae\x83\xda\xd8\xb4\x0c\x74\x9d\
+\xc6\xe8\xdc\xcd\xcb\x85\x83\x4b\x77\x28\x1b\xf7\x7b\xdf\xf6\xae\
+\x91\xb7\x6a\xd7\xf0\x84\x97\xa3\xee\xed\x7e\x76\x3c\x69\xd7\x76\
+\xd7\x8b\x4f\x1f\xfe\x39\xa9\xc7\x86\xbf\x72\xca\x8d\xea\xd7\xb2\
+\x5d\xa7\xcc\xcf\xc7\xb7\x1d\x22\x5e\x13\xa6\x18\x75\x80\x33\xda\
+\x6e\x00\xa3\x3d\x18\x43\xf5\x3b\xf3\x6c\xeb\xb2\xb6\x4c\x6c\x33\
+\x25\xa8\x76\x91\xea\x96\x01\xd2\x50\xe9\xfb\xd4\xf6\x79\x17\x72\
+\x56\xbe\x39\x99\xd2\x21\x77\x7d\xde\x8e\xcc\xef\xb3\xb6\x64\xac\
+\x78\xb7\x31\x33\x2c\x61\xee\x9d\x9c\xc4\x4b\xf6\xd7\xd9\x11\x0e\
+\x41\x10\x72\x3a\x14\x3c\x30\x4a\x17\x7c\xad\x4f\xf1\x1b\x2f\x16\
+\x97\xbb\x15\x0d\xd6\xd7\xba\x9c\x48\x4b\x93\x4e\xaa\x33\x97\x8e\
+\xe8\x5e\xe2\xc7\xe1\x42\xa1\xb0\x83\x7e\x77\x82\x7d\xaa\x7f\x56\
+\x74\x55\xc9\xef\x2a\x25\x55\x1c\x52\xa6\x57\xd9\xf1\xa5\xca\xd8\
+\x36\x13\x6f\xb9\x05\xe6\x51\x92\x40\xb8\x25\xd5\x07\x33\x5e\x28\
+\x0b\xa2\x62\x44\x60\x15\x83\xc5\x94\xb4\x8d\xa9\xb3\x53\x97\xa7\
+\x75\x4d\x2b\x97\xe6\xf8\x17\xd0\xf7\x5d\xee\xbb\xdc\x77\x29\xb7\
+\x27\xf4\x5c\x98\x87\xd0\x4d\x2c\xaa\x65\x8b\x95\xf1\x15\x8f\xa7\
+\x57\xb2\x57\x52\x77\xca\xad\x3d\xc2\x94\x9e\xca\x0b\x65\x35\xd5\
+\x40\x5c\x68\x5c\x30\x26\xa9\x4d\xc4\x72\x7a\xb2\xad\x8e\xcb\x58\
+\xfa\x71\xf3\xbd\x87\x96\x06\x80\xd9\x54\xeb\x08\x52\x84\x32\x16\
+\xb4\x66\xce\xfb\x20\xec\xa0\x3f\x98\x6f\xc5\x67\x20\xbc\x70\x4e\
+\xf1\x5a\xe7\xde\xd8\xbd\x54\x93\x97\x43\x7c\xbb\xfb\x1e\xae\xba\
+\xe7\xd5\xf5\x4a\x05\x37\x93\x7d\xf3\x8c\x7e\x53\x06\xfc\xd5\xe3\
+\xd5\x9b\xf4\xb6\xcd\xa2\xcf\xff\xfe\xc3\xbc\x9b\xeb\x5e\xa5\x8d\
+\x9f\xa7\x1c\xe8\xbc\xbe\xc4\xdb\x09\x6f\xbe\xed\x37\x6b\xe0\xac\
+\x7e\xb3\xe4\xc9\xf2\x64\x71\x16\x80\xf9\x0e\xf4\x38\x33\xcc\x1e\
+\x9c\xdf\xce\x51\xb2\xe8\x76\xff\x99\x01\x5b\x6d\xe3\x94\x23\xca\
+\x91\xe2\xae\xb6\xe8\xa0\x9d\xd2\x40\xa5\x07\xee\x0c\x94\x72\xa5\
+\x2b\x20\xb4\x55\x1a\x81\xb5\xb9\xf5\xa6\xb3\x87\xb1\x50\x6f\x9f\
+\x13\xa3\x15\x77\x4e\xcb\xfc\x3d\xbf\x81\xb1\xe9\xa6\xed\x51\x95\
+\x27\xe3\x1e\xd9\x56\x9c\xfd\xf3\x9e\x50\xc1\xf3\x8a\x6b\x57\xb7\
+\x07\xf9\x35\xb5\xf6\x1e\x73\x63\xfc\x5f\xae\xf4\x98\x7f\xea\x6d\
+\x92\xe5\x69\x8c\xd4\xf9\xd4\x95\xd3\x05\xe1\xc9\x9e\x17\x7d\x86\
+\xb6\x39\x53\xf5\x64\x93\x15\x3d\x26\x76\x88\x0a\x95\x02\x7f\xf0\
+\x1d\x0e\xd2\x00\x51\x06\xa9\x9e\xd2\x16\x55\xbb\x22\x5a\xb6\x78\
+\x6e\xea\xbf\x2e\x6f\xd1\xf2\x55\x59\xcb\x97\xff\x4b\xd4\x71\xb7\
+\xc4\xdd\x12\x77\x4b\x54\x98\x1d\xb4\x3d\x68\xbb\x70\x9e\xf2\xfc\
+\x62\x9c\x04\x96\xbf\x58\xfb\xae\x66\xfa\xa0\x88\x2d\x45\xb6\x86\
+\x29\x62\x2d\x71\xba\x7c\x0d\x74\x17\xb1\x72\x4a\x46\xc6\x8d\xcc\
+\xe0\xc2\x77\x43\x47\x84\xde\xff\x48\x4d\x67\x30\x1b\x49\xdb\x41\
+\x8f\xd7\xc3\x40\x2a\x66\x36\x05\x2e\x9a\xad\xc0\x5c\x6b\x14\x06\
+\xa3\xa9\xf2\x33\x88\xfb\x85\x7b\x91\xa7\x8a\x7c\x19\xd6\xd0\x4c\
+\x6e\xd4\xb7\xec\x8b\x9b\xc9\x2b\x1e\xfe\xb1\x2f\x29\x26\xed\x5c\
+\xca\x8b\x90\xa5\x7e\xb7\xfd\xcc\x6f\xa2\x66\x6c\x18\x53\xc3\xd9\
+\xbc\xe3\xed\x6a\xcd\x2c\xc5\xd7\x9b\x77\xd7\x6c\x98\xb7\xae\xfc\
+\x6f\xfd\xcd\x19\xe6\x0c\x61\x2a\x00\x3e\x00\xa4\xe7\xaf\x30\xbc\
+\xd4\x56\x2e\xf1\xca\x11\xe5\x88\xb1\x46\x6c\x0b\xc2\x08\xf3\x1c\
+\x80\xf8\x8d\x10\x04\x66\xa0\xf4\x23\x58\xda\x48\x19\x20\xdc\x14\
+\x67\x58\xb6\x59\x0f\x28\x82\x6f\x33\xaf\x44\xbf\x89\x25\xda\x15\
+\x51\x02\x16\x7f\x3e\xbe\x69\xcd\x3a\xe5\xb5\x16\xfe\x57\x5c\x16\
+\x56\xe8\x30\xfa\x8f\x36\xd5\xfb\x0f\xd8\xf1\xc5\x8f\xe7\xa2\x1a\
+\xee\xaa\x3e\xf6\xcf\xb4\xfe\xdf\x9c\xa9\x7b\xfb\xe9\xeb\x72\x37\
+\xfc\xcc\xa0\x52\x89\xf1\x8e\x99\xc5\x96\xfd\x24\x5d\xfd\x6e\x77\
+\x8f\x8e\xdb\xc6\x0f\xf9\x2b\xe2\x5c\xe9\x2b\x19\x80\x8c\x15\xf4\
+\xba\x44\x93\x6c\xf9\x4b\xac\xf4\xdd\x84\x2f\x8b\xf5\x0a\xce\x58\
+\x93\xb1\x26\x63\xcd\xbf\x80\x8e\x9f\x10\x3f\x21\x7e\x42\xe5\x96\
+\x21\xfb\x42\xf6\x89\x95\x80\x85\xce\x43\xa0\x7e\xff\xe0\x9b\x77\
+\x3f\xbc\xfd\xa1\xf4\xca\xa2\x5f\x86\x54\x07\xfd\x0f\xc9\x0b\x8c\
+\x28\xe3\xd6\xf3\xd1\x69\xf5\x52\xce\x16\xbe\x1e\x36\x38\x6c\xf0\
+\x07\x1d\x62\x0d\x63\x13\x48\x89\xfa\x10\x90\x36\x98\xd3\x40\xeb\
+\x47\x30\x98\x6d\x64\x2f\x10\xcb\x0a\xe7\x81\xc7\x7a\x03\xc0\x5b\
+\x28\x24\xf5\xb3\xce\x94\x5f\xf5\xba\x33\xa5\xf9\xe0\x4e\x66\x59\
+\xa3\x40\xfc\x69\x6d\xee\xd4\x07\x3f\xd7\xc9\x1c\x93\xbf\x33\x3f\
+\x4d\x79\x6a\xdb\x21\x0f\x1e\xdc\x73\xa4\xf1\x65\xfb\xb7\x42\x9d\
+\xba\xa1\x7b\x8c\x66\x9b\x17\xde\xd8\x7a\xe3\xd4\x83\x5b\xf1\x5e\
+\x00\xe6\x0d\x00\x7d\x98\xe5\xac\xde\x05\xde\xf7\x0f\x4a\x8c\xb0\
+\x02\xf4\xb7\x42\x73\x00\xd6\x92\x0a\xd2\x34\x29\x01\xcc\x40\xce\
+\x80\x20\x12\x02\x68\x42\x01\x98\x75\x8d\xd7\x60\xb6\x27\xd8\xd9\
+\x53\xdf\x6f\xec\xca\x1d\x5b\x50\xcf\x19\x16\x58\x2e\x60\x47\xc0\
+\x0e\x97\x9f\x5d\xbc\xe4\xf8\xd2\xd5\x8a\x6c\x2d\xf1\xbc\xd7\x9c\
+\x5e\xee\x5d\x9b\x8d\xe9\xb8\x3e\x6b\x66\xcd\x48\xd7\x75\x65\x07\
+\x17\x5c\xaf\x19\xbd\xd9\x7f\x9b\xc7\x8e\x54\x87\xa3\xe3\x75\xaf\
+\xe1\xee\xcb\x8a\xbd\x6b\x9c\x3e\x24\xad\x1f\xb0\x9c\x50\xb3\x33\
+\x73\xb9\x59\x50\x29\xb7\x73\x6e\xe7\x80\x5b\x01\xb7\x02\x6e\xfd\
+\x0b\xe8\x9b\x6b\x6f\xae\xbd\xb9\x36\xc4\xee\x77\xcf\xbb\xd0\xfb\
+\x67\xad\xf6\xa6\xf6\x33\x7a\x7a\x5c\xc0\x9b\x88\xa4\xa3\x91\xcf\
+\x8a\x84\x87\x67\x81\xa2\xeb\xc3\xc0\xf8\x91\xf1\x09\x72\x52\xf3\
+\x37\xc1\x61\x5a\x98\x16\xa6\xfd\xa3\xc5\xdc\x0e\xba\x8c\x04\xc2\
+\x18\xf1\x32\x88\xf3\xc4\x79\x20\x05\x1a\x5e\x60\xbc\xd3\x7b\x00\
+\x08\x6f\x00\xcc\xa2\x00\xc2\xf5\x90\x15\x81\x3f\x87\xac\x68\x57\
+\x67\xf5\xca\x6f\xba\xca\xb6\xfb\x0d\x5e\x77\xfe\xa9\xd1\x37\xe1\
+\x73\x56\xbf\x50\x12\x7f\x4e\xf2\xb4\xa9\xd6\xe9\xae\xcd\x7b\x34\
+\x1e\x57\xab\xcf\x65\xc7\x55\x97\xd1\x72\xea\xf5\xb8\x3f\x84\x98\
+\x91\x00\x42\x1b\xe7\x72\xc7\x72\x7d\xba\x65\xa4\xf0\x87\xf9\xf5\
+\xfb\x79\x40\xb5\xbe\xe2\x0b\x4a\x8c\xfc\x1d\x80\x91\xa8\x9c\x02\
+\x3e\x37\x1a\x80\x69\x33\x24\x00\x53\x00\x90\x77\x82\xb8\x59\x0c\
+\x04\x69\x35\xd8\xcb\xe6\xfb\xaa\x6d\xde\x7d\x91\xf7\x24\x73\x6e\
+\xc0\x49\xbf\x75\x85\xde\x27\x25\xcc\xf8\x98\x8f\xac\x58\xfa\x49\
+\x6b\xaa\xf9\x57\xaf\x57\xb1\xd3\xe8\xeb\xbf\x54\x98\x91\x5b\x75\
+\xc6\xce\x86\xe3\xbe\x91\x3d\x3a\x15\xaa\xf3\x9d\xeb\x22\xdb\x5b\
+\x5b\x24\x28\xe1\x4a\x79\xde\x8a\xa7\x78\x27\xb4\xd3\x3b\x0a\x81\
+\x7f\x1b\xe0\xfb\x8f\xfc\x96\xf9\x2d\xf3\x5b\x26\xfa\xbf\x58\xf4\
+\x62\x91\xbb\xaf\x7b\x49\x4b\xc5\xd4\x66\xf6\x15\x79\x59\x6f\xdc\
+\x93\x37\xa5\x4d\xbe\xfb\xfb\xeb\xe7\xcf\xc3\xca\xcd\x2d\x1e\x5a\
+\xe4\x3c\xa8\xbb\xb9\x0e\xd6\x73\xa6\xeb\xab\x23\x69\x3f\xe5\x78\
+\xf9\x3d\xf3\x7b\xe6\xf7\xec\xc3\xc9\x18\x57\x01\xcc\xce\x06\x60\
+\xc4\x89\xdb\xc1\x9c\x66\xb8\x81\xb6\xc1\x19\x09\xe6\x04\x25\x0d\
+\x04\x3f\x3d\x1d\xcc\x40\x23\x0b\x74\x17\xe3\x35\xc8\x6b\x88\xac\
+\x54\xad\xf4\xea\xb2\x4a\xfb\xac\x5f\x3d\x27\x14\x51\x46\xe5\x3d\
+\xd4\xd4\xcd\x55\x7b\xcf\x9f\x1a\xb7\xb1\xd5\x9a\x84\xf5\xf5\x53\
+\x6f\x67\xfc\x9e\x31\xd6\x91\x18\xe2\xee\xe2\x28\xe8\x93\x58\x2b\
+\xe3\x04\x80\x31\x3e\xff\x2f\x7b\x27\x47\x73\x8f\x74\x31\xd5\xda\
+\x5f\xad\x0f\x20\x7d\x07\xa0\x2f\xe4\x3b\x00\xf1\x7d\x5a\x41\xa6\
+\x18\x08\xd2\x77\x96\x2c\x20\x8d\x7b\x20\xee\x30\xa2\x41\xaa\xc9\
+\x4e\x30\x1d\xd2\xb6\x8c\xc2\x79\x96\xdc\x23\x8c\x14\x7e\x64\x76\
+\x48\x7b\xef\x1f\xfc\xf7\x03\x48\x41\x1f\xda\xf5\x7e\x1c\x28\x4d\
+\x79\x7f\xa1\xcc\xba\x82\x68\x0e\x34\xaa\x55\x9e\x5a\xe9\x6a\xf5\
+\xcb\x63\x4e\xcf\x59\x37\xba\x98\x47\x15\x8f\x31\x5e\x21\x20\xd4\
+\x33\x86\x80\xfe\x48\x19\x4f\xac\x25\x86\x9a\xc4\x12\x4b\xec\xdf\
+\x9d\xe1\xc3\x71\x0f\xc7\x3d\x1c\x57\xac\x65\x21\x8f\x42\x1e\x49\
+\xd9\x19\x6d\xb3\xbf\x73\x59\x64\x76\x11\x67\xe7\xee\x37\x72\x0d\
+\x21\xa3\x75\xc1\x71\x7d\x72\x60\x4d\xaf\xb9\x85\xc2\x41\x7c\xcc\
+\x5e\x70\xfc\x68\x29\x96\xf3\xab\x3a\xd0\x39\x40\xc9\x52\xda\x2b\
+\xdb\x98\xcc\x64\x26\x83\xb9\x5d\xe8\x0e\x7a\x37\xf6\x81\xb1\xdb\
+\x94\x80\xda\x7a\x11\x10\x77\xd8\x04\x30\x2e\x14\x34\x06\xe1\x9a\
+\xdc\x07\xcc\x66\xce\x57\x60\x16\x12\x7e\x04\xb5\x1f\x8d\x40\xbc\
+\x66\x5c\x2b\xdb\x21\xa2\x43\x58\xfd\xd0\x7e\xbf\x2c\x9a\xfa\xfc\
+\x48\xc1\xf6\xd9\xfb\x3f\x7b\x7a\x6e\xfb\xc1\x4b\xb6\x94\x3f\xd7\
+\xb6\x8c\xe9\xe7\xfa\xca\xbc\x21\xcf\xb5\x27\x86\x98\xce\x2e\x79\
+\xe7\x73\x3b\x3b\x0e\xe5\xae\x54\x35\xa7\xcd\x65\xb9\xa5\x95\xed\
+\x0f\xa9\x9a\x25\x86\x26\x62\x5b\x21\x10\x68\x2b\x9e\x17\x6b\x80\
+\x54\x4c\xf8\x05\x38\x2f\x75\x04\x69\xbb\xb1\x0e\xc4\x3d\xb6\x01\
+\x20\x5f\x15\x1a\x02\x70\x03\xa4\x1d\x62\xff\xd7\x9f\xbd\xa9\x92\
+\x94\xec\x3b\x37\x68\x5b\x50\x90\xd8\x4a\x6c\x67\x69\x0a\x60\xfe\
+\xcb\x03\x5a\x30\xfc\x00\x2c\x16\x4b\x0c\x30\x44\x1e\x03\x8a\x0f\
+\x3f\x83\x58\x85\x42\x20\xfc\xc1\x3e\x60\xa9\x14\x0b\x52\x05\xd0\
+\xeb\x70\xcd\x5c\x2e\x8c\x10\x46\x08\x6d\xfe\xb6\xe8\xfb\x27\xef\
+\x9f\xbc\x7f\xb2\xe8\xcb\xc2\x21\x85\x43\xd4\xea\xce\x10\xfb\xad\
+\xf8\xac\xe4\x3d\xc9\x33\xbd\xd6\xb8\x3d\xb7\x76\x71\xb3\xbb\x4f\
+\x73\x4f\x53\x32\xe5\x11\x96\x59\x60\x14\x31\x44\x90\x5a\xab\x75\
+\x4b\xe6\x07\xe4\x7a\xbb\xad\xe9\xba\x38\x6d\xd1\xf3\x8b\x91\x31\
+\x8b\x62\x16\x39\x1c\x5a\xf3\x82\x59\x20\xb7\x13\x67\x81\xb8\x51\
+\xeb\x04\xcc\xb1\xfa\x81\x29\x3b\x86\x00\xd3\xa5\x6a\xa0\xb6\xd3\
+\x7e\x03\x61\xab\x62\x01\x65\xb8\x39\x1f\xc4\xee\xe6\x05\xe0\x34\
+\x49\x60\x6c\x94\xda\x16\xca\x2a\x14\x64\xeb\xd1\xfd\x4d\xef\x55\
+\xdd\x12\x46\x84\xec\xec\x37\xab\x66\xbd\x96\x6b\xbf\xfe\xa6\x47\
+\xc8\xa6\xe9\x5b\x3b\x3d\x2f\xf4\xf8\x1d\x79\x87\x37\xad\x58\xfd\
+\xe8\xf7\x27\x59\x4b\xb2\x2c\xd9\x6d\xdc\x66\x5a\x3b\x09\xa9\x66\
+\x2f\x00\x63\x21\xdd\x00\x84\x09\x42\x03\x30\x8a\xd2\x05\xc4\x56\
+\xb4\x06\xf3\xbc\xf8\x0d\xd0\x9d\x64\x30\x2d\x52\x32\x88\x67\xa5\
+\x53\x20\x3c\x95\x06\xbc\xbe\x91\x54\x23\xf3\x7e\x58\x84\xb7\x67\
+\xa1\x8a\xff\x80\x95\x02\x41\x18\x03\xa0\xbf\xcf\xd5\xaa\x06\x20\
+\x6c\x04\x90\x0e\x9b\x79\x20\x46\x53\x1b\xb4\xb6\x4a\x7d\x60\x2f\
+\x93\x41\xdc\x0a\x1c\x97\x06\x4a\x15\xed\xde\x39\x9f\x3b\x0e\x99\
+\xbd\xcc\x5e\x66\xaf\xbf\x41\x5f\xcf\xba\x9e\x75\x3d\xcb\xeb\x92\
+\xfc\xa5\x91\x1c\xba\x21\xf0\x8f\xd0\x1e\xc6\x4b\xb5\xbe\x5a\x39\
+\xe1\x5c\xea\xce\x4c\xa3\xd8\xb4\xb0\x93\xc1\x9f\x89\xe3\xf4\x39\
+\xc2\x52\x90\x7c\xa4\xf9\x60\x0e\x96\x6f\x7d\xf1\xa8\xc9\x96\x06\
+\xa7\x07\xbc\xab\x35\xa7\xd2\xd9\x82\x13\x77\x36\x5d\xf8\x66\x59\
+\xd0\xb8\xbb\xe3\x5f\xaf\x9f\xbf\xa1\xc8\xe6\xd7\x69\xe1\x69\x07\
+\xd2\x6f\x81\x79\x9e\xb6\x80\x2c\x7d\x0d\x86\x69\x7c\x03\xca\x5f\
+\xd2\x1b\xa0\xa6\x51\x03\x8c\xaa\xe6\x28\x90\xba\x0a\x6d\x81\x00\
+\xb1\x2d\xf0\xad\x7e\x90\xbf\x9f\xf2\x4a\x53\xa1\x50\xaa\xdb\x8f\
+\x6e\x3f\xd6\x92\x2b\x57\xac\x5c\xb1\x6d\x99\x16\x0f\x1a\x96\xcf\
+\xaa\x56\xef\x70\xd1\x21\xee\xcf\x77\xf6\x79\x20\xad\x28\xba\x60\
+\xd5\x86\x41\x4a\xac\x75\xbb\xb4\x38\x25\x31\xa7\x6b\x4e\xd7\x57\
+\x21\xb9\x11\x39\xd9\xf6\x40\x63\x87\xb0\x0d\xa4\xfe\x62\x3f\x10\
+\x53\x84\x9e\x40\x53\xf1\x14\x28\x05\x54\x02\x21\xde\x0c\x01\xa3\
+\xa6\xe0\x04\x4e\x18\x81\x39\x1b\xde\xf4\x4e\xde\xeb\xda\x29\xb8\
+\xb4\xff\xc7\x11\x14\x40\x69\xf8\x90\xba\xa6\x2f\x14\x9e\x82\x54\
+\x8d\x24\x20\xc4\xd2\x14\xb4\x6e\xf8\x83\x78\x45\x98\x0f\xe2\x3e\
+\xd1\x00\xe3\x2b\x5c\xb9\x6c\xfe\x6a\x7c\xa5\x5b\x0a\x9a\xe4\x0f\
+\x13\x1e\x09\x8f\x84\x47\x7f\x83\x7e\xd0\xfd\x41\xf7\x07\xdd\xc3\
+\xdf\x79\x87\x06\x2e\xcf\x6c\x91\xd7\x39\xb5\xb2\xff\x3b\xb7\x2d\
+\xde\xeb\xee\x85\x25\x37\x4f\xba\x17\xb9\xba\x68\x5c\xd8\x23\x90\
+\xc6\xea\xad\x40\x3f\x60\x7e\x03\xd2\x2c\xb5\x14\x18\x09\x4a\x0f\
+\xb7\xba\x4a\x61\x4b\xcf\xe8\xb0\x4a\x17\xab\x19\xe3\x32\x7a\x68\
+\x6d\xa6\xd4\x4b\xf4\x6a\xe7\x52\x6e\xe7\xab\x9f\x86\x2d\xa9\xbe\
+\x64\xc0\xf2\xcb\x73\x7d\x92\xdf\xbc\xdb\xfe\x6e\x1b\xc8\x53\xf8\
+\x03\xf4\x6c\x63\x29\xd0\x99\xdf\xc1\x70\x31\x12\xc1\xb0\x9a\x37\
+\xc1\x58\x0c\x20\x3d\x83\x0f\x19\x14\x52\xf4\xbf\xb6\x59\xce\x93\
+\xda\xc9\xed\xfa\xa9\x3f\xcc\x1e\xb2\xf0\xe5\xd8\x2a\x91\xbe\xa3\
+\x9b\xcc\xbe\xd3\x5c\xf3\xcc\x69\xbc\xa6\x5a\x6c\xa9\x03\x27\x27\
+\x0d\xdf\x51\xed\xc4\x8f\xdf\xad\xdb\xd9\x78\x65\xc9\x89\xdb\x37\
+\xcc\xf9\x3d\xf4\xc0\xa2\x33\x5b\xb3\x62\xed\x5f\xd8\x1b\x81\x74\
+\x55\x4c\x00\x33\x48\xec\x00\x74\x93\xab\x81\x18\x63\x6c\x03\x25\
+\x41\xd8\x96\xb7\x20\x71\x7d\x46\x33\xb7\x06\x21\x45\x02\x83\x00\
+\x84\xee\x1f\xea\x54\x22\x01\x8c\x68\x00\xa9\x3b\x80\xe1\xa9\xe8\
+\x20\xde\x72\x4e\x01\xf9\x7b\x52\x81\x9e\xf2\xe7\x60\x5c\x10\xde\
+\x82\x18\xa0\x5c\x64\x8a\xb0\xd0\x18\x56\xf0\xa3\x12\x2d\x2c\x37\
+\x33\xcc\x0c\x33\xe3\x6f\xd0\x37\xed\x37\xed\x37\xed\x15\x9f\x15\
+\x59\x12\x74\x23\x75\x5c\xa6\xcd\x39\x34\xaf\xa7\x3c\xca\xb9\xfa\
+\xf9\xa4\xc4\xd3\xef\x3a\x46\xb6\x0f\xdd\x1b\x74\x06\xd8\xaf\x84\
+\x83\x1e\x61\x7c\x07\xe6\x31\x79\x3b\x48\x5d\xd4\x16\x60\x0e\x33\
+\x63\xc0\x1c\x69\x2e\x07\xe3\xa2\xb2\xa5\xe4\xf2\xc2\x99\xfe\xed\
+\x87\xea\x1d\xc7\xb4\xaa\xdb\xc7\x51\x69\x66\x95\x0a\xc7\xcf\xee\
+\x75\xec\x2a\xb1\xbf\xcd\x9e\x7e\x87\x67\x3a\x7a\x39\x3f\x2b\x18\
+\x07\xe6\x44\x61\x04\x18\x8b\x94\x18\x10\xfe\x32\x56\x82\xa8\x18\
+\xd7\x40\xdd\x29\x16\xe7\xc3\x4c\x5f\xfd\x8f\x31\xab\x7f\x7f\xf3\
+\xdb\xe4\xf9\x93\xfb\xd9\x6f\x1b\xfe\xb4\x63\xcc\xfe\xab\x05\x1d\
+\xb4\x90\x39\x59\x7d\x30\x89\x73\x3e\x54\xb6\x98\xa7\x29\x5a\xaf\
+\x4a\xd8\x4d\x71\x97\xf7\x03\xdb\xd8\xe4\xa4\xed\xc3\xae\xb5\x5b\
+\x7e\x7c\xf2\xae\x0d\x3d\x62\xa7\xc5\x5d\x7e\x74\xcd\x5c\x41\x80\
+\x70\x01\xc4\x12\xda\x34\x10\x16\x28\x92\x56\x9b\x14\xf3\x41\xfe\
+\xb6\xb7\x8f\x33\x86\x7b\x7e\x15\x9c\xed\x19\x04\x20\x0f\xfb\xaf\
+\x6a\x07\xc2\x87\xa4\x32\xd6\x2a\x51\x20\x27\x70\x07\x44\xab\xad\
+\x18\x08\xdd\x84\x21\x20\x0d\x12\xdc\x40\x89\xa6\x0d\x08\x13\x8c\
+\xc7\x20\xe6\xbb\xea\xe6\x31\x67\x03\xf3\x98\xd0\x42\x68\x21\xb4\
+\x10\x53\x5d\x52\x5d\x52\x5d\x0a\xfa\x67\x3c\xcd\x78\xea\xf3\xb0\
+\x50\x13\xb7\x7a\x96\xd1\x96\x39\x66\x0b\x7b\xa3\x82\xcf\x9c\x45\
+\xff\x2c\x13\x6f\xb9\xe7\xf7\xe4\xc0\x83\xd3\xaf\xce\xdd\xf9\xe6\
+\x59\xe6\x93\xcc\xac\x45\x5a\xfd\x02\xab\x73\x83\xee\xa6\x9e\x04\
+\x6d\x00\x16\x10\xd3\x85\x0b\x20\x44\x1a\x2f\x81\x71\xec\x02\xc1\
+\x53\x1a\x03\x66\xae\x39\xc8\xf7\xb7\x42\x07\xdd\xc5\x5e\x3d\xea\
+\x4d\xfc\xec\x6e\x95\x57\x3e\x1e\xb6\xd9\x9b\x7f\x58\x7f\x6e\x5d\
+\xe7\xab\x9b\xae\x47\xdd\x5a\x6a\xae\x34\xde\xe8\x8b\x41\xc8\x36\
+\xce\x81\xde\x1a\x40\x4a\x11\xa7\x7c\x48\x08\xb6\xc4\x7c\x0c\x5a\
+\x3e\x02\x1f\x92\xbc\xcc\x16\xae\xfe\xb6\xd1\x52\xbe\x4f\x9f\xc0\
+\xfb\x3e\x71\xca\xa4\xe6\x1e\x25\x62\xf2\xca\x82\x39\xb0\x61\xf7\
+\x36\x99\x35\xf7\x7c\x73\x78\x72\x42\xef\x17\xf5\x9b\xcf\xfc\xaa\
+\x6b\x0d\xc5\xe6\xe8\xac\x35\xbe\xd0\x6e\x4a\x83\xed\x5f\xee\x1e\
+\x70\xf2\xe4\x85\x41\xe6\x7a\x76\x58\x96\x82\x38\xd1\x98\x94\xe7\
+\xc8\xa9\x6d\x7f\x56\x70\x20\x63\x4b\xee\x7e\xcf\xd8\xe0\xfe\xbe\
+\x1b\x3f\xd4\x27\xbc\x4f\x90\x2c\x09\x20\x4f\x11\xba\x82\x3c\x59\
+\x57\xc0\xec\x22\xa7\x82\xd4\x92\x73\x60\x34\x20\x00\x94\x20\x73\
+\x22\x08\xe3\xa4\x09\xc0\x19\x25\xca\x5e\xcb\x1e\x9b\xa7\x8b\x53\
+\x40\x98\x62\xce\x30\x67\x98\x33\xc4\xf8\xe4\xf8\xe4\xf8\xe4\xc8\
+\x83\x81\x35\x02\x6b\x64\x3e\xc9\x7d\x9a\x1f\xa8\x47\x3b\xbb\x0a\
+\x07\x0f\xb7\xba\x5e\xee\x66\xaf\x3a\x73\x4b\xd4\x8a\x2c\x1b\x74\
+\xde\xfa\x9b\x26\x5f\xdc\x7d\xe2\x87\xb3\xda\xb1\x4a\x7b\xab\x1d\
+\xfd\xe9\x50\xea\xfe\xc4\x63\x53\x8e\x73\x72\xe6\xf9\xf2\x31\xc3\
+\xaf\x5e\xbb\xd6\xec\x6a\xf2\xa3\xfd\x4f\x67\xa6\x9d\x49\x49\xcc\
+\x6e\x5d\xa0\xe6\x45\x17\xac\x05\xfd\x98\x7c\x0f\xc4\x3b\x0c\x04\
+\x73\x96\x31\x2a\xec\x96\xaf\x87\x7f\xe6\xa0\xc8\x26\xc3\xa2\x7f\
+\xcd\x1b\xfb\x76\xf6\xd3\x3d\x4b\xae\xac\x7e\xb2\xba\xd6\x8b\x2d\
+\x4f\xe7\xbd\xb9\x09\xe2\x18\xa3\x0f\x50\x5d\xeb\x07\xc6\xa5\x7f\
+\xb7\x68\x33\x1c\x40\x77\x03\x10\xee\x82\x5a\x5f\x92\xf2\x02\xf2\
+\x02\xec\xbb\xbb\x78\xd4\x0b\xaf\x75\xd3\x58\xa8\x74\x94\x66\x6d\
+\xff\x6e\x29\x7b\xca\xa6\x7f\x93\x5b\xbd\xa0\x42\xb5\x23\xa5\xab\
+\x15\x5b\xd8\xff\xd0\x1c\xcf\x01\x0b\x73\x2f\x96\x76\xf7\x3f\xfb\
+\x66\xf0\xc2\xa9\xc7\xea\x1f\x7a\x70\x52\x3e\xbf\x1b\xc4\xee\xd2\
+\xd2\xec\xb3\x76\x1c\xd3\xf3\x4a\xe7\x8d\xcd\x26\xa8\xad\xcf\xc2\
+\xa0\x76\xff\xea\xae\x84\x41\x00\x82\xce\x5a\x30\xe7\xdb\xfa\x02\
+\x75\xb4\x70\x10\x0f\x8a\xc9\x20\x4c\x97\xfa\x81\xea\x69\x26\x80\
+\x92\x20\x95\x03\x31\x50\x1a\x52\xb0\x37\xe7\x8b\x8c\xc2\x94\xb2\
+\xec\x27\x52\x38\x24\x1c\x12\x0e\xc9\x77\xed\x77\xed\x77\xed\xde\
+\xfd\x7c\x9b\x7b\x8f\x77\x19\xe1\x32\xcf\x92\x71\xd8\x79\x35\xe2\
+\xd6\xef\xef\xca\xe7\x0e\x71\x4c\xeb\xe6\x5f\x3b\xa3\x4a\x4d\x65\
+\x3b\xa5\x2c\xeb\x4a\x97\x08\x9a\x5f\xe8\x40\x5a\x25\x67\x42\xf6\
+\x79\x8b\x69\xd6\x91\x66\x67\x5f\x4d\x9a\xf6\x76\xf4\xeb\xc5\x4f\
+\xbf\x71\x08\xea\x7e\x63\xa5\x36\xf1\xfc\x6e\x23\xd1\x69\xb1\x9f\
+\x53\x3c\xa4\xf5\x4a\x23\xcb\x00\xb7\xb9\x25\x87\x17\xab\x55\xd8\
+\xab\x0c\x11\x73\x4a\xf9\x15\x5e\x19\x70\xdf\x2b\xd6\xad\xae\xbc\
+\xc3\x1a\xda\x30\xa5\xec\x90\x8a\x9f\x55\x1b\x5d\x6c\x76\xf1\x80\
+\x9d\x21\xa7\xbe\x38\x96\x20\xf8\xdb\x56\xfa\x94\xeb\xb6\xb8\xd5\
+\xa4\x06\x2f\xdd\x7a\xcb\xf3\x5d\xee\x82\x65\xe1\xc7\xb8\xf5\x72\
+\xf0\x21\xf4\x57\x17\x81\x12\x63\x6c\x27\x86\xcf\x25\x9f\xe0\xef\
+\x03\x1a\x78\x4c\x69\xe4\x37\x74\x53\x74\xcf\xf3\xb6\x85\xc2\xe1\
+\x09\xab\xfb\x2e\x1b\xb9\xed\xca\xb0\x84\xf1\x39\x7d\x26\xf9\x9f\
+\xf1\x5e\xef\x5d\xfd\xeb\xa0\x1f\x4a\x0d\xd8\xb8\xe2\xcc\x8c\xc4\
+\x75\x01\xcf\xca\xfc\xe4\x77\xd4\xeb\xd1\xdd\x72\x3f\x96\xec\x95\
+\xf5\x38\x37\xae\xc0\x55\xd9\x20\xff\x64\x39\x56\xd8\xe2\xf7\xd6\
+\x2f\x10\x08\x21\x04\x94\xb5\x00\xac\x02\x30\x6a\x02\xd8\x3a\xd3\
+\x14\xc4\x25\xd2\x3d\xd0\x1a\xe8\x2f\x41\xce\xb7\x0e\x07\xa5\x87\
+\x50\x04\xd4\xbb\xa6\x1d\xac\x99\xc2\x78\xe1\xa0\x30\xdd\xdc\x1d\
+\x50\xcb\xe3\x33\x6f\xcd\xf0\x37\x06\x19\x9f\x8b\xd7\xe3\xae\xc7\
+\x5d\x8f\xb3\xe4\xa9\x17\x1c\xbf\xed\x6a\x7a\xa9\xf6\xad\x8d\xb9\
+\xd5\xcd\xa6\xc2\xe1\x56\x9d\xca\x47\x96\x77\xc9\xf9\x25\xff\x5e\
+\xfe\xf7\x8e\x34\x63\x8a\xf3\xed\x9b\xa5\x99\xa3\x32\x77\xba\x9c\
+\x60\xbc\xe5\xcf\xc2\xaf\x5d\x76\xb9\x74\xf3\xab\xe9\x7d\xbb\x50\
+\x56\x64\x8b\xd0\xc0\xd0\xc0\xb2\x3f\x17\x7b\x1b\xac\x14\x49\x0f\
+\xb2\xf8\x2d\x2c\xfd\xcc\xb5\x91\x67\x4c\x89\xcb\xb6\x54\xf9\x5b\
+\xd7\x2f\xd3\xf7\x64\x36\xbe\x12\x72\xfc\xa7\x53\x67\xfe\x48\xfc\
+\xe3\x97\xa3\xe3\x36\x2d\xd8\xf1\xea\x70\xef\xb3\x11\x37\xae\xdf\
+\xe8\x63\x74\xd6\x7e\x11\xbb\x0d\x88\x6e\x9e\xda\x3c\xb2\xee\x77\
+\x25\xde\x04\x17\x5f\xd8\x61\xcd\xc8\x2d\xb5\xae\xbf\x79\x98\xf4\
+\x70\x3c\xd1\xce\xe9\x7c\xd4\x1d\xca\x1e\x00\x7a\x51\x00\x69\x0d\
+\xa8\xf5\x85\x91\x6e\x6d\x85\x43\x7a\x3a\x98\x83\xa0\x56\x6a\xa9\
+\x9f\x8b\x3f\x8e\xea\xf8\xd5\xea\x66\xd5\xad\x99\x0f\x57\x66\x9d\
+\x5b\x7e\x78\x6a\xde\xaf\xef\x1e\xc6\x27\x77\x7b\x35\xc5\xfb\xad\
+\x47\x1f\xb7\x43\xfd\x07\x8e\x2f\xda\xab\xaf\xba\x44\x59\x68\x6d\
+\xfa\xa7\xb8\xf7\xec\xc9\xcf\x5e\x9b\xaf\x7b\xbe\x09\xf2\xe8\xe1\
+\xd3\xc9\xfb\xb5\xb5\xaa\xb5\xaa\xb5\x2a\x08\x7d\x01\x84\xae\x00\
+\xc2\x49\xa1\x10\x98\x9d\x2c\xe1\xa0\xdd\x10\xd6\x82\x39\xdb\x50\
+\x40\xcc\x15\x8b\x80\x18\x27\xee\x04\x32\x44\x77\x10\x1a\x48\xc5\
+\x41\x2b\x6b\xd4\xe3\x99\xb0\x49\xf1\x72\xe6\x1a\xfe\x5a\x59\xa9\
+\xb8\x54\x5c\x2a\x2e\x05\xfa\x06\xfa\x06\xfa\x9e\xda\x14\x5b\xe7\
+\x5a\xb5\x77\xdf\xe7\x5e\xcd\xbd\xea\x75\xcf\xb5\xa7\xb5\xb7\xdc\
+\x5a\x6e\x6b\x71\xfa\x0c\x70\x7b\xed\x5a\xcb\xe5\xa9\xd0\x5b\x19\
+\xa9\xe5\x48\x15\x2c\x9b\x1d\x47\xf4\x62\x05\x95\x93\x7a\x64\xb7\
+\xcb\x9a\x90\xf4\x34\x67\x6a\xee\x0a\x63\x90\x3a\x54\xeb\x9a\x95\
+\xeb\xd4\xf2\x9e\xdb\x96\xeb\x77\x85\x92\x6e\x79\x85\x6e\x79\x35\
+\x77\xdd\xe3\x9a\x22\xb6\x57\xe3\xb5\x85\xd2\x93\x42\xc5\x2d\x95\
+\xe5\xc5\xa1\xde\x85\x92\xdd\x1a\x57\xae\x1e\xfc\x7b\xe0\x1f\xae\
+\x73\x0b\xaa\x19\xfa\xed\xc9\xf7\xfa\xc6\x77\x7e\x70\xe1\xc5\x89\
+\xe7\x93\xfd\xe7\x07\xb5\xf0\xee\xd1\xaa\x49\x54\xbb\xaa\x15\x63\
+\x4a\x5c\xdb\x78\xa5\xd5\xad\x71\x0f\x7d\x9e\xd6\x2b\xdb\xb4\xc4\
+\xe9\x88\xd5\x52\xb0\x58\xcf\x5c\x00\x20\xbc\x9f\xc1\x59\xe8\x2c\
+\xa1\xed\xb0\x6f\xba\x5f\x29\x3e\xee\xb1\x67\xf5\xcf\x8a\x5e\x2c\
+\x5c\x19\x2c\x45\x84\xc1\xe1\x2d\x8b\xda\x42\x22\xa5\xa0\xd2\xdf\
+\x07\x4c\x4d\xec\x7c\xb1\xdc\x8b\xd6\x71\xd1\x07\x5a\xc5\xd6\x49\
+\x5c\xe0\xba\x4a\xbb\x58\x26\xbd\xe4\xc1\x12\x97\x1f\x56\xb6\xbb\
+\xa5\x57\x76\xae\xb8\x18\xf2\xfc\x37\x2a\x85\x74\xf5\xde\x22\xaf\
+\xcf\x1f\xe9\x4c\x8b\x0a\x69\xa9\x36\xa8\x0d\x42\x55\x00\x25\x1b\
+\x80\x4a\x42\x13\x70\xf5\x92\x5a\x80\xd0\x5d\x32\x41\xd0\xc4\x14\
+\x10\x1e\x58\x2b\x82\xdc\xc7\x9c\x0a\x52\x33\x39\x1a\xe4\x78\xe9\
+\x33\xb0\xb4\x37\x42\xf3\xc2\xf3\x34\xb3\xd3\x4b\xf9\xf6\x83\x6b\
+\xc6\xe9\x2f\xef\x4c\x8c\x6b\x23\xdd\xfb\xe5\xde\x2f\xf7\x7e\xf9\
+\xfc\x6a\x87\xdb\x1d\x6e\x97\xbd\x52\x79\x47\xe5\x1d\x49\x5d\xf3\
+\x0b\x15\x2c\x3e\xd9\xe9\x52\xfd\x4b\x13\x8f\x7d\x7e\x6b\xd3\x9d\
+\x0b\x87\x1e\xc6\xfd\x72\xbf\x5e\xdc\xa4\xa4\xb5\x49\xcb\xd3\x4b\
+\xe4\x6c\xb5\x4f\xb7\x2f\xd0\xcf\xe0\x19\xb8\xc7\x56\xc1\xed\xa0\
+\x4b\x29\xb7\x6f\xac\x2b\xb5\x8d\xea\x05\xfd\xcf\xfc\x18\x33\x86\
+\xc3\x6a\x87\xdc\xfc\xfc\xd7\xa9\xd6\xdc\x80\xec\xf9\xfa\x09\x62\
+\x55\xd5\x69\xe8\xdb\x18\xf5\xf2\x78\xc6\xb6\x0c\xe1\x79\xc5\x94\
+\xda\xc9\x3e\x85\x83\x7d\x4a\xf8\x8c\x2c\xef\x1e\x12\x15\xd2\x3c\
+\x72\xaf\xcf\x1d\xef\xf6\x99\xfd\xdf\x9e\xc8\x3c\xfd\xbc\x5d\x62\
+\xbb\xd7\x3d\x4a\x47\x46\x0c\x2e\x25\xfb\x0d\xf5\xc9\xb6\x26\xfe\
+\x7e\xed\xc8\xa3\x23\x8b\xcb\x9c\x8f\x38\x56\x74\x80\x4b\x63\x4b\
+\x47\xd7\xd6\x00\x5a\x76\xce\xb1\xec\xa2\xb9\x39\x09\x7b\x9f\xf6\
+\x7c\xf9\xa6\xe2\xd8\xf0\xbd\x81\x51\xa0\x77\x53\x1e\x81\xb4\x40\
+\x3a\x18\x5a\x38\xe8\x51\xf0\xfa\xc8\x56\xf5\x1a\x96\x19\x9f\xf8\
+\x24\xbb\x7f\xc6\xd3\x94\x15\x3b\x57\x5e\xbd\x7a\x3d\xea\x4f\xdf\
+\x8b\x99\x46\xd3\x67\x6b\x33\x7e\x32\x66\x9b\xaf\x88\x36\x06\x79\
+\xc7\xba\x47\xbb\x6e\x74\xb7\xba\xad\xaf\xda\xa0\xbe\x6f\x54\x63\
+\xb0\xdc\x01\x30\x93\x01\x64\x59\x08\x03\x23\xd1\x32\x0a\xac\x81\
+\x62\x05\x50\x0e\xd8\xa2\x40\xfa\xc9\x38\x0a\x14\x75\xed\x00\xd2\
+\x35\x23\x08\xe4\x72\xb6\xb2\xe0\xfc\x4a\x6a\xfb\xa2\x65\xea\xbb\
+\xc4\x65\x19\x7f\x3c\x53\x1e\x95\x3d\x9b\x78\x77\xcd\x83\x25\x9f\
+\x58\x2c\xf4\xa8\xed\xe3\x9f\xef\xaf\xcb\xaf\xf1\x6b\xdb\xb5\xc7\
+\x8a\xef\x0e\xfb\xbe\xf0\xd2\x24\x7b\x46\x40\x5a\xbb\x27\x5b\xde\
+\x1c\x7f\xe7\x72\x6b\x7b\xe2\xa5\x77\x65\x2f\x8e\x7a\xf6\xf0\xf9\
+\xf0\xdb\xdd\xde\xb5\x4b\x2a\xef\xfc\xdc\xb9\x4a\x1b\x1f\x3a\xd0\
+\x73\x9a\xe7\xd9\x32\x69\xfe\x4d\xfd\x9b\x7a\xcc\xf2\x0a\xf7\x48\
+\x2b\x79\x37\x30\xce\xb7\x46\xd8\x28\xb7\x7c\x9f\xcb\xea\x3e\xe1\
+\x88\x21\x1b\xcd\xc4\xdf\xf5\x4d\x2e\xcf\x04\x37\x97\xb3\x59\xe7\
+\xb4\xa9\x79\xf7\x83\xae\xb9\xf5\xb5\xcd\xae\x75\xbd\xd4\xe2\x52\
+\x67\x3d\xe6\x2a\x03\xad\xf7\x01\xc4\xe0\xdc\x99\x8e\x8e\xce\x8e\
+\x6f\x7c\x49\xc7\x45\x9e\xe9\xf7\xb9\x67\xe6\xee\xb6\x67\xab\x5e\
+\xca\xeb\xf5\x73\xeb\x0d\x2d\x4e\x85\xed\x08\xb9\x1b\xb0\xfd\xf5\
+\x6f\xc9\x05\x6f\x9b\xc7\x06\x1f\x8f\xba\xb0\xbe\x43\x74\x8d\x79\
+\x15\x8f\x80\x52\xdc\x32\x0c\x6c\xad\xa5\xa9\x20\x45\x19\x13\x41\
+\xca\xb2\xb9\x81\x72\xcd\x75\xeb\xc3\xcd\x09\x69\xaf\x93\x4f\xd7\
+\x3f\xd9\xf4\xc2\x82\x9c\x75\x57\x67\x27\x1d\xf7\x69\xf7\xa8\x4f\
+\xca\xea\xeb\x47\x6d\x27\xf3\xf7\xb6\x09\xf9\x3e\xa3\x5f\x44\xab\
+\x81\x2d\x4a\x37\xb5\xfd\x57\xb4\xd3\x1c\x40\x6e\x6a\x89\x01\x6b\
+\x07\x4b\x06\x28\xbd\x94\x9d\x60\x06\x2a\xde\xe0\x16\x24\x4c\x00\
+\xd1\x2e\x1e\x03\x4b\x8c\xcb\x6c\xe0\x95\xd0\x1f\x2c\x31\x96\x9d\
+\x0f\xa2\x6f\x77\x8c\x1f\x98\xb4\xef\x52\xe7\x8b\x9f\x7d\xfd\xf6\
+\xe7\x67\xbf\x34\xfa\x54\x02\x4d\x94\x79\x43\xba\xe2\x74\xd5\x6a\
+\x99\x56\x69\xbe\x33\x59\x7f\x17\x12\xe7\x5e\xa5\x50\x68\xb1\xfc\
+\xd2\x87\xfc\xb6\x36\xc9\x2c\xa9\x95\x3a\x27\xf6\x6e\x56\xb6\xee\
+\x42\x75\xa8\x6e\x11\xcf\xbd\x6e\x92\xfb\x5d\xce\xc9\x67\xfb\xde\
+\x7d\x95\x12\x1a\xd7\xfc\x9d\xf2\xaa\xf8\x8d\x79\x09\xbf\xbd\xab\
+\xb6\xf5\xcc\xd9\xb5\x8f\x73\x12\x8e\x64\x6f\xca\x7e\xea\x9f\xed\
+\xd9\xd3\x3d\xa5\x98\x11\xe0\xe5\x73\x38\x78\xb4\x7b\x48\xa1\xde\
+\x45\x57\x79\xad\xf3\x7d\x6b\x29\x14\x58\x3f\x70\xd1\xd9\x84\x3b\
+\x27\x1f\x0d\x2b\x92\x19\x30\xd3\xab\x61\xa5\x82\x22\x35\xc2\xab\
+\xba\x4f\xb5\xee\xb1\x5c\x2a\xf5\x0a\xb4\x4d\xd9\x33\x52\xc9\xa1\
+\xf3\xb4\xa8\xe0\x8a\x7d\x7f\xb6\xee\xa9\xbc\x77\xc2\xa8\xed\xdd\
+\xa2\x3a\xdd\xb7\xbb\xda\x47\x1a\xcd\x6d\xf9\xd6\xbd\x42\x1a\xc8\
+\x71\x52\x34\x48\x8b\xf5\x66\xc0\xe7\x72\x13\xd0\x8f\x59\x1f\x82\
+\xe2\x27\xa7\x82\x11\xab\xaf\x8e\xec\x53\xb4\x5a\xc8\xe5\x48\x86\
+\xed\xed\x7d\x44\x6d\x22\x85\xe8\x95\x8f\x9e\x3f\x13\x7f\xbb\xd3\
+\xe0\xc2\x61\xab\x82\x92\x2a\x0f\x28\x35\xbd\xec\x26\x10\xdf\x0f\
+\x54\x3a\x00\x58\xfb\x0b\x8d\x40\xda\x26\xcc\x01\x21\x1b\x17\x50\
+\x26\xe8\x2a\xe8\x1e\xe2\x3a\xd0\xed\x2e\x75\x41\xdc\x69\xf9\x0b\
+\xb4\xd9\x42\x31\x90\xcf\x0a\xf3\x40\x8e\x50\xa2\xd5\xc9\x42\x9a\
+\xe5\xa5\x76\x59\x99\xa4\x15\x84\xa4\x86\x54\x0e\xf1\xf8\x04\x68\
+\xd9\x5f\x97\x85\xd6\xaa\x43\x9a\xae\x36\x13\x24\x92\xcc\xb1\x16\
+\x1f\x5d\x15\x13\x54\xe4\x86\x0e\x57\xa1\x8e\x76\x4b\xdc\xa1\x05\
+\xb0\x4e\xef\x6a\x19\x20\xee\x32\x27\x84\x5c\x77\x6b\xe9\xd1\xb3\
+\x70\xe3\xb0\x30\xd7\x19\x0d\xb2\x8a\xcd\x2f\xb6\xc4\x08\xa9\xbb\
+\xcc\x6c\x2a\x95\x16\xe6\xc9\xd9\xd9\xfd\xf3\x4f\x14\xfc\xf4\x32\
+\x25\x6d\x49\xea\x81\x7b\xd5\x92\xca\xa7\x79\xc7\x9d\x7f\x3b\xfa\
+\x6d\xf0\x39\xdf\x87\x0f\x1e\x65\xfe\x3c\xe2\xc2\x80\x8b\xa7\xe5\
+\xae\xd6\x8a\xe6\xe5\x62\xe9\x1e\x7f\xfa\x8a\x91\x75\x8b\xac\x08\
+\x3a\x51\xbe\x65\x48\x50\xf1\xc8\xaa\x39\xa1\x83\x7d\x27\x45\xc4\
+\x07\xb5\x0b\xde\x14\x58\xc3\x1e\x66\x89\xec\x3c\xbf\xd4\xfd\xf2\
+\x17\x96\x96\xd9\x9e\x79\x20\xb3\xf1\xc4\xaa\xc3\xca\x7c\x61\x8d\
+\xb0\x44\xb9\xce\x00\xf3\x8a\x1a\x0a\x42\x5f\xf7\x21\xa0\xfe\x29\
+\xee\x07\xeb\x5a\x79\x34\x98\x11\xc2\x12\x10\xbf\x17\x6a\x83\x34\
+\x46\x98\x0b\x66\x61\x7d\x93\xd2\x40\x6e\x6f\xfb\xa9\x5d\x83\x26\
+\xd4\x7e\x04\x4c\x97\x53\xff\x95\x81\x72\x0e\x80\x44\xe1\x16\x68\
+\xcb\xcc\x53\x60\xbd\x2e\xfe\x0a\xfa\x77\xd6\x71\xc0\x31\xf1\x0a\
+\x08\x87\xb5\x28\xe0\xa5\x25\x02\xac\x1d\xa9\x0f\x3a\xb6\xca\xa0\
+\x5f\xc7\x26\xb7\x54\xa6\xaa\xc9\x96\xbe\x9a\x2f\x57\x69\x44\xe5\
+\x4f\xce\x82\x9b\x82\x54\x09\x94\xc3\x8c\xd2\x0e\xc9\xa1\x4e\x3f\
+\xf3\x52\xbe\x28\x5c\x70\x7e\x6f\x19\x91\xb7\x50\xbb\x25\x5e\x11\
+\xab\xb8\xfc\x66\xd4\x33\xa7\x5a\xff\xca\xaf\xe8\xc8\xcc\x3d\x64\
+\x1d\x6b\xad\x68\xdd\xa4\x0f\x97\x56\xeb\xcf\xf5\xa9\xfa\x40\x6d\
+\x16\xbb\xb5\x0d\x42\x51\x23\xd2\x1c\xa3\xa6\xbb\xad\x50\x6e\xcb\
+\x7f\x46\xf4\x0f\x9a\x1c\xf4\x45\xb9\xb6\xbe\xcf\xbc\x67\x38\xfb\
+\x55\xaa\x1f\xb9\xc5\x32\x4a\x8a\x56\x56\xaa\x41\xe6\x74\xfb\x57\
+\xaf\x86\xa6\x1e\x28\xe8\xfd\x7c\x5e\xda\xb4\x94\xb4\x7b\xe5\xdf\
+\x4c\x7c\xd7\xe7\x72\xa5\x07\xad\xe2\xcf\xfe\xba\xfa\xd4\xcf\x6f\
+\x56\xbd\x9e\x9a\xbd\x2f\xb7\x56\x91\xeb\x7e\x11\x9e\x3f\xfc\x3a\
+\xa6\xcf\x80\xde\x9b\x1a\x69\xfe\x93\x3d\xbf\x9f\x95\xb8\xa6\xe8\
+\xb6\x8b\xcb\x2b\xf4\x09\xf9\xfc\x32\x88\xeb\xad\x0e\x30\x9d\x9a\
+\x07\x28\x59\x4a\x77\x90\x57\xeb\x29\x60\xce\x97\x5a\xd0\x48\xf9\
+\xd2\xd8\xa2\x95\x65\x87\xd0\x45\x5e\x29\x7e\x6f\xd9\x07\x9a\xb7\
+\x7e\x14\xe4\x0c\x8b\x3b\x80\xf2\x5f\x0b\x24\xde\x8f\x08\xf5\x7a\
+\x00\xb2\x24\xaf\x04\xf1\x81\x50\x08\x38\x28\xee\x04\x16\xe8\x75\
+\xc0\xa5\xa7\x34\x0d\xf4\x40\x21\x0b\x2c\x56\x73\x35\xe4\x45\x8b\
+\x0d\xc1\xe3\x95\xfe\x02\xcc\xc2\x22\xe9\x49\xf6\x22\xfa\x6a\xf5\
+\x2e\xf9\x54\xe7\x0d\xfc\xc7\x8c\x7f\x6d\xb6\x36\xd5\x3e\xd4\xd6\
+\x50\x9d\xac\x74\x28\x68\x69\xe9\xa2\xee\x94\x7f\x23\x4e\x9b\x26\
+\x6d\x71\x7c\x6b\x1b\x5b\xf0\xbb\x14\xab\xbd\x92\xdb\xca\xd3\xe4\
+\x47\x52\x8d\xfc\xc3\x6a\x5b\x6d\xa6\xc5\x4d\x7c\x4d\x79\x25\xc4\
+\x8c\x97\x0a\x1c\x91\x84\xeb\x9b\xf4\x7a\xc2\x2e\xb9\x83\x30\x4b\
+\x1d\xee\xc8\x56\x32\xc8\x95\x9e\x6b\x26\x76\xcb\x22\x69\xa7\xb1\
+\x52\x97\x9d\x8b\xd5\x4d\xf6\x0e\x52\x82\xd9\xc2\xe2\x5a\xa4\x8a\
+\x67\x79\x79\x50\x91\x3f\x3d\xa3\xac\xe5\x1a\xae\x28\x7e\xac\xe8\
+\xaf\x66\x6d\xa5\x92\xd1\x43\xdc\x6e\x4e\x14\xa6\xa6\xdc\xcb\x2c\
+\x9e\xbf\xa5\xd3\xfe\x35\xad\x36\xb6\x3d\xed\x8c\xbb\xfe\xf8\xfa\
+\xd0\xb9\xd1\x45\xeb\x87\xd7\xac\x16\xe6\xf2\xe0\xe7\x9b\xfa\xeb\
+\x03\xaf\x7f\x79\x73\x2c\xbb\xab\xbe\x5d\xff\x59\xaf\x65\xaf\x2b\
+\xf5\x92\x67\x89\x87\xa5\x2d\xc2\x0b\xe5\x11\xd0\x9b\xd7\xae\x6d\
+\xa9\x2c\x78\x39\x66\x9a\x79\xc6\x67\xee\xf5\x5d\xe6\xda\x82\xb2\
+\xb6\xda\x6f\x68\xab\xa5\x68\x25\x40\x9e\x63\x9d\x63\x9d\x2d\x97\
+\xa6\x8a\xe4\x63\xa9\xae\x87\xbb\x75\x14\xf7\xb9\xdc\x75\xb9\xea\
+\x51\x52\x9c\xea\x32\xc4\xa3\x53\x68\xa3\xe2\x09\xe1\x8d\x0a\xad\
+\xf6\x2a\x6d\x8c\xb3\x3c\x13\x77\x78\x3e\x11\x97\x30\x85\x61\xa0\
+\x4c\xb1\x55\x01\x35\xd7\x88\x03\xf7\xd6\x6e\xbd\x80\xb7\x5a\x6f\
+\x50\xfa\x2a\xef\xf2\xef\x64\xad\xc8\x5a\xa1\x4c\x10\x52\x81\x51\
+\xff\x01\xb4\xb4\x52\xfe\x52\x5a\xc9\x32\x69\x51\xce\x2d\x73\x7e\
+\xfe\x6a\x1f\x41\xee\x22\xd7\x32\xc7\x69\x6d\xa4\xfe\xfa\x72\x69\
+\x61\x41\xba\xf4\x4a\x98\x24\x8d\x34\x9b\x4b\x4d\x85\x89\xfa\x42\
+\x6b\x84\x56\x9f\xee\xa6\xbf\xe2\x6a\x96\xd4\xaa\x1b\x29\xf6\xf3\
+\x56\xdd\xd8\x6b\xad\xea\xc8\xb5\xde\xc9\x4d\x13\xf2\xed\xbb\xac\
+\xa1\x46\x34\x79\xaa\x22\xbf\x92\x5b\xd9\xc7\xe9\xad\xb4\xd7\x72\
+\x88\xa5\xba\x58\x59\xbc\xed\x38\x27\xf4\x73\xde\x93\x6b\x6a\xdb\
+\xcc\x91\xe2\x01\x6a\x48\x7d\xd4\x5d\xf2\x1d\x63\x95\xd1\xdd\x5e\
+\x20\x8c\x54\xa6\x71\xcf\x1c\xeb\xfb\xc4\xd6\xc4\x75\xd9\x44\xd7\
+\x56\x35\x9a\x0c\xfd\x6a\xd7\xae\xb4\x7d\x21\xc9\x61\xb9\x1e\x19\
+\x95\xbb\xac\x8b\x2a\x5d\x23\x20\xe2\xa2\xff\xe8\xe0\xac\x27\x5f\
+\xbf\x7a\x9c\xb8\x6e\xd4\x8d\xdd\x97\xf7\x0d\xb2\xcc\x30\x9d\x66\
+\xdf\xf6\xd5\xaa\x44\x56\x88\x6a\xbd\xaf\xea\xc8\xca\x13\x43\x7b\
+\xfb\xbc\xf6\xaa\x23\x0c\x13\xae\x29\xd1\xb8\xd3\x46\xab\xa8\x8b\
+\x7c\x25\x9e\x52\xfc\x85\x51\x5a\x0d\xa1\x24\x75\xc4\x17\xe4\x82\
+\x74\x5f\x39\x49\x3c\xa8\x41\x0e\xc9\x81\xe3\x6d\xce\x23\xbb\x7b\
+\x42\xf1\x47\xde\x8f\xab\x24\x2e\x30\x16\x18\x49\x19\xe7\x5c\x56\
+\xb0\x5a\xf7\x15\xfe\xf0\x68\x9b\xd7\x36\x30\xc3\x33\xb9\x76\xef\
+\x1a\x67\xea\x88\xfe\x8d\xc2\xbc\x14\x17\x59\xb4\x6c\x52\x62\x80\
+\x6b\x20\xb4\xa4\x36\xb5\x29\x30\x96\x30\x9f\x6d\x24\xb2\xf7\x53\
+\x16\x5d\x0b\x84\xd7\xd2\x68\xad\x89\xed\x9e\xf0\xc6\xdc\xa7\x3f\
+\xb3\xf7\xd5\xee\x99\xfb\xcc\x1e\x66\x25\xb9\xbc\xf2\xab\xd2\x5b\
+\x0f\x56\xbb\xab\x5d\xcd\x41\xda\x32\x7a\xcb\xaf\xcd\x71\x0c\xd0\
+\x9d\xc2\x8f\xce\xa7\xd2\x36\x73\xa6\x90\xcc\x52\xf3\x9c\xd9\x8d\
+\xa9\xd2\xf4\x82\x8e\xf2\x03\xce\xd1\xc6\xdc\xa9\x5d\x91\x6b\x08\
+\x8b\xb5\x1d\x8e\xa6\xd6\x8e\x42\x13\xcb\x4d\xb3\x8f\x7a\x49\xbb\
+\x62\x56\x94\x7b\x19\xe1\x42\x2d\xe7\x1a\xb9\x9a\xf9\x5a\x1a\x64\
+\x24\xb0\x47\xc9\xd1\x5e\x53\x44\xfd\xdd\xb0\x51\x5d\xfb\x8c\x1c\
+\x02\xc4\x85\x6c\x20\xb3\xf1\xd0\x12\x53\x4a\xba\x9c\x5e\x3e\xd8\
+\xbf\xef\x9b\xad\x15\x6e\x0c\x7e\xf0\xee\xdb\x6d\x9b\x2b\x6d\x3f\
+\xf2\xf0\xdb\x8c\x6f\xd2\x5b\x84\x4c\x77\x49\x73\x49\x68\x57\xb1\
+\x4c\xc3\xd2\x93\x2b\xb9\x85\x05\x04\x4e\x39\xbe\x3f\xde\xf9\x34\
+\x70\xf1\xef\x67\x4a\x9e\xed\x51\xa4\x85\xf7\x2d\xbf\x71\xf5\x1a\
+\x95\xf1\x2f\x7e\xac\x86\x47\xd1\xdb\xa1\x73\xcd\xab\x9a\x28\x74\
+\xf7\x98\xe0\xd6\xd6\x96\x60\x3f\x57\x60\x70\xa8\x78\xa4\xef\x4c\
+\x77\xb9\xe8\x9c\xe0\x88\xb0\x45\xca\x2e\x06\xdb\x3b\xa4\xbf\x71\
+\x7c\x95\x93\x99\xfb\xcc\xbe\x37\xdb\x7c\x67\xc9\x72\xe6\x86\xbb\
+\x95\x77\xa9\x6d\xdb\x25\xae\x57\x77\xa5\x1c\x37\x7a\xbc\x4b\x64\
+\xf1\xd1\x45\xf7\x43\x9e\x14\x52\x6a\x05\x16\x0e\x9c\x14\x50\x21\
+\xf2\x76\xe9\xcb\xa1\x4d\x8a\x6c\x2b\xb2\x59\x3b\xa8\xcd\xd7\xe6\
+\x1b\xa9\x6c\x31\x4b\x00\xee\x2c\xfc\x54\x78\x67\x3e\x32\x1f\xef\
+\x4f\xdd\xbf\xf8\xb3\x39\x7a\xa5\xad\x21\x4b\x0a\xdf\xa4\x92\x3e\
+\x5d\x5b\x26\x3f\x91\xdf\xca\xcb\xed\x09\xea\x72\x9e\xda\x72\x84\
+\x78\xa1\xa1\xb6\x5a\xea\x66\xe6\xc8\xf5\x85\x14\x46\x68\xe9\xda\
+\x8f\x5a\x4f\xd3\x29\x55\x94\x26\x93\x2d\xd4\xd1\xf7\x39\xc7\x30\
+\x57\x72\x28\x16\xfd\xb0\xde\x47\x8a\x92\x1e\xc8\xf3\xc4\x67\xe6\
+\x30\x33\xc8\x08\xd7\xa6\x18\x63\xc4\xc3\xe2\x59\x69\x9c\x31\x5e\
+\x9c\xae\x5f\x15\x7b\x1b\x4d\x45\x87\x5e\x52\xda\x2b\x44\x3b\x8f\
+\xa8\x2f\x8d\x87\xd6\xd1\xca\x01\xb3\xac\x70\xde\xa8\x2a\x39\xf8\
+\x51\x97\x11\xd9\x21\x06\x1a\xb3\x1c\xeb\x84\x2a\xf2\x03\xa5\xaf\
+\x38\xbc\x60\x83\xb9\xc9\xf8\x4d\x99\x27\x65\xc9\xfe\xca\x08\xa3\
+\xa1\xd8\x99\x5b\xda\x3a\x67\x25\xbd\xb2\x51\x5d\x2f\x23\xec\x91\
+\xef\x89\x73\xb4\x3a\x6a\xbc\xf6\x39\xae\xd7\xe6\xbe\xad\xfc\xe6\
+\x8b\x03\xdd\xef\x77\x8e\x4b\x3a\xd2\xf8\xfe\xee\x67\x91\x9e\xbe\
+\x85\x2a\xbb\x44\x56\x17\xc2\xf5\xe0\xdb\xb5\xe4\x62\x95\x4a\x44\
+\x06\x94\x2b\x54\xce\xc3\x8a\x21\x54\x96\xcb\xdb\x96\xca\xa9\xb2\
+\x43\xe8\xa6\x54\x75\xb9\xe1\x5a\x41\x7e\xa2\xd6\x35\xfd\xd4\x08\
+\x3c\xdf\x75\xcd\xaf\x90\x13\x6f\x0f\x35\xbf\x92\xa2\xdd\xd6\x8b\
+\xde\xec\xb0\xec\x30\x47\x70\xd2\x35\xcc\xf3\x95\x97\x53\x90\xdd\
+\x1a\x58\x16\xbc\x8c\xca\x6d\xa6\x6b\x37\xca\xbe\x72\x7b\x1d\xd7\
+\x62\x6e\xb5\x85\x65\xca\x2e\x38\x71\xf0\xf1\xc9\x91\x9f\xb0\x68\
+\xed\x8e\x76\x47\x2d\x2a\x9f\x33\xbe\x97\x0d\x79\x98\xf0\x2b\xb6\
+\x82\x65\x66\xb6\xb2\xba\x60\x00\x8f\xd4\x11\xb6\x9d\xec\x94\x27\
+\x16\x6c\x96\x86\x38\xf3\x59\xae\x1d\xe4\x73\x35\x8b\x57\xca\x6b\
+\xd6\xc9\xe3\x95\x2d\x4a\xb0\x16\x61\x1a\x52\x73\xb9\x8b\xfc\x85\
+\x28\xeb\x9d\xc8\x14\x47\x8a\x2b\x14\x3f\xfb\x08\xed\xb0\xb1\xd9\
+\x98\x2c\x0e\x35\x3a\xc8\x9a\x20\xc8\x6e\x7a\xac\x60\x18\x4b\xa5\
+\x55\x7a\xaa\xec\xa5\x77\x12\xaf\x98\xbd\xac\xd7\xd5\x09\x7a\x7b\
+\x5b\x65\x71\x9b\xe4\xa1\x4a\xea\x08\xa1\x83\x19\x2d\xcd\xd4\x0f\
+\x9a\xdb\xc5\x6a\xd4\x63\x8c\xb0\x47\x2a\x63\xdd\x64\x26\x39\xee\
+\x39\x22\x75\xac\xb1\xca\x69\x61\x0f\xef\x54\xcf\xdc\x81\xf6\x53\
+\x62\x6f\x69\x31\xdd\xac\xd1\xd6\x50\xd1\xdd\x2c\x26\x22\xb4\xd4\
+\xbc\x8d\x81\xf2\x77\xd6\x7a\xf2\x4f\x5a\x78\xd4\x82\x22\x4b\x0b\
+\xbb\xd4\xca\x08\x7d\x52\x24\x69\x56\x44\xd3\x99\xda\x88\x1b\xe7\
+\x13\x5d\xdf\x6c\x3a\x58\xf0\xf8\xc0\xe3\xd7\xf3\xe2\x0f\xb6\x3e\
+\x9e\x22\xbe\xb0\xf6\x95\x2e\x57\x5d\x1a\x9c\x1e\x36\xa8\x41\x46\
+\xf9\x86\x91\xa1\x25\xdc\x03\x4e\x7b\x1d\xcd\x31\xd5\xdb\xd2\xf0\
+\xb4\xa0\xbc\x71\xce\xa9\x4a\x05\x14\xa3\x9b\xeb\x48\xe9\x9c\x78\
+\xd1\xad\x9a\xac\x5b\xbb\x62\xe2\xa9\x36\x53\xb7\xe6\x4f\xcb\xcb\
+\x76\xa6\x64\xb5\xce\x5c\x6b\xef\x55\xb0\x3e\xa7\x6e\xdb\xc4\x9a\
+\x55\x6b\xbc\x51\xb1\x3f\x75\x8c\xfa\xfb\xd1\xd4\x27\xde\x6e\x50\
+\xf5\xf1\xcf\x8f\xab\xbe\x5e\xb8\x70\xdb\x9c\x9b\x95\x8f\xfa\xac\
+\x0f\x18\xaf\x1c\x91\x2f\xe1\x25\xff\x2a\xcc\x27\xdb\xde\x9a\x02\
+\x52\xa5\x13\xc6\x49\x7c\x14\x4d\x7f\x09\x5a\x80\xd2\x0f\xe4\x23\
+\xea\x38\xba\xd8\x7f\x91\xfa\x38\x8b\x99\x2b\xc5\x66\x96\xfb\x9c\
+\x30\xe7\xb0\x9f\x6c\xa1\x0b\x07\x94\x33\x46\x49\xda\x4b\xeb\x8c\
+\x9a\x60\xb8\xc9\xfb\xa9\x20\x5e\x22\x11\x9b\x39\x44\x4f\xd4\xda\
+\x08\x5f\x9b\x2f\xc5\x01\x05\x77\xe5\x9e\x62\x47\x31\x94\x07\xa4\
+\x0b\xd5\xf5\x35\xfc\x2a\x76\x63\x11\x0d\xe5\x22\x92\x44\x43\x3d\
+\xd4\xbc\x4e\x8c\xfa\x93\xd1\x81\xbf\x94\x1e\xd4\x66\xae\xfe\x40\
+\x89\x24\x86\x47\xdc\x26\xcf\x6c\xaa\x0f\x46\x31\x2e\x0a\x65\x41\
+\xbc\xe7\x7c\xcc\x1e\x61\xbb\xa5\x15\xed\x39\x6f\x1e\x02\xcb\x64\
+\x7d\x8f\xb9\x4b\xdf\x21\xfe\x69\x3c\xc3\x45\x4c\x92\x7e\xd1\x9f\
+\x18\x19\x8a\xbf\xd8\xce\xe8\xa6\x6e\x37\xa3\xa5\xbe\x14\xbb\xd1\
+\xe7\x6d\x4c\x52\xd9\xa3\x75\xe2\x1c\x8f\x23\x8f\xf6\x7b\xd0\xe1\
+\xc1\x85\xdc\x73\xa2\x22\xf6\x88\x3a\x1e\x91\x50\xe2\x6e\x83\x3d\
+\xa5\xaf\x17\xaf\x17\x6a\xf3\xba\xe9\x11\x67\x9c\xd2\xc7\x5b\x32\
+\xd2\x53\x9c\xdd\xf2\xee\x2b\x63\xcd\xc3\xea\x18\xa5\x8a\x30\xc4\
+\x75\x92\xfb\x7d\x37\xc1\x72\x24\x3d\x2f\xf7\x45\x9e\xbf\x6b\xa5\
+\x90\xb2\xc1\x29\xee\xb7\x7d\xe3\x7c\xff\x5a\x70\xe2\xc0\xc4\x63\
+\x47\x3e\x91\xb6\xab\x7e\x0d\x4c\x75\xb1\x3a\xf7\xe0\x42\x0d\x79\
+\x08\x7b\x9c\x37\xb5\xa1\x64\x16\xfc\x64\x3e\xc1\x30\x2e\xaa\xc1\
+\x6a\x05\x6d\x81\x58\x1b\xb7\x82\x3a\xf2\x79\x02\xf3\x3d\x8d\xd5\
+\x04\xe6\xf6\x92\x6b\x4a\xa3\x9c\xcb\xf4\xb3\xd6\xfd\xca\x74\xa3\
+\xa8\xd9\x47\xaa\xa7\x95\x10\x8a\x0b\xef\x9c\x47\xb5\xa1\xea\x33\
+\xf1\x91\xfc\xda\x3e\x47\x2a\xc2\x1e\xfb\x6c\xe3\x19\xd3\x33\xbb\
+\x68\x5f\x18\x69\x05\xbd\x45\x9b\xc5\xcd\x7e\x46\xba\x22\x86\xca\
+\x8f\xf5\xe9\x4c\x10\xf6\x68\x17\x39\x6a\x7c\x2d\xb6\xa5\xa2\x36\
+\x50\x1c\xc7\x9e\xbc\x95\xe6\x1e\xce\x38\x0f\x18\x9f\x63\x88\xcb\
+\x89\x21\x58\xdf\x26\xb6\x62\x99\x9e\xa1\x1e\xd6\x8b\x22\xa9\x73\
+\xc4\x79\x42\x94\x9e\x84\x21\xd9\xf5\x7d\x18\xf2\x16\xe5\x82\x21\
+\x0a\x99\x5a\x67\xde\x18\x0e\xb3\x04\x81\xb9\x3d\xa4\x8a\xe6\x28\
+\x35\x51\x18\x6c\x49\x57\x0d\xad\x80\xa1\x52\x45\x61\xbf\x7a\x55\
+\x77\x4a\x0d\xc8\x34\xfd\xd4\x05\xec\xa9\x3c\x3a\xf0\x72\xf0\x89\
+\xf1\x7b\xa2\xdb\xd7\x73\x3b\xd3\x6e\x78\xd6\xe0\xe4\xdd\x0f\x3a\
+\x5c\x69\x6d\x8d\x78\x60\x8d\x92\x66\xac\x9e\x76\x6c\xe9\xe9\x8a\
+\x43\xdc\xd7\xf7\xde\xbe\x65\x73\xf0\x19\x33\x66\x61\x5a\x48\x7a\
+\x44\xc6\x28\xd7\xd3\x96\x30\xcf\xf1\x5a\x33\x7e\x2c\x78\x91\xb8\
+\x2e\xe3\x6d\x46\x23\x35\x35\xbf\x55\x5e\xa9\x5b\xd3\x9f\x9c\x7a\
+\x32\x93\xfd\xce\x58\xf5\xef\xac\xee\x4f\xbd\xdd\xe0\x12\xd7\xd5\
+\x7b\xfa\x54\x61\x95\x73\x91\xbc\x4e\xed\xed\xec\xae\x66\x9a\x1b\
+\x95\xd3\x4a\x98\xba\x46\x5b\x65\xee\xc6\x29\x2b\xda\x90\xdc\xd9\
+\xce\xe6\xe6\x2a\xb1\xa9\xf2\x8d\xbc\x5c\x9e\xa3\x7d\x61\xb9\x6b\
+\xbe\x75\xfe\x45\x82\x10\x67\x69\xe9\x3c\xa1\x85\x68\xd7\x85\xd2\
+\x6a\x51\x63\xbb\x74\x4b\x29\xa5\x94\x32\x4a\xdb\x8f\xe4\x26\xcb\
+\x99\xc6\x63\x41\x70\x36\x97\xc7\x18\x76\x8f\x1e\x60\xbd\x81\x8f\
+\xfd\x79\xde\x74\xa3\xb4\xb4\xc3\x7a\xc8\xbc\x2a\xb5\x73\x2c\xd1\
+\x13\x8c\x69\x42\xa8\xf4\x48\xbd\x6b\xfa\x32\x95\x44\xe1\x33\xe5\
+\x8a\x74\x5e\x59\xac\x8e\x74\x1e\x62\x80\x9e\x68\xf9\x01\x6f\x69\
+\x8f\xbe\x54\xef\x24\xf9\x3b\x37\x4b\x73\xd9\x61\x69\xe8\xf8\x8a\
+\xd3\xec\x17\x4f\xd0\xd8\x39\xcb\xfc\xcc\x39\x11\x55\xfc\x49\x5e\
+\x6d\x99\xe6\xd8\x68\x26\x1b\xdf\x2a\x4d\x5c\xda\x38\xcb\x6b\x17\
+\xb5\x43\xf2\x29\xd6\x8b\x0f\xc5\xaf\xf4\x30\x67\x7d\xa7\xab\xf0\
+\xc0\x32\x5a\x8e\xd1\x2b\x71\x8b\x40\xe3\xb2\x73\x92\xe6\x61\x9d\
+\x01\x6a\x3d\xbb\x40\x9c\x79\xd4\xf5\x4a\xf8\x45\xbf\x3b\xc1\xd1\
+\xdf\xa6\xfb\xfc\x15\xe4\xf3\xed\x6f\xb5\xa7\xd6\x1e\x9a\x20\x65\
+\x17\xcf\x0e\x3d\x48\x9c\xed\x51\xfd\x6d\xed\x2f\xf7\xbd\xde\xe0\
+\xc5\xf6\x14\xf3\xd8\xcd\xca\x5b\x4b\x5e\x2a\x7a\xb7\xea\xcc\xd0\
+\x13\xa1\x2e\x25\xae\xf9\xec\x0a\x8c\xcc\x5d\x9a\x11\xfd\xea\x48\
+\x4c\xb5\x07\xda\x03\x8d\x16\xff\xc1\x75\xc4\x0f\x8f\x1f\xfe\xf8\
+\xe7\x07\x1b\x66\x9f\x9f\xd6\x32\x22\xc5\xff\x77\xf7\x5d\xca\x28\
+\xf5\xb0\xd2\x5a\xdb\x2e\x9c\x04\xb9\x8c\xdc\x40\x6d\xc0\x49\xcd\
+\xa1\x2c\x00\x39\x9e\x28\x6d\xa1\xf6\x85\xf9\x50\xea\x6e\x66\x8b\
+\x81\xfa\x13\x30\x8e\xc9\xd1\x72\x07\x3d\x5d\x76\x35\xc2\xe5\xea\
+\x76\xa7\x78\xda\x5c\x29\xf5\x35\x06\x08\xfd\x8d\x5b\x72\x25\xf1\
+\x80\x74\xd3\xd9\x40\x74\x31\x8b\xcb\x27\xed\xbf\x0a\x37\x8d\x66\
+\xb6\xea\xfa\x62\xf1\x2b\x87\x2a\xcd\x13\xeb\x5b\xe2\x51\x9d\x0d\
+\xcc\x57\xc6\x0e\x69\x9d\x90\x26\x7e\xce\x1c\x1a\xeb\xee\xfa\x13\
+\xb5\xa8\xe5\x86\xb4\xc7\x5c\xaf\x97\xd2\x87\x49\x3e\x46\x27\xe9\
+\x95\x9e\x4a\x0c\x0e\x2a\x33\x59\x2f\x21\xed\x31\x3b\x4b\x53\x88\
+\x12\xae\x4b\x7e\xfa\xef\xa6\xaf\xbe\x43\xaa\x20\x84\xea\x17\xa4\
+\xd6\x62\x45\x31\xd4\x59\x5f\xff\x46\x9c\x67\xf5\x13\x77\x18\xcd\
+\xb4\x2f\x0c\x77\x31\x05\xc4\x08\xad\x2c\x51\xc6\x65\x10\x7b\x89\
+\x9d\x40\x1c\x22\x6e\x10\xfb\xdb\x9f\x99\xd9\xe2\x45\x5b\x07\xed\
+\xa4\xee\x66\x5f\x28\xd7\x91\xbf\x90\xa2\xb1\x68\xe3\x84\x06\x20\
+\xcf\x00\xde\xa9\xfb\x88\xc5\x57\x98\x43\x94\x72\x53\x6e\xae\x36\
+\x78\x70\xef\x5d\x83\x9c\x1b\x47\xf3\x9e\x97\x7b\x5e\x6e\x7f\xc4\
+\xdd\x36\x77\xdb\xbc\xf9\x3e\xaf\x5e\x5e\xbd\xca\x93\x0b\xd7\x2e\
+\x5c\x3b\xaf\x01\xb9\xe4\x86\x5d\x2a\xf3\xb2\xcc\xcb\x4f\x80\xce\
+\x1f\x9b\x3f\x36\x7f\xec\x75\xaf\xcb\x2f\x2f\xbf\x64\x83\xd9\xc0\
+\xfc\x7b\xad\xfe\xfb\xa5\xe6\x8a\xfe\x6f\x23\xc9\xf7\x6f\x14\x70\
+\xf9\xc8\xf9\x9c\x07\x30\xf7\x00\x58\xb6\x02\x18\xed\x00\xc4\xf7\
+\xeb\x59\xeb\x02\xc8\x4f\x00\x8c\x74\x00\x63\x0a\x80\xd0\xf1\x1f\
+\x6d\xf2\x80\xff\x5e\x8b\xb3\xe7\x3f\xda\xfe\x0e\x43\x75\x00\x8b\
+\x15\xc0\x79\x05\x40\xfa\xb7\x15\xab\xef\xf5\x8b\x65\xff\x9f\xf4\
+\x68\x4f\x00\xc4\x2d\x00\x7a\x05\x00\xa5\xee\x47\xed\xaa\xfd\x51\
+\xbb\xde\xa7\xa2\xe7\xfe\xb3\xff\x5e\xcf\x7b\x9d\x7f\x97\x91\x8c\
+\x64\xe4\xc5\x25\x17\x97\x5c\x5c\xb2\xeb\xe8\xae\xa3\xbb\x8e\x06\
+\xf6\x09\xec\x13\xd8\xe7\xff\x00\x23\x4a\x69\xb7\x07\xfc\x73\x85\
+\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x05\x4c\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\
+\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xaf\xc8\x37\x05\x8a\xe9\
+\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\
+\x00\x41\x64\x6f\x62\x65\x20\x49\x6d\x61\x67\x65\x52\x65\x61\x64\
+\x79\x71\xc9\x65\x3c\x00\x00\x04\xde\x49\x44\x41\x54\x78\xda\x62\
+\xfc\xff\xff\x3f\x03\x2d\x00\x40\x00\x31\xd2\xca\x60\x80\x00\x62\
+\x24\x55\x43\x79\xe3\x49\x85\x7f\x7f\xfe\xcf\x67\x65\x63\x32\xf8\
+\xfc\xf9\xb7\xe2\xe4\x2e\xeb\x0f\xd8\xd4\x01\x04\x10\x49\xa8\xa2\
+\xe9\x64\x41\xe7\x84\x8b\xef\xaf\xdf\xfa\xf2\xff\xce\xfd\x6f\xff\
+\xb3\x4a\x0e\xaf\xc7\xa5\x16\x20\x80\x18\x40\x41\x81\x0b\xc3\x40\
+\x6d\xeb\x29\x83\xaa\xe6\x53\xe7\xf7\x1e\x78\xf1\xff\xeb\xd7\xff\
+\xff\x5f\xbd\xfa\xfd\xff\xfd\xfb\xbf\xff\xa7\xcf\xbb\xf5\x3f\x39\
+\xf7\x50\x00\x36\x73\x01\x02\x88\x51\x3e\xf1\xfa\xff\x00\x07\x31\
+\x86\x7f\xff\x18\x18\x7e\xfd\x65\x60\xf8\xfd\xe7\x1f\xc3\xaf\x3f\
+\x0c\x0c\x6b\xb6\x3f\xfd\xf0\x7d\x8b\xbe\x60\x43\xe7\x99\x06\x05\
+\x19\x81\x7a\x57\x27\x79\x06\x7e\x5e\x56\x86\x3f\x7f\xfe\x33\xfc\
+\xfe\xfd\x17\x4c\x73\x70\x30\x33\xd4\xb4\x9d\xfc\xf0\xf1\xd3\x4f\
+\xc5\xa5\xb3\x1c\x51\x82\x04\x20\x80\x18\x6d\xcb\xee\xfd\xef\xaf\
+\x57\x04\x1b\xf6\x03\x68\x30\x88\xfe\xf9\x9b\x81\xe1\xe9\x9d\xef\
+\x0c\x0f\x8f\xdf\x62\x08\x72\x91\x65\x30\x31\x14\x02\x1a\x06\x94\
+\xfb\xc5\xc0\xf0\xf7\x2f\xc2\x60\x90\xaf\xee\x3e\xfe\xc2\xd0\x3c\
+\xe9\xd2\x86\xdd\x57\x18\x0b\x19\x2e\x39\x3c\x80\x19\x0c\x10\x40\
+\x2c\xe8\xa9\xe2\x0f\x50\xf3\xb3\x53\x4f\x19\x78\xff\xfc\x60\xa8\
+\xcb\xd3\x67\xe0\xe2\x04\x19\x86\x3d\x18\xff\xfd\xfb\xcf\xa0\xa3\
+\x26\xc0\x60\x6b\x28\x14\xf0\xef\xdf\xdb\x85\x7b\x2f\x31\xc0\x0d\
+\x06\x08\x20\x96\xbf\xff\x10\x06\x7f\x78\xf4\x9d\xe1\xe9\xd9\x07\
+\x0c\x3e\x2e\x0a\x0c\x0a\x72\x9c\x78\x23\xf2\xfd\x97\x3f\x0c\x13\
+\x37\xbc\x64\x00\x3a\x1b\xe8\x03\x6e\x86\x5b\xef\xde\xf7\x33\xe8\
+\x1f\x34\x00\x87\x29\x50\x0c\x20\x80\x58\x90\x5d\xf3\xe9\xc5\x27\
+\x06\x2b\x53\x49\x82\x86\x7e\xf8\xfa\x8f\xc1\xbb\xf6\x16\x83\x8b\
+\x8d\x14\x83\x92\x2c\x0f\xd8\x2c\x05\x75\x09\x85\xcf\x5f\xff\x16\
+\xfd\xfe\xc3\xf0\x61\x62\xef\x19\x5e\x80\x00\x02\xba\x18\xa1\x81\
+\x49\x5a\x8c\xa1\x6a\xde\x15\x06\x73\xd3\x7f\x0c\xff\x81\x16\xfe\
+\xfd\xf7\x17\x18\x0c\xff\x18\x80\xe9\x96\xe1\x1f\x30\x6c\xff\x40\
+\xd9\x5b\x4f\xbc\x63\x08\xf1\x94\x67\x60\x13\x15\x60\x38\xf8\x90\
+\x01\x6c\x30\x3b\x07\x03\xc3\xc5\xf3\x1f\x79\x1f\xef\xbd\xf3\x0a\
+\x68\xd4\x01\x80\x00\x42\x09\x8a\xf5\x7b\x5e\x33\x28\xa8\x8a\x32\
+\xe8\x49\xb3\x30\x08\x8a\x70\x31\x7c\x03\xca\x7d\xff\x05\xc2\x0c\
+\x0c\xdf\x7e\xfc\x67\xf8\xf6\xfb\x1f\xc3\x8f\x1f\x0c\x0c\xe9\x6a\
+\x12\x0c\x3f\x59\x59\x18\x4e\xdd\x83\x18\xca\xc8\xc4\xc0\xf0\xf6\
+\xe1\x77\x86\x57\xc7\x1f\xfc\x65\xf8\xf7\x45\x81\x81\xf1\x7f\x0b\
+\x40\x00\xa1\x18\xbc\xe7\xf0\x2b\x86\x5b\x4b\x74\x18\xde\xbe\xfa\
+\xcd\xc0\x2f\xcc\xc2\xf0\x8f\x87\x81\xe1\xf5\x67\x06\x86\x37\x40\
+\xfc\xf0\x39\x03\xc3\x97\xf7\x40\xf6\x4f\x20\x06\xba\xe9\xdd\x87\
+\xbf\x0c\x6f\x5e\xff\x64\xf8\xf6\xf6\x0b\xc3\xf3\xab\xaf\x18\x3e\
+\x3c\xfb\xfa\x81\xe1\x07\xe3\x63\x06\xde\xbf\xea\x0c\x4c\xff\x0f\
+\x00\x04\x10\xcb\x9f\x3f\x10\x43\xf7\x9f\xfa\xce\x60\xab\xcb\xc7\
+\xc0\x09\xf4\x12\xab\x18\x2b\xc3\xf9\x5b\x9f\x18\x44\xe5\xf8\x18\
+\x6e\x3d\x61\x60\xb8\x03\xf4\xee\x8b\xd7\x7f\x18\x5e\xbf\xf9\xcb\
+\xf0\xf2\x0d\x88\xfe\xc3\xf0\xed\xc3\x77\x86\xef\x1f\xbe\x02\x0d\
+\x7c\xcf\xf0\x1f\xe8\x2b\x86\x6f\x0c\xaf\x18\x58\xfe\xb2\x00\x03\
+\xf0\x1a\xc3\x2d\xb7\x07\x00\x01\xc4\xf2\x0f\x9a\xdc\x0e\x9e\x7c\
+\xc7\x10\x64\x2d\xc4\x00\x8c\x17\x86\x97\x40\x57\xbd\x62\xe2\x63\
+\xb8\x71\x01\xe8\xb3\xff\xcc\xe0\x60\x00\xa5\xe1\x1f\xbf\xfe\x31\
+\xfc\x04\x1a\xf2\xe3\xe7\x3f\xa0\x6b\xbf\x31\xfc\xfe\x06\x4c\xdc\
+\xdc\xdc\x40\xb3\x80\x1a\x18\x80\x98\xf9\x97\x00\xc3\xff\x7f\xb3\
+\x40\xe6\x01\x04\x10\xd3\x3f\x60\x84\x7c\xfa\xca\xc0\x70\xf9\xda\
+\x07\x86\x70\x17\x1e\x60\xb2\x61\x60\x78\x02\xc4\xc0\xa0\x64\x78\
+\xf7\xf9\x1f\xc3\xc7\x2f\x40\xc3\x7e\x03\x0d\x03\x1a\xf8\x0b\x68\
+\xce\x87\x8f\xbf\x19\x5e\xbc\xf8\xc6\xf0\x97\x85\x9d\x81\x89\x83\
+\x1d\x35\xb9\x30\xff\xe1\x67\xf8\xcb\xb0\x01\xc4\x04\x08\x20\x70\
+\xaa\xd8\x73\xfc\x33\x83\x9d\x1e\x3f\xc3\x8b\x2f\x0c\x0c\x3c\x40\
+\xcf\x48\x02\x83\x83\x07\x98\x2a\xf8\x24\x59\x18\x3e\xbe\xfb\xc5\
+\xf0\x87\x85\x91\x41\xe8\xdf\x1f\x06\xbe\xdf\x3f\x18\x78\xc5\x7f\
+\x31\x28\x0b\x30\x33\xfc\xfb\xf9\x93\xe1\xdf\xb7\x9f\x0c\x7f\x80\
+\xd9\xf4\xfb\x37\x60\xf0\xbc\xfd\x27\xfc\xf0\xf1\xef\x57\x0c\x0f\
+\x3c\x2f\x80\x0c\x06\x08\x20\x96\x3f\xc0\x64\x74\xe0\xd8\x5b\x86\
+\xb2\x40\x71\x06\x0d\x5e\xa8\xcd\x82\x0c\xe0\x2c\xfc\xe3\x07\x28\
+\xf1\x33\x31\xfc\xfc\xf9\x07\x88\xff\x02\x83\x83\x09\x88\x59\x80\
+\xe2\x7f\x80\xe2\x20\x9a\x13\xc8\x67\x05\x62\x0e\x86\x75\x87\x3f\
+\x0a\x2f\x78\xf4\x7f\x33\xcc\xf1\x00\x01\xc4\xf4\x15\x68\xdb\x83\
+\x87\x9f\x19\xfc\xcd\x51\x33\x05\x13\x30\x09\xb1\xb0\x30\x31\x30\
+\x33\x33\x02\xd9\x4c\x50\x36\x13\x9c\x0d\xa2\x41\x72\x30\xf6\x91\
+\xab\xdf\x81\x69\xef\xff\x46\x98\x7e\x80\x00\x62\x79\xfb\xec\x2b\
+\x43\x56\x94\x3c\x46\xee\x62\x66\x86\x60\x60\x51\x03\x4c\xab\x40\
+\x17\x03\x03\xf8\xfb\x8f\x9f\x0c\xdf\xbf\xff\x66\xf8\xf6\xed\x17\
+\x30\x02\x7f\x32\xfc\x00\xb2\x7f\xff\x06\xc5\xc1\x1f\x86\x3b\xb7\
+\xbf\x01\x23\xc7\x7b\x03\x4c\x3f\x40\x00\x31\x32\x58\x9f\xf8\xaf\
+\xae\xca\xc3\x20\xc0\xcd\x0c\x8c\xd0\xff\xe0\x04\xcf\x00\xa6\xff\
+\x81\x73\xdd\x5f\xa0\xc6\x3f\xc0\x34\xf9\x17\x58\x9c\xfe\x05\xd2\
+\x7f\xfe\x00\x4b\x36\x60\xe9\xf6\x0f\xc8\x07\xd3\xc0\xdc\xf9\xf5\
+\xdb\x7f\x86\x9f\xaf\xfe\x6f\x60\x78\xea\x1d\x08\x33\x18\x20\x80\
+\x68\x56\xe7\x01\x04\x18\x00\xb1\xb9\x84\x8e\x2f\x4f\x67\xb4\x00\
+\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\x00\x00\x06\x43\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\
+\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
+\x01\x00\x9a\x9c\x18\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\
+\x8e\x7c\xfb\x51\x93\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\
+\x25\x00\x00\x80\x83\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\
+\x30\x00\x00\xea\x60\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\
+\x46\x00\x00\x05\xb9\x49\x44\x41\x54\x78\xda\x62\x64\x64\x64\x64\
+\xb1\xb2\xb2\x8a\xe3\xe7\xe7\x57\xfc\xf7\xef\x1f\x23\x03\x12\xf8\
+\xff\xff\x3f\x03\x29\x80\x89\x89\xe9\xcf\xe9\xd3\xa7\x57\xbd\x79\
+\xf3\xe6\x1a\x40\x00\x31\xd8\xda\xda\x45\x7e\xf8\xf0\xe1\xc5\xe7\
+\xcf\x9f\xfe\xfc\xf8\xf1\xf5\xcf\xf7\xef\x5f\x20\xf8\x1b\x04\x7f\
+\xfb\xfa\xf9\xcf\x57\x18\xfe\xf2\x09\x88\x61\x6c\x24\x1a\x88\xbf\
+\x7c\xfe\xfc\xe7\xe7\xcf\x9f\x3f\xa6\x4f\x9f\xbe\x16\x68\x07\x1b\
+\x40\x00\x8e\xc7\x58\x05\x40\x20\x86\xa1\xb1\x6d\xba\x48\x27\x71\
+\x3f\x11\x87\xfe\xff\xf7\x9c\xc8\xed\xfe\x83\xf5\x86\x07\x49\x86\
+\x90\x58\x6b\xc7\x19\x11\x7b\xbf\x87\x3c\xe3\x85\x3b\x61\x66\x85\
+\x82\xe4\xf4\xa4\xcd\x4c\x45\xa0\x2a\xb5\x6c\x99\xfc\xba\x1e\x17\
+\x00\x4d\xb0\xba\x6b\x66\x5e\x55\xbc\x7d\x02\x88\xe5\xcf\x9f\x3f\
+\xff\x80\x5e\x60\x58\xb5\xee\x20\x43\x63\xff\x45\x06\x11\x51\x61\
+\x06\x2e\x2e\x2e\x06\x41\x01\x5e\x06\x09\x09\x31\x30\x16\x15\x11\
+\x60\xe0\xe3\xe5\x60\xe0\xe0\x60\x66\xe0\x60\x65\x06\x5a\xf0\x07\
+\x88\xff\x02\x2d\x04\x3a\x8d\x0d\x68\x30\xc3\x5f\x06\x21\x3e\x06\
+\x06\x17\x5b\x65\x86\xdf\xbf\x7f\x83\x43\x05\x20\x00\x09\x64\x92\
+\x03\x20\x0c\x03\x31\xa7\x2a\xdd\x2b\x40\xfc\xff\x9f\xa4\x97\x12\
+\x85\xdb\xc8\x87\x91\xe5\x28\x5e\x75\x53\x6b\xe3\xba\x1f\x7a\x1f\
+\x66\x12\x09\xb1\x90\xf2\xa4\xb4\x93\x23\x0f\x82\x31\x57\x33\x09\
+\xb1\xbd\x59\xe8\x52\xf4\x5d\x86\x36\xb3\x25\xef\x2c\xff\x21\x9f\
+\x00\x54\x91\x4b\x0e\xc0\x20\x08\x44\x27\xad\x29\xe9\xc2\xfb\xdf\
+\xd3\x34\x68\x08\x8a\xa3\x5d\xb9\x9f\x1f\xbc\xf4\x53\xea\xfb\xd4\
+\x47\x84\xa1\xf7\x2e\x6a\x34\xa8\x36\x2c\x9e\xee\x01\xad\x46\x98\
+\x94\xc7\x80\x70\x65\xe2\x1b\x22\x2e\x98\x39\xf4\x2b\xc8\x6f\x3e\
+\x40\x4e\x01\x58\x24\xa3\x14\x00\x41\x20\x0a\x0e\x48\xb0\x46\x79\
+\xff\x43\x46\xf6\x63\xd8\x8a\xd2\x6e\x76\x81\x79\xc3\xf0\x3e\xf0\
+\x18\xdd\x8c\x66\x2f\x7f\x82\xbd\x83\xa6\xca\x99\x2f\xd2\x91\x89\
+\x22\x94\x72\x9b\x5d\x60\xdf\xc4\x86\x60\x15\x6f\xee\xed\x23\x61\
+\x51\xea\xd3\xa6\xf1\x0f\x7e\x05\x10\xc8\x7f\x0c\x7f\xff\xfe\x05\
+\x25\x15\x06\x50\x68\x81\x82\xe1\xd7\xcf\xaf\x60\xcb\x58\xbf\xb3\
+\x32\xbc\x78\xf1\x82\x81\x9d\x9d\x0d\x18\x44\xec\x0c\xef\xdf\xbe\
+\x66\x10\x11\x11\x04\x06\x1b\x0b\xd0\x12\x26\xb0\x25\xa0\x48\x66\
+\x66\xe5\x04\x3a\xec\x2f\x03\x34\x2c\xc0\x14\x40\x00\x31\x81\x08\
+\xb8\xc1\x40\xcc\xcd\xc3\xc7\x20\x29\x2d\x0f\xd4\xc0\xca\x00\x4c\
+\x3d\xc0\x20\xf9\x09\x34\xfc\x15\xd0\xcb\xff\x80\xe1\xcb\xc6\xf0\
+\xe8\xe1\x23\x86\xb7\x6f\xdf\x33\xbc\x01\xe2\x97\xaf\xde\x00\x83\
+\xeb\x27\x50\x2f\x28\xe5\xb0\x03\x1d\xf3\x07\x1e\x14\x00\x01\x04\
+\x0d\x8a\xff\xe0\xb0\xfd\xfb\x83\x91\xe1\xd7\xf7\xff\x0c\x12\x52\
+\xe2\x0c\x32\xb2\x4a\x0c\xaf\x5e\x3e\x05\x06\xc1\x67\x60\x24\xfd\
+\x02\x1b\x26\x21\x21\x0a\x0c\x86\x5f\x0c\xcf\x9e\x3d\x63\x10\xe0\
+\xe7\x61\xf8\x08\x8c\x8e\x17\x2f\x5e\x02\x1d\xc6\xcc\x20\x2a\xc4\
+\xc2\xe0\x6c\x29\x00\x0e\x46\x10\x00\x08\x20\x70\xaa\x00\x79\x9b\
+\xf1\x2f\x2b\x03\xb7\xe1\x5d\x06\xb3\x7c\x09\x86\x0b\x55\xaf\x18\
+\x54\xb5\xd5\x19\xd4\x35\x0d\x18\x3e\x7c\x78\xcb\xf0\xe5\xf3\x47\
+\xb0\x8b\xdf\xbd\xfb\xc2\x20\x28\x24\x0d\x0c\x4f\x26\x86\x8b\x97\
+\xaf\x32\x7c\x07\xfa\xe6\xfb\xb7\xef\x0c\xef\xdf\x7f\x63\xb0\x30\
+\x91\x02\x9a\xa3\x0d\x77\x31\x40\x00\xc1\x83\x02\x14\xbe\xee\xc1\
+\x29\x0c\x77\xf6\xdf\x62\x78\xff\xe6\x05\xc3\xdd\xdb\xd7\x80\x1a\
+\xde\x02\xbd\xc9\x0c\x0c\x16\x36\x06\x4e\x2e\x1e\x60\xaa\xe1\x66\
+\xf8\xfd\x87\x89\x81\x5f\x50\x9a\x41\x5c\x4a\x0d\x1c\x89\x7f\x7e\
+\xff\x01\x86\x2f\x24\xc3\x80\x7c\x0e\x03\x00\x01\xc4\x04\x8a\xbc\
+\x3f\x40\x83\x79\xf8\x38\x18\x8e\xaf\x7f\xce\xf0\xcf\xe7\x2a\x83\
+\xed\xf6\x87\x0c\x2c\x92\xcf\x19\x3e\xbc\x7c\xc6\xc0\xc4\xf8\x8b\
+\x81\x87\x87\x95\xe1\xf3\xa7\x17\x0c\xcf\x9e\xde\x64\x78\xf9\xec\
+\x26\xc3\xab\xe7\xb7\x81\xde\xfc\xca\x20\x2b\x2b\x05\x0e\x1e\x41\
+\x21\x1e\x60\x44\x72\x82\xcd\x81\x01\x80\x00\x02\x25\x4c\x60\xd2\
+\xfa\xcd\x20\x2a\xca\xcb\x60\xa3\xf0\x93\xe1\xe5\x03\x25\x06\xc6\
+\x2b\x42\x0c\x06\x52\xca\x0c\x1c\xd2\xdc\x0c\xac\x6c\xbf\x18\x04\
+\x84\x84\x18\x98\xb5\x04\x19\x9e\x3e\x7e\xc0\xf0\xe6\xf5\x4b\x70\
+\x92\x64\xe4\x64\x04\x47\x38\x9b\x9c\x18\x30\x8d\xf3\x31\x28\xcb\
+\xf3\x41\x7c\xce\x08\x49\x71\x00\x01\xc4\xc2\xcd\xcd\xcd\xc9\xc0\
+\xc8\xfa\x4f\x52\x8c\x99\x29\x27\x56\x86\x81\xf1\x67\x06\xd0\xaa\
+\x7f\x0c\xff\x0d\x7e\x83\x69\x50\x64\xfc\x07\x66\x0a\x46\x06\x60\
+\x3a\x65\x94\x01\xba\x43\x1a\x98\x7a\x18\x19\xa0\xfa\x19\xfe\xc3\
+\x72\x1b\xd0\xb2\x9f\xc0\xb4\xcc\xc9\xc9\x09\x72\x36\x13\x40\x00\
+\xb1\x9c\x3c\x79\xe2\xd6\xab\x57\x2f\xdf\xb0\xb1\xb1\x89\xfc\x02\
+\x86\x17\x03\xd3\x6f\x70\x58\xfd\xf8\xf4\xfd\xdf\xef\xdf\x7f\xfe\
+\xf1\xf1\xf1\xb1\x03\x23\x97\x11\x94\xfc\xb8\x80\xd9\x1e\xe4\xda\
+\xd7\xaf\x5f\xff\x06\x5a\xf6\x8f\x03\x58\x78\xb0\x30\xb3\x80\xec\
+\x00\x7b\x82\x9d\x9d\xe5\xc7\xf6\xed\x3b\x5e\x02\x0d\xfe\x08\x10\
+\x40\x20\x6b\x59\x80\xb6\x04\x0b\x08\x08\x28\x00\x5d\xf7\x1f\xe8\
+\x9d\x5f\xc0\xec\xcd\x68\x69\x69\xe9\x6e\x66\x66\xa6\xe1\xee\xee\
+\x2e\xf7\xee\xdd\x3b\x46\x1e\x1e\x1e\x06\x75\x75\x75\x60\x84\xfd\
+\x61\xd8\xb8\x71\xe3\xa7\xc3\x87\x0f\x5f\x3e\x76\xec\xd8\x11\xa0\
+\x25\x0f\xd8\xd9\xd9\xf9\x40\x0e\x07\x9a\xfe\xff\xd5\xab\x57\x47\
+\x80\xec\x13\x00\x01\x84\x51\x58\x8b\x8a\x8a\xca\xef\xde\xbd\xfb\
+\x35\xd0\x02\x90\xba\xff\x2f\x5f\xbe\xfc\x7f\xfb\xf6\xed\xff\x77\
+\xee\xdc\xf9\x0f\xcc\x85\xff\x9f\x3e\x7d\xfa\xff\xc7\x8f\x1f\x60\
+\xb9\x5b\xb7\x6e\xfd\xb4\xb7\xb7\x2f\xc4\x56\xe8\x03\x04\x10\x23\
+\xba\x40\x60\x60\xe0\xdc\x75\xeb\xd6\x25\x01\x5d\x02\xf2\x32\x30\
+\x83\x7c\x05\x97\xcb\xb0\x1a\x05\x56\x96\x48\x48\x48\x30\xc8\xc8\
+\xc8\x30\x2c\x5c\xb8\xf0\x63\x42\x42\x82\x00\xba\x39\x00\x01\xc4\
+\x8c\x2e\xf0\xf6\xed\x5b\x26\x61\x61\xe1\x60\x69\x69\x69\x66\x60\
+\xc4\x02\xcb\x09\x76\xb0\xc1\x30\x0c\x0c\x57\x06\x41\x41\x50\x79\
+\xc1\xc9\x70\xfe\xfc\x79\x86\xce\xce\xce\x33\x8f\x1f\x3f\x5e\x08\
+\x8d\x47\x38\x00\x08\x20\x46\x1c\xd5\x97\xab\xae\xae\x6e\xb9\xa3\
+\xa3\xa3\xa9\xbe\xbe\x3e\x0f\xd0\x75\x8c\xc0\x48\x04\x16\x25\x4c\
+\xff\x81\xd5\x0f\xc3\xfd\xfb\xf7\x7f\x6f\xdf\xbe\xfd\xe9\x8e\x1d\
+\x3b\xb6\x7e\xf9\xf2\xa5\x07\xa8\xfe\x21\xba\x01\x00\x01\xc4\x48\
+\xa0\x7e\x54\x04\x62\x2d\x20\x96\x02\x96\x25\x3c\x40\x1a\x98\x07\
+\xfe\x7e\x80\x1a\x74\x13\x88\x5f\xe2\xd2\x08\x10\x60\x00\x05\x61\
+\x5d\x41\x66\xc1\x20\xe0\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
+\x60\x82\
+\x00\x00\x03\xa1\
+\x89\
+\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
+\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
+\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
+\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\
+\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
+\xd4\x03\x0e\x0e\x1a\x12\xab\x0e\x5f\xe3\x00\x00\x03\x2e\x49\x44\
+\x41\x54\x78\x9c\xed\x97\x3d\x4b\xec\x40\x14\x86\xdf\x99\x4c\xfc\
+\x2a\x64\x1b\x05\x5b\x5b\x3b\x41\xdc\xde\x85\x08\x72\x05\xfb\x55\
+\x2b\x7f\xc3\xe2\xdf\xb0\xb0\xf5\x0f\x08\x16\x17\x1b\x59\xec\x45\
+\xb0\xb7\x50\xcb\x6c\x32\x1b\x93\x20\x44\xd6\x35\x39\x16\x72\x86\
+\x64\xb3\xd1\xec\xe5\x5e\xf6\x16\x0e\x84\xcc\x47\x72\xde\x67\xce\
+\xcc\x39\x93\x08\x22\xc2\x34\x8b\x9c\xaa\xfa\x0f\xc0\xff\x00\xa0\
+\x26\x7d\x41\x08\xf1\xeb\x6f\x08\x13\xd1\xef\x89\x01\x84\x10\x04\
+\x00\x4b\x4b\x4b\xa3\xfd\x75\x04\x4d\x5d\x6b\xbd\xcb\xf5\xda\x00\
+\x2c\x7e\x7f\x7f\x0f\x21\x04\x2c\xcb\x82\x65\x59\x20\x22\xd8\xb6\
+\x6d\x40\xd2\x34\x85\x52\x0a\x52\x7e\xae\x6e\x96\x65\x90\x52\x1a\
+\x80\xc3\xc3\x43\x5c\x5d\x5d\x19\xbb\xb5\x00\x58\xfc\xee\xee\x0e\
+\x49\x92\x40\x4a\x09\xa5\x94\x99\xf9\x60\x30\x80\x94\xd2\x88\x0e\
+\x87\x43\x58\x96\x65\x00\x18\x34\xcb\x32\xa4\x69\x5a\xb0\xfd\x2d\
+\x00\x8b\x5f\x5f\x5f\xe3\xe5\xe5\x05\xb6\x6d\x83\x88\x20\xa5\xc4\
+\xcc\xcc\x0c\x84\x10\x90\x52\x1a\x41\x00\x90\x52\x42\x08\x81\x2c\
+\xcb\x8c\xb7\x88\x08\x44\x84\xf7\xf7\xf7\xfa\x00\x2c\x7e\x7e\x7e\
+\x8e\x38\x8e\xa1\x94\x82\x65\x59\x90\x52\xc2\x71\x1c\x74\xbb\x5d\
+\xd3\x56\x4a\x99\xe5\x20\x22\x34\x9b\x4d\xdc\xde\xde\x1a\x5b\x55\
+\x1e\xa8\x0c\x43\x16\x3f\x3d\x3d\x45\xbf\xdf\x47\x10\x04\xe6\xee\
+\x38\x0e\x00\xa0\xd5\x6a\x21\x8a\x22\x84\x61\x88\x30\x0c\x11\xc7\
+\x31\xc2\x30\x44\xb3\xd9\x04\x00\x6c\x6c\x6c\xe0\xf9\xf9\xd9\xf4\
+\xc7\x71\x8c\xe1\x70\xf8\x3d\x00\x8b\x1f\x1f\x1f\xc3\xf3\x3c\xf8\
+\xbe\x8f\x5e\xaf\x07\xad\x35\xda\xed\x76\xe1\xd9\xbd\xbd\x3d\x68\
+\xad\xe1\x79\x1e\x82\x20\xc0\xf6\xf6\x76\x61\xdc\x71\x1c\x68\xad\
+\x11\x04\x01\xb4\xd6\x18\x0c\x06\x5f\x03\xb0\x78\xbb\xdd\x86\xef\
+\xfb\x70\x5d\x17\xae\xeb\xc2\xf3\x3c\xf4\x7a\x3d\x74\x3a\x9d\x12\
+\xf0\xd1\xd1\x11\xb4\xd6\x38\x38\x38\x28\x8d\x9d\x9c\x9c\x40\x6b\
+\x0d\xad\x35\x7c\xdf\xc7\xdb\xdb\x5b\x51\x2f\x1f\x9f\x2c\xbe\xb5\
+\xb5\x05\xcb\xb2\xcc\x9a\x2b\xa5\x60\xdb\xb6\x09\x3d\xa5\x14\xce\
+\xce\xce\xc6\x39\xaf\x50\x3a\x9d\x0e\x94\x52\xc8\xb2\x0c\x44\x84\
+\x34\x4d\x71\x71\x71\x81\x87\x87\x87\xdd\x52\x22\x62\xf1\xb5\xb5\
+\x35\x04\x41\x60\x76\x36\xdf\x19\x86\xeb\x3b\x3b\x3b\xb8\xbc\xbc\
+\xac\x14\xdf\xdf\xdf\x37\x61\x29\xa5\x44\x96\x65\x00\x50\x5a\x02\
+\x95\x17\x5f\x59\x59\x41\x14\x45\x05\x61\xae\xe7\x41\x78\xb7\x6f\
+\x6e\x6e\xe2\xe6\xe6\xa6\x24\xde\x6a\xb5\x4c\x28\x72\x12\x22\x22\
+\x08\x21\xc6\x03\x10\x91\x10\x42\x90\xeb\xba\x68\x34\x1a\x46\x90\
+\x2f\x36\xc4\x75\xbe\x9e\x9e\x9e\xc6\xce\xbe\xdb\xed\x62\x7d\x7d\
+\xdd\xb4\xd9\x13\x44\x54\xda\x03\x66\x09\x18\x22\x8a\x22\x2c\x2c\
+\x2c\x18\x11\x36\xc0\x46\x18\xa6\xdf\xef\x57\xba\x1f\xf8\xcc\x9a\
+\xab\xab\xab\xe6\x1d\xf6\xc0\x68\x18\x16\x12\x11\x43\x24\x49\x02\
+\xdb\xb6\x0b\x10\xf9\x7b\x92\x24\x25\xc1\x46\xa3\x81\x28\x8a\x0a\
+\x7d\x8f\x8f\x8f\x58\x5e\x5e\x36\x6d\x3e\x2b\x2a\x01\xf2\x10\xf9\
+\x7c\x9e\x37\x30\x3a\x03\x00\x98\x9b\x9b\x83\x10\x02\xf3\xf3\xf3\
+\x78\x7d\x7d\x2d\x8c\xf9\xbe\x8f\xc5\xc5\x45\xd3\xae\x75\x16\x30\
+\x44\x9a\xa6\x85\xa3\x96\xf3\x7a\xde\x88\x52\xca\x8c\x01\x80\x6d\
+\xdb\x05\xc8\xd9\xd9\xd9\x82\x0d\x8e\x86\x2f\x01\xf2\x10\xf9\x3c\
+\xc1\xeb\xc8\x61\xc5\xfb\x22\x0f\x08\xc0\x40\x32\x5c\x7e\x7c\xf4\
+\x2b\xfc\xcb\xc3\x88\x21\x46\xfa\x0a\x62\x55\xc6\xf3\x9b\x76\xf4\
+\xdd\xda\x00\x55\x10\x15\xcf\x95\xfa\xc6\xcd\x78\x22\x0f\x4c\x0a\
+\x51\x07\x6a\xb4\xd4\xfe\x2a\x26\xa2\xef\x3f\xfc\xfe\xa0\x88\x3a\
+\x94\xff\xb2\x4c\xfd\xbf\xe0\x07\x60\xea\x00\x1f\x7b\x5a\xb0\x73\
+\x0d\x39\x56\x51\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
+\
+"
+
+qt_resource_name = "\
+\x00\x06\
+\x07\x03\x7d\xc3\
+\x00\x69\
+\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x73\
+\x00\x0a\
+\x0a\xca\x41\xa7\
+\x00\x72\
+\x00\x65\x00\x61\x00\x64\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0a\
+\x0c\xad\x0f\x07\
+\x00\x64\
+\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x08\
+\x06\x5e\x5a\x67\
+\x00\x62\
+\x00\x6f\x00\x6f\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0c\
+\x0b\x21\x0f\x87\
+\x00\x66\
+\x00\x69\x00\x6c\x00\x65\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x0e\
+\x05\x89\xc5\xe7\
+\x00\x6d\
+\x00\x79\x00\x63\x00\x6f\x00\x6d\x00\x70\x00\x75\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+\x00\x09\
+\x0b\x85\x83\x07\
+\x00\x63\
+\x00\x6c\x00\x65\x00\x61\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
+"
+
+qt_resource_struct = "\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x02\
+\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x54\x45\
+\x00\x00\x00\x46\x00\x00\x00\x00\x00\x01\x00\x00\x16\x64\
+\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x4e\xf5\
+\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x8c\
+\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x07\x91\
+"
+
+def qInitResources():
+ QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+def qCleanupResources():
+ QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+qInitResources()
diff --git a/libprs500/gui/main.py b/libprs500/gui/main.py
index 5c99228619..3328975d68 100644
--- a/libprs500/gui/main.py
+++ b/libprs500/gui/main.py
@@ -14,15 +14,24 @@
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from libprs500.communicate import PRS500Device as device
from libprs500.errors import *
+from libprs500.lrf.meta import LRFMetaFile, LRFException
+from database import LibraryDatabase
import images
from PyQt4.QtCore import Qt, SIGNAL
from PyQt4.Qt import QObject, QThread, QCoreApplication, QEventLoop, QString, QStandardItem, QStandardItemModel, QStatusBar, QVariant, QAbstractTableModel, \
- QAbstractItemView, QImage, QPixmap, QIcon, QSize
+ QAbstractItemView, QImage, QPixmap, QIcon, QSize, QMessageBox, QSettings, QFileDialog, QErrorMessage
from PyQt4 import uic
-import sys, pkg_resources, re, string
+import sys, pkg_resources, re, string, time, os, os.path, traceback, textwrap, zlib
+from stat import ST_SIZE
+from tempfile import TemporaryFile, NamedTemporaryFile
+from exceptions import Exception as Exception
+import xml.dom.minidom as dom
+from xml.dom.ext import PrettyPrint as PrettyPrint
from operator import itemgetter
NONE = QVariant()
+TIME_WRITE_FMT = "%d %b %Y"
+COVER_HEIGHT = 80
def human_readable(size):
""" Convert a size in bytes into a human readle form """
@@ -34,12 +43,122 @@ def human_readable(size):
if size.find(".") > -1: size = size[:size.find(".")+2]
return size + " " + suffix
-class DeviceBooksModel(QAbstractTableModel):
+
+def wrap(s, width=20):
+ return textwrap.fill(str(s), width)
+
+class LibraryBooksModel(QAbstractTableModel):
+ FIELDS = ["id", "title", "authors", "size", "date", "publisher", "tags"]
+ TIME_READ_FMT = "%Y-%m-%d %H:%M:%S"
+ def __init__(self, parent, db_path):
+ QAbstractTableModel.__init__(self, parent)
+ self.db = LibraryDatabase(db_path)
+ self._data = self.db.get_table(self.FIELDS)
+ self._orig_data = self._data
+ self.image_file = None
+ self.sort(0, Qt.DescendingOrder)
+
+ def rowCount(self, parent): return len(self._data)
+ def columnCount(self, parent): return len(self.FIELDS)-2
+
+ def set_data(self, db):
+ self.emit(SIGNAL("layoutAboutToBeChanged()"))
+ self.db = db
+ self._data = self.db.get_table(self.FIELDS)
+ self._orig_data = self._data
+ self.sort(0, Qt.DescendingOrder)
+
+ def headerData(self, section, orientation, role):
+ if role != Qt.DisplayRole:
+ return NONE
+ text = ""
+ if orientation == Qt.Horizontal:
+ if section == 0: text = "Title"
+ elif section == 1: text = "Author(s)"
+ elif section == 2: text = "Size"
+ elif section == 3: text = "Date"
+ elif section == 4: text = "Publisher"
+ return QVariant(self.trUtf8(text))
+ else: return QVariant(str(1+section))
+
+ def info(self, row):
+ row = self._data[row]
+ cover = self.db.get_cover(row["id"])
+ exts = ",".join(self.db.get_extensions(row["id"]))
+ if not cover:
+ cover = QPixmap(":/images/book.png")
+ self.image_file = None
+ else:
+ pix = QPixmap()
+ self.image_file = NamedTemporaryFile()
+ self.image_file.write(cover)
+ self.image_file.flush()
+ pix.loadFromData(cover, "", Qt.AutoColor)
+ cover = pix.scaledToHeight(COVER_HEIGHT, Qt.SmoothTransformation)
+ return row["title"], row["authors"], human_readable(int(row["size"])), exts, cover
+ def data(self, index, role):
+ if role == Qt.DisplayRole:
+ row, col = index.row(), index.column()
+ text = None
+ row = self._data[row]
+ if col == 0: text = wrap(row["title"], width=25)
+ elif col == 1:
+ au = row["authors"]
+ if au : text = wrap(re.sub("&", "\n", au), width=25)
+ elif col == 2: text = human_readable(row["size"])
+ elif col == 3: text = time.strftime(TIME_WRITE_FMT, time.strptime(row["date"], self.TIME_READ_FMT))
+ elif col == 4:
+ pub = row["publisher"]
+ if pub: text = wrap(pub, 20)
+ if not text: text = "Unknown"
+ return QVariant(text)
+ elif role == Qt.TextAlignmentRole and index.column() in [2,3,4]:
+ return QVariant(Qt.AlignRight)
+ return NONE
+
+ def sort(self, col, order):
+ descending = order != Qt.AscendingOrder
+ def getter(key, func): return lambda x : func(itemgetter(key)(x))
+ if col == 0: key, func = "title", string.lower
+ if col == 1: key, func = "authors", lambda x : x.split()[-1:][0].lower() if x else ""
+ if col == 2: key, func = "size", int
+ if col == 3: key, func = "date", lambda x: time.mktime(time.strptime(x, self.TIME_READ_FMT))
+ if col == 4: key, func = "publisher", lambda x : x.lower() if x else ""
+ self.emit(SIGNAL("layoutAboutToBeChanged()"))
+ self._data.sort(key=getter(key, func))
+ if descending: self._data.reverse()
+ self.emit(SIGNAL("layoutChanged()"))
+ self.emit(SIGNAL("sorted()"))
+
+ def search(self, query):
+ def query_in(book, q):
+ au = book["authors"]
+ if not au : au = "unknown"
+ pub = book["publisher"]
+ if not pub : pub = "unknown"
+ return q in book["title"].lower() or q in au.lower() or q in pub.lower()
+ queries = unicode(query, 'utf-8').lower().split()
+ self.emit(SIGNAL("layoutAboutToBeChanged()"))
+ self._data = []
+ for book in self._orig_data:
+ match = True
+ for q in queries:
+ if query_in(book, q) : continue
+ else:
+ match = False
+ break
+ if match: self._data.append(book)
+ self.emit(SIGNAL("layoutChanged()"))
+ self.emit(SIGNAL("searched()"))
+
+class DeviceBooksModel(QAbstractTableModel):
+ TIME_READ_FMT = "%a, %d %b %Y %H:%M:%S %Z"
def __init__(self, parent, data):
QAbstractTableModel.__init__(self, parent)
self._data = data
self._orig_data = data
+ self.image_file = None
def set_data(self, data):
self.emit(SIGNAL("layoutAboutToBeChanged()"))
@@ -48,7 +167,7 @@ class DeviceBooksModel(QAbstractTableModel):
self.sort(0, Qt.DescendingOrder)
def rowCount(self, parent): return len(self._data)
- def columnCount(self, parent): return 3
+ def columnCount(self, parent): return 4
def headerData(self, section, orientation, role):
if role != Qt.DisplayRole:
@@ -58,6 +177,7 @@ class DeviceBooksModel(QAbstractTableModel):
if section == 0: text = "Title"
elif section == 1: text = "Author(s)"
elif section == 2: text = "Size"
+ elif section == 3: text = "Date"
return QVariant(self.trUtf8(text))
else: return QVariant(str(1+section))
@@ -68,24 +188,33 @@ class DeviceBooksModel(QAbstractTableModel):
if col == 0: text = book["title"]
elif col == 1: text = book["author"]
elif col == 2: text = human_readable(int(book["size"]))
+ elif col == 3: text = time.strftime(TIME_WRITE_FMT, time.strptime(book["date"], self.TIME_READ_FMT))
return QVariant(text)
- elif role == Qt.TextAlignmentRole and index.column() == 2:
+ elif role == Qt.TextAlignmentRole and index.column() in [2,3]:
return QVariant(Qt.AlignRight)
- elif role == Qt.DecorationRole and index.column() == 0:
- book = self._data[index.row()]
- if book.has_key("thumbnail"):
- return QVariant(book["thumbnail"])
return NONE
def info(self, row):
- row = self._data[row]
- return row["title"], row["author"], human_readable(int(row["size"])), row["mime"], row["thumbnail"].pixmap(60, 80, QIcon.Normal, QIcon.On)
+ row = self._data[row]
+ try:
+ cover = row["thumbnail"]
+ pix = QPixmap()
+ self.image_file = NamedTemporaryFile()
+ self.image_file.write(cover)
+ self.image_file.flush()
+ pix.loadFromData(cover, "", Qt.AutoColor)
+ cover = pix.scaledToHeight(COVER_HEIGHT, Qt.SmoothTransformation)
+ except Exception, e:
+ self.image_file = None
+ cover = QPixmap(":/images/book.png")
+ return row["title"], row["author"], human_readable(int(row["size"])), row["mime"], cover
def sort(self, col, order):
def getter(key, func): return lambda x : func(itemgetter(key)(x))
if col == 0: key, func = "title", string.lower
if col == 1: key, func = "author", lambda x : x.split()[-1:][0].lower()
if col == 2: key, func = "size", int
+ if col == 3: key, func = "date", lambda x: time.mktime(time.strptime(x, self.TIME_READ_FMT))
descending = order != Qt.AscendingOrder
self.emit(SIGNAL("layoutAboutToBeChanged()"))
self._data.sort(key=getter(key, func))
@@ -94,7 +223,7 @@ class DeviceBooksModel(QAbstractTableModel):
self.emit(SIGNAL("sorted()"))
def search(self, query):
- queries = unicode(query).lower().split()
+ queries = unicode(query, 'utf-8').lower().split()
self.emit(SIGNAL("layoutAboutToBeChanged()"))
self._data = []
for book in self._orig_data:
@@ -108,64 +237,198 @@ class DeviceBooksModel(QAbstractTableModel):
self.emit(SIGNAL("layoutChanged()"))
self.emit(SIGNAL("searched()"))
+ def delete_by_path(self, path):
+ self.emit(SIGNAL("layoutAboutToBeChanged()"))
+ index = -1
+ for book in self._data:
+ if path in book["path"]:
+ self._data.remove(book)
+ break
+ for book in self._orig_data:
+ if path in book["path"]:
+ self._orig_data.remove(book)
+ break
+ self.emit(SIGNAL("layoutChanged()"))
+ self.emit(SIGNAL("deleted()"))
+
+ def path(self, index): return self._data[index.row()]["path"]
+ def title(self, index): return self._data[index.row()]["title"]
+
+
Ui_MainWindow, bclass = uic.loadUiType(pkg_resources.resource_stream(__name__, "main.ui"))
-class MainWindow(QObject, Ui_MainWindow):
+class MainWindow(QObject, Ui_MainWindow):
def tree_clicked(self, index):
+ def show_device(yes):
+ if yes: self.device_view.show(), self.library_view.hide()
+ else: self.device_view.hide(), self.library_view.show()
item = self.tree.itemFromIndex(index)
text = str(item.text())
if text == "Library":
- print "Library Clicked"
+ show_device(False)
elif text == "SONY Reader":
- self.set_data(self.main_books + self.card_books)
+ show_device(True)
+ self.set_device_data(self.main_books + self.card_books)
elif text == "Main Memory":
- self.set_data(self.main_books)
+ show_device(True)
+ self.set_device_data(self.main_books)
elif text == "Storage Card":
- self.set_data(self.card_books)
+ show_device(True)
+ self.set_device_data(self.card_books)
elif text == "Books":
text = str(item.parent().text())
if text == "Library":
- print "Library --> Books Clicked"
+ show_device(False)
elif text == "Main Memory":
- self.set_data(self.main_books)
+ show_device(True)
+ self.set_device_data(self.main_books)
elif text == "Storage Card":
+ show_device(True)
self.set_data(self.card_books)
- def set_data(self, data):
- self.model.set_data(data)
- self.table_view.resizeColumnsToContents()
-
+ def set_device_data(self, data):
+ self.device_model.set_data(data)
+ self.device_view.resizeColumnsToContents()
- def data_sorted(self):
- self.table_view.resizeRowsToContents()
- self.table_view.clearSelection()
+ def model_modified(self):
+ self.device_view.clearSelection()
+ self.library_view.clearSelection()
self.book_cover.hide()
self.book_info.hide()
+ QCoreApplication.processEvents(QEventLoop.ExcludeUserInputEvents)
def show_book(self, current, previous):
title, author, size, mime, thumbnail = current.model().info(current.row())
self.book_info.setText(self.BOOK_TEMPLATE.arg(title).arg(size).arg(author).arg(mime))
self.book_cover.setPixmap(thumbnail)
+ try:
+ name = os.path.abspath(current.model().image_file.name)
+ self.book_cover.setToolTip('
')
+ except Exception, e: self.book_cover.setToolTip('
')
self.book_cover.show()
self.book_info.show()
-
- def searched(self):
- self.table_view.clearSelection()
- self.book_cover.hide()
- self.book_info.hide()
- self.table_view.resizeRowsToContents()
def clear(self, checked): self.search.setText("")
+ def list_context_event(self, event):
+ print "TODO:"
+
+ def do_delete(self, rows):
+ if self.device_model.__class__.__name__ == "DeviceBooksdevice_model":
+ paths, mc, cc = [], False, False
+ for book in rows:
+ path = book.model().path(book)
+ if path[0] == "/": file, prefix, mc = self.main_xml, "xs1:", True
+ else: file, prefix, cc = self.cache_xml, "", True
+ file.seek(0)
+ document = dom.parse(file)
+ books = document.getElementsByTagName(prefix + "text")
+ for candidate in books:
+ if candidate.attributes["path"].value in path:
+ paths.append(path)
+ candidate.parentNode.removeChild(candidate)
+ break
+ file.close()
+ file = TemporaryFile()
+ PrettyPrint(document, file)
+ if len(prefix) > 0: self.main_xml = file
+ else: self.cache_xml = file
+ for path in paths:
+ self.dev.del_file(path)
+ self.device_model.delete_by_path(path)
+ self.cache_xml.seek(0)
+ self.main_xml.seek(0)
+ self.status("Files deleted. Updating media list on device")
+ if mc:
+ self.dev.del_file(self.dev.MEDIA_XML)
+ self.dev.put_file(self.main_xml, self.dev.MEDIA_XML)
+ if cc:
+ self.dev.del_file(self.card+self.dev.CACHE_XML)
+ self.dev.put_file(self.cache_xml, self.card+self.dev.CACHE_XML)
+
+ def delete(self, action):
+ self.window.setCursor(Qt.WaitCursor)
+ rows = self.device_view.selectionModel().selectedRows()
+ items = [ row.model().title(row) + ": " + row.model().path(row)[row.model().path(row).rfind("/")+1:] for row in rows ]
+ ret = QMessageBox.question(self.window, self.trUtf8("SONY Reader - confirm"), self.trUtf8("Are you sure you want to delete these items from the device?\n\n") + "\n".join(items),
+ QMessageBox.YesToAll | QMessageBox.No, QMessageBox.YesToAll)
+ if ret == QMessageBox.YesToAll:
+ self.do_delete(rows)
+ self.window.setCursor(Qt.ArrowCursor)
+
+ def read_settings(self):
+ settings = QSettings()
+ settings.beginGroup("MainWindow")
+ self.window.resize(settings.value("size", QVariant(QSize(1000, 700))).toSize())
+ settings.endGroup()
+ self.database_path = settings.value("database path", QVariant(os.path.expanduser("~/library.sqlite"))).toString()
+
+ def write_settings(self):
+ settings = QSettings()
+ settings.beginGroup("MainWindow")
+ settings.setValue("size", QVariant(self.window.size()))
+ settings.endGroup()
+
+ def close_event(self, e):
+ self.write_settings()
+ e.accept()
+
+ def add(self, action):
+ settings = QSettings()
+ dir = settings.value("add books dialog dir", QVariant(os.path.expanduser("~"))).toString()
+ files = QFileDialog.getOpenFileNames(self.window, "Choose books to add to library", dir, "Books (*.lrf *.lrx *.rtf *.pdf *.txt);;All files (*)")
+ if not files.isEmpty():
+ x = str(files[0])
+ settings.setValue("add books dialog dir", QVariant(os.path.dirname(x)))
+ files = str(files.join("|||")).split("|||")
+ for file in files:
+ file = os.path.abspath(file)
+ title, author, cover, publisher = None, None, None, None
+ if ext == "lrf":
+ try:
+ lrf = LRFMetaFile(open(file, "r+b"))
+ title = lrf.title
+ author = lrf.author
+ publisher = lrf.publisher
+ cover = lrf.thumbnail
+ if "unknown" in author.lower(): author = None
+ except IOError, e:
+ self.show_error(e, "Unable to access "+file+"")
+ return
+ except LRFException: pass
+ self.library_model.add(file, title, author, publisher, cover)
+
+ def show_error(self, e, msg):
+ QErrorMessage(self.window).showMessage(msg+"
Error: "+str(e)+"
Traceback:
"+traceback.format_exc(e))
+
def __init__(self, window):
QObject.__init__(self)
Ui_MainWindow.__init__(self)
self.dev = device(report_progress=self.progress)
self.is_connected = False
self.setupUi(window)
- self.card = None
- # Create Tree
+ self.card = None
+ self.window = window
+ window.closeEvent = self.close_event
+ self.read_settings()
+
+ # Setup Library Book list
+ self.library_model = LibraryBooksModel(window, str(self.database_path))
+ self.library_view.setModel(self.library_model)
+ self.library_view.setSelectionBehavior(QAbstractItemView.SelectRows)
+ self.library_view.setSortingEnabled(True)
+ self.library_view.contextMenuEvent = self.list_context_event
+ QObject.connect(self.library_model, SIGNAL("layoutChanged()"), self.library_view.resizeRowsToContents)
+ QObject.connect(self.library_view.selectionModel(), SIGNAL("currentChanged(QModelIndex, QModelIndex)"), self.show_book)
+ QObject.connect(self.search, SIGNAL("textChanged(QString)"), self.library_model.search)
+ QObject.connect(self.library_model, SIGNAL("sorted()"), self.model_modified)
+ QObject.connect(self.library_model, SIGNAL("searched()"), self.model_modified)
+ QObject.connect(self.library_model, SIGNAL("deleted()"), self.model_modified)
+ self.library_view.resizeColumnsToContents()
+
+
+ # Create Device list
self.tree = QStandardItemModel()
library = QStandardItem(QString("Library"))
library.setIcon(QIcon(":/images/mycomputer.png"))
@@ -187,8 +450,6 @@ class MainWindow(QObject, Ui_MainWindow):
self.reader.setIcon(QIcon(":/images/reader.png"))
self.tree.appendRow(self.reader)
self.reader.setFont(font)
-
-
self.treeView.setModel(self.tree)
self.treeView.header().hide()
self.treeView.setExpanded(library.index(), True)
@@ -199,17 +460,21 @@ class MainWindow(QObject, Ui_MainWindow):
QObject.connect(self.treeView, SIGNAL("activated(QModelIndex)"), self.tree_clicked)
QObject.connect(self.treeView, SIGNAL("clicked(QModelIndex)"), self.tree_clicked)
- # Create Table
- self.model = DeviceBooksModel(window, [])
- QObject.connect(self.model, SIGNAL("sorted()"), self.data_sorted)
- self.table_view.setModel(self.model)
- self.table_view.setSelectionBehavior(QAbstractItemView.SelectRows)
- self.table_view.setSortingEnabled(True)
- QObject.connect(self.table_view.selectionModel(), SIGNAL("currentChanged(QModelIndex, QModelIndex)"), self.show_book)
- QObject.connect(self.search, SIGNAL("textChanged(QString)"), self.model.search)
- QObject.connect(self.model, SIGNAL("searched()"), self.searched)
+ # Create Device Book list
+ self.device_model = DeviceBooksModel(window, [])
+ self.device_view.setModel(self.device_model)
+ self.device_view.setSelectionBehavior(QAbstractItemView.SelectRows)
+ self.device_view.setSortingEnabled(True)
+ self.device_view.contextMenuEvent = self.list_context_event
+ QObject.connect(self.device_model, SIGNAL("layoutChanged()"), self.device_view.resizeRowsToContents)
+ QObject.connect(self.device_view.selectionModel(), SIGNAL("currentChanged(QModelIndex, QModelIndex)"), self.show_book)
+ QObject.connect(self.search, SIGNAL("textChanged(QString)"), self.device_model.search)
+ QObject.connect(self.device_model, SIGNAL("sorted()"), self.model_modified)
+ QObject.connect(self.device_model, SIGNAL("searched()"), self.model_modified)
+ QObject.connect(self.device_model, SIGNAL("deleted()"), self.model_modified)
self.clearButton.setIcon(QIcon(":/images/clear.png"))
QObject.connect(self.clearButton, SIGNAL("clicked(bool)"), self.clear)
+ self.device_view.hide()
# Setup book display
self.BOOK_TEMPLATE = self.book_info.text()
@@ -217,11 +482,19 @@ class MainWindow(QObject, Ui_MainWindow):
self.book_cover.hide()
self.book_info.hide()
+ # Populate toolbar
+ self.add_action = self.tool_bar.addAction(QIcon(":/images/fileopen.png"), "Add files to Library")
+ self.add_action.setShortcut(Qt.Key_A)
+ QObject.connect(self.add_action, SIGNAL("triggered(bool)"), self.add)
+ self.del_action = self.tool_bar.addAction(QIcon(":/images/delete.png"), "Delete selected items")
+ self.del_action.setShortcut(Qt.Key_Delete)
+ QObject.connect(self.del_action, SIGNAL("triggered(bool)"), self.delete)
+
+
self.device_detector = self.startTimer(1000)
self.splitter.setStretchFactor(0,0)
self.splitter.setStretchFactor(1,100)
self.search.setFocus(Qt.OtherFocusReason)
- self.window = window
window.show()
def timerEvent(self, e):
@@ -238,9 +511,10 @@ class MainWindow(QObject, Ui_MainWindow):
self.df.setText("Main memory:
Storage card:")
self.card = None
self.treeView.setRowHidden(2, self.tree.invisibleRootItem().index(), True)
- self.model.set_data([])
+ self.device_model.set_data([])
self.book_cover.hide()
self.book_info.hide()
+ self.device_view.hide()
def timeout_error(self):
@@ -260,6 +534,7 @@ class MainWindow(QObject, Ui_MainWindow):
QCoreApplication.processEvents(QEventLoop.ExcludeUserInputEvents)
def establish_connection(self):
+ self.window.setCursor(Qt.WaitCursor)
self.status("Connecting to device")
try:
space = self.dev.available_space()
@@ -275,20 +550,17 @@ class MainWindow(QObject, Ui_MainWindow):
sc = space[1][1] if space[1][1] else space[2][1]
self.df.setText("Main memory: " + human_readable(space[0][1]) + "
Storage card: " + human_readable(sc))
self.is_connected = True
- if space[1][2] > 0: self.card = "a:/"
- elif space[2][2] > 0: self.card = "b:/"
+ if space[1][2] > 0: self.card = "a:"
+ elif space[2][2] > 0: self.card = "b:"
else: self.card = None
if self.card: self.treeView.setRowHidden(1, self.reader.index(), False)
else: self.treeView.setRowHidden(1, self.reader.index(), True)
self.treeView.setRowHidden(2, self.tree.invisibleRootItem().index(), False)
- self.status("Loading media list")
+ self.status("Loading media list from device")
mb, cb, mx, cx = self.dev.books()
for x in (mb, cb):
for book in x:
- if book.has_key("thumbnail"):
- book["thumbnail"] = QIcon(QPixmap.fromImage(QImage.fromData(book["thumbnail"])))
- else: book["thumbnail"] = QIcon(self.BOOK_IMAGE)
if "&" in book["author"]:
book["author"] = re.sub(r"&\s*", r"\n", book["author"])
@@ -296,11 +568,15 @@ class MainWindow(QObject, Ui_MainWindow):
self.card_books = cb
self.main_xml = mx
self.cache_xml = cx
+ self.window.setCursor(Qt.ArrowCursor)
def main():
from PyQt4.Qt import QApplication, QMainWindow
app = QApplication(sys.argv)
- window = QMainWindow()
- gui = MainWindow(window)
- return app.exec_()
+ window = QMainWindow()
+ QCoreApplication.setOrganizationName("KovidsBrain")
+ QCoreApplication.setApplicationName("prs500-gui")
+ gui = MainWindow(window)
+ ret = app.exec_()
+ return ret
diff --git a/libprs500/gui/main.ui b/libprs500/gui/main.ui
index 51ff3dc125..1896ca8d3d 100644
--- a/libprs500/gui/main.ui
+++ b/libprs500/gui/main.ui
@@ -6,8 +6,8 @@
0
0
- 871
- 631
+ 878
+ 759
@@ -22,14 +22,24 @@
SONY Reader
-
+
9
6
- -
+
-
+
+
+ 100
+
+
+ Qt::Horizontal
+
+
+
+ -
Qt::Horizontal
@@ -162,7 +172,25 @@
-
-
+
+
+
+ 7
+ 7
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+
+ -
+
7
@@ -220,22 +248,21 @@
- -
-
-
- 100
-
-
- Qt::Horizontal
-
-
-
-
+
+
+ false
+
Qt::Horizontal
+
+
+ 22
+ 22
+
+
4
diff --git a/libprs500/gui/resources/images.qrc b/libprs500/gui/resources/images.qrc
index 3ff7474005..edaa5dc02d 100644
--- a/libprs500/gui/resources/images.qrc
+++ b/libprs500/gui/resources/images.qrc
@@ -4,5 +4,7 @@
images/mycomputer.png
images/reader.png
images/clear.png
+ images/delete.png
+ images/fileopen.png
diff --git a/libprs500/gui/resources/images/delete.png b/libprs500/gui/resources/images/delete.png
new file mode 100644
index 0000000000..5f63c0548d
Binary files /dev/null and b/libprs500/gui/resources/images/delete.png differ
diff --git a/libprs500/gui/resources/images/fileopen.png b/libprs500/gui/resources/images/fileopen.png
new file mode 100644
index 0000000000..a79982ea1f
Binary files /dev/null and b/libprs500/gui/resources/images/fileopen.png differ
diff --git a/libprs500/lrf/meta.py b/libprs500/lrf/meta.py
index 11d5d47a21..03be48267e 100644
--- a/libprs500/lrf/meta.py
+++ b/libprs500/lrf/meta.py
@@ -305,12 +305,13 @@ def main():
import sys, os.path
from optparse import OptionParser
from libprs500 import __version__ as VERSION
- parser = OptionParser(usage="usage: %prog [options] mybook.lrf", version=VERSION)
+ parser = OptionParser(usage="usage: %prog [options] mybook.lrf\n\nWARNING: Based on reverse engineering the LRF format. Making changes may render your LRF file unreadable. ", version=VERSION)
parser.add_option("-t", "--title", action="store", type="string", dest="title", help="Set the book title")
parser.add_option("-a", "--author", action="store", type="string", dest="author", help="Set the author")
parser.add_option("-c", "--category", action="store", type="string", dest="category", help="The category this book belongs to. E.g.: History")
parser.add_option("--thumbnail", action="store", type="string", dest="thumbnail", help="Path to a graphic that will be set as this files' thumbnail")
- parser.add_option("-p", "--page", action="store", type="string", dest="page", help="Set the current page number (I think)")
+ parser.add_option("--get-thumbnail", action="store_true", dest="get_thumbnail", default=False, help="Extract thumbnail from LRF file")
+ parser.add_option("-p", "--page", action="store", type="string", dest="page", help="Don't know what this is for")
options, args = parser.parse_args()
if len(args) != 1:
parser.print_help()
@@ -325,20 +326,17 @@ def main():
lrf.thumbnail = f.read()
f.close()
- t = lrf.thumbnail
- td = "None"
- if t and len(t) > 0:
- td = os.path.basename(args[0])+"_thumbnail_."+lrf.thumbail_extension()
- f = open(td, "w")
- f.write(t)
- f.close()
-
+ if options.get_thumbnail:
+ t = lrf.thumbnail
+ td = "None"
+ if t and len(t) > 0:
+ td = os.path.basename(args[0])+"_thumbnail_."+lrf.thumbail_extension()
+ f = open(td, "w")
+ f.write(t)
+ f.close()
+
fields = LRFMetaFile.__dict__.items()
for f in fields:
if "XML" in str(f):
print str(f[1]) + ":", lrf.__getattribute__(f[0])
- print "Thumbnail:", td
- print "object index offset:", hex(lrf.object_index_offset)
- print "toc object offset", hex(lrf.toc_object_offset)
-
-
+ if options.get_thumbnail: print "Thumbnail:", td
diff --git a/libprs500/prstypes.py b/libprs500/prstypes.py
index 1cdba8d8d9..b297518a08 100755
--- a/libprs500/prstypes.py
+++ b/libprs500/prstypes.py
@@ -167,6 +167,7 @@ class field(object):
obj.pack(val, start=self._start, fmt=self._fmt)
def __repr__(self):
+ typ = ""
if self._fmt == DWORD: typ = "unsigned int"
if self._fmt == DDWORD: typ = "unsigned long long"
return "An " + typ + " stored in " + str(struct.calcsize(self._fmt)) + " bytes starting at byte " + str(self._start)