From 713bb2b2468432dcd61728a3935c832afad78943 Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 14:47:16 +0800 Subject: [PATCH 01/10] Design the UI of Hosts Setup Utility for desktop Signed-off-by: huhamhire-hosts --- img/hosts_utl.icns | Bin 0 -> 156082 bytes img/hosts_utl.ico | Bin 0 -> 89894 bytes img/icon_apply.png | Bin 0 -> 2402 bytes img/icon_backup.png | Bin 0 -> 1964 bytes img/icon_exit.png | Bin 0 -> 2293 bytes img/icon_fetch.png | Bin 0 -> 1912 bytes img/icon_restore.png | Bin 0 -> 2521 bytes img/icon_update.png | Bin 0 -> 2694 bytes img/utl_icon.png | Bin 0 -> 4715 bytes img/utl_icon_256x256.png | Bin 0 -> 25889 bytes qthosts.qrc | 13 + qthostsui.ui | 712 +++++++++++++++++++++++++++++++++++++++ 12 files changed, 725 insertions(+) create mode 100644 img/hosts_utl.icns create mode 100644 img/hosts_utl.ico create mode 100644 img/icon_apply.png create mode 100644 img/icon_backup.png create mode 100644 img/icon_exit.png create mode 100644 img/icon_fetch.png create mode 100644 img/icon_restore.png create mode 100644 img/icon_update.png create mode 100644 img/utl_icon.png create mode 100644 img/utl_icon_256x256.png create mode 100644 qthosts.qrc create mode 100644 qthostsui.ui diff --git a/img/hosts_utl.icns b/img/hosts_utl.icns new file mode 100644 index 0000000000000000000000000000000000000000..72b8f81577029f8315039e7b70a8d57b431e9d18 GIT binary patch literal 156082 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 literal 0 HcmV?d00001 diff --git a/img/icon_backup.png b/img/icon_backup.png new file mode 100644 index 0000000000000000000000000000000000000000..8d659ed69d09405b3300cef93f35c554a9625349 GIT binary patch literal 1964 zcmbVNc~sMO9FM>#R#56SV2B~;o66cGJ!sRlB5eT~hgd6g9*iCV3bZM0w587>-U7p+ zP8nm0A}GiJMdm~&Ziq}KbIcPDHb&h;z+)3(GLJ1)aQnmOAInRA=jZdizb`qlG2wI{ zIsgD35%XnoY6cyjn=3V%ZMKKh3aWF!!O2*~5N}HL{ii-fi zIYXyVlFH~Pp@z`2R1OTwsy9+>01yRRjVetVPJ(JYS!WPK_fMRHK%G_$#q*+(XrmNQ z(apD+@I|&5g~pbq!L(5DTu@{cQUdfisRFI~bc0!F6+_SE3aPc@7>2;-5Hd{+y)a4{ z9Scec6AtoNJf;RgxgZ~7p*)l;K;Hq`2+DyG4vcb`C|ihNLX-!NJP@VLq)igaWnm+_ zsGS%}AxWbUhAkEg%few1reqk!Fbqc6Fq_S!5KMEXfmB(U26Mou1Q~ADm~=)`M;Jhd zM3tIYL5d;D(ibl1jnUCB1slvGfuceNTUACFWg)O$@9^t6+Dyvvf6aI$+N{Vl;;Q9ROvE8vqFy>$OxGjqHb7PomQw;<6ImQsF_>= zN5fQWxE!Wh&B2*!9*?a;sTbpNN9DYV&zDf4=Sz8^QXU&cL)n-hNFYOGVKROQhZ7=^ zj&dUmW>RI);G?>AlKFgDIn6N1gnqZbpx&VstEDb^*0{*+;m6Y915SB`e-&$)lR@LWC?tVZGiK9~m`i z;p7hqp>*jiuclM-ED7V1TWZJcrW8qO^TEU?Gd+1|%Z8jl%e|;&$3UNn`Qs+po4kT^ zW<2viS3!@)g7Ygo9?bsojmpVx`rapB*Y53@O6Qd4@{7K{T6F$IPp9QxgXPey+!SWM zBrTmxd~oYbf46_tUHa+vO4K6Z-20e$pXKpzFst0VWp!<1qu-7lJD!dK&esk-EFK?d z?^aJw%9SYObw6vp*-z?kd~|E~#a{P(;2M_U=MEGEM5*8??3i%|trX1l{f<>I_H-oI z{=t&dhkZpoTj!vazu&qxke~nOeQ#GospyyC}KZkQX6oVEUd2RwC~H z12)m}YT|>0Vlw6nukNTQSyY~W{ zpN22sCgJ@Ph=W6pII0fp~2Ww0LjyE!#H`ddP)INLV$S+(Z|0WGL%64#00u?3G`=5oHs>A}pl z#HujsgPtIxkhD~1ez@u}CoAhNlH{)lelwC=g zv$Kj%meJ;x)F%Gf=uCixt?D}_$qctr;QZ4W>lx+AHNPxbWZ5XMwDZf7Q>zN|)G~nH z?i99NnNY8b%&hMjNAIP{*7OZeSva|D3@EvEDF5h>nc|w?RD45-;B9Q_Zrx`T0!v>f7l} zkN@hm_uGf2+v_5Z6>Re@bobtRI+C#-0Sc!1fl$CwS`&9~{@@QD&Yr__XtoJ$mTG!7 ztF}v-^+$_+o?k;}pzC6Cb*dg)+y3dyR6tx3e6w!+`+gGd9ZP+YOIcap51u=E&@Fpn z!r8z%HS64r3uTEbo1b(dcR%BXdwkQ;nR#(;>W59+W1w8Os09sS@l)0?Zv>{Uan5s* z<%YP3;_}L;LdawuaN>vS?swkmS$904m9fWrs*j@e{cPz#$zZ|Z;mZR-Uf1K6yEm6V zcCuAst;6EQv;|U>9htMu#lFXD$|l{|@fqLO-LzvRL~@tKw4^08>P)Gpt4qE#q4sJp zE%@Z`jGyj@Gj7MFZ$Y{JLwB;1lmlNqo>y>t?yey7GLPw8YjyCCtH&Y0aOsh_>;0eJ QcKkpiLStk#lEk(D0A6bTF#rGn literal 0 HcmV?d00001 diff --git a/img/icon_exit.png b/img/icon_exit.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7ca8a181278ff75da0b9fb96bdef0d85ea8cd2 GIT binary patch literal 2293 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 Mm0W`!oSk0y52{$-V*mgE literal 0 HcmV?d00001 diff --git a/img/icon_restore.png b/img/icon_restore.png new file mode 100644 index 0000000000000000000000000000000000000000..dfaec8460b56c5e1fbb88f1693c602babebd9785 GIT binary patch literal 2521 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 literal 0 HcmV?d00001 diff --git a/img/utl_icon.png b/img/utl_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..007d61022d7f47880946526300b9dbe7555a82d7 GIT binary patch literal 4715 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 DW+;01 literal 0 HcmV?d00001 diff --git a/img/utl_icon_256x256.png b/img/utl_icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..9038ffadaa83df7c59851d068425fefd4f30f269 GIT binary patch literal 25889 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

~nZOC<7f6L8GE@_F7+ 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 + + img/icon_apply.png + img/icon_backup.png + img/icon_exit.png + img/icon_fetch.png + img/icon_restore.png + img/icon_update.png + + + img/utl_icon.png + + diff --git a/qthostsui.ui b/qthostsui.ui new file mode 100644 index 0000000..98924f3 --- /dev/null +++ b/qthostsui.ui @@ -0,0 +1,712 @@ + + + huhamhire + HostsUtlMain + + + true + + + + 0 + 0 + 640 + 360 + + + + + 0 + 0 + + + + + 640 + 360 + + + + + 640 + 360 + + + + Qt::DefaultContextMenu + + + Hosts Setup Utility + + + + :/icon/img/utl_icon.png:/icon/img/utl_icon.png + + + + + + false + + + false + + + + + 10 + 320 + 500 + 25 + + + + Qt::AlignCenter + + + true + + + false + + + + + + 10 + 20 + 240 + 90 + + + + + 0 + 0 + + + + Config + + + + + 10 + 30 + 221 + 50 + + + + + + + Server + + + SelectMirror + + + + + + + + + + IP Version + + + SelectIP + + + + + + + + IPv4 + + + + + IPv6 + + + + + + + + + + + 10 + 120 + 240 + 90 + + + + + 0 + 0 + + + + Status + + + + + 10 + 30 + 221 + 40 + + + + + + + Connection + + + + + + + + 75 + true + + + + N/A + + + + + + + OS + + + + + + + + 75 + true + + + + N/A + + + + + + + + + + 260 + 20 + 250 + 290 + + + + Functions + + + + + 10 + 20 + 230 + 260 + + + + + 0 + 0 + + + + + + + + 520 + 30 + 110 + 280 + + + + QFrame::NoFrame + + + QFrame::Raised + + + 0 + + + + + 0 + 10 + 48 + 48 + + + + Backup hosts + + + Backup the hosts file of current system. + + + + + + + :/buttons/img/icon_backup.png:/buttons/img/icon_backup.png + + + + 32 + 32 + + + + + + + 60 + 70 + 48 + 48 + + + + Download data file + + + Download the latest data file. + + + + + + + :/buttons/img/icon_fetch.png:/buttons/img/icon_fetch.png + + + + 32 + 32 + + + + + + + 60 + 10 + 48 + 48 + + + + Restore backup + + + Restore a previous backup of hosts file. + + + + + + + :/buttons/img/icon_restore.png:/buttons/img/icon_restore.png + + + + 32 + 32 + + + + + + + 0 + 220 + 48 + 48 + + + + Apply hosts + + + Apply changes to the hosts file. + + + + + + + :/buttons/img/icon_apply.png:/buttons/img/icon_apply.png + + + + 32 + 32 + + + + + + + 60 + 220 + 48 + 48 + + + + Exit + + + Close this tool. + + + + + + + :/buttons/img/icon_exit.png:/buttons/img/icon_exit.png + + + + 32 + 32 + + + + + + + 0 + 70 + 48 + 48 + + + + Check update / Refresh + + + Check the latest version of hosts data file. + + + + + + + :/buttons/img/icon_update.png:/buttons/img/icon_update.png + + + + 32 + 32 + + + + + + + + 10 + 220 + 240 + 90 + + + + + 0 + 0 + + + + Hosts Info + + + + + 10 + 20 + 221 + 59 + + + + + + + Version + + + + + + + N/A + + + + + + + Release + + + + + + + N/A + + + + + + + Latest + + + + + + + N/A + + + + + + + + + + 520 + 320 + 108 + 25 + + + + StatusBox + ConfigBox + FunctionsBox + InfoBox + frame + Prog + SelectLang + + + SelectMirror + SelectIP + Functionlist + ButtonApply + ButtonExit + ButtonCheck + ButtonUpdate + ButtonBackup + ButtonRestore + + + + + + + ButtonExit + clicked() + HostsUtlMain + close() + + + 590 + 281 + + + 627 + 317 + + + + + SelectIP + currentIndexChanged(int) + HostsUtlMain + on_IPVersion_changed(int) + + + 231 + 89 + + + 253 + 95 + + + + + SelectMirror + currentIndexChanged(int) + HostsUtlMain + on_Mirror_changed(int) + + + 203 + 59 + + + 255 + 12 + + + + + Functionlist + itemChanged(QListWidgetItem*) + HostsUtlMain + on_Selection_changed(QListWidgetItem*) + + + 300 + 250 + + + 252 + 260 + + + + + ButtonApply + clicked() + HostsUtlMain + on_MakeHosts_clicked() + + + 551 + 276 + + + 516 + 281 + + + + + ButtonBackup + clicked() + HostsUtlMain + on_Backup_clicked() + + + 547 + 53 + + + 519 + 57 + + + + + ButtonRestore + clicked() + HostsUtlMain + on_Restore_clicked() + + + 603 + 43 + + + 629 + 56 + + + + + ButtonCheck + clicked() + HostsUtlMain + on_CheckUpdate_clicked() + + + 547 + 119 + + + 519 + 103 + + + + + ButtonUpdate + clicked() + HostsUtlMain + on_FetchUpdate_clicked() + + + 606 + 115 + + + 631 + 109 + + + + + SelectLang + currentIndexChanged(QString) + HostsUtlMain + on_Lang_changed(QString) + + + 572 + 333 + + + 541 + 314 + + + + + + on_Mirror_changed(int) + on_IPVersion_changed(int) + on_Selection_changed(QListWidgetItem*) + on_MakeHosts_clicked() + on_Backup_clicked() + on_Restore_clicked() + on_CheckUpdate_clicked() + on_FetchUpdate_clicked() + on_Lang_changed(QString) + + From 55e4833c5794c7c5517521f4aa0bdad5616db39b Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 14:48:58 +0800 Subject: [PATCH 02/10] Make UI module for Hosts Setup Utility Signed-off-by: huhamhire-hosts --- _pyuic4.py | 25 + qthosts_rc.py | 1253 +++++++++++++++++++++++++++++++++++++++++++++++++ qthostsui.py | 280 +++++++++++ 3 files changed, 1558 insertions(+) create mode 100644 _pyuic4.py create mode 100644 qthosts_rc.py create mode 100644 qthostsui.py diff --git a/_pyuic4.py b/_pyuic4.py new file mode 100644 index 0000000..97d6cbf --- /dev/null +++ b/_pyuic4.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# _pyuic4.py : Tools update the UI code from UI design +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +import os +for root, dirs, files in os.walk('.'): + for file in files: + if file.endswith('.ui'): + os.system('pyuic4 -o %s.py -x %s' \ + % (file.rsplit('.', 1)[0], file)) + elif file.endswith('.qrc'): + os.system('pyrcc4 -o %s_rc.py %s' \ + % (file.rsplit('.', 1)[0], file)) diff --git a/qthosts_rc.py b/qthosts_rc.py new file mode 100644 index 0000000..8a2efa3 --- /dev/null +++ b/qthosts_rc.py @@ -0,0 +1,1253 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created: 周一 7月 22 15:51:01 2013 +# by: The Resource Compiler for PyQt (Qt v4.8.4) +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore + +qt_resource_data = "\ +\x00\x00\x07\x79\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x38\x33\x30\ +\x42\x33\x45\x43\x38\x45\x43\x35\x32\x31\x31\x45\x32\x39\x43\x36\ +\x44\x39\x36\x44\x34\x44\x36\x35\x32\x35\x46\x41\x37\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x33\x30\x42\x33\x45\x43\ +\x37\x45\x43\x35\x32\x31\x31\x45\x32\x39\x43\x36\x44\x39\x36\x44\ +\x34\x44\x36\x35\x32\x35\x46\x41\x37\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ +\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ +\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xfc\x4d\ +\xc5\xa6\x00\x00\x03\x9e\x49\x44\x41\x54\x78\xda\xd4\x56\x6b\x48\ +\x93\x61\x14\x7e\xbf\xcb\x6e\x6a\xa2\x89\x3a\x2f\x5b\x04\x91\x81\ +\x49\xb3\xf2\x47\x65\x85\x1a\x59\x99\x41\x90\x51\x84\x51\xff\x0a\ +\xea\x87\xe1\x8f\x20\x23\x2a\xfb\x53\x84\x90\x85\xfa\xa3\xa0\x9c\ +\x95\x21\x24\x25\x48\x46\x62\x85\x37\x48\x34\xaa\xe1\xa6\x35\x1b\ +\x4e\xb7\x74\x66\xe1\x6d\xb7\xef\xed\xbc\xb2\x39\x27\xbb\x7c\xdf\ +\x98\x59\x07\x5e\x78\xbf\xed\xbc\xdf\x79\xce\xf3\x3e\xe7\x9c\x8f\ +\xc2\x18\xa3\x95\x34\x1a\xad\xb0\xb1\xee\x4d\x49\x49\x09\xea\xeb\ +\xeb\xf3\xe9\x14\x9f\x98\x44\xe7\x14\x1c\xaa\x71\x38\xec\xeb\x78\ +\xbd\x94\x15\x21\xd3\xb0\xe1\xfa\xbb\x96\xe6\x56\x7f\x3e\x15\x15\ +\x15\x48\xa5\x52\x79\x00\x74\x76\x76\xa2\xee\xee\x6e\x9f\xce\x71\ +\x09\x72\xa4\xd8\x98\xb9\xd7\x66\xb3\x2a\xf9\x00\x10\x8b\x25\xe8\ +\x6b\xbf\xe6\x61\x5b\x5b\x9b\x5f\x1f\x8b\xc5\xe2\xcd\x80\x4c\x26\ +\xf3\xeb\x4c\x21\x8c\xf5\x5a\x4d\x99\xc3\xe1\x48\x82\x47\x2e\x38\ +\x03\x2c\x33\x36\x3a\xd2\x15\xc8\x87\x61\x18\x6f\x00\x3c\x6c\x14\ +\xd6\x1c\x2c\x3e\xaa\xa5\x60\x4d\x0b\xd2\x40\x20\x93\x45\x44\x51\ +\x69\x19\x9b\xee\xda\x6d\xb6\x34\x3e\xfe\x22\xb1\x98\x5c\x43\x31\ +\x6c\xd5\xff\x4f\x15\x04\xb2\xd9\x99\x29\xac\xfd\xf4\xf1\x22\x68\ +\x20\x81\xa7\x06\x68\xf3\x88\xb1\x23\x6c\x00\x5c\xb6\x0a\x56\x0c\ +\x1f\x00\x44\x63\xa4\x18\xc2\xad\x81\x4b\x02\x35\x60\x84\x6d\x7f\ +\x58\x00\x60\xcc\x21\x08\x3e\x03\x8b\x37\x5d\xd0\xb4\x1c\x82\x5a\ +\x31\x1c\x08\xf4\x32\x8e\x67\xf9\x2d\x06\xed\x0c\x96\x94\x17\x03\ +\x29\xca\xb5\x71\xc9\xca\x61\x96\xa6\xe8\xa5\x69\xe2\x78\x79\x12\ +\x0d\x43\x8b\xe5\x1f\x1c\x23\xa9\x2c\x22\x3a\x75\xcd\xda\x68\x97\ +\x1e\x3c\xff\x21\x0c\x3d\x82\x92\x46\x44\x46\x8d\xc3\xa3\x8d\x72\ +\x4f\xc3\x9b\xf7\x6a\xb2\x4c\x13\xbf\x2a\x19\x9a\x4e\x05\x74\x73\ +\xde\x60\x31\x05\x2c\xa4\xc2\x5e\xc2\x17\x04\x45\xd1\x66\x56\xc4\ +\xfe\x5e\x52\xea\x8c\x48\x2c\x61\x7f\x4e\x58\x1e\x9c\x3f\x75\xe2\ +\x46\xfa\x86\x34\x0f\x80\xbc\xbc\x3c\x34\x64\x34\xa9\x0e\x1e\x3d\ +\x76\x9f\x61\xd8\xcd\x4e\xa7\x33\xec\x35\x2f\x85\x76\x0f\xe5\x7c\ +\xf9\x6d\x4b\xf3\xad\x86\xfa\xa7\x56\x12\x73\x01\x9d\xd3\xe9\x40\ +\xdf\xb4\x9a\xbe\x97\xf5\x75\xbb\x39\x8e\xab\x21\x4a\x0e\x97\x01\ +\x1b\x48\x16\x19\x69\x80\xe0\xfb\x9a\x9e\x3d\x2e\x9f\xb4\x8c\x5b\ +\xdd\xb3\x80\x5e\xec\x44\x4c\xaf\xd3\x4e\xa9\xab\x2b\xcf\x0c\x6a\ +\x3e\x9f\x85\x43\xd3\xee\xdf\x43\x35\x92\x08\xc6\xce\xd7\x4d\xf5\ +\x75\xbb\x20\xf8\xab\xa5\xcc\xfa\x7c\xbb\xe5\x87\x19\x81\x73\x75\ +\x6f\x57\x47\x3e\x1c\xd6\xba\xd1\x86\x12\x7c\xdc\x6c\xba\x0d\xac\ +\x16\x7e\xe9\xed\xf9\xee\xeb\x5a\xfd\xa6\x47\x9c\x5b\x1a\x1b\xda\ +\x5d\x57\xf2\x5c\xc8\x95\xb8\x28\x9f\x04\x16\x8b\xd5\x55\x77\x4a\ +\x81\x55\x6b\xc8\xc3\x08\x0e\x9b\x5f\x3c\xa9\x2d\x82\x4c\xae\x00\ +\x88\xa0\xca\x24\x6c\x01\x6b\xbd\xc0\x5e\x2e\xb0\xa8\x0e\x26\x66\ +\x5e\x17\xac\x1f\xd0\x3a\x21\x93\x6b\x90\xd1\x11\xc8\xcc\xec\x4f\ +\x17\x84\x25\x60\xab\x16\x58\xcb\x05\xf6\x7a\xf9\x54\x12\x6f\x85\ +\x91\x97\x41\x46\x8d\x44\x4c\x90\xe1\xfb\xa5\xba\x80\x12\x9b\x03\ +\x80\x17\x40\xc0\x27\x81\xb5\xc9\x65\xf9\x2a\x26\x20\x40\x4c\x3a\ +\xc8\x70\x3f\x64\x5a\x45\x32\xa6\x28\x8a\xdc\xf7\x10\x94\x58\x21\ +\x00\xac\x20\x02\x46\xc2\x7a\x36\x9e\x5f\xd9\xd9\x3b\x04\x9d\x8b\ +\x8e\x89\x45\x05\x45\xc7\x4f\x9f\x2b\xbb\xfa\x68\x7d\x7a\x46\xac\ +\xd0\x0a\x69\x6d\x7d\x33\x1f\x77\xa1\xbf\x27\x24\xa5\x48\x76\xe6\ +\x1f\xd8\x2e\x4f\x4e\x91\x70\x3c\xee\x0e\x86\x1d\x96\x46\xc8\xf4\ +\x30\x21\x0d\x30\xaa\x33\xd3\x33\xb7\x8a\x69\x9a\x0a\x4e\x39\xc3\ +\xe0\x9e\x8e\x76\x3d\x8c\x6b\x9d\xd7\x30\xda\x53\x78\xb8\x5c\x33\ +\x30\x58\x2a\x11\x50\x6e\x98\xe3\xe6\xaf\x05\x18\x10\x94\x7d\x62\ +\xaa\x72\x42\xae\x50\x6e\x83\xad\x8e\x5d\x34\x72\xb7\x90\x79\x1f\ +\x4a\xdf\x13\xf2\x9d\xe0\xf2\x5f\x0d\xe0\x15\x04\xc0\xbf\xf3\x51\ +\x6a\xb7\x3b\x3e\x58\x6d\xb6\x9c\xbf\x11\x14\xe2\x8c\x71\x18\x1b\ +\xe6\xbb\xa6\x7b\x1c\x1b\x4d\x66\xc9\xf4\xcc\x6c\x16\x08\x89\x5d\ +\x6e\x00\x1c\x87\x87\x15\xc9\xf2\x41\x99\x54\xea\x01\xb0\x52\xf6\ +\x47\x80\x01\x00\x19\x06\xbd\xc1\x2e\x19\xb4\x08\x00\x00\x00\x00\ +\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x08\xf6\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x35\x39\x39\ +\x42\x34\x36\x41\x36\x45\x43\x35\x31\x31\x31\x45\x32\x42\x33\x41\ +\x33\x41\x44\x43\x39\x30\x42\x32\x33\x41\x36\x41\x43\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x35\x39\x39\x42\x34\x36\x41\ +\x35\x45\x43\x35\x31\x31\x31\x45\x32\x42\x33\x41\x33\x41\x44\x43\ +\x39\x30\x42\x32\x33\x41\x36\x41\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x39\x31\x35\x39\x37\x32\x39\x38\ +\x2d\x65\x37\x66\x37\x2d\x32\x38\x34\x63\x2d\x61\x65\x37\x35\x2d\ +\x66\x32\x63\x33\x34\x61\x66\x38\x63\x39\x36\x38\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\xa4\x11\ +\xf0\xda\x00\x00\x05\x1b\x49\x44\x41\x54\x78\xda\xec\xd7\x7d\x6c\ +\x13\x65\x1c\x07\xf0\xe7\xae\x77\x7d\xdf\x2c\xa3\xdd\x4a\xd7\xbd\ +\x94\x6d\x30\x21\x83\x89\x92\x18\x34\x43\x9c\xb2\xc5\xbf\x20\x1b\ +\x10\xa3\x91\x88\x80\x24\xc6\x85\x4c\xc2\x7f\xc6\x18\x13\x88\x4a\ +\x36\xc3\x8c\x7f\x98\x18\x25\xc3\x00\x0a\x73\x31\xd1\xc9\xa2\x33\ +\x48\x4c\x88\x23\x93\xe0\x70\xc3\xb9\xb5\x63\x5d\x5f\xd6\x8e\x45\ +\xb3\xbe\xde\xf5\xce\xef\x33\x9e\xb2\x6e\xa5\xfe\x37\x66\x22\x5d\ +\xb6\xfb\x3d\x9f\x6b\x7b\xbf\xfb\x3d\x6f\x37\x4e\x55\x55\xb2\x9c\ +\x2f\x9e\x2c\xf3\x4b\x48\x07\x5d\x3d\xbd\xbb\xbd\x81\xe0\x81\xb0\ +\xdf\x77\xbc\xef\x9b\xaf\xfb\x96\xea\x82\x2a\x7e\x78\x5e\x43\x3a\ +\x3a\x3a\x48\x6d\x6d\xed\x7c\x02\x9e\x89\xc9\x96\xc1\x9b\x23\x4f\ +\x28\x72\x32\x64\xb6\x3b\x1f\x07\x6d\x42\xe7\xc8\x82\x20\x1a\x78\ +\x9e\xd3\x28\x8a\x4a\x64\x59\x8a\x72\x84\x28\xb4\xd3\x32\x5c\x85\ +\xc7\x32\xdc\x08\xe7\x17\xbb\x28\x8a\x66\x1c\x22\x33\xd3\xe1\xef\ +\xae\x5c\xbe\x74\x7a\x6a\x6a\x4a\x5a\x50\x01\x51\x14\x64\xad\x28\ +\x10\xbd\xd9\x2c\x5b\x6d\x85\x0d\xa0\x3a\x8e\xe3\x49\xc8\xef\xfb\ +\x22\x91\x88\xb9\x75\x3a\x83\x68\x5b\xe5\x38\xa0\xaa\x4a\x1e\xf3\ +\xb3\xf0\x71\xb8\x0e\x7e\x10\x6e\x64\xde\x09\xf7\xc3\x0d\xec\xfd\ +\x7a\xea\x41\x9f\xb7\xab\xc0\x6a\xdb\xa4\x37\x1a\x77\x57\xd7\xd4\ +\x3e\xe9\x70\x96\xbc\x4a\xe8\x0d\x2e\xa8\x0e\xfd\xa3\x2a\xaa\x94\ +\x4c\xc6\xe6\x92\xd2\x6a\xc9\xc5\xee\x2f\xdf\x0d\x4c\x7a\x07\xec\ +\xc5\x4e\xf2\xc2\xa1\xd7\xb7\xe2\xdc\xa3\xcc\x8f\xc3\xaf\x33\xdf\ +\x06\xdf\x08\x4f\xc0\xdf\x86\x8f\xc2\x39\x78\x3d\x7c\x1d\x3c\xf2\ +\xed\xf9\x73\x2d\x46\x93\x69\x66\xe7\x8b\x7b\x4f\xeb\x0d\x86\x7d\ +\x46\xb3\xf9\x43\x5c\xe2\xd7\xac\x41\x48\xb3\xc5\x07\x0c\xf4\x22\ +\x82\x28\xd2\xb4\xf8\x74\x7a\x68\xe7\x72\x23\x73\x5d\x0e\x37\xa1\ +\xc2\xe2\x84\x7b\x34\x4a\x13\xe1\x05\x41\x56\x14\xc5\x3a\x77\xbd\ +\xf4\x34\xec\xf8\xb4\xf3\xc7\xdf\x47\x46\x9f\x42\xc7\x9d\x09\x07\ +\xfd\xed\xa0\x62\xbd\xc1\x48\x4f\x36\xc7\x63\x51\x07\x62\x19\xf1\ +\x57\x88\x27\x10\x6b\x99\xdb\x11\xd3\xbe\xec\x42\xec\x45\x4c\xfb\ +\xb9\x09\xf1\x4a\xe6\x17\x10\xfb\x10\xe7\x33\xb7\x20\x19\x6e\x45\ +\xa1\xbd\xee\x8d\x83\x2f\x37\x56\x96\x97\xf5\x09\x0b\xa6\x04\xee\ +\xcc\x7b\xcb\xc3\x77\x7f\x7e\xaa\x1f\xcd\x7e\x6b\xa1\x9d\xbc\xd2\ +\x7a\xf4\x1d\x59\x92\x6a\xe8\xb9\x4f\xda\xde\x3b\x12\x9e\x0a\xfc\ +\xc6\xfc\x18\xbc\x9a\xf9\x61\xf8\x30\xf3\xf7\xe1\xa5\xcc\x5f\x83\ +\x8f\xc1\x79\x78\x3b\xdc\x8e\x1e\x26\x91\x68\x84\x5e\x4e\x59\x30\ +\x08\xe7\xaa\xa6\x28\x04\xfd\xa4\x3a\xcb\x5c\x46\x34\xf5\xd6\x22\ +\x3b\x86\x84\xf2\x37\x1d\xbd\xf4\x9c\xb3\xdc\x65\x43\xff\x3d\x04\ +\x17\xd0\xfe\x8b\xb9\xc2\xdc\x0f\x37\xa3\x3d\x03\x5f\x89\x63\x02\ +\x5e\x04\x9f\x86\xaf\x40\x7b\x1a\x9e\x47\xab\x8e\x5f\x63\xd6\x3a\ +\x40\x5f\xc8\x90\xd8\xec\xc5\xd2\x9e\xfd\x87\x4e\xa2\xb9\x4d\xa3\ +\xd1\xa8\xbd\xdd\x17\x8e\x86\x83\x81\x21\x7c\x09\xb7\x7d\x47\xd3\ +\x07\xa9\x54\xca\x05\xe7\xe0\x47\xe0\x37\xe1\x22\xbc\x1d\x5e\x02\ +\x4f\xc1\x5b\xe1\x1e\xb8\x9e\xb9\x03\x2e\xc1\x0f\xc3\x27\x6c\xf6\ +\x55\x05\x5b\x9e\x6d\xec\xa1\x63\x3c\x2b\x81\x8c\x59\x50\x8d\x70\ +\x35\xd1\xe9\x88\xd7\xe3\x76\xa3\x8c\x43\xf1\x58\x8c\xa4\x14\xa5\ +\x04\xe7\x2a\x99\x8f\x66\x78\x19\xbc\x82\xf9\x30\xdc\xcd\xdc\x05\ +\x2f\x65\x3e\x04\xf7\xc2\x45\x8e\xe7\x13\xac\x12\xd9\x09\x60\x16\ +\x70\x82\x28\xdc\x40\x68\xd5\xf0\xbc\x8a\x32\x56\xa2\x8c\x0a\xee\ +\x88\xa0\xed\x21\x5a\xad\x82\xa3\x06\x5e\x05\xe7\xe1\x1a\xb4\xc7\ +\xe0\x09\x1c\x69\x77\xac\x87\xe7\xc3\x75\x68\xff\x09\x9f\xc5\x51\ +\x82\xd7\xc0\x0b\x50\x01\x0b\xba\x43\x97\x9e\xf6\x59\x83\x30\x14\ +\x98\xd4\xfe\x74\xb1\x67\x3f\x9a\x3a\x3a\x06\x50\xc6\x5e\x94\xf1\ +\x31\xd6\x1d\xdb\x51\xc6\x7e\x3a\x06\xe0\x3f\xc0\x37\xc2\x65\xf8\ +\x33\xf0\x6b\xf0\x3c\xf8\xf7\xf0\xb5\xf0\x38\xf3\x41\x3a\x06\xd8\ +\xfb\x5d\x6c\x10\xd2\x59\x24\x65\x25\x80\xd2\x90\x68\x24\x42\xbc\ +\xe3\xee\x24\x9a\x49\x5a\x46\x98\x89\xa4\x52\xb4\x6c\xb4\x8c\x33\ +\x28\x63\x94\xb9\x99\xb9\x08\xbf\xcd\x3c\x8a\x76\x7e\x86\x87\x99\ +\x27\x98\x6b\x73\x6e\x46\xe9\x41\x58\xe4\x70\x2a\x4d\x2f\xed\xdb\ +\x9c\x5e\x07\xbc\xee\xb1\xeb\x98\xbf\x61\xba\x0e\x34\xec\x6c\xde\ +\x82\xb8\x84\xae\x03\xf0\x01\x36\xc7\x25\x78\x1d\xe2\xd5\x74\x1d\ +\x80\x5f\x41\x3c\xc2\xfc\x69\xc4\xd5\x74\x1d\x80\xff\x9c\xb1\x0e\ +\x6c\x4d\xef\xc4\x59\xd3\x90\x7e\xb0\xbc\x6a\xed\x09\xba\x17\xd0\ +\x2e\x39\x75\xb2\x6d\x73\xc0\xe7\xbd\x6a\x77\x38\xc9\xde\x96\xd6\ +\x1b\x48\x72\x1d\xf3\x47\xe0\xd7\x98\xff\x01\xaf\x62\xbe\x06\x3e\ +\x02\xe7\xe0\x63\xf0\xf2\x39\xef\x68\x73\x61\x89\xf6\x54\x3e\xbc\ +\xbe\xb4\x71\xd7\xf3\x63\xf8\x7e\x4d\xae\x59\x40\xd2\x7b\xc1\x9d\ +\x7e\xb9\xb3\x60\xd0\x31\x8b\x2f\x8b\xe1\xdc\xbd\x3c\xca\x3c\x91\ +\xc3\x23\x92\x24\x4b\x25\xae\x0a\xf3\x73\xcd\x7b\x3a\x64\x59\xc6\ +\xb8\xe4\x43\xb9\x66\x01\x06\xa3\x60\x48\xc7\x0d\x3b\x76\xbd\x89\ +\xdd\xed\x16\x76\x37\x01\xed\x6a\xba\xb6\x33\x7f\x0b\xee\x85\x6b\ +\xd1\x5e\xc3\x5c\x07\x3f\x06\x0f\xc0\xe9\x2e\x58\xc1\xdc\x84\x0b\ +\x7f\x84\xdd\x70\x03\x76\xc3\xf2\x50\x30\xf8\x71\x74\x76\x76\xf0\ +\xdf\xf6\x82\x01\x50\x2d\x4e\xc9\x74\x03\xba\xfb\x3c\x80\x3b\xe2\ +\x70\x87\x2a\xdb\x98\xee\x3e\x0f\xa0\x32\x19\x3e\xff\x3c\x90\xe1\ +\x78\x1e\x30\xe1\x3b\xe3\x33\xb7\xc3\xbd\xbf\x5c\xbe\x74\xe6\xfc\ +\xb9\xb3\x72\x7d\x7d\xfd\xa2\x69\x28\x08\xc4\xe7\x1d\xe7\xbb\x3a\ +\x3f\x3b\xb1\xd4\x8f\x62\x98\xa6\xf7\x7e\x26\xa4\xe5\xfd\x5f\x3d\ +\x94\x3e\x48\xe0\x41\x02\xff\xa9\x04\xc4\x45\xc7\xfb\x9b\x00\xd6\ +\xea\xd1\x04\xd6\xed\x78\x3c\x31\x7c\x3f\x2e\x8c\x67\x03\xb2\x60\ +\x29\x9e\x0c\x04\x2d\xd1\x78\x7c\x43\x32\x1e\xbf\x1a\x0a\xf8\xa3\ +\x4b\x9d\x00\xfd\xbf\xd0\x62\xb1\xcc\x27\xb0\x5c\xaf\x7f\x04\x18\ +\x00\x56\x05\x3f\x36\x5e\x70\xba\x49\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +\x00\x00\x09\x63\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x33\x46\x32\ +\x30\x46\x32\x41\x42\x45\x43\x35\x32\x31\x31\x45\x32\x42\x41\x42\ +\x37\x45\x31\x37\x42\x37\x44\x34\x45\x35\x43\x31\x31\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x33\x46\x32\x30\x46\x32\x41\ +\x41\x45\x43\x35\x32\x31\x31\x45\x32\x42\x41\x42\x37\x45\x31\x37\ +\x42\x37\x44\x34\x45\x35\x43\x31\x31\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ +\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ +\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x44\x49\ +\x00\x91\x00\x00\x05\x88\x49\x44\x41\x54\x78\xda\xc4\x57\x6b\x4c\ +\x53\x57\x1c\x3f\xed\xed\x6d\x0b\xad\xa5\x45\x54\x4a\xc1\xe2\x32\ +\x5a\xcb\xa3\xb6\x0a\x6a\x23\x30\xea\x24\x3a\x30\xba\x38\xdd\x18\ +\x8b\x9b\x71\xfa\x41\x13\x49\xdc\x5c\xb6\x6c\xcb\xb6\x6f\xee\xc3\ +\x36\xb3\xe9\x36\xb7\x30\x1f\x33\x3e\x58\xc8\x36\x71\xd3\x29\x0c\ +\x70\x28\x32\x98\x52\x01\x59\x11\x1f\x30\x84\x0a\xca\xd3\x62\x9f\ +\xb7\x77\xbf\x5b\xe8\x28\xfb\xe2\xa3\x25\x9e\xe4\xe4\xdc\xfb\xef\ +\xb9\xe7\xf7\x3b\xff\x77\x79\x2c\xcb\x92\x27\x39\xf8\xe4\x09\x0f\ +\x41\xe0\xa1\xa8\x68\x1b\x69\x6e\x6e\x21\x29\x86\x05\x9a\x64\xe3\ +\xfc\x8d\x0c\xc3\x2c\x82\xd8\x29\x10\xd0\xe5\x0d\x35\xd5\x07\xda\ +\x5b\x5b\x06\x04\x34\x1d\x36\xe0\x5d\xbb\x76\x11\x83\xc1\x30\x41\ +\xa0\xbe\xbe\x81\xb0\x11\xb2\x35\x44\x1a\x55\xdc\xd4\x6a\x55\x04\ +\xc0\x18\x2f\xb3\x82\x2f\x53\xbc\xd6\x76\xa3\x63\xdd\x1d\x5b\xf7\ +\xd5\x70\x11\xe8\xef\xef\x9f\x6c\x82\x05\xa6\x4c\x6d\x46\x66\xd6\ +\x7e\x8a\x10\x85\x54\x2a\x1d\x1e\xe8\xbd\xfd\x03\xe6\x71\x89\x24\ +\xd2\x2d\x9b\x26\xd3\x17\x6e\xde\x72\x40\x31\x3d\x86\x0a\x17\x01\ +\x8a\xa2\x26\x9b\x20\xc5\x38\x7f\x13\x6e\x2e\x13\x4b\xa5\x83\xd7\ +\x5a\x5b\x56\x96\x95\x1c\xae\xe5\xe4\x2b\x5f\x2c\x2c\x4c\xd2\xa5\ +\xec\x87\x46\x4c\x99\xcb\x56\x6c\x6e\xac\x3b\x7f\x0e\x62\x5e\xe0\ +\x3b\x1e\x9f\x47\x39\x1d\x8e\xde\x3b\xb7\x6d\xb6\x90\x7c\x00\x36\ +\x4f\xe7\xd4\x6e\xeb\xea\x3c\x73\x02\xe0\xac\xcf\xe7\x97\x37\xfc\ +\x51\x7d\x44\x93\x92\xb6\xdd\xe3\x76\xa7\x27\x25\xa7\x7e\xa5\x49\ +\x4d\x73\x05\x13\xa0\x85\x42\xea\x66\x9b\xf5\xf3\x92\x7d\xdf\xec\ +\x08\x89\x00\x86\x77\x7c\x15\x4f\xda\x31\x06\x25\x0a\x7a\xf3\xff\ +\xce\xfa\x58\xe2\xf5\x7a\xc6\x3e\xf4\x7a\x84\x21\x47\x01\x6c\x72\ +\xd6\xeb\xf1\x2c\x53\x26\xa8\x97\xe7\xaf\x2b\x2c\x84\xaa\x8f\x40\ +\x2c\x34\x2c\x32\xed\x80\x36\x92\x71\x53\x72\xb5\xa5\xf9\x3d\xc8\ +\xfd\xa6\x99\x11\xab\x24\xe6\xfc\x55\xbb\xf1\x98\x8a\xe9\x0b\x99\ +\xc0\x95\xc6\x4b\xfb\xe8\x69\xf2\xd7\x41\x22\x31\x29\x39\xe5\x30\ +\x54\xbd\x9d\x23\x00\x70\x3d\x97\xac\x18\x8f\xc7\x72\xae\xe2\xb7\ +\x4f\x06\xfb\xef\xba\xc7\x6f\x4d\x78\x3c\xde\x40\xd8\x12\x91\xb5\ +\xa9\xb1\xe7\x72\xfd\x85\x02\x96\xf5\xfd\x4d\x09\xfc\xbc\xd2\x31\ +\xf5\xdc\xb3\xcf\xe7\xab\x2f\x3b\x7a\xa8\x20\x00\xee\x1f\x41\x09\ +\x14\x24\x3d\x21\x6b\x80\x61\xbc\xa4\xa6\xf2\xe4\x9f\xb7\x6e\x5e\ +\x5f\x92\x91\x95\xb3\x1a\x37\xce\xe0\x53\x94\x7b\x78\x70\xb0\xee\ +\x62\x6d\xcd\x2f\xfd\x7d\xbd\xa3\xc1\x21\x14\x37\x5b\x1d\x07\xcd\ +\x44\x73\xef\x11\x52\xe9\xec\xe9\x33\x67\x49\xb1\xc7\xfe\xa8\x04\ +\x78\x81\x5a\x60\x36\x9b\x49\x75\x75\xf5\x43\xc5\x2f\x42\x73\x9b\ +\x36\x6d\xde\x3b\x08\xbf\xb8\x80\x0c\x17\x68\xb6\x36\x5f\x2e\xaa\ +\xfc\xb5\xac\x1a\x66\x7c\xe0\x39\x55\x55\x55\x24\x27\x27\xe7\xd1\ +\x6a\x01\x17\xa6\x00\x7f\x03\xe0\x5f\xb8\x9c\xce\x38\x38\xe6\x08\ +\x66\x27\x7c\x01\xfe\xc0\x4f\x5b\x60\xca\x2a\xd5\xe8\x52\xe7\x4e\ +\x59\x31\xd2\xa6\xe8\xd5\x73\xe7\x19\x3f\x00\x38\x97\x37\x4e\x9d\ +\x2a\x3d\xb6\xb0\xa4\x78\x6f\x46\x7b\xeb\x95\x0d\x20\xe7\x70\x39\ +\x1d\xd3\xd3\x33\xb3\xdf\x14\x89\xc5\x8f\x95\x07\x1e\x38\x90\x2d\ +\x33\xa1\xde\x28\x80\x0d\x9d\xfe\xa9\xb4\xc8\xda\x6c\xb9\xc6\xc9\ +\x6d\xb7\xba\x0e\xca\x14\xf2\x85\xb3\x94\xaa\xad\xb3\x54\xf1\xa6\ +\x99\xb1\x2a\x51\x57\xc7\x75\xd7\x54\x94\xe3\xa8\xf1\x75\x04\x0e\ +\xd7\x17\xec\xc0\xa3\xf7\x46\x6e\xf0\xf8\xfe\xe3\xb8\xa4\x44\x4f\ +\x89\x09\x86\x07\x07\x5a\xf8\x00\x41\xd8\xa9\x16\x9b\x9f\x5d\x43\ +\x51\x63\x0a\x9c\xa3\xd1\x4a\x54\xea\xa7\x0a\x7c\x0c\x43\x60\x06\ +\x9b\xd3\x71\x7f\x74\x4a\x4c\xd0\x70\xae\xa6\x6e\xae\xde\x58\x01\ +\x12\xcb\x50\x1f\xbe\x94\x45\xc9\x33\x00\xf6\x4f\x6c\x7c\xc2\x5a\ +\xa1\x50\xe8\xaf\x25\x2d\x97\x1a\x0e\xde\xe9\xb5\xb1\x53\xa2\x81\ +\x81\xbb\x7d\x6e\x24\xa4\x4d\x48\x4c\x7f\xc1\xeb\x23\x01\xbc\x35\ +\xf1\x69\xed\xc7\x42\xa1\x28\x9d\x12\xd0\xc4\xed\x72\x7d\x7f\xb1\ +\xf6\xfc\xa1\xc7\x2d\x46\x0f\x35\x6e\xb6\xb7\x75\x82\x44\x6e\x46\ +\x76\xce\x16\x45\x74\xcc\x8e\x48\x89\x24\x1a\x51\xd1\x71\xcd\x7a\ +\x69\x27\x12\xd6\x77\x20\xc9\x4c\x4e\x58\x89\x72\x98\x4c\x09\xff\ +\x18\xbe\x3f\x6a\xef\x81\xef\x84\x46\x60\x9c\xc4\x10\xe6\xce\x35\ +\xeb\x37\x64\x6a\xd2\x0c\x79\x9d\xd7\xaf\x96\x9e\xf9\xb9\xf4\xdb\ +\xe0\x3d\x73\x92\xb4\x92\xec\xe5\x79\xef\xcf\x54\xc6\xad\x85\xc6\ +\x94\x30\xdb\x30\xfc\xa3\xe6\xf7\x13\xc7\x3f\x6a\x6d\x6a\xb4\x06\ +\x12\xa0\x20\x94\x42\x02\x33\x50\x04\x07\x61\xa5\xff\x07\x2e\x5e\ +\xf5\xf2\xfa\x52\xf8\xc4\x0a\xc6\xeb\x25\x5c\x74\x60\x95\x60\xdf\ +\x4b\x90\x3f\x23\x53\x44\x3f\x07\x73\x59\xc2\xd6\x15\xa3\x80\x79\ +\x26\xd4\x2e\x20\xb8\xf9\x76\x0e\x1c\x51\xe1\xed\xed\xe9\xde\xdd\ +\xd1\xde\xb6\x1c\xeb\x87\x90\x8d\xc2\x0c\xb1\x3a\x83\xf1\x33\x95\ +\x5a\x4d\x87\xac\x81\xb1\xb2\xec\x45\x6f\xa0\x9a\xf7\xc2\xab\x1b\ +\x5f\xe1\xce\x13\x47\x44\x52\xd1\x31\x33\xb6\x72\x1d\x55\xdf\xed\ +\x9e\xaf\x8f\x15\xef\x2d\xe2\xf2\x04\x88\x9d\xc9\x5b\x57\xd0\x8f\ +\xf6\x6e\x8f\x48\x1c\x91\x15\x29\x91\xea\xb0\xbf\x29\x54\x02\x34\ +\x07\x04\xd0\xdc\xc4\x24\x6d\x6e\x70\xa7\x44\x8b\x44\x5c\x72\x2a\ +\xe3\xc0\x03\xc9\xea\x42\x65\xf9\x69\x4d\xaa\xde\x03\x9f\xa0\x31\ +\x63\x42\xd6\x00\xfe\x33\x74\xa3\x18\x75\x05\x75\x07\x2c\x9a\x54\ +\x3e\x6c\x1d\xcf\x32\x0c\x4f\x32\x4d\x66\xc2\xcd\x2b\xc6\x35\x40\ +\x4c\x4b\x73\xe7\x43\x2e\x80\x43\xb2\x98\x23\x21\x13\xa8\x3c\x59\ +\xb6\x4d\x5c\x55\x2e\xc6\xad\xff\x6b\xc9\x64\x72\x39\x7f\xe9\xca\ +\xe7\x8f\xc2\x1b\xcc\xb1\xaa\x84\xb7\xf3\xd6\x16\x0c\x70\x9d\xb4\ +\x71\xf1\x92\x64\x9d\xde\xf0\x29\x42\x96\x87\x68\xb0\xc0\x17\xae\ +\x84\x4c\x00\xad\xf8\x30\x97\xa1\x27\x09\x3b\x09\x51\xa9\xe7\xbc\ +\x9b\xbe\x24\xbb\x02\x20\x12\xb4\x77\x7b\xd0\xde\x79\x60\x2a\x9a\ +\xab\xa2\xb0\xbd\xab\xbe\xe6\xec\x5b\xdd\x9d\x66\x47\xaa\x4e\x37\ +\x11\x05\x0e\x87\x23\x6c\x7f\xbb\xca\xcb\x7e\xac\x3b\x5b\x7e\x2a\ +\xff\xde\xbd\x91\x5a\x87\xd3\xc9\xd8\xed\x76\x1a\x2b\xc1\xfb\x45\ +\xc8\x57\x5f\xa8\x2a\xaf\x18\x6f\xfb\x26\x3a\x22\x8b\xc5\x42\x86\ +\x86\x86\x48\x78\xc2\x12\x8e\x88\xae\x48\x19\x9f\x40\x45\x48\xa4\ +\x69\x08\x53\x39\xfc\xc2\xee\x18\xb5\x37\xa1\x74\xbb\x69\xd4\x0c\ +\x83\xd1\x48\xe4\x72\xf9\x04\x81\x27\x35\xfe\x15\x60\x00\x07\x61\ +\x96\x1e\x5f\xc4\x4f\xac\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x07\xad\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x37\x42\x34\ +\x38\x31\x37\x43\x35\x45\x43\x35\x32\x31\x31\x45\x32\x39\x38\x36\ +\x38\x44\x30\x44\x46\x44\x37\x41\x33\x33\x41\x42\x43\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x37\x42\x34\x38\x31\x37\x43\ +\x34\x45\x43\x35\x32\x31\x31\x45\x32\x39\x38\x36\x38\x44\x30\x44\ +\x46\x44\x37\x41\x33\x33\x41\x42\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ +\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ +\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x75\x05\ +\xc6\x8b\x00\x00\x03\xd2\x49\x44\x41\x54\x78\xda\xcc\x57\x4b\x4c\ +\x13\x51\x14\x7d\x6f\x3a\x43\x5b\x28\x18\xc2\xbf\x52\x7e\x42\x11\ +\xd4\x08\x6a\xd8\xe8\xc2\x68\x42\xa2\xc4\xaa\x60\xfc\x25\x10\x35\ +\x31\xc6\x85\x89\x2b\x77\xee\x4c\x5c\xb8\x20\x1a\x12\x8d\x0b\x13\ +\xe3\xc2\x18\x3f\x89\x24\xfe\x0d\x31\x7c\x22\xf8\x09\x20\x48\xa9\ +\xd8\xf2\x29\xb5\x05\xa9\x14\x08\x6d\xe9\xfc\xbc\xaf\xa1\xd8\x16\ +\x0a\x33\xa5\x8a\x37\x99\xbc\xd7\x99\xce\xbb\xe7\xdd\x77\xee\xb9\ +\x77\xb0\x28\x8a\x68\x2d\x8d\x42\x6b\x6c\x74\x60\xf2\xe4\xc5\xeb\ +\xe2\x21\xab\xed\x0a\xc3\xd0\xa9\x31\x77\x42\x33\xee\x8f\x2d\xef\ +\x2e\x0d\xf4\xf5\x7e\xa5\x19\xc6\x7f\xaf\xbe\xbe\x1e\x95\x95\x95\ +\xfd\x01\x00\xce\xaf\xf6\xf4\x9b\x0e\x2b\xe3\xe2\x62\x1f\x66\x8a\ +\x42\x54\x52\xb2\xde\x64\x19\x32\xfc\xb4\xdb\x8c\xe4\x9e\xd3\xe9\ +\x0c\x8d\x00\xd9\x39\x71\x1e\x0c\x00\x90\x23\x4c\x61\x2f\x4c\x39\ +\xb8\x70\x24\x07\xa2\x20\x8a\x1c\xc7\x2e\x90\x09\xc3\x4b\x34\xe3\ +\x5f\x5a\xc3\xb1\x1c\x3c\xe7\x91\x2a\x31\xa9\xf0\xe4\xd9\xf3\x8d\ +\x8d\xf7\xef\x19\x06\x07\x4c\x46\x85\x42\x11\x0a\x00\x8c\x0f\x5e\ +\x94\x89\x8b\x9b\xfb\xd6\xdb\x73\xb9\xb3\xbd\xed\xc5\x3c\x80\x88\ +\xa6\x54\xa9\x50\x5a\x96\x56\x20\x84\xc6\x18\x23\xaf\xc7\x4d\x4d\ +\x38\x1c\xa8\x64\x6b\xb9\xae\xa8\x74\x73\x03\xa3\x54\xea\x79\x9e\ +\x47\xe0\xb4\xd0\x70\xa2\xb6\xf1\xc1\x9d\xdb\x06\xd6\xe7\x33\x86\ +\x03\x58\x30\x0c\x21\xf3\x7a\x3c\x5d\xad\x6f\x5f\x5e\x9b\x74\x4e\ +\xac\x18\xe2\xcc\xf5\xd9\x19\x87\xf6\x56\xde\x85\x45\xd5\x00\x1c\ +\x0d\x7e\x33\x5e\xea\xea\x78\xdf\x31\x3a\x3c\xd8\x9f\xb8\x2e\xe9\ +\x46\xbe\xbe\xa4\x01\x9e\xa1\x00\x88\xfd\x47\x4f\x34\x66\x65\xeb\ +\xf6\xc2\xab\x23\xf4\xd2\xa4\xa1\x91\xd5\x3c\xe0\x96\xe2\x7c\xfe\ +\xa8\x52\x60\xa8\x0c\x1c\x13\x1c\x41\x36\x0c\x1d\xf3\xf3\x99\xe0\ +\xff\x12\x10\x4a\xa5\xaa\x30\x5e\xa3\x29\x22\x00\x22\xa6\x21\x44\ +\x01\xcb\xe0\x99\x00\x97\x3b\xc2\x71\x2e\xf2\x21\x08\x02\xb9\xf8\ +\xff\x42\x07\xa8\xc8\xcc\x16\xfe\xad\x10\x85\x38\x07\x36\xab\x13\ +\x34\x02\x11\x0d\x8e\x65\x57\x5c\x04\xce\x99\x02\xf2\x25\xcc\x67\ +\x0f\xe1\x04\x1d\xb4\x11\x4e\x36\x00\xe2\x54\x9b\x93\x9b\xa7\x2f\ +\xdd\x9c\xd2\xd7\xdd\xe9\x5c\x09\xc0\xcc\x94\xcb\x64\xea\xf9\x72\ +\x18\xb4\x00\xf8\xcb\x60\x87\x6d\xa4\x89\xdc\x57\x28\x68\xa4\xd6\ +\x68\x2a\x96\xab\x37\x74\xa4\x07\x3e\x9f\xaf\x60\xf7\xbe\x03\x6f\ +\x20\x97\xc9\x62\xec\x72\x42\x24\x08\xa2\x00\xce\xfd\x24\x84\x11\ +\xa5\x67\xae\xdf\x5a\x53\x77\x86\x52\xa9\xe3\x37\xa4\x67\x6a\xab\ +\x97\x8b\x62\x44\x00\x0a\xd0\x02\x46\x93\x58\x5e\xb4\x69\x4b\x79\ +\xb4\xe7\x0b\x0a\xe9\x07\x44\x81\xea\xf9\x15\x51\x14\xa4\x01\x20\ +\x42\xe4\xb0\x8d\xb6\xcf\x79\x3d\xae\xe5\x76\x2e\x07\x4b\x6a\x46\ +\xd6\x36\x55\x7c\x7c\x7a\x38\xb9\x23\x0a\x51\xd3\xb3\xa7\xe7\x00\ +\xc4\x97\x58\xb1\xbd\xba\xf6\xd4\x23\x50\xc4\x1a\xa2\x88\x92\xd2\ +\x10\xc8\xa4\x8e\x65\xba\x41\xa6\xd0\xb2\x38\x10\xb0\x3d\x55\x86\ +\x1a\xad\x2e\x77\x17\x9c\x25\x2f\xd7\x27\x6c\xc2\xfb\xfa\xe9\xe3\ +\xeb\xe3\xf6\x1f\xe3\xb2\x49\xb8\x90\x92\x1c\x97\x0c\x19\x91\xc3\ +\x4b\x11\x84\x30\x00\x90\x1d\x1e\x20\x22\x23\x5b\x07\xc2\x34\xa1\ +\x8d\xf5\xcd\x0d\x03\x10\xf9\x2a\x07\x7a\x0f\xcc\x77\xad\x0a\x80\ +\x2e\xaf\xe0\x58\x7e\xf1\xc6\xe3\x40\x1e\xb9\xdd\x2b\x06\x55\x74\ +\x7f\x6a\x6d\x39\x82\xd0\x98\x25\x6a\x00\x3d\x9f\x3f\xdc\xb2\x0e\ +\x59\x1e\x42\x19\x95\x5b\x1c\x30\xd4\x7e\x7e\xca\xf5\xcb\xb6\xaa\ +\x08\x80\x12\x5e\xc8\x2b\x2a\xae\x83\x08\x70\x51\x44\x60\x76\xc4\ +\xfc\xdd\x30\xed\x9a\x34\x47\x0d\xc0\xd8\xdd\x79\xd3\x3e\x6a\x7d\ +\xc2\x93\x4e\x22\x8a\x08\x4c\x4f\xb9\x46\x57\x15\x81\x2d\xdb\x2b\ +\x6a\x81\x03\x8b\x04\x44\x8a\x41\x04\x3c\x56\x8b\xa5\x16\x22\x30\ +\x14\x35\x00\xbb\xcd\xda\x0c\xec\x1b\xe7\x83\xba\x5e\xc9\x11\xa0\ +\x19\x16\x1a\x54\xc9\x59\x80\x43\xf3\x9f\xf5\x90\xb1\xf9\xd5\xf3\ +\x36\x18\xda\x56\x5d\x0c\xc4\xa5\xfb\x02\x7a\xa9\x39\xc9\xf9\x3d\ +\x55\x07\x4f\x43\x31\x32\x4b\x89\x92\x04\xe3\xa0\x18\x15\x87\x69\ +\x09\x0e\x71\xca\xb2\xdc\xe3\x39\x9f\x6f\x67\xe0\x77\x72\x5a\xc6\ +\x45\x4c\xc5\xa2\x10\x06\x04\x8d\x43\x5e\xaf\xd7\x3f\x07\x3f\xbd\ +\xf0\x11\xd1\xef\x47\x11\xe8\x56\x6c\x8e\x31\x34\xeb\xf6\xec\x80\ +\x66\x58\xf3\xb7\xfb\x40\x90\xe8\x3e\x9d\x36\x73\x5c\x0d\x1f\x34\ +\x78\xad\x3f\xcf\x7f\x0b\x30\x00\xf9\xa2\xb3\x56\xda\xeb\x98\xe8\ +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x0a\x87\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x38\x41\x42\ +\x36\x41\x42\x31\x45\x45\x43\x35\x32\x31\x31\x45\x32\x42\x45\x31\ +\x34\x45\x36\x35\x41\x46\x33\x38\x37\x34\x32\x38\x30\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x41\x42\x36\x41\x42\x31\ +\x44\x45\x43\x35\x32\x31\x31\x45\x32\x42\x45\x31\x34\x45\x36\x35\ +\x41\x46\x33\x38\x37\x34\x32\x38\x30\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ +\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ +\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x18\x02\ +\x43\x51\x00\x00\x06\xac\x49\x44\x41\x54\x78\xda\xc4\x57\x7b\x4c\ +\x93\x57\x14\xbf\x2d\x5f\x5b\x4a\x0b\x14\x51\x5e\x2d\x14\x0a\xd8\ +\x52\x0b\x05\x8a\x8a\x88\x53\xc2\xf0\x05\x53\xf1\xcd\x88\x91\x99\ +\x65\xce\xb9\x25\xc3\x25\xcb\xe6\x5f\xdb\xfe\xd8\x23\x2e\xf3\x8f\ +\xb9\x99\x65\x59\x8c\x71\x9a\xe9\x0c\x4e\xf1\x31\x1d\xe2\x44\xe5\ +\x21\x8c\x42\x8b\xd8\xa2\x22\x8f\x52\x2a\x5a\x01\xa1\x4f\xda\x7e\ +\x3b\x97\x51\xe8\x57\x5a\x98\x26\x9b\x37\x39\xf9\x5e\xf7\xde\xf3\ +\x3b\xe7\x9e\xf3\x3b\xe7\xa3\x91\x24\x89\x5e\xe6\xa0\xa3\x97\x3c\ +\x08\xf7\x4d\x79\x79\x39\x6a\x69\x69\x99\x36\xc1\x31\x36\x86\x5c\ +\xa4\x0b\x45\x0b\xe2\x50\x54\x8c\x40\x2a\xcd\xc8\x5c\xe4\x74\x3a\ +\xb3\xe0\x53\x02\x48\x10\xc8\x18\x48\x5f\x40\x40\x40\x53\xbb\xb2\ +\xb9\xd6\xa0\xd7\x29\xfb\x75\x3d\x88\x4e\xa3\x23\x82\xc1\xa0\xec\ +\xe5\x72\xb9\x90\xcb\xe9\x1c\x7f\x7f\xf0\xe0\x41\x94\x9e\x9e\x3e\ +\x05\xa0\xae\xae\x0e\x35\x34\x34\x4c\x03\x10\x18\xc4\x41\x8a\x9c\ +\x65\xc5\xa1\x7c\xe1\xdb\xae\x40\x76\xae\xaa\x5d\x13\xe4\xc7\x98\ +\x32\x3a\x9b\xeb\x84\x79\x8d\x86\xa7\xc3\x47\x9a\x6a\x6f\x9c\xb0\ +\x9a\x4d\xa3\xde\x93\x82\x82\x43\x90\x79\xe4\x19\x32\x1a\x8d\x54\ +\x0f\xb0\xd9\x6c\xca\x44\xb0\x08\x49\xd2\xd2\x53\xf2\x8b\xd6\x1f\ +\x60\x05\xb2\x0b\xed\x36\x3b\x22\xc1\x13\xb3\x8c\x00\x66\x70\x68\ +\x76\x4e\x5e\x7e\xb6\x62\x49\xce\x5e\x8d\x5a\xf5\xc9\x5f\xb5\x37\ +\xce\x18\x07\x1e\xc1\x7e\x04\x2a\xde\x51\x56\xce\x62\xb1\x3a\x8e\ +\xff\xf0\xdd\x05\xbc\xbf\xdf\x18\xc0\x1f\x8b\xb6\xbe\xbe\xb1\x68\ +\x5b\xe9\x0d\x1a\x2d\xa0\xd0\x66\xb5\xfe\x1b\xe5\xe3\x03\xcf\xc3\ +\xf3\x61\x5d\x9a\x7c\xe1\xe2\x8a\xd2\xdd\x7b\xbf\x15\xcb\xd2\xc2\ +\x57\x15\x6f\xf9\x48\x2c\x93\x7f\x63\x36\x99\x16\xfb\x8c\x81\xc9\ +\x17\x70\x3e\x85\x9b\xb7\x97\x88\x53\xe5\x47\x2d\x26\x13\xe3\x45\ +\x83\xcb\x03\xc8\xbb\x60\xc8\x5a\xd2\x45\x8a\x2c\x70\x22\x41\x1c\ +\xae\x04\xeb\x70\x67\xdf\x34\x00\x79\x6b\x8a\x72\x25\xf2\x8c\x23\ +\xfe\x94\x13\x04\x03\xd1\xe8\x34\x7c\xab\x07\x19\x02\x61\x81\x08\ +\x41\x01\xe1\x70\x8c\xf9\x04\x32\x66\xb7\x8b\xdc\xcf\x31\x71\xc2\ +\xa4\xe0\xd0\xb0\x00\x08\x6e\x27\x05\x00\x4c\x42\x51\x82\xb8\xb0\ +\x14\x79\xe6\x8f\x56\x8b\x85\xe5\xbd\x11\x0d\xa2\x9a\xc9\x62\x0e\ +\x1b\xfa\x74\xc7\x0c\xba\xde\x53\x77\x5b\x95\xf7\xe1\xf5\x30\x06\ +\x10\xc2\xe3\x09\x15\x4b\x5f\x29\x8c\xe2\x0b\x76\x39\x1d\x4e\x91\ +\x2f\x20\x1e\x99\xc0\x77\x38\x1c\xd1\x70\xab\xa3\x00\x60\x30\x99\ +\x28\x27\x7f\x65\x39\x5c\x25\x18\x8c\x77\x4c\x38\x9d\x8e\x9a\x8b\ +\xa7\x7f\xd9\xab\x51\xb5\xb6\xc1\xbd\xe7\x67\x33\xea\x46\x83\xda\ +\x36\x75\x8b\x58\x96\x7a\x38\x6d\x61\xf6\x9e\x48\xbe\x60\x1f\xe9\ +\x72\xcd\xf1\x83\x61\x5e\x58\x78\x38\x7f\x1a\x00\x69\xba\x22\x8a\ +\x64\x73\x77\x7b\x2b\xa7\xd1\xe9\xa0\xdc\x79\xa5\xf2\xe4\xf1\x4d\ +\x0f\x3b\xb4\xa3\xfe\x2c\xc3\xa0\xda\x5b\x95\x4f\x09\x06\xf3\x08\ +\xb8\x79\x97\xc3\x3f\x00\x9a\x2c\x33\x6b\x3e\x5c\x1b\x28\x59\x90\ +\x9a\xb5\x70\x3b\xb8\x27\x62\x1a\x0f\xb0\xd9\x5d\x55\x67\x2b\xca\ +\x66\x52\xfe\xcf\xbc\x20\xb4\xa1\x74\x67\xde\xea\x8d\x5b\xea\xe1\ +\x7c\x45\x33\xcd\x85\xef\xa9\x98\x94\x28\x00\x06\x9f\x3c\x0e\x01\ +\xf7\x3f\xc4\x47\x81\x05\x9f\x39\x41\x10\xa8\xbd\xa5\xf9\x8b\x8e\ +\xbb\x6d\xfd\xb3\x45\xbd\x54\x9e\x31\x37\x51\x22\xdd\xe7\x72\x91\ +\x91\x78\x3d\x0e\x56\xdf\xd9\x41\x22\x36\x87\x2b\x0b\xe2\x72\xa9\ +\x59\x50\x7d\xe1\xdc\x67\xed\xda\x8e\x43\xbc\xb0\x39\x92\x05\x99\ +\x59\x4b\x23\xa2\x63\x0a\x38\xc1\x73\x78\x4d\x37\x6b\x2a\x30\x1d\ +\xcf\x36\x9a\xeb\x6f\x3d\xe9\xee\xbc\x5f\x0c\x81\x98\x24\x4d\xcf\ +\xcc\x60\x32\x59\xab\xe0\x28\x14\x60\x69\x0a\x0e\x23\xc8\x12\x84\ +\x83\x13\xef\x05\xef\x85\xfc\x38\x21\x66\x3e\x0b\xcd\x9d\x8f\x2b\ +\x56\x2c\x47\xd7\xaf\xd7\x4c\x6e\x18\x1e\x11\x89\x38\xc1\xc1\xdc\ +\x47\x7d\xba\x51\x9c\xcf\xcf\x3b\x30\xf3\x81\x22\x56\x70\x48\x88\ +\x14\x0c\xca\x06\x40\x05\xf0\x2c\x07\x40\x22\x9b\xdd\xee\x7a\xff\ +\xcd\x9d\x0b\x12\xe3\x62\x35\xc4\x54\x10\x39\x29\x1b\x60\xfa\x04\ +\x19\x7d\x51\x22\xc2\x41\xd9\xfb\xf0\x81\x0d\x6e\x95\x10\x9c\x4a\ +\x00\x74\x18\x00\x84\x49\x52\xe5\x32\x4e\x48\xe8\xab\x56\xb3\x99\ +\x9c\x3c\x13\x2c\x5b\xb6\x97\xc4\xf1\xe3\x13\x98\x18\xf9\xff\x31\ +\xaa\xab\xaf\x8e\xeb\x9d\xd4\x96\xb7\x76\xdd\xa7\x51\xf3\x65\x99\ +\x43\x4f\x06\x6e\x01\xd1\xfc\xa1\x51\xb7\xb6\x42\x31\xeb\xc4\x9e\ +\xf8\x2f\x06\x0e\x72\x4a\x10\x02\x65\x76\xda\x6d\xd6\xb2\x79\x91\ +\xd1\x69\x10\x80\x7b\xd2\x17\x2f\x19\x04\x00\x77\x06\xfa\xf5\x35\ +\x43\x46\x63\x35\x00\xba\x03\xcf\x86\xe7\x05\xb4\xac\x60\xb5\x42\ +\x90\x20\x4a\x51\x35\x36\x34\x01\x8b\x6a\x61\x3d\xe9\xa6\x68\x0a\ +\x80\x41\xa3\x71\xbc\x1b\xf1\xa0\xd1\x30\x82\x60\xe6\xc6\x89\x92\ +\xb0\xec\x07\x40\x3a\x00\xa0\x1e\xd0\xeb\xaf\x77\xdc\x51\x5f\xd2\ +\xb6\xa9\x54\x56\x8b\x79\xe6\x6e\x07\x8a\x8e\x48\x2c\xf9\x18\x28\ +\x7e\x93\x40\x98\x60\x82\xf5\x1a\x30\xe8\xb6\x41\xdf\x77\x0d\x82\ +\xf2\x32\x4c\x79\x36\x09\xa0\xad\xb9\xa9\x0b\x9a\x09\xdb\x44\x71\ +\xf1\x2c\x24\xee\x07\x01\x2c\x12\x88\xd3\xe4\xb9\xf0\xbe\x19\x00\ +\xcc\x6a\x3d\x14\x36\x45\x44\x34\xbf\x10\x0a\x1b\x7e\xe4\x80\x41\ +\x0a\x30\x46\x11\x15\x1b\xff\x16\x04\xa4\x84\x02\x80\xc1\x60\xf4\ +\xd1\xe9\x74\x4c\x38\xf1\x3e\xcf\x0c\xea\x81\xc5\x62\x6e\x52\x35\ +\x35\xbc\xf1\xe7\xa5\xf3\x6d\xde\x59\xe3\x3d\x12\x92\xc5\x5c\x28\ +\x6c\xdf\xdb\xed\xf6\x40\x4f\x83\xa0\x10\x21\xd3\xc8\xf0\xef\xa6\ +\xd1\x91\x07\x14\x26\x04\xf7\x3c\x05\xd1\x61\xee\xf7\xd7\xa4\x3c\ +\x1b\x1c\x3c\xdd\x78\xb3\x66\x76\xe5\xf3\xc5\x73\xd7\x95\xec\x38\ +\x05\x6b\x16\x91\x2e\x6a\x23\xc3\x04\x96\xbc\xdb\xa2\x3c\xd4\xd7\ +\xdd\x4d\x52\x00\xf4\xf7\x74\x63\xd1\x60\xfa\xf5\xc3\xdf\x28\x32\ +\x86\xff\x79\xd9\x7b\xe5\x15\x2b\x37\x6c\x5e\x8a\x89\xca\x9b\x78\ +\x62\x13\x12\xd9\x05\xeb\x36\x96\xbc\xb6\xad\xf4\x16\x78\x73\x8d\ +\x37\x50\x6c\x9c\xcd\x6a\xb9\xd0\x72\xbb\xfe\x4a\xc0\x84\x1e\xc2\ +\xf3\x23\x04\x8d\x6a\x66\x72\x71\xd2\xa1\xc3\x29\x86\x56\x6b\x7d\ +\xb2\x74\x41\x3d\xa4\x2b\xa6\xce\x4e\x5c\x8b\xa0\x18\xc9\xe0\x5c\ +\x73\x81\xe9\xa4\x8e\x31\x07\xf2\xe5\x25\x28\x6c\xc6\xca\x13\xc7\ +\x3e\xb0\x98\x46\x5c\x84\x37\x80\x89\x4c\x68\xf7\x8c\x60\xdc\x42\ +\xbb\xbc\x5c\x38\xd1\x6a\xd1\x21\xa0\x72\xe2\x93\xc5\x39\x93\xef\ +\x81\xeb\x67\xa2\x6c\x50\xee\xd0\xb4\x2a\x77\x41\x61\xd3\xfa\xfd\ +\x31\x81\x4c\xe8\x81\x8b\x15\x57\xb3\xfe\xde\x9e\xaf\x6c\x36\xdb\ +\xcf\xf8\xde\x5f\xcf\x87\x33\xc4\x2d\xfe\xba\x20\x4c\x38\x6c\x0e\ +\xc7\xac\x55\xb7\xee\x3c\x7f\xea\xc4\x39\xef\xc2\x46\x50\xfb\x3d\ +\xc2\x00\x93\xbb\xd4\x8d\x0d\x47\xcf\x9d\x3c\xfe\xa5\x50\x94\x44\ +\x5b\xbe\xba\x50\x05\xc4\xb4\x1f\x5a\x2d\xde\x4c\xad\x96\xaf\x81\ +\xc1\x8f\xd9\x6d\x1a\x65\x7d\xed\x3b\x57\x2b\xcf\x5c\xf3\x75\x2c\ +\x94\x18\x00\x97\x8f\x36\xd7\xdd\xdc\x7a\xb9\xe2\x57\x35\x8e\xde\ +\xae\xfb\x1d\x64\xef\xe1\x07\x07\xe0\xff\xa0\x32\x73\x49\xee\x87\ +\x50\x6a\xb7\xc2\x91\x70\xf0\x19\xfb\x6b\xd3\xc7\xfb\x08\x06\x81\ +\x20\x08\x1f\x03\xe9\xfc\x54\x73\xe5\xe2\xd7\xd0\xcc\x18\xfd\x52\ +\xb2\xbb\x1c\x67\x67\x67\xfb\xfc\x33\xf2\x1c\xc2\x64\x71\x0a\xd4\ +\xfa\xcd\xe0\x91\xb5\xd0\x5e\x27\x02\x98\x79\x9e\xfd\x26\x28\xd5\ +\x43\x2a\xdf\x03\xc5\x67\xa1\x91\xf9\xad\xfb\x9e\xb6\xdb\xdf\x5e\ +\x55\x55\x55\x28\x3f\x3f\x7f\x0a\x00\xfe\x2f\x1c\x1a\x1a\x9a\xa1\ +\xcf\x27\x91\xfb\xfc\xa2\x05\xb1\xb8\xab\x11\x82\x17\x22\x27\xfe\ +\x0f\xb1\x3b\x46\xc1\x7a\x3d\xf4\xfe\x86\x7e\x5d\xef\x64\x20\xd3\ +\x68\x34\x9f\xfb\xe1\xff\x42\x1e\x8f\x37\x05\xe0\x65\x8d\xbf\x05\ +\x18\x00\x73\x59\x49\xbb\xe5\xdd\xcf\x9e\x00\x00\x00\x00\x49\x45\ +\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x09\xda\ +\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\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\x03\x71\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\ +\x34\x65\x39\x38\x62\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\ +\x62\x62\x33\x65\x2d\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\ +\x34\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x36\x39\x31\ +\x36\x31\x31\x39\x46\x45\x43\x35\x32\x31\x31\x45\x32\x38\x33\x45\ +\x46\x41\x35\x38\x33\x37\x45\x44\x32\x45\x35\x32\x43\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\x39\x31\x36\x31\x31\x39\ +\x45\x45\x43\x35\x32\x31\x31\x45\x32\x38\x33\x45\x46\x41\x35\x38\ +\x33\x37\x45\x44\x32\x45\x35\x32\x43\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\ +\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\ +\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\ +\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x69\x69\x64\x3a\x38\x63\x63\x61\x63\x62\x39\x36\ +\x2d\x66\x66\x39\x38\x2d\x31\x39\x34\x64\x2d\x61\x39\x30\x32\x2d\ +\x30\x62\x32\x37\x31\x63\x63\x61\x31\x37\x63\x39\x22\x20\x73\x74\ +\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\ +\x78\x6d\x70\x2e\x64\x69\x64\x3a\x62\x62\x65\x34\x65\x39\x38\x62\ +\x2d\x34\x38\x33\x63\x2d\x62\x63\x34\x33\x2d\x62\x62\x33\x65\x2d\ +\x62\x35\x35\x32\x61\x31\x32\x61\x31\x39\x34\x34\x22\x2f\x3e\x20\ +\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x20\x3c\x2f\ +\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x20\x3c\x3f\x78\x70\x61\ +\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x07\x6b\ +\xda\x7d\x00\x00\x05\xff\x49\x44\x41\x54\x78\xda\xc4\x57\x7b\x4c\ +\x53\x57\x18\xbf\xf7\xb6\xb4\x5c\xa9\x5a\x56\x85\xbe\xa0\xd3\x48\ +\xa8\x4c\xa4\x14\x8d\xc2\x36\x93\x0d\xc2\xd4\x6c\xf8\x98\xf3\xb1\ +\xcd\x6d\x2e\x8b\xba\x65\x99\x71\xce\xcd\xbf\xa6\x59\xd4\x2c\xd9\ +\x1f\x4c\x47\xe6\xe2\x36\xb3\xcd\x89\x68\x88\x88\xf8\x2e\x8e\x81\ +\x8e\x52\xa8\xa5\xf2\x28\xf8\x58\x6c\x81\xf2\x52\xb0\x6a\xdf\x8f\ +\x7b\xf7\x1d\xd6\x62\x6f\xb9\x2d\x68\x4c\xfc\x92\x13\x7b\x3d\x87\ +\xfb\xfd\xce\x77\x7e\xdf\xef\xfc\x2e\x4e\xd3\x34\xf6\x2c\x83\xc0\ +\x9e\x71\x70\x43\x3f\xb6\x6e\xdd\x8a\x19\x8d\xc6\x31\x0b\x28\x8a\ +\xc2\xfc\x7e\x1f\x46\x92\x93\x30\x69\xaa\x42\xa0\xcc\x54\xcd\x13\ +\x8a\x44\x0b\x03\x81\x40\x26\x4c\x8b\x83\x9b\x70\xc2\xb0\x70\x38\ +\x9c\x26\x53\xb3\xa1\xa9\xbf\xb7\xa7\xad\xaf\xa7\x0b\x23\x70\x02\ +\xe3\xc6\xc5\xb1\x26\x2e\x2e\x2e\xc6\x54\x2a\xd5\x23\x00\x5a\xad\ +\x16\xd3\xe9\x74\xac\x8b\x15\x69\xe9\x62\x75\x6e\xc6\x46\x81\x58\ +\xbe\xae\x6b\xe0\x8e\x12\x46\xb4\x0d\x7d\x4c\x90\x02\xf7\x54\x99\ +\xe2\x4a\xff\xf0\xfd\x9f\xf4\xf5\x97\x4f\xb8\x9d\x0e\xd6\x33\x1e\ +\x1a\x1a\x62\x56\x80\x24\xc9\x31\x8b\x44\x49\xc9\xd8\x4b\xf9\x85\ +\x1b\x94\x59\xd9\xdf\xf8\x3c\x5e\x39\xaa\xc4\x04\x22\x9e\x37\x79\ +\x6a\x41\xde\x2b\xf9\x05\x39\xb9\x79\xe7\x3b\x5b\x5b\xbe\xb8\x54\ +\x55\xd1\x0e\x15\x63\x2c\x82\x6a\x31\x01\x44\xc6\x8c\xb4\x74\x5e\ +\xd1\xba\xf5\xfb\xa0\x84\x9b\x5d\x0e\xc7\x63\x9d\x2b\x4d\x53\x98\ +\xc7\xed\xc6\x70\x9c\xb3\x38\x7b\x61\xde\x02\xd8\xdc\xc6\xd3\xc7\ +\x4b\xcb\x23\x41\x44\x05\x10\x4c\xfe\x07\x41\x10\x6b\x7c\x5e\xef\ +\x13\x13\x0c\x01\x01\xf0\x89\xe9\x99\x59\xa5\xf0\xc8\x3b\x53\x5e\ +\x56\xea\xf7\xf9\x62\x03\x78\x6e\x5a\x12\x06\xc9\xbf\x43\xc9\xd9\ +\x10\xe3\x23\xc4\x1a\xf9\x33\x34\xd9\x0b\x03\x21\x9c\x0a\x63\x1a\ +\x4d\xd1\x18\xdb\x31\xb9\x5d\xae\x38\x38\xc6\x43\x4e\x87\xdd\xaa\ +\x39\x55\x51\x1b\x13\x40\x4e\xde\x8b\x2b\x79\x7c\xfe\x67\xa8\x84\ +\x91\x11\xc7\xe3\xc1\xcb\x9c\x2d\xbd\xdd\xe6\x43\xed\x06\x7d\xed\ +\x03\x9b\xad\x2f\x04\x60\x76\x56\xf6\x2c\xb1\x3c\x65\xb5\x58\x26\ +\x5f\xe7\xf5\x78\x05\x68\xf7\x11\x20\xf8\xb3\xb3\xd4\x3f\xdf\xea\ +\x30\xe5\xde\xbe\x79\x7d\x68\x0c\x00\x54\x9a\x94\x99\xb3\x92\x32\ +\x54\x39\x3f\x78\x3d\x1e\xb6\xe4\xbe\xbb\x03\xfd\xbb\xea\x2e\x9e\ +\xfd\xfe\xf6\x8d\xeb\xce\x88\xe9\x7b\x3d\x96\xdb\x66\x0e\x87\x5b\ +\x9d\xff\xc6\xf2\x03\xca\xcc\xb9\x25\xf0\x3b\x2f\xbc\x82\x34\xb4\ +\x33\xbc\x23\x6d\xd1\x6b\x4b\xb6\x9b\xff\xbd\xb9\x23\x24\x80\x0c\ +\x21\x92\x2b\x66\x90\x38\x41\xb4\xc7\xf1\xf8\x14\x2a\x75\x78\xf2\ +\x5b\xa6\xb6\x0f\xfe\x3c\xb0\x7f\x2f\x4b\xf2\xd1\x08\x04\xfc\xd8\ +\xc5\x93\xe5\xcd\x55\xc7\x8e\x2c\x86\xe4\x1a\x78\x17\x63\x1e\xf1\ +\x29\x49\x22\xfb\x28\x75\xe6\x2c\x79\x88\x0b\xa3\x2b\x90\x60\x68\ +\x6b\x34\x96\xc3\x3f\xee\x2b\x6c\xd1\xeb\x5e\xa6\xe9\xc0\x11\x7e\ +\x7c\xbc\x93\x4c\x48\xc0\x60\xe7\x7b\x81\xc5\xa5\x6c\x9c\x60\x0b\ +\x00\xf9\xb0\xba\xf2\xc4\xfb\xf1\x24\x69\x66\x11\x36\x11\x1c\xd7\ +\x9b\x48\xe0\x58\x39\x30\x34\x38\x80\x76\x51\x7f\xb5\xfe\x72\x3d\ +\x9c\xa7\x6a\xee\xfc\x05\x45\x0d\x35\x97\xf6\x4f\x34\x79\x28\x6e\ +\x74\xb4\xf5\x99\x8c\x86\xdd\x69\x19\x73\x7e\x09\x67\xbe\xdf\xef\ +\xc7\x92\x65\xf2\x22\x99\x42\xb1\x2f\xa6\x0e\x20\x20\x30\x8c\xed\ +\xcd\x57\x8d\x4f\xd2\x82\x28\xa9\xfe\x4a\x5d\xb9\x32\x33\xeb\x6b\ +\xf8\x9d\x1a\xce\x85\x49\x09\x82\x74\x18\xc9\xf0\x38\x40\x84\xf7\ +\xec\xd3\x8e\xe1\xbb\x83\xf7\x7b\xbb\x2c\xba\xc8\xfb\x00\xca\x9f\ +\x0c\x43\xca\xe0\xc0\x74\xb1\x4c\xba\xfc\xdd\x0d\x5f\xbd\x90\x9d\ +\x93\x89\x24\xf8\x69\x04\x6a\x65\x97\xc3\x7e\x1d\xc7\x71\x36\x01\ +\x9c\xcc\x38\x82\x78\x72\x92\x50\x98\xf2\xfc\xb7\x69\xb3\x33\x76\ +\x7a\xdc\x2e\x4d\xc7\x35\xe3\x6f\x9d\xad\xd7\x34\xb0\x03\x3b\x62\ +\xf7\x93\x06\x74\x82\x27\x96\x15\x78\xa4\x03\x7e\x1f\x09\x6d\x42\ +\xc1\xff\x92\xa0\xe1\x45\x88\x7c\xaa\x05\xb9\x9d\xfd\xd6\x9e\x63\ +\x06\xed\x95\x32\xf8\xb7\x13\xf1\xe2\xb1\xe5\x98\xa2\x24\xd1\x0a\ +\xc4\x00\x90\x28\x12\x91\x54\x10\x15\xe2\x43\xf0\x0e\x50\x4e\x4f\ +\x96\xec\x5c\xba\x6a\xed\xb6\x60\x55\x7e\xef\x6c\x35\x56\xf7\xf5\ +\x74\x3b\x22\x35\x9d\x2d\x40\xd6\x71\x49\xaa\x42\x8d\x98\x1f\x11\ +\x0f\x11\xcf\x19\x1c\x98\xa3\x9e\x37\x85\x95\xcd\xa0\xed\x70\x96\ +\x02\xa8\xca\x0a\xa8\xca\xc9\xf5\x9f\x6c\x31\xad\xfe\x70\xe3\xf2\ +\x29\xc2\xc4\x71\x01\x88\xa5\xb2\x6c\x60\xbb\x9a\xa6\x98\x04\x87\ +\x7b\xa6\x0b\x46\x37\x03\x00\xf4\xb9\x70\x5c\xff\x46\x10\x76\xab\ +\xd9\x7c\xa4\xe9\x72\xad\xf6\x81\xed\x5e\xcc\xb5\x89\xa2\x69\x58\ +\xc1\xb2\x95\x3b\xbc\x5e\x2f\x8f\xc1\x3e\xe8\x88\x01\x6b\x8f\xd6\ +\xda\x65\x71\x45\xea\x80\x30\x06\x91\xa0\x0a\xae\x9a\x16\x7d\xc3\ +\xa7\xb5\xe7\xcf\x98\x28\x2a\x76\xcb\x22\xb3\xb1\xa8\x70\xc9\x26\ +\x90\xf0\x55\x91\xd7\x39\xcc\xd1\x7d\xdd\x5d\x47\x9d\x76\xfb\x18\ +\x25\x1c\xaf\xa6\x14\xec\x7e\x78\xbc\x2a\x05\x5d\xd4\x26\xf0\x00\ +\xfb\xe1\x06\xc4\x59\x36\xa2\x35\x36\x36\xd4\x71\xb8\x5c\x6c\xc2\ +\x15\x40\x67\xc8\xe7\x93\xf9\x2b\xde\xdb\x60\x00\xd3\xb9\xc7\xd8\ +\xa8\x3d\x0e\xed\x79\x27\xbc\x3d\x51\x62\x90\x6e\x75\xfe\xeb\xcb\ +\xb6\xc1\x65\xf6\x36\x24\x1f\xf3\x1e\x1e\x8f\x47\x1b\x75\xf5\xbb\ +\x5c\x8e\x87\x7e\x6e\x34\x00\x21\xd5\x8a\x64\x79\xd0\xdd\x48\x40\ +\xdb\x4b\x94\x73\xb3\xb6\x03\x00\x3d\x78\x83\x0e\x98\x42\x99\xa4\ +\xe0\x05\x54\x40\xb8\xf9\xe0\x05\x78\x6c\x2e\x0a\x79\x89\xc1\x3e\ +\x6b\x49\xcd\xb9\xd3\x1a\x56\x43\x02\xe5\x91\xf2\xf8\xf1\x18\x9c\ +\x4f\x31\x3c\xd6\x82\x05\x3f\x0c\x2f\x9a\xcc\xd6\x15\x30\x14\xc9\ +\x52\xb9\x02\x27\xf0\x30\xed\xf7\x63\x6c\x26\x26\xc4\x09\xd8\x90\ +\xa6\xee\xc2\xb9\x2f\xa3\x5a\xb2\x80\xcf\x7f\xa3\xcd\xd0\x78\xf0\ +\xef\xb3\x55\x95\xe8\xb9\x68\xcd\x3b\x6f\x81\x8d\x3a\xea\x76\xba\ +\x12\xd9\xee\x89\x09\x3a\xe4\x91\xe4\x40\xda\x0b\xa7\x8e\x1e\x5e\ +\x0b\x4e\xc8\x1d\xf5\xcb\xa8\xba\xaa\xe2\xf3\x9a\xd3\x95\x95\xe8\ +\xbc\xd1\x80\xfb\xff\x42\x73\x43\x7d\x01\xf8\x02\x3d\x2a\xdf\x63\ +\x4b\x30\x18\x1a\xf0\x13\xf0\x2a\xaa\x04\x92\xaf\x84\xe4\xb6\x98\ +\x5f\x46\xf7\xef\x0d\xd3\x4c\x77\x13\x40\xbe\xc0\x70\xd3\xd4\xfa\ +\xea\xa2\xc2\xa5\x5b\x92\x24\xd2\xcd\xf0\x32\x19\x2a\x75\xac\x9b\ +\x93\xcb\x8d\xc3\x38\x5c\x0e\x62\xfb\x3f\xd7\x9a\x74\x7b\xc0\x57\ +\x9c\x8b\x25\xe1\xa3\x00\xbc\x51\xec\x37\x72\x37\x30\x76\xc3\xd7\ +\xd1\xaf\x19\x2a\xf5\x32\x00\xb2\x02\xc8\xa6\x44\x60\x50\x85\xc3\ +\x96\xda\x41\xa8\xcc\xdd\x16\x73\xe3\x60\xaf\xb5\x0c\x12\xff\x05\ +\x5f\x45\x81\xe8\xf6\xed\xff\x29\x3c\x64\x0e\xd1\x77\xa1\xcd\x66\ +\x8b\xe2\xef\xe9\xd1\xae\x90\xc8\x53\x30\x32\x41\x90\x04\x55\x40\ +\x00\x90\x7c\xe3\x41\x67\x3c\x04\x65\xb7\xf4\x76\x5b\xdc\x6e\xa7\ +\x73\xa4\xe7\x43\xad\xc6\x16\xe8\xbb\x50\x28\x14\x3e\x02\xf0\xac\ +\xe2\x3f\x01\x06\x00\x38\x2c\x0f\x54\xe7\x24\x21\xce\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x12\x6c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\ +\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\x03\x69\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x35\x2d\x63\x30\x31\x34\x20\x37\x39\ +\x2e\x31\x35\x31\x34\x38\x31\x2c\x20\x32\x30\x31\x33\x2f\x30\x33\ +\x2f\x31\x33\x2d\x31\x32\x3a\x30\x39\x3a\x31\x35\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\ +\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\ +\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\x74\x52\x65\x66\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\ +\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\x52\x65\x66\x23\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\ +\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x30\x43\x31\ +\x42\x46\x41\x46\x35\x41\x33\x39\x32\x45\x31\x31\x31\x41\x36\x37\ +\x39\x38\x32\x45\x39\x30\x31\x31\x30\x33\x32\x43\x43\x22\x20\x78\ +\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\ +\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x32\x39\x39\x37\x43\x38\x33\ +\x33\x46\x32\x41\x33\x31\x31\x45\x32\x38\x38\x34\x36\x39\x36\x46\ +\x46\x33\x43\x35\x45\x44\x30\x33\x36\x22\x20\x78\x6d\x70\x4d\x4d\ +\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\ +\x2e\x69\x69\x64\x3a\x32\x39\x39\x37\x43\x38\x33\x32\x46\x32\x41\ +\x33\x31\x31\x45\x32\x38\x38\x34\x36\x39\x36\x46\x46\x33\x43\x35\ +\x45\x44\x30\x33\x36\x22\x20\x78\x6d\x70\x3a\x43\x72\x65\x61\x74\ +\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\x65\x20\x50\x68\ +\x6f\x74\x6f\x73\x68\x6f\x70\x20\x43\x43\x20\x28\x57\x69\x6e\x64\ +\x6f\x77\x73\x29\x22\x3e\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x44\x65\ +\x72\x69\x76\x65\x64\x46\x72\x6f\x6d\x20\x73\x74\x52\x65\x66\x3a\ +\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\ +\x69\x69\x64\x3a\x63\x62\x39\x36\x32\x37\x37\x63\x2d\x66\x65\x63\ +\x66\x2d\x30\x39\x34\x33\x2d\x39\x63\x33\x39\x2d\x61\x35\x36\x62\ +\x66\x66\x39\x30\x30\x61\x64\x62\x22\x20\x73\x74\x52\x65\x66\x3a\ +\x64\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\ +\x64\x69\x64\x3a\x30\x43\x31\x42\x46\x41\x46\x35\x41\x33\x39\x32\ +\x45\x31\x31\x31\x41\x36\x37\x39\x38\x32\x45\x39\x30\x31\x31\x30\ +\x33\x32\x43\x43\x22\x2f\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x20\x3c\x2f\x72\x64\x66\ +\x3a\x52\x44\x46\x3e\x20\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\ +\x61\x3e\x20\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\x6e\x64\ +\x3d\x22\x72\x22\x3f\x3e\x48\xbe\xf1\xc7\x00\x00\x0e\x99\x49\x44\ +\x41\x54\x78\xda\xdc\x5a\x6b\x70\x5b\xe5\x99\x7e\xce\x45\xd2\x91\ +\x64\xc9\x96\xed\xc4\x8e\xe3\x6b\xc2\xa5\x04\x48\x42\x20\x4e\xb8\ +\x2c\xdd\xd2\x65\x97\x86\x26\xc4\x21\x85\x24\x04\x36\x24\x69\x68\ +\x3b\x3b\xbd\xb7\x69\x61\xb7\x3b\xf4\x4f\xdb\x9d\x94\x81\x05\x66\ +\xa7\x29\xdb\x2d\xdb\x81\x00\x25\x31\x25\x49\xc3\xad\x74\x98\xc2\ +\xd0\x86\x6d\xbb\x69\x73\xa5\x89\x43\x2e\xb6\xe5\xbb\xee\x3a\xd2\ +\x39\x3a\xa7\xef\xfb\x49\xb2\x53\x88\x65\x39\xbe\x24\xce\xf1\x7c\ +\x23\xc9\x3a\x3a\xe7\x7b\x9f\xef\x79\x9f\xf7\xf2\x1d\xc9\xb6\x6d\ +\x14\x3a\xf8\x7b\xc3\x30\x36\xd0\xeb\xb7\xe9\xa3\x86\x49\x3e\x82\ +\xc1\x60\xea\xa1\x87\x1e\x5a\xb5\x76\xed\xda\xf7\x9a\x9b\x9b\x11\ +\x8b\xc5\x0a\x9e\xaf\x28\x8a\x38\xe7\xc6\x1b\x6f\x84\xaa\xaa\x68\ +\x6b\x6b\x83\xc7\xe3\x19\xf6\x7c\x75\xa4\x09\x90\xe1\x0b\x2c\xcb\ +\x7a\x94\xde\x96\x4c\xb6\xf1\x92\x24\xc1\xe7\xf3\x61\xf3\xe6\xcd\ +\xcf\xb4\xb6\xb6\x2e\xaf\xae\xae\x3e\x38\x73\xe6\x4c\xa4\x52\xa9\ +\x61\x7f\x23\xcb\xb2\x18\xc5\x1e\xc5\x9c\x39\xeb\x7c\x18\x9f\x3f\ +\x32\x99\x0c\x6a\x6a\x6a\x2e\xbd\xe3\x8e\x3b\x76\xef\xdc\xb9\x73\ +\x4e\x5f\x5f\x1f\x34\x4d\x1b\x34\x74\xb8\xc1\xe0\x8d\x17\x00\x99\ +\xf3\x65\x3c\xbb\x1f\x1b\x42\x2e\x88\x86\x86\x86\xc6\x96\x96\x96\ +\xdd\x2f\xbe\xf8\xe2\x9c\x70\x38\x0c\xb7\xdb\x2d\x0c\x65\xca\x9f\ +\x6d\x8c\x1b\x03\x78\x12\xe7\x73\xe4\x8d\xcc\x83\xb0\x72\xe5\xca\ +\x5d\xdb\xb7\x6f\x9f\x43\xda\x00\xaf\xd7\x3b\x2c\x03\xc6\xd3\x05\ +\xce\xeb\xc1\x0c\xc8\xaf\x6a\x3a\x9d\x46\x5d\x5d\x5d\xd3\xd2\xa5\ +\x4b\x77\xbd\xf0\xc2\x0b\x73\xba\xba\xba\x84\xc0\x9d\x8d\x09\x17\ +\x0d\x00\x79\x10\x78\xb0\xa1\x0c\x42\x63\x63\x63\xd3\xea\xd5\xab\ +\x77\x6f\xdb\xb6\xed\xca\x8e\x8e\x0e\x01\x42\xfe\x9c\x33\xc7\x45\ +\x01\xc0\xd9\xe8\xcd\x51\xa0\xbe\xbe\xbe\x71\xcd\x9a\x35\xbb\x9e\ +\x7b\xee\xb9\x2b\xdb\xdb\xdb\x07\x41\xb8\xe8\x5c\xe0\x4c\x06\x7c\ +\x98\x09\xb5\xb5\xb5\x02\x84\xe7\x9f\x7f\x5e\x80\x90\x17\xc6\x62\ +\x57\x7f\xca\x68\xc0\x70\x83\x41\x60\x26\xac\x5a\xb5\x6a\xe7\x8e\ +\x1d\x3b\xae\xe0\xe8\xe0\x74\x3a\xc7\x1f\x80\xf3\x19\x05\x46\x02\ +\x81\xdd\x81\xa2\x43\xd3\x9d\x77\xde\xb9\x8b\x40\xf8\x58\x24\x12\ +\x81\xcb\xe5\xba\xb8\x18\x30\x52\xd2\x93\xd3\x84\x59\xb7\xde\x7a\ +\xeb\xee\x97\x5e\x7a\xe9\x63\xcc\x04\x4e\x83\x8b\x39\xd4\xa9\xa0\ +\x01\x6c\x24\xa5\xe3\xc3\x52\x3b\xcf\x84\xa6\xa6\xa6\x59\x14\x02\ +\x77\x51\xda\xfc\x69\x02\xe1\xb0\xdf\xef\x9f\xda\x0c\xc8\x67\x81\ +\xa6\x69\x8a\x15\xe5\xf8\x3e\x1c\x0b\xf2\xc9\x12\x85\xc8\xd9\x77\ +\xdf\x7d\xf7\xae\xc5\x8b\x17\x5f\x31\x6e\x0c\x28\x54\x31\xca\x92\ +\x0c\x33\x63\x8a\x09\x8c\x54\x59\x9e\xcb\xe1\x70\x38\x06\x2b\xc0\ +\x7c\x78\x1b\xe9\x3e\x14\x0d\x66\x6f\xdd\xba\x75\xd7\xbd\xf7\xde\ +\xfb\x77\xc9\x64\xb2\x63\x4c\xd5\xe0\x48\xd4\x8c\xc5\xa2\x90\x64\ +\x12\x24\xfa\xd3\xdc\x14\x8b\x8b\x98\x60\xb1\x87\xc5\xa5\x38\x15\ +\x43\x54\x11\x10\xc5\x75\x44\xe3\x09\x54\x04\xca\xe0\x22\xa5\x2f\ +\x74\x0f\x66\x42\x79\x79\xf9\xac\x8d\x1b\x37\xd6\x53\xe1\xd4\x31\ +\x61\x1a\xc0\x14\xd5\x75\x1d\x91\x58\x04\x8d\x0d\x8d\x08\x87\x07\ +\xe0\x2b\xf1\x8f\x99\x0d\x7c\x5d\x36\x3e\x91\x4c\x8a\xeb\xb3\xe1\ +\x3d\x03\x21\xd4\x4c\x9f\x86\xb2\xd2\xd2\x11\xc3\x5c\xfe\xde\xeb\ +\xd7\xaf\xcf\x4c\xa8\x06\x70\xa9\x3a\x7d\x7a\x15\xdd\x11\xe8\xe8\ +\xec\x40\x75\xd5\x8c\x71\x59\x7d\xbe\x44\x32\xa9\x0b\x00\x32\x24\ +\x7e\xc7\x3b\x3a\x71\x69\x63\x3d\x1a\x67\xd6\x0c\x1a\xc8\xa2\x38\ +\xdc\xc8\x87\x50\x7e\x3f\xe1\xd5\x20\x0b\x54\x53\xe3\x2c\x18\x69\ +\x03\x47\xde\x3f\x4c\xc9\x49\x4a\xb8\xc6\xb9\xc6\x7d\x5e\xdb\x14\ +\x25\x38\xf1\x64\x42\x20\xa1\xd0\xb5\xaa\x2a\xca\x11\x20\x45\x37\ +\xe8\x5e\x7c\x0e\x7f\x9f\x37\x6e\xa4\x1c\x62\xc2\xa3\x40\xfe\x66\ +\x0c\x42\x45\x79\x25\x0e\x1d\x3e\x88\x28\xb9\x04\x8b\xd7\x39\xf9\ +\x3d\x8d\xa4\x9e\x14\xc6\xcb\xb2\x22\x44\x36\xe0\xf3\x91\xd1\x86\ +\x60\x5c\x22\x91\xc4\x40\x24\x8a\xcc\x38\xe9\xcc\xb8\x84\x41\x06\ +\x80\x27\xe7\xf7\xf9\x71\xe5\x9c\xab\x71\xe0\xe0\x01\xa1\x07\x9c\ +\x96\x8e\xd6\xf7\x4d\xc3\x1c\x0c\x7b\xf9\xff\x95\x50\x8e\xcf\x22\ +\x18\x4f\x24\x10\x89\xc7\xd9\xe3\x08\x18\xe9\xc2\x01\x20\x7f\x70\ +\x38\xe4\x82\x64\xee\xd5\xf3\x05\x08\xfd\x03\x7d\x02\x84\x62\xe9\ +\xc8\xc6\x26\x88\xfa\xa2\x11\x6b\x66\x90\x26\x35\x97\xc8\x5c\xfe\ +\xe3\xf7\x31\xd2\x05\x9d\x5e\x5d\xc4\x2e\x25\xe7\x66\x93\x02\xc0\ +\x68\x7c\x98\x57\x4f\xa3\x5c\x7c\xfe\xbc\x05\x38\x78\xe8\x00\x7a\ +\x7b\xbb\x29\x6c\xb9\x46\xee\xfc\x90\xf1\xe1\x68\x14\x5d\x7d\xfd\ +\x88\xeb\x29\x38\x28\x92\x38\x54\x85\x50\xa1\x54\x97\x58\x91\x24\ +\x17\xe0\x57\x95\xfe\xcf\x8c\x28\xb6\x8e\x38\x2f\x99\x20\xbb\x03\ +\x17\x24\x0b\xe6\x5f\x87\x43\x47\x0e\xa1\xab\xbb\xb3\x60\x81\xa2\ +\x28\x32\xc2\x94\xec\x74\xf7\xf6\xc3\xe7\xf5\xc2\x47\x89\x0b\x83\ +\xc8\x42\x77\x82\x22\xc0\xb1\x93\xa7\x70\x3a\xd8\x45\xee\x91\x46\ +\x65\x59\x19\xe9\x8b\x3a\x6e\xb9\xc6\x84\xd5\x02\x0c\x02\xd3\xff\ +\xba\x05\xcd\x78\xef\xf7\xbf\xa3\x70\x96\x41\xcd\x8c\xda\x8f\xb4\ +\xb4\x39\x67\x88\x50\x32\xd5\x4d\x2b\x5f\xe2\x71\x8b\xcf\x6e\xcd\ +\x45\x54\x4f\x23\x41\x4c\xa8\x9e\x56\x41\x4c\x70\x90\x26\x28\xf0\ +\x72\xbd\xcf\x39\x42\x11\xe1\x6d\x5c\x01\x38\x57\xb4\xf3\x62\xb6\ +\xf0\xda\x45\xd8\xfb\x7f\xbf\x45\x86\xfc\xba\xae\xb6\x81\x14\x5d\ +\xa7\x55\x74\x91\x66\x28\x44\xfb\xfe\xac\xf1\xee\xac\xf1\x5e\x02\ +\x81\x69\x2f\xd1\x68\xa0\xb8\x2f\x53\x96\x99\xa5\x74\x4e\x6c\x47\ +\x61\x7c\x31\xf3\x9e\xf0\x62\x88\x99\xa0\x28\x2a\x16\x2d\x5c\x8c\ +\xb6\x0f\xda\x70\xe2\xd4\x71\x68\x5a\x89\xd0\x07\x3d\xfc\x16\x7a\ +\xfa\xc3\x43\xc6\xf3\x0a\xd3\xb9\x2c\x86\x7e\xaf\x07\x36\x19\x6b\ +\x12\x68\x99\xcc\x50\x82\x33\xde\xc7\xa4\x94\xc3\x16\xd1\x9f\x63\ +\xfa\xe2\xe6\xeb\xf1\xa7\xfd\xfb\xb1\x73\xcf\xaf\xd1\x54\xfa\x0c\ +\xe6\x55\xe9\x30\xdc\x0f\x22\x29\xdf\x4c\xc6\x5b\x90\xd5\xac\x6f\ +\xbb\xc8\xc7\x79\xc9\xed\x49\x98\xdb\xa4\x95\xc3\xbc\x82\x9a\xe6\ +\xc1\x9f\xf7\xbf\x0f\x35\xf6\x28\x5a\x16\x86\x60\x87\x75\x94\x2b\ +\xcf\x10\x03\x4c\xc8\x0e\x8f\x30\xde\xa9\x66\xeb\x08\x7b\x92\xe6\ +\x55\xcc\xde\xe0\x38\x51\x8f\x0a\x27\xd2\xbf\x1b\x2e\x7b\x0b\x73\ +\xff\x91\xf4\xc1\x9a\x05\xb3\xff\x24\x1c\xae\xbf\xc0\xe7\xf8\x31\ +\x62\xea\xd7\xe0\x74\x78\x89\xf6\xc9\xc9\x6d\xb6\x4c\xd6\x8d\x38\ +\x71\x89\x25\xa2\xa8\x68\x58\x06\x13\x0d\x24\x8e\xa7\xa0\x06\x02\ +\xb0\x52\x2a\x9c\xfa\x76\x94\x26\xbe\x0e\xc5\x38\x48\x38\x79\x04\ +\x58\x17\x15\x00\x5c\x1c\x71\x71\xd3\xd3\x1b\x84\x2e\xdd\x84\x36\ +\xf3\x31\x1c\xef\xbf\x99\x98\xd5\x03\xd9\x45\x53\xb0\x64\x28\x99\ +\x77\xe1\x8e\x3e\x00\x67\xea\x67\x70\x6a\xbe\x51\xf5\xf6\x27\x1c\ +\x80\x33\x4b\xcc\x51\xef\xed\x91\xa2\xc7\xa9\xac\xed\xa2\x24\x87\ +\x55\xde\xa1\x70\xb5\x48\x51\xa0\x7f\x1d\xba\xad\x0d\xa4\xfe\x71\ +\xc0\xe9\x87\xed\xbb\x9a\x0a\x21\x27\x5c\xa1\xef\x61\xdf\xef\xfe\ +\x87\x42\xa4\x43\x14\x54\x63\xed\x28\x9f\x37\x06\x88\x3d\x3d\xb1\ +\xf2\x49\x11\xe7\xbd\x6e\x2d\x97\xe4\x68\x28\x0f\xf8\xb0\x60\x4e\ +\x2d\xbc\x55\x9f\x43\x5a\x6e\x86\xa4\x4a\xc8\x44\x3a\xa1\x9f\xda\ +\x47\x61\x30\x85\x3f\xfe\xea\x41\x3c\xf4\xaf\x0f\xa3\x33\x18\x1c\ +\xdc\xfb\x9b\x32\x2e\x90\xef\xd7\x73\xfc\x0f\xe5\x72\x7b\xaf\xa6\ +\x0d\x26\x39\x1c\xe7\xf9\x3b\xaf\x9b\xca\x65\x5b\x42\xca\xf3\x39\ +\xd8\x7a\x08\xae\xe4\x01\xb8\x4a\x3c\xd0\x13\x2e\x2c\x5f\x12\x40\ +\xba\xf3\xa7\x78\xe0\xf3\x5f\x47\x6b\xeb\x0e\xb1\x9a\xe7\x5a\x5e\ +\x4f\x5a\x31\x24\xfa\xf7\x64\xa4\x49\x49\x4b\x9c\xaa\xb6\xfc\x50\ +\x45\x51\xa3\xc2\x4b\x89\x8d\x4c\x29\x2d\xbb\x93\x43\x96\x44\x72\ +\x63\x5b\x09\x98\xea\x7c\x24\x4a\xfe\x03\x7b\x0f\x57\xc0\xd2\xbc\ +\xd8\xfe\x2b\x07\xee\xfa\x66\x25\xee\xba\xa3\x1c\x15\xca\xef\xf1\ +\xfd\x2d\x4f\xe2\x87\x8f\x6c\xa1\xf2\x3a\x34\x58\x59\x5e\x70\x2e\ +\xc0\x49\x8e\x45\xf7\xe3\xde\x5d\x84\x8a\x1a\x23\x9d\x66\xd8\xe0\ +\xa6\x82\xc6\x5f\xe2\x15\xc6\xf3\x74\x32\x94\x1a\x3b\x14\xe9\x6f\ +\x63\x3c\x85\x3d\xc5\x7b\x0b\xf6\xf5\x7e\x0b\x1b\xbe\x61\x21\xe0\ +\x24\x36\x48\x61\x7c\xf7\xa9\x0a\xac\x5c\xe2\xc1\x4c\xdf\x69\xec\ +\xf8\xc5\xeb\xd8\xf2\x43\x06\x21\x3c\xea\x1e\xc3\x84\x03\x20\xf6\ +\xe8\x4c\x03\x51\x32\x9c\x9b\x16\x8a\xd8\xcf\xe7\x56\x79\x46\x0c\ +\x85\xc0\x89\x27\x92\x08\x85\x23\x94\xe1\x29\x38\xdb\xc2\x18\xe9\ +\x08\xd6\xde\xd3\x82\xe9\x97\xaf\xc5\xa3\xcf\xba\xb1\xee\xb6\x2e\ +\x78\x94\x01\x3c\xfe\xf3\x69\xb8\xeb\x36\x27\x6a\xfd\xdd\x78\xf5\ +\xf5\x77\xf0\xf8\x13\xff\x89\x34\x15\x53\x9c\x5a\x5f\x10\x2e\x20\ +\x26\x4f\xb9\x3a\xaf\x7a\x67\x4f\x2f\x22\xd1\x18\x81\x61\x8a\x8e\ +\xae\x83\x26\xc9\x35\x3d\x47\xf4\x8e\xee\x1e\xa1\x03\xf9\x82\xe6\ +\xc3\x23\x9f\xeb\x6f\xda\xb0\x1a\x72\xe9\x3c\xfc\xa8\xb5\x0c\x2d\ +\x37\x06\x89\x09\xfd\x78\x6a\x77\x15\x56\xdf\xee\x40\x43\xa0\x1b\ +\xad\xbf\x78\x03\x3f\xfd\xdf\xa7\x45\x65\x58\xac\x6b\x4e\x38\x03\ +\x74\xa2\xbb\x9e\x4a\xa3\xba\xb2\x42\x54\x6f\x1e\x32\x94\xf7\x08\ +\x38\x02\xb0\xef\x87\xc9\x2d\xd8\x38\xaf\x47\x2b\x58\xc6\x66\xb7\ +\xb6\x66\x61\xdd\xda\xcf\xc0\x50\x67\xe0\xe9\x57\x2a\xb0\x64\x61\ +\x37\x34\xb9\x1f\x3f\xd9\x53\x85\xfb\x96\xbb\x70\x75\x6d\x10\x3f\ +\x7a\xea\x39\xbc\xf6\xfa\x1b\x94\x56\xbb\xcf\xbf\x0b\x30\xc2\x1e\ +\x97\x13\x35\xd3\x2a\x51\xea\x2b\xc9\x7e\xa6\x70\xc7\x83\x97\x3e\ +\x65\x18\xa2\x95\xc5\x1d\xdd\x62\xb6\xac\x79\x0f\x60\xc9\x92\xdb\ +\xb1\x72\xc5\xed\x30\xe5\x0a\x3c\xff\x66\x00\xcb\x9a\xbb\xe0\xb0\ +\xfb\xf1\x44\x6b\x15\x36\xae\xf6\x61\xd9\xc2\x0f\xf0\xc8\x96\x47\ +\x70\xf2\xe4\xe9\x71\x89\x0c\x63\x6e\x8b\xb3\x61\xf9\xa6\x68\xfe\ +\x55\x6c\x8c\x90\x2a\x8a\x16\x16\xd1\xb5\xc4\xeb\xa6\xd5\x1f\x99\ +\xae\xf9\x6b\xac\xbf\x7f\x03\x56\xdd\xbd\x1c\x86\x52\x89\x6d\x6f\ +\x96\xe1\xbe\x5b\xbb\xe1\x56\x43\xf8\xce\xd6\x4a\xdc\xb9\x7c\x06\ +\x1e\xfb\xea\x3e\x94\xa8\x7f\x14\xc9\xd2\x05\xd3\x16\x1f\x4c\x7e\ +\xf8\x61\x26\x5a\xf5\x38\x51\x9a\x9b\x17\x5e\xb7\x07\x5a\xae\x27\ +\x58\x6c\x13\x85\xaf\xb1\xe9\xb3\x0f\xe0\xf3\x9b\xd6\x21\xa5\xd4\ +\x60\xdb\xab\x1a\xfe\x6d\x5d\x3f\x1c\x08\xe3\xbf\x5b\x5d\xb8\x66\ +\xb1\x07\x15\xa5\xfd\x74\xfd\xb1\xd7\x0c\xea\x78\x00\x70\xe6\x76\ +\x96\x4e\x25\x5f\x82\xa8\xcc\x3e\x50\xea\xf7\x51\x28\x74\x12\xca\ +\x59\xa1\x43\x2e\x00\x16\xc2\x82\x4d\xe2\xbd\x3d\x06\x61\xcd\x9a\ +\x7b\xd0\xd0\xd8\x80\xef\xfd\xe0\xbf\xb0\xe7\xad\xdf\xa2\xf5\xb1\ +\x30\xad\x7a\x8c\xe2\xe9\x4c\xe8\x8e\x85\x14\x42\x53\x63\xae\x9b\ +\xc6\xdc\x12\xe3\x89\x3a\x28\x36\x33\xc5\x8f\x1c\x6d\x43\x4c\x4f\ +\x8a\xfd\xbb\x24\xa5\xc0\xe1\xb6\x08\xca\xc9\xff\xcb\x2b\x02\xe2\ +\x7f\x4e\xa7\x43\xd4\x06\x3c\x78\x43\x35\x8f\x86\x70\xa3\x1c\x30\ +\x96\x6d\x09\xf7\xe1\xf7\xb1\x84\x8e\xd9\x97\x5c\x81\x8d\x9f\xbd\ +\x1f\x6f\xbe\x62\x93\x2e\x04\x21\x53\xa1\x14\xb4\xbe\x42\xa2\x3a\ +\x8f\x0a\xa8\x04\x38\xe5\x18\xd3\x3e\xe4\x48\x3f\x4e\xa7\xd3\x2d\ +\xe1\x50\x68\xc7\xd9\x44\xcc\xc6\xdf\x3e\xbe\x22\xf6\xf3\x68\xf5\ +\xb9\x0f\xc8\xdb\x57\xdc\xd2\xe2\x9d\x5c\x7e\xb4\x95\x13\x18\x65\ +\x30\xa7\xb7\x3f\xc4\x9e\xdc\xda\x4b\x43\xa0\xf0\x26\x19\x47\x0d\ +\x06\xd2\x14\xa1\x55\x26\xd0\x18\x2c\x15\x9a\xcb\x43\x39\x45\xbe\ +\x40\xb3\x30\x5c\xf7\xa4\x2c\x10\x68\xa6\xb9\xbc\x37\x26\x06\x38\ +\x55\xe8\x4e\xc5\xc6\xf0\x22\x3e\x44\x6b\xbf\xc7\x81\x52\xaf\x4b\ +\xfc\x4f\x92\xbc\x43\x1a\xc1\x2b\x0a\x13\xb6\x55\xf0\x12\x1f\x9d\ +\x1c\xdd\xd3\xe5\xe5\x87\x9e\xb4\x9c\xd8\x66\x6f\x64\xd9\x46\x4e\ +\x80\x0b\xb7\x0e\x54\x55\x4a\x9e\xb3\x0b\x1c\xed\xcf\x2c\x7a\xf1\ +\x60\x7a\xb3\x82\x4c\x8d\x61\x38\x47\xd5\xa4\x48\x9a\x9c\x08\x51\ +\x1e\x40\x2b\x66\x58\x3c\x24\x52\xf1\xe1\x0d\x3d\x53\x00\xd8\x48\ +\xfa\x39\xfd\xb6\xd0\xf9\xc5\x3d\x09\xaa\x38\xf4\xc7\x03\x6e\xe5\ +\xe8\xfa\x6b\xb4\x7f\x51\x65\xa4\x46\x05\x40\x77\xc2\xae\x7f\xe5\ +\x58\xba\x45\x4c\x5c\x2a\xfe\xd1\x53\x86\x69\xd9\x25\x32\xfe\xd4\ +\xa9\xe3\x40\xd8\x89\xb9\xd3\x64\xcc\x29\x33\xf0\xf2\x31\xb2\x46\ +\x76\x90\x72\xdb\xe2\x24\x35\x87\x27\x7f\xcc\xf0\x57\x52\x7e\x48\ +\xa8\xd6\x4c\xb4\x27\x24\xd1\x1a\x37\xad\xac\x67\x28\xe7\x20\x76\ +\x46\xc6\xfc\xfb\x19\x3e\x6b\xde\x3f\xcf\xd7\xbe\x4c\x66\xa4\x46\ +\x1b\x06\xcd\x4c\x6e\x35\x4c\x9a\x65\xa1\xc1\x3b\xb5\x3c\x4c\x41\ +\x4f\x60\xc5\xa5\x12\x6a\x1c\x54\x0a\xc7\x6d\xd4\xf9\x80\xe5\x8d\ +\x69\xf1\x4c\x5f\xd4\x00\x02\x6e\x09\x25\x0e\x1b\x91\xb4\x2d\x98\ +\xc2\x5e\x51\xeb\x97\xa1\x12\x5b\x42\x34\xc5\x7f\x9a\xa5\xe0\x0b\ +\x57\xe9\xc2\xef\xf5\x0c\x50\xed\x93\xe1\x23\x02\xf2\xfb\x2c\x58\ +\xb9\x7b\x59\x45\x0c\x21\xaa\x88\x15\xe2\x92\x5a\xc8\xfa\x68\x8a\ +\x0b\x1a\xe9\x23\x2b\x3c\x24\x5c\x79\xe5\xe6\x6d\x6d\x5b\xac\x16\ +\xdf\x6a\x80\x3c\xaf\xb6\xd4\x89\xf9\xd3\x80\x2a\xb7\x4d\x9f\x2d\ +\x1c\xed\x35\xf1\xd5\x9b\x80\x4f\xd5\x26\x45\x4f\xe0\xc9\x3f\x64\ +\xf0\xfa\x29\x19\x8f\x7d\x42\x12\x85\xd4\xf4\x52\x0f\xbe\xfb\x76\ +\x0a\xd7\x54\x78\x71\xd9\x74\x0d\x57\x68\x7d\x98\xdf\x54\x89\x19\ +\x94\x00\x55\xfa\xdd\x78\xe1\xa0\x81\x3d\xa7\x35\x78\x1d\x43\x4c\ +\x91\xce\x70\x9b\xb3\x49\x89\x41\xf3\x49\xb8\x0a\xbb\xde\xb0\x00\ +\xf0\x56\x16\xab\x3a\x1c\x43\x37\x82\x9d\xdd\xbf\xcf\x58\x59\x63\ +\x8d\xdc\x2b\x7f\xb6\x04\x53\xb2\x54\x8d\xa7\xbc\xb8\x61\x26\x50\ +\xef\xee\x43\x5d\xa5\x07\x3d\x51\x13\x97\x95\x1a\xf8\x4c\x63\x1c\ +\x4b\x9f\x6e\xc7\x55\x8d\xd3\xf1\xf0\xcd\x4e\xb4\xf7\x45\x09\x24\ +\x3f\x9e\xe9\x94\xb0\xf7\xd4\x00\x0e\xb4\x9b\x78\xed\xa8\x0a\x2b\ +\x16\x47\xeb\x11\x03\x5f\xba\x29\x83\x7d\xed\x12\x76\x1f\x8a\x63\ +\xef\xf1\x38\x82\x89\x52\xb8\x94\x2c\x00\x7c\x1f\x85\xde\x70\x6f\ +\x81\xfc\x9b\x86\x24\xfe\x9f\x9f\xa7\x2d\x5c\x80\x58\xe6\x52\x91\ +\x6d\xb2\x4b\xa3\x04\x20\xc3\x00\xc4\x21\x99\x92\xa0\x9c\x91\xc9\ +\x5e\x50\x50\xde\xca\xae\x78\x1e\x59\xe9\x0c\x7f\xb6\xe9\xbd\x93\ +\x72\xb6\x2d\x6f\x76\xe2\xc7\xfb\x14\x3c\x70\xbd\x8d\xfb\xaf\x92\ +\xe1\x97\x75\x02\xc6\x81\xfd\x03\x32\x2c\x8f\x01\x0f\x95\xc9\xc7\ +\x83\x03\xd8\xfc\x4a\x1a\x9f\xac\x97\xb0\x6c\x51\x19\xba\x93\x61\ +\x84\x13\x29\x24\xd3\xa4\x01\x31\x13\x9b\xf7\xf4\xe0\xb6\x46\xe0\ +\xae\x2b\xfd\x98\x5d\x2e\xe1\x0b\xbf\x0c\xc1\xa6\x5c\x42\xca\x99\ +\x34\x74\x7f\x49\x00\xc2\x40\x70\xbf\x81\x07\x83\xc3\x2c\x4e\xb9\ +\x1c\xe7\x16\x05\xb8\x79\x11\x89\x84\x90\xa0\x0b\x19\xb9\x15\xe6\ +\x1b\x16\xaa\x69\xf2\x00\x28\x19\x0f\x24\xcb\x40\x16\x29\x32\x96\ +\x7e\xf4\xce\xd1\x3e\x9c\xbc\x56\xc3\xcf\x96\xfb\x30\xbd\x44\xc5\ +\x8e\xf7\x4e\xd0\x3d\x6c\xac\x9a\x13\xc0\xcb\xb4\xc2\x97\x54\x10\ +\xd8\xd1\x4e\x02\xa1\x1c\x0b\x08\x8c\xb5\xb3\x43\xf8\xd4\xe5\x2e\ +\xbc\xdf\x63\xe0\x60\x30\x01\x35\x36\x80\x74\x22\x0d\x39\x73\x76\ +\x4e\x1b\xf9\x0c\x53\xca\x0a\x9b\x9a\x53\xcd\x4a\xa7\x36\xf4\xc5\ +\x68\x00\xe0\x7c\x3e\x3c\x10\x82\xcb\x25\xe7\x7e\x5a\x9c\x0c\xb3\ +\x8b\x7c\xf1\xe7\x61\x1c\x1f\x48\x13\x0f\x34\xbc\x71\x20\x86\x63\ +\x6d\x29\xf4\xc6\x14\xac\x7e\xb6\x0d\x2d\x97\xaa\x22\xc3\x7b\xe9\ +\x2f\x26\xe5\xf9\x1e\x7c\xe7\x97\x1f\xe0\xfa\x1a\x19\x0f\xbf\x7c\ +\x0a\xaf\x9d\x04\x15\x4e\x16\xbe\x6d\xf4\xe1\xfd\xce\x38\xde\x3e\ +\x1e\xc1\xed\xb3\x1d\xd8\x79\x2a\x85\x5d\x47\xd3\x62\xcf\xc0\x48\ +\xa6\x8a\xc9\x5d\x85\xe4\xa7\x09\xe0\x90\xd3\x53\x30\xfa\xaa\x85\ +\xf6\xf3\x60\xe8\x48\x59\x02\x8d\x51\x85\x9f\x37\x7a\x6d\x76\x50\ +\x1a\x3a\x8e\x45\x80\x63\x7c\x0d\xd2\x92\x9e\xa8\x8d\xad\x1d\xd9\ +\x30\x98\x0d\xf4\x21\xbc\x3b\x00\xbc\x7b\xc0\xe2\xbe\x9a\x38\x67\ +\x80\xc0\xf9\x49\xbb\x95\xe5\xb3\x94\xc2\x93\x27\x72\x71\xd0\x99\ +\x3d\x7f\x54\x33\x21\xb1\x4d\xa7\x0b\x3f\x49\x32\x3c\x00\x7a\x54\ +\xc6\xe9\xfd\xa8\xae\xaf\xc2\x75\x73\x9b\x84\x26\x4c\x99\x23\x17\ +\x21\x7e\xf3\x87\x23\x48\x07\x55\x2a\x45\x6f\x1e\x3d\x00\x8a\x1e\ +\xda\x8f\xff\x7f\xf5\xc4\xb5\x97\xdc\xd2\xb0\x63\x53\x8b\x78\x3e\ +\x67\xea\xd8\x9f\x15\xc1\x45\x6f\xb7\x22\x78\x3a\xb6\x47\xb2\xd7\ +\xe9\xa3\x06\xe0\x1f\x16\xcd\x3d\x72\xcf\x86\x15\x4b\x4f\x06\xbb\ +\x5b\x63\x29\x73\x76\x3c\x95\x99\x52\x00\x08\xaf\x71\x69\xcf\x3e\ +\xf1\xe0\xea\x4d\x9a\xcb\x69\x8d\xba\x21\xe2\xd1\x9c\xf8\xc1\x57\ +\xee\xfd\x73\x55\x45\xd9\xbf\xa7\x0d\x13\x53\xed\xb0\x44\xd8\xc2\ +\x23\x37\xcc\xbb\x3c\x5d\x28\x72\x15\xac\x06\x03\x7e\x2f\x56\xdc\ +\xd2\x1c\xe5\xa7\x34\x26\xe2\xe9\x8c\x89\x3c\x78\xbe\xf7\x7d\xfa\ +\xe3\x92\x57\x73\x8d\xad\x1f\x00\x2b\xb3\xe2\xe4\xe9\xf6\xed\x92\ +\x24\x4d\x39\x16\xd4\xd5\xd5\x2d\xa2\x97\xbd\x63\xea\x09\x26\x53\ +\xa3\x8c\x81\x17\xd0\x41\x05\xd8\x88\x73\x1f\xb1\x21\x22\xcb\xf2\ +\x3b\xf4\xf2\x16\x31\xe5\xe3\x53\xc9\x03\x88\xb1\xad\x34\xf7\xc3\ +\x23\x9d\xf8\x57\x01\x06\x00\x89\x1b\xb8\x83\xb7\x34\x04\xe3\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x04\ +\x00\x06\xfa\x5e\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\ +\x00\x07\ +\x09\xcb\xb6\x93\ +\x00\x62\ +\x00\x75\x00\x74\x00\x74\x00\x6f\x00\x6e\x00\x73\ +\x00\x03\ +\x00\x00\x70\x37\ +\x00\x69\ +\x00\x6d\x00\x67\ +\x00\x0e\ +\x0e\x53\xf5\x27\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x66\x00\x65\x00\x74\x00\x63\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x00\x4b\xdd\x67\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x65\x00\x78\x00\x69\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0e\ +\x03\xf4\xfc\x47\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x0e\x49\xe6\x87\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x75\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x04\x2c\x64\x87\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x75\x00\x70\x00\x64\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x10\ +\x0e\x4e\x2b\xa7\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x5f\x00\x72\x00\x65\x00\x73\x00\x74\x00\x6f\x00\x72\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0c\ +\x09\xf7\x1c\xa7\ +\x00\x75\ +\x00\x74\x00\x6c\x00\x5f\x00\x69\x00\x63\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x0a\ +\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ +\x00\x00\x00\x22\x00\x02\x00\x00\x00\x06\x00\x00\x00\x04\ +\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x00\x07\x7d\ +\x00\x00\x00\x70\x00\x00\x00\x00\x00\x01\x00\x00\x10\x77\ +\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x21\x8f\ +\x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x19\xde\ +\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x2c\x1a\ +\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x22\x00\x02\x00\x00\x00\x01\x00\x00\x00\x0b\ +\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x35\xf8\ +" + +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/qthostsui.py b/qthostsui.py new file mode 100644 index 0000000..d9f26df --- /dev/null +++ b/qthostsui.py @@ -0,0 +1,280 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'qthostsui.ui' +# +# Created: Mon Jul 22 15:51:02 2013 +# by: PyQt4 UI code generator 4.10.2 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_HostsUtlMain(object): + def setupUi(self, HostsUtlMain): + HostsUtlMain.setObjectName(_fromUtf8("HostsUtlMain")) + HostsUtlMain.setEnabled(True) + HostsUtlMain.resize(640, 360) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(HostsUtlMain.sizePolicy().hasHeightForWidth()) + HostsUtlMain.setSizePolicy(sizePolicy) + HostsUtlMain.setMinimumSize(QtCore.QSize(640, 360)) + HostsUtlMain.setMaximumSize(QtCore.QSize(640, 360)) + HostsUtlMain.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/img/utl_icon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + HostsUtlMain.setWindowIcon(icon) + HostsUtlMain.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) + HostsUtlMain.setSizeGripEnabled(False) + HostsUtlMain.setModal(False) + self.Prog = QtGui.QProgressBar(HostsUtlMain) + self.Prog.setGeometry(QtCore.QRect(10, 320, 500, 25)) + self.Prog.setAlignment(QtCore.Qt.AlignCenter) + self.Prog.setTextVisible(True) + self.Prog.setInvertedAppearance(False) + self.Prog.setObjectName(_fromUtf8("Prog")) + self.ConfigBox = QtGui.QGroupBox(HostsUtlMain) + self.ConfigBox.setGeometry(QtCore.QRect(10, 20, 240, 90)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.ConfigBox.sizePolicy().hasHeightForWidth()) + self.ConfigBox.setSizePolicy(sizePolicy) + self.ConfigBox.setObjectName(_fromUtf8("ConfigBox")) + self.layoutWidget = QtGui.QWidget(self.ConfigBox) + self.layoutWidget.setGeometry(QtCore.QRect(10, 30, 221, 50)) + self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) + self.configLayout = QtGui.QGridLayout(self.layoutWidget) + self.configLayout.setMargin(0) + self.configLayout.setObjectName(_fromUtf8("configLayout")) + self.labelIP = QtGui.QLabel(self.layoutWidget) + self.labelIP.setObjectName(_fromUtf8("labelIP")) + self.configLayout.addWidget(self.labelIP, 0, 0, 1, 1) + self.SelectMirror = QtGui.QComboBox(self.layoutWidget) + self.SelectMirror.setObjectName(_fromUtf8("SelectMirror")) + self.configLayout.addWidget(self.SelectMirror, 0, 1, 1, 1) + self.labelMirror = QtGui.QLabel(self.layoutWidget) + self.labelMirror.setObjectName(_fromUtf8("labelMirror")) + self.configLayout.addWidget(self.labelMirror, 1, 0, 1, 1) + self.SelectIP = QtGui.QComboBox(self.layoutWidget) + self.SelectIP.setObjectName(_fromUtf8("SelectIP")) + self.SelectIP.addItem(_fromUtf8("")) + self.SelectIP.setItemText(0, _fromUtf8("IPv4")) + self.SelectIP.addItem(_fromUtf8("")) + self.SelectIP.setItemText(1, _fromUtf8("IPv6")) + self.configLayout.addWidget(self.SelectIP, 1, 1, 1, 1) + self.StatusBox = QtGui.QGroupBox(HostsUtlMain) + self.StatusBox.setGeometry(QtCore.QRect(10, 120, 240, 90)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.StatusBox.sizePolicy().hasHeightForWidth()) + self.StatusBox.setSizePolicy(sizePolicy) + self.StatusBox.setObjectName(_fromUtf8("StatusBox")) + self.layoutWidget1 = QtGui.QWidget(self.StatusBox) + self.layoutWidget1.setGeometry(QtCore.QRect(10, 30, 221, 40)) + self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1")) + self.StatusLayout = QtGui.QGridLayout(self.layoutWidget1) + self.StatusLayout.setMargin(0) + self.StatusLayout.setObjectName(_fromUtf8("StatusLayout")) + self.labelConn = QtGui.QLabel(self.layoutWidget1) + self.labelConn.setObjectName(_fromUtf8("labelConn")) + self.StatusLayout.addWidget(self.labelConn, 0, 0, 1, 1) + self.labelConnStat = QtGui.QLabel(self.layoutWidget1) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.labelConnStat.setFont(font) + self.labelConnStat.setObjectName(_fromUtf8("labelConnStat")) + self.StatusLayout.addWidget(self.labelConnStat, 0, 1, 1, 1) + self.labelOS = QtGui.QLabel(self.layoutWidget1) + self.labelOS.setObjectName(_fromUtf8("labelOS")) + self.StatusLayout.addWidget(self.labelOS, 1, 0, 1, 1) + self.labelOSStat = QtGui.QLabel(self.layoutWidget1) + font = QtGui.QFont() + font.setBold(True) + font.setWeight(75) + self.labelOSStat.setFont(font) + self.labelOSStat.setObjectName(_fromUtf8("labelOSStat")) + self.StatusLayout.addWidget(self.labelOSStat, 1, 1, 1, 1) + self.FunctionsBox = QtGui.QGroupBox(HostsUtlMain) + self.FunctionsBox.setGeometry(QtCore.QRect(260, 20, 250, 290)) + self.FunctionsBox.setObjectName(_fromUtf8("FunctionsBox")) + self.Functionlist = QtGui.QListWidget(self.FunctionsBox) + self.Functionlist.setGeometry(QtCore.QRect(10, 20, 230, 260)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.Functionlist.sizePolicy().hasHeightForWidth()) + self.Functionlist.setSizePolicy(sizePolicy) + self.Functionlist.setObjectName(_fromUtf8("Functionlist")) + self.frame = QtGui.QFrame(HostsUtlMain) + self.frame.setGeometry(QtCore.QRect(520, 30, 110, 280)) + self.frame.setFrameShape(QtGui.QFrame.NoFrame) + self.frame.setFrameShadow(QtGui.QFrame.Raised) + self.frame.setLineWidth(0) + self.frame.setObjectName(_fromUtf8("frame")) + self.ButtonBackup = QtGui.QPushButton(self.frame) + self.ButtonBackup.setGeometry(QtCore.QRect(0, 10, 48, 48)) + self.ButtonBackup.setText(_fromUtf8("")) + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_backup.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonBackup.setIcon(icon1) + self.ButtonBackup.setIconSize(QtCore.QSize(32, 32)) + self.ButtonBackup.setObjectName(_fromUtf8("ButtonBackup")) + self.ButtonUpdate = QtGui.QPushButton(self.frame) + self.ButtonUpdate.setGeometry(QtCore.QRect(60, 70, 48, 48)) + self.ButtonUpdate.setText(_fromUtf8("")) + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_fetch.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonUpdate.setIcon(icon2) + self.ButtonUpdate.setIconSize(QtCore.QSize(32, 32)) + self.ButtonUpdate.setObjectName(_fromUtf8("ButtonUpdate")) + self.ButtonRestore = QtGui.QPushButton(self.frame) + self.ButtonRestore.setGeometry(QtCore.QRect(60, 10, 48, 48)) + self.ButtonRestore.setText(_fromUtf8("")) + icon3 = QtGui.QIcon() + icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_restore.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonRestore.setIcon(icon3) + self.ButtonRestore.setIconSize(QtCore.QSize(32, 32)) + self.ButtonRestore.setObjectName(_fromUtf8("ButtonRestore")) + self.ButtonApply = QtGui.QPushButton(self.frame) + self.ButtonApply.setGeometry(QtCore.QRect(0, 220, 48, 48)) + self.ButtonApply.setText(_fromUtf8("")) + icon4 = QtGui.QIcon() + icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_apply.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonApply.setIcon(icon4) + self.ButtonApply.setIconSize(QtCore.QSize(32, 32)) + self.ButtonApply.setObjectName(_fromUtf8("ButtonApply")) + self.ButtonExit = QtGui.QPushButton(self.frame) + self.ButtonExit.setGeometry(QtCore.QRect(60, 220, 48, 48)) + self.ButtonExit.setText(_fromUtf8("")) + icon5 = QtGui.QIcon() + icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_exit.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonExit.setIcon(icon5) + self.ButtonExit.setIconSize(QtCore.QSize(32, 32)) + self.ButtonExit.setObjectName(_fromUtf8("ButtonExit")) + self.ButtonCheck = QtGui.QPushButton(self.frame) + self.ButtonCheck.setGeometry(QtCore.QRect(0, 70, 48, 48)) + self.ButtonCheck.setText(_fromUtf8("")) + icon6 = QtGui.QIcon() + icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/buttons/img/icon_update.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.ButtonCheck.setIcon(icon6) + self.ButtonCheck.setIconSize(QtCore.QSize(32, 32)) + self.ButtonCheck.setObjectName(_fromUtf8("ButtonCheck")) + self.InfoBox = QtGui.QGroupBox(HostsUtlMain) + self.InfoBox.setGeometry(QtCore.QRect(10, 220, 240, 90)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.InfoBox.sizePolicy().hasHeightForWidth()) + self.InfoBox.setSizePolicy(sizePolicy) + self.InfoBox.setObjectName(_fromUtf8("InfoBox")) + self.layoutWidget2 = QtGui.QWidget(self.InfoBox) + self.layoutWidget2.setGeometry(QtCore.QRect(10, 20, 221, 59)) + self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) + self.InfoLayout = QtGui.QGridLayout(self.layoutWidget2) + self.InfoLayout.setMargin(0) + self.InfoLayout.setObjectName(_fromUtf8("InfoLayout")) + self.labelVersion = QtGui.QLabel(self.layoutWidget2) + self.labelVersion.setObjectName(_fromUtf8("labelVersion")) + self.InfoLayout.addWidget(self.labelVersion, 0, 0, 1, 1) + self.labelVersionData = QtGui.QLabel(self.layoutWidget2) + self.labelVersionData.setObjectName(_fromUtf8("labelVersionData")) + self.InfoLayout.addWidget(self.labelVersionData, 0, 1, 1, 1) + self.labelRelease = QtGui.QLabel(self.layoutWidget2) + self.labelRelease.setObjectName(_fromUtf8("labelRelease")) + self.InfoLayout.addWidget(self.labelRelease, 1, 0, 1, 1) + self.labelReleaseData = QtGui.QLabel(self.layoutWidget2) + self.labelReleaseData.setObjectName(_fromUtf8("labelReleaseData")) + self.InfoLayout.addWidget(self.labelReleaseData, 1, 1, 1, 1) + self.labelLatest = QtGui.QLabel(self.layoutWidget2) + self.labelLatest.setObjectName(_fromUtf8("labelLatest")) + self.InfoLayout.addWidget(self.labelLatest, 2, 0, 1, 1) + self.labelLatestData = QtGui.QLabel(self.layoutWidget2) + self.labelLatestData.setObjectName(_fromUtf8("labelLatestData")) + self.InfoLayout.addWidget(self.labelLatestData, 2, 1, 1, 1) + self.SelectLang = QtGui.QComboBox(HostsUtlMain) + self.SelectLang.setGeometry(QtCore.QRect(520, 320, 108, 25)) + self.SelectLang.setObjectName(_fromUtf8("SelectLang")) + self.labelIP.setBuddy(self.SelectMirror) + self.labelMirror.setBuddy(self.SelectIP) + + self.retranslateUi(HostsUtlMain) + QtCore.QObject.connect(self.ButtonExit, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.close) + QtCore.QObject.connect(self.SelectIP, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")), HostsUtlMain.on_IPVersion_changed) + QtCore.QObject.connect(self.SelectMirror, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")), HostsUtlMain.on_Mirror_changed) + QtCore.QObject.connect(self.Functionlist, QtCore.SIGNAL(_fromUtf8("itemChanged(QListWidgetItem*)")), HostsUtlMain.on_Selection_changed) + QtCore.QObject.connect(self.ButtonApply, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_MakeHosts_clicked) + QtCore.QObject.connect(self.ButtonBackup, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_Backup_clicked) + QtCore.QObject.connect(self.ButtonRestore, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_Restore_clicked) + QtCore.QObject.connect(self.ButtonCheck, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_CheckUpdate_clicked) + QtCore.QObject.connect(self.ButtonUpdate, QtCore.SIGNAL(_fromUtf8("clicked()")), HostsUtlMain.on_FetchUpdate_clicked) + QtCore.QObject.connect(self.SelectLang, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")), HostsUtlMain.on_Lang_changed) + QtCore.QMetaObject.connectSlotsByName(HostsUtlMain) + HostsUtlMain.setTabOrder(self.SelectMirror, self.SelectIP) + HostsUtlMain.setTabOrder(self.SelectIP, self.Functionlist) + HostsUtlMain.setTabOrder(self.Functionlist, self.ButtonApply) + HostsUtlMain.setTabOrder(self.ButtonApply, self.ButtonExit) + HostsUtlMain.setTabOrder(self.ButtonExit, self.ButtonCheck) + HostsUtlMain.setTabOrder(self.ButtonCheck, self.ButtonUpdate) + HostsUtlMain.setTabOrder(self.ButtonUpdate, self.ButtonBackup) + HostsUtlMain.setTabOrder(self.ButtonBackup, self.ButtonRestore) + + def retranslateUi(self, HostsUtlMain): + HostsUtlMain.setWindowTitle(_translate("HostsUtlMain", "Hosts Setup Utility", None)) + self.ConfigBox.setTitle(_translate("HostsUtlMain", "Config", None)) + self.labelIP.setText(_translate("HostsUtlMain", "Server", None)) + self.labelMirror.setText(_translate("HostsUtlMain", "IP Version", None)) + self.StatusBox.setTitle(_translate("HostsUtlMain", "Status", None)) + self.labelConn.setText(_translate("HostsUtlMain", "Connection", None)) + self.labelConnStat.setText(_translate("HostsUtlMain", "N/A", None)) + self.labelOS.setText(_translate("HostsUtlMain", "OS", None)) + self.labelOSStat.setText(_translate("HostsUtlMain", "N/A", None)) + self.FunctionsBox.setTitle(_translate("HostsUtlMain", "Functions", None)) + self.ButtonBackup.setToolTip(_translate("HostsUtlMain", "Backup hosts", None)) + self.ButtonBackup.setWhatsThis(_translate("HostsUtlMain", "Backup the hosts file of current system.", None)) + self.ButtonUpdate.setToolTip(_translate("HostsUtlMain", "Download data file", None)) + self.ButtonUpdate.setWhatsThis(_translate("HostsUtlMain", "Download the latest data file.", None)) + self.ButtonRestore.setToolTip(_translate("HostsUtlMain", "Restore backup", None)) + self.ButtonRestore.setWhatsThis(_translate("HostsUtlMain", "Restore a previous backup of hosts file.", None)) + self.ButtonApply.setToolTip(_translate("HostsUtlMain", "Apply hosts", None)) + self.ButtonApply.setWhatsThis(_translate("HostsUtlMain", "Apply changes to the hosts file.", None)) + self.ButtonExit.setToolTip(_translate("HostsUtlMain", "Exit", None)) + self.ButtonExit.setWhatsThis(_translate("HostsUtlMain", "Close this tool.", None)) + self.ButtonCheck.setToolTip(_translate("HostsUtlMain", "Check update / Refresh", None)) + self.ButtonCheck.setWhatsThis(_translate("HostsUtlMain", "Check the latest version of hosts data file.", None)) + self.InfoBox.setTitle(_translate("HostsUtlMain", "Hosts Info", None)) + self.labelVersion.setText(_translate("HostsUtlMain", "Version", None)) + self.labelVersionData.setText(_translate("HostsUtlMain", "N/A", None)) + self.labelRelease.setText(_translate("HostsUtlMain", "Release", None)) + self.labelReleaseData.setText(_translate("HostsUtlMain", "N/A", None)) + self.labelLatest.setText(_translate("HostsUtlMain", "Latest", None)) + self.labelLatestData.setText(_translate("HostsUtlMain", "N/A", None)) + +import qthosts_rc + +if __name__ == "__main__": + import sys + app = QtGui.QApplication(sys.argv) + HostsUtlMain = QtGui.QDialog() + ui = Ui_HostsUtlMain() + ui.setupUi(HostsUtlMain) + HostsUtlMain.show() + sys.exit(app.exec_()) + From 5d59ca37901cdaaba30d4f614d38bbd066149fce Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 14:51:13 +0800 Subject: [PATCH 03/10] Add basic utilities(utilities.py) for Hosts Setup Utility --- utilities.py | 242 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 utilities.py diff --git a/utilities.py b/utilities.py new file mode 100644 index 0000000..8ebbabf --- /dev/null +++ b/utilities.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# utilities.py : Basic utilities used by Hosts Setup Utility +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +__version__ = "0.8" +__revision__ = "$Id$" +__author__ = "huhamhire " + +__all__ = ["Utilities", "LangUtilities"] + +import locale +import math +import os +import sys +import socket +import time + +class Utilities(object): + """Basic tools for Hosts Setup Utility + + Utilities class contains a set of basic tools for Hosts Setup Utility to + use. + """ + @classmethod + def check_connection(cls, link): + """ Check connect to a server - Class Method + + Check connect to a specified server by link ({link}). + + Args: + link (str): A string indicating the link to a specified server. + This string could be a domain name or the IP address of a + server. + + Returns: + A flag integer indicating whether the connection is good or not. + 1: OK, 0: Error. + """ + try: + timeout = 3 + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(timeout) + sock.connect((link, 80)) + sock.close() + return 1 + except: + return 0 + + @classmethod + def check_platform(cls): + """Check OS - Class Method + + Check information about current operating system. + + Returns: + (system, hostname, path, encode, flag) + system (str): A string indicating the platform of current OS. + hostname (str): A string indicating the hostname of current OS. + path (str): A string indicating the path to hosts on current + operating system. + encode (str): A string indicating the encoding of current OS. + flag (int): A flag integer indicating whether the current OS is + supported or not. 1: supported, 2, unsupported. + """ + hostname = socket.gethostname() + if os.name == "nt": + system = "Windows" + path = ''.join([os.getenv("WINDIR"), + "\\System32\\drivers\\etc\\hosts"]) + encode = "win_ansi" + elif os.name == "posix": + path = "/etc/hosts" + encode = "unix_utf8" + if sys.platform == "darwin": + system = "OS X" + # Remove the ".local" suffix + hostname = hostname[0:-6] + else: + system = ["Unix", "Linux"][sys.platform.startswith('linux')] + else: + return "Unknown", '', '', 0 + return system, hostname, path, encode, 1 + + @classmethod + def check_privileges(cls): + """Check user privileges - Class Method + + Check whether the current session has privileges to change the hosts + file of current operating system. + + Returns: + (username, flag) + username (str): A string indicating username of the user running + current session. + flag (bool): A bool flag indicating whether the current session + has root privileges or not. + """ + if os.name == 'nt': + try: + # Only windows users with admin privileges can read the + # C:\windows\temp + temp = os.listdir(os.sep.join([ + os.environ.get('SystemRoot', 'C:\windows'), 'temp'])) + except: + return (os.environ['USERNAME'], False) + else: + return (os.environ['USERNAME'], True) + else: + if 'SUDO_USER' in os.environ and os.geteuid() == 0: + return (os.environ['SUDO_USER'], True) + else: + try: + return (os.environ['USERNAME'], False) + except KeyError: + return (os.environ['USER'], False) + + @classmethod + def timestamp_to_date(cls, timestamp): + """Transform timestamp to readable string - Class Method + + Transform unix timestamp ({timestamp}) to a data string in ISO format. + + Args: + timestamp (int/float): A number indicating a unix timestamp. + + Returns: + A data string in ISO format. + """ + l_time = time.localtime(float(timestamp)) + iso_format = "%Y-%m-%d" + date = time.strftime(iso_format , l_time) + return date + + @classmethod + def convert_size(cls, bytes): + """Transform file size to readable string - Class Method + + Convert byte size ({bytes}) of a file into a size string. + + Args: + bytes (int): A integer indicating the size of a file counted by + byte. + + Returns: + A readable size string. + """ + if bytes == 0: + return "0 B" + l_unit = int(math.log(bytes, 0x400)) + units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'] + formats = ['%.2f', '%.1f', '%d'] + size = bytes / math.pow(0x400, l_unit) + l_num = int(math.log(size, 10)) + if l_unit >= len(units): + l_unit = len(units) - 1 + if l_num >= len(formats): + l_num = len(formats) - 1 + return ''.join([formats[l_num], ' ', units[l_unit]]) % (size) + + +class LangUtilities(object): + """language tools for Hosts Setup Utility + + LangUtilities contains a set of language tools for Hosts Setup Utility to + use. + + Attributes: + language (dict): A dictionary containing supported localized language + name for a specified locale. + """ + language = {"de_DE": u"Deutsch", + "en_US": u"English", + "ja_JP": u"日本語", + "ko_KR": u"한글", + "ru_RU": u"Русский", + "zh_CN": u"简体中文", + "zh_TW": u"正體中文", } + + @classmethod + def get_locale(cls): + """Get locale string - Class Method + + Get the default locale of current operating system. + + Returns: + locale (str): A string indicating the locale of current operating + system. If the locale is not in cls.dictionary dictionary, it + will return "en_US" as default. + """ + lc = locale.getdefaultlocale()[0] + if lc == None: + lc = "en_US" + return lc + + @classmethod + def get_language_by_locale(cls, l_locale): + """Get language name by locale - Class Method + + Return the name of a specified language by a locale string + ({l_locale}). + + Args: + l_locale (str): A string indicating a specified locale. + + Returns: + A string indicating the localized name of a language. + """ + try: + return cls.language[l_locale] + except KeyError: + return cls.language["en_US"] + + @classmethod + def get_locale_by_language(cls, l_lang): + """Get locale string by language name - Class Method + + Return the locale string connecting with a specified language + ({l_lang}). + + Args: + l_lang (str): A string indicating the localized name of a + language. + + Returns: + A string indicating a specified locale. + """ + for locl, lang in cls.language.items(): + if l_lang == lang: + return locl + return "en_US" From c3eec1b919f134613d6c9185175a68fc19a3f4d0 Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 14:52:00 +0800 Subject: [PATCH 04/10] Add make hosts file tools(retrievedata.py) for Hosts Setup Utility Signed-off-by: huhamhire-hosts --- retrievedata.py | 295 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 retrievedata.py diff --git a/retrievedata.py b/retrievedata.py new file mode 100644 index 0000000..91612cb --- /dev/null +++ b/retrievedata.py @@ -0,0 +1,295 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# retrievedata.py : Read data from the hosts data file +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +__version__ = "0.8" +__revision__ = "$Id$" +__author__ = "huhamhire " + +__all__ = ["RetrieveData", "make_hosts"] + +import os +import sqlite3 +import time +import zipfile + +class RetrieveData(object): + """A class to fetch data from data file + + RetrieveData class contains a set of tools to retrieve information from + the hosts data file. All methods from this class are defined as class + methods. + + Attributes: + _conn (obj): An instance of sqlite3.connect object to set the + connection with a SQLite database. + _cur (obj): An instance of sqlite3.connect.cursor object to operate + SQL queries in the database. + _database (str): A string indicating the filename of a SQLite database + file. + """ + _conn = None + _cur = None + _database = None + + @classmethod + def connect_db(cls, database="hostslist.s3db"): + """Connect to database - Class Method + + Set up connection with a SQLite database. + + Args: + database (str): A string indicating the SQLite database file. + "hostslist.s3db" by default. + """ + cls._conn = sqlite3.connect(database) + cls._cur = cls._conn.cursor() + cls._database = database + + @classmethod + def disconnect_db(cls): + """Disconnect to database - Class Method + + Close the connection with a SQLite database. + """ + cls._conn.close() + + @classmethod + def get_info(cls): + """Get data file information - Class Method + + Retrieve the metadata of current data file. + + Returns: + A dictionary containing the metadata of current data file. + """ + cls._cur.execute("SELECT sect, info FROM info") + info = dict(cls._cur.fetchall()) + return info + + @classmethod + def get_head(cls): + """Get head info from data file - Class Method + + Retrieve the head information from hosts data file. + + Returns: + A list containing hosts head information. + """ + cls._cur.execute("SELECT str FROM hosts_head ORDER BY ln") + head = cls._cur.fetchall() + return head + + @classmethod + def get_ids(cls, id_cfg): + """Get id numbers - Class Method + + Calculate the id numbers covered by config word ({id_cfg}). + + Args: + id_cfg (int): A hex number indicating the config word of id + selections. + + Returns: + A list containing the id numbers covered by config word. + """ + cfg = bin(id_cfg)[:1:-1] + ids = [] + for i, id_en in enumerate(cfg): + if int(id_en): + ids.append(0b1 << i) + return ids + + @classmethod + def get_host(cls, part_id, mod_id): + """Get hosts entries - Class Method + + Retrieve the hosts of a specified module ({mod_id}) from a specified + part ({part_id}) in the data file. + + Args: + part_id (int): An integer indicating the id number of a specified + part from the hosts data file + mod_id (int): An integer indicating the id number of a specified + module number from a specified part. + + Returns: + (hosts, mod_name) + hosts (list): A list containing hosts entries of a specified + module. + mod_name (str): A string indicating the name of a specified + module. + """ + cls._cur.execute("SELECT part_name FROM parts " + "WHERE part_id=%s" % part_id) + part_name = cls._cur.fetchone()[0] + cls._cur.execute("SELECT ip, host FROM %s " + "WHERE cate=%s" % (part_name, mod_id)) + hosts = cls._cur.fetchall() + cls._cur.execute("SELECT mod_name FROM modules " + "WHERE part_id=%s AND mod_id = %s" % (part_id, mod_id)) + mod_name = cls._cur.fetchone()[0] + return hosts, mod_name + + @classmethod + def get_choice(cls, flag_v6=False): + """Get module selection choices - Class Method + + Retrieve module selection items from the hosts data file with default + selection for users. + + Args: + flag_v6 (bool): A bool flag indicating whether to receive the IPv6 + entries or the IPv4 ones. True: IPv6, False: IPv4. + + Returns: + (modules, defaults, slices) + modules (list): A list containing information of modules for users + to select. + defaults (dict): A dictionary containing default selection for + selected parts. + slices (list): A list containing the number of modules in each + part. + """ + ch_parts = (0x08, 0x20 if flag_v6 else 0x10, 0x40) + cls._cur.execute("SELECT * FROM modules " + "WHERE part_id IN (?, ?, ?)", ch_parts) + modules = cls._cur.fetchall() + cls._cur.execute("SELECT part_id, part_default FROM parts " + "WHERE part_id IN (?, ?, ?)", ch_parts) + default_cfg = cls._cur.fetchall() + defaults = {} + for default in default_cfg: + defaults[default[0]] = cls.get_ids(default[1]) + slices = [0] + for ch_part in ch_parts: + cls._cur.execute("SELECT COUNT(mod_id) FROM modules " + "WHERE part_id=?", (ch_part, )) + slices.append(cls._cur.fetchone()[0]) + for s in range(1, len(slices)): + slices[s] = slices[s] + slices[s - 1] + return modules, defaults, slices + + @classmethod + def chk_mutex(cls, part_id, mod_cfg): + """Check conflict in selections - Class Method + + Check if there is conflict in user selections ({mod_cfg}) of a + specified part ({part_id}) + + Args: + part_id (int): An integer indicating the id number of a specified + part from the hosts data file + mod_cfg (int): A hex number indicating the config word of id + selections for a specified part. + + Returns: + A bool flag indicating whether there is a conflict or not. + True : Conflict, False: No conflicts. + """ + cls._cur.execute("SELECT mod_id, mutex FROM modules " + "WHERE part_id=%s" % part_id) + mutex_tuple = dict(cls._cur.fetchall()) + mutex_info = [] + mod_info = cls.get_ids(mod_cfg) + for mod_id in mod_info: + mutex_info.extend(cls.get_ids(mutex_tuple[mod_id])) + mutex_info = set(mutex_info) + for mod_id in mod_info: + if mod_id in mutex_info: + return False + return True + + @classmethod + def unpack(cls, packfile="hostslist.data", dbfile="hostslist.s3db"): + """Unpack local data file - Class Method + + Unzip the zipped data file ({packfile}) to a SQLite database file + ({dbfile}). + """ + datafile = zipfile.ZipFile(packfile, "r") + datafile.extract(dbfile) + + @classmethod + def clear(cls): + """Clear up workspace - Class Method + + Close the connection to the database and delete the database file. + """ + cls._conn.close() + os.remove(cls._database) + +def make_hosts(cfgs, hostname): + """Operations to make a hosts filename + + Make a new hosts file by data from the local data file. + + Args: + cfgs (dict): A dictionary containing the hex config words for + different parts of the data file. + hostname (str): A string indicating the hostname of current operating + system. + """ + # Operations start + start_time = time.time() + hosts_file = open("hosts", "w") + RetrieveData.unpack() + RetrieveData.connect_db() + # Fetches head section + for head_str in RetrieveData.get_head(): + hosts_file.write("%s\n" % head_str[0]) + # Fetches info section + info = RetrieveData.get_info() + info_lines = ["#"] + info_lines.append("# %s: %s" % ("Version", info["Version"])) + info_lines.append("# %s: %s" % ("Buildtime", info["Buildtime"])) + info_lines.append("# %s: %s" % ("Applytime", int(start_time))) + info_lines.append("#") + for line in info_lines: + hosts_file.write("%s\n" % line) + # Fetches hosts section + for part_id in sorted(cfgs.keys()): + mod_cfg = cfgs[part_id] + if not RetrieveData.chk_mutex(part_id, mod_cfg): + return + mods = RetrieveData.get_ids(mod_cfg) + if part_id == 0x02: + # Retrieve localhost module + for mod_id in mods: + hosts, mod_name = RetrieveData.get_host(part_id, mod_id) + hosts_file.write("\n# Section Start: %s\n" % mod_name) + for host in hosts: + if hosts[1] == "#Replace Your Device Name Here!": + hosts[1] = hostname + hosts_file.write("%s %s\n" % (host[0], host[1])) + hosts_file.write("# Section End: %s\n" % mod_name) + else: + # Retrieve common modules + for mod_id in mods: + hosts, mod_name = RetrieveData.get_host(part_id, mod_id) + hosts_file.write("\n# Section Start: %s\n" % mod_name) + for host in hosts: + hosts_file.write("%s %s\n" % (host[0], host[1])) + hosts_file.write("# Section End: %s\n" % mod_name) + hosts_file.close() + RetrieveData.clear() + # Operations end + end_time = time.time() + total_time = "%.4f" % (end_time - start_time) + +if __name__ == "__main__": + # Module Test + selection = {0x02: 0x0001, 0x08: 0x0001, 0x10: 0x003F, 0x40: 0x000F} + make_hosts(selection, "TEST-PC") From dac683324e30e538ee00755b4c698569bc038a46 Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 14:59:21 +0800 Subject: [PATCH 05/10] Add International translations for main dialog Signed-off-by: huhamhire-hosts --- _pylupdate4.py | 22 ++++ hostsutl.pro | 9 ++ lang/en_US.qm | Bin 0 -> 3869 bytes lang/en_US.ts | 322 +++++++++++++++++++++++++++++++++++++++++++++++ lang/zh_CN.qm | Bin 0 -> 5199 bytes lang/zh_CN.ts | 336 +++++++++++++++++++++++++++++++++++++++++++++++++ lang/zh_TW.qm | Bin 0 -> 5176 bytes lang/zh_TW.ts | 335 ++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 1024 insertions(+) create mode 100644 _pylupdate4.py create mode 100644 hostsutl.pro create mode 100644 lang/en_US.qm create mode 100644 lang/en_US.ts create mode 100644 lang/zh_CN.qm create mode 100644 lang/zh_CN.ts create mode 100644 lang/zh_TW.qm create mode 100644 lang/zh_TW.ts diff --git a/_pylupdate4.py b/_pylupdate4.py new file mode 100644 index 0000000..d52f674 --- /dev/null +++ b/_pylupdate4.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# _pylupdate4.py : Tools to update the language files for UI +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +import os + +for root, dirs, files in os.walk('.'): + for file in files: + if file.endswith('.pro'): + os.system('pylupdate4 %s' % file) diff --git a/hostsutl.pro b/hostsutl.pro new file mode 100644 index 0000000..ca75caa --- /dev/null +++ b/hostsutl.pro @@ -0,0 +1,9 @@ +SOURCES = hostsutl.py \ + qthostsui.py +TRANSLATIONS = lang/en_US.ts \ + lang/zh_CN.ts \ + lang/zh_TW.ts +INTERFACES = qthostsui.ui +RESOURCES = qthosts.qrc +CODECFORTR = UTF-8 +CODECFORSRC = UTF-8 diff --git a/lang/en_US.qm b/lang/en_US.qm new file mode 100644 index 0000000000000000000000000000000000000000..ed9fca83961c8a4ed1dc8533c1fe5bf20cea8c3b GIT binary patch literal 3869 zcmcInZD<@t7@jnHUz_`AQ>~#iajqrxD&9pA6+|l6B(<$=6O%R)g4Ma*xx4M{?VLNa zN$-ycQfW{sSgKgl#)4ne(*E#AL%|BIMN@1GwuOQ=h<`*Wil9|NTHoExCMgPY{xA?G zmwDdzedhhX$ENhQb3ae)Kc8Ol>2rraxwa0Wrf(4nbt4pg7@?;gKq#^gDHj!l!ks9r zBoJzO9c_NA0GNYFytWF?GCF+yCxn`JH}#~G2rX)FI{)f1IIlLJySx`6Wk_k=xfO6{ zln2}3|LOtd{ms7veur{odLQWBq?}Td@cH9V`*#<>{^d~S=(}Lo3=JLM59f){#KdWY zVt<8>ymAKQSB0O*gaH3g*m!dsAyf_j_yq^K4lrpTKWY z&8F^$&y(tv0@!JuX}PEUCD5C1>2GClFIsNofv0jKu2%NKy%N9sdjt50_=~wJ=r`hL zCoI6D`1CvQPIXiK{0ne~FD0^jj)7czqVoCkz-Kry-hUU|+sX9eVL(qN)5~LUo=dLH zfd8X!ry|2&fxZ)|1FJj0FEgq4zR`f!h1Aru7r?)3QYWu{3HaXB$r*@Cye)OgIS!|t zntme-a{1KP@f_H_3FHzhns32R)TI@MU!1Si%sSS}#41sa1;e6DahY+!anUeoF5>dv z;C|jN%q_&Qnr>In;w$hZWZ2~%*04&r%5=x1kK#_A>EvCVe2q->qr6RVojI60vww^c zOSpW=Z4XfY@dC^&SJ1}1&IPSLuBzM02FI*MZ6XY~)R<%H*kS?~D7NV+wFT9&QN*fi zuS`a%cUdJm#RM0KR&i>W6@8_u=GZm`CjY@@t?PUp>%qU7dvgU+kv=~@E7FjgGqd2^ zBk58O$oj63#&+2{$1rs_UJG8AlZxHfU8Y*aOC*yB$^{0Wa@W;B!Ple{K^n`iWxg_} z1|k%9;Q?B-DKE?NrNt8i>Nz>z#oZ?36!=0~2*yn51EbxnS~IDjG8W-(W)+Q+43+?x zMK#eFT{S>6OQyJ^o7L)W{46@QAcpWt6+`XG#M^p;Fkx_wQ_BjLb;BTa(3W{Yx2}rJ zvGlasZ&Ct&c06BGyt0RlStcX;N?f6Jx0KZ)6!Tw3QO=B&tk z(J?3Dmep)t&q+%?az`Kz(Qw-yWU}1fwn0bTX#2EmR`qI-Qyc0p z7r0;8bxa^CWeP3Pzmi!{dUqK@28ykBEJ$HyNz+Q*;Ek7!R*}h+F7=^=+zdQ|Z_PU{rRP)xZybKfG%7mdw`_Cgj3=+38s)s`m}WgK z)39`2gErf5b(u`G-)1G457Hcr3{bBd$rRo>K&uQk0N5OA%qCDf?p7p|$_&8NW3Z?Y zT!W3mU=ClfI4l^ZGDXQik-v7x;E4e4nUJBwgI@W|VS)%p?$HKoF7h<7E$C7*vo8u~A?r(Jq^vP&OM!fd>j0_hYSx+EybSY37>3dQNT0)@Jj(YoRwoFZM zjm& + + + + HostsUtlMain + + + Backup hosts + + + + + Functions + + + + + Hosts Setup Utility + + + + + Config + + + + + Server + + + + + IP Version + + + + + Status + + + + + Connection + + + + + N/A + + + + + OS + + + + + Backup the hosts file of current system. + + + + + Download data file + + + + + Download the latest data file. + + + + + Restore backup + + + + + Restore a previous backup of hosts file. + + + + + Apply hosts + + + + + Apply changes to the hosts file. + + + + + Exit + + + + + Close this tool. + + + + + Check update / Refresh + + + + + Check the latest version of hosts data file. + + + + + Hosts Info + + + + + Version + + + + + Release + + + + + Latest + + + + + google(cn) + + + + + google(us) + + + + + activation-helper + + + + + others + + + + + adblock-hostsx + + + + + adblock-mvps + + + + + adblock-mwsl + + + + + adblock-yoyo + + + + + Building hosts file... + + + + + Backup File(*.bak) + + + + + Restore hosts + + + + + [Error] + + + + + Checking... + + + + + Copying new hosts file to + %s + + + + + Remove temporary file + + + + + Operation completed + + + + + [OK] + + + + + [Failed] + + + + + Applying module: %s(%s/%s) + + + + + Progress + + + + + Notice: %i hosts entries has + been applied in %ssecs. + + + + + Operation Completed Successfully! + + + + + Error + + + + + Incorrect Data file! +Please use the "Download" key to +fetch a new data file. + + + + + Download Complete + + + + + Warning + + + + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + + + + + Error retrieving data from the server. +Please try another server. + + + + + Data file not found! +Please use the "Download" key to +fetch a new data file. + + + + + Notice + + + + + Data file is up-to-date. + + + + + Complete + + + + + Connecting... + + + + + Downloading: %s / %s + + + + + Are you sure you want to apply changes +to the hosts file on your system? + +This operation could not be reverted if +you have not made a backup of your +current hosts file. + + + + diff --git a/lang/zh_CN.qm b/lang/zh_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..8e680d5742d70bb719ec21dffe83477202d93165 GIT binary patch literal 5199 zcmb_g3v3hT9sdG;UK~4w4zh^H7Z{z($fIf{9_u=VPzoh+VmnQU0)g}S^ZAH-r9AE5k zmrB!Q*=PIy|KI=p`0k;T@#?p49N2%ZcEM}g5B=uDwFs46MabEVQ27aj!uKP@{SrCe zaUkS*3%MK>2vu^Z<+&I_?%PNkTME}B=+MX4fyZ68uGWvx><7xuJ#`Er$Ew+H|8Xxu zu2qhz9UUf|U{`Vhoywvh3-2cFFm}!b18*Qyam#sR^tZsj)b(i43H--h(vL?FLO*r=?TiY1d)z(u>LBl`d&kFs zTeZ}EwBtW;|1(c#&%>bC4?J(2d=nwxPrSV&e}Jp#-E*@V?Ah&oVdNtGKI1*>d>`ok z<(>G)&p<905N{*o?dIwNjUZml1#Q`!Y@+?2_ra#%?6vPe{{QLH5iPEu73v2I?(_CMpB>s!+tr2E0M0T{F=%`?7@zl< zcr^x|B#Ssr<9dp$!OPU(GPPludY?6XcKgc%^5~0$*9Jd{iNh`1qLJ44xwb8#ac22< zJ|Fy3vD)yRW1i`lKd~5bi2L4nctfOBTyE#RZg=R;gl}}5A#QOYE>sb{vClP@D)Q(n zO$xy|s$*53{L;_M8uKh);%e?LUt=mWMg^-mRU_$da$HAJQZdaCh1VpwDNsEX$1>G$ zj9`UiiK3A>mJ*m_@{)X(7&p^=oM0Zuc%e_vV4BE-a)PcX1T^`=;Lc-KGOs{LmZN$U zLp;#lR~Lcj^|GWDLfR+mz7mXk%ktha$(&=nkfE%~}QPBMbb z%+C&qh@4P1h%1V8U(uW-LZ4B5DPAM0h9SBt3p%KumlEeSex{oAGa*oyCs0FVB{?yr zZ5~?B006-aI6@K%QIpoy<7ZA7yCNK(W^%a!0w&kn+35?b`#%v^Y#k5x7ui+WoT4fL zyC9J@N>esYa`ZeEt28zCG}Ck@MKofqqhs{+PT3@OHB&huiPog|6wDDTB8NJY(~PPB zR+$LeOlCQlGfZJzfrHA{0vnmYEiQ6mdanMkb*CI@%wA8rpT4ne2zm{M7qmSSdQmgY z`|2gwHW+Cv zz)qAQZuHa4sqp7`L8yG}yLh4Cedd@*cKF?Z`CD)nd#xYolh7t0v*>P(zb7l_T{LA28`$A*xA&&7A09 zq!TsaCq%DNPZGi+58sNmVv)~Y?+Q+J&l@Qz*XeaY0q)2>hv_6wV; z^F-h6olVBY#U_J0LX62^Ex;!`HCO0Ca;s!<{8EIZDQvs2C1EegWA8@~ zvaOzNlGCR$LoJGFFanzwg|(f>8Q8BSs;fn7bkVYBEy}}0F)^lb{sLfr8MkIzP++st z&V;HcKpARSBf0Xe+T?LXjpk}i>`;ESeJXogQH|GhyQr}Zyrf0BXY5ao(L~2%rWWol zUXfuYSgWyl`^(~THh`?pXZej8aoK-|Rk8Wm_WWQ9jeq-)=IYo?PHhXs=IwGOSL?yp z%CX-Mw}>kcH*E)fvKvlEacZ26j6)LCNm^3bc5R$^^M_w!PH{ysE(|M0m-G8;hGjON z#!%i(@w6mMss;x$sx&B+YMe^3q+x-V*+ErGHT|LGy-D*qU zegD(Tis(H(>v_ojxIIIk(7URL!O_#U$%eRQOWU4r?E5I<8hCKzuVXZHi@u)z`n05) z!^2q38Yj}aBuRlYtu?YeBX-T34eIh@E>o@7O@-b`MH?;cV!=&Chku`_`q*DKq + + + + HostsUtlMain + + + Backup hosts + 备份 hosts 文件 + + + + Backup File(*.bak) + 备份文件(*.bak) + + + + Restore hosts + 还原备份的 hosts 文件 + + + + Functions + 功能列表 + + + + Progress + 操作进度 + + + + Warning + 警告 + + + + Notice + 注意 + + + + Data file is up-to-date. + 数据文件已经是最新版本。 + + + + Complete + 完成 + + + + Operation completed + 操作完成 + + + + Hosts Setup Utility + hosts 文件配置工具 + + + + Config + 设置 + + + + Server + 服务器 + + + + IP Version + IP 协议版本 + + + + Status + 状态 + + + + Connection + 连接 + + + + N/A + + + + + OS + 操作系统 + + + + Backup the hosts file of current system. + 备份当前系统的 hosts 文件。 + + + + Download data file + 下载数据文件 + + + + Download the latest data file. + 下载最新数据文件。 + + + + Restore backup + 还原备份 + + + + Restore a previous backup of hosts file. + 还原先前备份的 hosts 文件。 + + + + Apply hosts + 更改 hosts + + + + Apply changes to the hosts file. + 对 hosts 文件进行修改。 + + + + Exit + 退出 + + + + Close this tool. + 关闭本工具。 + + + + Check the latest version of hosts data file. + 在线检查数据文件的最新版本。 + + + + Hosts Info + 数据文件信息 + + + + Version + 当前版本 + + + + Release + 发布日期 + + + + Latest + 最新版本 + + + + Check update / Refresh + 检查更新/刷新 + + + + Data file not found! +Please use the "Download" key to +fetch a new data file. + 未找到数据文件! +请点击“下载”按钮来获取 +新的数据文件。 + + + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + 您未获取修改系统 hosts 文件的 +相关权限。 +请以管理员方式或者根用户运行本 +工具。 + + + + Error retrieving data from the server. +Please try another server. + 在从服务器获取数据是发生错误。 +请在更换服务器之后尝试之前的操作。 + + + + Operation Completed Successfully! + 操作成功完成! + + + + Error + 错误 + + + + Download Complete + 下载完成 + + + + [Error] + [错误] + + + + Checking... + 正在连接... + + + + [OK] + [正常] + + + + [Failed] + [失败] + + + + Building hosts file... + 正在生成 hosts 文件... + + + + Applying module: %s(%s/%s) + 应用选定的模块: %s(%s/%s) + + + + Notice: %i hosts entries has + been applied in %ssecs. + 注意:共有 %i 条 hosts 条目在 + %s秒内被插入到 hosts 文件中。 + + + + Downloading: %s / %s + 正在下载: %s / %s + + + + Connecting... + 正在连接服务器... + + + + Incorrect Data file! +Please use the "Download" key to +fetch a new data file. + 数据文件错误! +请点击“下载”按钮来获取 +新的数据文件。 + + + + Copying new hosts file to + %s + 正在将新的 hosts 配置到目标路径 + %s + + + + Remove temporary file + 清理临时文件 + + + + google(cn) + Google 国内服务器 + + + + google(us) + Google 美国服务器 + + + + activation-helper + 屏蔽部分破解软件激活服务器 + + + + others + 其他墙外站点 + + + + adblock-hostsx + 广告屏蔽-hostsx 列表 + + + + adblock-mvps + 广告屏蔽-mvps 列表 + + + + adblock-mwsl + 广告屏蔽-mwsl 列表 + + + + adblock-yoyo + 广告屏蔽-yoyo 列表 + + + + Are you sure you want to apply changes +to the hosts file on your system? + +This operation could not be reverted if +you have not made a backup of your +current hosts file. + 您确认继续执行当前操作以修改系统 hosts +文件吗? + +若先前未对 hosts 文件进行备份,该操作将 +不可逆转。 + + + diff --git a/lang/zh_TW.qm b/lang/zh_TW.qm new file mode 100644 index 0000000000000000000000000000000000000000..ba79603967276ab7629e03abb0c50e2f91888db4 GIT binary patch literal 5176 zcmb_geQXow8Gi%*Jlk(+I2gGm&oPHVSyG~HBHuvQh-m>7HBb9}MG zT`EmeWM9trJiq7rI`DWa*49-bG}~Wsaqk&~EURa~du1O& zwiTA@!2r;I)AFra_`UL!<>mIT;Q7avQx^`v@1I)UWGaDwgZ2KuT|#KqudKdTPlDW0 z>!#NZ!Sy5Sv14x`9} zz^(S$U+wu1*n=FK!fQaUCme5`dmAD5N#~Za_uwi!pZc;E?0MYz!?CMyf5myh`aaNo z?!5E)3m|VUt>*hJ(dbx6q5B%?5>9zM=27Md7N0%%Bdbjtb4>-{4ocG+oC6GVh zJ^$hFfZpXj|7VCx)vvv8s;|L)m-oV9Kj`se@1NWaAoqPxu6oUEPzd+iV_%Y0>;=^q zYzllEVU$23l92)*Jb18amV>Hoqm<2=Oe%-D1S`aej1>_p34#-%tjIXVr$~bxh}>=T zexs7=V0oc}3aFv*(_wW`R{>N*G3NgURV_ahKAIgFtlPB~tp=>cpqx+pZq&XX)bZwN zc)SqDX)&s%$ZEV;_AQnh7t0SC!)La>GIW0Y`@=hj_x64@+OB4U9np)O{eg+j>txl= zfA88>raCitaO0&r3lW2uCnmbvf*tXt{hl%k@LB$$(e|z*f!lZ7;}XT{w<9Lt3Ejxs z_OCDT=jmpN;GC#pS)Kf6J1Z#EuWXs4nY%oVMS(I(SkB1`Nq>i7dJ?>h#SD>Hg@=cn zsHUP=5EUFDSRz>>DI|*d7-p!v1e+z=!!#Qun8gv6OR5Xuv6MS%J6r|UeoMdedbnuR4kY%l?>AAB)BF&!|` zmK}*Ba#m`KFDuc1S!;rDNv-fwtU_c3Lu_RlaxkGFE6OVDO!Zhz#X(J;1(A&i2Un7_ zQ+gNR)eL|T+=zoDCJ{MdTsbw=8Tm!rOP#CZo=u5qE^uj3;DQD-yWNLAI5d`w?r;rw zODwEvO^GrA3n8HuQB0XQ%@W=lsnYd!w2J9WiYUZbQ_BxJb_+VOtyL6aeB79{vS`#a zb3DK#5KfuNAP04Z^mBHDE{Z8~iGs1XCH;1C_U?>Lw2j$EZwH&8&uGm~2VBr9W^y#I z1hTy(x4=^jhE8WJq?VROc4Y56B6W%Ajw#W! zU&TaKh}JP(DZ)Y)s9GivT)$S_E~G>@T91&K)=9E$Xeup<3tGWgGjxhO!s@T?8pHet`}{8`5M&>xd@apGQ+v^Ko$$YK2S( zp{`#|5g2lXjzFkov+S@OXdFMOGg=>!BvCT9WyQb?g;Edr2VdM(Pwk1dbl*DA*ffg< zf75;AF`59OPXZ|P&jMwMt<4%TOe00&NtWht!B9y|YyC_n67;f$V(1kqhgryo1c5PE zcx0@VC6Bsq>H1q98R8XVLPzlUp4)(mo6`l~Q-BB&1?KKXg-`KH&KRo_tw&u5hkC+C=_t?oo=G7U7K*m=Gg+CJg@q6;@N@5 zW@AcAdUUI()7b)|!gD5bqKA^+nb*B7?$r7&k8qqVpUiPKd%f4E^<}Ly=Pq|YHF}!6 z+)bccm+j8vnZV6}zoY_4$#|@xTNfn{>CldqS7Q)fa?4OoSDl#TnSO zc~O;1R_c-k&{&j%ilRbvMJtPdg~i;Mt%|ahW}MFMDY9##jk#@w_N?>RLRyP8CbpEd zKU+v)71baw5{{$J~$UeMeS6i9gmAG>_RdhJtR6rg?#v6*!WKQllh_3L}e{S1`v4 z^l-|@a)t9&37)ax4iu&{8f~6(R9G9Pn@#EamXqERdPjI23%MROVX&ca->wpJOSp4` z3F*ANu$#~SBWN31F?Ma=UyfecI1s!#Et%%9FjTYJNz|VpDR8B+p7Xa{>v@dSM3y3d z$;2E&xNJyQve8IN + + + + HostsUtlMain + + + google(cn) + Google 大陸 + + + + google(us) + Google 美國 + + + + activation-helper + 遮罩部分破解軟體啟動伺服器 + + + + others + 其他網站 + + + + adblock-hostsx + 廣告攔截-hostsx 清單 + + + + adblock-mvps + 廣告攔截-mvps 清單 + + + + adblock-mwsl + 廣告攔截-mwsl 清單 + + + + adblock-yoyo + 廣告攔截-yoyo 清單 + + + + Building hosts file... + 正在創建 hosts 檔... + + + + Backup hosts + 備份 hosts 檔 + + + + Backup File(*.bak) + 備份檔(*.bak) + + + + Restore hosts + 還原 hosts + + + + [Error] + [錯誤] + + + + Checking... + 正在連接伺服器... + + + + Copying new hosts file to + %s + 將新的 hosts 檔案複製到 + %s + + + + Remove temporary file + 刪除暫存檔案 + + + + Operation completed + 作業完成 + + + + [OK] + [好] + + + + [Failed] + [失敗] + + + + Functions + 功能清單 + + + + Applying module: %s(%s/%s) + 應用選定的模組: %s(%s/%s) + + + + Progress + 作業進度 + + + + Notice: %i hosts entries has + been applied in %ssecs. + 消息:共有 %i 条 hosts 条目在 + %s秒内被插入到 hosts 文件中。 + + + + Operation Completed Successfully! + 作業已成功完成 ! + + + + Error + 錯誤 + + + + Incorrect Data file! +Please use the "Download" key to +fetch a new data file. + 不正確的資料檔案 ! +請使用"下載"按鈕來獲得 +一個新的資料檔案。 + + + + Download Complete + 下載已完成 + + + + Warning + 警告 + + + + You do not have permissions to change the +hosts file. +Please run this program as Administrator/root +so it can modify your hosts file. + 您目前沒有許可權以更改 hosts 檔。 +請以管理員方式或者根使用者運行本 +程式。 + + + + Error retrieving data from the server. +Please try another server. + 從伺服器中檢索資料時出錯。 +請嘗試使用另一台伺服器。 + + + + Data file not found! +Please use the "Download" key to +fetch a new data file. + 找不到本地資料檔案! +請使用"下載"按鈕來獲得 +一個新的資料檔案。 + + + + Notice + 消息 + + + + Data file is up-to-date. + 當前的資料檔案是最新的。 + + + + Complete + 完成 + + + + Connecting... + 正在連接... + + + + Downloading: %s / %s + 正在下載: %s / %s + + + + Hosts Setup Utility + hosts 設置實用程式 + + + + Config + 配置 + + + + Server + 伺服器 + + + + IP Version + IP 協定版本 + + + + Status + 狀態 + + + + Connection + 連接狀態 + + + + N/A + 不適用 + + + + OS + 作業系統 + + + + Backup the hosts file of current system. + 備份當前系統的 hosts 檔。 + + + + Download data file + 下載資料檔案 + + + + Download the latest data file. + 下載最新的資料檔案。 + + + + Restore backup + 還原備份 + + + + Restore a previous backup of hosts file. + 還原以前的備份的 hosts 檔。 + + + + Apply hosts + 更改 hosts 檔 + + + + Apply changes to the hosts file. + 將更改應用到主 hosts 檔。 + + + + Exit + 退出 + + + + Close this tool. + 關閉此程式。 + + + + Check update / Refresh + 檢查更新 / 刷新 + + + + Check the latest version of hosts data file. + 檢查 hosts 檔案的最新版本。 + + + + Hosts Info + 資料檔案狀態 + + + + Version + 當前版本 + + + + Release + 發佈日期 + + + + Latest + 最新版本 + + + + Are you sure you want to apply changes +to the hosts file on your system? + +This operation could not be reverted if +you have not made a backup of your +current hosts file. + 您確認繼續執行當前操作以修改系統 hosts +檔嗎? + +若先前未對 hosts 檔進行備份,該操作將 +不可逆轉。 + + + From ab3f3daf7f26b8d481b124f80e2dc148b969cb75 Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 15:02:03 +0800 Subject: [PATCH 06/10] Add main functions (hostsutl.py) for Hosts Setup Utility Signed-off-by: huhamhire-hosts --- hostsutl.py | 1405 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1405 insertions(+) create mode 100644 hostsutl.py diff --git a/hostsutl.py b/hostsutl.py new file mode 100644 index 0000000..5c5da79 --- /dev/null +++ b/hostsutl.py @@ -0,0 +1,1405 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# hostsutl.py : Main parts of Hosts Setup Utility +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +__version__ = "1.9.5" +__revision__ = "$Id$" +__author__ = "huhamhire " + +__all__ = [ + "LANG_DIR", "MainDialog", "QSubChkConnection", "QSubFetchUpdate", + "QSubMakeHosts", "QSubChkUpdate",] + +import json +import os +import shutil +import socket +import sys +import time +import urllib + +from PyQt4 import QtCore, QtGui +from zipfile import BadZipfile + +from qthostsui import Ui_HostsUtlMain, _fromUtf8, _encoding, _translate +from retrievedata import RetrieveData, make_hosts +from utilities import Utilities, LangUtilities + +# Path to store language files +LANG_DIR = "./lang/" + +class MainDialog(QtGui.QDialog): + """A class to manage the operations and UI of Hosts Setup Utility + + MainDialog class is a subclasse of PyQt4.QtGui.QDialog which is used to + make the main dialog of this hosts setup utility. + This class contains a set of tools used to manage the operations while + modifying the hosts file of current operating system. Including methods + to manage operations to update data file, download data file, configure + hosts, make hosts file, backup hosts file, and restore backup. + The MainDialog class also provides QT slots to deal with the QT singles + emitted by the widgets on the main dialog operated by users. Extend + methods dealing with the user interface is also given by this class. + + Attributes: + _cur_ver (str): A string indicating the current version of hosts data + file. + _ipv_id (int): An integer indicating current IP version setting. The + value could be 1 or 0. 1 represents IPv6 while 1 represents IPv4. + _is_root (int): An integer indicating whether the program is run with + admin/root privileges. The value could be 1 or 0. + _down_flag (int) An integer indicating the downloading status of + current session. 1 represents data file is being downloaded. + _funcs (list): A list containing two lists with the information of + function list for IPv4 and IPv6 environment. + _make_cfg (dict): A dictionary containing the selection control bytes + to make a hosts file. + _update (dict): A dictionary containing the update information of the + current data file on server. + _trans (obj): A QtCore.QTranslator object indicating the current UI + language setting. + choice (list): A list containing two lists with the selection of + functions for IPv4 and IPv6 environment. + slices (list): A list containing two lists with integers indicating + the number of function items from different parts listed in the + function list. + initd (int): An integer indicating how many times has the main dialog + been initialized. This value would be referenced for translator + to set the language of the main dialog. + platform (str): A string indicating the platform of current operating + system. The value could be "Windows", "Linux", "Unix", "OS X", and + of course "Unkown". + hostname (str): A string indicating the hostname of current operating + system. This attribute would be used for linux clients. + hostspath (str): A string indicating the absolute path of the hosts + file on current operating system. + Ui (str): A user interface object indicating the main dialog of this + program. + _mirr_id (int): An integer indicating current index number of mirrors. + mirrors (list): A dictionary containing tag, test url, and update url + of mirrors. + __list_trans (list): A list containing names of function list items + for translator to translate. + filename (str): A string indicating the filename of the data file + containing data to make a hosts file. + infofile (str): A string indicating the filename of the info file + containing metadata of the data file in JSON format. + """ + _cur_ver = "" + _ipv_id = 0 + _is_root = 0 + _down_flag = 0 + _funcs = [[], []] + _make_cfg = {} + _update = {} + _trans = None + + choice = [[], []] + slices = [[], []] + + initd = 0 + + Ui = None + # OS related configuration + platform = '' + hostname = '' + hostspath = '' + # Mirror related configuration + _mirr_id = 0 + mirrors = [ + {"tag": "Google Code", "test_url": "huhamhire-hosts.googlecode.com", + "update": ("http://huhamhire-hosts.googlecode.com/git-history/" + "gh-pages/update/")}, + {"tag": "Sourceforge" , "test_url": "master.dl.sourceforge.net", + "update": ("http://master.dl.sourceforge.net/project/" + "huhamhirehosts/update/")}, + {"tag": "Github", "test_url": "github.com", + "update": "http://huhamhire.github.com/huhamhire-hosts/update/"}, + {"tag": "Atlanta", "test_url": "hosts.huhamhire.com", + "update": "http://hosts.huhamhire.com/update/"}, ] + # Name of items from the function list to be localized + __list_trans = [ + _translate("HostsUtlMain", "google(cn)", None), + _translate("HostsUtlMain", "google(us)", None), + _translate("HostsUtlMain", "activation-helper", None), + _translate("HostsUtlMain", "others", None), + _translate("HostsUtlMain", "adblock-hostsx", None), + _translate("HostsUtlMain", "adblock-mvps", None), + _translate("HostsUtlMain", "adblock-mwsl", None), + _translate("HostsUtlMain", "adblock-yoyo", None), ] + # Data file related configuration + filename = "hostslist.data" + infofile = "hostsinfo.json" + + def __init__(self, Ui, trans): + """Initialize a new instance of this class - Private Method + + Set the UI object and current translator of the main dialog. + + Args: + Ui (obj): A user interface object indicating the main dialog of + this program. + trans (obj): A PyQt4.QtCore.QTranslator object indicating the + current UI language setting. + """ + super(MainDialog, self).__init__() + self.Ui = Ui + self._trans = trans + + def on_Mirror_changed(self, mirr_id): + """Change the current mirror setting - Public Method + + The slot response to the signal ({mirr_id}) from SelectMirror widget + while the value is changed. + + Args: + mirr_id (int): An integer indicating current index number of + mirrors. + """ + self._mirr_id = mirr_id + self.check_connection() + + def on_IPVersion_changed(self, ipv_id): + """Change the current IP version setting - Public Method + + The slot response to the signal ({ipv_id}) from SelectIP widget while + the value is changed. + + Args: + ipv_id (int): An integer indicating current IP version setting. + The value could be 1 or 0. 1 represents IPv6 while 1 + represents IPv4. + """ + if self._ipv_id != ipv_id: + self._ipv_id = ipv_id + self.set_func_list(0) + self.refresh_func_list() + + def on_Selection_changed(self, item): + """Change the function selection setting - Public Method + + The slot response to the signal ({item}) from Functionlist widget + while the selection of the items is changed. This method would change + the current selection of functions. + + Args: + item (int): An integer indicating the row number of the item + listed in Functionlist which is changed by user. + """ + ip_flag = self._ipv_id + func_id = item.listWidget().row(item) + if self._funcs[ip_flag][func_id] == 0: + self._funcs[ip_flag][func_id] = 1 + else: + self._funcs[ip_flag][func_id] = 0 + mutex = RetrieveData.get_ids(self.choice[ip_flag][func_id][2]) + for c_id, c in enumerate(self.choice[ip_flag]): + if c[0] == self.choice[ip_flag][func_id][0]: + if c[1] in mutex and self._funcs[ip_flag][c_id] == 1: + self._funcs[ip_flag][c_id] = 0 + item = self.Ui.Functionlist.item(c_id) + self.refresh_func_list() + + def on_Lang_changed(self, lang): + """Change the UI language setting - Public Method + + The slot response to the signal ({lang}) from SelectLang widget while + the value is changed. This method would change the language of the UI. + + Args: + lang (str): A string indicating the language which is selected by + user. + This string uses the for of IETF language tag. For example: + en_US, en_GB, etc. + """ + new_lang = LangUtilities.get_locale_by_language(unicode(lang)) + trans = QtCore.QTranslator() + global LANG_DIR + trans.load(''.join([LANG_DIR, new_lang])) + QtGui.QApplication.removeTranslator(self._trans) + QtGui.QApplication.installTranslator(trans) + self._trans = trans + self.Ui.retranslateUi(self) + self.init_main() + self.check_connection() + + def on_MakeHosts_clicked(self): + """Start making hosts file - Public Method + + The slot response to the signal from ButtonApply widget while the + button is clicked. This method would call operations to make a hosts + file. + No operations would be called if current session does not have the + privileges to change the hosts file. + """ + if not self._is_root: + self.warning_permission() + return + if self.question_apply(): + self.set_makemsg(unicode(_translate( + "HostsUtlMain", "Building hosts file...", None)), 1) + self.set_cfgbytes() + self.make_hosts() + else: + return + + def on_Backup_clicked(self): + """Backup system hosts file - Public Method + + The slot response to the signal from ButtonBackup widget while the + button is clicked. This method would call operations to backup the + hosts file of current operating system. + """ + l_time = time.localtime(time.time()) + backtime = time.strftime("%Y-%m-%d-%H%M%S", l_time) + filename = ''.join(["hosts_", backtime, ".bak"]) + if self.platform == "OS X": + filename = ''.join(["/Users/", filename]) + filepath = QtGui.QFileDialog.getSaveFileName( + self, _translate("HostsUtlMain", "Backup hosts", None), + QtCore.QString(filename), + _translate("HostsUtlMain", "Backup File(*.bak)", None)) + if unicode(filepath) != u'': + shutil.copy2(self.hostspath, unicode(filepath)) + self.info_complete() + + def on_Restore_clicked(self): + """Restore hosts file - Public Method + + The slot response to the signal from ButtonRestore widget while the + button is clicked. This method would call operations to restore a + previously backed up hosts file. + No operations would be called if current session does not have the + privileges to change the hosts file. + """ + if not self._is_root: + self.warning_permission() + return + filename = '' + if self.platform == "OS X": + filename = ''.join(["/Users/", filename]) + filepath = QtGui.QFileDialog.getOpenFileName( + self, _translate("HostsUtlMain", "Restore hosts", None), + QtCore.QString(filename), + _translate("HostsUtlMain", "Backup File(*.bak)", None)) + if unicode(filepath) != u'': + shutil.copy2(unicode(filepath), self.hostspath) + self.info_complete() + + def on_CheckUpdate_clicked(self): + """Check data file update - Public Method + + The slot response to the signal from ButtonCheck widget while the + button is clicked. This method would call operations to fetch update + information of the latest data file. + """ + if self.choice != [[], []]: + self.refresh_func_list() + self.Ui.ButtonApply.setEnabled(True) + if self._update == {} or self._update["version"] == \ + unicode(_translate("HostsUtlMain", "[Error]", None)): + self.check_update() + + def on_FetchUpdate_clicked(self): + """Fetch data file update - Public Method + + The slot response to the signal from ButtonUpdate widget while the + button is clicked. This method would call operations to fetch the + latest data file. + If no update information has been got from the server, the method to + check the update would be called. + If the current data is up-to-date, no data file would be retrieved. + """ + self._down_flag = 1 + self.Ui.Functionlist.setEnabled(False) + self.Ui.ButtonApply.setEnabled(False) + if self._update == {} or self._update["version"] == \ + unicode(_translate("HostsUtlMain", "[Error]", None)): + self.check_update() + elif self.new_version(): + self.fetch_update() + else: + self.info_uptodate() + self.finish_fetch() + + def init_main(self): + """Initialize the main dialog - Public Method + + Set up the elements on the main dialog. Check the environment of + current operating system and current session. + """ + self.Ui.SelectMirror.clear() + for i, mirror in enumerate(self.mirrors): + self.Ui.SelectMirror.addItem(_fromUtf8("")) + self.Ui.SelectMirror.setItemText( + i, _translate("HostsUtlMain", mirror["tag"], None)) + self.set_platform() + self.set_font() + # Read data file and set function list + try: + RetrieveData.unpack() + RetrieveData.connect_db() + self.set_func_list(1) + self.refresh_func_list() + self.set_info() + except IOError: + self.warning_no_datafile() + except BadZipfile: + self.warning_incorrect_datafile() + # Check if current session have root privileges + self.check_root() + self.initd += 1 + + def reject(self): + """Response to the reject signal - Public Method + + The slot response to the reject signal from an instance of the main + dialog. Close this program while the reject signal is emitted. + """ + self.close() + return QtGui.QDialog.reject(self) + + def close(self): + """Response to the close signal - Public Method + + The slot response to the close signal from an instance of the main + dialog. Close this program while the reject signal is emitted. + """ + try: + RetrieveData.clear() + except: + pass + super(MainDialog, self).close() + + def check_root(self): + """Check root privileges - Public Method + + Check if current session is ran with root privileges. + """ + is_root = Utilities.check_privileges()[1] + self._is_root = is_root + if not is_root: + self.warning_permission() + + def check_connection(self): + """Operations to check connection - Public Method + + Call operations to check the connection to current server. + """ + thread = QSubChkConnection(self) + thread.trigger.connect(self.set_conn_status) + thread.start() + + def check_update(self): + """Operations to check data file update - Public Method + + Call operations to retrieve the metadata of the latest data file from + a server. + """ + self.Ui.SelectMirror.setEnabled(False) + self.Ui.ButtonCheck.setEnabled(False) + self.Ui.ButtonUpdate.setEnabled(False) + self.set_label_text(self.Ui.labelLatestData, unicode( + _translate("HostsUtlMain", "Checking...", None))) + thread = QSubChkUpdate(self) + thread.trigger.connect(self.finish_update) + thread.start() + + def fetch_update(self): + """Operations to fetch new data file - Public Method + + Call operations to retrieve a new hosts data file from a server. + """ + self.Ui.SelectMirror.setEnabled(False) + self.Ui.ButtonCheck.setEnabled(False) + self.Ui.ButtonUpdate.setEnabled(False) + self.Ui.ButtonApply.setEnabled(False) + self.Ui.ButtonExit.setEnabled(False) + thread = QSubFetchUpdate(self) + thread.prog_trigger.connect(self.set_downprogbar) + thread.finish_trigger.connect(self.finish_fetch) + thread.start() + + def fetch_update_aftercheck(self): + """Check to fetch data file after check for update - Public Method + + Decide whether to retrieve a new data file from server or not after + checking update information from a mirror. + """ + if self._update["version"] == \ + unicode(_translate("HostsUtlMain", "[Error]", None)): + self.finish_fetch(error=1) + elif self.new_version(): + self.fetch_update() + else: + self.info_uptodate() + self.finish_fetch() + + def make_hosts(self): + """Operations to make hosts file - Public Method + + Call operations to make a new hosts file for current system. + """ + self.Ui.Functionlist.setEnabled(False) + self.Ui.SelectIP.setEnabled(False) + self.Ui.ButtonCheck.setEnabled(False) + self.Ui.ButtonUpdate.setEnabled(False) + self.Ui.ButtonApply.setEnabled(False) + self.Ui.ButtonExit.setEnabled(False) + # Avoid conflict while making hosts file + RetrieveData.disconnect_db() + thread = QSubMakeHosts(self) + thread.info_trigger.connect(self.set_makeprog) + thread.fina_trigger.connect(self.set_makefina) + thread.move_trigger.connect(self.move_hosts) + thread.start() + + def move_hosts(self): + """Move hosts file to the system path after making - Public Method + + The slot response to the move_trigger signal from an instance of + QSubMakeHosts class while making operations are finished. + """ + filepath = "hosts" + msg = unicode(_translate("HostsUtlMain", + "Copying new hosts file to\n" + " %s", None)) % self.hostspath + self.set_makemsg(msg) + shutil.copy2(filepath, self.hostspath) + msg = unicode(_translate("HostsUtlMain", + "Remove temporary file", None)) + self.set_makemsg(msg) + os.remove(filepath) + msg = unicode(_translate("HostsUtlMain", + "Operation completed", None)) + self.set_makemsg(msg) + self.info_complete() + + def set_languages(self): + """Set items in SelectLang widget - Public Method + + Set optional language selection items in the SelectLang widget. + """ + self.Ui.SelectLang.clear() + langs = LangUtilities.language + langs_not_found = [] + for locale in langs: + if not os.path.isfile(''.join([LANG_DIR, locale, ".qm"])): + langs_not_found.append(locale) + for locale in langs_not_found: + langs.pop(locale) + LangUtilities.language = langs + if len(langs) <= 1: + self.Ui.SelectLang.setEnabled(False) + # Block the signal while set the language selecions. + self.Ui.SelectLang.blockSignals(True) + sys_locale = LangUtilities.get_locale() + if sys_locale not in langs.keys(): + sys_locale = "en_US" + for i, locale in enumerate(sorted(langs.keys())): + if sys_locale == locale: + select = i + lang = langs[locale] + self.Ui.SelectLang.addItem(_fromUtf8("")) + self.Ui.SelectLang.setItemText(i, lang) + self.Ui.SelectLang.blockSignals(False) + self.Ui.SelectLang.setCurrentIndex(select) + + def set_platform(self): + """Set OS info - Public Method + + Set the information of current operating system platform. + """ + system, hostname, path, encode, flag = Utilities.check_platform() + color = "GREEN" if flag else "RED" + self.set_label_color(self.Ui.labelOSStat, color) + self.set_label_text(self.Ui.labelOSStat, "[%s]" % system) + self.platform = system + self.hostname = hostname + self.hostspath = path + + def set_font(self): + """Set font and window style - Public Method + + Set the font of the elements on the main dialog with a windows style + depending on this program. + """ + system = self.platform + if system == "Windows": + font = QtGui.QFont() + font.setFamily(_fromUtf8("Courier")) + self.setFont(font) + elif system == "Linux": + font = QtGui.QFont() + font.setFamily(_fromUtf8("Sans")) + self.setFont(font) + # Set window style for sudo users. + QtGui.QApplication.setStyle( + QtGui.QStyleFactory.create("Cleanlooks")) + elif system == "OS X": + pass + + def set_label_color(self, label, color): + """Set the color of a label - Public Method + + Set a specified label ({label}) to show with specified color + ({color}). + + Args: + label (obj): An instance of PyQt4.QtGui.QLabel class on the main + dialog. + color (str): A string indicating the color to be shown on the + lable. + """ + if color == "GREEN": + rgb = [0, 170, 0] + elif color == "RED": + rgb = [255, 0, 0] + elif color == "BLACK": + rgb = [0, 0, 0] + palette = QtGui.QPalette() + brush = QtGui.QBrush(QtGui.QColor(*rgb)) + brush.setStyle(QtCore.Qt.SolidPattern) + palette.setBrush( + QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(*rgb)) + brush.setStyle(QtCore.Qt.SolidPattern) + palette.setBrush( + QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) + brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) + brush.setStyle(QtCore.Qt.SolidPattern) + palette.setBrush( + QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) + label.setPalette(palette) + + def set_label_text(self, label, text): + """Set the text of a label - Public Method + + Set a specified label ({label}) to show specified text ({text}). + + Args: + label (obj): An instance of PyQt4.QtGui.QLabel class on the main + dialog. + text (str): A string indicating the message to be shown on the + lable. + """ + label.setText(_translate("HostsUtlMain", text, None)) + + def set_conn_status(self, status): + """Set connection status info - Public Method + + Set the information of connection status to the current server + selected. + """ + if status == -1: + self.set_label_color(self.Ui.labelConnStat, "BLACK") + self.set_label_text(self.Ui.labelConnStat, unicode( + _translate("HostsUtlMain", "Checking...", None))) + elif status in [0, 1]: + if status: + color, stat = "GREEN", unicode(_translate( + "HostsUtlMain", "[OK]", None)) + else: + color, stat = "RED", unicode(_translate( + "HostsUtlMain", "[Failed]", None)) + self.set_label_color(self.Ui.labelConnStat, color) + self.set_label_text(self.Ui.labelConnStat, stat) + + def set_func_list(self, new=0): + """Set the function list - Public Method + + Draw the function list and decide whether to load the default + selection configuration or not. + + Arg: + new (int): A flag integer indicating whether to load the default + selection configuration or not. 0 -> user user config, + 1 -> use default config. Default by 0. + """ + ip_flag = self._ipv_id + self.Ui.Functionlist.clear() + self.Ui.FunctionsBox.setTitle(_translate( + "HostsUtlMain", "Functions", None)) + if new: + for ip in range(2): + choice, defaults, slices = RetrieveData.get_choice(ip) + self.choice[ip] = choice + self.slices[ip] = slices + funcs = [] + for func in choice: + item = QtGui.QListWidgetItem() + if func[1] in defaults[func[0]]: + funcs.append(1) + else: + funcs.append(0) + self._funcs[ip] = funcs + + def refresh_func_list(self): + """Refresh the function list - Public Method + + Refresh the items in the function list by user settings. + """ + ip_flag = self._ipv_id + self.Ui.Functionlist.clear() + for f_id, func in enumerate(self.choice[self._ipv_id]): + item = QtGui.QListWidgetItem() + if self._funcs[ip_flag][f_id] == 1: + check = QtCore.Qt.Checked + else: + check = QtCore.Qt.Unchecked + item.setCheckState(check) + item.setText(_translate("HostsUtlMain", func[3], None)) + self.Ui.Functionlist.addItem(item) + + def set_message(self, title, msg): + """Set a message box - Public Method + + Show a message box with a specified message ({msg}) with a specified + title ({title}). + + Args: + title (str): A string indicating the title of the message box. + msg (str): A string indicating the message to be shown in the + message box. + """ + self.Ui.FunctionsBox.setTitle(_translate( + "HostsUtlMain", title, None)) + self.Ui.Functionlist.clear() + item = QtGui.QListWidgetItem() + item.setText(msg) + item.setFlags(QtCore.Qt.ItemIsEnabled) + self.Ui.Functionlist.addItem(item) + + def set_info(self): + """Set data file info - Public Method + + Set the information of the current local data file. + """ + info = RetrieveData.get_info() + ver = info["Version"] + self._cur_ver = ver + self.set_label_text(self.Ui.labelVersionData, ver) + build = info["Buildtime"] + build = Utilities.timestamp_to_date(build) + self.set_label_text(self.Ui.labelReleaseData, build) + + def set_downprogbar(self, prog, msg): + """Set progress bar - Public Method + + Set the progress bar to a specified progress position ({prog}) with a + specified message ({msg}). + + Args: + prog (int): An integer indicating the progress to be set on the + progress bar. + msg (str): A string indicating the message to be shown on the + progress bar. + """ + self.Ui.Prog.setProperty("value", prog) + self.set_conn_status(1) + self.Ui.Prog.setFormat(msg) + + def set_listitemunchecked(self, item_id): + """Set list item to be unchecked - Public Method + + Set a specified item ({item_id}) to become unchecked in the function + list. + + Arg: + item_id (int): An integer indicating the id number of a specified + item in the function list. + """ + self._funcs[self._ipv_id][item_id] = 0 + item = self.Ui.Functionlist.item(item_id) + item.setCheckState(QtCore.Qt.Unchecked) + + def set_cfgbytes(self): + """Set configuration byte words - Public Method + + Calculate the module configuration byte words by the selection from + function list on the main dialog. + """ + ip_flag = self._ipv_id + selection = {} + localhost_word = { + "Windows": 0x0001, "Linux": 0x0002, + "Unix": 0x0002, "OS X": 0x0004}[self.platform] + selection[0x02] = localhost_word + ch_parts = (0x08, 0x20 if self._ipv_id else 0x10, 0x40) + slices = self.slices[ip_flag] + for i, part in enumerate(ch_parts): + part_cfg = self._funcs[ip_flag][slices[i]:slices[i + 1]] + part_word = 0 + for i, cfg in enumerate(part_cfg): + part_word += cfg << i + selection[part] = part_word + self._make_cfg = selection + + def refresh_info(self, refresh=0): + """Refresh data file information - Public Method + + Reload the data file information and show them on the main dialog. The + information here includes both metadata and hosts module info from the + data file. + + Arg: + refresh (int): A flag integer indicating whether the information + needs to be reloaded or not. 1: reload, 0: do not reload. + Default by 0. + """ + if refresh and RetrieveData._conn != None: + RetrieveData.clear() + try: + RetrieveData.unpack() + RetrieveData.connect_db() + self.set_func_list(refresh) + self.refresh_func_list() + self.set_info() + except (BadZipfile, IOError, OSError): + self.warning_incorrect_datafile() + + def set_makeprog(self, mod_name, mod_num): + """Operations to show progress while making hosts file - Public Method + + The slot response to the info_trigger signal ({mod_name}, {mod_num}) + from an instance of QSubMakeHosts class while making operations are + proceeded. + + Args: + mod_name (str): A string indicating the name of a specified hosts + module in current progress. + mod_num (int): An integer indicating the number of current module + in the operation sequence. + """ + total_mods_num = self._funcs[self._ipv_id].count(1) + 1 + prog = 100 * mod_num / total_mods_num + self.Ui.Prog.setProperty("value", prog) + format = unicode(_translate( + "HostsUtlMain", "Applying module: %s(%s/%s)", None)) % ( + mod_name, mod_num, total_mods_num) + self.Ui.Prog.setFormat(format) + self.set_makemsg(format) + + def set_makemsg(self, msg, start=0): + """Operations to show making progress in function list - Public Method + + List message for the current operating progress while making the new + hosts file. + + Args: + msg (str): A string indicating the message to show in the function + list. + start (int): A flag integer indicating whether the message is the + first of the making progress or not. 1: first, 0: not the + first. Default by 0. + """ + if start: + self.Ui.FunctionsBox.setTitle(_translate( + "HostsUtlMain", "Progress", None)) + self.Ui.Functionlist.clear() + item = QtGui.QListWidgetItem() + item.setText(''.join(["- " , msg])) + item.setFlags(QtCore.Qt.ItemIsEnabled) + self.Ui.Functionlist.addItem(item) + + def set_makefina(self, time, count): + """Operations after making new hosts file - Public Method + + The slot response to the fina_trigger signal ({time}, {count}) from + an instance of QSubMakeHosts class while making operations are + finished. + + Args: + time (str): A string indicating the total time uesd to make the + new hosts file. + count (int): An integer indicating the total number of hosts + entries inserted into the new hosts file. + """ + self.Ui.Functionlist.setEnabled(True) + self.Ui.SelectIP.setEnabled(True) + self.Ui.ButtonCheck.setEnabled(True) + self.Ui.ButtonUpdate.setEnabled(True) + self.Ui.ButtonApply.setEnabled(False) + self.Ui.ButtonExit.setEnabled(True) + RetrieveData.connect_db() + msg = unicode(_translate("HostsUtlMain", + "Notice: %i hosts entries has " + "\n been applied in %ssecs.", None)) % (count, time) + self.set_makemsg(msg) + self.set_downprogbar(100, + unicode(_translate("HostsUtlMain", + "Operation Completed Successfully!", None))) + + def finish_update(self, update): + """Operations after checking update - Public Method + + The slot response to the trigger signal ({update}) from an instance + of QSubChkUpdate class while checking operations are finished. + + Arg: + update (dict): A dictionary containing metadata of the latest + hosts file from the server. + """ + self._update = update + self.set_label_text(self.Ui.labelLatestData, update["version"]) + if self._update["version"] == \ + unicode(_translate("HostsUtlMain", "[Error]", None)): + self.set_conn_status(0) + else: + self.set_conn_status(1) + if self._down_flag: + self.fetch_update_aftercheck() + else: + self.Ui.SelectMirror.setEnabled(True) + self.Ui.ButtonCheck.setEnabled(True) + self.Ui.ButtonUpdate.setEnabled(True) + + def finish_fetch(self, refresh=1, error=0): + """Operations after downloading data file - Public Method + + The slot response to the finish_trigger signal ({refresh}, {error}) + from an instance of QSubFetchUpdate class while downloading is + finished. + + Args: + refresh (int): A flag integer indicating whether a refresh for + function list is needed or not. 1: refresh, 0: no refresh. + Default by 1. + error (int): A flag integer indicating errors have occurred while + downloading new data file. 1: error, 0:success. Default by 0. + """ + self._down_flag = 0 + if error: + # Error occurred while downloading + self.set_downprogbar(0, + unicode(_translate("HostsUtlMain", + "Error", None))) + try: + os.remove(self.filename) + except: + pass + self.warning_download() + msg_title = "Warning" + msg = unicode(_translate("HostsUtlMain", + "Incorrect Data file!\n" + "Please use the \"Download\" key to \n" + "fetch a new data file.", None)) + self.set_message(msg_title, msg) + self.Ui.ButtonApply.setEnabled(False) + self.set_conn_status(0) + else: + # Data file retrieved successfully + self.set_downprogbar(100, + unicode(_translate("HostsUtlMain", + "Download Complete", None))) + self.refresh_info(refresh) + self.Ui.ButtonApply.setEnabled(True) + self.Ui.Functionlist.setEnabled(True) + self.Ui.SelectMirror.setEnabled(True) + self.Ui.ButtonCheck.setEnabled(True) + self.Ui.ButtonUpdate.setEnabled(True) + self.Ui.ButtonExit.setEnabled(True) + + def new_version(self): + """Compare version of data file - Public Method + + Compare version of local data file to the version from the server. + + Returns: + A flag integer indicating whether the local data file is + up-to-date or not. + 1 -> The version of data file on server is newer. + 0 -> The local data file is up-to-date. + """ + local_ver = self._cur_ver + server_ver = self._update["version"] + local_ver = local_ver.split('.') + server_ver = server_ver.split('.') + for i, ver_num in enumerate(local_ver): + if server_ver[i] > ver_num: + return 1 + return 0 + + def warning_permission(self): + """Show permission error warning - Public Method + + Draw permission error warning message box. + """ + QtGui.QMessageBox.warning( + self, _translate("HostsUtlMain", "Warning", None), + _translate("HostsUtlMain", + "You do not have permissions to change the \n" + "hosts file.\n" + "Please run this program as Administrator/root\n" + "so it can modify your hosts file." + , None)) + + def warning_download(self): + """Show download error warning - Public Method + + Draw download error warning message box. + """ + QtGui.QMessageBox.warning( + self, _translate("HostsUtlMain", "Warning", None), + _translate("HostsUtlMain", + "Error retrieving data from the server.\n" + "Please try another server.", None)) + + def warning_incorrect_datafile(self): + """Show incorrect data file warning - Public Method + + Draw incorrect data file warning message box. + """ + msg_title = "Warning" + msg = unicode(_translate("HostsUtlMain", + "Incorrect Data file!\n" + "Please use the \"Download\" key to \n" + "fetch a new data file.", None)) + self.set_message(msg_title, msg) + self.Ui.ButtonApply.setEnabled(False) + + def warning_no_datafile(self): + """Show no data file warning - Public Method + + Draw no data file warning message box. + """ + msg_title = "Warning" + msg = unicode(_translate("HostsUtlMain", + "Data file not found!\n" + "Please use the \"Download\" key to \n" + "fetch a new data file.", None)) + self.set_message(msg_title, msg) + self.Ui.ButtonApply.setEnabled(False) + + def question_apply(self): + """Show confirm make question - Public Method + + Draw confirm make question message box. + + Returns: + A bool flag indicating whether user has accepted to continue the + operations or not. True: Continue, False: Cancel. + """ + msg_title = unicode(_translate("HostsUtlMain", "Notice", None)) + msg = unicode(_translate("HostsUtlMain", + "Are you sure you want to apply changes \n" + "to the hosts file on your system?\n\n" + "This operation could not be reverted if \n" + "you have not made a backup of your \n" + "current hosts file.", None)) + choice = QtGui.QMessageBox.question(self, msg_title, msg, + QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, + QtGui.QMessageBox.No) + if choice == QtGui.QMessageBox.Yes: + return True + else: + return False + + def info_uptodate(self): + """Show up-to-date message - Public Method + + Draw data file is up-to-date message box. + """ + QtGui.QMessageBox.information( + self, _translate("HostsUtlMain", "Notice", None), + _translate("HostsUtlMain", "Data file is up-to-date.", None)) + + def info_complete(self): + """Show complete message - Public Method + + Draw operation complete message box. + """ + QtGui.QMessageBox.information( + self, _translate("HostsUtlMain", "Complete", None), + _translate("HostsUtlMain", "Operation completed", None)) + + +class QSubChkConnection(QtCore.QThread): + """A class to check connection with server + + QSubChkConnection is a subclasse of PyQt4.QtCore.QThread. This class + contains methods to check the network connection with a specified mirror. + + The instance of this class should be created in an individual thread. And + the object instance of MainDialog class should be set as parent here. + + Attribute: + trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit suatus signal + to the main dialog. The meaning of the signal arguments is listed + here: + -1 -> checking..., 0 -> Failed, 1 -> OK. + """ + trigger = QtCore.pyqtSignal(int) + + def __init__(self, parent=None): + """Initialize a new instance of this class - Private Method + + Get mirror settings from the main dialog to check the connection. + + Args: + parent (obj): An instance of MainDialog object to get settings + from. + """ + super(QSubChkConnection, self).__init__(parent) + self.link = parent.mirrors[parent._mirr_id]["test_url"] + + def run(self): + """Check connection - Public Method + + Operations to check the network connection with a specified mirror. + """ + self.trigger.emit(-1) + status = Utilities.check_connection(self.link) + self.trigger.emit(status) + +class QSubFetchUpdate(QtCore.QThread): + """A class to fetch the latest data file + + QSubFetchUpdate is a subclasse of PyQt4.QtCore.QThread. This class + contains methods to retrieve the latest hosts data file. + + The instance of this class should be created in an individual thread. And + the object instance of MainDialog class should be set as parent here. + + Attributes: + prog_trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit progress + signal to the main dialog indicating the current download + progress. The meaning of the signal arguments is listed here: + (int, str) -> (progress, message) + progress (int): An integer indicating the current download + progress. + message (str): A string indicating the message to be shown to + users on the progress bar. + finish_trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit finish + signal to the main dialog. The meaning of the signal arguments is + listed here: + (int, int) -> (refresh_flag, error_flag) + refresh_flag (int): An integer indicating whether to refresh + the funcion list or not. 1: refresh, 0: do not refresh. + error_flag (int): An integer indicating whether the + downloading is successfully finished or not. + 1: error, 0: success. + """ + prog_trigger = QtCore.pyqtSignal(int, str) + finish_trigger = QtCore.pyqtSignal(int, int) + + def __init__(self, parent=None): + """Initialize a new instance of this class - Private Method + + Get download settings from the main dialog to retrieve new hosts data + file. + + Args: + parent (obj): An instance of MainDialog object to get settings + from. + """ + super(QSubFetchUpdate, self).__init__(parent) + self.url = ''.join([ + parent.mirrors[parent._mirr_id]["update"], + parent.filename]) + self.path = ''.join(["./", parent.filename]) + self.tmp_path = ''.join([self.path, ".download"]) + self.filesize = parent._update["size"] + + def run(self): + """Fetch data file - Public Method + + Operations to retrieve the new hosts data file. + """ + self.prog_trigger.emit(0, unicode(_translate( + "HostsUtlMain", "Connecting...", None))) + self.fetch_file(self.url, self.path) + + def fetch_file(self, url, path): + """Fetch the data file - Public Method + + Retrieve the latest data file to a specified path ({path}) by url + ({url}). + + Args: + url (str): A string indicating the url to fetch the latest data + file. + path (str): A string indicating the path to save the data file on + current machine. + """ + socket.setdefaulttimeout(10) + try: + urllib.urlretrieve(url, self.tmp_path, self.set_progress) + self.replace_old() + self.finish_trigger.emit(1, 0) + except: + self.finish_trigger.emit(1, 1) + + def set_progress(self, done, blocksize, total): + """Set progress bar in the main dialog - Public Method + + Send message to the main dialog to set the progress bar Prog. + + Args: + done (int): An integer indicating the number of data blocks have + been downloaded from the server. + blocksize (int): An integer indicating the size of a data block. + """ + done = done * blocksize + if total <= 0: + total = self.filesize + prog = 100 * done / total + done = Utilities.convert_size(done) + total = Utilities.convert_size(total) + text = unicode(_translate( + "HostsUtlMain", "Downloading: %s / %s", None)) % (done, total) + self.prog_trigger.emit(prog, text) + + def replace_old(self): + """Replace the old data file - Public Method + + Overwrite the old hosts data file with the new one. + """ + if os.path.isfile(self.path): + os.remove(self.path) + os.rename(self.tmp_path, self.path) + + +class QSubMakeHosts(QtCore.QThread): + """A class to make a new hosts file + + QSubMakeHosts is a subclasse of PyQt4.QtCore.QThread. This class contains + methods to make a new hosts file for client. + + The instance of this class should be created in an individual thread. And + the object instance of MainDialog class should be set as parent here. + + Attributes: + info_trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit message + signal to the main dialog indicating the current operation.The + meaning of the signal arguments is listed here: + (str, int) - (mod_name, mod_num) + mod_name (str): A string indicating the name of a specified hosts + module in current progress. + mod_num (int): An integer indicating the number of current module + in the operation sequence. + fina_trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit message + signal to the main dialog indicating finish information. The + meaning of the signal arguments is listed here: + (str, int) - (time, count) + time (str): A string indicating the total time uesd to make the + new hosts file. + count (int): An integer indicating the total number of hosts + entries inserted into the new hosts file. + move_trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit signal + to the main dialog while new hosts is being moved to specified + path on current system. This signal does not + count (int): An integer indicating id of the module being processed + currently. + mod_num (int): An integer indicating total number of modules being + operated while making hosts file. + """ + info_trigger = QtCore.pyqtSignal(str, int) + fina_trigger = QtCore.pyqtSignal(str, int) + move_trigger = QtCore.pyqtSignal() + count = 0 + mod_num = 0 + + def __init__(self, parent=None): + """Initialize a new instance of this class - Private Method + + Fetch settings from the main dialog to make a new hosts file. + + Args: + parent (obj): An instance of MainDialog object to get settings + from. + """ + super(QSubMakeHosts, self).__init__(parent) + self.count = 0 + self.make_cfg = parent._make_cfg + self.hostname = parent.hostname + self.hosts_file = open("hosts", "w") + + def run(self): + """Make new hosts file - Public Method + + Operations to retrieve data from the data file and make the new hosts + file for current system. + """ + RetrieveData.connect_db() + start_time = time.time() + self.maketime = start_time + self.write_head() + self.write_info() + self.get_hosts(self.make_cfg) + self.hosts_file.close() + end_time = time.time() + total_time = "%.4f" % (end_time - start_time) + self.fina_trigger.emit(total_time, self.count) + self.move_trigger.emit() + RetrieveData.disconnect_db() + + def get_hosts(self, make_cfg): + """Make hosts by user config - Public Method + + Make the new hosts file by the configuration ({make_cfg}) from + function list on the main dialog. + + Args: + make_cfg (dict): A dictionary containing module settings in byte + word format. + """ + for part_id in sorted(make_cfg.keys()): + mod_cfg = make_cfg[part_id] + if not RetrieveData.chk_mutex(part_id, mod_cfg): + return + mods = RetrieveData.get_ids(mod_cfg) + for mod_id in mods: + self.mod_num += 1 + if part_id == 0x02: + self.write_localhost_mod(part_id, mod_id) + else: + self.write_common_mod(part_id, mod_id) + + def write_head(self): + """Write head section - Public Method + + Write the head part of new hosts file. + """ + for head_str in RetrieveData.get_head(): + self.hosts_file.write("%s\n" % head_str[0]) + + def write_info(self): + """Write info section - Public Method + + Write the information part of new hosts file. + """ + info = RetrieveData.get_info() + info_lines = ["#"] + info_lines.append("# %s: %s" % ("Version", info["Version"])) + info_lines.append("# %s: %s" % ("Buildtime", info["Buildtime"])) + info_lines.append("# %s: %s" % ("Applytime", int(self.maketime))) + info_lines.append("#") + for line in info_lines: + self.hosts_file.write("%s\n" % line) + + def write_common_mod(self, part_id, mod_id): + """Write module section - Public Method + + Write hosts entries in a specified module ({mod_id}) from a specified + part ({part_id}) of the data file to the new hosts file. + + Args: + part_id (int): An integer indicating the index number of a part + in the data file. + mod_id (int): An integer indicating the index number of a module + in the data file. + """ + hosts, mod_name = RetrieveData.get_host(part_id, mod_id) + self.info_trigger.emit(mod_name, self.mod_num) + self.hosts_file.write("\n# Section Start: %s\n" % mod_name) + for host in hosts: + self.hosts_file.write("%s %s\n" % (host[0], host[1])) + self.count += 1 + self.hosts_file.write("# Section End: %s\n" % mod_name) + + def write_localhost_mod(self, part_id, mod_id): + """Write localhost section - Public Method + + Write hosts entries in a localhost module ({mod_id}) from a specified + part ({part_id}) of the data file to the new hosts file. + + Args: + part_id (int): An integer indicating the index number of a part + in the data file. + mod_id (int): An integer indicating the index number of a module + in the data file. + """ + hosts, mod_name = RetrieveData.get_host(part_id, mod_id) + self.info_trigger.emit(mod_name, self.mod_num) + self.hosts_file.write("\n# Section Start: Localhost\n") + for host in hosts: + if "#Replace" in host[1]: + host = (host[0], self.hostname) + self.hosts_file.write("%s %s\n" % (host[0], host[1])) + self.count += 1 + self.hosts_file.write("# Section End: Localhost\n") + + +class QSubChkUpdate(QtCore.QThread): + """A class to check update info of the latest data file + + QSubChkConnection is a subclasse of PyQt4.QtCore.QThread. This class + contains methods to retrieve the metadata of the latest hosts data file. + + The instance of this class should be created in an individual thread. And + the object instance of MainDialog class should be set as parent here. + + Attribute: + trigger (obj): A PyQt4.QtCore.pyqtSignal object to emit suatus signal + to the main dialog. The meaning of the signal is listed here: + (dict) -> (update_info) + update_info (dict): A dictionary containing metadata of the + latest hosts data file. + """ + trigger = QtCore.pyqtSignal(dict) + + def __init__(self, parent=None): + """Initialize a new instance of this class - Private Method + + Get mirror settings from the main dialog to check the connection. + + Args: + parent (obj): An instance of MainDialog object to get settings + from. + """ + super(QSubChkUpdate, self).__init__(parent) + self.url = ''.join([ + parent.mirrors[parent._mirr_id]["update"], + parent.infofile]) + + def run(self): + """Check update - Public Method + + Operations to retrieve the metadata of the latest hosts data file. + """ + try: + socket.setdefaulttimeout(5) + urlobj = urllib.urlopen(self.url) + j_str = urlobj.read() + urlobj.close() + info = json.loads(j_str) + self.trigger.emit(info) + except: + info = {"version": unicode(_translate("HostsUtlMain", + "[Error]", None))} + self.trigger.emit(info) + + +def qt_main(): + """Load main dialog + + Start the main dialog of Hosts Setup Utility. + """ + trans = QtCore.QTranslator() + trans.load("lang/en_US") + app = QtGui.QApplication(sys.argv) + app.installTranslator(trans) + ui = Ui_HostsUtlMain() + HostsUtlMain = MainDialog(ui, trans) + ui.setupUi(HostsUtlMain) + HostsUtlMain.set_languages() + if not HostsUtlMain.initd: + HostsUtlMain.init_main() + HostsUtlMain.show() + sys.exit(app.exec_()) + +if __name__ == "__main__": + qt_main() From aa2279f2701b089e2356d53260f7c9fb9287ee1a Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 15:07:02 +0800 Subject: [PATCH 07/10] Add build script (_build.py) Signed-off-by: huhamhire-hosts --- _build.py | 302 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 _build.py diff --git a/_build.py b/_build.py new file mode 100644 index 0000000..c96316e --- /dev/null +++ b/_build.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# _build.py : Tools to make packages for different platforms +# +# Copyleft (C) 2013 - huhamhire hosts team +# ===================================================================== +# Licensed under the GNU General Public License, version 3. You should +# have received a copy of the GNU General Public License along with +# this program. If not, see . +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING +# THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. +# ===================================================================== + +__version__ = "0.8.0" +__author__ = "huhamhire " + +import os +import sys +import shutil + +from hostsutl import __version__ + +SCRIPT = "hostsutl.py" + +SCRIPT_DIR = os.getcwd() + '/' +RELEASE_DIR = "../release/" +# Shared package settings and metadata +NAME = "HostsUtl" +VERSION = __version__ +DESCRIPTION = "HostsUtl - Hosts Setup Utility" +AUTHOR = "Hamhire Hu" +AUTHOR_EMAIL ="develop@huhamhire.com", +LICENSE = "Public Domain, Python, BSD, GPLv3 (see LICENSE)", +URL = "http://hosts.huhamhire.com", +CLASSIFIERS = [ + "Development Status :: 4 - Beta", + "Environment :: MacOS X", + "Environment :: Win32 (MS Windows)", + "Environment :: X11 Applications :: Qt", + "Intended Audience :: Developers", + "Intended Audience :: End Users/Desktop", + "Intended Audience :: Other Audience", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: Python Software Foundation License", + "License :: OSI Approved :: BSD License", + "License :: OSI Approved :: GNU General Public License v3", + "License :: Public Domain", + "Natural Language :: English", + "Natural Language :: Chinese (Simplified)", + "Operating System :: OS Independent", + "Programming Language :: Python :: 2.7", + "Topic :: Communications", + "Topic :: Database", + "Topic :: Desktop Environment", + "Topic :: Documentation", + "Topic :: Internet :: Name Service (DNS)", + "Topic :: System :: Networking", + "Topic :: Software Development :: Documentation", + "Topic :: Text Processing", + "Topic :: Utilities", +] +DATA_FILES = [ + ("lang", [ + "lang/en_US.qm", + "lang/zh_CN.qm", + "lang/zh_TW.qm", + ] + ), + "LICENSE", + "README", +] + +if sys.argv > 1: + tar_flag = 0 + if sys.argv[1] == "py2tar": + # Pack up script package for Linux users + file_path = lambda rel_path: SCRIPT_DIR + rel_path + includes = ["*.py", "lang/*.qm", "LICENSE", "README"] + excludes = ["_*.py"] + ex_files = [] + prefix = "HostsUtl-x11-gpl-" + tar_flag = 1 + + elif sys.argv[1] == "py2source": + # Pack up source package for Linux users + file_path = lambda rel_path: SCRIPT_DIR + rel_path + includes = ["*"] + excludes = [] + ex_files = [] + prefix = "HostsUtl-source-gpl-" + tar_flag = 1 + + if tar_flag: + import glob + import tarfile + TAR_NAME = prefix + VERSION + ".tar.gz" + RELEASE_PATH = RELEASE_DIR + TAR_NAME + if not os.path.exists(RELEASE_DIR): + os.mkdir(RELEASE_DIR) + if os.path.isfile(RELEASE_PATH): + os.remove(RELEASE_PATH) + rel_len = len(SCRIPT_DIR) + tar = tarfile.open(RELEASE_PATH, "w|gz") + for name_format in excludes: + ex_files.extend(glob.glob(file_path(name_format))) + for name_format in includes: + files = glob.glob(file_path(name_format)) + for src_file in files: + if src_file not in ex_files: + tar.add(src_file, src_file[rel_len:]) + print src_file + tar.close() + exit(1) + +from utilities import Utilities +system = Utilities.check_platform()[0] +if system == "Windows": + # Build binary executables for Windows + import struct + import zipfile + from distutils.core import setup + + import py2exe + # Set working directories + WORK_DIR = SCRIPT_DIR + "work/" + DIR_NAME = "HostsUtl" + DIST_DIR = WORK_DIR + DIR_NAME + '/' + WIN_OPTIONS = { + "includes": ["sip"], + "excludes": ["_scproxy", "_sysconfigdata"], + "dll_excludes": ["MSVCP90.dll"], + "dist_dir": DIST_DIR, + "compressed": 1, + "optimize": 2, + } + # Clean work space before build + if os.path.exists(DIST_DIR): + shutil.rmtree(DIST_DIR) + # Build Executable + print " Building Executable ".center(78, '=') + setup( + name = NAME, + version = VERSION, + options = {"py2exe": WIN_OPTIONS}, + windows = [ + {"script": SCRIPT, + "icon_resources": [(1, "img/hosts_utl.ico")] + }, + ], + description = DESCRIPTION, + author = AUTHOR, + author_email = AUTHOR_EMAIL, + license = LICENSE, + url = URL, + zipfile = None, + data_files = DATA_FILES, + classifiers = CLASSIFIERS, + ) + # Clean work directory after build + shutil.rmtree(SCRIPT_DIR + "build/") + # Pack up executable to ZIP file + print " Compressing to ZIP ".center(78, '=') + if struct.calcsize("P") * 8 == 64: + PLAT = "x64" + elif struct.calcsize("P") * 8 == 32: + PLAT = "x86" + ZIP_NAME = DIR_NAME + '-win-gpl-' + VERSION + '-' + PLAT + ".zip" + ZIP_FILE = WORK_DIR + ZIP_NAME + compressed = zipfile.ZipFile(ZIP_FILE, 'w', zipfile.ZIP_DEFLATED) + for root, dirs, files in os.walk(DIST_DIR): + rel_path = os.path.relpath(root, os.path.dirname(DIST_DIR)) + for name in files: + print "compressing: %s" % os.path.join(root, name) + compressed.write( + os.path.join(root, name), + os.path.join(rel_path, name)) + compressed.close() + # Move ZIP file to release directory + RELEASE_PATH = RELEASE_DIR + ZIP_NAME + if not os.path.exists(RELEASE_DIR): + os.mkdir(RELEASE_DIR) + if os.path.isfile(RELEASE_PATH): + os.remove(RELEASE_PATH) + shutil.move(ZIP_FILE, RELEASE_PATH) + shutil.rmtree(WORK_DIR) + print "Done!" + +elif system == "OS X": + # Build binary executables for Mac OS X + from setuptools import setup + # Set working directories + WORK_DIR = SCRIPT_DIR + "work/" + RES_DIR = SCRIPT_DIR + "mac_res/" + APP_NAME = "HostsUtl.app" + APP_PATH = WORK_DIR + APP_NAME + DIST_DIR = APP_PATH + "/Contents/" + # Set build configuration + MAC_OPTIONS = { + "iconfile": "img/hosts_utl.icns", + "includes": ["sip", "PyQt4.QtCore", "PyQt4.QtGui"], + "excludes": [ + "PyQt4.QtDBus", + "PyQt4.QtDeclarative", + "PyQt4.QtDesigner", + "PyQt4.QtHelp", + "PyQt4.QtMultimedia", + "PyQt4.QtNetwork", + "PyQt4.QtOpenGL", + "PyQt4.QtScript", + "PyQt4.QtScriptTools", + "PyQt4.QtSql", + "PyQt4.QtSvg", + "PyQt4.QtTest", + "PyQt4.QtWebKit", + "PyQt4.QtXml", + "PyQt4.QtXmlPatterns", + "PyQt4.phonon"], + "compressed": 1, + "dist_dir": DIST_DIR, + "optimize": 2, + "plist": { + "CFBundleAllowMixedLocalizations": True, + "CFBundleSignature": "hamh", + "CFBundleIdentifier": "org.pythonmac.huhamhire.HostsUtl", + "NSHumanReadableCopyright": "(C) 2013, Huhamhire hosts Team"} + } + # Clean work space before build + if os.path.exists(APP_PATH): + shutil.rmtree(APP_PATH) + if not os.path.exists(WORK_DIR): + os.mkdir(WORK_DIR) + # Make daemon APP + OSAC_CMD = "osacompile -o %s %sHostsUtl.scpt" % (APP_PATH, RES_DIR) + os.system(OSAC_CMD) + # Build APP + print " Building Application ".center(78, '=') + setup( + app = [SCRIPT], + name = NAME, + version = VERSION, + options = {"py2app": MAC_OPTIONS}, + setup_requires = ["py2app"], + description = DESCRIPTION, + author = AUTHOR, + author_email = AUTHOR_EMAIL, + license = LICENSE, + url = URL, + data_files = DATA_FILES, + classifiers = CLASSIFIERS, + ) + # Clean work directory after build + os.remove(DIST_DIR + "Resources/applet.icns") + shutil.copy2( + SCRIPT_DIR + "img/hosts_utl.icns", + DIST_DIR + "Resources/applet.icns") + shutil.copy2(RES_DIR + "Info.plist", DIST_DIR + "Info.plist") + shutil.rmtree(SCRIPT_DIR + "build/") + # Pack APP to DMG file + VDMG_DIR = WORK_DIR + "package_vdmg/" + DMG_TMP = WORK_DIR + "pack_tmp.dmg" + DMG_RES_DIR = RES_DIR + "dmg_resource/" + VOL_NAME = "HostsUtl" + DMG_NAME = VOL_NAME + "-mac-gpl-" + VERSION + ".dmg" + DMG_PATH = WORK_DIR + DMG_NAME + # Clean work space before pack up + if os.path.exists(VDMG_DIR): + shutil.rmtree(VDMG_DIR) + if os.path.isfile(DMG_TMP): + os.remove(DMG_TMP) + if os.path.isfile(DMG_PATH): + os.remove(DMG_PATH) + # Prepare files in DMG package + os.mkdir(VDMG_DIR) + shutil.move(APP_PATH, VDMG_DIR) + os.symlink("/Applications", VDMG_DIR + " ") + shutil.copy2(DMG_RES_DIR + "background.png", VDMG_DIR + ".background.png") + shutil.copy2(DMG_RES_DIR + "DS_Store_dmg", VDMG_DIR + ".DS_Store") + # Make DMG file + print " Making DMG Package ".center(78, '=') + MK_CMD = ( + "hdiutil makehybrid -hfs -hfs-volume-name %s " + "-hfs-openfolder %s %s -o %s" % ( + VOL_NAME, VDMG_DIR, VDMG_DIR, DMG_TMP)) + PACK_CMD = "hdiutil convert -format UDZO %s -o %s" % (DMG_TMP, DMG_PATH) + os.system(MK_CMD) + os.system(PACK_CMD) + # Clean work directory after make DMG package + shutil.rmtree(VDMG_DIR) + os.remove(DMG_TMP) + # Move DMG file to release directory + RELEASE_PATH = RELEASE_DIR + DMG_NAME + if not os.path.exists(RELEASE_DIR): + os.mkdir(RELEASE_DIR) + if os.path.isfile(RELEASE_PATH): + os.remove(RELEASE_PATH) + print "moving DMG file to: %s" % RELEASE_PATH + shutil.move(DMG_PATH, RELEASE_PATH) + shutil.rmtree(WORK_DIR) + print "Done!" From efb9219b60a8b0901435a0d6cabf3f8432f35059 Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 15:08:12 +0800 Subject: [PATCH 08/10] Add Mac build resources Signed-off-by: huhamhire-hosts --- mac_res/.DS_Store | Bin 0 -> 6148 bytes mac_res/HostsUtl.scpt | Bin 0 -> 1904 bytes mac_res/Info.plist | 54 ++++++++++++++++++++++++++++ mac_res/dmg_resource/DS_Store_dmg | Bin 0 -> 15364 bytes mac_res/dmg_resource/background.png | Bin 0 -> 226823 bytes 5 files changed, 54 insertions(+) create mode 100644 mac_res/.DS_Store create mode 100644 mac_res/HostsUtl.scpt create mode 100644 mac_res/Info.plist create mode 100644 mac_res/dmg_resource/DS_Store_dmg create mode 100644 mac_res/dmg_resource/background.png diff --git a/mac_res/.DS_Store b/mac_res/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..54998dc2a351e71e2a8b0bb976d7e45e0c46581a GIT binary patch literal 6148 zcmeHK%}T>S5T0$TCRm{tL2rxaB5f4v!9yq&JPIxJV5KIew1L``B(;Z9jra;ah)?75 zIJ3J|O6|dmh@FAiZ!$kw_S>+N1prZ>1XX|%09dGmIU9#>gyN(tk~1Dcq23Wg4-$xA z0`W>VJN_aAw0A`a;2!$W#a;W_zdPvp(`4)qBOi0#{P8eM(n{rB(z-RawQHkr z<5a1)s{cn1z4Z^M)C;{;B25zll#r6|@3iD&`g^;kL5dTpQg`)!Gw;25GxKKV&7|!u z%$&(5M>C@%YD58qVWJ z#jbv#=s8jyQM%fJPK)5X8l}p2&}9+y5)Vh|LpORXf;P%|3~_m6$Rk>+co*nFPhcd9 zm^?J)VFM!;x?VZ*z?26KWOQ`WkzToPp*L`(gPM=xm_^X%Xt;w~-o zHBe^Zco3FO-l8vxK4?E68D~^KLl)yGql79PA3d&|<%-7@4>QCfGO$tM-$-_vd-KR4 z|N1!#$6np@t|@ns7(tU;D=ij^j?YYz(dE9%jTv|d7H=wsl(y3xWa|IK=`-Vb=o${{ zO8c5I))KjVayB_#u9d2Gp_H5|lvSRCZ|$SOma{`XKVnQ4N(+vg;R89?{%=&<{9vv9 zlf=Ox;Rm!N59W2+I$n02yyGqx<{ghE%Q&ok_~SR+jr)A!m+#1Hd{e*(N19`h_xSkr zYmDVrysEP_hN;4wYr89BIIMdNhb|OlWf+)5fkm*uQgHuGdJF@6YAV4=%yLY#IBI^W z*uHcUQ>3bd5*P>!X6yE{hs|XVS>r3sLfu|R3&(pnVG;aRa1=?oBe&(2A$QmcycMrJ z=Qw^#5?SS;RTRsm&o#NNTGB10;snP@xoP2Kpdy8|+(17D43a>FbHSNcjX)h&pW-cw z_%A8NgYV;%Mev(PioOg+8C1TKbesV;_!4RiOBqQEr-GWM&$4IAUc;J>FlHh76GL*{ zAPF0D_QH~dp+G-9lU+l0(QM9@%ga@_=0xPWy3S1|R$eN2p*js)c&rT}s=9_@oYqKK z5X0QwF=Xd04Lgd{Xlj!`5Rq-!Vk)z;X>j_s7Qd|=*ir^E3bHJ)lw6e!xgwY4cl606 z`3-||QPvH)TJN`pY}7lfAy=sVO^w@>%MIF+LA62GH04smI2tth<{B{MVm-8mtk>ll zB|0vf7}`vrYjA73*ox4^ueqPD4J+L3pID#CrN3-Nb8heF{u>Ur&6w@YyXt}MZ)|-3 E50`kuK>z>% literal 0 HcmV?d00001 diff --git a/mac_res/Info.plist b/mac_res/Info.plist new file mode 100644 index 0000000..38476b5 --- /dev/null +++ b/mac_res/Info.plist @@ -0,0 +1,54 @@ + + + + + CFBundleAllowMixedLocalizations + + CFBundleDevelopmentRegion + English + CFBundleExecutable + applet + CFBundleIconFile + applet + CFBundleIdentifier + com.huhamhire.HostsUtl + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + HostsUtl + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + hamh + CFBundleVersion + 1.0.0 + LSMinimumSystemVersionByArchitecture + + x86_64 + 10.6 + + LSRequiresCarbon + + LSUIElement + 1 + NSHumanReadableCopyright + (C) 2013, Huhamhire hosts Team + WindowState + + dividerCollapsed + + eventLogLevel + -1 + name + ScriptWindowState + positionOfDivider + 333 + savedFrame + 55 348 602 597 0 0 1920 1058 + selectedTabView + result + + + diff --git a/mac_res/dmg_resource/DS_Store_dmg b/mac_res/dmg_resource/DS_Store_dmg new file mode 100644 index 0000000000000000000000000000000000000000..7655ef6e8ba8745911c1607598c507db53e281f3 GIT binary patch literal 15364 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 z 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 z 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∾kM$VV=%k6Dz2Y~i}D zlGF+1NY4218}t(m9Ix~6RQ3on4qU45`ijzsAYhK z$Y@b2!HF1|mp5k)%?wTh9B)Olwv=qO1&EHYcQeS-$HEd7Ph?Kd4_Pkp8T<+|a&@;l zqe$Xunzj#_l1R@C^w_p-YA*8?66Uw3`XNAcerHe9^HG*%mIP0crx(xUH$s1MggO~K z_;RmpSKn{X;e!BavwR#B27SA%;^7!R93_)L%hE8)j9D#@U$5q}ffn=;Ca(Rcy(&Co zFpm+({5371Y8puC!}VdQc}=U3r_EEWa|-d*I}?yB8f?h!o{TjKWj z{diG^PmXT6G;Ep0NtIP|YEo#y%=D)G*3-pgQ?^y*Iw?*UcHOf4|I_mhI`J;iBIehN zT19O*T8EN0XKbe8T2m0J9(^EcnME@Y$;E=FbxJLRGHN%Ax?&+$QFY*zEqmJwejh`3 znglbdzItw;)f6QJqj!fwrPESpRmu_Thcrt}pz95~>Vn%=wzp3biKs3^ouPY6ODx$8)$>YosbpeG7S|vAZ4%Dmph1~z6M;_ zmddg1MSeoGr#0@gWlhMXJPEg-A)3eauYs0Q=G~nsoGdqa4GFpnmHG~WS0Q&zz!o@ z|8}(yd;~m>$GHjThgMNlKlHjblKrqPE{E@u%A;!5)U~G&^DdhyHPNg{@)6c=g#O$J z%{snLbqT9bmdqvX#l60F%0}40G|0ZcEQ(Id!?A=|THkfZNO}qLc?*q;x-H7f^O~-m zd65NJVqiQJ7?(uvU62R}Jq1 z#@a_ws(Od$g7)tY_sMRN=Aww6;E8UGvt6b8KmlWM>8;};bh_x15ZtM-fH&cPO!BA*W{XsK;&} zc#3Q5PH5xS)UOai(9uUZGf9RfyW(Ax;0}G{G<~dA@Xt6{qvv2Nez^otQ^QViIfcp| z5uwuFgRB7{pyK=K#MXq#tX(m*!@&|l6Yj#I)-E9`{+kGgRt_(~ZAo&;i`VkBPnz)x z;G3S$8u~Szv|^E82v$5=srcy-D4qdcBrhl=^4U@`u5KoB!{>WwneQmb#|xXUZZUb) zW9n|_YM1(L?@PtLWl&Cm7-k#@kkj;}`eX?#^;PLQt^Nn+NPOxkuS3LsM7RS>Gi+LtAZ% zb~p;Wr4uPka?PQgX4}EI9eSjS;&p`86q2FIb*~eGvURa72aVu-N;9yzHy!g_0bn^L zPap5L=>qWDcORkJKiL`pR*8f11g}Eud6n(4axrgaXpDiGH78!9DxYK>o2xigp;RTE8r^gt0v=D zHIBVu%9YcP5Ex#|Mf7OuVeY{-`0ZVs2llR8ILKD*IXLe*4iLIv<(V{^=)GoB7 zmCh{CW^G|$zIxWlgxCT!?~#d)HC*u5?Ye>G+VS8bK@K?>Y1Mqme(lt1_pO1lLH^$) zp~5(0Or<~wf_&vjJ2%K+J9?6u8=a9uaJQ7J;*;P_(*hp+H$s1Egy!u9Ba1U#JWh?~ zX@n!MCB!&`V|!UlY+A~*-Mx@FhkL_7H^U&F^Uz+5eUq)WwWV#lmgfR5fCwLQV6zIP z|MgXDnyAjpy}%qmjxQ&&32t-8?Zvog;?hLz-+o9dAlkqhU z2(Ct0b%wip4Im)64x%7vzmQy1cH(A`a@%S@<0RCzP+yDKqt?>x3=J8{*7uqIVJHCr z!osvLor;OV1&gN3C6eujZ57%+aUutt&izt!-KHVZ2u>ObFWy+V>V_uK$>i5kgzLOn z$R3tL5xHh#5O_AJX?WGko-7*#BkNl*$R6o>Yk?1kwrWa4b3kekq&l>3*&o}Om&h2N z?S(h$*^T?a4r#nOk&214_#?7Av6uE5^YODlKR_Q^OMeIjV_eq z#-LZNSBgoV+;m*lxd_g9LTobEnMXD)3^pwJ_ zUrd`aiq}rbZ=bxbvt_=IwOH1M+}(wrx9v5WSGf(<5FH~ys-Tt67FJ~eK1GQE#hRw@ z8=*frLIHucjUJ6pGtYA`WtO_aWEGoz&N4skdl|v=9_2MO$LrPQ3FH=AFwN{g()Di4 zVuqdkvmLK-pRVWglQtJpljR0@;}bK1KM$K#aH>y-tQb-CVz??{g4#4I$3;%ku?cvr z)yhP^00Tg{b?~iK1Q%?KkG+iw~+1Hbra(cG{%c&J%5$>j+ zq!VGcWXsvcYRLgqnkLo7>3BY$f>lm-wnssBBu*Rd?id<_?hnE~R2~_;(C$3YP|&Gy zoTF>1bl6>#j@9KHHG*Kcp3Boe&C(XZQJd5G)fWbPq?xisNOkkT&yQIi@2kDCb$QyC zVoD$76&-{u%YO@~VAnJ9w4fQLQf?G6M=0sC{zrqOJqgsI%B#N>*R(qXm+nmNmL%Y6 zmebFLhA_fo*m|gmDT*^J+pc0ZsW5E9dw^p0Cyf5m-LumZunXK>w3>a~o+ob6^38LS z^q{GCiBye3ye$B$*^@?@e7@9pIfjZk-vxWRyp?w%lr69OtZyGplvvn4+(bgfXhSverJhsu-|!q4PBN$T|5=?(2IHy=c(W2%`6g$6aLOEM zUfiuR3d?nCcw!%yGooY+G3MI_txY#;nc-JU(kE-I*Jxpkdz-vIMV+8Bat&pS-0S&x zEH|xgw*PXhk9?e)oK%~)#Lvlze0H%JTPZ!N5dl0HUogU;lt3o7CBvLY!N!e*P> z=jW$gt)+|gh2SK z)qtb-6y8FhaM-5kCV}zs`0)9jgLWbKh4LGrKRH7G&ON&_Am+uFKqnXItNwO;@q57< zT!bZCtjUifd%LQ1?3Wl&i2f)(OlO|J=p3$R(orVS(<{0BI>H6%AX{VnYnO>H5krk+ zZ{UbyC1!H|_g^Fv1=bGIfN#Ra12y7XS|Z&m7^mr^n{EOvt)hqUVRw3^=t;hx$T0*& zI)XL*9Kqrk*gzeg3G(E{*J@F-<|rRZQiN2ff*ssMY)@w7oOshOOMu|MkEB@77jbaGMv<$6Ah@sOM3ik3W2|D-TFA(Y7ti zME1SR^V*+OmyYYT?+1t)oPnmeP+L>%CROCUs4wO?E#;&VSja`L5FyiEi&;Ho0#$)z zi)>YBkx^#Ao6SYX)tQ~_VOl2VSWz@9$ii%$uqmkCk9R-r&Ud3=4*M@YG`E*|ReN#SKaAO?ZUc5Rd3mP<@M(j7XYfTawbVvW0I=FpfRFM!zvP? zuQ-Q}10V4jrtG1b{?)R zZlY#Ys}KRqQ}NL@|M>Id?F@(Y75PrC-YI{5?`r)-;q6I1ME&HCwr#V-N1Zz>$B1M* zC{&SkchjH>%IhT@ZHpFOm%lXl+R+0ZLVnoe!6ay`$?c%8s;dzzI4#j&M#vXSjrpNiL$A zO|B9?1e>RA>lD~|QH9>^f;!|VJTy^<;gR;}0`pEBKmR^ zPQGzMlLwyIdkvK{#j$*M5>ziCgb1Y3B}37CbPl+m&Q@b1)LRBf#Kii-o>`nJRJG9M zVZdV-`}MNbw@baAtYqJ;__d_bcFkF9PWnW>?EC+#-8SFI1R$J9??~niIZZ63qtECG zS`@TSZ4Z?s8NSQ*etQj;c(MjZ?HV(8qTGBoag?*;vOYS zwqFUa0H;7$zgUyxM1sok5MJN6IF4jMqULkX&$Neg3hQl`nvQc`pU-3ejugC;4lr*< z-+(s2sC!nxWx`g0~RtUdu0%L?$n>kAS(R$pD|ZBaC5;S+N-jh;(-b2{tp9OUW1fsb^hz9%$odE7frbYSkY6nNE6MMcvjmUOpfI$ zmgr$|X4OZiFRPX9PG`c{p#?8yHEmP6lpL@bpSA)P_s|rkXS_=uUtZ*Yjy5Oir{yy~uD{yU(ekyYPllcdNRj{Qd1r4Q&%=cSKZ~?F-lh)e?PP z_0Sk6*&6bVzzNE>_XwVR&Qh?c5=oQ@B_}^RKA?;IMlMeVBnGWC(<-fcXzU{epD`YD z0ffM7Wui4CO(f0=86q+U0t~pSfLaQmJJ*#WRA^u4>=9^h#hE5cm&x;I6hRMJTlJ4x zza>YuzqWs<$fbsCIjjWThnuTv%72M@mBE=!nDv2AJ1ke0YD7|=G{pGj{(#fcZ`Gr= ze~~B>vdqhBi#(S6kaGNthmkN?A})*nRxmVhTU*Iz7fZ*SV&Dkt=KWsy3K*WX@&-Ninm6g1Vky~@YqH$s1IgnoU!oK_1#0IS{V^=zkh zgKJye9&M_EFIv=c3XfplVQ+$QlTg9DVB7%>g?UwAAPoVNP%$w+xg)kR)kJ8ULWT%wRYJOxUV)W?-bCw2YfUJ2 zX}*oSA1Nq_0~SGWTH!Ku`&C;INvg%_NX$;vg^tyx1)ze@4;Lq2fsL4)v`Tdxq+gt4 z;f^&>w`X(86Y8D)(Jf(73h-nB$g;}rfJfG8x1Y1^EEbtqA$Rwnll>^>_Al6bT+*J_iyi1YN z5>HmL+puc=TSf)Habc8Ko#!oP3Wre1AImaZ)_%7AO*~1ej)h*ikgM}_eyDS5p-0js zhYow!zY+SABNWLc@d;3CWWWOKl*fCtD_Jsb=NXN>=GxOhvFRn*J8C(!V1Em*7(b80 zjuZwambb_WG)b@IuqRbf;Qh95(Nr{?mmPX@yVbBKryDi?bn`$xaR$@qpe>C&>>3t`Tn88NrByHd$U zMrc88#rSTOMZg3eT?lj<(GZ9}kV$!)@MLoB1{4=}{*pS&z zT*@Q5o4iDr z-;VY*jGEk8Rl3GUpm2+qB-?GZ*&lTwkD=@GKNl(?3ugO7~Q|X^7$=uww&OwJeVdJ9_mZr9M-y34x?$?-VSmHxOJ@ zUMnO>31ciwtH@;AX(c`kSjOdXQC(leb(lnr%nCf6v?&&9{bAdT$XFVqII zYjtWy^mZw=`;po7#DpDK)x2c2%ntVzmRcjP0T99^Za)dgBEFZ*D{t1dy&iicaocc? zsFx2h7)p$O9_P1oHOt+U0FY$yf9$B>@E(K|W+-1}cV-VqZyfNDtf_04OSG`VIEl1| zQn=RW5YKG$PU7qPTp#&F!_L7{$+9s^PpxW)DR(k}g1#$F;ALj8qXEuzDyOre-o8hX zK2-g)YU_1_{}Ec=h+0zYY zvLPB5Ftf6|NiMR9e*2_!jEszy3;GNJZXU9MF;s%F zeu#I1r{4(uxe>~+Td7CDd;!aqAkj#*_QwgOV6x+m<Lg zI%K(n?2Gb@>{Gf_@T#$8${3?Hr`&<>Ao6-C^q>3I&at|0T19CywKo0eC?Bq~Z z>#4YqbzZwvQjOzeEDlr6qW$}l%{v7%vaq||#j9YX2JLd07kLS1$@Q+9&KFgkT$ao? zyUx`^mXsJZA>aZb_(GkvIWjD(FpoY3)?eeT{|g>7ivo+STw2xzlqGqbowQYuo#_#z zkkE%5npZ2Xx99r7y3iP^%A-sP2>rg}+!oZ8XHmZX4D2>o`l3PKPRkAsbyqa?^_sSl z@$NR*ds#(DT{8Q^AzOLGBW+cz>moew-`S4K9f-!#H+HcUU$5?#7mg&ghiO{|or^NN zR!$$Tl-TXz*F;`a&KJz|(%MKJ~rO{OWS2M~;e^l+ zXYg=b-3b_@G}>v+JRViVe}*KqnL41$Aniv9h38ng01M2d?wupgr|dIttKFGZGiyug zApTpqVOJakB#0Zxm`~%lVs(7DYzihHx)qZQJ6dUuQ7anqh!oVl3Hvp);g2pc6C z96FFNM`~_xofq{he1adeAW5~nGBSWuGaX7AwIEDc%(E?2t$WmGvq-R=ur3F}2Bg)y zmEra{5Qj`762lj;XQaq1wdii)!OFOpGSbGZq;1iU(0|KOpy>y;L{8fLIM#XEB#?C6 z26x~k+;q7(qe4lpJO@O_)=l8^PFsx84)2oYe%S{NvN4KH2j`cJZx_l~lQj@5$2cY( zbBvfyoUWT|48b}X-5!^j<#xV@FKv4|(u@ob`EVaU5&E4Y)H3MJY7U?}OxBY;7FD1E zw}w4aS&mCk7<&RmbW*$GtbSa@$HbJy^-~yJa&Jt^CyGS&cF4h2zcA_UhhE5*?DhKX zbs_@dc(y;mu%60oE*#Pxk5Q^y^m&%`jV16oBeSqrNmgCm%2h~wXyY^bTc(c$hzi{I zF*=7Djo5-%NJ70&yR#&Gv=#7O26YHIc?S??`@qr*D_-2ZE;tvHtmTi&NgI~o^;$@? z2A{WFQbh9yK>fb&FL1;nB9qn}4FmaS!qVZ$s)&OQ#F8v?#9=;aY!R`H2a-P^4to*C z_OCs1pjAkx41LOue2}yX{ud0v^v{>>T5yJfWO>Wr5|MbM7Eh)e_?jM( znv!#-Q@;UfgjpGcE+VU*=3$)bG!=>Mg0;w4CDr$P&4c@&^43;e%lzd8gv6n6x$2Wr z#uW@Dewu5b&Q+BIl!M1rh);-YG_dWZmr#SI_A{7AMO$4|kzmmKT#iTPqqd^dc|tg>Qkf z8&)He-CN*Bej@bSMku;@fR#$Pngm{hEsgC1us9o47+?5k$9PWeLT~#?7F)cZ#yGUk z+|0(l-s`>CmU3-uTiJDc4TbS8NOFe$r}R^j!(&gB${AU5ds9|ObtFp)@meHIoYX$Q z0QHYS0C;MXv&jo1SUm+q@pLm_%D-fX3?JZ(z>jc#3%8IuroxkZPDsCoroTOSeAC1E zcqCzg)8mP|-ScDC2{p_!Ej>B7X=E&aQVUmP)n?mG#itM=wsk?N4oOm_=kxjb`FXoP zbfH0u3~bP2bf~QC9u7w0p@ZMD9M;lVWXF|`g1%3{6WSM3LR>rE!q#D)2hBIe>)NJi zwxbe*R77fQ*KS|rk#MxlxlHu?1|a%5OA~;s>%eGK*3P9&c=n8=7s9sNQj^#6tzDbs zQtWEzRz+qD5Bm>Ww7lPXkEdLesQpNGaG!Hdt<&%Xb#nF!i3Tz|mZMEs?*);;-tqOa zlzD^}H@)63c*VV}D-CWt!M4>hxcKkyT{*RTD#~k0 zf(kyZl3tRR&o`}ntWObe$FrytLCSBLragUTmtAyAi(7ONxP-FY!LNI@FCEw+S>`p( z(cuDHa&kAn>l|7?WZ9+f67J3^IVCu~Whl>|2>rGZ zS~Qu#Ll;3ssJh&i78OKp@;;rfm&IXoz6+QW9_MX(G}J`dN2SAx%#UIz5899OFIFws zO~VL64sC}j<+5(a<1y*7wLB;LSs)9E&hwx#m=)otDiM3@-6Bv^U3-gemzC=?D25rf zQVyWz2VX}HOcsyTl_G3W^piyspK3J&zInkV3Yp79;0HnIRM=lCWBX8x$fNoF{w;D_ zaa~#o<{rYwRLdyYXOKkm4E2jlNcAxZkz3NKnKekqz}+E)(NWQ=f=(4{nz%~SKF(w9 zc~`w<8^}H1_{#WuZUV!jv;KV87W3MwFe|Yn#=iM#8QI$*%&trDN7gyWTuKCN9SuBj zJLzV}TB#}r!3Ok!?kp}`r=~3ft6@N^Gm4l1 z@2gH{f7@NNVWvTYujDD0End}|eaak}Q=zjiQ3Z|l$|Y8$C1?q=H3_O4ANVY@$sey)oRU>!lN4!ZgFOSi19Zq)+=9z)||KemN857Lk<5ujN-o zppmpJ>o_H+=YkBk4bxqRlfyGovoAj4ci|^#RWebuQ=|2F=vC`#Uwc+)BxkSLmUr@k z@-cNP=e7ek1Q3k`4`9KrUqSo=<&7rU4D~CMCf;p(BcTB$J6qE`|?&Q*=Le+ zE$WM1^e2`${w8%tKx9BH>M>{0_8HqaBa00iJk!q&gD|=-QVc=Y93*6%Zlf&*nIp5{ zBp{?FO!g_S>(iMFv}o7^Ivu$08V>C;xO2T89&Wgu-_$WgsSj8s=pS32tUWcj*^iPA zw`Lfv;Ie9(YjEP?vyzsnt3G@k{aOPy-)^hAuBupw#es|_N(TrRw{QptY7gHw^eDOd zqE0`^EJ4RC9bHEYN4TW01|-E9W(31FH=^)lCW{qRhorfBf6KI# z0lH;T_OJm^5E<3h#L@_5c6Reir;Xk&Q2{PW6DRsuPU+wa?oSsKUNp| z(h{iy$6R|#zz%k|tt~Vnp`~nVqX8YR_Y3t?Tf=2}9s6V3@K2J&Qs6=FmnZV_aEod? zNQM0(?FaeK4_jtrpS)%{q}Yn@mNfNz%W2XQWm;qT;|b0IH`H+i!j(0X^nkYjK7lGM zkjjqz^Y>eFdI*^9+x7fNIF7S1+TP%&&GX$2S3?7^)QR9~(8SE?B;>qR-X+lS5Tc$U z924qgxW%dilv~Baw!|5KBJ?{)Xqn)(TKvRmW-7p-)|O^@BAPSU<+b=Tn`FK~`FIhC z_Ual6;Rl@Jtf7!S&+~|OBR$#lz1?>A{V0~;pnV%h6b9v|8SQOEdqwbDY}YvC@`21N z7)~F#3UgYy|F5tP<8zXY?zSG?QJ?J+0^BZl`;tWdGDlh0Iinr{D1OufI7o|fhJKG{-V*W^en85dDP&+}-9 zA|aQ?*x$CdEn^MnP`4ar(H1TOkM;tZ(Oo@IN2-AW20cR8-WRY%7Fl_gl@<`piWWRb zcGA%rA``Da5&CT-w8-rZG|U&DlFg*D&MK7SOZiZo)$|uM$sq~8M-5VkWLtKc>g@~$ z={8N{9O1JcvbID4fa@Lg_warnj#RgA=<^d7f}&NV42Z!_$EFjLP2?=CYP3yrEf&vl zTi4%qQ>iCdeZbPywJf$hgx@OYCsfrMw&iid8*0e$sa%fwH%|8X54)2XL&fSUCmObF zDu0q1SPYq?K>N9E4BpfE$Hp-y$$=MJY0KBr0W(#?kr9J?*`eB33&|5Tw{PcicDbr5 z0_;UYE`ebVOgxa-w7gg-X+C=dZ(4WaHd_#%a0pI zBPGu#;+(dCo093P4t5gk@ZGv4YX{HhOVgcnS#Bw=W1v0ldb_0J&C-!B<>45mu3*Kx z9eGbX>BmW};rOtcm2AU1!Jwvq7-xDQmMs<(eNlfu^hQnHMn3j|9>v=>()<0MMk_qY zS&rTIFVV;FN=^_=(W( z8=;Ja<*eIycyL}J7GS$TsUlk*@oMY>+uM6MKPU~_Wk^aWv zz1*PEk8ujQwrzHXV6~1u<*~vGLSbK;i)1J@yJS{hF zWpF2#DkyPy#K7<@;adIq`Fk4cUD`)f@GX!V7D03gehq&EN+o?wJDQop_&_6$%qgGJ zdlVl!9M8vtT_|4y*Iafupv0h)cK)Tfm9Z>scha0;1a9Gc6E1^>b(kG_0=KO1_qr_0 z4HSPO^xH;gp|OQc zukFMw=w=pL5CV%phz!}~HH(Jo7gwswpAlO_p!DEOFPu4wl||$WmYA=r#`66`l6^=( zSzWf_h!foAb7s42<9GRv_qEKU(hA^;ST;x2fB3fOP^VF2rW-kcn#4v(VS z+ugfv=owQy!MUierEtpWQMHd9E~8M85`<)W0L7MuCQ2(7u7UTB8~xey9iwm1CdsyI ztm20Pd6H^vbCf@L8d{%S5iUI+X-Z@(Bs=ZeB4&gIUPr@IZ8G9k6BtW7-8b|7I%MYb zo*!hO_GcDsE<$86sHlji}-s&{wBBUr$<$MgMK?clI=)0qWQCxBp!>*Dibxw##e zIIqms>^0|kP>8yP@adi9{aDTxN}a5xRDqeLzG!*nDl48O(NPy~u1?LehtA4$m%}d- z_qle#_+4Gz+lAUoJ5n;|ysx_-&{m+^x3QyvUf=1?a!JOi2zmel>C?KcSMb4{ZJ^C+ z`7gQzomrV^tT%KFI$4<0bTH51Tv^`7y6y7DhzMiwG{EVN1r&X{c7vE91@Lj9lVOCTRf8^J7@vQHaCjZW@**TWAPx zR@@BG9a3~F2zf>`obDt^9WK50**ZwCp9uY~5i0LXS~-IX2iU9IN>hK^-v`D9I4?LU zK#shu;J(?mYXa>zv>@HN6Q+EZxuJ(f@afYBg)(q0+hBX@qo_4FNa{`=?E#naA><~tX;FI)K>n4m>_J=IKA3&=**+L{ z92*+M;dI7C2K0KmUK(>P{O1#N&qn@o@Oj#27=ESO@&N@b%N=|o;ml3&xtGku;w|5W zAsnsM63-#(1aT!TW+s?i9Fp7(>Rp|W2Q!&zq`tFQvHR14n~t9Ri8Ql9Ske+M`wY|g z@day@x2eY2st6p7tDW>TLC$~c$cccV8MgDCvC;eUK^o;{g!#uiR&E$up*X2iC293 zL@Q~^&Ka@N?i541=s-M_XQ*y1E?0M<9QUObhPXRrJ_m{z0Uls5bkA$+$YfX|V{0|% z6v{Cmx|Bss*R_BZxB3{Kd`X0po`AiGkko0%z;%BwB0ew)^TOXxQg9U8(W^LoJB`Kk ze!rO=VZCvCsh}0uS8>~TeJrWSk0$0#G`g^X1$citv(rQD0%Ow~dLlyRq*ydl;0 z6QSQULW?xctMc<_c_yx@58#USBh$p?R>JH?8+NoSL~AY^3bwnNQ?@A>EnDU?mI0ql z`<3?#L8ipuo2KF37j(4;SI<7QHJ3vg?V5SJDvdLkw0js#KZLDeSf89w-#1$|0WGbB znZW$?K?0AnWLvrT85L-7kuv%;mV#J(+Uig9C0BMh{F;nWdY_Vy@Vnjbd5npnR_^qL zXu4*fAvl(cpR`ZUxPOnuJt;7t9BPrJnoJ@O?C4XLbA}w-Wife3=>2dotjjypI=x=M z?NhDWKhaY`OClk~F%>u~Am7$r-0Kp&A4D6qB^D}EKHMTwGgIyehBB9kKEbeLa6|5! zK(Q0F+d>MgiUUQLwGR`C)jnz)EJ!ly@|nb8cVJV~yhZ0-J7oVOv*#!g{iI2~6SzG) zt{OTAJ=S$V*~fKiXvsA@VN-NF5@(d@&rc!zb=pVogdDC)6F}@?y9v;>Xu@_oPj`W= zZ8zh*H%%W}UUY2=sMw%hrF~9@dv-jD*)c;#k9``3bKKm~)hC<`uPW;P5S=-y7>HbAe3mE=UP42a4>Ktbl0_VLyrZA3mvH#JQ3?&_3k{1ABh*AO?jlX9+}U`AKLKrR zzXc2$&i8EpOhXyUIrC@v@jw^U{u~<$q~RvKROZS|Y{p*b@vH!-he?yA>SkJM*9`W< zuph*!aRDaQt-HfCG(|hz_v2RF^u*ljbT)an9B@8+-W%fbmX5QJVv~Zin|CC;8|-B@ znxpj@(=p9?ehl{C@_wc5815ubzEE^7Mn9}|((TGs-S8#~>TgAdatw7Fjql8>Bk73Mh;d!yS?D}5aHd^AW+p*8S(01ubQY6A$Ix3oh*QVYLRiQM9Ti;#( zrGUP)gy&eVYu=zwL|GwF*wOT4d*P^NzbI>rAioH!8JmYekrXmTAztZG^`nH%kK?F~M{z1ft$u80{<^hp5bh~9WJ)^^JwNjXn zSvf}gULMc3W9Ip3NuR^ET(a3S4vt77IjAoCOK{_W>wK|_Qu0LhNXIBTa`BKON49No ziYy>>vO30YMJ&A-@Xi6&6!3?(L)RG2v2CBHfoekI# z@yP;Cq5Hl|D$G(;t2BFmSo%Y=wVYNSAPk0#JuQXzN^&};*?mt=c-x2DDmutSD}j=< z#jXIj$>9O28-^=-C+F~Hbd)BBgn!gS;oO3aO(Xt5DNt&25>Q-( zM`x+n3fm2|V+YfPmKA#X+J7SSJ4dJl6QlEeZ56s~XB;LSgBx?Y+;Hc z$NAQG>24!k(IH7 zQW~KQnrwf(-*0L1#$%6_Y)A@cDgZ6hbhlQ4a7AWCKKPJ@vvaSz=WEV_QxgxnBOyNV z<47_rg;=0m@+*~~^5uc+1mlaJ#{}*l4-b%cciwv1S7tpyUX0$y?oM1xB-iSIWctD? zFjbgu&?J=OR3U2ZD=f=P0zOG#fT+H67qB#XyIf*-odwSMQ{a)Ln5LdCED4eKTP_p8uydUP*rhEGWbRv=`4>p4;_uce`w*`bCe@w(o&PB04*6X>kweZWgsj#`;G%P4$b_gA)|A zi2zM5Mb?N@a+Wki^eWqZQV;?~Y1lOz5q^|n891n|xmD=kS+Kp=Jlfe5TpWjESBW0f zv0=m_>EJ_3YZ}KnOPL)&W^t0nIM1`=`CZt-!qT>-BDJ|Rvlt4bAsrVy23AGNXNZR3 zu`-S0HP6#~kp&$&*TCt(YqgT`AE>#DACb5g*%rU!Zx|w5DKTz}ee4ny2?`q$(EcTUG?g~2-$IsWM36{NY9*Pqv zPFZ_fo^?9T?`BH>!k0U?#V#lv_KdzeE>!8bMfGSq6Wt%rF{I;}tEzCjpA1 z=E6~X1>J6?KiHmIy+BVg0?f3l4~g*MH>gzElb=`mq)5!rj6_PIzE0KakwX#|iVUvC~bQx`>Y`a+HweQ${(zCad z30u2MxCQ2G}b%hnI!hKAxXrREXltdgDD@`rS4X$19=2gsN@)hn<80u>#HF!nh*?ZEI_1 zw|8mnx!C6!biUInksbx(7eHDBeX<>g|95j$hojjN28C=oPVgtBwL@hwZ!VE1H8!&AQyI4-BP%>)u=vtX?dCt;aymM|vJoWrF=fugA9f zgPap$UYn-6EJ&N?d_JGEMZvF+ylyZOIZDWiWv+^UAVVkkkm2}=&~F=|MfWoJR?zc-b%_!+b%!=&KL8Q`&ACW#Bi&|84=%_~1iD6^0 zH)>u(X%l26aWk?ko9s54j3CiSPZpu>Zi$~R&8~WRKZqXOZJK8Vpc@9;m!c*+?d7*| zeA?F8))%lXKJCefywAYM090LCce@Wq4^&4xkhWxWcC4Dar32u1c(vc=M@9k7l9y#! zxA!>xeY7_Umix^dv4qPCC2hC@CK&bGrt=OctbLMk7(UxhRhVu%9JB1`o;{Zvf(%1F zHjkyI^dYLC&oHEsYwSAoEGCKSK zQ!h(5R2T}uDucK~(B{L%)Mav^Mk-d3NNh zEgK(jd+{dp;Vp>URVJBwr`RVvdLLPAwSiQTrTWX|UH+fXt4J&Ho zHcifz9?UfC_!E&VLsHdj&Qd4a?%QS`X`3H_z2+Hc7pcdY%4Dyzkw%RuQB3pS&*!i6 z{1=EQP9j!8r?#&?JH`wMNW@?zJX=;e7{0=makxWvkGH!-Q8f)j_n-@AY1%kh3JKKA zfen`TmF#0F%TuC!taI|?lIN>J`?3v3hqIwR9tG_05^hFpXvdVoqHa?>1j}qA${0|{ zTy#lvfX$MUc-}f*?tVqH64(GdT1(;2F8KvJpe-jU;fv*ghNWd(N5lUOSB$m^DCTvy zJ(^V{_|I5<#A zxD!V0_6gqmTR7ILTwu>Q!tn^46O8ssuIK4;=>SEY7@r|v&FlJBkN*}`VW{fjs&?5| zyTpoZch{B$&rbljArOct+$wiuz3hor?3ugXG^qU)B}VR^Otpln{ykzer}N{*X_hAa zU8+kbldHOskqxqC+jD#{6fO*nHN$XmoG&YN|EIg=tc>h9eUzw1JtJ_P&3n6S=q;lk zgaYsTfBrkn4`>UtwGOGi9izljTxT+Tets4K9<;FrFRZqGFG&)W!J=iU^_2blAp4AV z0U(Pa^>G=ydj0MCvxlS7?zFE@B+%*DfNdVk&}&_n^;2zP#DIu@ns?0(ar@MkvD&-P zK;Xy&znrje#R^Nhmo%L9q^^EV7GU%AEZIJlR12b)y`V&GqpQOxh%MH9mmd}~UgFQ} z8`)vO3}>~&%6p)vOQfT%9yc8#`%NUfeE!2ObIL})j=N2X+%*h1VLZljgwutV1>5hO zrcrXtm*Wj?{}<+RZfo6Kz22oEK&^3CU5?vhTWj--CCdwa6Zqw_GWvjdak_AG@5fM) z5TP$4SqXSI77JI=hc8mQchx`Jph1HAvDW+(q2D<|g%KevqyU0JoqHZzz3_&n#m~{s zyUt0y9zfK#la$zBo-z4XqH^h*=E4lP1u)#{^noIzVhRtt@hrg5nj)t9Zg;PXOJ$~< zryl=dixXuW2WJ6_I=bm9qKm)-wnu4iamint5keX=t9?90+uh(eU|er08!C>}DZX~c zu{$Qo(kscWtUeKPO>xOYsLh(ZI(7?S%NEBp^t_MvTq|3pQhZRGupDMnKY$4jcF8Im zjd}D<@Q3(2xYw%O(&Wa*J|4XMAF8D`gXL}IjR%C|=dD(U)o?>nNmq7nTHDH8Qbg0n$|^sr#1rh8Dwc*!`60L-0K0a+w|$+)51@UdJVArF zc=*&sX5L+DO&;e#`J;R@i-IOusK=nbp?w~q(BOU9`J(TPD1_x=Qaz5Krn)6QM_Zrs z_~d zE(-wIX<}?I3-JR9PeR60rxVE@MQ;D7KKZ3=>Y#GvTz^ytX4g3$>FqC-?dXQ z-z$1)4U2V=HM^xM@TrztormQUPE(=PZ69p=>$;Js-d&=PZcj@|oRir$%Oos#R0AUY zYoA(jy{E92hsw<4P6w9O*{1h^beS%~I|9$K%w=28BIr->jG@^60?Dd6lLX*} zg|c-kHw88jMdO4$9?@Q_)j23eE05NVp#eU6L zK8u2tlZC|ON;g?_66MZC8>YDQs21H`XBN@<8X(smx6M*`tKaHL5`76ApxeSEuqC0L z3cNL-Pn-L*c&D=WMY3&{n$7!0ZoB!hox5o=5s3xS{{!H3xg|5Y^7@ESs6cYTOI#LJQb5Yrzs4_ zU^_;w$f?E+JUf1l0c!(RhZ08ayi$=Q5wHy;1Y-UBZ#pXL64}goU}Qe1=E8b|<)bEyY*hx~|l34}L2_p2u2vap7Eu`o!i-_mqXlIGcvT9{1bh>IoI(-m_ zdRgAsxH$`1Jx5E7uyYs!D&)~Una)j8Rd(lcIcKraypQSSo`Ys|KwM5E7AV3s32!rY zK{BgCtN(wpa8WehX5UxPG-la|PadnLXJRd%E?!Y|qVbx3{2kKPRE}vm22&18I|hW` zkf5{U$jKcVlx0^zf@Wsb*y&Uh4a}1c7*BBh3$(B;hd1`Fp3Y^vJ zKwf7EHIK{j28Jy5geSJ|_p0XI=(>04UXIDhta?Vx*;e+ItBk)%k8o+JO<<#Lrg zKby>@dL2F_++(KTIkd;0hzC@pCnXDpSgdYeXL(kV+fKd%?BSdvyL^_yAR{rs7ED%*$ zmZ+Z%z$0XsVYhp7@<_wU1bkTO&z|kWa#F zx=atR(1qnisXhDY0E@s|V{+R&sbo`py0@3jOvC1TGZ4+_30+i8ap&NzId?fo2G0)(*Kv78z+}^fy z+%6PX+nY-+OBQ|SfKGLJAM)EKAG9xGF;hp3POL~x$-dAw=>u50SMslAwpCZ}jSLVjiZW zZP*m;JLfz+YXAm5{$^*xa6uQXlvR^DdM7E({EWmsT>nhs3}U6nZ0Y9b@(E>G0B3Jg zUU;*Tw>lO80AW5$oY1@M$Fq^#yD`t}#-0(b zyvbuP-us6R$ss*e=1V#zwiqUm4?hw5T_e;jSTLaxFDS@TH-RaEuG2N9kbX6ke|wFC z9+(w8n?aPzlSnPw=5`Uj9N00>-rxnOxp*8tEF3h!X{h01EjPC zyQOJBc?MNV1bM+7PS$x&4G@bT**57;*!C$htYmCW^WiCEMSZ5on9G5m>S`U5$_kQP zIhj|q)e3kE{vtZ5l$x`5UB#YaV#7GXGELG(272J4;3>TkrjX{AJr32$PzUX7bY~6x zjnqLNM~jLcA9!-x-sl0{viQUzQzC8WiaRHtM>^txtBq9RU+Lvk;+uktIta5e8+tFV39~LimN|3Nb37mrE+hUqt zpQ~;0dG3P!pH4IpZUlc&lz`}fTbf+ea#3f8Q73F@1y-D&`Sof*+BhrhTJqLG(=CD@ zbsQ|?r$0ebhA4mbDICq^EHG?|cA%{7<#|2w5mAD0rO`6N{@mU@aixJ%mShH?qTBTJD6O1KS?Z7-R~AW(drEW)qs?>b)iGiz^p4as!<>ZJ0DL9BA!r zZ*IBDn5qISNniyZA%|q?ev57|wk%CrJYDna=&B;?a(h3om^oVhV;{qcp#Ar!1@p1( zm(>I=c!;t5f;ZiD&|~UINIFI`xW|u^BY42LwxKUmhsRg_vQ#eTYh5fr9YzYQ^|Wlm zi)EfGs753rDqd^MS$CNAc6GD=5PaC>x_Mg3bL@lt;rm5bODZqXe)aXasn>Ze@6Ddv z<6)t^lc@!7S>mECM`Zc17rYznPb6Qf6i)*yp($uu?P{xe4U1(xvmp2d4$pPCRE~NTU<9kZAa~CUeI;iRr_D=7y^K)IEMvcXxZ~L z&YF&S50Iw~m=Vl3ORcu6QibjVZf`Fz6~{F{%9}}@odTO2C@x9jW(~G!_o>?e9}p$w zjHu8!`EhCA{r!B-_KfB_AH!nj#%sYb8ZBQEnf1(v#++WXzJbYYlYO2M^&~jc5(+J; zT&Yw!8PXdNhG`Lc&&|k_^IWhn?1HjgK~W$o2vbkBd>LS7dXHz;$EzCw_;whwJqoLB zPZb0;4+y8(>&SOe8}D@3fP+;6A+y=Of|#dKDpcaoeNJd!2LWgvNyc;tzN7-9I#xb3uN_0>qqlluEj+^Hx4?S$KjM86Hrz)YEyDEfVe`* zA*-)cRG4r2UZ^oR|Jd>ZRUa_QB6*or%F#7~8>W1<>8?WEJa(a=ylHiTn37E}gV`|4 ze?DU#Dx?9U5~`uqgWO(r94Wo08C-#tvRDGO1_sf5F?T zO`ISd4~SCARvba7i2IDa^%XbilxFSb`sjn__tJb0)x8bnd`eG-d1+e2*0c2dP-S4b z6}5;R9NxF-@^7(k5i!RbB}4iXq2Dw@rOF}oKC<9O#spUQt=j9L%D>bjc|s~_)mS3{$n7mO>}K%h{c&tuIQCsp6|kp)rg)=e zc*wEHk~kC|tnRsNzsoJjeQ=$DqxZse$!c_bF6`2o(Cd>~wFDxt7KQCoGNNgMi1{c< zmItW9qdQ?0$|a`=yAru#$r|8R-9}`$GGq{ZXLTja)GITeG{E?}(#P{d$bWT6t1EH( zM&F~Fo=I{MmfwXn!_7Z}e0Q40$}X64`8T4s5Vku0Dr-`!3MVJ*M2Af+Eo8|&&A~Hm z9Gtx>yJCyrs$o4Q%G!2^5;uDfu&&3Ui=Qa!5}>i1an@1l5Si{x|4!$(H~5jHyj=iuu@9C2 zES8DC->ZEMyINEF`@HQHgENb4M*?aISOq}#Wz2G1dp_-I>AR$M@J^R9dP|id{kAW) zJ)Hg3-G}44C$twfN0G;F*Z4?DtN85Nza24S*d@mYHOf|jKZE&j zoIBWMW1?i)m%rXPF|iQW#frfznNZrftNF2jWg^SRVMB2^_lluL%y z=}YV_I#$;K32e2iL7WGNkWkCLsxt*#y#-M<$o0|HjOUfJ~z5waqq<@mGnT;x4yn`V)HQIdI}?9^mk z!T6Y6$XI&a?aAWRZNaa}o24-Xj3sw2M2SKrvOB0NSn?W1z_ZgdS%xClL53u<9JGDc z1i!uFJlF}VGXYJ-Kkh#KmCIJZzKuHj4m-D%V!H+cLw{#Zcg~A0Wj3LgW672kNq5v@ zX{>XGP8hzdn)#@LPLEdp(%J)+wQD_F9it?MS6Q44vO|oXySd&F3_N!MtPKgo9tCVtx=4~fBFE|HGSn!w?GUC>iktE&jllpgb6%lbQZ z2cyU*gV_bhd0JU`R8Skv#cay zR?=D={P%zVQ}CDok7-`&5gz(@v+uP^o+p0zTl@rN!o{bPc=YRdzf6xQlHi=Z& zD(o|aw?V1RB?-+nU$fqn&(FybrfU+*^!(|P)3i(HWo z!c2&1M(Zdz48sN+A|bUiv03d~55m?<=sakDA9AXOJ77OKJ>o=WoWC%h@hjx)%mQ)M zRq8rl3lWKQx}uG{S1A62!=D}4^ko6=lwaEbmJ6x(V$Yov2380oL42^f?u?8jNH|rQ ziX%WfnDnzTyJ83EcFEfwu$zNIHZ03>;L3%%9)=oZDnVKwQ!cf^P^WKg377C{W355b zy|x=C`%v-B5;)~#&sMl%aFi8|>ySqLY6t$p&Swpj7TcNUxjr5rIYGCv4=%_`(A)Jt zfG}rO*pq!eCVN0G2k5q8KN0#pBebY&w9hoDA$8bu6R#<~m(xm4d-enpsG3u)@q#E< zydIBPQhA#8r{Q*SC*jH!DE=ncNE8uu_wl-JhM@Z`c!8r*g)~Z+r|skdTd9XXT~S@I z(#BO7O{#4m(AQnD43Nl*@Mr3JTG_ai5FYbU-M2m_0|UvtF{bfzBDeujRJ|d<{7Te zO59Dg6hNiEddkVoLA)#H@S`#mft|b1RJMjVd0z-^F+8W@KH1)o#2DjQ_5#dq5CB;1 zxg^~#5(s|?Kv zLV#$8jw#3v3>ecWC#TR{J>M-&fg)VOAQv|rk=dv{zf(eG5O;@MWpqE~ya$$DR2|ED z#iO>!q<N*KvLt`i`M8*gnriuMXKtNcLb!1+{+3yaiD`y z4=GNQIPj7;wFuqTO_xRz$IB|AqDKYq-g%RERKy_D4OA={4|Sb!v8-lHWc zbS$@Rt<*II1wR)Z7f6->-i}o?1~u^d?m;Le`$jHuBoU<+AERsa@kouX?hd>6glJF* zp5(IV-5X@i-Qq0L?;WQ;q{_5tAI3_|fc%b-n^K*LLZpf3+Dj6F%vP*XET8$@+iK_3 z`z02@a5(8&z7Kd!`4q@yWVh}7!X72Z?eCkd_UYUZUF?H0ECMb?FTz|vi^FKB8*2Ey zN$^wYts^-|M(p^rXaQFrWsR)Rbs{x*4O{o23J?VdjYs%+Mv3Ul@Ram0%VzNInW&o# z7*D-m?}?x4d)(>z-E$xcFHe_r>|X2T10TfQ1xO;orE}&qW&8nvUg=?r(ZJuT8%Tf9 zPTohv;?sV-@|aHPxDP3xn&~C6uA2zimxlEy+m*p_*@7`(BECzClH*|8-<8J~ZK;pw znhy-fj$5I)4@|V=|IGGcf(n_TQJ|3cBa_tR{n1i;S`cWyTGSUN6a0zLZyTXS^V1t9 zZFd(z2iHgvv7yPlwprTm{2Js1+9^&j$~c0{*wdaEG-D!gh)i%%jL6gGHcLJ?H5moH z6zN@WkNuB5Qv_{-^Ne*aToUuXqK#6g zBPCoUbkL9*0Pb^+S6Z1+AVGl4wyWi;WTU8`=Bd^}-=ahm!VZDJwk`+B*Kj#Fr}F+Kk%h5qI=#wNADGC3$BC+oU!PF zkVN1{Qxb@-?tH7W>;$Rf12hsAJ7jk8whhj5rYIEAGS(woREzLtJ)r0o)N#u`_7R;S zh%vmPReL;GVP(PgC+mU+J@V)W@Kw9f)gI;FZOuKr#c;i|1v^_&=Q&p^jj=3YLUOuy zy*!zQdtRkT6Lo55R?Wn&+Pv?(+Dk68>#2H_yEMwuhNvtiE%;H^oHEWmMP_dtcjT~ zv!LL1zl<`fmBW^0V3Bz{1$F)H!UP$Yquqg41A4xIy{D;4UJv~NiGd-G^klu;pWm-v@tOh*D{h1zf=C4d|kI` zF0m%YDp|U1^yWG;2pnVZZb?@0(JGZGW_|X&gDXthBG}i_P9mIg@!Kzg`gA|1?0v8+ zyYH|}M(p{G<6L2MRXY%-@vrOpl%j2xo~L&b$sar`#Gqst-Axt5{#DwwYyR%8ou_W~ zF4g11VfLDkBu^8lq0pJbOIs=g-9;!!X&c4bG)9f-EEzt=^t2xXoXfNc}qRGBMB z9mm2&fjevGs-*Vlak27|a<-qSlCmcTnu$s91R?WXwi<$Q0oI<3Ge3IJ|Dij93B2x(u%X>SUkEzy-`=ZlQ0BQ^0ro$ znd^EwKr!o$ z94n=gY^Iw?b(K*nS}|Jn0KgE!c3U1Ps0HM0udq7te|>N5(PaFdF50+3@?iG!vn%Ab zV_;ZuGznsKsKBwygBilb1Asrpm-CTaWB0oCmLbappPOCo*8qA+0s`pVE8Ye+G$zXE z&k9I%3H5on&MtgHF)hY%QdVoxyJ_y>p5Iu2kM)ru*V<*@hMEKqs4ioqX0G&Y!BH_e z5h%FA&?^&YioRJ^q_x78*}k1EFAB|K!rGZ4Wy>}es~hbY0=;XGNnPDYvl2qNT^KMU z9?#<5Mj1t?-Q8WpGC#Jkz1~gv7f1=)$aX8x;^=7EaN0IJqLhN|MU2OWJ}Sa{LQOUG zSb}3qqy=gx(UTxj(OqqCN2ZZ|v1UiRd+FT`52SVIcU zsp{htuy7G~5D0A<+fRgk;|LX`RO1Dxiu&Jnx7o&hy%vi-ODG019yJ?uEsX}o@b`K$Ef0A#d>Y9XH#XO^Y^LZGB4ZbvL(jOAoI^`{N zN;1)3|6)UR8O{TM?e480=ECUMgT}xrxPg=Ubjej}OF5HUctYWCZZv6cVLR3SFy~*k z$wn18eG!rL`l5$fwrqK?jEx6Y50SRm;_V@VUF@Y=%x$E#v6>7`5c;w+&Lxmk zzaNeQ?tOAA0H5Zg{E|ON2ZZ0C|JbjMrdtl;6Lu^==#~&&U=^tThGCLYQqX|KcJ^Wi zbi;=t$|Pydn4($?Z*usH_%AczM8!g%;hd&P@}~d~-tT`Ul+2lLr=7iYXtV&LDuj}w zbeC)?2>56(UnMnU&ta8MDC~pe{T5BYEE~_TEwVkwIp;Nr&B1ZsW<-g*#X`6}T)LGS z!ey6@R_G*i?ptS>{a}xNpbKl^;Mf?tN|*vv;Dd-k#GeTLz7bmVos-Cg*fox_gg|_$ z;a8?e<34d1|I**yB5Y}~2fC|OFZr9kym!g2+x~ZRgeLRHh8}s}PSBROQZ`U4#+Xhk z3QkM+EBL@plzE7KasmD=AO;0S4#)@uN92f?e2X)%=LDx^YnE{diwZip{QM=b%2fa< z%h51`yYzIsd{XUpPhGb3GPm>A74HRpJ_BRu(pHmk=ZvK6T?1zJy#2-KmPKcK+i@Vj zh7Pj;WGRr~Om&R$6K{~hdVJcCxf!MOy()v;lM7kukyajJ&QzX3w)1vsTHG$5pP$bM zb1=lc2T*Hwu*kn-gLF4qTRyk-3UUTW!Xon)smvcZW>9Q zT^c8%+HNavp}4&7D3GMXW<@-sLJ@G5ttllx!u9kXG_VJ1=L0QfAl3O&rp%Eh!L#1% zazV=}hk@RxKrBvYpoh^>0XRydKzf4^q9oyJ*+%gxFj+~i zl8j=L)(JvUgV7-EcBE4LIc2p7v5MA>!S$|$9V?%)e((TFJhI!*sG`l%>h*fb3ajwP zai`x_kI_-zM5a|GNqC@4*^Awdg@nC0bjb)X)~zCB^Snv22TYZ1Yl&?6{PeI)?fq_e zxB*nOzummnhNww`xys+Dp*vyQsErWp7*@1)pgs)j43U~$b0LNpBI&w}z3sSNI<~^~ z$cF4fuHlgJ63K@>P}|yF+KsFg5M-9OjuCOnaj>J|cspaNq{^EzUmpVWx<1V@elWL$l&(D_t@`BT9;b? zymrt-&EfP}Gj2P@kd!+cE^SVZkP?_>Tb3@(Qdx>RYVDA+#oTO-ZQDKPX>SWc?^}|Y zP*&p>-Hz@>U}#G z%W(^+_%pA^uKP+u!v!y>eh-qc!6jE3@2L)FMxUBz0W+dhV9hl^ttRH>gA%L+J$-5v zIcL*j<{pFkWeJx@%K%-Wj&zGk1Vo5-5c8r@bHUDmRA+jR_GSnO7hAua>RjW!2+H@Q z+WZrt-!wwivpbWUCeW=;%u=8^mWs$89dQ)7@U6(Uhh;)TJ3WbOYd5mzT#Pt0#7KVS zdTO?=yYMkLxmK~W-ztxXE6612DrAi~&LDE9iiArl;3?#^vgOLR8&c5bMHl9@Q)7N`>I&3a8SA zhLtDga$V^jm`)e%Wk4_HC=8M4mX}G*+;T8vvkwgMx~Ut``Yw*#CE}93#VAzk@Mkbp z1t35jX8v0RrcPzK z##vdc4mih%beX4c+nPw&27@f8G8aGE_U5N~cQunJtk3vV)TJ z`-z*#T*gDXthRqnsTAD^?w<(#t`VwRF1h}+t$V%@bpqyc?deuv;?ZJV1M%|~ZOMYg z06y1T{S>}Bs6<^O?QM(ssNI>pBF0vLv1XALbwVSmCK1?^D6^~GFFUfT1GTM+4>TNd zz-gC?BcQvegu-cN%A{PHeHY=XXM}8^tJ%#Y6qN0vK`boh$*6i~R-gOxO#T4ue={Bd zm}AjyL5XUNQy!>%co z$X#)8cpOVgGCM}MdkDLfEyZ5LC@8x!EzI}S=`kP15(8S$_lj}L}>t=f0N zk}iJa;=cEJsNJ;|u{37y9in512obAfKA>HxMozNt+|PUdWG8X3SMzq8o#R5GN-+oM zs~UQYP}2Lo**UJp#cmJrm!?4UMFD}4!O0?MP3c3O#30-=19{5K5FHvN-e9dm5Xb$~ z=`*xJ@e8no_VyrGhav3n5;^R?ZYef19@4VXR<;PiTX|4tZW;zZ;<6H6HH$`naF#G( zI*?9DuxAbQcfnLHc}>YfoegV8QrZs=0+}J=dcLpkI{x(&q2D$_i`2IHwohcjw}wy| zcd*J{Bv&FM8hY>_`NKY$h0`>CU=VcDU*pn-xzBvr?UElf z3MIBWgMxH@^~;4zzw&l8$qQW0q+0i2SK4dc#%`(97^lNU)&oPT%tcElbhH~$B~=or z0D~K;C_s+n>p>5& z$tM)eHsCUf0}W(v%L#kuAdMdXAHn`9WxeUC*~nQRww}a^2up`hu|WoUS>u;@cL9U9 z^VIoGtxk|}?ZqW503uGrxuCw=ylt!IY2Mjn9|*Nn{23D=$i>my)YqRJjho9RhvQ41 z4g9Y-0^TD#hLu4)qLh*Ei#?i*ulPnHHyr1h4*GN2_k&Kc+hA0EY5)c`PjaiGY1qGH zbU*?m%b=5BaQCRp(H$kv2oP8_+46D(URlmfGKfR?#`Z3xyOmCH;hRR;xjLdFNFbQV zPblD^J(hr5!Q2)80bT~5%Py5;dc9v#C0^AaRxEKeANm!xC9SRxKZ^Pl{;Zp0@Gsh75DRJxf~Cwh*)(4H!$x2;Fm_Ya+y{#J|u( zG(9^dJCc7Q^gBmrVX_&+{1}Dr6F@RuRa&TC2l>ZwK>)!38ox&p`zEu;P?pX9*FxJxkyzIs9uI?wmC7Xsg|s@?2#ZN~;v3B)u(%+=aQJFl39P2OxW2jiisy-)~!U z`n%Hf(f~TRO_VsqP^vsl%OpIJN?eJ6JokznG*s)yr4raj-a*f0g5j*e{=h0GakDsB7fXUR(NcX% z+Z=g=q5=)g@XtU0oU}fn6|8HE;@Z3MjIdwgOGZ$i3QI)EbU)j(`bTsI*|ML5`aF(c zm*+u~eOd)A5}ONnET!MT)Pu=}#oRQ&=?nrq2Ja%dz`1k@ zq}81r8NnOvFoqe|TNW_Dh^5p;f#s|Ud%g$qhHgGdVkun<8JMc9bC*n($Zh31*q}{Y zM<&6r?+~4-0$MqyO|O$BJdc`&{Rh5oGCZ}PDX7)(Nkn7CO!Ka@5SDZKilz#;DEp(U z8yV583`xj0+voMKG97!4CmdP&wm{j0iap4oP8s|ZB@|ckNt0!Q+ir>8!!aIc{-STg z3<;)einjI|BGoSL2S*aHR<%|Mw*Y_glkpHzN}N4E#!fdEpJ_KE zD4`xZ9K}nF`E$cGW{{a-M6_XGOmygd)%x6}7)9b{ulAV#^An-pH$t@}MTA%T4x6sN zc$)(xmxCG{9;6E#P$!&&VNxT5x*}{0K`#I`T zEA+m^yr6%d93_rLareu-NQ}Izz~nZTt5}f2pSz%U9a3vXLNF;-?P5&AGeR9r_G1AU zEc)M*bT23RcNP*59Gt9`=mv&R1rehD!uS?SO4yysh#_>Sf!J(F_K-7cM0t#A>ZlbE|$?){-3jaYER4d zZKaCz$Y~0VQ@=flX(qz0q$gLrvH)){ftw`JfF?2z9z!TSYJ4dT$ty{(FGrps7G}W1 zp(HJ!`*0$QTdVz;Gju+=JAkyG1d5gsI&8mgf;@9g(dHn@R#ld{@oUTctNG9u+XEA>}-N^hWLceW>6g7L?c^?gZzIn$C8WHX4UF; z@Ts}sGUq680+P)F*y65sxFqB)pAS5vfW2_nK8%YFHJ!WK*7gwVwkujLN@(D*p#7!7 zfjIN2u}$Z6j(yDTIYJxyu-w_Iy}>ecZzVHkECX5)QyEYBSqfwPC#8ukJ#Zs>HK6(3fUEQesjR z$R2lebD0o!O}Z{&bk8CFMCkX8(4tWT7pvR_$Rv9AzI&9rdy(Bemr{a}X~kcWZlS%6 zo%e^|Y`XR@eaS4Tk^K8NlB}YZ?wVexwFK&01NP%4Yo^uWjq;eaFAD`1=3Tt#0j6yDe_-rrEuH^i}>I&7uX$ELYHWfCeqE20!h<>{%o+rq~D# zW37fj4#-f7_hD!p4fcm-8%P;&B{l;M#*EY_A%r;hsIj~2EVB|0+ZxgYr#$((kbS@$IeLI4ni2KC8~fr z@4!pcl4M*E6T~8;07R0}du`6Z4e9v9^71Sgnnpwt!L_@<`q0yrm<3D-7-ff2NPCxU zJtgKMa_zOJ9d9A~@#n{E#Vj*J!m3MD$nmpLdzy5b-ZDcq-WsoGeOTL2=Ps06lkEoj zJBQxut-&KIF_yM0>*uzIWjRCwWL524c)xL@zODsZKQxi%(+BmOq_YEB@1uk#HMq~l zm25r7eY0=4Z!24}M06x#8)JOSiSSg0+s(9gDx++B2!Iv+}Ri0iv;QF6U{3FrL)q0+NBSc?lwRfFSAvJ< zPlSHg2rX)t(9nUm zcG~>eW+C4TT*R*a* z5UfmKri7IdvXHwESRK>DU6%yYxhS&6Q3{&SkR(6AOguE{qkH{DQUXEiNx$_v?q*!_ z)*JL^VE_UnEVOb!Z+U6s34*HiF8SJ|YSEs-CX%i&?L_G_#NSvk0jIUC-;p(7rgR9Q z1u^MX2Uh0V@sQuWBGw8?ftddeJ{lGP>+mc?A{LfQe(DBx@r34wg1z=Qe#rN8^4J#0 z%+e^!iykR0#D0Wl;<=&r7M>+3y8BMl*sBtnk` zMpEnaUS9pD1G#h);VKIZ=Gr03+i8B5lUn)<|sL)M{=h-=!9jO z=jFD=!(%C_6RKpYPh!mfMCdn-(4tx4z=&XQaXcyjdCD?wrpXTNy-HqWz$QmZ3&LQQ z$Frv}rwoJ0w%IR*sCkP@m zyZ&S)?>HrsEWLT#7wf{rYJB8O}^RvdOWfqW@p4*#Pre>eV z!bH8nj@E~CK5gCh(5_mR7VXnCV5Q-Xa@v7{dY?B0 zf{G!!sp?(T7Q_<>A@;COfdp%@*FWj^TxwS6c*1#0c#=aY6}mQ=Gip@R`9ZQKTWge> z>r|R$L>z_Ns`)&zM!WoKYYFovmqj)+$ASA*Tbg=&v8B7@fpiM|MCf;oP*B;4Tzb$u zWxrv(;N3Qnav&oy?!bHIuR>7E*<6Mm8@i0f*fkfqtS{g!zoo!L^JVW~-C5x6S`9G5Jvn-dd`<2|RR*r-X$ zTZ|Dz#s!dU2b}n&65Kh9Ze}zJj!V`!$m?usM@ot2M6g)#cDV|rjFd16A`Mhy&gW5X zS%immxCDn9E67cVVOBFbC{;BwrDxkNhk1f6!>o{IF32ict9BOHdmI92xOPNxJuqA( z)V1Hy7x`|!E^!cCm!HN!oyRtZ`6b-7%cz}{;ZulUATmdq645W0kx z4$lw1zHLQ2>pe1EM915CNU|-ftX`n@LbTr5HrT*e-EIHIJ*z(`PL~sBg3reqC<7W1 zg5~XXKnH418x(lLkj=^002ovPDHLkV1nf!i^c!| literal 0 HcmV?d00001 From 1b637c0feabb15eb4f1fe7ad378bb0940303d04e Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 15:09:46 +0800 Subject: [PATCH 09/10] Add README and LICENSE Signed-off-by: huhamhire-hosts --- LICENSE | 621 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README | 137 +++++++++++++ 2 files changed, 758 insertions(+) create mode 100644 LICENSE create mode 100644 README diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..94a0453 --- /dev/null +++ b/LICENSE @@ -0,0 +1,621 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/README b/README new file mode 100644 index 0000000..f725e0a --- /dev/null +++ b/README @@ -0,0 +1,137 @@ +=================== +Hosts Setup Utility +=================== + + +INTRODUCTION +============ + +Due to the Chinese government is using the GFW blocking the web access to some +world famous sites like Googel+, twitter, Facebook, and Wikipedia etc., we +made this hosts tool to help people to get through the Great Firewall. + +Hosts Setup Utility provides basic tools to manage the hosts file on operating +systems with a desktop environment. Users could use these tool to modify the +hosts file in order to visit specified websites blocked by Chinese government. +Tools for users to backup/restore hosts files is also provided. + +The home page of this project is https://hosts.huhamhire.com/. + +You can also visit the project page on Google Code to get our latest news +http://code.google.com/p/huhamhire-hosts/. + + +LICENSE +======= + +Licensed under the GNU General Public License, version 3. You should +have received a copy of the GNU General Public License along with +this program. If not, see . + + +USAGE +===== + +* Windows(x86/x64): run hostsutl.exe from the binary excutables package to get + started. + - "Run as Administrator" is needed for operations to change the hosts + file on Windows Vista or newer. + +* Mac OS X: run HostsUtl application from the binary excutables package to get + started. + - Because of the locale problem with py2app, the automatic language + selection may not work correctly on Mac OS with binary excutables. + You can just choose the language on your on choice. + +* Linux/X11(Source code): run command "python hostsutl.py" to get started. + - All platforms with python and the PyQT4 extension could use this + - method to run the source code. + - A desktop environment with QT and python is needed only for + Linux/X11 users. + - "sudo" is needed for operations to change the hosts file. + +(Note if the programe is not running with privileges to modify the hosts file, +a warning message would be shown and you could only do operations like backup +hosts file and update the local data file.) + + +REQUIREMENTS +============ + +* Microsoft Windows 2000 or newer for Windows users. + +* Mac OS X 10.6 or newer for Macintosh users. + +* Linux/X11 desktop with QT for Linux/X11 users. + +* Python 2.6/2.7 with PyQT4 extension for develop. + +* py2exe or py2app would be required while making binary excutables for + specified platforms. + + +AVAILABLE MODULES +================= + +* hostsutl.py - contains main parts of Hosts Setup Utility. + +* qthostsui.py - contains UI class for the main dialog of Hosts Setup Utility. + +* qthosts_rc.py - contains images used by the main dialog. + +* retrievedata.py - contains tools to read data from the local hosts data + file. + +* utilities.py - contains basic utilities used by Hosts Setup Utility. + + +TOOLS FOR DEVELOPERS +==================== + +* _build.py - contains tools to make packages for different platforms. + + Usage: _build.py [type] + + Options: + type define the platform to make package for. Optional choices + could be: py2exe, py2app, py2tar, py2source + py2exe - Make binary excutables for Windows. The + operations of this option depends on the py2exe + distutils extension. + py2app - Make binary excutables for Mac OS X. The + operations of this option depends on the py2app + distutils extension. + py2app - Make source code packages for X11 users. + py2source - Make source code packages for developers. + +* _pylupdate4.py : contains tools to update the language files for UI. + +* _pyuic4.py : contains tools update the UI code from UI design. + + +THE REST OF THE DISTRIBUTION +============================ + +* lang/ - This directory contains language files for Hosts Setup Utility. + The *.qm files would be included in distribution packages. + +* img/ - This directory contains images and Icons used by Hosts Setup + Utility. + The files in this directory would on be included source code package + for developers. + +* mac_res/ - This directory contains resources to make excutables binaries for + Mac OS X. + The files in this directory would on be included source code package + for developers. + +* hostsutl.pro - Project file for QT. + +* qthosts.qrc - Resource file for main dialog designed by QT. + +* qthostsui.ui - UI project file for the main dialog. + + +AUTHOR/MAINTAINER +================= +huhamhire From db640719e8e3a2969102e37d5ae71dc82264ecec Mon Sep 17 00:00:00 2001 From: huhamhire Date: Fri, 26 Jul 2013 15:13:00 +0800 Subject: [PATCH 10/10] Exclude ".gitattributes", "README.md" while build source packages. --- _build.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_build.py b/_build.py index c96316e..3e99b6f 100644 --- a/_build.py +++ b/_build.py @@ -79,7 +79,7 @@ # Pack up script package for Linux users file_path = lambda rel_path: SCRIPT_DIR + rel_path includes = ["*.py", "lang/*.qm", "LICENSE", "README"] - excludes = ["_*.py"] + excludes = ["_*.py", ".gitattributes", "README.md"] ex_files = [] prefix = "HostsUtl-x11-gpl-" tar_flag = 1 @@ -88,7 +88,7 @@ # Pack up source package for Linux users file_path = lambda rel_path: SCRIPT_DIR + rel_path includes = ["*"] - excludes = [] + excludes = [".gitattributes", "README.md"] ex_files = [] prefix = "HostsUtl-source-gpl-" tar_flag = 1