diff --git a/.gitignore b/.gitignore index a971d2a..8aa13d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +test.json *.*~ *.*-* *.*+* diff --git a/help/Tina.jpg b/help/Tina.jpg new file mode 100644 index 0000000..214e1a2 Binary files /dev/null and b/help/Tina.jpg differ diff --git a/help/tina.qrc b/help/tina.qrc index eefb6cb..1f90bfe 100644 --- a/help/tina.qrc +++ b/help/tina.qrc @@ -1,10 +1,11 @@ -page5.html -page4.html -page3.html -page2.html -page1.html -index.html + page5.html + page4.html + page3.html + page2.html + page1.html + index.html + Tina.jpg diff --git a/help/tina_resources.py b/help/tina_resources.py index f3345aa..574c929 100644 --- a/help/tina_resources.py +++ b/help/tina_resources.py @@ -9,32 +9,355 @@ from PyQt5 import QtCore qt_resource_data = b"\ -\x00\x00\x00\xa7\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ -\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ -\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ -\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ -\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ -\x68\x74\x6d\x6c\x3e\x0a\ -\x00\x00\x00\xa7\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ -\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ -\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ -\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ -\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ -\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x15\xad\ +\xff\ +\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\ +\x01\x00\x00\xff\xdb\x00\x84\x00\x05\x05\x05\x09\x06\x09\x09\x09\ +\x09\x0c\x13\x0e\x0e\x0c\x0e\x0e\x19\x12\x0e\x12\x10\x17\x0e\x10\ +\x10\x17\x10\x17\x17\x10\x14\x17\x14\x14\x1a\x17\x13\x13\x17\x1a\ +\x14\x17\x18\x23\x18\x1c\x19\x1f\x1a\x18\x21\x18\x23\x18\x23\x22\ +\x22\x24\x27\x28\x23\x17\x27\x35\x01\x09\x09\x05\x09\x09\x09\x0c\ +\x09\x09\x13\x21\x17\x0e\x1a\x22\x1c\x0c\x18\x29\x22\x28\x1a\x22\ +\x24\x22\x22\x19\x2c\x22\x28\x21\x22\x14\x23\x22\x1a\x1f\x1f\x1a\ +\x1a\x1c\x18\x1c\x22\x1a\x24\x24\x23\x0e\x19\x24\x21\x17\x2f\x19\ +\x1a\x17\x22\x21\x27\x1f\x17\x24\x2a\xff\xc2\x00\x11\x08\x00\xe8\ +\x00\xe8\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x34\ +\x00\x01\x00\x01\x04\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x02\x01\x06\x07\x08\x03\x04\x05\x09\x01\x01\x01\x01\x01\ +\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x03\ +\x04\x05\xff\xda\x00\x0c\x03\x01\x00\x02\x10\x03\x10\x00\x00\x00\ +\xdb\x1a\xc6\x51\xa0\x0a\x15\x71\xd9\x45\xf2\xea\x76\xc0\x00\x00\ +\x00\x10\x9c\x0a\x00\x00\x00\x94\xa3\x20\x05\xa7\x76\xea\xbe\x6c\ +\xac\xee\xcf\x97\x17\x99\xf3\xde\x96\x6d\xc5\x4f\xb4\x2a\x40\x00\ +\x00\x10\x9c\x0a\x00\x00\x00\x94\xa3\x20\x06\xae\xed\x16\x22\x6d\ +\x81\xc7\x6c\x5b\xfc\xef\xcf\xdb\x5d\x7c\xdc\x6b\x9a\x0d\x90\x00\ +\x00\x04\x27\x02\x80\x00\x00\x25\x28\xc8\x14\x1d\x68\xf0\x1a\x93\ +\x90\xbb\x19\xa2\x2e\xd6\xbe\xeb\x0b\x8e\x77\x17\x28\x00\x00\x00\ +\x84\xe0\x50\x00\x00\x04\xa5\x19\x14\xf3\xfb\x7e\x59\x2e\xf7\x9d\ +\xdc\x38\xfb\xdd\x29\x9c\x9d\x4e\xbf\xa2\x4f\xb1\xe2\x7a\x87\x65\ +\x4a\x80\x00\x02\x13\x81\x40\x00\x00\x12\xad\x24\x78\xfe\x35\xdf\ +\x89\x33\x72\x67\xcd\xbd\xf0\xd0\xaa\x4a\xf4\xb1\x79\xb7\x76\xcf\ +\x61\x75\xb7\x30\xce\x5c\x9e\x76\x38\xcb\xf8\xaf\x29\xb8\x00\x00\ +\x21\x38\x14\x00\x00\x01\x29\x46\x42\xd0\xbb\xec\xac\x6a\x96\x21\ +\xbb\x2d\x0b\xaa\xf2\xf0\xcf\x59\x6f\x3d\xe2\x1d\x8b\xe3\xb7\xcf\ +\x25\x71\x86\x74\xc9\xcb\x32\xf3\xa8\x16\x26\x6d\xf6\x94\x6f\x91\ +\xc3\x8c\xf9\xfa\x32\x94\x3c\x68\xec\x7b\x42\xf9\x0c\x67\xcf\xbe\ +\x4c\x56\x9d\x38\x01\x29\x46\x43\xa9\xdb\xa9\xf3\x3f\xce\xc8\xf8\ +\xe6\xab\x87\x96\xf0\xb4\xb5\x76\xec\x76\xa5\x67\x88\x6d\xfd\x95\ +\x7a\xd9\x3c\xbb\xdc\x7e\x9f\x99\xe9\xdf\x16\x33\xc9\x98\xcf\x97\ +\xab\x27\xc2\x70\xef\xe2\xeb\xe2\x0c\xbf\x63\x79\xbe\x87\x5e\xe3\ +\xb2\x6f\x68\xe9\x71\x15\xf6\x7c\xbb\x46\xcb\xef\xdc\x3e\x1f\xb1\ +\xef\x7a\x78\xdf\x24\x7a\x7e\x78\x75\xf3\xca\x51\x90\x06\xaa\x6b\ +\x7e\xe5\xe9\xbd\x6e\x46\xf5\xed\x1d\xad\x34\x8f\x20\x58\x3d\xc6\ +\xfd\x2b\xeb\xf6\xa1\x33\x09\x87\x5f\xc5\xb8\x78\x5b\xd3\xed\xcf\ +\x91\x9e\x77\x53\xd6\x93\x7c\xf8\x7a\x51\x3a\x7d\xba\xc9\x9d\x7e\ +\xd0\xde\xb7\x64\x01\x92\x94\x64\x01\x8a\xf4\x7f\xe9\x47\xce\x1d\ +\xde\x5f\xa4\xff\x00\x32\x7e\x9c\x9f\x38\xbc\x8d\x8a\xd7\x3d\xdd\ +\xf4\xbf\x75\x77\x68\xa6\x40\x00\x00\x10\x9c\x0a\x00\x00\x00\x94\ +\xa3\x20\x06\x86\x6f\x9e\xa0\x6e\xe0\x9f\xa5\xff\x00\x34\x7e\x93\ +\x96\xae\x82\x7d\x33\xd0\xc2\xdb\xfa\x2d\xf3\x4b\x7a\xcc\x84\x33\ +\x00\x00\x04\x27\x02\x80\x00\x00\x25\x28\xc8\x01\xae\x9b\x17\x8c\ +\x4d\x1d\xfa\x63\xf3\x5b\xe9\x6e\xd7\x16\x06\xcf\x3e\x56\x4f\xce\ +\x7d\xa1\xd6\x8c\xe9\xb7\xb5\xe3\x20\x00\x00\x42\x70\x28\x00\x00\ +\x02\x52\x8c\x80\x15\xa5\x4c\x03\x9f\xb5\xd3\x2b\x45\x5e\x82\xe7\ +\xc4\xc3\xf9\x3b\x02\x45\xed\x43\xca\xf5\x6e\x00\x00\x04\x27\x02\ +\x80\x00\x00\x25\x28\xc8\x01\x6f\x5c\x38\x90\xc4\x59\xd7\x1b\xe7\ +\x79\xaf\x52\x32\x54\xf9\x7a\x9d\xb8\x98\xfa\x76\xc5\xcf\x9a\xc3\ +\x9c\x35\x77\x0d\xc0\x00\x42\x70\x28\x00\x00\x02\x52\x00\x00\x00\ +\x00\x00\x00\x00\x10\x0a\x00\x00\x00\xff\xc4\x00\x2c\x10\x00\x02\ +\x01\x02\x05\x03\x04\x02\x02\x03\x01\x00\x00\x00\x00\x00\x01\x02\ +\x03\x00\x04\x05\x10\x11\x12\x13\x21\x31\x40\x06\x14\x20\x33\x23\ +\x41\x22\x32\x24\x30\x50\x34\xff\xda\x00\x08\x01\x01\x00\x01\x08\ +\x02\xff\x00\x86\x0e\xb5\x2e\x21\x1c\x54\x8e\x1f\xb7\x93\x79\x37\ +\x0a\x6e\xaf\x72\xc0\x16\xa7\x75\x24\x1a\xb3\xb9\x58\x8e\x83\xc9\ +\xbb\xbd\x2a\xc4\x30\xb7\xde\x1d\xab\x5e\x3f\xc8\x90\x32\x6c\x55\ +\xab\x77\x0e\x8a\x47\x91\x89\x5b\xec\xba\x57\x22\x60\x87\xa5\xcb\ +\xef\xd5\x69\x62\x70\xda\x0c\x2c\x30\x81\x77\x79\x18\xc4\x7b\xd1\ +\x0d\x0b\xd4\xd3\x75\x48\xef\x38\xdd\x56\x89\x1b\x38\x43\xe4\x95\ +\x0e\x34\x32\x59\xa9\x77\xda\xb6\xc2\x55\xfe\x42\x18\x9c\xa9\x1a\ +\xf9\x1a\xeb\x4d\xd9\xaa\x28\x0c\xa7\x4a\x58\x80\xd3\xc9\x26\x94\ +\xeb\xae\x51\xa7\x1a\xe9\x9e\xee\xba\x50\xeb\xe3\x3e\xbd\x87\xd7\ +\xd2\xb7\x0a\xd6\xb5\xa7\x7a\xe3\x00\x6d\xa4\xd5\x7a\x1d\x7c\x49\ +\xe6\xe1\x5d\xc6\x0b\xbe\x56\xd2\xa6\x4d\xe8\xeb\x44\xef\xea\xc3\ +\xa7\x68\xef\xe7\x8f\xb6\x0d\x71\x25\xcb\xb9\x7a\x3d\x68\xeb\xfa\ +\x1d\xbc\x49\xa0\xf6\xe4\x14\xbb\xbd\xd9\x6c\xf2\xae\x7e\x9d\x61\ +\xa4\xc2\xae\xee\x78\x86\x82\xce\xe2\x79\x4e\x94\x3c\x5b\xe6\xd2\ +\x23\x58\xac\xc4\xbe\xcf\x86\x14\x5e\x37\x32\xad\xad\xaf\xb8\xfc\ +\x92\x01\xa7\x41\xe2\xdf\xfd\x75\x35\xcf\x2c\x71\xa9\xce\xdd\xff\ +\x00\x04\x6b\x58\x6b\xeb\x16\xdc\xa6\x79\xe3\xea\x6d\xcc\xc4\x82\ +\xf9\x5d\x4a\xc8\xe8\x17\x26\xec\x6a\xde\xed\xb7\x00\xf7\x2c\x51\ +\x09\x16\xec\x5d\x01\x39\xc5\x76\xcd\x27\x5f\x93\xa6\xf5\x2b\x4e\ +\xbb\x49\x1f\x0e\x7f\xc7\x12\x0c\x1a\x5e\x46\x27\x2b\xff\x00\xe8\ +\x2a\x1f\xad\x33\xbd\xfb\x23\xa3\x93\x76\x35\x0c\x3c\xb1\xbd\x34\ +\xdc\xb0\x1a\xb4\xfa\x97\x3b\xc9\x36\xa6\x95\x22\x2f\x12\x54\x32\ +\x72\x28\x6f\x9e\x29\x1f\x1d\xc4\xc3\x2b\x0b\x61\x73\x27\x19\xd2\ +\x85\x60\x2f\xa4\xe4\x65\x7f\xfd\x05\x41\xf5\xa6\x77\xbf\x64\x74\ +\x72\x6e\xc6\xb0\xee\xcd\x57\x51\xf1\xb1\xd2\xd3\xea\x5c\xe4\xff\ +\x00\x22\x6d\xb5\xec\x52\xac\xdb\x63\x34\x67\xe5\xea\x28\x74\x78\ +\xe4\xcb\x06\x3a\x5d\xc1\x58\xdd\xb7\x0c\xe5\x85\x61\xb2\x71\xdc\ +\x42\x72\x2a\x1b\xbf\x6c\x89\xd3\x4a\x2c\xad\xd6\x8c\xbd\xe8\x1e\ +\xba\x50\x7d\xd4\x19\x54\x7f\x16\x20\xa8\x27\x70\x5a\xdf\xa5\x29\ +\xd4\x03\x4a\x8a\xbd\xab\x62\xeb\xaf\xcf\xd4\x03\xf0\x2e\x58\x77\ +\xfe\x88\x2b\x1b\xb7\xe5\x80\xb6\x4a\xdb\x48\x34\x7e\x3b\x45\x68\ +\x32\x2a\x0f\x4a\xd0\x77\xad\xa2\xb4\x15\xa7\xee\xbb\x7f\xab\x1a\ +\x4d\xd6\xcf\x94\x32\x71\x3a\x3d\x11\xdf\x5b\x98\x3d\xbc\x8f\x1e\ +\x58\x64\xfc\xf6\xf1\x9f\x1e\x48\xc4\xaa\xc8\x5d\x0a\x12\xad\x46\ +\xbd\x43\x06\x8d\x1c\xb9\x7a\x7a\x53\xba\x58\xfc\x8c\x4d\x36\x5c\ +\xcc\x28\xf6\xa5\x3b\x80\x35\x88\xdb\xfb\x88\x1d\x05\x41\x39\xb7\ +\x75\x91\x7c\x7c\x7d\x34\x9c\x1a\x6e\xc6\xa3\xfe\xab\x96\x27\x6d\ +\xed\xe7\x75\xcb\x0a\x97\x96\xda\x2f\x1f\xd4\x31\xf4\x85\xe8\xd6\ +\x9a\x65\x8f\xdb\xef\x8d\x65\xcb\xd3\xd2\xf4\x96\x3f\x1f\x18\x8f\ +\x7d\xb4\x95\xa6\xee\x80\xe5\x3c\x5c\xd1\xba\x56\xc6\xfd\xe0\x90\ +\xba\x4f\xa9\xf1\xd8\x71\x9d\x3e\x17\x51\xf2\xc6\xc2\xac\xdf\x49\ +\x23\x3e\x44\xe3\x73\x48\x6a\xc4\x9d\x85\x4e\x57\xee\x52\x09\x48\ +\xe1\xd0\xe8\x61\x97\x99\x03\x78\xd7\x53\x70\xa1\x7a\xf7\x51\x81\ +\x58\x56\xbe\xdd\x09\xc9\xba\xf4\x6b\x46\x3c\x52\x17\xb0\xbe\x40\ +\xe5\x07\x8b\x89\xd8\xc9\x76\x57\x65\xbe\x04\x41\xfc\xb0\xc2\xb0\ +\x28\x44\xcc\xe1\x91\x6d\x95\x55\xbd\x3c\xdf\xab\x28\x1a\x08\xf6\ +\x3f\xfc\xcf\xff\xc4\x00\x24\x11\x00\x02\x01\x03\x04\x02\x02\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x00\x03\x10\x11\x12\x13\ +\x21\x30\x04\x31\x20\x33\x32\x40\x51\xff\xda\x00\x08\x01\x02\x01\ +\x01\x08\x00\xbe\x7b\x89\xb2\xff\x00\x3b\x4c\xd2\x60\xe4\xf7\x00\ +\x4c\x0b\xdf\x99\x9e\xb2\x48\xe6\x09\x89\xc0\x80\xe7\xac\xfa\x8a\ +\x30\x2d\x9d\x4d\xcd\x4a\xe2\x90\xc9\x4a\xba\xd7\x54\x7a\xc2\x9a\ +\xea\x31\xfc\x95\xa6\xca\xad\xbc\x37\x36\xec\xfe\x4a\x53\x2a\x1b\ +\xe0\x2c\x52\x57\xfa\x5e\x27\xe0\xb3\xc9\xfa\xad\x5a\x98\x7a\xb4\ +\xd4\xd2\x66\xdf\xd2\xf1\xd1\xeb\xbb\x95\xa3\x57\x5d\x30\x4d\xc5\ +\xf1\x6c\x03\xee\x60\x4c\x0f\x76\x00\x0f\x58\x03\xe0\x21\xef\x30\ +\x43\xde\x4f\x6a\x9e\x48\xb3\x9c\x11\x33\xd6\x60\x4c\x58\xae\x60\ +\x18\xe3\xf6\x3f\xff\xc4\x00\x25\x11\x00\x01\x03\x04\x01\x04\x02\ +\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x10\x11\ +\x30\x21\x05\x12\x13\x31\x20\x34\x14\x33\x40\xff\xda\x00\x08\x01\ +\x03\x01\x01\x08\x00\xbe\x37\x01\x67\x0d\xa3\xda\xc2\x71\xdc\x5d\ +\x85\x9d\xf8\x58\xd6\x10\xb7\xb2\xb1\x8d\x63\xdd\xcf\x01\x41\x46\ +\x67\x77\x63\x65\xa7\xf1\x3f\xb1\x43\x4a\xe9\x9f\xd8\xd5\x17\x4f\ +\x92\x68\xdf\x23\x3f\x15\xde\x1f\x3d\xa2\xa0\x92\x66\xbd\xcc\xf9\ +\x67\x85\x47\xf6\xa2\x52\xfe\xd7\xae\x9f\xf6\x2d\x4d\x3b\xa2\xa5\ +\x9a\x46\x54\xc6\xc1\x44\x1f\x1a\x8e\x58\x69\x23\x85\xb2\x55\x53\ +\x08\x66\x73\x5b\xf2\x04\x8e\x42\x0e\x23\x90\xbb\x8e\x30\xbb\x8e\ +\x31\x62\xe2\x79\x25\xc4\xfb\xb8\x45\x04\x76\x04\x50\x47\x60\x4e\ +\xb1\x1c\x6d\x22\xcd\xf5\xb0\x27\x3b\x36\x0e\xc2\x38\xfe\x8f\xff\ +\xc4\x00\x35\x10\x00\x01\x01\x05\x03\x0b\x03\x04\x01\x05\x00\x00\ +\x00\x00\x00\x00\x01\x00\x10\x11\x21\x31\x41\x02\x40\x51\x20\x42\ +\x52\x61\x71\x81\x91\xa1\xb1\xd1\xf0\x03\x12\xc1\x22\x32\x50\xf1\ +\x30\x13\x33\x92\xb2\xe1\xff\xda\x00\x08\x01\x01\x00\x09\x3f\x02\ +\xfc\x27\xef\x65\xef\xba\x3e\xd7\xd2\x98\x23\xf4\xd6\xb6\x7b\xa9\ +\x1a\xde\x84\x70\xc1\x5b\x8c\xcd\x41\x27\x05\x6b\xde\xea\x1a\x60\ +\xa7\xce\xf5\x2b\x64\x76\x72\x16\xbd\xb6\x70\xb3\xf4\xaa\xaf\x31\ +\x5b\xb6\x5e\x66\x1e\xe8\xb8\x6f\x56\x63\xd1\x40\x51\x5a\x33\xad\ +\x71\xbd\xc2\xcd\x35\xa8\x59\x1e\x38\x2f\x4d\xde\xdd\x50\xbd\x54\ +\x32\x9f\x96\x13\xcb\xa5\x71\xba\x87\xa0\xe5\x50\x54\x76\xc5\x96\ +\xf8\xc5\x39\xd6\x00\xe2\x5b\xde\xeb\x2a\x6a\x53\x96\xc2\x61\x91\ +\x37\x8e\x0b\xee\x3c\x94\x46\x91\x87\x3b\xb6\x21\x7d\xae\xb2\x5d\ +\x91\x20\x0e\xf7\xf8\xf5\x23\x4a\xda\xdb\x77\xf2\x05\x08\xd8\x7f\ +\xd5\x8e\x45\x7d\xcb\x35\x86\x0f\xd4\xbe\xd2\x35\x34\xcf\xbb\x70\ +\x46\x6a\x70\x5a\xf2\x24\x69\x86\x19\x75\x54\xf8\xc8\x9d\x92\x62\ +\xb0\x8f\xc3\x34\x96\x88\x6e\xae\xad\xc0\xa9\x87\x29\x87\x2d\x7d\ +\x5b\x9c\x8c\x6b\xbf\xb7\xf0\x69\x7f\xb4\x59\x5b\x36\x9d\xb4\x44\ +\x36\xb6\x0b\x34\x96\x88\x6e\xae\xad\xc0\xad\x4a\x56\xd6\xbe\xad\ +\x90\xf8\x9a\x25\x78\xec\xbc\xe0\xee\x0c\xc4\xf4\x2a\x5e\xa4\x77\ +\xd7\xbe\xf6\x69\x75\x83\x03\xdb\x55\x65\xfe\x41\x51\xfc\x97\x9e\ +\x7c\x21\x8f\x24\x3e\x28\xff\x00\x94\x1f\xe4\xd0\x70\x79\xf3\x7a\ +\x15\xf3\x83\x00\x0c\x11\xc7\x2f\x4c\x74\x2c\xd3\x0a\x7e\x9c\x7b\ +\xb2\x84\x72\xca\x0d\x1f\xcf\x4f\x69\x66\x6d\xab\x27\x81\x66\x69\ +\xfd\x72\x64\xc4\x0e\xee\xf3\xbb\xca\xd0\x23\x8a\x98\x3d\x1b\x58\ +\x1d\xd1\x0c\x93\x9f\xc2\x17\x8d\x2e\xb1\x65\x40\x53\x98\xda\x19\ +\x9b\xe1\xbc\x67\x58\x1d\x99\x80\x64\x8c\x46\xc2\xca\x43\xfc\x61\ +\x77\xd6\x3e\x72\x33\x0f\x2b\x5f\xf5\x9a\x8f\x18\x5d\xf3\x5c\x78\ +\x64\x67\x59\x28\x1e\x0a\x03\xda\x77\xde\x33\x2d\x64\x6e\xdc\xab\ +\x78\xb4\x63\x69\x66\x99\xed\x8b\x70\xfd\xa8\x97\xf9\xaa\xee\x5c\ +\x8b\xdc\xf8\x29\xda\xf7\x13\xc5\xb5\x47\xfb\x44\x0e\x28\xc2\xd7\ +\x2b\xb1\x0e\x02\xa5\xd1\x56\x81\x18\x0e\xea\x43\x23\xe9\xfe\xa4\ +\xcc\xd7\xaa\x38\x39\x10\x62\x5c\xe9\x01\x87\xe3\x7f\xff\xc4\x00\ +\x28\x10\x01\x00\x01\x03\x02\x05\x04\x03\x01\x01\x00\x00\x00\x00\ +\x00\x00\x01\x11\x00\x21\x31\x41\x51\x10\x61\x71\x81\xa1\x20\x40\ +\x91\xf0\xb1\xc1\xd1\xe1\xf1\xff\xda\x00\x08\x01\x01\x00\x01\x3f\ +\x21\xf7\xa7\xa5\xb5\x00\x93\xfe\x56\x79\x9d\xbf\x4d\xcd\x0d\x2e\ +\x7a\x33\x1e\xd4\xf4\xba\x0d\x34\x89\x3d\xb5\xa7\x4a\x5a\xc7\x1c\ +\x9c\x9f\x16\xe5\x82\x91\x6f\x29\x23\x0b\x62\x74\x5c\x99\xde\x2a\ +\x62\x2c\x32\x8c\x47\x25\x9f\xcb\x4d\xbd\xa1\xe8\x29\xc5\x2f\x1a\ +\x76\x4d\x25\xe6\x24\x23\x7c\x6c\x8e\x9a\x54\x20\x9c\x6b\x5b\xb1\ +\x25\xbb\x35\x6e\x24\x36\x50\x2d\xbc\xea\x7c\x37\x29\x89\x5b\x5e\ +\x59\x64\xcc\xbe\xd0\xf4\xc4\x6d\x73\x49\x4f\xd5\xe6\x94\x44\x43\ +\x6f\xa3\x28\x53\x88\x08\xd9\xac\xff\x00\x68\x44\xce\x98\x82\xfa\ +\xb7\x8d\x62\x62\xb9\xf9\x79\x9d\x0f\xdd\x3d\xa1\xe9\x71\x26\x57\ +\x62\x40\x91\x96\x62\x91\x9e\xb3\x7c\xbf\x1d\x18\xa5\xba\xe0\xd0\ +\x4c\xe6\x72\xc5\x2e\x84\x99\x4c\x12\x8c\x3c\x4e\x9a\xfb\x53\xd2\ +\xc8\xac\xe4\xfe\xd6\x34\xad\xbf\x76\xa7\x1a\x14\xa7\x2f\x2f\xe2\ +\x9f\x26\x90\x19\xd1\x3b\xa4\x7d\xef\xed\x0e\x38\xa2\x83\xdc\x7f\ +\x0c\x7f\x3e\x2a\x1a\xc0\x5d\xdb\xfd\x68\xf3\x1c\xa6\x87\xf7\xab\ +\x96\xfb\x52\xf0\x3d\x99\xc7\x7c\xf8\xbd\x5f\x86\xd3\x4e\x1e\x8d\ +\x08\x1e\xfc\xdd\x78\x2f\x00\xa8\x3e\xc8\xe0\xe6\xaf\x17\x1e\x1c\ +\xe8\x0b\x8e\x75\xac\x17\x8e\xf1\x4c\x7a\x6e\x5f\x84\x23\x5e\xd4\ +\x7d\x13\x3b\xd4\xa6\xfc\x3a\x39\xbf\xca\x8f\xb2\x38\x02\x30\x1b\ +\x73\xdf\x95\x5e\x37\xa6\x21\x9c\x6f\x8a\xd1\x86\x1b\xb3\x16\x4e\ +\x94\xb1\x45\x46\x54\xbc\xd5\xf9\xb3\x99\x6a\xb6\x3c\x6d\xfd\x6f\ +\x5b\x3a\x08\x89\xc3\xae\x80\xf0\x27\x6d\x3c\x64\x06\x75\x74\x3e\ +\xf4\xd6\x8a\x01\xf6\x27\x04\x11\x12\x47\x4d\x1a\x7d\x55\xbb\x33\ +\xd9\xe5\xb3\xda\xb1\x52\x30\xfa\x96\x99\xa6\xd5\x34\x35\x7b\x73\ +\x63\xa2\x0f\x39\xad\x9d\x3e\x1b\xbf\xaa\x82\x20\xf2\x32\x3b\x32\ +\xf6\xa0\x93\x3e\xc8\xe3\xf6\xee\x67\xf5\x47\x0b\x77\x32\x6e\x0f\ +\xc5\x3c\x0a\x43\x20\x65\x49\x36\x3b\x51\x6e\x5c\xc7\x90\xb4\x36\ +\x3f\x54\x64\x08\x0c\x05\x83\xd9\x9c\x73\xbb\x2b\xf1\x42\x73\xb8\ +\x6e\x18\xb4\x79\xa7\x81\x44\x1d\xff\x00\xb5\xea\x1b\x53\x4e\xcd\ +\xcf\xe5\x15\x29\x01\x28\xcb\xa6\x9b\x53\x25\x36\x1d\x58\xc5\xf8\ +\xc3\x80\x04\x90\x72\x53\x9e\x0a\x14\xd1\x7e\x29\xb3\x12\xdc\x04\ +\x3a\x60\xd7\x14\xf7\xc0\x6e\xea\xc5\x39\xf2\xb9\x77\x4e\x32\x17\ +\x71\x44\x27\x7d\x08\x19\x7c\xb9\x7a\x0e\x3c\xa2\x5b\x58\x74\xa4\ +\x67\x29\x1f\x0a\x78\x14\xe6\x22\x8f\x56\xdf\xba\x5c\x65\xf1\x37\ +\x22\x5c\xa7\x87\x86\xfc\x35\xf6\x9b\x71\xf0\x28\xc9\xe1\xf7\x9b\ +\x55\x85\x96\x1c\xed\x73\xbd\x5d\x6d\xc2\xf3\xb9\x0f\x7a\xfb\x7c\ +\xdc\x6d\x1c\xd9\xd8\xcf\xf3\xbd\x01\x03\x7b\x01\xbf\xda\x2b\x7b\ +\x9c\xf5\x2c\xf1\x3d\x1c\xdd\x97\xd7\xad\x34\x8e\xd3\x3f\x88\x2b\ +\x9c\xb7\xa9\x16\x48\x4c\x9b\x26\x4e\xdc\x1f\x74\xe2\x3c\x3c\x37\ +\xe1\xaf\xa4\xdb\x8f\x81\x46\x4f\x0f\xbc\xda\xbc\xbf\xc2\x99\x9f\ +\xea\x19\x4f\x9b\x95\xf6\xf9\xb8\xe0\x1d\x09\xe5\x93\xbb\x6a\xff\ +\x00\xba\x7f\x29\xf2\x96\x7e\x6c\x7e\x4f\xc7\x13\xd1\x09\xea\xae\ +\xb7\x9f\x23\xe2\x9a\xea\xc1\xf9\xaa\x14\x5a\x8f\x87\x9d\x05\x74\ +\x9e\x7d\xfa\xf0\x22\x0b\x91\x26\x80\x00\x58\x34\xdb\x83\xc0\x13\ +\x76\xb1\x82\x79\xed\x58\x71\x91\x0a\x4b\x74\x21\x65\xbf\xea\xa0\ +\x4c\x5f\x73\x30\x9f\xf3\x97\x7a\x56\xcc\x58\x79\x5f\x1f\x37\xfa\ +\x29\x2c\x27\x38\xac\x11\x63\xa7\xf4\xe7\x4f\x91\x08\xd2\x25\x65\ +\xd4\x34\x63\x66\xe1\xf0\xc7\x38\xd6\xf1\x7a\x0a\xc4\x41\xb5\xb1\ +\x3c\x82\xe3\x49\xa6\xf4\xe0\x0d\xf9\xba\x45\x39\xb1\x5e\x13\x00\ +\xe1\x35\x9f\x42\xff\x00\x3c\x4f\x44\x8f\xb7\x98\x29\xa5\x0f\xf5\ +\x6d\x51\xf1\x77\xe3\x8f\x1b\xf6\xe1\xce\x99\xf2\x9a\xcb\xd1\xb7\ +\x2a\x54\x88\x46\xd1\xb5\x72\x8d\x74\xdf\x3f\x35\xce\x82\x90\x4d\ +\xa2\xd4\xb3\x61\x3b\xc5\xe9\x40\x10\x83\x48\xac\xd6\x2e\xcb\xcd\ +\xcc\xd4\x66\xcb\xef\xad\x00\x20\xb0\x69\xea\x3d\x12\xf3\x5f\xc0\ +\xdf\xc5\x35\xff\x00\x06\x81\xa2\x60\x24\x66\x4e\xb4\xab\xeb\x87\ +\x33\x2b\xbc\x28\xbd\x6d\x8b\xde\xb7\xc3\xcb\xd9\x9e\x8c\x80\x83\ +\xb2\x2b\x23\x88\x7a\xa8\x6a\x26\xd5\x9b\x51\x9e\x97\xad\xf9\x04\ +\xfc\x70\xdd\x57\x6d\x83\xf9\x1f\x1e\xcc\xf4\xf7\xc9\xf1\x3f\x7a\ +\xcd\xd2\xa5\x6c\xf9\x05\x69\xd2\x79\x53\xe7\x1d\xea\x66\xe6\xb5\ +\x9a\x67\x3d\x4d\x1d\xcb\x54\x8d\xcc\x38\xf6\x47\xa7\xeb\xe4\x5a\ +\x78\x0d\x7d\xfe\xd4\x5a\xa1\xbc\xde\x77\xc3\x27\x6a\x2a\x70\xe4\ +\xaf\xc1\xe2\xfe\xc8\xf4\xcf\xb5\x5f\xbd\xbf\x86\x8c\x89\xbd\x68\ +\x6d\x1c\x20\x6c\xc4\xfc\x1e\x21\xf3\xc2\xff\x00\xd1\x3f\x2f\xe0\ +\xf6\x47\xa7\xec\x94\xaf\xe2\x68\x76\x32\xb8\xac\xf8\x72\x4e\xfc\ +\x96\xf3\x50\x02\x2d\x2e\x8b\xed\xd6\xa2\x94\xd6\xdc\xe0\xe3\x4d\ +\xfd\x91\xea\x6b\xbd\x8e\xd7\x29\x67\x8e\xe4\x84\xf5\x5c\x50\x29\ +\xb8\xf9\x20\xf3\xec\x8f\x49\x50\x75\xda\xe2\x5a\x36\xb7\xf6\x6a\ +\x6a\xcd\x93\x54\x02\xfe\x93\xc7\x24\x7e\x22\xc2\xec\x55\xea\x21\ +\x21\x5d\x4b\x90\x61\x47\xb9\xe4\xd9\x33\xec\x4f\x48\xb0\x21\x89\ +\xd5\x71\xfd\xa7\x5a\xa4\x84\xb2\x98\xbd\x4c\xfc\xa2\x37\x55\xc1\ +\xe5\x52\x09\x58\xa3\xde\xd5\x80\x59\xe6\xe8\x59\x9c\xb7\xa9\x0c\ +\xde\x98\x61\x7f\xba\xed\xf3\xec\x4f\x4d\xd9\x26\xcd\x71\x19\xb0\ +\xcd\x88\xa1\x6d\xf3\x33\xde\x7b\x23\xe2\x88\xe8\xc7\x79\x77\xcf\ +\x18\x9a\x8f\x2e\xe8\xf3\x96\x6d\x6e\xd4\x1f\xdc\xfe\xcd\x5a\xc0\ +\xcc\x08\xd1\x32\xdb\x4f\x60\x7b\xdf\xff\xc4\x00\x29\x10\x01\x00\ +\x02\x02\x01\x03\x04\x02\x02\x03\x01\x01\x00\x00\x00\x00\x01\x11\ +\x21\x00\x31\x51\x41\x71\x81\x10\x40\x61\x91\x20\xa1\xb1\xf0\x50\ +\xc1\xd1\x30\xe1\xff\xda\x00\x08\x01\x01\x00\x01\x3f\x10\x95\xdb\ +\xfe\x08\xa0\xbc\x64\x80\xae\xb3\x4f\xc1\xe1\x31\xa8\xbc\xa2\x34\ +\x86\x24\xd6\x50\x3a\x48\x98\x02\xe2\x4a\x63\x93\xdd\x1b\x9b\x0a\ +\x80\x02\x98\x62\x8b\xb4\x88\xea\x99\x0c\x2a\x0f\x00\x22\x30\xd2\ +\x4d\xd2\xb6\xa7\x15\x38\x2c\x32\xac\x56\xe8\x89\x33\xa3\x36\x5d\ +\xd8\x1d\x4a\x83\xc9\x08\xea\xcb\x82\x49\xee\x02\x50\x72\x68\x3e\ +\x51\x4b\x41\x41\xcc\x5a\xb7\x24\xe2\xf9\x9d\x23\xe5\x24\x9b\x10\ +\xc0\x78\xcd\x51\x76\x09\xee\xd4\x9b\x71\x04\xf4\xb7\x08\x20\x3a\ +\x03\x2e\x45\xcd\xc4\xcd\x65\x43\x81\x60\x09\x28\xe8\x09\x6b\xee\ +\x52\x60\xcc\xe9\xb8\x3b\xa1\x79\x31\x1f\xab\xc1\x4a\x80\x23\xb7\ +\xe4\x8c\x8c\x94\xc2\x0d\xa9\x46\xd5\x61\xb9\x24\xc9\x70\xa8\x0a\ +\xc1\x19\xa9\xca\x40\xc0\x3e\xa7\x5b\x44\x49\xdd\x98\xe6\x1e\xe5\ +\x4b\x36\xc1\x63\xc5\x03\x30\x00\x8b\x00\xbf\xa9\x64\x2d\xd8\xe7\ +\x10\x90\x31\x8a\x88\x0f\x40\xe6\x75\xed\x93\x2d\xbe\xa2\x85\x73\ +\x36\x22\xac\xa7\x09\x0c\x44\x47\x4d\x44\x7b\x82\xc6\x4c\x7a\xb5\ +\x7e\xc8\x34\x23\x7c\x8e\x36\x5b\xc1\x21\x1d\xf9\x73\x75\xc6\x16\ +\x35\x66\xa2\xd1\x22\x44\x5c\x91\x91\x14\x31\xac\x1d\x10\xaa\xf8\ +\x40\xf0\x19\x02\x47\x74\x2f\xe9\xf6\xe2\x82\x5c\x5b\x19\x17\x01\ +\x5e\xf6\x3c\x9e\x58\xbd\x60\x90\x3a\xb4\x13\x53\xea\x68\xdb\x46\ +\x33\xcc\x1e\xba\xfc\x93\xb7\x56\xc4\x57\x40\x8e\x2e\x38\xa7\xc7\ +\xb5\x2c\x62\x8c\xa4\x74\x68\xff\x00\xb8\x4a\x60\x43\x51\x08\x5e\ +\x16\xb2\x56\x03\x97\xa1\xf7\x91\x6d\x25\xbe\x4d\xbf\xd1\xc0\x07\ +\xa3\x64\x56\xb7\x13\xfc\x49\xe2\x47\xb3\xdf\x06\xc6\x49\x4e\xcf\ +\x68\x6b\x47\x5d\x22\x9f\x3d\x31\x39\x64\x93\xc4\x37\xd9\xcb\x1e\ +\x2f\x23\x25\xd9\x95\x4b\xa4\x37\xac\x2e\x26\x5c\x89\x63\xb7\xa8\ +\xea\x03\xcc\x2e\x05\xd3\x59\x25\xb0\x6e\x48\x9e\x48\x7c\x63\xd8\ +\x30\xca\xa3\xb3\x72\xdc\x9d\x3e\xb5\x88\xa7\x60\x14\x13\x12\xe1\ +\xe7\xa3\xeb\x26\xd6\xce\x44\xc1\x90\x7d\x99\xf8\x40\x24\x6b\x41\ +\x4a\x44\xa9\x6e\x27\x04\x8c\x82\x70\xd8\x4c\x48\x53\x90\x63\x02\ +\x1d\xb3\x11\xb1\x56\x25\x98\x63\x88\x32\x2c\xf9\x4b\x90\x2b\x66\ +\x95\x67\x92\x1c\x34\x64\x6a\x21\xf6\x1c\x3b\x6b\x71\xb4\x24\xec\ +\x7a\x43\x20\xe9\x57\xfb\xfb\x8f\xeb\x18\x0f\x90\x92\xbb\xd3\x6a\ +\x72\xad\xb4\x75\x0d\xea\x01\x3e\xcc\x08\x80\x8a\x24\x1a\x44\xd2\ +\x38\x96\x23\x32\x32\xde\x73\x2f\xe4\x5d\x24\x5f\x47\x17\x6a\xc1\ +\xdc\x50\xe7\x43\x8f\x51\xd5\xb5\x7c\xca\x63\xb4\xcc\x13\x38\xd0\ +\xea\x35\x7f\xc9\xd5\xf8\x1c\x8f\x15\xfd\x80\x10\x9f\x14\xde\x5c\ +\x76\x41\x18\x84\x21\xf2\x7b\x54\xd7\x9f\xd1\x8a\x15\x51\x46\x9c\ +\xe7\x60\xc2\xf4\x59\x7c\xca\x60\x45\xfb\xc1\x76\x0c\x1e\xe3\x54\ +\xc7\x4f\xae\x5d\x06\xce\x28\x87\xe3\xc0\x80\x70\x05\x1e\xd8\x58\ +\x84\xa5\x01\x2c\xac\xc0\x7e\xbf\x50\x3c\x1c\x3a\x24\x99\x70\x46\ +\x0e\x2c\xba\x22\x50\x55\x8e\x39\x26\x7d\x93\xff\x00\xa6\xf8\x66\ +\xc4\xe2\xf1\xbb\xad\x4a\xa6\x04\xe9\x93\x31\x57\x44\xb0\x5c\x03\ +\xd6\xb5\x63\x22\x4c\xc9\x68\xba\xc3\x08\x39\xf4\x67\x10\xa4\x78\ +\x44\x99\x02\xac\x49\x91\x6d\x45\x2b\x77\xca\x5d\x46\x03\x10\xaa\ +\x44\xc9\xed\xe9\x40\x26\x09\x40\x14\x7a\xa0\x52\x00\xab\xc0\x5a\ +\xe1\x8d\xb4\x03\xbb\x0f\x82\x95\xdb\x8f\xe4\x8a\x10\x50\x49\x0d\ +\x89\x3a\x83\x9f\xb4\x77\x92\xff\x00\x67\xa4\x7d\x12\xfc\x4b\xb5\ +\x4c\x1d\xe3\x38\x87\x24\x8f\x52\x75\xc8\x03\xf9\xd3\xa9\x3f\xd8\ +\x7d\x3f\xbe\xe5\x95\xfc\xa0\x7a\xdb\xf4\xb5\xf2\x19\x27\x9b\x99\ +\x6d\x78\x7f\xb1\xcf\xd8\xf5\x17\x75\xaf\xed\x7d\xeb\x07\xb5\x08\ +\x0a\x4b\x68\x66\x60\x3e\x2f\x25\x6d\x11\xf1\xfe\x61\xb3\xe1\xfc\ +\x83\x08\xe4\x2d\xa4\x3d\x81\xfc\xd9\x87\x1f\x26\xdd\x22\x71\xe7\ +\x44\x18\xa5\x52\x11\x69\xa0\x9f\x28\x87\x1c\x61\x3e\xea\xf9\x3f\ +\xf2\xa6\x52\xc9\xfe\xc3\xe9\xfd\xf7\x2c\x5f\xdf\xea\xca\x5d\x0b\ +\x3a\x00\xf1\x3e\xd2\x65\xbb\x9e\x80\x27\x29\xed\x10\x74\xbc\x3e\ +\x69\x3d\xb2\x6d\x07\xce\x3a\xe6\x44\x1d\x3a\x6f\xdc\x7c\x7e\x64\ +\x1f\xae\xeb\xdf\x3e\x39\x9c\x93\x74\xc2\xe5\x1c\x2b\x80\x10\x7f\ +\xa2\xcd\x73\xbf\xef\xb1\x73\x48\x53\x0f\x00\x19\x04\x47\x53\x0c\ +\xde\x18\x60\x00\x04\x00\xd0\x1a\x03\xd1\xa9\xba\x11\xd5\x4e\x32\ +\x91\x1d\x21\x8c\xbf\xc4\x60\x40\xc3\x46\x95\x20\x5b\xe1\x4c\x59\ +\x10\xc2\x32\x51\x87\xac\xa2\x25\x44\xd0\xc7\x6a\x61\x0c\xcc\x21\ +\x46\x09\x94\x3a\x44\x97\x78\xda\x43\x04\x99\x45\x56\x2c\xac\x00\ +\x72\x51\xc7\x1e\xe5\x4a\x43\x40\x71\x0e\xb1\x18\xd5\x4b\x34\x8c\ +\x9d\x95\xa5\x90\x50\x60\x90\x6c\x03\x00\x84\xcd\x46\xc0\x09\x59\ +\x05\x97\x15\x16\x06\x91\x76\x25\xd1\x03\x60\xab\x1a\x2b\x23\x1a\ +\x8c\x90\xcf\xef\x17\x54\x12\x15\xd4\xe2\x40\xf4\x64\x16\x86\x9b\ +\x84\x0d\x26\x42\xbf\x31\xe7\x77\x19\xd9\xcf\xef\x9b\x92\x8a\xe6\ +\x35\xf6\x1f\x9e\x53\x14\x3a\x41\x7b\x1f\xeb\x91\x92\x75\xfc\x20\ +\x55\x16\xa4\x78\x75\x27\x86\x31\x43\x44\x03\x04\x25\x81\x3e\x1b\ +\x38\xc5\xb6\xdf\x20\xe9\x1f\x41\x0f\x31\x80\x0c\x0b\x80\x9e\xb0\ +\x4c\x1e\x25\x8e\x27\x05\x88\x32\x20\x86\xee\x35\x72\xf7\x97\x14\ +\xa6\x40\x30\x48\x2c\x17\x71\x89\x94\x92\x20\x83\xb9\x0d\x0e\x05\ +\x5a\x8a\x0a\x18\x2e\x51\xb9\xe6\xf0\x16\x08\x91\x60\x49\x28\x57\ +\x72\x61\x83\x01\x40\x80\x38\x0d\x1f\xf9\x1b\x78\xf1\x86\x7d\x56\ +\x1c\x40\x49\xa4\xd2\x8c\x9e\x43\x1f\x10\x61\x09\x12\x88\x9f\x23\ +\x93\x67\x70\x77\x4f\x7c\x8b\x01\x21\xeb\x87\x35\x23\xe5\x0c\x9b\ +\xe0\xec\xf6\xe5\xa7\x76\x65\x1e\x51\x17\x1b\x8e\x8f\xc9\x94\x7c\ +\xa0\xfb\x63\xd3\x43\xba\xf3\xaf\xca\xbe\x19\x30\xdb\x82\xf9\xa3\ +\xc0\x07\x6f\x6e\x0c\x63\xb3\xd5\xf8\xe4\x12\x28\xc2\x24\x74\x89\ +\xa7\xc6\x3d\x19\x27\xb8\x2e\x39\xc9\x07\x23\x4c\x76\xcf\x6e\x00\ +\x4b\x00\x26\x39\x15\x61\xe2\x5f\x87\x70\xc0\x59\x01\x5c\x8d\x9e\ +\xdc\x06\x69\x5e\x5a\xcf\xeb\x38\xc1\x07\xc7\xf1\x71\x48\x4c\x83\ +\xb0\x2e\xe2\xc3\xb7\x8d\xc7\x17\x25\x94\xf7\xe5\x33\x77\x27\xb7\ +\x1c\xf2\x9e\x76\x98\x4a\x76\xc2\x1e\x6b\x11\x13\xa0\x3e\x88\xf4\ +\x8c\xf3\xe6\x71\xfd\x2a\x16\x44\x64\x8e\x6b\x3d\x8f\xb7\x61\xb3\ +\xab\x1f\x88\xff\x00\x9f\x0d\x8a\xd3\x04\xca\x5d\x66\xff\x00\x42\ +\x6f\xa2\xf7\x61\x78\xc4\x2a\xca\x48\x6e\x61\x48\x7e\x1b\xac\xae\ +\x71\xba\x75\x20\xda\x08\x49\xf6\xe2\x3a\x92\x75\x31\x7d\xc4\x7d\ +\x8b\x30\x4a\x69\xb3\xcd\xfa\xb2\xcc\xcc\x9e\x9f\x5d\x31\x0f\xc3\ +\x95\x26\x27\xee\xd2\x77\x87\xb7\x09\x43\x04\x98\x42\x02\xf4\x03\ +\x30\x1d\xa2\x50\x4e\x3f\x72\xca\x90\x73\xa2\x6b\xa8\x3d\x66\x66\ +\x3b\x04\xa4\x76\x2e\xae\x04\x8a\xcf\xd0\x79\x0e\x20\x78\x2f\x08\ +\x24\x25\x8a\xf4\x87\xdd\x9f\x09\xed\x9a\x18\xaa\x2a\x50\x9e\x36\ +\x38\x1c\x9d\x84\xd1\x80\x05\x0c\x02\xd8\x9c\x93\xf7\x87\x7e\x86\ +\x94\x34\x9f\x9d\x63\x1e\xbc\x44\x85\x46\x1d\xfd\x58\x64\xc6\x44\ +\x90\x40\xe0\x72\x6e\x5c\xa2\x87\xb7\xe3\x4e\xc4\xc4\x61\x23\xda\ +\xa1\xa0\x6c\x98\x86\x41\xc2\x83\x91\x14\x40\xc5\x3d\x04\xdd\xed\ +\x4c\x2d\x00\x20\x55\xcb\x65\x6f\xaa\x36\x07\xe1\x24\xc9\x9e\xa5\ +\xba\xb2\xa4\xe8\x12\xb0\x61\x7b\xbd\xdd\x9c\xf0\x89\x06\xed\x09\ +\xc2\xe6\x13\x44\x1f\xe3\x5f\xff\xc4\x00\x1f\x11\x00\x01\x04\x01\ +\x05\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\x11\ +\x31\x12\x21\x30\x32\x41\x60\x51\xff\xda\x00\x08\x01\x02\x01\x09\ +\x3f\x00\xf3\xe0\x90\x84\x3f\x6a\xe3\x26\xef\x4d\xaf\xa1\xaa\x0a\ +\xb0\x31\x61\x23\x80\x57\x47\xd5\xff\x00\xff\xc4\x00\x27\x11\x00\ +\x01\x02\x03\x06\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x00\x02\x10\x31\x32\x12\x30\x51\x60\x71\x81\x11\x21\x33\x41\x42\ +\x61\x91\xc1\xff\xda\x00\x08\x01\x03\x01\x09\x3f\x00\xcb\xee\x00\ +\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\ +\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\ +\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\ \x00\x00\x08\x77\ \x3c\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ @@ -173,6 +496,29 @@ qt_resource_data = b"\ \x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x3c\ \x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ \x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\x80\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\ +\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\ +\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\xa7\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ +\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ +\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ +\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ +\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ +\x68\x74\x6d\x6c\x3e\x0a\ \x00\x00\x00\xa7\ \x3c\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ @@ -191,6 +537,19 @@ qt_resource_data = b"\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ \x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ \x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ +\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ +\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ +\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ +\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ +\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\xa7\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ \x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\ \x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ \x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ @@ -199,70 +558,67 @@ qt_resource_data = b"\ \x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ \x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ \x68\x74\x6d\x6c\x3e\x0a\ -\x00\x00\x00\x80\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\ -\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\ -\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\ " qt_resource_name = b"\ -\x00\x0a\ -\x08\x6a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ -\x00\x0a\ -\x08\x4a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x08\ +\x00\x44\x5a\x07\ +\x00\x54\ +\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\ \x00\x0a\ \x0c\xba\xf2\x7c\ \x00\x69\ \x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ \x00\x0a\ +\x08\x8a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ +\x08\x4a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ \x08\x7a\x34\x9c\ \x00\x70\ \x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ \x00\x0a\ +\x08\x6a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ \x08\x5a\x34\x9c\ \x00\x70\ \x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ -\x00\x0a\ -\x08\x8a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ " qt_resource_struct_v1 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ -\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\ -\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x7c\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x09\xd1\ -\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x27\ -\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\ +\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xb0\ +\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb1\ +\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x06\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x5b\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x2c\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\ " qt_resource_struct_v2 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\ -\x00\x00\x01\x90\x02\x81\x83\xdc\ -\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x7c\ -\x00\x00\x01\x90\x02\x81\x83\xe0\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x90\x02\x81\x83\xed\ -\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x09\xd1\ -\x00\x00\x01\x90\x02\x81\x83\xff\ -\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x27\ -\x00\x00\x01\x90\x02\x81\x84\x13\ -\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\ -\x00\x00\x01\x90\x07\x0e\x46\x39\ +\x00\x00\x01\x90\x07\xcd\xf3\x00\ +\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xb0\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb1\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x06\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x5b\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x2c\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\ +\x00\x00\x01\x90\x07\x0e\x44\xb0\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/pyrcc5/tina_resources.py b/pyrcc5/tina_resources.py index f3345aa..574c929 100644 --- a/pyrcc5/tina_resources.py +++ b/pyrcc5/tina_resources.py @@ -9,32 +9,355 @@ from PyQt5 import QtCore qt_resource_data = b"\ -\x00\x00\x00\xa7\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ -\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ -\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ -\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ -\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ -\x68\x74\x6d\x6c\x3e\x0a\ -\x00\x00\x00\xa7\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ -\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ -\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ -\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ -\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ -\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x15\xad\ +\xff\ +\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\ +\x01\x00\x00\xff\xdb\x00\x84\x00\x05\x05\x05\x09\x06\x09\x09\x09\ +\x09\x0c\x13\x0e\x0e\x0c\x0e\x0e\x19\x12\x0e\x12\x10\x17\x0e\x10\ +\x10\x17\x10\x17\x17\x10\x14\x17\x14\x14\x1a\x17\x13\x13\x17\x1a\ +\x14\x17\x18\x23\x18\x1c\x19\x1f\x1a\x18\x21\x18\x23\x18\x23\x22\ +\x22\x24\x27\x28\x23\x17\x27\x35\x01\x09\x09\x05\x09\x09\x09\x0c\ +\x09\x09\x13\x21\x17\x0e\x1a\x22\x1c\x0c\x18\x29\x22\x28\x1a\x22\ +\x24\x22\x22\x19\x2c\x22\x28\x21\x22\x14\x23\x22\x1a\x1f\x1f\x1a\ +\x1a\x1c\x18\x1c\x22\x1a\x24\x24\x23\x0e\x19\x24\x21\x17\x2f\x19\ +\x1a\x17\x22\x21\x27\x1f\x17\x24\x2a\xff\xc2\x00\x11\x08\x00\xe8\ +\x00\xe8\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x34\ +\x00\x01\x00\x01\x04\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x02\x01\x06\x07\x08\x03\x04\x05\x09\x01\x01\x01\x01\x01\ +\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x03\ +\x04\x05\xff\xda\x00\x0c\x03\x01\x00\x02\x10\x03\x10\x00\x00\x00\ +\xdb\x1a\xc6\x51\xa0\x0a\x15\x71\xd9\x45\xf2\xea\x76\xc0\x00\x00\ +\x00\x10\x9c\x0a\x00\x00\x00\x94\xa3\x20\x05\xa7\x76\xea\xbe\x6c\ +\xac\xee\xcf\x97\x17\x99\xf3\xde\x96\x6d\xc5\x4f\xb4\x2a\x40\x00\ +\x00\x10\x9c\x0a\x00\x00\x00\x94\xa3\x20\x06\xae\xed\x16\x22\x6d\ +\x81\xc7\x6c\x5b\xfc\xef\xcf\xdb\x5d\x7c\xdc\x6b\x9a\x0d\x90\x00\ +\x00\x04\x27\x02\x80\x00\x00\x25\x28\xc8\x14\x1d\x68\xf0\x1a\x93\ +\x90\xbb\x19\xa2\x2e\xd6\xbe\xeb\x0b\x8e\x77\x17\x28\x00\x00\x00\ +\x84\xe0\x50\x00\x00\x04\xa5\x19\x14\xf3\xfb\x7e\x59\x2e\xf7\x9d\ +\xdc\x38\xfb\xdd\x29\x9c\x9d\x4e\xbf\xa2\x4f\xb1\xe2\x7a\x87\x65\ +\x4a\x80\x00\x02\x13\x81\x40\x00\x00\x12\xad\x24\x78\xfe\x35\xdf\ +\x89\x33\x72\x67\xcd\xbd\xf0\xd0\xaa\x4a\xf4\xb1\x79\xb7\x76\xcf\ +\x61\x75\xb7\x30\xce\x5c\x9e\x76\x38\xcb\xf8\xaf\x29\xb8\x00\x00\ +\x21\x38\x14\x00\x00\x01\x29\x46\x42\xd0\xbb\xec\xac\x6a\x96\x21\ +\xbb\x2d\x0b\xaa\xf2\xf0\xcf\x59\x6f\x3d\xe2\x1d\x8b\xe3\xb7\xcf\ +\x25\x71\x86\x74\xc9\xcb\x32\xf3\xa8\x16\x26\x6d\xf6\x94\x6f\x91\ +\xc3\x8c\xf9\xfa\x32\x94\x3c\x68\xec\x7b\x42\xf9\x0c\x67\xcf\xbe\ +\x4c\x56\x9d\x38\x01\x29\x46\x43\xa9\xdb\xa9\xf3\x3f\xce\xc8\xf8\ +\xe6\xab\x87\x96\xf0\xb4\xb5\x76\xec\x76\xa5\x67\x88\x6d\xfd\x95\ +\x7a\xd9\x3c\xbb\xdc\x7e\x9f\x99\xe9\xdf\x16\x33\xc9\x98\xcf\x97\ +\xab\x27\xc2\x70\xef\xe2\xeb\xe2\x0c\xbf\x63\x79\xbe\x87\x5e\xe3\ +\xb2\x6f\x68\xe9\x71\x15\xf6\x7c\xbb\x46\xcb\xef\xdc\x3e\x1f\xb1\ +\xef\x7a\x78\xdf\x24\x7a\x7e\x78\x75\xf3\xca\x51\x90\x06\xaa\x6b\ +\x7e\xe5\xe9\xbd\x6e\x46\xf5\xed\x1d\xad\x34\x8f\x20\x58\x3d\xc6\ +\xfd\x2b\xeb\xf6\xa1\x33\x09\x87\x5f\xc5\xb8\x78\x5b\xd3\xed\xcf\ +\x91\x9e\x77\x53\xd6\x93\x7c\xf8\x7a\x51\x3a\x7d\xba\xc9\x9d\x7e\ +\xd0\xde\xb7\x64\x01\x92\x94\x64\x01\x8a\xf4\x7f\xe9\x47\xce\x1d\ +\xde\x5f\xa4\xff\x00\x32\x7e\x9c\x9f\x38\xbc\x8d\x8a\xd7\x3d\xdd\ +\xf4\xbf\x75\x77\x68\xa6\x40\x00\x00\x10\x9c\x0a\x00\x00\x00\x94\ +\xa3\x20\x06\x86\x6f\x9e\xa0\x6e\xe0\x9f\xa5\xff\x00\x34\x7e\x93\ +\x96\xae\x82\x7d\x33\xd0\xc2\xdb\xfa\x2d\xf3\x4b\x7a\xcc\x84\x33\ +\x00\x00\x04\x27\x02\x80\x00\x00\x25\x28\xc8\x01\xae\x9b\x17\x8c\ +\x4d\x1d\xfa\x63\xf3\x5b\xe9\x6e\xd7\x16\x06\xcf\x3e\x56\x4f\xce\ +\x7d\xa1\xd6\x8c\xe9\xb7\xb5\xe3\x20\x00\x00\x42\x70\x28\x00\x00\ +\x02\x52\x8c\x80\x15\xa5\x4c\x03\x9f\xb5\xd3\x2b\x45\x5e\x82\xe7\ +\xc4\xc3\xf9\x3b\x02\x45\xed\x43\xca\xf5\x6e\x00\x00\x04\x27\x02\ +\x80\x00\x00\x25\x28\xc8\x01\x6f\x5c\x38\x90\xc4\x59\xd7\x1b\xe7\ +\x79\xaf\x52\x32\x54\xf9\x7a\x9d\xb8\x98\xfa\x76\xc5\xcf\x9a\xc3\ +\x9c\x35\x77\x0d\xc0\x00\x42\x70\x28\x00\x00\x02\x52\x00\x00\x00\ +\x00\x00\x00\x00\x10\x0a\x00\x00\x00\xff\xc4\x00\x2c\x10\x00\x02\ +\x01\x02\x05\x03\x04\x02\x02\x03\x01\x00\x00\x00\x00\x00\x01\x02\ +\x03\x00\x04\x05\x10\x11\x12\x13\x21\x31\x40\x06\x14\x20\x33\x23\ +\x41\x22\x32\x24\x30\x50\x34\xff\xda\x00\x08\x01\x01\x00\x01\x08\ +\x02\xff\x00\x86\x0e\xb5\x2e\x21\x1c\x54\x8e\x1f\xb7\x93\x79\x37\ +\x0a\x6e\xaf\x72\xc0\x16\xa7\x75\x24\x1a\xb3\xb9\x58\x8e\x83\xc9\ +\xbb\xbd\x2a\xc4\x30\xb7\xde\x1d\xab\x5e\x3f\xc8\x90\x32\x6c\x55\ +\xab\x77\x0e\x8a\x47\x91\x89\x5b\xec\xba\x57\x22\x60\x87\xa5\xcb\ +\xef\xd5\x69\x62\x70\xda\x0c\x2c\x30\x81\x77\x79\x18\xc4\x7b\xd1\ +\x0d\x0b\xd4\xd3\x75\x48\xef\x38\xdd\x56\x89\x1b\x38\x43\xe4\x95\ +\x0e\x34\x32\x59\xa9\x77\xda\xb6\xc2\x55\xfe\x42\x18\x9c\xa9\x1a\ +\xf9\x1a\xeb\x4d\xd9\xaa\x28\x0c\xa7\x4a\x58\x80\xd3\xc9\x26\x94\ +\xeb\xae\x51\xa7\x1a\xe9\x9e\xee\xba\x50\xeb\xe3\x3e\xbd\x87\xd7\ +\xd2\xb7\x0a\xd6\xb5\xa7\x7a\xe3\x00\x6d\xa4\xd5\x7a\x1d\x7c\x49\ +\xe6\xe1\x5d\xc6\x0b\xbe\x56\xd2\xa6\x4d\xe8\xeb\x44\xef\xea\xc3\ +\xa7\x68\xef\xe7\x8f\xb6\x0d\x71\x25\xcb\xb9\x7a\x3d\x68\xeb\xfa\ +\x1d\xbc\x49\xa0\xf6\xe4\x14\xbb\xbd\xd9\x6c\xf2\xae\x7e\x9d\x61\ +\xa4\xc2\xae\xee\x78\x86\x82\xce\xe2\x79\x4e\x94\x3c\x5b\xe6\xd2\ +\x23\x58\xac\xc4\xbe\xcf\x86\x14\x5e\x37\x32\xad\xad\xaf\xb8\xfc\ +\x92\x01\xa7\x41\xe2\xdf\xfd\x75\x35\xcf\x2c\x71\xa9\xce\xdd\xff\ +\x00\x04\x6b\x58\x6b\xeb\x16\xdc\xa6\x79\xe3\xea\x6d\xcc\xc4\x82\ +\xf9\x5d\x4a\xc8\xe8\x17\x26\xec\x6a\xde\xed\xb7\x00\xf7\x2c\x51\ +\x09\x16\xec\x5d\x01\x39\xc5\x76\xcd\x27\x5f\x93\xa6\xf5\x2b\x4e\ +\xbb\x49\x1f\x0e\x7f\xc7\x12\x0c\x1a\x5e\x46\x27\x2b\xff\x00\xe8\ +\x2a\x1f\xad\x33\xbd\xfb\x23\xa3\x93\x76\x35\x0c\x3c\xb1\xbd\x34\ +\xdc\xb0\x1a\xb4\xfa\x97\x3b\xc9\x36\xa6\x95\x22\x2f\x12\x54\x32\ +\x72\x28\x6f\x9e\x29\x1f\x1d\xc4\xc3\x2b\x0b\x61\x73\x27\x19\xd2\ +\x85\x60\x2f\xa4\xe4\x65\x7f\xfd\x05\x41\xf5\xa6\x77\xbf\x64\x74\ +\x72\x6e\xc6\xb0\xee\xcd\x57\x51\xf1\xb1\xd2\xd3\xea\x5c\xe4\xff\ +\x00\x22\x6d\xb5\xec\x52\xac\xdb\x63\x34\x67\xe5\xea\x28\x74\x78\ +\xe4\xcb\x06\x3a\x5d\xc1\x58\xdd\xb7\x0c\xe5\x85\x61\xb2\x71\xdc\ +\x42\x72\x2a\x1b\xbf\x6c\x89\xd3\x4a\x2c\xad\xd6\x8c\xbd\xe8\x1e\ +\xba\x50\x7d\xd4\x19\x54\x7f\x16\x20\xa8\x27\x70\x5a\xdf\xa5\x29\ +\xd4\x03\x4a\x8a\xbd\xab\x62\xeb\xaf\xcf\xd4\x03\xf0\x2e\x58\x77\ +\xfe\x88\x2b\x1b\xb7\xe5\x80\xb6\x4a\xdb\x48\x34\x7e\x3b\x45\x68\ +\x32\x2a\x0f\x4a\xd0\x77\xad\xa2\xb4\x15\xa7\xee\xbb\x7f\xab\x1a\ +\x4d\xd6\xcf\x94\x32\x71\x3a\x3d\x11\xdf\x5b\x98\x3d\xbc\x8f\x1e\ +\x58\x64\xfc\xf6\xf1\x9f\x1e\x48\xc4\xaa\xc8\x5d\x0a\x12\xad\x46\ +\xbd\x43\x06\x8d\x1c\xb9\x7a\x7a\x53\xba\x58\xfc\x8c\x4d\x36\x5c\ +\xcc\x28\xf6\xa5\x3b\x80\x35\x88\xdb\xfb\x88\x1d\x05\x41\x39\xb7\ +\x75\x91\x7c\x7c\x7d\x34\x9c\x1a\x6e\xc6\xa3\xfe\xab\x96\x27\x6d\ +\xed\xe7\x75\xcb\x0a\x97\x96\xda\x2f\x1f\xd4\x31\xf4\x85\xe8\xd6\ +\x9a\x65\x8f\xdb\xef\x8d\x65\xcb\xd3\xd2\xf4\x96\x3f\x1f\x18\x8f\ +\x7d\xb4\x95\xa6\xee\x80\xe5\x3c\x5c\xd1\xba\x56\xc6\xfd\xe0\x90\ +\xba\x4f\xa9\xf1\xd8\x71\x9d\x3e\x17\x51\xf2\xc6\xc2\xac\xdf\x49\ +\x23\x3e\x44\xe3\x73\x48\x6a\xc4\x9d\x85\x4e\x57\xee\x52\x09\x48\ +\xe1\xd0\xe8\x61\x97\x99\x03\x78\xd7\x53\x70\xa1\x7a\xf7\x51\x81\ +\x58\x56\xbe\xdd\x09\xc9\xba\xf4\x6b\x46\x3c\x52\x17\xb0\xbe\x40\ +\xe5\x07\x8b\x89\xd8\xc9\x76\x57\x65\xbe\x04\x41\xfc\xb0\xc2\xb0\ +\x28\x44\xcc\xe1\x91\x6d\x95\x55\xbd\x3c\xdf\xab\x28\x1a\x08\xf6\ +\x3f\xfc\xcf\xff\xc4\x00\x24\x11\x00\x02\x01\x03\x04\x02\x02\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x00\x03\x10\x11\x12\x13\ +\x21\x30\x04\x31\x20\x33\x32\x40\x51\xff\xda\x00\x08\x01\x02\x01\ +\x01\x08\x00\xbe\x7b\x89\xb2\xff\x00\x3b\x4c\xd2\x60\xe4\xf7\x00\ +\x4c\x0b\xdf\x99\x9e\xb2\x48\xe6\x09\x89\xc0\x80\xe7\xac\xfa\x8a\ +\x30\x2d\x9d\x4d\xcd\x4a\xe2\x90\xc9\x4a\xba\xd7\x54\x7a\xc2\x9a\ +\xea\x31\xfc\x95\xa6\xca\xad\xbc\x37\x36\xec\xfe\x4a\x53\x2a\x1b\ +\xe0\x2c\x52\x57\xfa\x5e\x27\xe0\xb3\xc9\xfa\xad\x5a\x98\x7a\xb4\ +\xd4\xd2\x66\xdf\xd2\xf1\xd1\xeb\xbb\x95\xa3\x57\x5d\x30\x4d\xc5\ +\xf1\x6c\x03\xee\x60\x4c\x0f\x76\x00\x0f\x58\x03\xe0\x21\xef\x30\ +\x43\xde\x4f\x6a\x9e\x48\xb3\x9c\x11\x33\xd6\x60\x4c\x58\xae\x60\ +\x18\xe3\xf6\x3f\xff\xc4\x00\x25\x11\x00\x01\x03\x04\x01\x04\x02\ +\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x10\x11\ +\x30\x21\x05\x12\x13\x31\x20\x34\x14\x33\x40\xff\xda\x00\x08\x01\ +\x03\x01\x01\x08\x00\xbe\x37\x01\x67\x0d\xa3\xda\xc2\x71\xdc\x5d\ +\x85\x9d\xf8\x58\xd6\x10\xb7\xb2\xb1\x8d\x63\xdd\xcf\x01\x41\x46\ +\x67\x77\x63\x65\xa7\xf1\x3f\xb1\x43\x4a\xe9\x9f\xd8\xd5\x17\x4f\ +\x92\x68\xdf\x23\x3f\x15\xde\x1f\x3d\xa2\xa0\x92\x66\xbd\xcc\xf9\ +\x67\x85\x47\xf6\xa2\x52\xfe\xd7\xae\x9f\xf6\x2d\x4d\x3b\xa2\xa5\ +\x9a\x46\x54\xc6\xc1\x44\x1f\x1a\x8e\x58\x69\x23\x85\xb2\x55\x53\ +\x08\x66\x73\x5b\xf2\x04\x8e\x42\x0e\x23\x90\xbb\x8e\x30\xbb\x8e\ +\x31\x62\xe2\x79\x25\xc4\xfb\xb8\x45\x04\x76\x04\x50\x47\x60\x4e\ +\xb1\x1c\x6d\x22\xcd\xf5\xb0\x27\x3b\x36\x0e\xc2\x38\xfe\x8f\xff\ +\xc4\x00\x35\x10\x00\x01\x01\x05\x03\x0b\x03\x04\x01\x05\x00\x00\ +\x00\x00\x00\x00\x01\x00\x10\x11\x21\x31\x41\x02\x40\x51\x20\x42\ +\x52\x61\x71\x81\x91\xa1\xb1\xd1\xf0\x03\x12\xc1\x22\x32\x50\xf1\ +\x30\x13\x33\x92\xb2\xe1\xff\xda\x00\x08\x01\x01\x00\x09\x3f\x02\ +\xfc\x27\xef\x65\xef\xba\x3e\xd7\xd2\x98\x23\xf4\xd6\xb6\x7b\xa9\ +\x1a\xde\x84\x70\xc1\x5b\x8c\xcd\x41\x27\x05\x6b\xde\xea\x1a\x60\ +\xa7\xce\xf5\x2b\x64\x76\x72\x16\xbd\xb6\x70\xb3\xf4\xaa\xaf\x31\ +\x5b\xb6\x5e\x66\x1e\xe8\xb8\x6f\x56\x63\xd1\x40\x51\x5a\x33\xad\ +\x71\xbd\xc2\xcd\x35\xa8\x59\x1e\x38\x2f\x4d\xde\xdd\x50\xbd\x54\ +\x32\x9f\x96\x13\xcb\xa5\x71\xba\x87\xa0\xe5\x50\x54\x76\xc5\x96\ +\xf8\xc5\x39\xd6\x00\xe2\x5b\xde\xeb\x2a\x6a\x53\x96\xc2\x61\x91\ +\x37\x8e\x0b\xee\x3c\x94\x46\x91\x87\x3b\xb6\x21\x7d\xae\xb2\x5d\ +\x91\x20\x0e\xf7\xf8\xf5\x23\x4a\xda\xdb\x77\xf2\x05\x08\xd8\x7f\ +\xd5\x8e\x45\x7d\xcb\x35\x86\x0f\xd4\xbe\xd2\x35\x34\xcf\xbb\x70\ +\x46\x6a\x70\x5a\xf2\x24\x69\x86\x19\x75\x54\xf8\xc8\x9d\x92\x62\ +\xb0\x8f\xc3\x34\x96\x88\x6e\xae\xad\xc0\xa9\x87\x29\x87\x2d\x7d\ +\x5b\x9c\x8c\x6b\xbf\xb7\xf0\x69\x7f\xb4\x59\x5b\x36\x9d\xb4\x44\ +\x36\xb6\x0b\x34\x96\x88\x6e\xae\xad\xc0\xad\x4a\x56\xd6\xbe\xad\ +\x90\xf8\x9a\x25\x78\xec\xbc\xe0\xee\x0c\xc4\xf4\x2a\x5e\xa4\x77\ +\xd7\xbe\xf6\x69\x75\x83\x03\xdb\x55\x65\xfe\x41\x51\xfc\x97\x9e\ +\x7c\x21\x8f\x24\x3e\x28\xff\x00\x94\x1f\xe4\xd0\x70\x79\xf3\x7a\ +\x15\xf3\x83\x00\x0c\x11\xc7\x2f\x4c\x74\x2c\xd3\x0a\x7e\x9c\x7b\ +\xb2\x84\x72\xca\x0d\x1f\xcf\x4f\x69\x66\x6d\xab\x27\x81\x66\x69\ +\xfd\x72\x64\xc4\x0e\xee\xf3\xbb\xca\xd0\x23\x8a\x98\x3d\x1b\x58\ +\x1d\xd1\x0c\x93\x9f\xc2\x17\x8d\x2e\xb1\x65\x40\x53\x98\xda\x19\ +\x9b\xe1\xbc\x67\x58\x1d\x99\x80\x64\x8c\x46\xc2\xca\x43\xfc\x61\ +\x77\xd6\x3e\x72\x33\x0f\x2b\x5f\xf5\x9a\x8f\x18\x5d\xf3\x5c\x78\ +\x64\x67\x59\x28\x1e\x0a\x03\xda\x77\xde\x33\x2d\x64\x6e\xdc\xab\ +\x78\xb4\x63\x69\x66\x99\xed\x8b\x70\xfd\xa8\x97\xf9\xaa\xee\x5c\ +\x8b\xdc\xf8\x29\xda\xf7\x13\xc5\xb5\x47\xfb\x44\x0e\x28\xc2\xd7\ +\x2b\xb1\x0e\x02\xa5\xd1\x56\x81\x18\x0e\xea\x43\x23\xe9\xfe\xa4\ +\xcc\xd7\xaa\x38\x39\x10\x62\x5c\xe9\x01\x87\xe3\x7f\xff\xc4\x00\ +\x28\x10\x01\x00\x01\x03\x02\x05\x04\x03\x01\x01\x00\x00\x00\x00\ +\x00\x00\x01\x11\x00\x21\x31\x41\x51\x10\x61\x71\x81\xa1\x20\x40\ +\x91\xf0\xb1\xc1\xd1\xe1\xf1\xff\xda\x00\x08\x01\x01\x00\x01\x3f\ +\x21\xf7\xa7\xa5\xb5\x00\x93\xfe\x56\x79\x9d\xbf\x4d\xcd\x0d\x2e\ +\x7a\x33\x1e\xd4\xf4\xba\x0d\x34\x89\x3d\xb5\xa7\x4a\x5a\xc7\x1c\ +\x9c\x9f\x16\xe5\x82\x91\x6f\x29\x23\x0b\x62\x74\x5c\x99\xde\x2a\ +\x62\x2c\x32\x8c\x47\x25\x9f\xcb\x4d\xbd\xa1\xe8\x29\xc5\x2f\x1a\ +\x76\x4d\x25\xe6\x24\x23\x7c\x6c\x8e\x9a\x54\x20\x9c\x6b\x5b\xb1\ +\x25\xbb\x35\x6e\x24\x36\x50\x2d\xbc\xea\x7c\x37\x29\x89\x5b\x5e\ +\x59\x64\xcc\xbe\xd0\xf4\xc4\x6d\x73\x49\x4f\xd5\xe6\x94\x44\x43\ +\x6f\xa3\x28\x53\x88\x08\xd9\xac\xff\x00\x68\x44\xce\x98\x82\xfa\ +\xb7\x8d\x62\x62\xb9\xf9\x79\x9d\x0f\xdd\x3d\xa1\xe9\x71\x26\x57\ +\x62\x40\x91\x96\x62\x91\x9e\xb3\x7c\xbf\x1d\x18\xa5\xba\xe0\xd0\ +\x4c\xe6\x72\xc5\x2e\x84\x99\x4c\x12\x8c\x3c\x4e\x9a\xfb\x53\xd2\ +\xc8\xac\xe4\xfe\xd6\x34\xad\xbf\x76\xa7\x1a\x14\xa7\x2f\x2f\xe2\ +\x9f\x26\x90\x19\xd1\x3b\xa4\x7d\xef\xed\x0e\x38\xa2\x83\xdc\x7f\ +\x0c\x7f\x3e\x2a\x1a\xc0\x5d\xdb\xfd\x68\xf3\x1c\xa6\x87\xf7\xab\ +\x96\xfb\x52\xf0\x3d\x99\xc7\x7c\xf8\xbd\x5f\x86\xd3\x4e\x1e\x8d\ +\x08\x1e\xfc\xdd\x78\x2f\x00\xa8\x3e\xc8\xe0\xe6\xaf\x17\x1e\x1c\ +\xe8\x0b\x8e\x75\xac\x17\x8e\xf1\x4c\x7a\x6e\x5f\x84\x23\x5e\xd4\ +\x7d\x13\x3b\xd4\xa6\xfc\x3a\x39\xbf\xca\x8f\xb2\x38\x02\x30\x1b\ +\x73\xdf\x95\x5e\x37\xa6\x21\x9c\x6f\x8a\xd1\x86\x1b\xb3\x16\x4e\ +\x94\xb1\x45\x46\x54\xbc\xd5\xf9\xb3\x99\x6a\xb6\x3c\x6d\xfd\x6f\ +\x5b\x3a\x08\x89\xc3\xae\x80\xf0\x27\x6d\x3c\x64\x06\x75\x74\x3e\ +\xf4\xd6\x8a\x01\xf6\x27\x04\x11\x12\x47\x4d\x1a\x7d\x55\xbb\x33\ +\xd9\xe5\xb3\xda\xb1\x52\x30\xfa\x96\x99\xa6\xd5\x34\x35\x7b\x73\ +\x63\xa2\x0f\x39\xad\x9d\x3e\x1b\xbf\xaa\x82\x20\xf2\x32\x3b\x32\ +\xf6\xa0\x93\x3e\xc8\xe3\xf6\xee\x67\xf5\x47\x0b\x77\x32\x6e\x0f\ +\xc5\x3c\x0a\x43\x20\x65\x49\x36\x3b\x51\x6e\x5c\xc7\x90\xb4\x36\ +\x3f\x54\x64\x08\x0c\x05\x83\xd9\x9c\x73\xbb\x2b\xf1\x42\x73\xb8\ +\x6e\x18\xb4\x79\xa7\x81\x44\x1d\xff\x00\xb5\xea\x1b\x53\x4e\xcd\ +\xcf\xe5\x15\x29\x01\x28\xcb\xa6\x9b\x53\x25\x36\x1d\x58\xc5\xf8\ +\xc3\x80\x04\x90\x72\x53\x9e\x0a\x14\xd1\x7e\x29\xb3\x12\xdc\x04\ +\x3a\x60\xd7\x14\xf7\xc0\x6e\xea\xc5\x39\xf2\xb9\x77\x4e\x32\x17\ +\x71\x44\x27\x7d\x08\x19\x7c\xb9\x7a\x0e\x3c\xa2\x5b\x58\x74\xa4\ +\x67\x29\x1f\x0a\x78\x14\xe6\x22\x8f\x56\xdf\xba\x5c\x65\xf1\x37\ +\x22\x5c\xa7\x87\x86\xfc\x35\xf6\x9b\x71\xf0\x28\xc9\xe1\xf7\x9b\ +\x55\x85\x96\x1c\xed\x73\xbd\x5d\x6d\xc2\xf3\xb9\x0f\x7a\xfb\x7c\ +\xdc\x6d\x1c\xd9\xd8\xcf\xf3\xbd\x01\x03\x7b\x01\xbf\xda\x2b\x7b\ +\x9c\xf5\x2c\xf1\x3d\x1c\xdd\x97\xd7\xad\x34\x8e\xd3\x3f\x88\x2b\ +\x9c\xb7\xa9\x16\x48\x4c\x9b\x26\x4e\xdc\x1f\x74\xe2\x3c\x3c\x37\ +\xe1\xaf\xa4\xdb\x8f\x81\x46\x4f\x0f\xbc\xda\xbc\xbf\xc2\x99\x9f\ +\xea\x19\x4f\x9b\x95\xf6\xf9\xb8\xe0\x1d\x09\xe5\x93\xbb\x6a\xff\ +\x00\xba\x7f\x29\xf2\x96\x7e\x6c\x7e\x4f\xc7\x13\xd1\x09\xea\xae\ +\xb7\x9f\x23\xe2\x9a\xea\xc1\xf9\xaa\x14\x5a\x8f\x87\x9d\x05\x74\ +\x9e\x7d\xfa\xf0\x22\x0b\x91\x26\x80\x00\x58\x34\xdb\x83\xc0\x13\ +\x76\xb1\x82\x79\xed\x58\x71\x91\x0a\x4b\x74\x21\x65\xbf\xea\xa0\ +\x4c\x5f\x73\x30\x9f\xf3\x97\x7a\x56\xcc\x58\x79\x5f\x1f\x37\xfa\ +\x29\x2c\x27\x38\xac\x11\x63\xa7\xf4\xe7\x4f\x91\x08\xd2\x25\x65\ +\xd4\x34\x63\x66\xe1\xf0\xc7\x38\xd6\xf1\x7a\x0a\xc4\x41\xb5\xb1\ +\x3c\x82\xe3\x49\xa6\xf4\xe0\x0d\xf9\xba\x45\x39\xb1\x5e\x13\x00\ +\xe1\x35\x9f\x42\xff\x00\x3c\x4f\x44\x8f\xb7\x98\x29\xa5\x0f\xf5\ +\x6d\x51\xf1\x77\xe3\x8f\x1b\xf6\xe1\xce\x99\xf2\x9a\xcb\xd1\xb7\ +\x2a\x54\x88\x46\xd1\xb5\x72\x8d\x74\xdf\x3f\x35\xce\x82\x90\x4d\ +\xa2\xd4\xb3\x61\x3b\xc5\xe9\x40\x10\x83\x48\xac\xd6\x2e\xcb\xcd\ +\xcc\xd4\x66\xcb\xef\xad\x00\x20\xb0\x69\xea\x3d\x12\xf3\x5f\xc0\ +\xdf\xc5\x35\xff\x00\x06\x81\xa2\x60\x24\x66\x4e\xb4\xab\xeb\x87\ +\x33\x2b\xbc\x28\xbd\x6d\x8b\xde\xb7\xc3\xcb\xd9\x9e\x8c\x80\x83\ +\xb2\x2b\x23\x88\x7a\xa8\x6a\x26\xd5\x9b\x51\x9e\x97\xad\xf9\x04\ +\xfc\x70\xdd\x57\x6d\x83\xf9\x1f\x1e\xcc\xf4\xf7\xc9\xf1\x3f\x7a\ +\xcd\xd2\xa5\x6c\xf9\x05\x69\xd2\x79\x53\xe7\x1d\xea\x66\xe6\xb5\ +\x9a\x67\x3d\x4d\x1d\xcb\x54\x8d\xcc\x38\xf6\x47\xa7\xeb\xe4\x5a\ +\x78\x0d\x7d\xfe\xd4\x5a\xa1\xbc\xde\x77\xc3\x27\x6a\x2a\x70\xe4\ +\xaf\xc1\xe2\xfe\xc8\xf4\xcf\xb5\x5f\xbd\xbf\x86\x8c\x89\xbd\x68\ +\x6d\x1c\x20\x6c\xc4\xfc\x1e\x21\xf3\xc2\xff\x00\xd1\x3f\x2f\xe0\ +\xf6\x47\xa7\xec\x94\xaf\xe2\x68\x76\x32\xb8\xac\xf8\x72\x4e\xfc\ +\x96\xf3\x50\x02\x2d\x2e\x8b\xed\xd6\xa2\x94\xd6\xdc\xe0\xe3\x4d\ +\xfd\x91\xea\x6b\xbd\x8e\xd7\x29\x67\x8e\xe4\x84\xf5\x5c\x50\x29\ +\xb8\xf9\x20\xf3\xec\x8f\x49\x50\x75\xda\xe2\x5a\x36\xb7\xf6\x6a\ +\x6a\xcd\x93\x54\x02\xfe\x93\xc7\x24\x7e\x22\xc2\xec\x55\xea\x21\ +\x21\x5d\x4b\x90\x61\x47\xb9\xe4\xd9\x33\xec\x4f\x48\xb0\x21\x89\ +\xd5\x71\xfd\xa7\x5a\xa4\x84\xb2\x98\xbd\x4c\xfc\xa2\x37\x55\xc1\ +\xe5\x52\x09\x58\xa3\xde\xd5\x80\x59\xe6\xe8\x59\x9c\xb7\xa9\x0c\ +\xde\x98\x61\x7f\xba\xed\xf3\xec\x4f\x4d\xd9\x26\xcd\x71\x19\xb0\ +\xcd\x88\xa1\x6d\xf3\x33\xde\x7b\x23\xe2\x88\xe8\xc7\x79\x77\xcf\ +\x18\x9a\x8f\x2e\xe8\xf3\x96\x6d\x6e\xd4\x1f\xdc\xfe\xcd\x5a\xc0\ +\xcc\x08\xd1\x32\xdb\x4f\x60\x7b\xdf\xff\xc4\x00\x29\x10\x01\x00\ +\x02\x02\x01\x03\x04\x02\x02\x03\x01\x01\x00\x00\x00\x00\x01\x11\ +\x21\x00\x31\x51\x41\x71\x81\x10\x40\x61\x91\x20\xa1\xb1\xf0\x50\ +\xc1\xd1\x30\xe1\xff\xda\x00\x08\x01\x01\x00\x01\x3f\x10\x95\xdb\ +\xfe\x08\xa0\xbc\x64\x80\xae\xb3\x4f\xc1\xe1\x31\xa8\xbc\xa2\x34\ +\x86\x24\xd6\x50\x3a\x48\x98\x02\xe2\x4a\x63\x93\xdd\x1b\x9b\x0a\ +\x80\x02\x98\x62\x8b\xb4\x88\xea\x99\x0c\x2a\x0f\x00\x22\x30\xd2\ +\x4d\xd2\xb6\xa7\x15\x38\x2c\x32\xac\x56\xe8\x89\x33\xa3\x36\x5d\ +\xd8\x1d\x4a\x83\xc9\x08\xea\xcb\x82\x49\xee\x02\x50\x72\x68\x3e\ +\x51\x4b\x41\x41\xcc\x5a\xb7\x24\xe2\xf9\x9d\x23\xe5\x24\x9b\x10\ +\xc0\x78\xcd\x51\x76\x09\xee\xd4\x9b\x71\x04\xf4\xb7\x08\x20\x3a\ +\x03\x2e\x45\xcd\xc4\xcd\x65\x43\x81\x60\x09\x28\xe8\x09\x6b\xee\ +\x52\x60\xcc\xe9\xb8\x3b\xa1\x79\x31\x1f\xab\xc1\x4a\x80\x23\xb7\ +\xe4\x8c\x8c\x94\xc2\x0d\xa9\x46\xd5\x61\xb9\x24\xc9\x70\xa8\x0a\ +\xc1\x19\xa9\xca\x40\xc0\x3e\xa7\x5b\x44\x49\xdd\x98\xe6\x1e\xe5\ +\x4b\x36\xc1\x63\xc5\x03\x30\x00\x8b\x00\xbf\xa9\x64\x2d\xd8\xe7\ +\x10\x90\x31\x8a\x88\x0f\x40\xe6\x75\xed\x93\x2d\xbe\xa2\x85\x73\ +\x36\x22\xac\xa7\x09\x0c\x44\x47\x4d\x44\x7b\x82\xc6\x4c\x7a\xb5\ +\x7e\xc8\x34\x23\x7c\x8e\x36\x5b\xc1\x21\x1d\xf9\x73\x75\xc6\x16\ +\x35\x66\xa2\xd1\x22\x44\x5c\x91\x91\x14\x31\xac\x1d\x10\xaa\xf8\ +\x40\xf0\x19\x02\x47\x74\x2f\xe9\xf6\xe2\x82\x5c\x5b\x19\x17\x01\ +\x5e\xf6\x3c\x9e\x58\xbd\x60\x90\x3a\xb4\x13\x53\xea\x68\xdb\x46\ +\x33\xcc\x1e\xba\xfc\x93\xb7\x56\xc4\x57\x40\x8e\x2e\x38\xa7\xc7\ +\xb5\x2c\x62\x8c\xa4\x74\x68\xff\x00\xb8\x4a\x60\x43\x51\x08\x5e\ +\x16\xb2\x56\x03\x97\xa1\xf7\x91\x6d\x25\xbe\x4d\xbf\xd1\xc0\x07\ +\xa3\x64\x56\xb7\x13\xfc\x49\xe2\x47\xb3\xdf\x06\xc6\x49\x4e\xcf\ +\x68\x6b\x47\x5d\x22\x9f\x3d\x31\x39\x64\x93\xc4\x37\xd9\xcb\x1e\ +\x2f\x23\x25\xd9\x95\x4b\xa4\x37\xac\x2e\x26\x5c\x89\x63\xb7\xa8\ +\xea\x03\xcc\x2e\x05\xd3\x59\x25\xb0\x6e\x48\x9e\x48\x7c\x63\xd8\ +\x30\xca\xa3\xb3\x72\xdc\x9d\x3e\xb5\x88\xa7\x60\x14\x13\x12\xe1\ +\xe7\xa3\xeb\x26\xd6\xce\x44\xc1\x90\x7d\x99\xf8\x40\x24\x6b\x41\ +\x4a\x44\xa9\x6e\x27\x04\x8c\x82\x70\xd8\x4c\x48\x53\x90\x63\x02\ +\x1d\xb3\x11\xb1\x56\x25\x98\x63\x88\x32\x2c\xf9\x4b\x90\x2b\x66\ +\x95\x67\x92\x1c\x34\x64\x6a\x21\xf6\x1c\x3b\x6b\x71\xb4\x24\xec\ +\x7a\x43\x20\xe9\x57\xfb\xfb\x8f\xeb\x18\x0f\x90\x92\xbb\xd3\x6a\ +\x72\xad\xb4\x75\x0d\xea\x01\x3e\xcc\x08\x80\x8a\x24\x1a\x44\xd2\ +\x38\x96\x23\x32\x32\xde\x73\x2f\xe4\x5d\x24\x5f\x47\x17\x6a\xc1\ +\xdc\x50\xe7\x43\x8f\x51\xd5\xb5\x7c\xca\x63\xb4\xcc\x13\x38\xd0\ +\xea\x35\x7f\xc9\xd5\xf8\x1c\x8f\x15\xfd\x80\x10\x9f\x14\xde\x5c\ +\x76\x41\x18\x84\x21\xf2\x7b\x54\xd7\x9f\xd1\x8a\x15\x51\x46\x9c\ +\xe7\x60\xc2\xf4\x59\x7c\xca\x60\x45\xfb\xc1\x76\x0c\x1e\xe3\x54\ +\xc7\x4f\xae\x5d\x06\xce\x28\x87\xe3\xc0\x80\x70\x05\x1e\xd8\x58\ +\x84\xa5\x01\x2c\xac\xc0\x7e\xbf\x50\x3c\x1c\x3a\x24\x99\x70\x46\ +\x0e\x2c\xba\x22\x50\x55\x8e\x39\x26\x7d\x93\xff\x00\xa6\xf8\x66\ +\xc4\xe2\xf1\xbb\xad\x4a\xa6\x04\xe9\x93\x31\x57\x44\xb0\x5c\x03\ +\xd6\xb5\x63\x22\x4c\xc9\x68\xba\xc3\x08\x39\xf4\x67\x10\xa4\x78\ +\x44\x99\x02\xac\x49\x91\x6d\x45\x2b\x77\xca\x5d\x46\x03\x10\xaa\ +\x44\xc9\xed\xe9\x40\x26\x09\x40\x14\x7a\xa0\x52\x00\xab\xc0\x5a\ +\xe1\x8d\xb4\x03\xbb\x0f\x82\x95\xdb\x8f\xe4\x8a\x10\x50\x49\x0d\ +\x89\x3a\x83\x9f\xb4\x77\x92\xff\x00\x67\xa4\x7d\x12\xfc\x4b\xb5\ +\x4c\x1d\xe3\x38\x87\x24\x8f\x52\x75\xc8\x03\xf9\xd3\xa9\x3f\xd8\ +\x7d\x3f\xbe\xe5\x95\xfc\xa0\x7a\xdb\xf4\xb5\xf2\x19\x27\x9b\x99\ +\x6d\x78\x7f\xb1\xcf\xd8\xf5\x17\x75\xaf\xed\x7d\xeb\x07\xb5\x08\ +\x0a\x4b\x68\x66\x60\x3e\x2f\x25\x6d\x11\xf1\xfe\x61\xb3\xe1\xfc\ +\x83\x08\xe4\x2d\xa4\x3d\x81\xfc\xd9\x87\x1f\x26\xdd\x22\x71\xe7\ +\x44\x18\xa5\x52\x11\x69\xa0\x9f\x28\x87\x1c\x61\x3e\xea\xf9\x3f\ +\xf2\xa6\x52\xc9\xfe\xc3\xe9\xfd\xf7\x2c\x5f\xdf\xea\xca\x5d\x0b\ +\x3a\x00\xf1\x3e\xd2\x65\xbb\x9e\x80\x27\x29\xed\x10\x74\xbc\x3e\ +\x69\x3d\xb2\x6d\x07\xce\x3a\xe6\x44\x1d\x3a\x6f\xdc\x7c\x7e\x64\ +\x1f\xae\xeb\xdf\x3e\x39\x9c\x93\x74\xc2\xe5\x1c\x2b\x80\x10\x7f\ +\xa2\xcd\x73\xbf\xef\xb1\x73\x48\x53\x0f\x00\x19\x04\x47\x53\x0c\ +\xde\x18\x60\x00\x04\x00\xd0\x1a\x03\xd1\xa9\xba\x11\xd5\x4e\x32\ +\x91\x1d\x21\x8c\xbf\xc4\x60\x40\xc3\x46\x95\x20\x5b\xe1\x4c\x59\ +\x10\xc2\x32\x51\x87\xac\xa2\x25\x44\xd0\xc7\x6a\x61\x0c\xcc\x21\ +\x46\x09\x94\x3a\x44\x97\x78\xda\x43\x04\x99\x45\x56\x2c\xac\x00\ +\x72\x51\xc7\x1e\xe5\x4a\x43\x40\x71\x0e\xb1\x18\xd5\x4b\x34\x8c\ +\x9d\x95\xa5\x90\x50\x60\x90\x6c\x03\x00\x84\xcd\x46\xc0\x09\x59\ +\x05\x97\x15\x16\x06\x91\x76\x25\xd1\x03\x60\xab\x1a\x2b\x23\x1a\ +\x8c\x90\xcf\xef\x17\x54\x12\x15\xd4\xe2\x40\xf4\x64\x16\x86\x9b\ +\x84\x0d\x26\x42\xbf\x31\xe7\x77\x19\xd9\xcf\xef\x9b\x92\x8a\xe6\ +\x35\xf6\x1f\x9e\x53\x14\x3a\x41\x7b\x1f\xeb\x91\x92\x75\xfc\x20\ +\x55\x16\xa4\x78\x75\x27\x86\x31\x43\x44\x03\x04\x25\x81\x3e\x1b\ +\x38\xc5\xb6\xdf\x20\xe9\x1f\x41\x0f\x31\x80\x0c\x0b\x80\x9e\xb0\ +\x4c\x1e\x25\x8e\x27\x05\x88\x32\x20\x86\xee\x35\x72\xf7\x97\x14\ +\xa6\x40\x30\x48\x2c\x17\x71\x89\x94\x92\x20\x83\xb9\x0d\x0e\x05\ +\x5a\x8a\x0a\x18\x2e\x51\xb9\xe6\xf0\x16\x08\x91\x60\x49\x28\x57\ +\x72\x61\x83\x01\x40\x80\x38\x0d\x1f\xf9\x1b\x78\xf1\x86\x7d\x56\ +\x1c\x40\x49\xa4\xd2\x8c\x9e\x43\x1f\x10\x61\x09\x12\x88\x9f\x23\ +\x93\x67\x70\x77\x4f\x7c\x8b\x01\x21\xeb\x87\x35\x23\xe5\x0c\x9b\ +\xe0\xec\xf6\xe5\xa7\x76\x65\x1e\x51\x17\x1b\x8e\x8f\xc9\x94\x7c\ +\xa0\xfb\x63\xd3\x43\xba\xf3\xaf\xca\xbe\x19\x30\xdb\x82\xf9\xa3\ +\xc0\x07\x6f\x6e\x0c\x63\xb3\xd5\xf8\xe4\x12\x28\xc2\x24\x74\x89\ +\xa7\xc6\x3d\x19\x27\xb8\x2e\x39\xc9\x07\x23\x4c\x76\xcf\x6e\x00\ +\x4b\x00\x26\x39\x15\x61\xe2\x5f\x87\x70\xc0\x59\x01\x5c\x8d\x9e\ +\xdc\x06\x69\x5e\x5a\xcf\xeb\x38\xc1\x07\xc7\xf1\x71\x48\x4c\x83\ +\xb0\x2e\xe2\xc3\xb7\x8d\xc7\x17\x25\x94\xf7\xe5\x33\x77\x27\xb7\ +\x1c\xf2\x9e\x76\x98\x4a\x76\xc2\x1e\x6b\x11\x13\xa0\x3e\x88\xf4\ +\x8c\xf3\xe6\x71\xfd\x2a\x16\x44\x64\x8e\x6b\x3d\x8f\xb7\x61\xb3\ +\xab\x1f\x88\xff\x00\x9f\x0d\x8a\xd3\x04\xca\x5d\x66\xff\x00\x42\ +\x6f\xa2\xf7\x61\x78\xc4\x2a\xca\x48\x6e\x61\x48\x7e\x1b\xac\xae\ +\x71\xba\x75\x20\xda\x08\x49\xf6\xe2\x3a\x92\x75\x31\x7d\xc4\x7d\ +\x8b\x30\x4a\x69\xb3\xcd\xfa\xb2\xcc\xcc\x9e\x9f\x5d\x31\x0f\xc3\ +\x95\x26\x27\xee\xd2\x77\x87\xb7\x09\x43\x04\x98\x42\x02\xf4\x03\ +\x30\x1d\xa2\x50\x4e\x3f\x72\xca\x90\x73\xa2\x6b\xa8\x3d\x66\x66\ +\x3b\x04\xa4\x76\x2e\xae\x04\x8a\xcf\xd0\x79\x0e\x20\x78\x2f\x08\ +\x24\x25\x8a\xf4\x87\xdd\x9f\x09\xed\x9a\x18\xaa\x2a\x50\x9e\x36\ +\x38\x1c\x9d\x84\xd1\x80\x05\x0c\x02\xd8\x9c\x93\xf7\x87\x7e\x86\ +\x94\x34\x9f\x9d\x63\x1e\xbc\x44\x85\x46\x1d\xfd\x58\x64\xc6\x44\ +\x90\x40\xe0\x72\x6e\x5c\xa2\x87\xb7\xe3\x4e\xc4\xc4\x61\x23\xda\ +\xa1\xa0\x6c\x98\x86\x41\xc2\x83\x91\x14\x40\xc5\x3d\x04\xdd\xed\ +\x4c\x2d\x00\x20\x55\xcb\x65\x6f\xaa\x36\x07\xe1\x24\xc9\x9e\xa5\ +\xba\xb2\xa4\xe8\x12\xb0\x61\x7b\xbd\xdd\x9c\xf0\x89\x06\xed\x09\ +\xc2\xe6\x13\x44\x1f\xe3\x5f\xff\xc4\x00\x1f\x11\x00\x01\x04\x01\ +\x05\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x10\x11\ +\x31\x12\x21\x30\x32\x41\x60\x51\xff\xda\x00\x08\x01\x02\x01\x09\ +\x3f\x00\xf3\xe0\x90\x84\x3f\x6a\xe3\x26\xef\x4d\xaf\xa1\xaa\x0a\ +\xb0\x31\x61\x23\x80\x57\x47\xd5\xff\x00\xff\xc4\x00\x27\x11\x00\ +\x01\x02\x03\x06\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\ +\x00\x02\x10\x31\x32\x12\x30\x51\x60\x71\x81\x11\x21\x33\x41\x42\ +\x61\x91\xc1\xff\xda\x00\x08\x01\x03\x01\x09\x3f\x00\xcb\xee\x00\ +\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\ +\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\ +\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\ \x00\x00\x08\x77\ \x3c\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ @@ -173,6 +496,29 @@ qt_resource_data = b"\ \x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x3c\ \x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ \x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\x80\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\ +\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\ +\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\xa7\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ +\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ +\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ +\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ +\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ +\x68\x74\x6d\x6c\x3e\x0a\ \x00\x00\x00\xa7\ \x3c\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ @@ -191,6 +537,19 @@ qt_resource_data = b"\ \x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ \x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ \x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ +\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\ +\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ +\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ +\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\ +\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\ +\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ +\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ +\x68\x74\x6d\x6c\x3e\x0a\ +\x00\x00\x00\xa7\ +\x3c\ +\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ \x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\ \x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ \x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\ @@ -199,70 +558,67 @@ qt_resource_data = b"\ \x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\ \x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\ \x68\x74\x6d\x6c\x3e\x0a\ -\x00\x00\x00\x80\ -\x3c\ -\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\ -\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\ -\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\ -\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\ -\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\ -\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\ -\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\ -\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\ " qt_resource_name = b"\ -\x00\x0a\ -\x08\x6a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ -\x00\x0a\ -\x08\x4a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x08\ +\x00\x44\x5a\x07\ +\x00\x54\ +\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\ \x00\x0a\ \x0c\xba\xf2\x7c\ \x00\x69\ \x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ \x00\x0a\ +\x08\x8a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ +\x08\x4a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ \x08\x7a\x34\x9c\ \x00\x70\ \x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ \x00\x0a\ +\x08\x6a\x34\x9c\ +\x00\x70\ +\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +\x00\x0a\ \x08\x5a\x34\x9c\ \x00\x70\ \x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ -\x00\x0a\ -\x08\x8a\x34\x9c\ -\x00\x70\ -\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ " qt_resource_struct_v1 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ -\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\ -\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x7c\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x09\xd1\ -\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x27\ -\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\ +\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xb0\ +\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb1\ +\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x06\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x5b\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x2c\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\ " qt_resource_struct_v2 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\ -\x00\x00\x01\x90\x02\x81\x83\xdc\ -\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x7c\ -\x00\x00\x01\x90\x02\x81\x83\xe0\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x90\x02\x81\x83\xed\ -\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x09\xd1\ -\x00\x00\x01\x90\x02\x81\x83\xff\ -\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x27\ -\x00\x00\x01\x90\x02\x81\x84\x13\ -\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\ -\x00\x00\x01\x90\x07\x0e\x46\x39\ +\x00\x00\x01\x90\x07\xcd\xf3\x00\ +\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xb0\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb1\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x06\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x5b\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x2c\ +\x00\x00\x01\x90\x02\x81\x81\x00\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\xb1\ +\x00\x00\x01\x90\x07\x0e\x44\xb0\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/src/analysis.py b/src/analysis.py index b09d28f..d5b1d13 100644 --- a/src/analysis.py +++ b/src/analysis.py @@ -11,10 +11,12 @@ import matplotlib import matplotlib.pyplot as plt import numpy as np - +from scipy import signal +from scipy.signal import chirp, hilbert from qtpy.QtCore import QObject, Signal, Slot -from pyqtacc.bdbase.enumkind import MsgSeverity +from apps4ops.bdbase.utils import _line +from apps4ops.bdbase.enumkind import MsgSeverity matplotlib.use('Agg') @@ -27,18 +29,6 @@ PROGRESS_BAR_THREAD_ABORTED = 3 PROGRESS_BAR_THREAD_ERROR = 4 PROGRESS_BAR_THREAD_END = 100 -def _line(): - """Macro to return the current line number. - - The current line number within the file is used when - reporting messages to the message logging window. - - Returns: - int: Current line number. - """ - return inspect.currentframe().f_back.f_lineno - - class AnalysisProcedure(QObject): """ @@ -77,7 +67,6 @@ class AnalysisProcedure(QObject): """ Set abort variable to interrupt measurement """ - self.abort = True self.parent.trigger_progressbar.emit(PROGRESS_BAR_THREAD_ABORTING) @@ -101,42 +90,37 @@ class AnalysisProcedure(QObject): self.simulation = bool(self.input_data['simulation']) - print(self.input_data) + print("INPUT:", self.input_data) #self.facility = self.input_data['facility'] try: - self.maxmin = self.input_data['maxmin'] - self.N_events = int(self.input_data['N_events']) - self.N_points = int(self.input_data['N_points']) - self.checkbox = bool(self.input_data['checkbox']) - - self.tab_selected = self.input_data['qtabdata'] - self.npts = int(self.input_data['Vikings']['npts']) - self.nspins = int(self.input_data['Vikings']['nspins']) - self.nevents = int(self.input_data['Saxons']['nevents']) - self.niter = int(self.input_data['Saxons']['niter']) - - print("logging info level==>", self.logger.getEffectiveLevel(), flush=True) + + self.accelerator_selected = self.input_data['qtabdata'] + self.harmonic_no = float( + self.input_data[self.accelerator_selected]['harmonic']) + self.rf_fref = float( + self.input_data[self.accelerator_selected]['freqrf']) + self.dTcable = int( + self.input_data[self.accelerator_selected]['deltaTcable']) + self.dNpickup = int( + self.input_data[self.accelerator_selected]['deltaNpickup']) + + print("logging info level==>", self.logger.getEffectiveLevel(), + flush=True) self.loglevel = self.input_data['loggingLevel'] self.logger.setLevel(self.logging.getLevelName(self.loglevel)) - print("logging info level==>", self.logger.getEffectiveLevel(), flush=True) - #self.logger.setLevel(self.logging.WARNING) - #print("logging info level==>", self.logger.getEffectiveLevel(), flush=True) + print("logging info level==>", self.logger.getEffectiveLevel(), + flush=True) self.logger.debug("INPUT PARAMETERS") - self.logger.debug("Measurement: {0}".format(self.tab_selected)) - - + self.logger.debug("Accelerator: {0}".format( + self.accelerator_selected)) self.logger.debug("Simulation {0}".format(self.simulation)) - #self.logger.debug("Facility {0}".format(self.facility)) - self.logger.debug("No. Events {0}".format(self.N_events)) - self.logger.debug("No. Points {0}".format(self.N_points)) - self.logger.debug("Checkbox? {0}".format(self.checkbox)) - - self.logger.debug("No. Viking Pts {0}".format(self.npts)) - self.logger.debug("No. Viking Spins {0}".format(self.nspins)) - self.logger.warning("No. Saxon Evnts {0}".format(self.nevents)) - self.logger.critical("No. Saxon Iter {0}".format(self.niter)) + + self.logger.debug("Harmonic No. {0}".format(self.harmonic_no)) + self.logger.debug("RF Frequency (Hz) {0}".format(self.rf_freq)) + self.logger.debug("dT Cable {0}".format(self.dTcable)) + self.logger.debug("dN Pickup {0}".format(self.dNpickup)) except KeyError as ex: @@ -240,11 +224,10 @@ class AnalysisProcedure(QObject): def measure(self): - self.parent.trigger_progressbar.emit(PROGRESS_BAR_THREAD_START) for i in range (1, 100): if i%10 == 0: self.parent.trigger_progressbar.emit(i) - time.sleep(0.2) + time.sleep(0.1) if self.abort: self.aborting(_line()) return None @@ -255,11 +238,85 @@ class AnalysisProcedure(QObject): return raw_data def process(self, ambient_data, from_hdf5=False): - proc_data = {} + + self.parent.trigger_progressbar.emit(PROGRESS_BAR_THREAD_START) + + ####envelope + duration = 1.0 + fs = 400.0 #400.0 + samples = int(fs*duration) + t = np.arange(samples) / fs + #We create a chirp of which the frequency increases from + #20 Hz to 100 Hz and apply an amplitude modulation. + signal_chirp = chirp(t, 20.0, t[-1], 100.0) + signal_chirp *= (1.0 + 0.5 * np.sin(2.0*np.pi*3.0*t)) + ''' + The amplitude envelope is given by magnitude of the analytic signal. + The instantaneous frequency can be obtained by differentiating the + instantaneous phase in respect to time. The instantaneous phase + corresponds to the phase angle of the analytic signal. + ''' + analytic_signal = hilbert(signal_chirp) + self.amplitude_envelope = np.abs(analytic_signal) + instantaneous_phase = np.unwrap(np.angle(analytic_signal)) + self.instantaneous_frequency = ( + np.diff(instantaneous_phase) / (2.0*np.pi) * fs) + self.signal_chirp = signal_chirp + self.t = t + + ###cross-correlation + rng = np.random.default_rng() + self.sig = np.repeat([0., 1., 1., 0., 1., 0., 0., 1.], 128) + self.sig_noise = self.sig + rng.standard_normal(len(self.sig)) + analytic = hilbert(self.sig_noise) + self.correlation_envelope = np.abs(analytic) + ##self.sig = signal_chirp + #self.corr = signal.correlate(self.sig_noise, np.ones(128), mode='same') / 128 + self.corr = signal.correlate(self.correlation_envelope, np.ones(128), mode='same') / 128 + self.clock = np.arange(64, len(self.sig), 128) + + + nturns = 180 + proc_data = {"nturns": nturns} return proc_data def make_figs(self, ambient_data, proc_data): + fig, (ax_orig, ax_envelope, ax_noise, ax_corr) = plt.subplots(4, 1, sharex=True) #True + ax_orig.plot(self.sig) + ax_orig.plot(self.clock, self.sig[self.clock], 'ro') + ax_orig.set_title('Original signal') + ax_orig.plot(self.t, self.signal_chirp, label='signal') + #ax_orig.plot(self.t, self.amplitude_envelope, label='envelope') + #ax_orig.set_xlabel("t (s)") + #ax_orig.set_ylabel("Amplitude") + #ax_orig.legend() + ax_noise.plot(self.sig_noise) + ax_noise.set_title('Signal with noise') + ax_corr.plot(self.corr) + ax_corr.plot(self.clock, self.corr[self.clock], 'ro') + ax_corr.axhline(0.5, ls=':') + ax_corr.set_title('Cross-correlated with rectangular pulse') + ax_orig.margins(0, 0.1) + ax_envelope.plot(self.correlation_envelope) + ax_envelope.set_title('Envelope signal') + fig.tight_layout() + #fig_data = {'Canvas 1': [fig]} + + fig2, (ax0, ax1) = plt.subplots(nrows=2) + ax0.plot(self.t, self.signal_chirp, label='signal') + ax0.plot(self.t, self.amplitude_envelope, label='envelope') + ax0.set_xlabel("t (s)") + ax0.set_ylabel("Amplitude") + ax0.legend() + ax1.plot(self.t[1:], self.instantaneous_frequency) + ax1.set_xlabel("t (s)") + ax1.set_ylabel("f (Hz)") + ax1.set_ylim(0.0, 120.0) + #fig2.tight_layout() + fig_data = {'Canvas 1': [fig, fig2]} + + ''' # Data for plotting t = np.arange(0.0, 2.0, 0.01) s = 1 + np.sin(2 * np.pi * t) @@ -283,7 +340,8 @@ class AnalysisProcedure(QObject): ax.grid() fig_data = {'Canvas 1': [fig, fig2]} fig_data['Canvas 2'] = fig3 - + ''' + return fig_data def combine_data(self, ambient_data, proc_data, fig_data): diff --git a/test.json b/test.json deleted file mode 100755 index afbf82d..0000000 --- a/test.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "menuFlags":{ - "hasFile": 0, - "loadInitFile": 0, - "hasDaq": 0, - "hasH5": 1, - "hasEpics": 1 - }, - "hdf": { - "destination" : "./" - }, - "SLS" : ["Injector", "Booster", "Ring"], - "SLS2" : {"test": ["Injector", "Booster", "Ring"]}, - "QTabViking":{ - "Vikings": { - "radiobutton" : {"data":{ "widget": "QRadioButton", "text" : "Radio Gaga", "value": ["This", "That", "The Other"], "startIdx": 1}}, - "readonly" : {"data":{ "widget": "QLineRead", "text" :"ReadOnly:", "value" : "input"}}, - "npts" : {"data":{ "widget": "QLineEdit", "text" :"No Events:", "value" : 22, "min": 0.01, "max": 0.99}}, - "nspins" : {"data":{ "widget": "QSpinBox", "text" : "No. Points:", "min": 1, "max": 10, "step": 1,"value": 1 }}, - "ndspins" : {"data":{ "widget": "QDoubleSpinBox", "text" : "No. Points:", "min": 1, "max": 10.0, "step": 0.1,"value": 1.5 }}, - "facility": {"data" : {"widget": "QComboBox", "text" : "Facility:", "link": ["SLS2", "test"],"layout" : "Horizontal"}}, - "checkbox" : {"data":{ "widget": "QCheckBox", "orientation" : "Qt.LeftToRight", "text" : "Checkbox", "value" : 1}} - }, - "Saxons": { - "nevents" : {"data":{ "widget": "QLineEdit", "text" :"No. Iterations:", "value" : 33}}, - "niter" : {"data":{ "widget": "QSpinBox", "text" : "Step size:", "min": 1, "max": 10, "step": 1,"value": 1 }} - } - }, - - "Parameters":{ - "maxmin" : {"flag" : 1, "data":{ "widget": "QRadioButton", "text" : "", "value": ["Maximize", "Minimize" ]}}, - "facility": {"flag": 0, "data" : {"widget": "QComboBox", "text" : "Facility:", - "link": ["SLS"],"layout" : "Horizontal"}}, - "N_events" : {"flag" : 1, "data":{ "widget": "QLineEdit", "text" : "No. events: ", "value": 2 }}, - "N_points" : {"flag" : 1, "data":{ "widget": "QSpinBox", "text" : "No. points:", "min": 1, "max": 10, "step": 1,"value": 1 }}, - "drawLine" : {"flag" : 0, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}}, - "checkbox" : {"flag" : 1, "data":{ "widget": "QCheckBox", "orientation" : "Qt.LeftToRight", - "text" : " Checkbox", "value" : 1}}, - "drawLine2" : {"flag" : 0, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}}, - "qtabdata" : {"flag" : 1, "data":{ "widget": "QTabWidget", "text" : "Measurement: ", "value" : 0, "link" : "QTabViking", "color" : ["#0080aa", "#0000ff"]}} - - }, - "Expert":{ - "debug": {"flag" : 1, "data":{ "widget": "None", "text" : "Debug", "value" : 0}}, - "simulation": {"flag" : 1, "data":{ "widget": "None", "text" : "Simulation", "value" : 0}} - }, - "GUI": { - "resultsTabTitle" : "Results", - "subResultsTabTitle" : ["Plots", "Plot-2"], - "resultsSeq" : [10, 1] - } -} diff --git a/tina.json b/tina.json index 000afbe..14a33b9 100755 --- a/tina.json +++ b/tina.json @@ -7,22 +7,26 @@ "hasEpics": 1 }, "hdf": { - "destination" : "./" + "destination" : "/hipa/bd/data/measurements/", + "addDateToDir" : 1 }, + "Elog":{ + "addDateToDir" : 0 + }, "header" : ["SHIFT", "INJ2", "IP2", "IW2", "PK1", "PK2", "SINQ", "UCN"], - + "PVnturns" : {"Injector": "PV-INJ:NTURNS", "Cyclotron": "PV-CYC:NTURNS"}, "HIPA": ["Injector", "Ring"], "HIPA2": {"test": ["Injector", "Ring"]}, "QTabAccelerator":{ "Injector": { "harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No.:", "value": 10}}, - "freqrf" : {"data":{ "widget": "QLineEdit", "text" :"RF Freq. (Ms):", "value" : 50.6328 }}, + "freqrf" : {"data":{ "widget": "QLineEdit", "text" :"RF Freq (10^6/s):", "value" : 50.6328 }}, "deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 6.9 }}, "deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN pickup:", "value": 4 }} }, "Cyclotron": { - "harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No.:", "value" : 6}}, - "freqrf" : {"data":{ "widget": "QLineEdit", "text" :"RF Freq. (Ms):", "value" : 50.6328 }}, + "harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No:", "value" : 6}}, + "freqrf" : {"data":{ "widget": "QLineEdit", "text" :"RF Freq (10^6/s):", "value" : 50.6328 }}, "deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns)", "value": 44 }}, "deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": 1 }} } @@ -38,8 +42,8 @@ "simulation": {"flag" : 1, "data":{ "widget": "None", "text" : "Simulation", "value" : 0}} }, "GUI": { - "resultsTabTitle" : "Results", - "subResultsTabTitle" : ["Plots", "Plot-2"], + "resultsTabTitle" : "Plots", + "subResultsTabTitle" : ["Correlations"], "resultsSeq" : [10, 1] } } diff --git a/tina.py b/tina.py index c202f6f..10e7bd1 100644 --- a/tina.py +++ b/tina.py @@ -12,8 +12,9 @@ from qtpy.QtCore import PYQT_VERSION_STR, Signal, Slot from qtpy.QtWidgets import QApplication, QMessageBox from apps4ops.bdbase.base import BaseWindow +from apps4ops.bdbase import utils from apps4ops.bdbase.utils import _line -from apps4ops.bdbase.enumkind import UserMode, Facility +from apps4ops.bdbase.enumkind import Facility, MsgSeverity, UserMode from apps4ops.bdbase.helpbrowser import HelpBrowser from apps4ops.hipa.sendeloghipa import QSendToELOG from apps4ops.hipa.enumkind import ElogHIPA @@ -30,7 +31,6 @@ _title = "No of Turns Measurement" _appname = "Tina" - class StartMain(BaseWindow): trigger_log_message = Signal(str, str, int, str, dict) @@ -74,6 +74,12 @@ class StartMain(BaseWindow): self.no_turns = 180 self.message = "The number of turns measured in the ring = {0}".format( self.no_turns) + + + @Slot() + def analysis_thread_finished(self): + BaseWindow.analysis_thread_finished(self) + self.gui_frame.central_tab_widget.setCurrentIndex(1) @Slot() def send_to_elog(self): @@ -93,7 +99,7 @@ class StartMain(BaseWindow): eintragIdx=self.eintrag_idx, systemIdx=self.system_idx, statusIdx=self.status_idx, - ordIdx=self.ort_idx, + ortIdx=self.ort_idx, effektIdx=self.effekt_idx, title=self.title, message=self.message, @@ -126,12 +132,12 @@ class StartMain(BaseWindow): os.makedirs(folder_name) time_in_seconds = self.all_data["Ambient data"]["Time in seconds"] - if self.all_data["Processed data"]["Reanalysis time"]: + try: reanalysis_time = self.all_data["Processed data"][ "Reanalysis time in seconds"] - else: + except KeyError: reanalysis_time = None - + self.folder_name = folder_name save_fig_thread = self.SaveFigureThread( @@ -141,6 +147,28 @@ class StartMain(BaseWindow): save_fig_thread.start() time.sleep(0.05) + def save_to_epics(self): + print(self.all_data) + if not BaseWindow.verify_save_to_epics(self): + return False + dict_bunch = {} + nturns = 0 + debug = True + dry_run = False + pv = self.settings.data["PVnturns"]["Cyclotron"] + dict_bunch[pv] = nturns + if not dry_run: + status, status_list = self.send_to_epics(dict_bunch) + if status == self.cyca.ICAFE_NORMAL: + message = "Saved data to EPICS - No of turns = ".format(nturns) + sev = MsgSeverity.INFO + else: + message = "Value (nturns) not saved to epics" + sev = MsgSeverity.ERROR + + self.show_log_message(sev.name, _pymodule, utils.line_no(), message) + + return True @Slot() def closeEvent(self, event): diff --git a/tina.sh b/tina.sh index 4d95728..18b15d8 100755 --- a/tina.sh +++ b/tina.sh @@ -50,7 +50,7 @@ _EPICS_HOST_ARCH=${RHREL}-x86_64 #C_EXT version for Py 3.5, 3.7. 3.8, 3.10: -export PYTHONPATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.19.3/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.10.0 +export PYTHONPATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.19.3/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.11.0 echo $PYTHONPATH @@ -77,7 +77,7 @@ echo "nameLog: $nameLog" #Configuration files can be overwritten #python ${name}.py -s="/sf/bd/deps/pyqtacc/common/config/style.json" -f="/hipa/bd/applications/deps/apps4ops/v1.10.0/apps4ops/qrc_resources/facility/hipa/config/base.json" -q="/sf/bd/deps/pyqtacc/common/config/acc.qss" & -#python wakeup.py 00:00 & +python wakeup.py 00:00 & if [ "${STDOUT_FLAG}" -gt "0" ] ; then #if changing the std::out destination, remember to also change it in your json config file (for reading) diff --git a/wakeup.py b/wakeup.py index 69eb410..f931248 100644 --- a/wakeup.py +++ b/wakeup.py @@ -7,14 +7,14 @@ from qtpy.QtCore import Qt, QTime, QTimer from qtpy.QtGui import QColor, QImage, QPainter, QPixmap from qtpy.QtWidgets import QApplication, QLabel -from pyqtacc.qrc_resources.facility.proscan.pyrcc5 import qrc_resources +from pyrcc5 import tina_resources app = QApplication(sys.argv) try: due = QTime.currentTime() - message = "Tina will begin to load shortly" + message = "... will begin to rock shortly" if len(sys.argv) < 2: raise ValueError hours, mins = sys.argv[1].split(":") @@ -30,15 +30,15 @@ except ValueError: while QTime.currentTime() < due: time.sleep(1) -image = QImage(":/Hush.jpg") +image = QImage(":/Tina.jpg") p = QPainter(image) font = p.font() -font.setPixelSize(54) +font.setPixelSize(16) p.setFont(font) p.setPen(QColor(Qt.red)) #p.setStyleSheet("color:red;") #p.save() -p.drawText(40, 350, message) +p.drawText(10, 150, message) #p.restore() pixmap = QPixmap.fromImage(image)