Merge lp:~hid-iwata/qbzr/qshelve into lp:qbzr
- qshelve
- Merge into trunk2a
Status: | Merged |
---|---|
Merged at revision: | 1404 |
Proposed branch: | lp:~hid-iwata/qbzr/qshelve |
Merge into: | lp:qbzr |
Diff against target: |
4628 lines (+3610/-723) 12 files modified
__init__.py (+2/-0) data/qbzr.qrc (+20/-0) lib/annotate.py (+1/-1) lib/commands.py (+49/-0) lib/diffwindow.py (+1/-1) lib/resources.py (+1375/-589) lib/shelvewindow.py (+137/-0) lib/util.py (+61/-132) lib/widgets/shelve.py (+1106/-0) lib/widgets/shelvelist.py (+541/-0) lib/widgets/splitters.py (+47/-0) lib/widgets/toolbars.py (+270/-0) |
To merge this branch: | bzr merge lp:~hid-iwata/qbzr/qshelve |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexander Belchenko | Approve | ||
Review via email: mp+60024@code.launchpad.net |
Commit message
Description of the change
qshelve!
Alexander Belchenko (bialix) wrote : | # |
Alexander Belchenko (bialix) wrote : | # |
Small nit: please don't copy paste Copyright strings blindly. Instead of:
# Copyright (C) 2006 Lukáš Lalinský <email address hidden>
2419 +# Copyright (C) 2005 Dan Loda <email address hidden>
2420 +# Copyright (C) 2009 Gary van der Merwe <email address hidden>
2421 +#
2422
Please use
# Copyright (C) 2011 QBzr Developers
Alexander Belchenko (bialix) wrote : | # |
I've just tested how `qshelve --list` works. When I select the shelf
then I don't see any changes until I click on some file from file list.
That's confusing. Why don't you show all changes when shelf selected?
Similar to qdiff all-files-in-one window behavior? Do you really need
file selector for previewing shelved changes?
Also I should note that using file selector at left of side-by-side diff
is not very good (or maybe my habits work against me):
This layout is good for wide-screen monitors, but on my 4:3 display I'd
like to see side-by-side diff open on full width of the screen, so I'd
prefer to see filelist above/below it (or don't see it at all).
Maybe we can have the layout configurable? Or even make it a submenu in
toolbar? Or use pop-up dialog for that?
Gordon Tyler (doxxx) wrote : | # |
> I've just tested how `qshelve --list` works. When I select the shelf
> then I don't see any changes until I click on some file from file list.
> That's confusing. Why don't you show all changes when shelf selected?
> Similar to qdiff all-files-in-one window behavior? Do you really need
> file selector for previewing shelved changes?
I think it should be possible to see either all changes in the shelf, or the changes for a particular file in that shelf. I can see both being useful.
> This layout is good for wide-screen monitors, but on my 4:3 display I'd
> like to see side-by-side diff open on full width of the screen, so I'd
> prefer to see filelist above/below it (or don't see it at all).
>
> Maybe we can have the layout configurable? Or even make it a submenu in
> toolbar? Or use pop-up dialog for that?
Or make the file selector collapsible to the left?
Neil Martinsen-Burrell (nmb) wrote : | # |
I would really like to see at least a merge of the refactoring in lib/diffwindow.py. This makes the diff handling reusable in windows other than DiffWindow. I'd like to make use of this refactoring in a bzr-colo merge window. Perhaps there should even be a reusable DiffPreview component with an API that just takes two trees.
IWATA Hidetaka (hid-iwata) wrote : | # |
> I've just tested how `qshelve --list` works. When I select the shelf
> then I don't see any changes until I click on some file from file list.
> That's confusing. Why don't you show all changes when shelf selected?
> Similar to qdiff all-files-in-one window behavior? Do you really need
> file selector for previewing shelved changes?
Viewing per file diff is very useful for me, as Gordon said. (BTW, I want qdiff to have this feature.)
If it is confusing, I'll change it like: After selecting shelf, First file is selected automatically.
How about this?
> > This layout is good for wide-screen monitors, but on my 4:3 display I'd
> > like to see side-by-side diff open on full width of the screen, so I'd
> > prefer to see filelist above/below it (or don't see it at all).
> >
> > Maybe we can have the layout configurable? Or even make it a submenu in
> > toolbar? Or use pop-up dialog for that?
>
> Or make the file selector collapsible to the left?
pop-up dialog is a bit annoying for me, and submenu of toolbar makes multi-selection of many files painful.
I want to choose layout configuration, and collapsible file selector.
And +1, make it possible to launch qdiff from shelf list.
Alexander Belchenko (bialix) wrote : | # |
iwata пишет:
>> I've just tested how `qshelve --list` works. When I select the shelf
>> then I don't see any changes until I click on some file from file list.
>> That's confusing. Why don't you show all changes when shelf selected?
>> Similar to qdiff all-files-in-one window behavior? Do you really need
>> file selector for previewing shelved changes?
>
> Viewing per file diff is very useful for me, as Gordon said. (BTW, I want qdiff to have this feature.)
>
> If it is confusing, I'll change it like: After selecting shelf, First file is selected automatically.
> How about this?
Please, select all by default. That's more intuitive.
I agree we need file selector for qdiff and qshelve, but I think we
should keep the old behavior as default, i.e. show all files by
default, so user who used to this behavior won't be confused. How's
about this?
>>> This layout is good for wide-screen monitors, but on my 4:3 display I'd
>>> like to see side-by-side diff open on full width of the screen, so I'd
>>> prefer to see filelist above/below it (or don't see it at all).
>>>
>>> Maybe we can have the layout configurable? Or even make it a submenu in
>>> toolbar? Or use pop-up dialog for that?
>> Or make the file selector collapsible to the left?
>
> pop-up dialog is a bit annoying for me, and submenu of toolbar makes multi-selection of many files painful.
>
> I want to choose layout configuration, and collapsible file selector.
What do you mean by collapsible?
> And +1, make it possible to launch qdiff from shelf list.
I'm not quite understand this. But if you +1 then it's great.
--
All the dude wanted was his rug back
Alexander Belchenko (bialix) wrote : | # |
Neil Martinsen-Burrell пишет:
> I would really like to see at least a merge of the refactoring in lib/diffwindow.py. This makes the diff handling reusable in windows other than DiffWindow. I'd like to make use of this refactoring in a bzr-colo merge window. Perhaps there should even be a reusable DiffPreview component with an API that just takes two trees.
Completely agree. It will be good to split the big patch into smaller
parts. I want to extract this refactoring and land it first.
--
All the dude wanted was his rug back
Alexander Belchenko (bialix) wrote : | # |
Iwata, please explain this change:
- self.connect(
3697 - QtCore.
3698 - self.find_next)
3699
3700 + # NOTE: returnPressed signal loses default button of QDialog.
3701 + # So, use keyPressEvent instead.
3702 + def keyPressEvent(obj, event):
3703 + if event.key() in (QtCore.
3704 + self.find_next()
3705 + else:
3706 + QtGui.QLineEdit
3707 +
3708 + self.find_
3709 + MethodType(
3710 + self.find_
3711 +
Alexander Belchenko (bialix) wrote : | # |
Iwata, in order to get the review of your code simpler, I'd like to extract some things out of it and merge them before the maiun shelve functionality will land.
I'm going to merge you change to get_icon() with optional size parameter.
Also I think it will be nice to extract new icons into separate branch. I'd like to be sure all these icons has proper license and we can use them without any negative consequences.
Also, as I noted before qdiff refactoring can be landed separately.
Then new Toolbar class -- I don't like the idea to increase the size of util.py even more than now. So I'd be happy if you extract it into separate module and put it under lib/widgets/
IWATA Hidetaka (hid-iwata) wrote : | # |
> > If it is confusing, I'll change it like: After selecting shelf,
> > First file is selected automatically. > How about this?
> Please, select all by default. That's more intuitive.
Selecting all files sometimes needs many time.
So, at least, I want to make it configurable.
How about this?
* Add 'Show filelist' checkable button to toolbar.
Default state is Unchecked, and state is stored to qbzr.conf.
* When filelist is shown, first file is automatically selected after selecting shelf.
Otherwise, all files are selected.
> Iwata, please explain this change:
>
> - self.connect(
> 3697 - QtCore.
> 3698 - self.find_next)
> 3699
> 3700 + # NOTE: returnPressed signal loses default button of QDialog.
> 3701 + # So, use keyPressEvent instead.
> 3702 + def keyPressEvent(obj, event):
> 3703 + if event.key() in (QtCore.
> 3704 + self.find_next()
> 3705 + else:
> 3706 + QtGui.QLineEdit
> 3707 +
> 3708 + self.find_
> 3709 + MethodType(
> 3710 + self.find_
> 3711 +
By old code, return key on search edit box fires do_accept, not find_next.
But this change will be no longer needed after changing UI to use toolbar instead of
buttons.
> Also I think it will be nice to extract new icons into separate branch.
> I'd like to be sure all these icons has proper license and we can use them
> without any negative consequences.
All new icons are from tango or made by me for this branch.
No problem about license.
> Then new Toolbar class -- I don't like the idea to increase the size of util.py even
> more than now. So I'd be happy if you extract it into separate module and put it
> under lib/widgets/
> your class as base class then?
OK.
BTW, I'm not familiar to the rule of marge proposal.
Should I resubmit proposal after pushing new revision?
Alexander Belchenko (bialix) wrote : | # |
iwata пишет:
> BTW, I'm not familiar to the rule of marge proposal.
> Should I resubmit proposal after pushing new revision?
No, you don't need to resubmit. Simply push new revisions to your
branch and this proposal will be automatically updated. But you need
to add short comment about availability of new revisions otherwise
reviewers won't be notified.
- 1380. By IWATA Hidetaka
-
ShelveWindow : Lock trees only when starting up and executing shelve.
- 1381. By IWATA Hidetaka
-
fix copyright
- 1382. By IWATA Hidetaka
-
Merge from trunk and widgets.
- 1383. By IWATA Hidetaka
-
Move ToolbarPanel from util.py to widgets.toolbars.py
- 1384. By IWATA Hidetaka
-
ShelveWindow : Move "Complete" and "Encode" menu to submenu of "View Options".
Change menu text(Next -> Next hunk / Previous -> Previons Hunk) - 1385. By IWATA Hidetaka
-
Move shelve.py and shelivelist.py to widgets
- 1386. By IWATA Hidetaka
-
Add icons
- 1387. By IWATA Hidetaka
-
ShelveWindow : Change to tab gui. (Now, only shelve is supported, shelveList is not supported yet)
- 1388. By IWATA Hidetaka
-
Add ShelveList tab to ShelveWindow / Add qunshelve command / Trivial fixes about texts and shortcuts.
- 1389. By IWATA Hidetaka
-
ShelveWidget : Use tab width configuration
- 1390. By IWATA Hidetaka
-
Merge from widgets. (Fix splitters)
- 1391. By IWATA Hidetaka
-
Add icon.
- 1392. By IWATA Hidetaka
-
ShelveListWidget : Add layout menus.
- 1393. By IWATA Hidetaka
-
ShelveWidget : Avoid error caused by multiple calls of show_selected_diff.
IWATA Hidetaka (hid-iwata) wrote : | # |
I've pushed new revisions, but still in progress.
FIXES and IMPROVEMENTS:
Unify 2 dialogs by using TabWidget
Lock only starting up and shelving
Keep splitter positions
Add Layout menus to ShelveList
Fix error caused by multiple append_diff call
Fix copyright
TODO:
Add Show-FileList menu to ShelveList
Check existance of pending-merges
Add Layout menus to ShelveWidget
Add tab width selector
Editor support
NEEDED, BUT NOT PLANNED:
External diff support in shelve list
Use read lock instead of write lock on starting up
- 1394. By IWATA Hidetaka
-
Fix : failed when file list specified.
- 1395. By IWATA Hidetaka
-
Fix ToolbarPanel : argument 'enabled' of add_toolbar_button does not work / Shortcut of menu is not displayed.
- 1396. By IWATA Hidetaka
-
ShelveListWidget : Add 'Show filelist' menu / Move code of Layout menus to widgets.toolbars / Change shelf icon.
- 1397. By IWATA Hidetaka
-
ShelveWidget : Add Layout menu
- 1398. By IWATA Hidetaka
-
ShelveWidget/
ShelveListWidge t : Add tab width selector. - 1399. By IWATA Hidetaka
-
ShelveWidget / ShelveListWidget : Fix splitter setting code. (does not work correctly when unconfigured)
- 1400. By IWATA Hidetaka
-
Add icon
- 1401. By IWATA Hidetaka
-
Add editor support.
- 1402. By IWATA Hidetaka
-
Hide use editor button when change_editor is not configured.
- 1403. By IWATA Hidetaka
-
Run unshelve separatedly.
- 1404. By IWATA Hidetaka
-
ShelveWindow : Check pending merges
- 1405. By IWATA Hidetaka
-
Fix trivial about texts.
- 1406. By IWATA Hidetaka
-
ShelveWidget : Show edited lines to hunk view.
- 1407. By IWATA Hidetaka
-
ShelveWidget : autocomplete of message editbox.
- 1408. By IWATA Hidetaka
-
ShelveListWidget : Add feature of --dry-run and --keep
- 1409. By IWATA Hidetaka
-
ShelveWidget : Add feature of --destory
- 1410. By IWATA Hidetaka
-
Trivial fix about translation.
- 1411. By IWATA Hidetaka
-
ShelveListWidget : Fix KeyError
- 1412. By IWATA Hidetaka
-
ShelveListWidget : Reset ShelveWidget after unshelve
IWATA Hidetaka (hid-iwata) wrote : | # |
Now, I've implement all planned features and fixes.
Please check it out.
DIFFERENCES FROM FIRST REVIEWED VERSION
-------
* Unify ShelveWindow and ShelveListWindow by using TabWidget
* Add qunshelve command (Same as qshelve --list)
* Support shelve --destroy, unshelve --dry-run, unshelve --keep
* Support hunk splitting by change editor
* Reduce locking period (Only when starting up and shelving)
* Make layout of each panes configurable
* Add 'Show filelist' menu to ShelveList, and select all files
automatically after selecting shelf when filelist is hidden.
* Fix error caused by multiple append_diff call
* Add tab width selector
* Run unshelve in separated process
* Prevent from shelving when working tree has pending-merges
* Keep splitter positions
* Fix copyright
* Auto complete of shelve message
* Many trivial fixes about text, message, shortcut, etc.
methane (songofacandy) wrote : | # |
Congrats!
On Wed, May 18, 2011 at 4:35 PM, iwata <email address hidden> wrote:
> Now, I've implement all planned features and fixes.
> Please check it out.
>
> DIFFERENCES FROM FIRST REVIEWED VERSION
> -------
> * Unify ShelveWindow and ShelveListWindow by using TabWidget
> * Add qunshelve command (Same as qshelve --list)
> * Support shelve --destroy, unshelve --dry-run, unshelve --keep
> * Support hunk splitting by change editor
> * Reduce locking period (Only when starting up and shelving)
> * Make layout of each panes configurable
> * Add 'Show filelist' menu to ShelveList, and select all files
> automatically after selecting shelf when filelist is hidden.
> * Fix error caused by multiple append_diff call
> * Add tab width selector
> * Run unshelve in separated process
> * Prevent from shelving when working tree has pending-merges
> * Keep splitter positions
> * Fix copyright
> * Auto complete of shelve message
> * Many trivial fixes about text, message, shortcut, etc.
>
>
> --
> https:/
> Your team QBzr Developers is requested to review the proposed merge of lp:~hid-iwata/qbzr/qshelve into lp:qbzr.
>
--
INADA Naoki <email address hidden>
Alexander Belchenko (bialix) wrote : | # |
iwata пишет:
> Now, I've implement all planned features and fixes.
> Please check it out.
Cool! I will review it over the weekend and will be happy to merge it.
Thanks!
--
All the dude wanted was his rug back
Alexander Belchenko (bialix) wrote : | # |
I've landed DiffItem refactoring. Please, merge from trunk to simplify
the review diff.
- 1413. By IWATA Hidetaka
-
merge from trunk
IWATA Hidetaka (hid-iwata) wrote : | # |
Done.
> I've landed DiffItem refactoring. Please, merge from trunk to simplify
> the review diff.
BTW, I made 22x22/unidiff.png. Do you need it?
http://
- 1414. By IWATA Hidetaka
-
Rewrite icons / Remove unused icons
IWATA Hidetaka (hid-iwata) wrote : | # |
I've pushed new revision.
This revision includes only icon changes, no program codes were changed.
- 1415. By IWATA Hidetaka
-
qshelve/qunshelve : (fix) --ui-mode option does not work
- 1416. By IWATA Hidetaka
-
qshelve : Show paths in title bar when subdirs or files are specified by arguments.
- 1417. By IWATA Hidetaka
-
qshelve : use ngettext, instead of '... file(s) ...'
IWATA Hidetaka (hid-iwata) wrote : | # |
I've pushed new revisions include some trivial fixes.
* --ui-mode does not work
* show paths in title bar when FILE arguments are provided.
* use ngettext instead of "... file(s) ..."
- 1418. By IWATA Hidetaka
-
Revert unintended rename.
IWATA Hidetaka (hid-iwata) wrote : | # |
I pushed one more revision.
I renamed NEW.txt in past revision by mistake :-(, this fixes it.
Alexander Belchenko (bialix) wrote : | # |
iwata пишет:
> I pushed one more revision.
> I renamed NEW.txt in past revision by mistake :-(, this fixes it.
Many thanks for that, Hidetaka.
I hope I can review it and land it very soon.
Alexander Belchenko (bialix) : | # |
Preview Diff
1 | === modified file '__init__.py' |
2 | --- __init__.py 2011-05-30 09:51:43 +0000 |
3 | +++ __init__.py 2011-06-07 22:54:29 +0000 |
4 | @@ -131,6 +131,8 @@ |
5 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qpush', []), |
6 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qrevert', []), |
7 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qrun', ['qcmd']), |
8 | + ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qshelve', []), |
9 | + ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qunshelve', []), |
10 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qtag', []), |
11 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_quncommit', []), |
12 | ('bzrlib.plugins.qbzr.lib.commands', 'cmd_qupdate', ['qup']), |
13 | |
14 | === added file 'data/16x16/accessories-text-editor.png' |
15 | Binary files data/16x16/accessories-text-editor.png 1970-01-01 00:00:00 +0000 and data/16x16/accessories-text-editor.png 2011-06-07 22:54:29 +0000 differ |
16 | === added file 'data/16x16/complete.png' |
17 | Binary files data/16x16/complete.png 1970-01-01 00:00:00 +0000 and data/16x16/complete.png 2011-06-07 22:54:29 +0000 differ |
18 | === added file 'data/16x16/delete.png' |
19 | Binary files data/16x16/delete.png 1970-01-01 00:00:00 +0000 and data/16x16/delete.png 2011-06-07 22:54:29 +0000 differ |
20 | === added file 'data/16x16/document-properties.png' |
21 | Binary files data/16x16/document-properties.png 1970-01-01 00:00:00 +0000 and data/16x16/document-properties.png 2011-06-07 22:54:29 +0000 differ |
22 | === added file 'data/16x16/edit-find.png' |
23 | Binary files data/16x16/edit-find.png 1970-01-01 00:00:00 +0000 and data/16x16/edit-find.png 2011-06-07 22:54:29 +0000 differ |
24 | === added file 'data/16x16/format-text-bold.png' |
25 | Binary files data/16x16/format-text-bold.png 1970-01-01 00:00:00 +0000 and data/16x16/format-text-bold.png 2011-06-07 22:54:29 +0000 differ |
26 | === added file 'data/16x16/go-down.png' |
27 | Binary files data/16x16/go-down.png 1970-01-01 00:00:00 +0000 and data/16x16/go-down.png 2011-06-07 22:54:29 +0000 differ |
28 | === added file 'data/16x16/go-up.png' |
29 | Binary files data/16x16/go-up.png 1970-01-01 00:00:00 +0000 and data/16x16/go-up.png 2011-06-07 22:54:29 +0000 differ |
30 | === added file 'data/16x16/unidiff.png' |
31 | Binary files data/16x16/unidiff.png 1970-01-01 00:00:00 +0000 and data/16x16/unidiff.png 2011-06-07 22:54:29 +0000 differ |
32 | === added file 'data/16x16/whitespace.png' |
33 | Binary files data/16x16/whitespace.png 1970-01-01 00:00:00 +0000 and data/16x16/whitespace.png 2011-06-07 22:54:29 +0000 differ |
34 | === added file 'data/22x22/delete.png' |
35 | Binary files data/22x22/delete.png 1970-01-01 00:00:00 +0000 and data/22x22/delete.png 2011-06-07 22:54:29 +0000 differ |
36 | === added file 'data/22x22/internet-news-reader.png' |
37 | Binary files data/22x22/internet-news-reader.png 1970-01-01 00:00:00 +0000 and data/22x22/internet-news-reader.png 2011-06-07 22:54:29 +0000 differ |
38 | === added file 'data/22x22/select-all.png' |
39 | Binary files data/22x22/select-all.png 1970-01-01 00:00:00 +0000 and data/22x22/select-all.png 2011-06-07 22:54:29 +0000 differ |
40 | === added file 'data/22x22/shelve.png' |
41 | Binary files data/22x22/shelve.png 1970-01-01 00:00:00 +0000 and data/22x22/shelve.png 2011-06-07 22:54:29 +0000 differ |
42 | === added file 'data/22x22/unidiff.png' |
43 | Binary files data/22x22/unidiff.png 1970-01-01 00:00:00 +0000 and data/22x22/unidiff.png 2011-06-07 22:54:29 +0000 differ |
44 | === added file 'data/22x22/unselect-all.png' |
45 | Binary files data/22x22/unselect-all.png 1970-01-01 00:00:00 +0000 and data/22x22/unselect-all.png 2011-06-07 22:54:29 +0000 differ |
46 | === added file 'data/22x22/unshelve.png' |
47 | Binary files data/22x22/unshelve.png 1970-01-01 00:00:00 +0000 and data/22x22/unshelve.png 2011-06-07 22:54:29 +0000 differ |
48 | === modified file 'data/qbzr.qrc' |
49 | --- data/qbzr.qrc 2010-08-30 23:32:31 +0000 |
50 | +++ data/qbzr.qrc 2011-06-07 22:54:29 +0000 |
51 | @@ -27,6 +27,15 @@ |
52 | <file>16x16/folder-conflict.png</file> |
53 | <file>16x16/process-working.gif</file> |
54 | |
55 | + <file>16x16/delete.png</file> |
56 | + <file>16x16/complete.png</file> |
57 | + <file>16x16/unidiff.png</file> |
58 | + <file>16x16/format-text-bold.png</file> |
59 | + <file>16x16/go-down.png</file> |
60 | + <file>16x16/go-up.png</file> |
61 | + <file>16x16/whitespace.png</file> |
62 | + <file>16x16/document-properties.png</file> |
63 | + |
64 | <file>22x22/document-properties.png</file> |
65 | <file>22x22/edit-find.png</file> |
66 | <file>22x22/go-jump.png</file> |
67 | @@ -35,5 +44,16 @@ |
68 | <file>22x22/view-split-left-right.png</file> |
69 | <file>22x22/system-run.png</file> |
70 | |
71 | + <file>16x16/edit-find.png</file> |
72 | + <file>16x16/accessories-text-editor.png</file> |
73 | + |
74 | + <file>22x22/shelve.png</file> |
75 | + <file>22x22/unshelve.png</file> |
76 | + <file>22x22/delete.png</file> |
77 | + |
78 | + <file>22x22/select-all.png</file> |
79 | + <file>22x22/unselect-all.png</file> |
80 | + <file>22x22/internet-news-reader.png</file> |
81 | + |
82 | </qresource> |
83 | </RCC> |
84 | |
85 | === modified file 'lib/annotate.py' |
86 | --- lib/annotate.py 2011-05-11 11:49:14 +0000 |
87 | +++ lib/annotate.py 2011-06-07 22:54:29 +0000 |
88 | @@ -30,7 +30,6 @@ |
89 | from bzrlib.plugins.qbzr.lib.i18n import gettext |
90 | from bzrlib.plugins.qbzr.lib.util import ( |
91 | BTN_CLOSE, |
92 | - FindToolbar, |
93 | QBzrWindow, |
94 | ToolBarThrobberWidget, |
95 | get_apparent_author_name, |
96 | @@ -41,6 +40,7 @@ |
97 | get_tab_width_pixels, |
98 | runs_in_loading_queue, |
99 | ) |
100 | +from bzrlib.plugins.qbzr.lib.widgets.toolbars import FindToolbar |
101 | from bzrlib.plugins.qbzr.lib.uifactory import ui_current_widget |
102 | from bzrlib.plugins.qbzr.lib.trace import reports_exception |
103 | from bzrlib.plugins.qbzr.lib.logwidget import LogList |
104 | |
105 | === modified file 'lib/commands.py' |
106 | --- lib/commands.py 2011-04-27 11:56:41 +0000 |
107 | +++ lib/commands.py 2011-06-07 22:54:29 +0000 |
108 | @@ -76,6 +76,8 @@ |
109 | ) |
110 | from bzrlib.plugins.qbzr.lib.uifactory import QUIFactory |
111 | from bzrlib.plugins.qbzr.lib.send import SendWindow |
112 | +from bzrlib.plugins.qbzr.lib.shelvewindow import ShelveWindow |
113 | +from bzrlib.plugins.qbzr.lib.widgets.shelvelist import ShelveListWindow |
114 | ''') |
115 | |
116 | from bzrlib.plugins.qbzr.lib.diff_arg import DiffArgProvider |
117 | @@ -1066,3 +1068,50 @@ |
118 | execute=execute) |
119 | window.show() |
120 | self._application.exec_() |
121 | + |
122 | +class cmd_qshelve(QBzrCommand): |
123 | + """Shelve selected changes away.""" |
124 | + takes_args = ['file*'] |
125 | + takes_options = [ |
126 | + ui_mode_option, |
127 | + bzr_option('shelve', 'list'), |
128 | + bzr_option('shelve', 'directory'), |
129 | + Option('complete', help='Show complete files.'), |
130 | + Option('ignore-whitespace', short_name='w', |
131 | + help="Ignore whitespace when finding differences.(Only work when --list specified)"), |
132 | + Option('encoding', type=check_encoding, |
133 | + help='Encoding of files content (default: utf-8).'), |
134 | + ] |
135 | + |
136 | + def _qbzr_run(self, file_list=None, list=False, directory=None, ui_mode=False, |
137 | + complete=False, ignore_whitespace=False, encoding=None): |
138 | + if list: |
139 | + initial_tab = 1 |
140 | + else: |
141 | + initial_tab = 0 |
142 | + self.main_window = ShelveWindow(file_list=file_list, directory=directory, ui_mode=ui_mode, |
143 | + initial_tab=initial_tab, complete=complete, |
144 | + ignore_whitespace=ignore_whitespace, encoding=encoding) |
145 | + self.main_window.show() |
146 | + self._application.exec_() |
147 | + |
148 | +class cmd_qunshelve(QBzrCommand): |
149 | + """Restore shalved changes.""" |
150 | + takes_options = [ |
151 | + ui_mode_option, |
152 | + bzr_option('unshelve', 'directory'), |
153 | + Option('complete', help='Show complete files.'), |
154 | + Option('ignore-whitespace', short_name='w', |
155 | + help="Ignore whitespace when finding differences.(Only work when --list specified)"), |
156 | + Option('encoding', type=check_encoding, |
157 | + help='Encoding of files content (default: utf-8).'), |
158 | + ] |
159 | + |
160 | + def _qbzr_run(self, directory=None, ui_mode=False, |
161 | + complete=False, ignore_whitespace=False, encoding=None): |
162 | + self.main_window = ShelveWindow(directory=directory, ui_mode=ui_mode, |
163 | + initial_tab=1, complete=complete, |
164 | + ignore_whitespace=ignore_whitespace, encoding=encoding) |
165 | + self.main_window.show() |
166 | + self._application.exec_() |
167 | + |
168 | |
169 | === modified file 'lib/diffwindow.py' |
170 | --- lib/diffwindow.py 2011-05-20 08:51:43 +0000 |
171 | +++ lib/diffwindow.py 2011-06-07 22:54:29 +0000 |
172 | @@ -49,7 +49,6 @@ |
173 | from bzrlib.plugins.qbzr.lib.i18n import gettext, ngettext, N_ |
174 | from bzrlib.plugins.qbzr.lib.util import ( |
175 | FilterOptions, |
176 | - FindToolbar, |
177 | QBzrWindow, |
178 | ToolBarThrobberWidget, |
179 | get_icon, |
180 | @@ -61,6 +60,7 @@ |
181 | runs_in_loading_queue, |
182 | show_shortcut_hint, |
183 | ) |
184 | +from bzrlib.plugins.qbzr.lib.widgets.toolbars import FindToolbar |
185 | from bzrlib.plugins.qbzr.lib.uifactory import ui_current_widget |
186 | from bzrlib.plugins.qbzr.lib.trace import reports_exception |
187 | from bzrlib.plugins.qbzr.lib.encoding_selector import EncodingMenuSelector |
188 | |
189 | === modified file 'lib/resources.py' |
190 | --- lib/resources.py 2010-08-30 23:32:31 +0000 |
191 | +++ lib/resources.py 2011-06-07 22:54:29 +0000 |
192 | @@ -2,8 +2,8 @@ |
193 | |
194 | # Resource object code |
195 | # |
196 | -# Created: Ma aug. 31 02:22:47 2010 |
197 | -# by: The Resource Compiler for PyQt (Qt v4.7.0) |
198 | +# Created: ? 5 25 07:13:26 2011 |
199 | +# by: The Resource Compiler for PyQt (Qt v4.5.2) |
200 | # |
201 | # WARNING! All changes made in this file will be lost! |
202 | |
203 | @@ -406,6 +406,43 @@ |
204 | \x16\x17\x40\x85\x0b\x40\x43\x9c\xa7\x8c\xdf\xa5\x60\x26\x10\x48\ |
205 | \xc7\x35\x22\x8f\x0b\xf0\x27\x9b\x2f\xb2\xa4\xb3\x87\x63\xc7\x00\ |
206 | \x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
207 | +\x00\x00\x02\x21\ |
208 | +\x89\ |
209 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
210 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
211 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
212 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
213 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
214 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
215 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x9e\x49\x44\ |
216 | +\x41\x54\x38\x8d\xd5\xd5\x5d\x4f\xa3\x40\x14\x80\xe1\xf7\x0c\x38\ |
217 | +\x6d\x19\x1a\x5d\x13\xdb\x78\xe1\x57\xff\x28\xe1\x77\x9a\x88\xbd\ |
218 | +\x30\xc6\x26\xab\x75\x57\x40\xed\x30\xb3\x17\xa4\xd4\x0a\xdd\xb0\ |
219 | +\x6b\x7a\xe1\x5c\x0d\x73\x98\x27\x87\x33\x70\x10\xef\x3d\xfb\x18\ |
220 | +\x6a\x2f\xea\x3e\xe1\x70\x3d\x49\xd3\xf4\x01\x98\x7c\xc1\x5a\x24\ |
221 | +\x49\x32\x5d\x5f\x7c\xcc\xf8\x2b\x68\x6b\x7f\xf8\x39\x9a\x24\x49\ |
222 | +\x2f\xa5\x3e\x73\x8f\x88\x90\xa6\x69\x2b\xde\x82\x01\x16\x8b\xc5\ |
223 | +\x4e\x50\x44\x88\xe3\x98\xb7\x37\x47\x10\x08\x71\x1c\x75\xde\xf7\ |
224 | +\x4f\x87\x27\x22\x18\x53\xa3\xb7\xb7\x4b\xb2\x6c\x89\xb5\xae\x3f\ |
225 | +\xac\xb5\xc6\x98\x18\xa5\x36\xe1\x75\xa6\xd6\x7a\xe6\xf3\x67\x9c\ |
226 | +\xf3\x58\xeb\xb8\xbb\xfb\xd5\x0f\xf6\x1e\xa2\x28\xa2\xaa\x20\x8a\ |
227 | +\x4c\x83\x46\x91\xc1\x5a\x4f\x96\x2d\xa9\xaa\x3a\xcb\xc1\x20\xe0\ |
228 | +\xec\xec\xb0\x1f\xec\x9c\xe7\xe6\xe6\x89\x2c\x5b\xe2\x3d\x8c\x46\ |
229 | +\x23\x8c\x31\x78\x2f\x5b\xa8\xd6\x01\x57\x57\xc7\xa8\x1d\xc5\x6c\ |
230 | +\x2d\xdf\xdf\xff\xa6\x28\x56\x54\x95\x63\x3e\x7f\x46\xeb\x01\xa0\ |
231 | +\xc8\xb2\xa7\xa6\x9e\x07\x07\x8a\xd9\xec\x07\xce\xad\x10\x91\x4e\ |
232 | +\xb8\xf5\x56\x9c\x9e\x8e\x79\x7c\x7c\xc1\x5a\xc7\xeb\xab\xe5\xfa\ |
233 | +\xfa\x67\x53\x4f\x80\x30\x54\xcc\x66\xc7\x78\xef\x28\x8a\x82\x38\ |
234 | +\x8e\xfb\x65\xac\x14\x9c\x9f\x6f\xea\xf6\xfe\x5e\x35\x68\x10\xd4\ |
235 | +\x99\x8a\x38\xf2\xfc\xa5\xbb\x06\xbb\x60\x11\x61\x38\x0c\x98\x4e\ |
236 | +\xcd\xd6\x7a\x8d\x1e\xa1\x94\x27\xcf\xf3\xbf\xa2\x9d\x30\x40\x51\ |
237 | +\x14\x9c\x9c\x18\xc6\xe3\x41\x83\x5e\x5e\x1e\x11\x04\x42\x9e\xe7\ |
238 | +\xf4\x69\xb5\x9d\x5f\x9e\xb5\x96\xb2\x2c\xb9\xb8\x38\xa4\x2c\x57\ |
239 | +\x0c\x87\x21\x55\x55\x3f\x7e\xdf\xfe\xdd\x09\x4f\x26\x9b\x7e\xa2\ |
240 | +\xb5\x6e\xe6\x51\x34\xea\x85\x76\xc2\x5d\x0d\xe5\x7f\xc6\xc7\x1a\ |
241 | +\xef\xee\x3c\xfd\xc6\xd6\x7e\xf9\x76\xff\xbc\x3f\xef\x17\xab\xe2\ |
242 | +\x01\x51\x83\x55\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
243 | +\ |
244 | \x00\x00\x01\x3c\ |
245 | \x89\ |
246 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
247 | @@ -428,6 +465,158 @@ |
248 | \x36\x3e\x1c\x9f\xc5\xb3\xf8\x0f\xc5\xfc\xc6\x8f\xed\x04\x62\x3b\ |
249 | \xd9\x69\x52\x53\x1d\xd3\x27\xd3\xf0\x95\x3a\x8b\x52\x56\x44\x00\ |
250 | \x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
251 | +\x00\x00\x04\x7e\ |
252 | +\x89\ |
253 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
254 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
255 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ |
256 | +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
257 | +\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
258 | +\xd5\x0b\x0a\x0d\x34\x15\x48\x65\x72\x06\x00\x00\x04\x0b\x49\x44\ |
259 | +\x41\x54\x38\xcb\xad\x95\x5d\x6c\x14\x55\x14\xc7\x7f\x33\xfb\x39\ |
260 | +\x9d\x6d\xbb\xd3\x65\x97\xdd\xd6\x65\x59\x3e\x96\x22\x05\xda\x92\ |
261 | +\x56\x8b\x1f\x58\x13\x1f\x30\x42\x34\x46\x7c\xd0\x17\xd3\xf8\x00\ |
262 | +\x35\x48\x55\x52\x03\xfa\x20\x46\x02\x18\x8b\x69\x6c\x1f\x44\x1f\ |
263 | +\x34\x8a\x92\xc8\x8b\x0f\x68\x0c\x31\x36\xc6\x88\x34\x41\x54\xac\ |
264 | +\x25\xb4\xb5\x36\xc5\xd6\xdd\xb6\xd3\x76\xbf\x67\x67\x77\x7c\x68\ |
265 | +\x77\x6c\xa9\x50\x4c\xfc\x27\x37\xe7\xe6\x9e\x73\xfe\xf7\x7f\xcf\ |
266 | +\x3d\x33\x57\x60\x01\x9e\x7b\xa3\xfd\xfd\x3f\x12\x95\x8f\xc6\xa6\ |
267 | +\xb4\x8a\x85\xeb\x92\xcd\x48\xfa\x5c\xf1\xbe\x95\xf2\x6f\x6d\x9d\ |
268 | +\xaf\x7e\xf6\x1d\xb7\x01\xa1\x38\xe9\xfa\xa0\xad\xf6\xec\x8f\xe1\ |
269 | +\x8b\xab\x23\x1b\xb3\xa1\x95\x3e\x31\x9e\x13\x9d\x55\x65\x4e\xf1\ |
270 | +\xcf\xb8\xc6\x54\x3a\xcb\xf4\xd5\xf3\x43\xa9\x64\xc6\x11\x56\xfa\ |
271 | +\xdb\xbb\x5f\x3b\xfd\xf1\x72\xc4\x96\x22\xe9\xf9\xfe\xc0\xd9\x55\ |
272 | +\x5b\x1e\x70\x0f\x0f\xf4\xdb\x07\x87\x87\x6d\x23\xbf\x0f\x8a\x23\ |
273 | +\x13\x93\xd8\x4a\x2b\x50\x9c\x76\x9c\xde\x75\xca\x74\xba\x50\x76\ |
274 | +\x3d\xe6\xdc\xb9\xeb\x11\xcf\xa5\x8b\xdf\xfc\x3a\x70\x2b\x62\x11\ |
275 | +\xe0\x87\x6b\xce\xe3\x77\xac\xb0\x0e\x27\x06\xbe\xba\xda\xe8\xbd\ |
276 | +\xf0\x74\x4f\xc7\x3e\xf1\xbe\x50\xef\xce\xdc\xcc\xf5\xd9\xd1\xc1\ |
277 | +\x2b\x46\x74\x36\x4e\x3c\x99\x40\xf1\x05\x90\x7d\x41\xc7\x2f\xb1\ |
278 | +\xad\x9f\xbe\xf4\xfa\x2e\x79\x59\x62\x35\x25\xad\xb3\xe4\x13\x33\ |
279 | +\xf7\xaf\x1f\x7d\xe8\xe8\x8b\xef\x7d\x02\x70\xec\xe0\x47\x5f\x36\ |
280 | +\x04\x47\x8f\x24\x54\x55\x48\xce\x4e\xa1\x65\x52\x00\xf8\x82\xeb\ |
281 | +\x45\xaf\xac\x8d\x4c\x68\xe1\xee\x65\x6b\xfc\xd4\xa1\x17\x3e\x0f\ |
282 | +\x3b\x72\x3f\xcf\xaa\x85\xc3\x0b\x9d\x0e\x49\xe0\xdb\xa9\x10\xab\ |
283 | +\x37\xd5\x2f\x4a\x72\xa7\xfb\x98\xf8\x6b\x9c\xca\xc2\xf4\x8d\x7c\ |
284 | +\xed\x9d\x6f\x77\x9d\x00\xb0\x02\x04\xcb\xe2\x5f\xa4\x26\xed\xdd\ |
285 | +\xc7\x8e\xbe\xb9\x64\xe7\x07\xdb\xba\x96\xac\x65\x3c\x77\x31\x3a\ |
286 | +\xd4\xc3\x87\x27\x17\xe9\xe0\xe5\x43\x07\x8f\x03\x27\xcc\x52\xa4\ |
287 | +\xc6\xed\xd7\x14\xb7\x97\x54\x6a\xee\xb8\xc9\x64\xd2\x1c\x26\x59\ |
288 | +\xfa\x9f\xb9\xc5\x66\x5f\x14\x37\x32\x3a\x42\x32\x99\xc4\xeb\xf5\ |
289 | +\xb2\xff\x40\x6b\xad\xa9\x18\x58\xeb\xf7\x07\x00\x48\x24\x13\xb8\ |
290 | +\x64\xd7\xbf\x2a\x2d\xc2\x28\x14\x00\x78\xec\xc8\x69\x74\x4d\xe3\ |
291 | +\xcc\xe1\x3d\x00\x28\x8a\x42\x2c\x16\x8b\x00\x97\xc5\xf9\xd8\xdd\ |
292 | +\x75\x5b\xeb\x49\xa7\xd3\x08\x08\xa6\xd2\xea\x86\x1d\x54\x37\xec\ |
293 | +\xa0\x5c\xf1\x02\x90\xcd\x66\xe6\x6c\x3a\xce\xba\xda\xbb\x59\x53\ |
294 | +\xd3\x00\x40\x89\x54\x02\xc0\x3d\x4d\xf7\x02\x6c\x36\x4b\x01\x3c\ |
295 | +\x5c\x59\x59\xb5\x48\xd5\xbb\xcf\x37\x33\xf0\xd3\xf7\x00\x8c\x8d\ |
296 | +\x0e\x81\x61\x90\xd7\x73\x64\xd2\x49\xe2\x33\x2a\x00\x43\x57\x7a\ |
297 | +\x79\x67\xdf\x76\x33\x27\x18\x0c\x01\xbc\x02\x20\xee\x3f\xd0\x5a\ |
298 | +\x2b\x49\x25\xd8\xed\x76\x3c\x1e\x8f\x19\x14\xf0\x86\xe8\x68\xd9\ |
299 | +\x46\x7f\x6f\x0f\x15\xde\x4a\x0a\x86\x31\x5f\x07\x83\x32\xb7\x87\ |
300 | +\x81\xcb\x17\xe8\x68\xd9\x46\xa8\x32\x02\x80\x2c\xcb\xf3\xe5\xf0\ |
301 | +\xb0\xff\x40\x6b\xad\x08\x44\x56\xfa\xfc\x00\xa8\xaa\x8a\x2c\xcb\ |
302 | +\xc8\xb2\x8c\x28\x8a\x84\xab\x36\xd0\xb9\xb7\xc9\x24\x17\x05\x01\ |
303 | +\x57\x79\x05\x03\x97\x2f\xd0\xb9\xb7\x89\x70\xd5\x06\x33\x5e\x55\ |
304 | +\xe7\x4e\x51\x5e\x56\x0e\x10\x11\x81\xcd\x77\x6e\xdc\x44\x2e\x97\ |
305 | +\x33\xac\x56\x0b\x33\x33\x33\xa8\xaa\x8a\x24\x49\xc8\xb2\x4c\x4d\ |
306 | +\xa4\x9e\x53\x6d\xcd\xf4\xf7\xf6\xe0\x5e\x11\x60\xb8\xef\x12\xa7\ |
307 | +\xda\x9a\xa9\x89\xd4\x9b\x84\xaa\xaa\x92\xcf\xeb\x24\x12\x09\x63\ |
308 | +\xed\x9a\xb5\x00\x4d\x62\x36\x9b\xdd\xe2\xf7\xfb\x71\xb9\x5c\x82\ |
309 | +\xae\xe7\x29\xcc\xdf\x78\x31\x41\x55\x55\x2a\x4a\x03\x74\x3c\xdb\ |
310 | +\x40\x7f\x6f\x0f\x6f\x3d\x53\x4f\x45\x69\xc0\xf4\x01\xe4\xf3\x3a\ |
311 | +\x08\xa0\x28\x8a\x10\x0c\xae\x22\x93\xc9\x96\x5a\x1d\x0e\xc7\xee\ |
312 | +\x48\x24\x62\xb6\xcb\xcd\xa0\x28\x8d\x7c\x7d\xb2\x71\xd9\xdf\x65\ |
313 | +\x75\x75\x35\x4e\xa7\xa3\xc5\x0a\x10\x8b\xc5\x98\x9c\x9c\xbc\x79\ |
314 | +\xdf\x16\x2f\xee\x36\x7c\x5e\xef\x5c\x6b\x16\x3f\x10\x34\x4d\xc3\ |
315 | +\xe3\xf1\x70\xee\xdc\x39\x1c\x0e\x07\xb2\xab\x84\x52\x57\x19\xa2\ |
316 | +\x28\x22\x49\x12\x82\x20\x20\x49\x12\x2e\x97\x0b\x55\x55\xf1\xf9\ |
317 | +\x7c\x44\xa3\xd1\x25\xb6\x48\x2c\x2e\xdc\x4d\xd7\x75\x2c\x16\x0b\ |
318 | +\x86\x61\x20\x0a\x16\xb2\xd9\x2c\x9a\xa6\x61\x18\x06\x36\x9b\xed\ |
319 | +\x96\xca\x6f\x84\xa9\x58\x10\x04\xd2\xe9\x34\x75\x75\xb5\xe8\x7a\ |
320 | +\x1e\x8b\xc5\x82\xae\xeb\x66\xa0\xdd\x6e\xe7\xbf\xc0\x0a\x10\x8d\ |
321 | +\x46\x0d\xbf\xdf\x3f\xff\x4c\x79\x96\x4d\x72\xbb\xdd\x00\x84\xc3\ |
322 | +\xe1\x25\x76\x6c\x6c\xcc\x00\x04\xe1\x89\x27\x1f\xdf\x13\x08\xf8\ |
323 | +\xcf\xf0\x3f\x62\x6c\x6c\x7c\xfb\xdf\xe7\x60\x9f\x53\x70\x22\xd1\ |
324 | +\x6a\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
325 | +\x00\x00\x04\xbb\ |
326 | +\x89\ |
327 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
328 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
329 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
330 | +\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
331 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
332 | +\xd6\x06\x13\x0e\x09\x04\x19\x6e\x0a\x19\x00\x00\x00\x0f\x74\x45\ |
333 | +\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x69\x64\x20\x6c\x6f\x67\ |
334 | +\x6f\x86\xc6\x77\xb9\x00\x00\x04\x2d\x49\x44\x41\x54\x38\xcb\xad\ |
335 | +\x94\x6d\x68\x5b\x55\x18\xc7\xff\xe7\xdc\x7b\x93\xa6\x6d\x5e\x7a\ |
336 | +\x6f\xfa\x92\x6c\xb6\xb7\xa9\x6d\xad\xdb\x2c\x1b\x56\x3b\x69\xe9\ |
337 | +\x60\x2f\xe0\x14\x75\x8a\x53\x14\xfd\xa0\x68\x15\xf4\x83\x30\xdf\ |
338 | +\xf0\xad\x20\xa3\xc3\x2f\x22\x83\xe1\x9c\x08\x7e\x11\x67\x4b\x37\ |
339 | +\x05\xab\x22\xd2\x95\x34\x1d\x6a\x05\x3b\x66\x2d\xeb\xda\x94\x36\ |
340 | +\x36\x4d\xba\x34\xe9\x4d\x9b\x9b\xb7\x7b\x8e\x1f\x9a\xa6\x8d\x19\ |
341 | +\x0a\x6e\x7f\x38\xdc\xe7\xf9\x5f\xce\x8f\x87\xe7\x3c\x3c\x04\x5b\ |
342 | +\xf4\xd1\xc9\x0f\x87\x74\x3d\xb1\x0f\xff\x43\x02\xa5\x9f\xbc\x7a\ |
343 | +\xec\xcd\xee\x8d\x5c\xdc\xfa\x53\xd7\x13\xfb\x5e\xec\x7e\x09\xe9\ |
344 | +\x74\x3a\xef\x71\xce\x8b\x20\x1b\x1e\x21\x04\x00\x20\x49\x12\x4e\ |
345 | +\x9f\x39\xf5\x3c\x80\x4d\xb0\x7a\xb8\xf7\x3d\x00\x3d\xeb\x29\x43\ |
346 | +\x22\x91\x40\x2c\x16\x2b\x02\x6e\xe4\x92\x24\x81\x52\x5a\xe0\x39\ |
347 | +\x1c\x0e\x00\x80\x7a\xb8\x77\xe3\x52\x8f\x08\xa0\xe7\xed\x57\x8e\ |
348 | +\x62\x22\xa0\x41\x9b\xfe\x12\x9a\xa6\x61\x61\x61\xe1\xba\x50\x00\ |
349 | +\x10\x04\x01\x84\x10\x58\x2c\x96\xbc\xc7\x18\x83\xa6\x69\x78\xf8\ |
350 | +\xd1\xc7\x01\x00\x03\x7d\xdf\xf7\xe4\x5b\x31\x17\xd4\x91\xf6\xc7\ |
351 | +\x11\x8b\xc5\xe0\xf7\xfb\xff\xb5\x15\x00\xf2\x55\x03\x80\xc7\xe3\ |
352 | +\xc1\xdc\x62\x1c\x86\x2d\x03\x57\xa5\x54\xd8\x63\x49\x14\xf1\x67\ |
353 | +\x62\x3b\x9e\x39\xf1\x53\x01\x20\xd7\xc6\xff\x50\x08\xc0\x76\xec\ |
354 | +\xdc\x52\x43\x1e\xcc\x01\xec\xda\x7b\x00\x37\xa2\x43\x9f\xbd\x8c\ |
355 | +\xcb\xaf\x7f\x5c\x08\x3e\xb0\x5b\xc1\x8d\x8a\x9d\xfc\x02\x08\x68\ |
356 | +\x85\xe0\x89\x9c\x71\xb3\x44\xd4\x7b\x7b\x2f\x80\xa0\xeb\x66\x42\ |
357 | +\x39\xb8\x8f\x00\xc0\x89\x0f\x8e\xf3\xc7\x8e\x3e\x71\x6d\x39\x12\ |
358 | +\xb1\x9f\xf9\xf4\x74\x7a\xff\xfe\x83\xd2\xd8\xd8\xaf\x68\x6f\xdf\ |
359 | +\x4b\xbd\x5e\x6f\xaa\xab\xab\xcb\x34\x7e\xe9\xf7\xcc\xee\xd6\x3d\ |
360 | +\x26\xdf\x45\x5f\xaa\xed\xce\x36\x69\x7c\x7c\x3c\xdd\xda\xda\x6a\ |
361 | +\x0a\x87\x97\xd8\xe5\x3f\x2e\x65\x9f\x7a\xf2\x69\x8b\x2c\xcb\xd1\ |
362 | +\x81\xf3\xfd\xce\x37\x5e\x7b\x8b\xd0\xcd\xf1\x21\xd9\x4c\x36\xb3\ |
363 | +\xa2\x54\x3a\x57\xe3\xf1\xd5\x58\x4d\xb5\xcb\x60\x8c\x6b\x6e\xf7\ |
364 | +\x36\xc3\x30\x58\xa4\xa2\x42\x36\x44\x49\x8a\xb9\xaa\xdd\x2b\x7a\ |
365 | +\x42\x0f\xc9\xb2\x0c\x23\xcb\x96\x5c\x2e\x17\xb7\xd9\xac\x11\x9b\ |
366 | +\xc3\xbe\x62\x36\x97\x90\xa2\xa9\x10\x05\xc9\x18\xfd\x79\xe4\x47\ |
367 | +\x45\x56\x0e\x35\x35\x36\x61\x76\xce\x9f\xae\xad\xbd\x85\x45\xa3\ |
368 | +\xcb\xba\x5c\x21\x27\xe3\x71\xcd\x52\x53\x53\xcd\xd6\xd6\xd6\x58\ |
369 | +\x4d\x4d\x35\x21\x14\x44\xad\x57\x85\xaa\xaa\x2a\x3a\x1f\x98\x65\ |
370 | +\xb2\x2c\x33\x8b\xd9\x22\xe5\x0b\xcd\x07\x02\xcd\x80\xa1\xad\xe3\ |
371 | +\x9e\xce\x88\xb3\xd2\x99\x51\xeb\xea\x75\x45\x71\x52\x4a\xc9\x8c\ |
372 | +\xd5\x56\x9e\x95\x2b\x64\xdd\x66\xb5\x1b\x6e\xb7\x6b\x59\x51\x9c\ |
373 | +\x84\x71\xc6\xec\x36\xbb\x51\x56\x56\xc6\x14\xc5\x89\xc9\xc9\x09\ |
374 | +\x81\x0a\x34\x5b\x04\x26\x20\x19\x41\x14\xd0\xd4\xdc\xac\x5e\x9d\ |
375 | +\xba\x32\xa9\xd6\xa9\x19\x87\xdd\x2e\x86\x23\xa1\x71\x45\x71\x96\ |
376 | +\xaa\xaa\xba\x6a\xb3\x59\x05\xbf\x7f\xe6\x8e\xb1\xb1\x5f\xb6\x99\ |
377 | +\x4c\x12\xac\xd6\x72\x63\xea\xea\x94\xe5\xc8\x43\x8f\xd4\x07\x17\ |
378 | +\x82\x15\xa1\xd0\x62\xaa\x08\x9c\xd0\x13\x61\x49\x94\x78\x5f\xff\ |
379 | +\xd9\x68\x3a\x9b\x9a\xd1\xb4\x58\xb4\x7f\xe0\x2b\xad\xbc\xb4\xbc\ |
380 | +\x6d\x39\xb2\x34\x4b\x08\x49\x7c\xf7\xc3\xb7\xf4\xf6\x1d\x2d\xd8\ |
381 | +\xb9\x6b\x07\x92\xc9\x54\x2a\xbc\x14\x0e\xce\xfa\xa7\x31\x3a\xea\ |
382 | +\xc3\x83\x0f\x1c\x59\x89\xc5\x62\xee\xe2\xb5\xc9\x91\x6e\x6a\x69\ |
383 | +\xba\x98\xd4\xf5\xc0\xf4\xd4\xcc\xfd\xfe\x19\xbf\x51\xe7\xa9\xfd\ |
384 | +\x5c\x14\x45\x3e\x3c\x32\x7c\x1f\xe7\x9c\xdd\xd6\xd2\x7c\x8a\x73\ |
385 | +\xfe\x2e\x21\x04\x65\xd6\xd2\xf3\x5e\xdf\xf0\x1e\x02\xf2\x9b\xa9\ |
386 | +\xc4\x94\xfd\xfa\x9b\x73\x77\x77\x76\x76\x8d\x00\xe8\x28\x00\x33\ |
387 | +\x66\x64\x58\x8a\x59\x38\xe7\xb4\xa1\xd1\x33\xb8\x75\x2e\x6f\x6d\ |
388 | +\x6c\x18\x04\x00\xc3\x30\x84\xbf\x82\x81\xe3\x00\x60\x36\x9b\x50\ |
389 | +\xef\x51\x07\x29\xa5\xdc\x6a\x75\x54\x36\x37\x36\x97\xa6\x92\xa9\ |
390 | +\xd4\xd6\x8a\x45\x00\xf0\xfa\xbc\xa5\x8d\x8d\x4d\x1d\x62\xca\x8c\ |
391 | +\x64\x2a\xb9\xbe\x3c\xd6\x97\x39\xa1\x94\x80\x10\x80\x73\x60\x3d\ |
392 | +\x26\xe0\x9c\x83\x52\x0a\x41\x10\x51\x66\x2e\x85\xbe\xa6\xd3\xa1\ |
393 | +\x0b\x43\xc9\x1c\xd7\x2c\x02\x28\x0b\x06\x17\xdf\x07\xf0\x4e\xfb\ |
394 | +\x5d\xed\x11\x42\x60\x89\xc7\xe3\xc8\x64\x32\xe0\x9c\x43\x10\x04\ |
395 | +\x6e\x18\x1c\x06\x33\xd6\x1f\x85\x50\x08\xc2\x26\x58\x14\x45\x98\ |
396 | +\x4c\x25\x08\x04\xe6\xa3\x8b\xa1\x85\xb6\x68\x34\x7a\x0e\x80\x8b\ |
397 | +\x00\xb0\x00\x70\x3f\xd7\xfd\xec\xb1\x86\x06\xcf\x0b\xd7\x5b\xf0\ |
398 | +\xff\xfc\x16\xae\x55\x92\x3f\xe1\xf0\xd2\x60\xdf\xd9\xfe\xde\xf9\ |
399 | +\xf9\xc0\x15\x02\x80\x00\x30\x01\x50\x00\xd8\x73\x31\xcd\xf9\x04\ |
400 | +\x00\x43\xbe\x31\x20\xb9\x98\x03\x30\x72\xb9\x90\x8b\x0d\x00\x49\ |
401 | +\x00\xd7\x00\xe8\x7f\x03\x8a\xcb\xca\xec\x2d\xad\x62\x4b\x00\x00\ |
402 | +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
403 | \x00\x00\x02\x90\ |
404 | \x89\ |
405 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
406 | @@ -471,6 +660,75 @@ |
407 | \xc0\xd0\x5a\x87\xb4\xd6\x3c\x18\xa2\x94\x22\x66\xd6\x00\x7c\xad\ |
408 | \xb5\x02\xa0\x00\x78\x13\xc3\x1d\xe8\xf0\x1b\x97\x09\xed\xc1\x8d\ |
409 | \x52\xf2\x20\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
410 | +\x00\x00\x04\x26\ |
411 | +\x89\ |
412 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
413 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
414 | +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ |
415 | +\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ |
416 | +\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01\ |
417 | +\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdb\x05\x16\ |
418 | +\x06\x08\x13\x41\x55\x76\x1b\x00\x00\x03\xa6\x49\x44\x41\x54\x38\ |
419 | +\xcb\xad\x94\x4d\x4c\x1c\x65\x18\xc7\x7f\x33\x3b\xb3\xbb\xb3\xb3\ |
420 | +\xc0\x4e\xdb\xa5\xbb\x18\xa4\x14\x58\xbe\x02\x5d\xe1\xb0\x56\x9a\ |
421 | +\x78\xd0\x84\xa4\xa4\xbd\x6c\x8b\x37\x93\xc6\x83\x1a\x22\x12\x13\ |
422 | +\xfb\x61\xec\x45\x9b\x9a\x70\x30\x0d\x09\xf1\x80\x8d\xf5\x56\x4d\ |
423 | +\x38\x61\x8c\x26\x0d\xc6\xf8\x11\x89\x89\x69\x6a\x21\x0a\x48\x29\ |
424 | +\x01\x96\xec\x14\xc6\x05\x16\xd8\xd9\x9d\x19\x0f\xca\xca\xba\x20\ |
425 | +\x96\xf8\xbf\xbc\xc9\xfb\xbc\xcf\x2f\xcf\xfb\x3c\xef\xfb\x87\x7d\ |
426 | +\xf4\xed\x2d\x1c\x0e\x20\x69\xaf\xc0\x57\x37\x39\x22\xbb\xd0\x39\ |
427 | +\xa0\xc4\xdd\x36\xaf\x5e\x91\x35\xd9\x85\x1e\x8b\x0f\x1f\x94\x5b\ |
428 | +\x5c\xf1\xd5\x2b\xb2\xd6\x59\x9f\x5d\x89\xc5\x87\x21\x75\x39\xdf\ |
429 | +\x0e\x53\x38\xbc\x64\xd9\xe2\x12\xa2\x7b\xfc\xeb\x5f\xf5\x97\xaf\ |
430 | +\x5d\x37\xd3\xff\x06\x16\xf6\x82\x66\x57\xae\x21\x89\x06\x28\x71\ |
431 | +\x70\x72\x58\x96\x03\xd8\x99\xef\xbe\xbc\x3d\x2d\x8b\x08\x77\x26\ |
432 | +\x52\x9d\xef\xbe\x97\x9d\xdf\x17\xfc\x7a\xdf\x85\xd7\xce\x47\x3f\ |
433 | +\x1a\x88\xc5\x87\xc9\x2e\xbf\x83\x20\xba\x30\x33\x9b\x48\xb2\x9b\ |
434 | +\x5c\xd6\x64\x75\x75\x19\xc5\x7f\x0c\x5f\x69\x3b\x8f\x16\x7f\x61\ |
435 | +\xe2\xee\x14\x5f\xdc\xef\xc0\x76\x8e\xec\xe4\x5d\x1a\xb8\x31\xd8\ |
436 | +\x9f\x07\xf7\xf6\xf5\x84\xbb\xa3\x83\x8b\xdb\x50\x51\x74\xe5\x9f\ |
437 | +\x82\x6d\x5b\xe4\xb2\x26\x9b\x9b\xeb\x7f\xf7\xcf\x13\x26\xbd\xee\ |
438 | +\x23\xb1\x20\xd1\xf8\xec\x6d\x64\xd9\x07\xc0\xe5\xb7\xde\x64\xe0\ |
439 | +\xc6\xa0\xb0\x73\x78\xcd\xa3\xf3\x97\x18\x1b\x8e\x23\x97\x9c\x06\ |
440 | +\xc0\xb2\x4c\x1e\xcc\xdc\xe3\xe1\xec\x38\x0b\x0b\x53\x05\xd7\x5c\ |
441 | +\x33\xc6\x39\x14\x6a\xc2\x36\xa7\xb9\x3f\x7a\x8e\xb9\xf9\x39\xd2\ |
442 | +\xe9\x34\xc1\x60\x90\xde\xbe\x9e\xe8\xce\xe1\xd5\x84\xc3\xc7\x39\ |
443 | +\xf6\xfc\x34\x63\x23\xb5\xc4\xce\x5c\x64\x6e\xe2\x7d\xea\x5a\xde\ |
444 | +\xc0\xb6\xd6\x0a\xa0\xf6\xda\x87\x6c\x6e\xc8\x2c\xfc\x76\x93\xba\ |
445 | +\xe8\x2b\x8c\x8f\x7d\x86\xe2\x55\x00\xd0\x34\x0d\x5d\xd7\x23\xc0\ |
446 | +\xdd\x6d\xf0\xd9\xa7\x4e\xb4\xe1\x38\x1e\xaa\x9e\x9b\x62\x6c\xa4\ |
447 | +\x8e\xd8\x99\x8b\x00\xfc\xf8\xf9\x07\x85\x53\x51\x04\x9a\x9e\x7e\ |
448 | +\x95\xd4\xd2\xc7\x78\xbc\x26\x02\x39\x7c\xca\x9f\xad\xe8\x38\x79\ |
449 | +\x8a\xc9\xc9\xc9\x16\xe0\xd3\xed\x56\x9c\xae\xa8\x78\x02\x00\xaf\ |
450 | +\x37\xf0\x17\xbc\x3f\xcf\xaa\xef\xd2\xa9\xef\xd2\xa9\x3a\x35\xca\ |
451 | +\xd1\x86\x5b\xcc\xfc\xf4\x0d\xe5\x95\x2f\x62\xd9\x25\x60\x9b\xf9\ |
452 | +\x73\x95\x95\x55\x00\x6f\x03\x48\xbd\x7d\x3d\x51\x45\xf1\xe1\x76\ |
453 | +\xbb\xf1\xf9\x7c\xa4\xd3\x69\xbc\xde\x00\xf5\x5d\x3a\x63\x23\xc1\ |
454 | +\x82\x62\xbd\x65\x2d\x78\xcb\x5a\x50\x0f\xb5\xf1\xf3\xf7\x27\x68\ |
455 | +\xec\xb8\x8e\xe0\x6c\x01\xa0\xaa\x2a\x1b\x1b\x1b\x68\xda\x61\x7a\ |
456 | +\xfb\x7a\xa2\x22\x10\x39\x5a\x1e\x02\xc0\x30\x0c\x54\x55\x45\x55\ |
457 | +\x55\x44\x51\xa4\xbe\x6b\xf7\x1f\x2d\x7b\x43\xb8\x6c\x3f\x5b\x6b\ |
458 | +\xe3\x08\x4a\x15\xaa\xaa\x62\x18\x06\x00\x65\xa5\x65\x00\x11\x09\ |
459 | +\x68\x69\x6a\x6c\x26\x9b\xcd\x3a\x92\xe4\x12\x52\xa9\x14\xb6\x6d\ |
460 | +\xa3\x69\x1a\x00\x6d\xdd\x1b\x45\xe0\xcc\xfa\x03\x02\x15\x31\x0c\ |
461 | +\x7d\x91\xb2\x8a\x73\x18\x86\x81\x65\xe5\x58\x5f\xcf\x3a\x35\xc7\ |
462 | +\x6b\x84\xd9\x87\x33\x27\xa5\x4c\x26\xd3\x1a\x0a\x85\xf0\xfb\xfd\ |
463 | +\xc2\xea\xea\x6a\x3e\x79\xbb\x82\xdd\xb4\xb6\x78\x87\x40\x45\x27\ |
464 | +\x0b\xd3\x3f\x10\x6a\xbe\x80\x65\xe5\x40\x00\x4d\xd3\x84\xca\xca\ |
465 | +\x27\xd9\xda\xca\x94\x48\x1e\x8f\xe7\x6c\x24\x12\xc9\x3f\x97\xff\ |
466 | +\xa2\xdc\xef\x0a\x99\x4d\x1f\xb5\xed\xfd\xc8\x4a\x61\x4e\x43\x43\ |
467 | +\x03\x5e\xaf\xe7\x25\x09\x40\xd7\x75\x96\x97\x97\xf7\x04\x39\xce\ |
468 | +\x3f\x2d\xb9\x1d\x80\x47\xb3\x06\x8e\xb3\x52\x10\x09\x06\x83\x85\ |
469 | +\xee\x66\x9a\x26\xad\xad\xad\x0c\x0d\x0d\xe1\xf1\x78\x50\xfd\x3e\ |
470 | +\x4a\xfc\xa5\x88\xa2\x88\xa2\x28\x08\x82\x80\xa2\x28\xf8\xfd\x7e\ |
471 | +\x0c\xc3\xa0\xbc\xbc\x9c\x64\x32\x59\xb4\x6e\x83\x8b\xfc\xd8\xe5\ |
472 | +\x72\xe1\x38\x0e\xa2\xe0\x22\x93\xc9\x60\x9a\x26\x8e\xe3\x20\xcb\ |
473 | +\xf2\x2e\x95\x3f\x86\x1f\x37\x36\x36\xe0\x38\x20\x49\x85\x21\xb7\ |
474 | +\xdb\xfd\xf8\x46\x9f\x4c\x26\x9d\x70\x38\x2c\xe8\xba\x4e\x6d\x6d\ |
475 | +\xdd\xbe\x49\x81\x40\x00\x80\xea\xea\xea\xa2\x35\x91\x48\x38\x80\ |
476 | +\x20\x9c\x7f\x21\xde\x1d\x0e\x87\x3e\xe1\x7f\x54\x22\xb1\xf4\xcc\ |
477 | +\x1f\xdd\xc1\x60\x94\x84\x01\xca\x23\x00\x00\x00\x00\x49\x45\x4e\ |
478 | +\x44\xae\x42\x60\x82\ |
479 | \x00\x00\x04\x42\ |
480 | \x89\ |
481 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
482 | @@ -587,6 +845,48 @@ |
483 | \xa5\x00\x7d\xa4\x29\xe0\xd1\x68\xe6\x35\x40\x01\x3f\x81\x1f\xc0\ |
484 | \x57\xe0\x1b\xf0\x7d\xe4\x07\xa3\x7d\x7e\x01\x0e\xb4\xf5\xda\x0b\ |
485 | \x7d\x14\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
486 | +\x00\x00\x02\x76\ |
487 | +\x89\ |
488 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
489 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
490 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
491 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
492 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
493 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
494 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xf3\x49\x44\ |
495 | +\x41\x54\x38\x8d\xd5\xd5\xcf\x4b\xdb\x60\x18\xc0\xf1\x6f\x7e\xf4\ |
496 | +\x57\xd2\xd6\x0e\x67\x73\xb0\x0c\x9d\xd0\xad\xb8\x0e\x44\xaf\x05\ |
497 | +\x29\x78\x51\xff\x0f\x4f\xde\xbd\x85\xfc\x0b\xfe\x13\x1e\xbc\x79\ |
498 | +\xf6\x20\xd6\x4b\x11\x94\x11\x9d\x28\x6c\xa0\x07\xa1\xc1\x1f\xb4\ |
499 | +\xdd\x62\x6b\xda\x64\x87\x2a\x53\xfb\x76\x0b\x93\x1e\xf6\x9c\x92\ |
500 | +\x3c\x79\x3f\x3c\xbc\xef\x93\x27\x52\x10\x04\x0c\x23\xe4\xa1\xa8\ |
501 | +\xc3\x84\xd5\xc7\x0b\xcb\xb2\x6a\x40\xf6\x15\x96\x63\x9a\xa6\xf1\ |
502 | +\x78\xf3\xb4\xe2\xd7\xa0\x7d\xeb\xd5\x97\x59\xd3\x34\x43\x29\x7e\ |
503 | +\xbb\x8d\x24\x49\x48\xd1\x28\x96\x65\xf5\xe5\xfb\x60\x00\xc7\x71\ |
504 | +\x06\x82\xb2\x2c\x33\xa2\x69\xb8\xfb\xfb\x44\x0c\x83\xc4\xd4\x94\ |
505 | +\xf0\x3d\x21\x3c\x28\x24\x49\x62\x44\xd3\x68\xd9\x36\x5f\x17\x17\ |
506 | +\x51\x92\x49\x3e\x57\xab\xe2\x02\x44\x0f\xe3\xf1\x38\x19\x4d\x43\ |
507 | +\x51\x94\xe7\xa8\xae\xd3\x3e\x3b\xe3\x78\x61\x01\xdf\x75\xf1\x1c\ |
508 | +\x87\x6f\x2b\x2b\x21\x61\xdf\x27\x95\x48\x70\x7f\x7a\x4a\x2a\x1e\ |
509 | +\xef\xed\xe3\x43\xa5\x9d\xf3\x73\x8e\xcb\x65\xba\xcd\x26\x00\x89\ |
510 | +\x7c\x9e\x0f\x1b\x1b\xe1\xe0\x4e\xbd\x8e\x5d\x2a\x71\x54\x2e\xe3\ |
511 | +\x5f\x5f\x93\xd4\x34\xd2\xba\x8e\x5f\xab\x71\x34\x3f\x4f\xe7\xf6\ |
512 | +\x16\x80\xd8\xc4\x04\xc5\x4a\x05\x25\x9d\x0e\x07\x7f\x5f\x5d\xa5\ |
513 | +\x59\xad\xd2\x6d\x34\x38\x59\x5e\x26\xa6\xaa\x70\x73\x83\x5d\x2a\ |
514 | +\xe1\x3d\x1c\x6a\x34\x97\xa3\xb8\xb7\x47\x57\xd3\x90\x54\xf1\x31\ |
515 | +\xf5\xc1\xef\xd7\xd7\x89\x18\xbd\x3e\x77\x6d\x9b\x83\x7c\x9e\x2f\ |
516 | +\x33\x33\xdc\x5f\x5e\x02\x10\x31\x0c\x8a\x95\x0a\x41\x26\x43\xc3\ |
517 | +\x75\x85\xa8\x10\x96\x75\x9d\x8f\x9b\x9b\x20\xf7\x52\xed\x8b\x0b\ |
518 | +\xbc\xab\x2b\x00\xd4\xd1\x51\x8a\xbb\xbb\x48\x63\x63\x34\xff\x80\ |
519 | +\x8a\xe1\x58\x0c\x7d\x6e\x8e\x77\x2f\x9a\x5e\xcd\x64\xf8\xb4\xb3\ |
520 | +\x83\x32\x3e\x4e\xc3\x75\xf9\xdb\x54\x14\xb6\x5b\xa3\xd5\x22\xb7\ |
521 | +\xb6\xc6\x9b\xa5\x25\x00\x94\x54\x8a\xe9\xed\x6d\x22\x93\x93\xd4\ |
522 | +\x43\xa0\x30\xe0\x03\xf1\x3c\x8f\x1f\xae\x4b\x61\x6b\x8b\x9f\x87\ |
523 | +\x87\x24\x0a\x05\xfc\x20\xa0\x7e\x77\x17\x0a\x1d\x08\x67\xb3\xbf\ |
524 | +\xe7\x49\x72\x76\xb6\x57\x35\xf0\x56\xd7\x43\xa1\x42\x58\x34\x50\ |
525 | +\xfe\x25\x9e\xee\xf1\xe0\xc9\x13\x2e\x9e\xad\x97\xfe\xbb\x7f\xde\ |
526 | +\x2f\xf2\xee\xa2\xd5\xb2\x5f\x77\x9c\x00\x00\x00\x00\x49\x45\x4e\ |
527 | +\x44\xae\x42\x60\x82\ |
528 | \x00\x00\x03\xbb\ |
529 | \x89\ |
530 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
531 | @@ -710,6 +1010,48 @@ |
532 | \x9f\xb4\x9f\x53\xc5\x4d\xfe\xb0\x52\xbd\x02\xe4\x1f\x2d\x27\x87\ |
533 | \xbf\xf3\xe1\xd6\x34\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ |
534 | \x82\ |
535 | +\x00\x00\x02\x74\ |
536 | +\x89\ |
537 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
538 | +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\ |
539 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
540 | +\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\ |
541 | +\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
542 | +\xd5\x03\x0b\x0b\x08\x04\xdd\x67\x7b\x1d\x00\x00\x00\x3e\x74\x45\ |
543 | +\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x43\x72\x65\x61\x74\x65\ |
544 | +\x64\x20\x77\x69\x74\x68\x20\x54\x68\x65\x20\x47\x49\x4d\x50\x0a\ |
545 | +\x0a\x28\x63\x29\x20\x32\x30\x30\x33\x20\x4a\x61\x6b\x75\x62\x20\ |
546 | +\x27\x6a\x69\x6d\x6d\x61\x63\x27\x20\x53\x74\x65\x69\x6e\x65\x72\ |
547 | +\x27\x33\xef\x58\x00\x00\x01\xb7\x49\x44\x41\x54\x38\xcb\xb5\x94\ |
548 | +\x41\x6b\x1a\x41\x18\x86\x9f\x71\x45\x4a\x54\xf4\xd2\x45\x50\x4f\ |
549 | +\x1e\x2a\x88\x36\x67\x2f\x7b\xf4\x0f\xf4\x2f\xf8\x07\x4a\x49\x2b\ |
550 | +\x3d\x07\xd3\x50\xfa\x7f\x3c\x7a\xf1\x2c\x6a\xc1\x06\x44\x10\xbc\ |
551 | +\xa8\xe9\x6e\x8a\x61\x45\x9d\x9d\x1e\xd4\xe0\xc4\x35\xdd\xa2\xf9\ |
552 | +\xd8\xc3\xec\x37\xef\xfb\xce\x33\x03\x33\xf0\x4a\x25\x6e\x6e\xaf\ |
553 | +\xd5\xb9\x43\xbf\x5c\x7d\xbd\x08\x03\x7c\xfa\xf8\xf9\x6c\xa1\xdf\ |
554 | +\x7f\x7c\x03\xc8\x85\x77\x8d\xf9\x7c\x7e\x72\x68\x2c\x16\xdb\x0d\ |
555 | +\xdf\x84\xf7\x27\xea\xf5\x3a\x96\x65\xd1\x6c\x36\x35\x43\xa9\x54\ |
556 | +\xa2\xd3\xe9\x00\x50\xab\xd5\x00\x68\xb5\x5a\x98\xa6\x89\xe3\x38\ |
557 | +\xa4\x52\x29\x32\x99\x8c\xe6\x09\x3d\x5f\x75\x3f\xb4\x58\x2c\x6e\ |
558 | +\x44\xa1\x8d\x2c\x9d\x4e\x6b\xda\xc9\x64\xc2\x72\xb9\x64\x34\x1a\ |
559 | +\x1d\xd0\x87\x5e\xda\x5a\xb7\xdb\xc5\xb2\x2c\xda\xed\x36\x00\xe3\ |
560 | +\xf1\xf8\x40\x13\x89\x44\x88\xc7\xe3\x07\x7d\xed\x28\x76\xdb\x7c\ |
561 | +\x5e\xe5\x72\x39\x50\x2f\x30\xf1\x29\xa5\x11\x37\x1a\x0d\x5f\x51\ |
562 | +\xa5\x52\x39\x3a\xb7\xaf\x39\x1a\x0c\x90\xcb\xe5\xb4\xff\xc1\x60\ |
563 | +\xe0\x6b\xfc\x2f\x62\x80\xe9\x74\xea\x2b\x0c\x42\xac\x94\xf2\x0f\ |
564 | +\x76\x5d\xf7\xc0\xb0\x5a\xad\x02\x13\x7b\x9e\xe7\x1f\xbc\x58\x2c\ |
565 | +\xb4\x55\x01\xa4\x94\x81\x89\x8f\x1e\x85\xeb\xba\x4f\x41\xff\x32\ |
566 | +\x02\x08\x21\x00\x9e\x60\xd6\xeb\xb5\x1e\x2c\xa5\x64\x36\x9b\x61\ |
567 | +\x9a\x26\xc9\x64\x52\x33\xdb\xb6\xcd\xfd\xfd\x6f\xee\xee\x7e\xbd\ |
568 | +\x48\x5c\x28\x14\x48\x24\x12\x7a\xb0\xe3\x38\xd8\xb6\xcd\x70\x38\ |
569 | +\x44\x4a\x89\xe7\x79\x28\xa5\x30\x0c\x03\x21\x04\x97\xef\x2f\xc9\ |
570 | +\x66\xb3\x5b\x3a\x10\x42\xa1\x94\x80\xcd\x87\x52\xf0\xf0\xf0\x87\ |
571 | +\x68\x34\xaa\x07\xf7\xfb\x7d\xf2\xf9\x3c\xd5\x6a\xf5\xa4\x4b\xd1\ |
572 | +\xeb\xf5\x76\x43\x25\x80\x77\x37\xb7\xd7\xfd\x33\x3e\xf2\x1f\x80\ |
573 | +\x9f\x02\x30\x80\x24\xf0\x16\xb8\x38\xf1\x9a\x2b\xe0\x11\x98\x8a\ |
574 | +\x6d\xc3\xd8\x1e\x8b\x71\x06\x68\x09\xac\x5f\xeb\x0d\xe2\x2f\x4b\ |
575 | +\x5a\xa1\xe6\x54\xae\x32\x6e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ |
576 | +\x42\x60\x82\ |
577 | \x00\x00\x06\x54\ |
578 | \x89\ |
579 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
580 | @@ -1075,106 +1417,496 @@ |
581 | \xab\xf9\xa0\x9c\xa7\xf9\x6a\x87\x8a\xed\x56\x85\x1d\x66\x57\xcb\ |
582 | \x72\xb0\xff\x80\xf3\x30\x7b\xfc\x0b\xa7\x72\xca\x4d\xa2\xbf\x42\ |
583 | \x74\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
584 | -\x00\x00\x06\x11\ |
585 | -\x47\ |
586 | -\x49\x46\x38\x39\x61\x10\x00\x10\x00\xc4\x00\x00\xff\xff\xff\xee\ |
587 | -\xee\xee\xdd\xdd\xdd\xbb\xbb\xbb\xaa\xaa\xaa\x99\x99\x99\x88\x88\ |
588 | -\x88\x77\x77\x77\x66\x66\x66\x55\x55\x55\x44\x44\x44\x33\x33\x33\ |
589 | -\x22\x22\x22\x11\x11\x11\x00\x11\x00\x00\x00\x00\xff\xff\xff\x00\ |
590 | -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ |
591 | -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ |
592 | -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\xff\x0b\x4e\ |
593 | -\x45\x54\x53\x43\x41\x50\x45\x32\x2e\x30\x03\x01\x00\x00\x00\x21\ |
594 | -\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\ |
595 | -\x00\x05\x77\x20\x24\x42\x01\x89\x24\xe5\xa8\x42\x02\x23\x04\xcf\ |
596 | -\x23\x90\xab\x28\x3c\x4c\xe0\xc8\xc1\xac\x0a\x33\xc3\xc3\xb0\x03\ |
597 | -\xa6\x44\x01\xc5\x10\xe6\x48\x24\x5e\xb6\x94\x40\xe9\x18\xf8\x90\ |
598 | -\x50\x64\x80\xb0\xb8\x22\x55\x06\x85\xb3\x50\x23\x05\xce\x61\x85\ |
599 | -\x82\x5c\x3b\x9f\xcd\x83\xc3\x31\xaa\x0a\x18\x1a\x0a\x6f\xcf\x3a\ |
600 | -\x3a\x30\x0a\x76\x06\x40\x02\x04\x24\x7c\x2c\x33\x02\x0b\x03\x04\ |
601 | -\x05\x02\x82\x5f\x23\x01\x09\x07\x10\x05\x64\x02\x80\x35\x02\x07\ |
602 | -\x33\x97\x22\x03\x73\x35\x03\x03\x65\x21\x00\x21\xf9\x04\x05\x07\ |
603 | -\x00\x10\x00\x2c\x00\x00\x00\x00\x0f\x00\x10\x00\x00\x05\x63\x20\ |
604 | -\x24\x8e\xd0\x81\x88\x01\x39\x2a\x22\x23\x0a\x0d\xa1\x8a\x0b\xc4\ |
605 | -\x38\xf6\x33\xcc\x62\xc1\x34\x85\x07\x6b\x94\x00\x42\x1a\x0b\xd3\ |
606 | -\xe3\x91\x4a\x89\x12\x90\x85\x60\x34\x98\xf2\x86\x3c\x08\x01\x71\ |
607 | -\x38\xec\xb2\x90\x42\x02\x81\xf8\x82\x5f\x85\x99\x73\x44\x50\x40\ |
608 | -\x55\x01\x81\xd3\xa0\x90\x15\x64\xaf\xd7\x5a\x84\x10\x0c\x08\x01\ |
609 | -\x66\x2a\x07\x69\x7f\x22\x82\x28\x05\x29\x86\x10\x56\x59\x02\x8e\ |
610 | -\x23\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\ |
611 | -\x10\x00\x0f\x00\x00\x05\x60\x20\x24\x8e\x50\x61\x90\xa8\x88\x88\ |
612 | -\x0a\x13\x04\x4b\x2a\x3a\x09\xd4\x06\x75\x1a\x94\x10\xd1\x12\x23\ |
613 | -\xc1\x40\x74\x58\x00\x17\x0a\x83\x21\x26\x30\x3c\x1e\x02\x55\x23\ |
614 | -\x27\x12\x14\x9e\x8f\xe1\x68\x80\xd8\x6d\x1f\x27\xd1\x40\x59\x88\ |
615 | -\xa2\x5e\x68\xc2\x61\x2d\x6b\xf7\xdc\x28\x84\xc1\xeb\x2e\x1c\x86\ |
616 | -\x83\x01\x9a\x4e\xf2\x1a\x04\x80\x10\x02\x7c\x24\x05\x43\x81\x01\ |
617 | -\x66\x29\x40\x82\x66\x7c\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\ |
618 | -\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\x62\x20\x24\x8e\x62\ |
619 | -\x41\x9e\xe2\x11\x40\x89\x22\x26\x03\x0a\x2d\x07\xeb\x22\xe8\x2a\ |
620 | -\x36\x43\x1b\xe3\x01\x81\xc8\x80\x10\x2a\x0e\x85\x82\x2b\x60\x6a\ |
621 | -\xe8\x0e\x34\x88\x0e\x32\x60\xc8\x20\x35\x92\xb0\x18\x58\x15\x08\ |
622 | -\x04\x19\xa2\xd1\x70\xc0\x92\x05\xe1\x09\xf1\x68\x2f\x48\xb1\x93\ |
623 | -\x60\x2e\xd0\x09\x0c\xa6\xeb\x68\x90\x86\xcc\xf5\x52\x22\x01\x03\ |
624 | -\x5d\x53\x57\x03\x42\x5d\x80\x7e\x82\x86\x80\x8a\x28\x21\x00\x21\ |
625 | -\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x0e\x00\ |
626 | -\x00\x05\x49\x20\x24\x8e\xd0\x71\x90\xa8\x98\x88\xcf\xc3\xa6\xec\ |
627 | -\xda\x42\x0d\x2c\x1e\x6e\x5b\xd0\x68\xd2\x0c\x90\xc7\xc2\xe4\x2a\ |
628 | -\x05\x47\x89\xc7\x0a\x55\xdc\x91\x96\xa8\xc5\x48\x00\x29\x38\xa3\ |
629 | -\xad\x47\xcd\x74\x4a\xd5\x5e\x53\xd4\x40\x98\xba\x8e\xc6\x2d\x2a\ |
630 | -\x44\x6d\xcb\xa6\xd8\xa4\x01\x54\x04\x87\x85\x00\x00\x21\xf9\x04\ |
631 | -\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\ |
632 | -\x71\x20\x24\x8e\xd0\x30\x90\x28\x14\x10\xa2\x71\x88\x87\x90\x06\ |
633 | -\x07\x6b\x18\x90\xc1\xc8\xa9\x80\x08\x37\x41\x03\x47\x1a\x10\x64\ |
634 | -\x86\x82\xe9\xb0\x28\x31\x14\xa2\xc0\xc0\x30\x08\x8c\x02\x82\x04\ |
635 | -\x64\xc1\x13\x09\x58\xa4\x80\xa2\x60\x55\x09\xce\x65\x52\x21\x91\ |
636 | -\x50\x18\xce\xe8\x54\x81\xc1\x68\x20\xc2\x28\xc1\xa2\x80\xc2\x76\ |
637 | -\x21\x5f\x22\x50\x51\x02\x56\x01\x65\x0d\x0f\x59\x10\x0d\x69\x29\ |
638 | -\x04\x0f\x5a\x10\x60\x78\x23\x0c\x0f\x27\x33\x79\x0f\x7c\x29\x9e\ |
639 | -\x8e\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\ |
640 | -\x10\x00\x10\x00\x00\x05\x60\x20\x24\x8e\x90\x20\x90\xa8\x38\x88\ |
641 | -\x45\xc1\xa6\xec\x49\xb8\x85\x02\x8b\x46\x30\x43\x0a\x81\x9a\x01\ |
642 | -\xdd\xc0\x54\x40\x88\x14\x46\x91\x60\x98\x42\x34\x12\xa8\xc0\x09\ |
643 | -\x85\xf0\x89\x82\x41\x18\x01\x81\x80\x62\x03\x5a\xc5\x62\x71\xb8\ |
644 | -\x8d\x12\x04\xac\x19\xb2\x82\x20\xc0\xb0\x03\x82\x01\x09\x18\x17\ |
645 | -\xb7\xc6\xc3\x00\x29\x2f\x61\x01\x7a\x53\x53\x80\x0e\x0f\x26\x0e\ |
646 | -\x56\x80\x09\x0b\x70\x24\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\ |
647 | -\x2c\x00\x00\x01\x00\x10\x00\x0f\x00\x00\x05\x5e\x20\x24\x42\x82\ |
648 | -\x38\x0c\x22\x31\xae\x10\xda\xa2\x03\xc2\xae\x30\x8a\xb8\x81\x98\ |
649 | -\x8b\x42\x09\x11\x07\x52\xc2\x30\x0a\x08\x76\xab\xc3\x22\xc8\x42\ |
650 | -\x8e\x0c\xae\xd9\x6c\x70\xa8\xaa\xa4\xa3\x58\x62\x88\xd5\xdd\xa4\ |
651 | -\x46\x9f\x91\x01\x61\xb2\x1e\x0f\x83\x41\x41\x26\x2a\x58\x86\xc7\ |
652 | -\x81\xc1\x28\x40\x88\x33\x01\xba\xd4\x08\x2c\xb0\x04\x0f\x28\x0d\ |
653 | -\x7d\x10\x0c\x51\x2b\x3e\x10\x09\x52\x21\x00\x21\xf9\x04\x05\x07\ |
654 | -\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\x63\x20\ |
655 | -\x24\x8e\x50\x10\x90\xa8\x78\x42\x82\x20\x0e\x2b\x2a\x9c\x2d\x5b\ |
656 | -\xc4\x64\xe0\xb6\x81\xe1\xa2\x2b\x93\x69\x40\x10\x19\x0a\x29\x60\ |
657 | -\x01\x81\x4c\xa2\x0a\x3f\x27\x49\x60\xa8\x4a\x47\x82\x83\xb6\xf8\ |
658 | -\x62\x0c\x50\xbe\xa9\xe2\xf1\x68\x8e\x14\x0d\x83\xca\xf1\x58\xb8\ |
659 | -\x18\x05\x02\x42\x01\x29\x30\x10\xa2\xc2\xd7\xb8\x58\x14\x9b\x51\ |
660 | -\x23\x0c\x01\x7d\x10\x09\x0e\x4e\x0e\x6f\x0b\x22\x74\x49\x2b\x5a\ |
661 | -\x49\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x01\x00\ |
662 | -\x10\x00\x0f\x00\x00\x05\x5c\x20\x24\x8e\x50\x60\x06\x02\xa9\x8a\ |
663 | -\xa6\x38\xac\xea\xf9\xae\xa9\x2a\xd4\xc5\x0c\x8f\x84\x31\x04\xb6\ |
664 | -\x95\x0e\x82\x68\x18\x11\x30\x82\x72\xb0\x78\x38\x15\xb0\x42\xc1\ |
665 | -\x87\x12\x14\x1a\xb5\x51\x61\x07\xf9\x8d\x02\x88\xc5\x56\xc4\x20\ |
666 | -\x06\x18\x0a\xa5\x21\xd1\x4d\x1c\x44\x84\x6c\x21\xa1\x18\x34\x08\ |
667 | -\x25\xd8\x02\x42\x87\x1c\xf6\x42\x65\x10\x0a\x50\x44\x59\x30\x06\ |
668 | -\x06\x30\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x01\ |
669 | -\x00\x10\x00\x0f\x00\x00\x05\x5d\x20\x24\x8e\x24\x14\x94\xe8\x18\ |
670 | -\x08\xa5\xc0\xa2\xc2\x49\x3e\x8f\x51\xca\xc1\xf0\x0e\xf4\xf3\x8e\ |
671 | -\x02\x5d\xe9\xf0\x20\xb4\x64\x22\x86\x32\x05\x19\x38\x05\x09\x47\ |
672 | -\xa3\x71\x48\x39\x09\xaf\x00\x41\x81\x32\x96\x12\xa2\x9f\xc8\x80\ |
673 | -\xf0\x42\x16\x90\xaa\x22\xe1\x2c\x20\x44\x87\x82\x48\x28\x27\x1c\ |
674 | -\x10\x02\x34\xb3\xc1\xbd\x43\x0a\x5c\x30\x81\x08\x60\x01\x55\x4c\ |
675 | -\x22\x05\x72\x28\x21\x00\x21\xf9\x04\x09\x07\x00\x10\x00\x2c\x00\ |
676 | -\x00\x00\x00\x10\x00\x10\x00\x00\x05\x64\x20\x24\x8e\x64\x49\x0e\ |
677 | -\x8d\x60\xae\xc3\xc3\xac\x6b\xf2\x10\xb0\xf8\x42\xc2\xf3\x98\x42\ |
678 | -\x20\x0a\xb7\x02\x6d\x14\xe8\x95\x0a\x8e\x41\xc9\x37\x32\x2c\x14\ |
679 | -\x0a\x83\xa9\x28\x50\x1d\x18\x58\xe9\xb2\xaa\x82\xf8\x06\x09\x93\ |
680 | -\x92\x14\x38\x40\x52\x25\x82\x61\x0c\x09\x4b\x11\x87\x2a\xa1\x80\ |
681 | -\x13\xfe\x44\xa8\x81\xc1\x8c\xe8\x32\x45\x01\x0b\x08\x10\x7b\x10\ |
682 | -\x04\x07\x7f\x24\x83\x84\x66\x10\x74\x35\x86\x43\x25\x21\x00\x3b\ |
683 | +\x00\x00\x02\xd0\ |
684 | +\x89\ |
685 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
686 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
687 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
688 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
689 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
690 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
691 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x4d\x49\x44\ |
692 | +\x41\x54\x38\x8d\x8d\x92\x4b\x48\x94\x61\x14\x86\x9f\x6f\xfc\xe7\ |
693 | +\xf2\x8f\x3a\x9a\x58\x86\x89\x83\xe5\x05\x5a\x68\x57\x49\x14\xac\ |
694 | +\x55\x60\x41\x0c\x26\x15\x51\x66\x41\x04\x95\x15\xe1\xa6\x84\x5c\ |
695 | +\xe5\x22\x82\x88\x16\x09\x85\xb4\xa8\x28\x89\x68\x19\x59\x79\x6d\ |
696 | +\x53\xd6\x30\x86\x56\x0c\x53\x44\x03\xe9\xd4\x28\x73\xfb\x67\xfe\ |
697 | +\xb9\x7c\x2d\x06\x27\x94\x19\xf0\xdd\x1d\xce\x77\x9e\xf3\x7e\xe7\ |
698 | +\x1c\xf1\x74\xe8\xc9\xb5\xf1\x89\xb1\x3e\x56\x48\xd7\x75\x00\x0e\ |
699 | +\x1f\x3a\x72\x66\x77\xeb\x9e\x81\x95\xf9\x25\x29\xe3\x13\x63\x7d\ |
700 | +\x5d\x9d\xa7\xb2\x26\xa3\x51\x8d\xfb\x83\xf7\xee\x1a\x15\x63\xa0\ |
701 | +\xb9\xb9\xe5\x71\xb6\x37\xe2\xfc\x85\xb3\xb2\xdd\x71\x90\x99\xd9\ |
702 | +\x99\x5c\x4d\x78\x3b\xf2\x66\x59\xbc\xaf\x6d\xff\xad\xce\xe3\x27\ |
703 | +\x2e\x01\x28\x00\xaa\x6a\xa5\xb8\x68\x4d\x4e\x80\xe3\x40\x7b\xba\ |
704 | +\x9b\x10\x08\x21\x78\xf6\x7c\xe8\x62\x06\xa0\xeb\x3a\x9a\x16\xe1\ |
705 | +\xd5\xe7\x10\xd3\x3e\x6b\x4e\xc8\x32\xd9\x1c\xec\x3c\xfd\x50\xd6\ |
706 | +\x57\x9a\xbf\x66\x1c\x4c\xfb\xac\xdc\xbe\xbc\x97\xa8\x9e\x5c\x15\ |
707 | +\xc3\x62\xca\xa3\xfb\xe6\xcb\x3a\x05\x40\xd3\x22\x00\xfc\x5e\x88\ |
708 | +\xe2\x99\x0f\xaf\x0a\xb0\x71\x5d\x3e\x00\x4a\x34\x1a\x45\x55\x73\ |
709 | +\x5b\x4f\xa5\x24\xa3\x93\x6e\xa6\x9c\x5e\x02\x81\x10\x36\x5b\x01\ |
710 | +\xdb\xb7\x6c\xc0\xee\x68\x48\x03\x22\x91\x48\xc6\x41\xb6\xe2\x81\ |
711 | +\xc1\x49\x8c\x96\x42\x1a\x76\x35\x21\x14\x33\xbe\xbf\x41\x3e\xce\ |
712 | +\x7c\xc1\xe3\x79\x8d\xb5\xc4\x88\x61\x69\x06\xd9\x34\x3a\xe9\x4e\ |
713 | +\x17\x37\x36\x52\x6b\x2f\xe1\xc5\xd5\x5a\x6a\xab\x4a\xb1\xda\xb7\ |
714 | +\x31\x1f\x14\xf8\xe6\x42\x69\x40\x2e\x07\x53\x4e\x2f\x95\x35\x75\ |
715 | +\xac\xb5\x29\xd4\x94\x9b\x31\x29\x82\xcd\x15\x2a\x95\xa5\x46\xc2\ |
716 | +\x6a\x15\x0b\xfe\xd8\xff\x3b\x30\x1a\x52\x48\x40\x4a\x89\x10\x02\ |
717 | +\x29\x25\x81\x40\x08\x14\x0b\xfd\xc7\xca\x29\xb0\x18\x00\xe8\xed\ |
718 | +\x28\xe3\x5c\x5b\x29\x25\x47\x17\x10\x31\x9d\xcc\x16\xec\x45\x31\ |
719 | +\xfc\x21\x1d\xaf\x5f\x03\x29\x48\x21\xb1\x16\x58\xf1\xfd\x09\x72\ |
720 | +\xf2\xce\x4f\xea\xed\x16\x7a\x3b\xd6\xd3\xf3\xc0\xcb\xb0\x2b\x88\ |
721 | +\x88\x47\x50\xcc\xa6\xf4\x17\xe6\x7c\xf3\x6c\x6d\x6a\xc1\xf9\x63\ |
722 | +\x91\x78\x42\xa2\x27\x53\xc4\x13\x92\xea\xea\x32\xbc\x9e\x59\xde\ |
723 | +\xbb\xc3\x0c\xbb\x82\x2c\x86\x93\x0c\xbb\x82\x38\xbf\x6b\x98\x83\ |
724 | +\x6e\xea\xab\xcc\x9f\x44\x77\xff\xa3\x91\x77\x9e\x54\x6b\xb6\x19\ |
725 | +\x48\x09\x9e\x6f\x7e\x12\x86\x7c\x62\x85\x9b\x88\x1b\x54\x44\x3c\ |
726 | +\x82\x29\xe0\xa6\xd8\x18\x0e\x2f\x06\xf4\x62\x21\xa5\xcc\x79\x03\ |
727 | +\x00\xea\x8e\x1b\x0a\x22\xef\x0a\x42\x74\x91\x4a\x56\x60\xc8\xfb\ |
728 | +\x85\x94\x83\xc8\xe4\x75\xed\x43\x4f\xe2\x1f\x46\x03\xef\x1d\x6f\ |
729 | +\x58\xa2\x9f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
730 | +\x00\x00\x01\xbb\ |
731 | +\x89\ |
732 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
733 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
734 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
735 | +\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\ |
736 | +\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
737 | +\xd5\x0b\x04\x15\x33\x13\x1c\xad\xc4\x0f\x00\x00\x01\x48\x49\x44\ |
738 | +\x41\x54\x38\xcb\xa5\x93\x41\x4b\x02\x51\x10\xc7\x7f\x6f\x77\xf5\ |
739 | +\x4b\x78\x94\x95\xee\x11\xf4\x01\x22\xea\x2c\x11\x14\xde\xed\x14\ |
740 | +\x41\x41\x87\x50\x12\x6f\x7d\x80\x24\xba\x45\xa2\x29\x5d\x83\xbe\ |
741 | +\x41\xd4\x35\xe8\xb2\xc4\x26\xa2\x6c\x0a\xa5\x54\x76\xd8\x9d\x0e\ |
742 | +\xae\xaf\xc4\x24\xb5\xb9\xbc\x99\xc7\xfb\xff\xe6\xcd\x7b\x33\xf0\ |
743 | +\x4f\x53\x00\xb9\x7c\xb6\x0a\x24\xa7\xd4\x16\x32\x07\x87\x5b\x56\ |
744 | +\x18\x24\x97\x97\x56\xb0\xed\xc4\x44\xca\x76\xbb\x45\xe9\xa2\x98\ |
745 | +\x06\x34\x00\xdb\x4e\xb0\xba\x79\x34\x11\xe0\xba\xb4\xaf\x7d\x0d\ |
746 | +\x88\x46\xa3\x00\x2c\x2e\xcc\x21\x63\x6a\x15\xe0\xe6\xf6\x61\x68\ |
747 | +\x5f\x03\x7c\xdf\x07\xc0\xb0\x4c\x90\xfe\x61\xa5\xc2\x15\x41\x50\ |
748 | +\x78\xde\xcb\x08\x58\x03\x82\x20\xe8\x03\x0c\x13\x94\xfc\xc8\xa9\ |
749 | +\x00\x78\x7c\xf2\x78\xed\xf6\x00\x10\x91\x51\xc0\xc0\x4c\xcb\x0c\ |
750 | +\x3d\xa1\xf9\xdc\xe1\xfd\xe3\x93\xee\x5b\x0f\x50\x58\x11\xeb\x6f\ |
751 | +\x80\x61\x1a\x78\xed\x0e\xcd\x56\x07\x44\x85\xd0\x08\x20\x28\xc5\ |
752 | +\xf8\x12\x06\xd4\x7b\xa7\x39\x24\xfa\x7e\x40\xa5\xe3\x5f\x6f\x30\ |
753 | +\xf8\x05\xcf\xad\x4f\xd5\x4d\x1a\x50\xab\xd5\xb8\x3a\xdf\x9b\x48\ |
754 | +\xd4\x68\x34\x46\x00\x85\xea\x65\x39\x3d\x65\x2b\x67\x00\x54\x2e\ |
755 | +\x9f\x9d\x07\xee\x76\xb6\x77\xf1\x7d\x1f\xd7\x75\x89\xc5\x62\x43\ |
756 | +\x75\x02\x38\x8e\xa3\x7b\x25\x1e\x8f\x73\x72\x7a\x0c\x90\x52\xb9\ |
757 | +\x7c\x56\xd6\xd7\x36\x66\x9a\xc4\x72\xa5\x88\x05\xa4\xca\x95\xe2\ |
758 | +\xd9\x8c\xd3\x9c\xfa\x02\xfc\xc1\x78\x3b\xf4\x23\x18\xf8\x00\x00\ |
759 | +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
760 | +\x00\x00\x01\xf2\ |
761 | +\x89\ |
762 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
763 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
764 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
765 | +\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
766 | +\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
767 | +\xd5\x0b\x0a\x12\x39\x0d\xf9\xdd\x70\x50\x00\x00\x01\x7f\x49\x44\ |
768 | +\x41\x54\x38\xcb\xa5\x91\x4d\x88\x52\x51\x18\x86\x9f\x63\x2a\xfe\ |
769 | +\x40\xa6\x8b\x10\x5a\x04\x41\xb4\x0e\x82\x99\x20\x9a\xe5\x2c\xe3\ |
770 | +\x62\x11\xb4\xa9\x88\x20\x88\xfe\x98\xdd\x6c\x66\xb6\xb3\x08\xa2\ |
771 | +\x5d\x50\x33\xce\x2a\x44\xa4\x65\x49\x50\xb6\x6c\x17\x18\x46\x9b\ |
772 | +\x88\x22\x28\x05\x0b\xb1\x7b\x8f\x47\xcf\xfd\x66\x71\xed\x0a\xe2\ |
773 | +\x05\xcd\x97\x0f\x0e\x9c\xc3\xf7\xbc\x2f\xef\x51\x97\x2e\x97\xb6\ |
774 | +\x8a\xc5\xe2\x36\x53\x32\xc6\x04\xe7\xc0\xdc\xda\xdb\xdd\x7f\x42\ |
775 | +\x84\xd4\x9d\x7b\xb7\xe5\xfa\xd5\x1b\x33\x1f\xb5\xf6\x78\xb6\xf7\ |
776 | +\x94\x5e\xaf\x77\xa5\x5a\xa9\x3d\x8f\x04\x94\x9c\x8b\xb4\x3e\xb5\ |
777 | +\xa2\x4c\x78\xdb\x78\x33\x7d\xf5\xa8\x5a\xa9\x3d\x00\x88\x03\xa4\ |
778 | +\xd3\x19\x8e\xe4\xf2\x91\x00\xe7\x42\x29\x70\x53\x0a\xa5\x14\xb5\ |
779 | +\x17\xd5\xfb\x40\x00\x30\xc6\xe0\x79\x2e\xaf\x3f\xf6\x69\x76\x32\ |
780 | +\xcc\xa5\xc3\x0e\x67\x6e\x3a\x52\x48\xe9\xcf\x61\x82\x66\x27\xc3\ |
781 | +\xe3\x8d\x75\xb4\xb1\x73\x31\x52\xc9\x43\xdc\x7d\x58\x3f\x15\x07\ |
782 | +\xf0\x3c\x17\x80\x9f\xbf\x35\x5f\xda\x7f\xe7\x02\x9c\x38\x9a\x05\ |
783 | +\x20\xa6\xb5\x26\x9d\x9e\x33\xfa\x0c\xc5\x5c\xd7\x0d\x13\xfc\x17\ |
784 | +\xe0\x5f\x07\x4b\x01\x16\x4d\x60\xad\x8f\x1e\x06\x65\x87\xbf\x90\ |
785 | +\x88\xf9\x08\x20\x22\x28\xa5\x10\x11\x44\xc0\x17\xc1\x5a\x61\x68\ |
786 | +\x7d\xcc\x48\x18\x8c\x2c\x43\x2b\xe4\xb2\xc9\x09\xc0\xf3\x5c\x8e\ |
787 | +\xe7\x06\x74\xfb\x86\x1f\x5d\x0f\x44\xe1\x23\x8c\x07\x11\x10\x04\ |
788 | +\x91\x31\x18\x18\x59\x99\x00\x7e\x75\xda\x9c\x3e\x7b\x8e\x0f\x5f\ |
789 | +\xff\x8c\x97\x02\x77\x11\xf0\x11\x04\x05\x22\x61\xaa\x95\x93\x05\ |
790 | +\xea\x2f\x5f\x91\xd7\xdf\xcb\xea\xfc\xb5\x9d\x86\x9b\x38\xb6\xb6\ |
791 | +\x68\x79\xd9\xe1\xb7\xf7\xef\xca\x9b\xab\x2c\xab\x03\xc2\x87\xb4\ |
792 | +\xca\xa7\xb0\xe2\xf8\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ |
793 | +\x82\ |
794 | +\x00\x00\x01\x56\ |
795 | +\x89\ |
796 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
797 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
798 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
799 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
800 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
801 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
802 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x00\xd3\x49\x44\ |
803 | +\x41\x54\x38\x8d\x9d\x53\x39\x0e\x84\x30\x0c\x9c\x58\xe4\x0b\xb0\ |
804 | +\x25\xdf\x40\xbc\x1f\x21\x3a\x1a\xfe\xb0\xbc\x00\x82\x1c\x7b\x2b\ |
805 | +\x10\x21\xe1\xda\x69\xa2\x8c\x33\xe3\x23\xb2\x51\x55\xb4\x6d\xfb\ |
806 | +\x15\x91\x02\x2f\x40\x44\x63\x55\x55\x9f\x0c\x00\x44\xa4\xa8\xeb\ |
807 | +\xfa\x8d\x1e\x4d\xd3\x14\x00\x90\xed\x49\x55\xbd\x14\xad\x71\x22\ |
808 | +\xda\xb8\x2c\xf5\xd0\x18\x93\x14\x1a\x63\xa2\x24\x84\x1b\x1c\x05\ |
809 | +\xc7\x7b\xd4\x42\x2a\xcb\x99\xf8\x51\x05\x47\x30\xf3\xff\x06\xcc\ |
810 | +\x8c\x65\x59\x02\x2e\xf9\x0b\xfb\x21\xae\x9c\xaa\xc2\x7b\x1f\x19\ |
811 | +\x04\x15\x30\x33\xfa\xbe\x87\xaa\x42\x55\x21\x22\xdb\x29\x22\x18\ |
812 | +\x86\x01\xde\xfb\xf3\x0a\xe6\x79\xc6\x34\x4d\x10\x91\x28\x3b\x00\ |
813 | +\x38\xe7\xa2\xb6\x02\x03\xe7\x1c\xac\xb5\xe8\xba\x2e\x35\x02\x58\ |
814 | +\x6b\xaf\x0d\x00\xa0\x2c\xcb\xa4\xf8\x0c\x81\x41\x9e\xe7\xaf\xc4\ |
815 | +\x9b\x01\x11\x8d\xeb\x72\x3c\x05\x11\x8d\x00\x60\xee\x16\xe8\x0e\ |
816 | +\x3f\x66\x9a\x7f\xb3\x7a\xd3\x63\xe4\x00\x00\x00\x00\x49\x45\x4e\ |
817 | +\x44\xae\x42\x60\x82\ |
818 | +\x00\x00\x02\xab\ |
819 | +\x89\ |
820 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
821 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
822 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
823 | +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ |
824 | +\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\ |
825 | +\x67\x9b\xee\x3c\x1a\x00\x00\x02\x3d\x49\x44\x41\x54\x38\x8d\x85\ |
826 | +\x93\x4d\x68\x13\x41\x18\x86\xdf\x99\xec\xe6\x0f\x6b\xc0\x60\xd2\ |
827 | +\x43\xfc\xc1\xaa\xf5\x22\x1a\x8f\x49\xb4\xe0\xc1\x8b\xf1\x22\x14\ |
828 | +\x2f\x1e\x2a\xe2\x41\x14\xea\xa1\x55\xf1\x2a\x08\xd2\x15\x3c\xa9\ |
829 | +\x50\x84\x9c\x14\x21\xa2\x52\x53\x5b\x72\xb1\xd6\x55\x08\xb5\x2d\ |
830 | +\x14\x7b\xa8\x55\xb4\x54\xcd\x9a\xae\xfd\x0b\xe9\x26\xb3\xb3\x9f\ |
831 | +\x87\xd6\x1a\x9b\x18\xdf\xe3\x37\xdf\x3c\xf3\xbe\xf3\xcd\x30\x22\ |
832 | +\x42\xb5\xe2\xdd\x6a\x1e\x84\x30\xea\x89\xc1\xd0\x7b\x44\x73\x75\ |
833 | +\x49\xa9\x69\x22\x84\x6f\x5d\x48\xc3\x76\x04\x6c\x47\x60\xc9\x2a\ |
834 | +\x60\xc9\x32\x01\x00\x77\x1f\xdd\xa8\x01\xd7\x02\x00\x30\xc6\x90\ |
835 | +\x9b\x79\x8e\xb2\x5d\x42\xa1\x38\x83\x8f\x73\x63\x68\x3f\x78\xb5\ |
836 | +\xae\x29\x5e\xaf\x58\x1d\xca\xa3\xf8\xeb\x6e\x6c\x08\x00\x11\x88\ |
837 | +\x1c\x10\x11\x14\xee\x6e\x08\x50\x12\x97\x55\x9d\x1c\xc4\xd6\xed\ |
838 | +\xbb\x60\x39\x24\xbd\x92\x6c\x48\xb2\xb1\x5c\x36\x51\xbd\x16\xef\ |
839 | +\x52\xd7\x0d\x32\x8e\x37\x0a\x39\x48\x45\x42\x2d\xd1\x8b\x27\xaf\ |
840 | +\xfb\x14\x97\x0a\x22\xc7\x2b\x49\x82\x98\x04\xb8\x44\x51\x16\xa0\ |
841 | +\x7a\x39\xb8\xc2\x70\xfe\xd4\x35\x2f\x08\x10\xa2\x82\x74\x36\x55\ |
842 | +\x9a\x5f\x9c\x4b\x31\x22\x42\xa2\x5b\x4d\xb7\x45\x8f\x27\x8f\x44\ |
843 | +\x93\x9e\xf7\xf9\x57\x90\x5c\x40\xa2\x8c\x15\x7b\x11\xd3\xf3\x39\ |
844 | +\x10\x68\x2d\x16\x47\xdb\xf6\xd3\x18\x9d\x18\x29\x4f\x4e\x8d\xf7\ |
845 | +\xbd\xee\x11\xed\x7c\x2d\x72\xc7\xcb\xb1\x8c\xf1\xc5\x98\xa2\x48\ |
846 | +\x70\x2f\x88\x57\x00\x97\x8d\x42\x65\x1a\xaa\x8f\xc1\xed\xe3\x50\ |
847 | +\x7d\x2e\x44\x23\x47\x61\x2e\x98\x34\xf9\x61\xdc\x20\xc2\x99\xf5\ |
848 | +\x4b\xd4\x35\x51\x04\x21\xf9\x70\xf0\x9e\xe5\xe5\x4d\x08\xf8\x83\ |
849 | +\x28\xd1\x4f\x94\x5d\x8b\x70\x7b\x39\xdc\x3e\x17\xb6\x6d\xd9\x83\ |
850 | +\x90\xaf\x05\xd9\xa1\x8c\x45\x0e\x92\xba\x26\x8a\x7f\x4d\x41\xd7\ |
851 | +\xc4\x44\x45\xac\x74\x3e\x18\xbc\x53\xda\x11\x38\x00\x9b\x95\xa0\ |
852 | +\x7a\x56\x4f\xde\xbc\x29\x80\xfd\xa1\x63\xe8\xcb\x3e\x2e\x09\x51\ |
853 | +\xe9\xd4\x35\x31\x51\x77\x8c\xba\x26\x7a\x67\x8d\x4f\x2f\x86\xc7\ |
854 | +\x06\x44\x6b\x30\x01\xae\x30\x28\x6e\x8e\x43\xe1\x13\xc8\xbd\x7b\ |
855 | +\x5b\xf9\x61\x7e\xeb\xd7\x35\xd1\xdb\xf0\x1d\x90\x83\x8e\xa1\x91\ |
856 | +\x81\xef\xa6\xb1\x40\xbb\x9b\x62\xd8\xe5\x8f\xc1\xfc\xba\x4c\xb9\ |
857 | +\x51\x3d\xef\xc8\xd5\xdc\x0d\x01\xba\x26\x8a\x24\x91\xcc\x64\x9f\ |
858 | +\x59\x5b\xb1\x0f\x41\xa7\x15\x4f\xfb\x9f\x58\x8e\xfc\x93\xbb\x5a\ |
859 | +\x6c\xe3\x6f\xfc\xad\x78\x97\x7a\x2e\xd2\xbc\xf3\x36\x00\xcc\xe6\ |
860 | +\x3f\x5f\xda\x68\xfd\xbf\x00\x00\x38\x7c\x45\xbd\x0f\x00\xc3\x37\ |
861 | +\xc5\xd9\x7f\xf5\xfc\x02\x73\x4a\x12\x2a\x86\x68\x1c\xcb\x00\x00\ |
862 | +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
863 | +\x00\x00\x02\x7d\ |
864 | +\x89\ |
865 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
866 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
867 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
868 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
869 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
870 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
871 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xfa\x49\x44\ |
872 | +\x41\x54\x38\x8d\x95\x91\xbd\x6b\x53\x51\x18\xc6\x7f\xe7\xde\x24\ |
873 | +\x8d\x49\x4c\x6e\x22\x42\x41\x02\xd6\x4a\xbe\x44\x44\x5c\xaa\x83\ |
874 | +\x20\xc5\x41\x1c\x4d\x51\x27\x97\x4e\x0e\x0e\x82\x53\x07\x09\x45\ |
875 | +\xa1\x83\xf8\x07\x28\xb4\x0a\x2e\x1a\x50\x68\x16\x03\x5a\x10\x35\ |
876 | +\xa2\x64\xe9\xa2\x49\x90\x88\xc5\x8f\xb4\xc4\x04\x73\xc1\xe4\x26\ |
877 | +\xf7\x1c\x17\x13\x72\x9b\x50\xec\x03\x07\xce\xcb\x39\xcf\xf3\xfe\ |
878 | +\x5e\x5e\x91\xcf\xe7\xb3\x85\x42\xe1\x02\xbb\x50\x3a\x9d\xbe\x98\ |
879 | +\x4a\xa5\x1e\x03\x90\xc9\x64\xd4\x6e\xf5\xcf\x83\x52\x0a\x57\x3f\ |
880 | +\xb5\x5e\xaf\x23\xa5\x04\x40\x08\x31\xe8\xd6\xbf\x0b\x21\xd0\x75\ |
881 | +\x9d\x50\x28\xe4\xa0\x19\x04\x48\x29\x29\x97\xcb\x0e\xc3\xb0\x84\ |
882 | +\x10\x24\x93\xc9\x91\x71\x5c\xc3\x45\x3c\x1e\xdf\x91\x60\x9c\x5c\ |
883 | +\xc3\x1f\x87\x09\xb6\xeb\xbf\x08\x62\xb1\xd8\x98\x8e\x6d\x94\x9a\ |
884 | +\x40\xd3\x34\xa4\x92\x3b\x07\x54\x2a\x15\xc7\x63\x22\x91\xc0\xea\ |
885 | +\xe9\x2c\xad\x2e\xf2\xe4\xdd\x53\x6a\x8d\x4d\x26\xf7\x4d\x72\x48\ |
886 | +\x9f\x62\x31\x7d\xdb\xd3\xcd\xb6\x2d\xc7\x08\xdb\x09\xac\x5e\x97\ |
887 | +\xd9\x5b\x67\xd1\x82\x70\xfc\xcc\x11\x84\x27\xc5\x66\x63\x8b\xd2\ |
888 | +\xfa\x47\xd0\x29\xba\xd3\xde\x13\x0e\x82\x72\xb9\xec\x98\xf9\xde\ |
889 | +\x9b\xfb\x28\x9f\xcd\xb1\x99\xa3\x98\x56\x8b\x96\x65\x22\xbd\x3d\ |
890 | +\xa6\x67\xa2\x98\xaf\xcc\x83\xed\x5f\xdd\x85\x91\x2d\x0c\x13\xbc\ |
891 | +\x7c\xb8\x46\xea\xd4\x61\x5a\x9d\xdf\xb4\xba\x2d\x4c\xab\x85\xdf\ |
892 | +\x1d\x60\x2e\x7e\x89\xf5\xea\x8d\x00\x4d\x2e\x6b\xc3\x1d\x4b\xa5\ |
893 | +\x92\xe3\xfc\xa8\xff\xc4\xef\xf3\xb3\x70\xf2\x26\x28\xd8\xeb\x09\ |
894 | +\xb2\x72\xee\x11\x6f\xbf\xbd\xa6\xeb\xee\x80\x24\x3a\x96\xa0\x4f\ |
895 | +\x11\xdd\x7f\x80\x6a\xad\x8a\x31\x11\xe6\xf9\xdc\x1a\x2e\xcd\x45\ |
896 | +\xb3\xd3\x60\xf5\xf3\x33\xd4\x1f\x01\x1a\xd5\x01\x41\x24\x12\x21\ |
897 | +\x12\x89\x10\x0e\x87\x31\x0c\x03\xc3\x30\x98\x9f\x9d\xe7\xfb\xa7\ |
898 | +\x2d\xee\x7c\x58\x42\x08\x81\xad\x6c\xae\xbd\xb8\x4a\xc7\xee\x20\ |
899 | +\xbf\xe8\x26\x36\x2b\x22\x97\xcb\xe5\x8a\xc5\xe2\xf9\x91\x05\x03\ |
900 | +\x4a\x29\x96\xab\x0f\x68\x7a\x1a\xf8\xa6\xdd\x04\x82\x3e\xbe\xd6\ |
901 | +\x36\xd0\x37\xf6\xf4\x2c\xb3\xf7\x1e\x9b\xd3\x42\x29\x35\xce\x3b\ |
902 | +\x90\x3b\xed\xd5\xd1\xb8\x8e\xa6\xae\x20\xc5\x14\x9a\xaa\x62\x8b\ |
903 | +\x65\x14\x77\xbb\xd9\xb6\xfc\x0b\xe9\xb0\xf7\x9f\x1d\xb8\x7d\xd3\ |
904 | +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
905 | +\x00\x00\x02\x1c\ |
906 | +\x89\ |
907 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
908 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
909 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ |
910 | +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
911 | +\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
912 | +\xd6\x01\x0b\x0e\x00\x2d\xad\x93\x8a\x5c\x00\x00\x01\xa9\x49\x44\ |
913 | +\x41\x54\x38\xcb\xad\x91\x4f\x28\xa4\x61\x1c\xc7\x3f\xcf\xfb\x0e\ |
914 | +\x92\x03\x87\x41\x89\x52\x52\x43\x6a\x46\xe1\xc8\x65\x94\xa6\xec\ |
915 | +\x61\xf7\x60\x0f\x6e\x73\xb0\x38\x70\x92\xd9\xe2\x66\xc9\x41\x4e\ |
916 | +\x84\x26\x24\x17\x93\xdb\xee\x64\x1b\x6d\x39\xec\x61\x85\x31\x4b\ |
917 | +\x11\x8a\x22\x8b\x79\x22\x6a\xa6\xa5\xf1\xbe\x0e\xe6\x9d\x5e\x7f\ |
918 | +\x66\xc6\xc1\xf7\xf2\x3c\xdf\x7e\xbf\xef\xa7\xef\xd3\x23\x30\xa9\ |
919 | +\xd4\x35\xe8\x04\x02\x71\x5b\x7d\xe4\xf7\x6c\x92\x46\xca\xf3\xf0\ |
920 | +\xd7\xf6\xa6\xc8\x48\xef\x27\x80\x60\xa9\x6b\xd0\xf1\x26\x80\x11\ |
921 | +\xf6\xb4\xb9\xe4\x8f\xd5\xd3\x9c\xc0\xfa\x31\x63\xfd\x2d\x6f\x82\ |
922 | +\x08\x23\xdc\xd9\xea\x3c\xff\xf5\xf7\xac\xd0\x3c\xfc\xd2\x5c\x49\ |
923 | +\xd7\xc0\x42\xca\xe7\x28\x40\xa0\xc7\xed\x0c\xdf\xdc\x69\x85\x35\ |
924 | +\xb6\x82\xc4\xa0\xc6\x56\xc0\xda\xbe\x64\xf6\x5b\x2b\x40\x30\x55\ |
925 | +\x03\x1d\x20\xc3\xa2\xf2\xf9\x63\x03\x6b\xbb\x17\x68\xc4\xa8\xb3\ |
926 | +\x15\xb1\x14\xf8\x43\xf8\x2a\x02\x40\xf4\xec\x30\x11\xba\xd8\x98\ |
927 | +\x14\xc6\xdd\x72\xe4\xf7\x08\x80\xb2\x0f\xc3\x3a\x00\xba\x86\x2e\ |
928 | +\x04\xaa\xa2\x71\x79\x1d\xa5\xd6\x5e\xf1\xb8\x19\x3f\x57\x7e\xfa\ |
929 | +\x5f\xff\x85\x64\xca\xcc\x56\xd9\xdd\x3f\x61\x6f\xef\x14\x35\x2b\ |
930 | +\xe3\xc5\xdc\x62\x36\xb1\xbb\x18\x8e\x32\x2b\x00\xb7\xff\x35\x50\ |
931 | +\xd2\xf2\x9f\x02\x16\xbe\xff\x7e\xb1\x70\xaf\x29\x80\x0e\xe2\x11\ |
932 | +\x26\x00\xab\xdd\xad\x03\xc8\x90\x57\x88\xd7\xa8\x56\xbb\x5b\x1f\ |
933 | +\x1f\xed\x61\x71\xe5\x00\x80\x9d\xed\x63\x00\x2a\xaa\x4a\x00\x28\ |
934 | +\xce\x53\xc3\x33\xd3\xbe\x7c\x19\xf2\x8a\x64\x1d\xab\xdb\xbb\x87\ |
935 | +\xa9\x77\x14\x27\xc2\x06\x28\x37\x4b\x3d\x9f\x99\xf6\xe5\x03\x8d\ |
936 | +\x46\x23\x92\xb4\x70\x00\xc1\xa1\x81\x2e\x7c\x4b\x5b\x48\x19\xc5\ |
937 | +\x59\x5f\x2e\xbd\x13\x73\x56\xa0\x51\x86\xbc\xcb\x29\x01\x66\x48\ |
938 | +\x7f\x5f\x07\xff\xe4\x75\x64\x6a\x7c\x3e\xc7\x1c\x4e\x0b\x30\x43\ |
939 | +\xe2\xf6\x49\xf8\x5d\xf4\x00\xa8\x9e\x9d\x76\x42\x9c\x4d\xd8\x00\ |
940 | +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
941 | +\x00\x00\x02\xc1\ |
942 | +\x89\ |
943 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
944 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
945 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ |
946 | +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
947 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
948 | +\xd6\x01\x04\x0f\x21\x1e\xc7\x7d\x84\xc8\x00\x00\x02\x4e\x49\x44\ |
949 | +\x41\x54\x38\xcb\xc5\x92\x3f\x4c\x53\x51\x14\xc6\xbf\x7b\x6f\xdb\ |
950 | +\x57\xaa\xb4\xa5\xd0\x82\xf2\x27\x29\xe8\x50\x63\x8d\xd1\x49\xa3\ |
951 | +\x83\x26\x26\x9a\x40\x18\x48\x70\x20\x1a\x13\x6d\x5c\x75\xc2\x98\ |
952 | +\x38\x29\x83\x95\x41\x93\xc6\x81\x68\x62\x34\x61\x70\x72\x80\x38\ |
953 | +\x3a\x32\xd5\x28\x41\x43\x0c\x08\x15\x10\xa1\x2d\xed\xe3\xf5\xcf\ |
954 | +\x7b\x7d\xef\x9e\xeb\x40\x02\x45\x70\x72\xf0\x6c\xe7\x4b\xce\x2f\ |
955 | +\xdf\x39\xdf\x01\xfe\xb1\xd8\x9f\xc2\xe9\x5b\x6f\x82\x9c\xb3\x2c\ |
956 | +\x91\x72\xd5\xeb\x9c\x33\x87\x48\x85\xd3\x2f\xae\x15\xeb\x75\xd7\ |
957 | +\x1e\x22\x43\xa2\xef\xdc\x51\x9e\xe8\x8d\x83\xb1\x2d\xbe\x52\x0a\ |
958 | +\xcf\xdf\x7d\xe2\xef\xa7\xe6\x13\x00\x9e\xfc\xd5\xc1\xa9\x9b\xaf\ |
959 | +\xb9\x4b\xf0\xea\xd8\xf0\x15\xcf\xec\xcf\x12\x3e\xa4\x17\x08\x00\ |
960 | +\xce\x9e\xe8\xe0\x21\x2f\xc3\xc3\x57\x53\x35\x47\x52\xc3\xc7\x97\ |
961 | +\xd7\x69\xdb\x59\x3d\x80\xa4\xbc\x70\x3c\xda\x22\x7c\x5e\x17\x96\ |
962 | +\xf3\x65\xa4\x67\x32\x48\xcf\x64\xb0\x5a\xb0\x60\xd9\x84\x70\xc0\ |
963 | +\x2b\x48\xca\x8b\xbb\x56\xab\x6f\xdc\x02\xcf\x2e\x9f\x89\x8a\xe9\ |
964 | +\xc5\x0d\xfc\x58\xc9\x03\x44\xcb\x20\x5a\x9a\x5b\xcc\x62\x7e\xdd\ |
965 | +\xc4\x91\xae\x16\x21\x18\x9e\xee\x0b\x88\x0f\x8d\x75\xba\x05\x8b\ |
966 | +\x85\x03\x1a\x32\x39\x0b\x9f\xbf\x2e\x49\xcb\xb2\xef\x58\x96\x7d\ |
967 | +\x77\x76\x6e\x45\xfe\xd2\x1d\x78\xbc\x07\xe0\x38\x4e\x2c\x3e\x34\ |
968 | +\xd6\xb9\x07\xc0\x99\xba\x77\xfe\x64\x17\xfb\xbe\x56\xc5\xca\x9a\ |
969 | +\x81\x8d\xa2\x01\x22\x39\x49\x24\x27\xf5\x4d\x03\xd9\x42\x05\xd9\ |
970 | +\x32\xd0\x14\x0a\x31\xa5\xd4\xfd\x5d\x80\xd8\x60\x4a\x93\x8e\xbc\ |
971 | +\xdd\x79\xa8\x89\x65\x72\x35\xe4\x0a\x25\x38\xb6\x2d\x48\x4a\x8b\ |
972 | +\xa4\xb4\x1c\xdb\x11\x45\xbd\x8c\x8a\x49\xf0\xf9\x9b\x19\x49\x27\ |
973 | +\x11\x1b\x4c\x69\xdb\x31\x12\xc9\x81\x68\x7b\x08\xba\xc9\x50\xac\ |
974 | +\x28\xb4\x46\x9a\x71\xe3\xea\x25\x84\x0e\xba\x11\xf6\x6b\x08\x07\ |
975 | +\x34\x30\x00\x23\x6f\xbf\x41\x71\x0f\xdc\x5a\x03\xcc\x8a\x31\x00\ |
976 | +\x60\xdc\xb5\x65\x9f\xa5\xda\x0f\x47\xc4\x6a\x51\xa2\x6a\x03\xc5\ |
977 | +\x92\x8d\xe5\x9c\x09\xdb\x51\xb0\x1d\x82\x2d\x15\x94\xda\x39\x5c\ |
978 | +\xa0\xb9\x55\x98\xe5\x52\x0a\xc0\xb8\xab\xa7\x7f\x34\xce\x99\xf2\ |
979 | +\x33\xcd\x0f\xbd\x4a\xf8\x32\x3d\x2d\xf5\x42\x41\xec\xf7\xb6\xbe\ |
980 | +\xc6\xa0\xec\xe8\x39\x26\x7c\x8d\x41\x28\x28\x7f\x4f\xff\x68\xdc\ |
981 | +\xc5\x80\x64\xa4\xad\x5d\x6c\x9a\x80\x61\x18\x28\xe6\x37\xa0\x14\ |
982 | +\x69\x0b\x13\xc3\xb5\xfa\xe1\x68\xef\x63\x4f\x59\x2f\x54\x6a\x66\ |
983 | +\x15\x1e\x6f\x03\x82\x2d\x6d\x22\xbf\xba\x94\x64\xdd\x7d\xc9\x35\ |
984 | +\x92\x32\xb2\xfd\x9a\x9c\x3f\x5a\x98\x18\x7e\xb0\x9f\x83\xee\xde\ |
985 | +\xe4\x08\x91\xdc\x49\x80\x8b\x75\xfc\xf7\xfa\x0d\x49\x31\x0d\x6b\ |
986 | +\x63\x0d\xcf\x0b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
987 | \ |
988 | +\x00\x00\x02\xa8\ |
989 | +\x89\ |
990 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
991 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
992 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x8d\x00\x8e\x00\x8b\x21\xf4\ |
993 | +\xa3\x7e\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
994 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
995 | +\xd6\x06\x13\x0f\x1d\x09\x48\xb3\xcb\xc6\x00\x00\x00\x0f\x74\x45\ |
996 | +\x58\x74\x43\x6f\x6d\x6d\x65\x6e\x74\x00\x69\x64\x20\x6c\x6f\x67\ |
997 | +\x6f\x86\xc6\x77\xb9\x00\x00\x02\x1a\x49\x44\x41\x54\x38\xcb\xa5\ |
998 | +\x90\xbf\x4f\x13\x71\x18\xc6\x9f\xfb\xa5\x77\x2d\xb4\xa5\xd7\xd6\ |
999 | +\x5a\x2a\x14\xa2\x0c\xb4\x0e\x6e\x6e\x50\x28\x83\xec\x9a\x38\x69\ |
1000 | +\x6a\x7f\x80\x11\x4d\x4d\xdc\x1a\xe9\x60\x52\x07\x93\x42\xd4\x34\ |
1001 | +\xc5\x46\x05\x37\x27\x75\x31\x31\xb6\x16\xf9\x03\x64\x30\xba\xb5\ |
1002 | +\x8b\xa9\x18\x13\x38\xae\x72\x57\xee\x7a\x77\x0e\x72\x17\x43\x89\ |
1003 | +\x51\x7c\xa7\xf7\xfb\xe6\x79\x3e\xef\xfb\x7c\x09\xec\xd5\xe2\xfd\ |
1004 | +\xc2\x3b\x59\x96\xc6\xf1\x17\xc5\x71\xb6\xda\x8d\xb9\x4c\x14\x00\ |
1005 | +\x68\x73\x28\xcb\xd2\xf8\x6c\xfa\x1a\x14\x45\xb1\x84\x86\x61\x74\ |
1006 | +\x99\x0d\xc3\xc0\x93\xe5\xb2\xb5\x88\x0e\x4d\xe7\xe7\x01\xe4\x00\ |
1007 | +\x1d\x92\x24\x41\x10\x84\x2e\xa3\xf9\x66\x18\x06\x24\x49\x02\x00\ |
1008 | +\x42\xd3\x79\x03\x40\x8e\x06\x90\xcb\x66\x2e\xa0\xbe\xba\x04\x51\ |
1009 | +\x14\xd1\x6c\x36\x0f\x34\x03\x00\x45\x51\x20\x08\x02\xa2\x28\x22\ |
1010 | +\x9b\x49\xe1\x4e\xe1\x79\xce\x8a\xf0\xb1\xd1\x82\x20\x08\x68\x34\ |
1011 | +\x1a\x7f\x8c\x60\x6a\x87\xc7\xf6\x22\x98\xc3\xba\x1c\x44\xfc\x6e\ |
1012 | +\xa5\x4b\x4c\x10\x07\x21\x82\x56\x67\x01\x22\x67\x63\x38\x4c\x59\ |
1013 | +\x80\xd8\x19\xfe\xff\x00\x9f\xbe\x88\xff\x64\x1c\x0d\x3a\x7e\x45\ |
1014 | +\x0c\x9d\xcb\xd7\x40\x60\xec\x50\xeb\x0d\xac\x5a\x5f\x34\x77\xfd\ |
1015 | +\xaa\x71\xf9\x52\x5c\x7d\x54\x2e\x29\x93\x93\x53\xcc\xda\xda\x7b\ |
1016 | +\x26\x1a\x9d\xd0\xaa\xd5\x0a\x19\x8b\x4d\x69\xb5\x5a\x95\x9a\x88\ |
1017 | +\xc6\xf4\xb7\x95\x37\xe4\xe2\xc2\x03\xaa\x2b\x02\xcb\xb2\xaa\xda\ |
1018 | +\x51\xb7\x79\xaf\x47\x6b\xb5\x7e\x10\x43\xa1\xe1\x5e\x5d\x37\xe4\ |
1019 | +\xc1\xc1\x21\x5a\xd3\x74\xc9\xe1\x70\xf8\x69\x86\xd9\xe4\x38\x9b\ |
1020 | +\xed\xf7\x23\x48\xb3\xe1\x79\x7e\x87\x24\xc9\xd7\x36\x9b\x0d\x23\ |
1021 | +\xa7\x46\x20\xed\xee\x28\x03\x03\x27\x74\x97\xcb\x29\xbb\xfb\xdc\ |
1022 | +\x6d\x00\x88\x84\xc3\x47\xbd\x5e\xaf\xda\x05\x28\x2c\xdc\x2b\x01\ |
1023 | +\xd0\x22\xe1\xd3\x17\x7d\x1e\xdf\xb1\x8d\x6f\x5f\x7d\x00\x64\x9e\ |
1024 | +\xf7\x90\x24\x49\xd4\x7b\x1d\x3d\x9d\xfe\xfe\x20\x58\x96\xd3\xed\ |
1025 | +\x76\xbb\x54\x2c\x3e\x4c\xef\xbf\x20\x71\x33\x73\x8b\x5f\x5e\x79\ |
1026 | +\xac\x03\xf8\xbc\xb5\xb5\x29\xf0\x6e\xde\xef\x72\x3a\xe9\x5d\xa5\ |
1027 | +\xcd\xac\xaf\x7f\x38\x09\x00\x2b\xcf\x9e\x3a\xd3\xa9\xd9\xb6\xda\ |
1028 | +\x51\xce\xef\x07\x94\x4b\x4b\x45\xf8\xfd\xc7\x8f\x24\x13\xe9\xd1\ |
1029 | +\x64\x22\xdd\xa7\x28\x0a\x5e\xbe\x7a\xd1\x43\x51\x74\xe0\x4a\x3c\ |
1030 | +\x49\xa4\x92\x33\x44\x20\x10\x98\xb9\x3d\x9f\xfd\xce\xb2\xdc\x86\ |
1031 | +\x09\xf8\x09\xe4\xcc\xc3\x08\xa5\xf7\x2c\x65\x00\x00\x00\x00\x49\ |
1032 | +\x45\x4e\x44\xae\x42\x60\x82\ |
1033 | +\x00\x00\x02\x8c\ |
1034 | +\x89\ |
1035 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1036 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1037 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1038 | +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ |
1039 | +\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\ |
1040 | +\x67\x9b\xee\x3c\x1a\x00\x00\x02\x1e\x49\x44\x41\x54\x38\x8d\x95\ |
1041 | +\x93\x4f\x68\x13\x41\x14\xc6\xbf\x37\xbb\x33\xd9\x8d\x85\x7a\x68\ |
1042 | +\x4c\xff\xd1\x82\x04\xed\xc1\x40\x2a\xa8\xd0\xd5\x8a\x68\x44\x62\ |
1043 | +\x45\x2d\x14\x72\x6b\x4a\xc9\x49\x90\x62\x16\xc1\xab\xc7\x52\x91\ |
1044 | +\xa0\x17\x0f\x45\x4f\x1e\xa5\x42\xf1\xe2\x4d\x2a\x5e\x44\x50\xd0\ |
1045 | +\x43\x29\xb4\x2a\x95\x94\x34\x89\xa6\x9a\x26\xd9\xd9\x19\x0f\x51\ |
1046 | +\xac\x21\xa9\xf6\x1d\xdf\xfb\xe6\xc7\x7c\xdf\x9b\x21\xad\x35\xda\ |
1047 | +\xd5\xc9\x9b\x7c\x1e\x00\x96\x66\xbd\xe9\x76\x1a\xd6\x6e\xe0\xb8\ |
1048 | +\x3c\xdd\xdf\x15\x49\xf6\x75\x1d\x4c\x3a\x2e\x4f\xef\x09\xe0\xb8\ |
1049 | +\x3c\x1a\x10\xfb\xb2\x57\xce\x4c\x06\xc7\x46\x93\xc1\x80\x08\x66\ |
1050 | +\x1d\x97\x47\xff\x0b\xe0\xb8\xbc\x03\x84\xc5\x89\x73\xd3\xd6\x96\ |
1051 | +\x97\xc7\x96\xb7\x89\xf8\xc8\x25\x0b\x84\x45\xc7\xe5\x1d\xff\x04\ |
1052 | +\x10\xe1\xd1\xe8\x70\xa2\xa7\x37\x34\x48\x9f\x4b\x1f\xf0\xb1\xf4\ |
1053 | +\x1e\x9d\x9d\x9d\x14\x1b\x3a\xd1\x0d\xc2\xc3\x5d\x01\x8e\xcb\xd3\ |
1054 | +\xfd\x07\x22\x89\xb3\x47\xc7\xf9\x4a\xfe\x0d\x0c\xc6\x61\x32\x8e\ |
1055 | +\x57\x6b\x0b\x88\x0d\x1d\x17\xa1\xfd\x3d\x89\xe6\x3c\xd8\x8e\xc3\ |
1056 | +\x51\xc1\xed\x6c\x2a\xe1\xda\xeb\xe5\x65\x68\xf2\x20\x84\x89\x3a\ |
1057 | +\x7d\xc7\x36\x15\xf1\x2e\xff\x1c\x17\x4e\x5f\x0d\x9a\xa6\xf8\x2b\ |
1058 | +\x0f\xb6\xd3\xf7\xd4\x58\xc6\x52\xe4\xa1\x22\x4b\x10\x01\x01\x1e\ |
1059 | +\xe0\x28\xcb\x75\x08\xdb\x40\x41\xae\xa2\xa8\x56\x71\xfe\xd4\x45\ |
1060 | +\x8b\xd8\x9f\x3c\xd8\x6f\xdf\xf1\x63\xe3\xdd\x87\xfa\x62\x94\xaf\ |
1061 | +\xac\xc1\xe4\x06\x38\x37\x50\x51\x05\x54\x8d\xaf\x10\x36\x83\xb0\ |
1062 | +\x19\x96\xbf\xbd\x40\xb8\x37\x44\x47\x0e\x0f\x87\x89\x35\xf2\xa0\ |
1063 | +\x91\x8c\x99\x1e\xe8\x8e\x64\x6f\x4c\xdc\xb1\x05\x0f\x40\x41\xc2\ |
1064 | +\x87\x87\xd7\xb9\x05\xbc\x2d\x3c\x83\x64\x15\x10\x23\x24\x06\x32\ |
1065 | +\xd0\x5a\x43\x29\xa0\x5e\xaf\xe1\xf1\xd3\xf9\x4a\xb1\xb4\x39\x63\ |
1066 | +\x12\x43\xea\x53\x6e\xc5\x9e\xb9\x77\xb9\xe1\x89\xa3\x7a\xf7\xfa\ |
1067 | +\x13\xab\x2c\x73\xf0\x8d\x6d\x70\xc1\xc0\x4c\x82\xc1\x09\x73\x0f\ |
1068 | +\x6e\x57\x65\x4d\x5b\xbf\xec\x07\x89\x21\x65\x2e\xcd\x7a\x4e\xd3\ |
1069 | +\x26\xb4\xd6\x0a\xa5\xfa\x17\x30\x83\x60\x70\x06\x1e\x68\x40\x64\ |
1070 | +\x4d\x5b\x2f\xe7\x3c\xda\xf5\x1d\x00\x80\xd2\x3e\x7e\xd4\x8b\x8d\ |
1071 | +\x2b\xfb\x1a\xb2\xae\xa0\x55\xeb\x3f\x63\xb6\x6a\xfa\x4a\xa2\x5a\ |
1072 | +\xdb\x86\x32\x35\xa0\x15\x7c\x49\xf0\xbd\x3d\x00\xa4\x2f\x11\x1f\ |
1073 | +\xbc\x06\x62\x00\x31\x02\x11\xf6\x00\x20\x6c\xdc\xba\x3f\x19\x6e\ |
1074 | +\x25\x26\xc2\x46\x73\xef\x27\x30\xf7\xc5\xdb\xb6\xd0\x9a\x22\x00\ |
1075 | +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1076 | +\x00\x00\x03\x90\ |
1077 | +\x89\ |
1078 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1079 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1080 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1081 | +\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ |
1082 | +\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\ |
1083 | +\x67\x9b\xee\x3c\x1a\x00\x00\x03\x22\x49\x44\x41\x54\x38\x8d\x6d\ |
1084 | +\x52\x4d\x6c\x54\x65\x14\x3d\xf7\x7b\xef\x95\xf9\xad\x33\x6d\x07\ |
1085 | +\x5b\xa8\xb6\x0a\x86\x12\xa6\xa1\xa2\x33\x8d\x7f\xd1\x98\x46\x37\ |
1086 | +\xc4\x60\x58\xa8\xbc\x44\x8c\x90\x81\xf0\xb3\x61\x07\x1b\x0c\x4d\ |
1087 | +\x0c\x11\x74\x61\xa2\xe0\x03\xa3\x31\x4c\x25\x98\x34\x01\x37\xfc\ |
1088 | +\x04\x21\x92\xd4\xc2\xab\x71\xd1\xd0\x92\xd4\xd2\xc6\x01\x46\x3b\ |
1089 | +\xb4\x1d\xe8\xcc\xb4\xf3\xde\xfb\xbe\xeb\xa2\xf3\x92\x59\x70\x92\ |
1090 | +\x9b\xdc\xc5\x3d\x27\x27\xe7\x5c\x62\x66\xf8\x48\x65\xb2\xcf\x34\ |
1091 | +\xe8\xda\x11\x10\xde\xf4\xa4\x6a\xd5\x84\x98\x27\xc2\xb8\xe3\xca\ |
1092 | +\x13\x00\x2e\xd8\x96\xe9\xd6\xdd\x1e\x04\x70\x82\x7c\x81\x74\x26\ |
1093 | +\xbb\x45\xd3\xc4\x40\x4f\xd7\x2a\x7d\x5d\x67\xb3\xd1\xd6\x14\x01\ |
1094 | +\x98\x51\x28\x56\x30\x32\x76\xbf\x7c\x67\xfa\xa1\x27\x15\xef\xb6\ |
1095 | +\x2d\xf3\x6c\x7a\x57\x36\xc3\x8c\xef\x00\xc4\x88\x99\x91\xca\x64\ |
1096 | +\xd7\x1b\xba\x18\xd9\xda\xd7\x1d\x8a\xc7\x82\xd0\x89\xd0\x1c\x0d\ |
1097 | +\x20\x1c\xd0\x11\x0d\x19\x08\x1a\x02\x33\xc5\x45\x1c\xcf\x0e\x57\ |
1098 | +\x0a\xc5\x8a\x1d\x0d\x35\xf4\x3e\x2e\x57\x0d\x66\x34\x11\x33\xe3\ |
1099 | +\xd5\x3d\x67\x4f\xf5\xac\x6b\xfb\x34\x18\x30\xc4\xad\xd1\x1c\xaa\ |
1100 | +\xae\x07\x43\xd7\xe4\x9a\xd5\xb1\xc5\xbe\xf4\xf3\xe1\xde\xf5\xad\ |
1101 | +\xa4\x09\x82\x10\x84\x5f\xae\x4d\xa8\xb7\x5e\x6c\x17\x07\xbe\xbe\ |
1102 | +\xea\x38\xae\x6c\xd1\x01\x80\x99\x3f\xbc\x33\x5d\x10\xae\xa7\x58\ |
1103 | +\x31\x2f\x32\xe3\x33\xc7\x95\x67\xc6\xa7\x67\x93\x13\xf7\xe6\x8f\ |
1104 | +\x5e\xef\x68\xee\xda\xb7\x75\x53\x28\x11\x0b\xe1\xe3\x77\xbb\x44\ |
1105 | +\x2d\x06\x02\xa0\x04\x00\x48\xa9\xc2\x55\xc7\xf3\x92\x2f\x3c\xfb\ |
1106 | +\x83\x94\xea\x11\x80\x41\xdb\x32\xf3\xb6\x65\x5e\xf9\xe3\xdb\x8f\ |
1107 | +\x5e\x1a\x9d\x2c\xec\xdd\x7d\xec\x12\xee\x3f\x2c\x61\x7a\xa6\x0c\ |
1108 | +\xa9\x18\x00\x03\x00\x0b\x2c\xaf\xaa\xe9\xa9\x48\x7f\x63\x24\xf0\ |
1109 | +\x55\x67\xfb\xca\x6e\x00\x53\x75\x69\xeb\xba\x26\x76\x6e\x7b\x27\ |
1110 | +\xe9\x76\x3e\x1d\x45\xa2\x71\x05\x34\x41\xbe\x03\xd6\x6b\x77\xf1\ |
1111 | +\x5f\x3f\xdf\xbc\x80\x27\xe3\xb4\x27\xd5\x6b\x17\x87\x27\xab\x57\ |
1112 | +\xed\xa9\x25\xdf\xbc\xe3\xaa\x00\x00\xf6\x5b\xa8\x02\x30\x6a\x04\ |
1113 | +\xae\x9b\xdf\x00\xec\x04\xe0\x3e\x41\x58\xb7\x2d\xf3\x9e\x2f\xe0\ |
1114 | +\x9d\x3f\xfa\xbe\x06\x10\x98\x19\x17\xed\x7f\xd4\xa9\xf3\x7f\xe5\ |
1115 | +\xa4\x54\x3d\xb6\x65\x16\xeb\x59\x87\xb3\x63\xab\x4a\xe5\xa5\x8e\ |
1116 | +\xdf\x47\xc6\x6f\x00\x88\xe9\x00\x40\x04\x10\x11\xee\xfe\x57\x86\ |
1117 | +\x21\x18\x27\x07\xff\x24\x00\x5f\xd4\x93\x53\x99\x6c\x98\x88\xee\ |
1118 | +\xf6\x6e\x5c\x7b\x26\x3f\x33\x97\x02\xa0\x01\xa8\x0a\x00\x10\x44\ |
1119 | +\x04\x00\x1d\x89\x10\x56\xb7\x84\xf1\xe5\xfe\xb7\xa9\xad\x25\x72\ |
1120 | +\xec\x95\x3d\x3f\xdf\x4a\x65\xb2\xe9\x9a\xc6\xf6\x15\x86\xae\xe7\ |
1121 | +\xf2\xb3\x07\xf2\x85\xe2\xeb\x9a\x46\xae\x6d\x99\xae\x58\x76\x40\ |
1122 | +\x78\x5c\x71\x71\x61\x68\x8a\x3d\x8f\xd1\xbe\x32\x8a\xc3\x3b\xde\ |
1123 | +\x08\x7d\xd0\x97\x7c\xb9\xb5\x39\x72\x2d\xbd\x6b\xc0\x35\x74\xf1\ |
1124 | +\x8d\x54\x32\x3e\xf7\x68\x01\x4d\x8d\x41\xd2\x84\x18\x04\x00\xff\ |
1125 | +\x91\xa8\xff\xc7\xa1\xa5\x89\xdc\xdc\xe4\xa5\xe1\xc9\xce\xcc\x96\ |
1126 | +\x4d\xe1\x44\x2c\x88\xee\xb5\x09\x7a\xae\x3d\x1e\x2a\x96\x5d\xfc\ |
1127 | +\x3b\x5b\x82\xe3\x78\x14\x09\x1a\x38\x77\x79\xb4\xe2\x49\x75\x04\ |
1128 | +\x00\x96\x1f\x49\x31\x4d\xe4\xe6\x4e\xdf\x3c\xb9\x2d\xf9\xa0\xb0\ |
1129 | +\xf0\x49\xff\xf7\x37\xe6\x8f\x0f\xdc\x2c\x0d\xdf\xce\x23\x3f\x5b\ |
1130 | +\x46\xd5\x95\x10\x44\x28\xcc\x97\xe4\xb9\xcb\xa3\x8b\x52\xa9\x8c\ |
1131 | +\x6d\x99\x63\x00\xe0\xb7\xf0\x13\x80\xed\xb6\x65\x72\x2d\x30\x03\ |
1132 | +\xc0\x7b\x0d\x86\xb6\x57\x31\x6f\x90\x52\xc5\x0d\x5d\x9b\x21\xc2\ |
1133 | +\x50\xd5\x91\x87\x6c\xcb\xfc\xdb\x0f\xf7\x7f\x2e\x55\x76\x6a\x13\ |
1134 | +\x65\xcc\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1135 | +\x00\x00\x02\x3e\ |
1136 | +\x89\ |
1137 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1138 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1139 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ |
1140 | +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
1141 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1142 | +\xd5\x09\x16\x12\x37\x29\x3b\x52\x02\x48\x00\x00\x01\xcb\x49\x44\ |
1143 | +\x41\x54\x38\xcb\xa5\x93\x4d\x68\x13\x41\x14\xc7\x7f\x33\xdd\xa3\ |
1144 | +\x48\x16\x22\x2d\xe2\xb1\xe0\x29\xa0\x58\x2b\x01\x0f\x82\x15\x84\ |
1145 | +\x78\xec\x45\xd0\xb6\x27\xaf\xa5\x17\x15\x3c\x8a\x20\xc5\x20\xf5\ |
1146 | +\x22\x7e\x80\x9a\x16\x8a\x31\xbd\x5b\x1a\x11\x4d\x5c\x10\xed\xc1\ |
1147 | +\x62\xd3\x8d\x1b\x4c\xfd\xc0\xd5\x6c\xeb\x10\x15\x5a\x91\xcd\x78\ |
1148 | +\x30\x43\xb3\x6d\x6a\x2b\xbe\xcb\xff\x0d\xcc\xfb\xcf\x6f\x66\xde\ |
1149 | +\x83\xff\x0c\x61\x92\xe2\x5d\xfa\x80\x19\xe0\xd8\x56\x7a\x78\x88\ |
1150 | +\xbc\xa9\x93\x00\x97\x47\x2f\x9d\x01\x66\x0e\x1e\x77\xd8\x8e\xb6\ |
1151 | +\x12\x58\x4d\xbd\x01\xf0\xed\xf9\x39\xb6\xa3\x57\x4f\x4a\xdd\xac\ |
1152 | +\x3b\x2d\x8d\xd3\xde\x54\x40\x59\x15\x58\xdd\x93\xa7\xac\x0a\xfc\ |
1153 | +\xe8\x7a\xd8\x56\x5f\x4c\x4b\x06\xc7\x8a\x1c\xe9\x1f\x06\x18\x37\ |
1154 | +\x04\xc4\xe3\x71\xc4\x89\xa5\x3f\x8b\x7d\x4d\x65\x4d\x7d\xdf\x27\ |
1155 | +\x7f\x4f\x32\x74\xed\x19\x1f\x9e\x8c\x33\xb7\x10\x84\x40\x87\xd5\ |
1156 | +\x7a\x1f\xa5\x14\xf5\x7a\x7d\xc3\x4b\x07\x41\x80\x9b\x49\xad\x15\ |
1157 | +\x7b\xcb\x7c\x2d\x4d\x75\x00\x3d\x11\x03\xdb\xb6\xb1\x6d\x3b\x52\ |
1158 | +\xec\xfb\x3e\x6e\x26\xc5\xe0\x58\x91\xc5\xc7\x19\x5e\x95\x97\x51\ |
1159 | +\xa5\x1c\x40\xcf\xc8\x64\x63\xf6\xaf\x04\xe6\xe4\x81\x74\x81\xc5\ |
1160 | +\x7c\x86\xb9\xb7\x0a\x55\xca\xf1\x73\xff\x45\xce\x9f\xbd\x30\x0b\ |
1161 | +\x88\x4d\x09\xb4\xd6\x14\xd2\xbd\x0c\x5c\x79\x8a\x37\x7d\x87\xca\ |
1162 | +\xe7\xef\xa8\xf9\x07\xbc\xef\x1a\xa6\xb3\xcd\x37\x46\x08\xb4\xd6\ |
1163 | +\x64\xb3\x59\x7e\xc9\x43\xcc\x3b\x0e\xef\x3e\xd5\x59\x7a\x3d\x05\ |
1164 | +\xbd\x69\x76\xad\xac\x00\xda\x34\xa1\x6e\x4b\x10\x86\x21\xbb\x3f\ |
1165 | +\xa6\x79\xf4\xa5\x9b\xfb\xb9\x1c\xdd\xf2\x25\x3b\xfb\x6e\x91\x4c\ |
1166 | +\x26\x71\x5d\x97\x37\x95\x05\x8c\x8b\x5c\x4f\x50\xad\x56\xf1\x3c\ |
1167 | +\x8f\x91\xc9\x06\x47\x3b\x2b\xac\xee\x48\x10\x1e\x18\x25\x91\x48\ |
1168 | +\x60\x59\x16\x96\x65\x45\xba\x78\x03\x41\x2c\x16\x43\x6b\x4d\xad\ |
1169 | +\x56\x43\x6b\x8d\x94\x12\xad\x35\x42\x08\x84\x10\xad\xdb\x1b\x11\ |
1170 | +\x03\xa5\x14\x8e\xe3\x6c\x3a\x75\xc6\x64\x7d\x18\x83\x89\x9b\xb7\ |
1171 | +\xaf\x9f\xfa\x87\x29\x9e\x30\xc9\x6f\x5a\x9d\xe8\x98\x79\x09\xfc\ |
1172 | +\x12\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1173 | \x00\x00\x02\x78\ |
1174 | \x89\ |
1175 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1176 | @@ -1242,6 +1974,159 @@ |
1177 | \xb2\x2c\xbf\xda\xb6\x7d\x39\xd3\x54\x55\xd5\xfb\x42\xe6\xbd\xff\ |
1178 | \x57\xf2\xac\x1b\xb7\x37\x69\x77\x68\x01\xa1\x8d\x00\x00\x00\x00\ |
1179 | \x49\x45\x4e\x44\xae\x42\x60\x82\ |
1180 | +\x00\x00\x02\x0b\ |
1181 | +\x89\ |
1182 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1183 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1184 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
1185 | +\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
1186 | +\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1187 | +\xd5\x0b\x0a\x13\x00\x30\xae\xf3\xdb\xcc\x00\x00\x01\x98\x49\x44\ |
1188 | +\x41\x54\x38\xcb\xa5\x91\x4d\x4b\x5b\x41\x18\x85\x9f\x91\xd4\x92\ |
1189 | +\x08\xa6\x29\x28\xb1\x4a\xc1\xd2\x2e\x5d\x08\x42\x2d\x94\xe6\x27\ |
1190 | +\x94\x60\x55\x70\xe3\x47\x29\x48\xab\xa8\x5b\xbb\x68\xb7\xdd\xb9\ |
1191 | +\x12\x84\x1a\x75\x55\x24\x04\x97\xea\xc2\x6a\x57\xe2\x42\x97\xba\ |
1192 | +\x13\xf1\xa3\xa0\x12\x35\x29\xe6\xde\x3b\xb9\x73\x5f\x17\x37\x5a\ |
1193 | +\x12\x12\xd4\xf6\x30\x30\x30\xc3\xfb\x9c\x33\x67\x54\x67\x77\xc7\ |
1194 | +\x97\x68\x34\xfa\x95\x12\x69\xad\xfd\xdd\xd1\x83\x33\x89\xb9\x29\ |
1195 | +\x2a\x48\x0d\x8f\x7c\x92\xfe\xde\xf7\x65\x2f\x6d\xdb\x62\x7a\xe6\ |
1196 | +\x3b\xd9\x6c\xb6\x27\x39\x9f\xfa\x51\x16\xf0\x71\x68\x50\xba\xde\ |
1197 | +\x75\xb3\xbd\xb3\x5d\xc9\x84\xd5\xb5\x9f\xa5\x47\x13\xc9\xf9\xd4\ |
1198 | +\x18\x40\xc0\x18\x43\x30\x18\xe2\x51\x38\x52\x11\x10\x7f\xdb\xe1\ |
1199 | +\xbb\x29\x85\x52\x8a\xd4\x42\x72\x14\xf0\x01\x5a\x6b\x2c\x2b\xc7\ |
1200 | +\x45\xe6\x9c\x7f\x51\xc0\x75\xdd\x5b\x13\xdc\xbc\xb7\x90\xa0\x08\ |
1201 | +\x00\xdc\x24\x48\x6c\x85\xef\x66\x5b\x1b\xa7\xed\x43\x5c\xc2\xd5\ |
1202 | +\x4e\x69\x02\x8f\xf1\x81\x18\x25\x26\x65\x15\x7a\x18\xe0\xf3\xe4\ |
1203 | +\x8a\x0f\xb8\x4e\xf0\xa4\xae\x09\xc7\x35\x1c\x9d\xd9\xb7\x02\x9e\ |
1204 | +\xd5\xd7\x00\x50\x05\x10\x0c\x86\xf8\x6d\x85\xa9\x0d\x55\xdf\xbb\ |
1205 | +\xc4\xaa\xeb\x0e\x32\x16\x34\x37\xdc\xad\x03\x63\x3c\xec\xbc\x29\ |
1206 | +\x4e\xb0\xbe\x07\x6d\x2d\x4f\x39\x4c\x5b\x00\x88\x08\x9e\x27\xb8\ |
1207 | +\xc6\xc3\xc9\x1b\x2e\x6d\x97\x8b\x4b\xcd\x49\xc6\xe6\x38\xe3\x90\ |
1208 | +\x73\x4c\xf1\x2f\x3c\x8f\x58\xa4\xff\x68\x8e\xce\x2c\x10\x85\x87\ |
1209 | +\x50\x58\x88\x80\x20\x88\x28\x44\x04\x01\xec\xbc\xf7\x17\x70\x7c\ |
1210 | +\x7a\x42\xeb\xab\xd7\x6c\xee\x9e\x17\x86\xc4\x1f\x12\xf0\x10\x04\ |
1211 | +\x05\x22\xfe\xb0\xc0\xcb\x17\x8f\x59\x5e\x5c\x22\x62\x1f\xcc\xaa\ |
1212 | +\x37\x7d\xdf\xd6\x72\x0f\x1a\x63\xf7\x2d\xaf\x26\xbf\xbf\xf1\x6b\ |
1213 | +\x76\xbc\x9d\xff\xd5\x15\x26\x94\xc3\xfa\x0c\x4b\xb2\xef\x00\x00\ |
1214 | +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1215 | +\x00\x00\x01\xd0\ |
1216 | +\x89\ |
1217 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1218 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1219 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ |
1220 | +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
1221 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1222 | +\xd5\x0b\x04\x0a\x15\x1b\xc6\xd2\x2b\x54\x00\x00\x01\x5d\x49\x44\ |
1223 | +\x41\x54\x38\xcb\xad\x93\xbd\x6a\xc2\x50\x18\x86\x9f\xaf\xba\x19\ |
1224 | +\x0d\x91\x6c\x0e\x0e\x82\x22\xde\x82\x66\x75\xe8\xd8\xa1\xd7\xe0\ |
1225 | +\x2d\x38\x28\x71\xc8\x25\x88\x2e\x5d\x74\x69\xe9\xda\xc1\x51\x70\ |
1226 | +\xf5\x02\x4e\x44\xe8\xa2\x64\xd0\x9c\xd5\x29\x76\x10\x83\x31\xa2\ |
1227 | +\x08\x7d\xa7\xc3\xfb\x71\x9e\xef\xef\x1c\x01\x18\x8f\xc7\xdf\x41\ |
1228 | +\x10\xbc\xf1\x9c\xde\xfb\xfd\xfe\x17\x00\xae\xeb\x1e\x9f\x95\xeb\ |
1229 | +\xba\x47\x80\xec\x25\x72\xbf\xdf\x13\x45\x11\x00\x22\x12\xfb\xe7\ |
1230 | +\xb3\x88\x90\xc9\x64\x30\x4d\x33\x8e\x25\x00\x51\x14\xe1\xfb\x7e\ |
1231 | +\xe2\xc2\xa5\x44\x84\x7a\xbd\x9e\xf0\xb2\xd7\x8d\xd5\x6a\x35\x00\ |
1232 | +\x7a\xbd\x5e\xec\x75\x3a\x1d\x4a\xa5\x52\x0a\x08\xf0\x72\x9d\xc1\ |
1233 | +\xf7\x7d\x56\xab\x15\xed\x76\x1b\xad\x35\x5a\x6b\x3c\xcf\x43\x29\ |
1234 | +\x85\x52\xea\x3e\x00\x60\x3a\x9d\x62\x18\x06\xcd\x66\x93\x6e\xb7\ |
1235 | +\x8b\x65\x59\x58\x56\x81\x6a\xb5\x1a\x57\x77\x17\x70\xce\xb8\x58\ |
1236 | +\x2c\xf0\x3c\x0f\x11\x41\x24\xcb\x76\xfb\x7b\x73\x97\xa9\x16\x4e\ |
1237 | +\x19\x2d\x66\xb3\x19\xc5\x62\x31\x8e\x8d\x46\x1f\x04\x41\xf0\xb8\ |
1238 | +\x82\xcb\xde\xc3\x30\x24\x0c\x43\xb4\xd6\x1c\x0e\x07\x86\xc3\x21\ |
1239 | +\xbb\xdd\xee\xfe\x16\x5a\xad\x16\x8e\xe3\xc4\x15\x6d\x36\x1b\x26\ |
1240 | +\x93\x09\x85\x42\x81\x5c\x2e\xc7\x7c\x3e\xa7\x52\xa9\xdc\x06\x88\ |
1241 | +\x08\x4a\xa9\xd4\x3b\x70\x1c\x87\xf5\x7a\x8d\x61\x18\xe4\xf3\xf9\ |
1242 | +\xc7\xef\xe0\x34\xb8\x24\xa4\xd1\x68\xb0\x5c\x2e\xef\x03\x2e\x87\ |
1243 | +\x76\x2d\xd3\x34\x29\x97\xcb\x29\x3f\x0b\x60\xdb\xf6\xcf\x60\x30\ |
1244 | +\x78\x7d\xe6\x2b\xda\xb6\xfd\xc9\x7f\xe8\x0f\xe0\x8e\xa3\xe6\x6d\ |
1245 | +\x31\x9b\x24\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1246 | +\x00\x00\x02\xcd\ |
1247 | +\x89\ |
1248 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1249 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1250 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1251 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1252 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1253 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1254 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x4a\x49\x44\ |
1255 | +\x41\x54\x38\x8d\x8d\x91\x5d\x48\x14\x51\x18\x86\x9f\x19\x67\xdc\ |
1256 | +\xdd\x71\xdb\x35\xaa\x4d\x42\x12\x8c\x32\x22\x8b\x20\xa5\x50\x32\ |
1257 | +\xbb\x29\x32\x28\x51\xa8\xa0\x32\x09\x22\x08\x35\xe9\x22\xa8\x20\ |
1258 | +\x6f\xaa\x9b\x02\xe9\x22\x0a\x2c\x21\xe8\x57\x43\x2f\x0a\x0a\xa1\ |
1259 | +\x15\x95\x20\x12\x0c\x5c\x8c\x12\xd6\x8c\x7e\xdc\x5d\x58\x7f\x66\ |
1260 | +\xdd\x99\x9d\xd9\x9d\xe9\x62\xd3\x50\x76\xa1\xf7\xe6\x70\xf8\xce\ |
1261 | +\x79\xbe\xe7\x7c\x47\x78\xd1\xf5\xfc\xda\xe0\xd0\x40\x1b\xcb\x62\ |
1262 | +\x18\x06\x00\xc7\x8e\x1e\x3f\xb7\xb7\xaa\xfa\xfe\xf2\xfa\x42\xa4\ |
1263 | +\xc1\xa1\x81\xb6\xc6\x86\x33\x19\x8b\xba\xae\xf1\xa0\xb3\xe3\x9e\ |
1264 | +\x2c\xc9\x73\x15\x15\x95\x4f\x33\x9d\x11\x9a\x5a\xce\xdb\x75\xb5\ |
1265 | +\xf5\x8c\x7d\x1e\xcb\xd6\x04\x7f\xff\xbb\x25\xfb\x9a\x83\x87\xda\ |
1266 | +\x1b\x4e\x9d\x6e\x05\x90\x00\x5c\x2e\x85\x7c\xef\xca\xac\x80\xda\ |
1267 | +\xc3\x75\xe9\x6e\x82\x80\x20\x08\xbc\xec\xe9\xba\xb0\x08\x30\x0c\ |
1268 | +\x03\x4d\x8b\xd3\x17\x88\x31\x1a\x51\xb2\x42\x96\xc4\x53\x4b\xd9\ |
1269 | +\xd9\xc7\xf6\xb6\xf5\x8e\x2f\x8b\x06\xa3\x11\x85\x3b\x17\xf7\xa3\ |
1270 | +\x1b\xa9\xff\x62\x38\x73\x73\x68\xbe\xfd\xb6\x44\x02\xd0\xb4\x38\ |
1271 | +\x00\x53\xd3\x3a\xc1\xf0\xfc\x7f\x01\x8a\x7d\x79\x00\x48\xba\xae\ |
1272 | +\xe3\x72\x65\x57\xb7\xec\x14\xfe\x40\x07\xc3\xc1\x5e\x66\xd5\x30\ |
1273 | +\xde\x15\x3e\x76\x16\x1f\xa1\xa8\xba\x25\x0d\x88\xc7\xe3\x8b\x06\ |
1274 | +\x99\x2e\xdf\x7d\x73\x02\x87\x37\x41\xf9\xbe\x4d\x88\x8e\x12\xc2\ |
1275 | +\xd1\x08\x23\x81\x2e\xae\x3e\x1b\xc0\x4d\x0b\xe2\xc2\x0c\x32\xc5\ |
1276 | +\x1f\xe8\xc0\xe1\x4d\x50\xb6\xa7\x14\x39\x2f\x87\xb8\x35\x8f\xad\ |
1277 | +\xa4\x28\xde\xb5\x96\x48\xea\x3b\x21\xfd\x55\x1a\x90\xcd\x60\x38\ |
1278 | +\xd8\xcb\x86\xad\x85\xc4\x0c\x15\xd5\x50\x51\x8d\x39\x64\x51\xe6\ |
1279 | +\xe4\x96\x46\xcc\x75\x2a\x51\x73\xe8\x9f\x81\x2c\x5a\xd8\x80\x6d\ |
1280 | +\xdb\xf0\x77\x9d\x55\x43\xb8\xdd\x6e\x2e\x95\x5f\xc1\xb6\x2d\x64\ |
1281 | +\x31\x97\x87\x07\x1e\xf1\x71\xea\x03\x66\x6e\x02\x33\x39\xc3\xe2\ |
1282 | +\x2f\x14\x79\x13\x44\x63\x06\x3f\xa3\x1a\xd8\x02\x16\x36\x6e\xc5\ |
1283 | +\xc7\x44\x68\x82\x35\x8a\x8f\xd7\x75\x7d\x38\x24\x27\x31\x43\xa5\ |
1284 | +\x67\xbc\x1b\x5b\x13\x90\xa5\xfc\xb4\x41\x28\x12\x66\xc7\xee\x4a\ |
1285 | +\x3e\x7d\x9b\xc1\x4c\xda\x18\x29\x0b\x33\x69\xb3\xb1\xa0\x86\xc9\ |
1286 | +\x40\x88\xf6\xe1\x5b\x38\x24\x27\x00\xad\xfe\x26\xb4\xa4\x86\x38\ |
1287 | +\xa9\xb0\xbd\xa0\x74\x44\x68\xbe\xf9\xa4\xff\x7d\xd0\xaa\xca\x34\ |
1288 | +\x03\x1b\x8b\xf1\xd8\x75\x2c\x77\x98\x55\x9b\x15\x3c\x1e\x37\x5f\ |
1289 | +\x7f\x8d\xc3\xa4\x82\xc7\x5c\x3d\x3f\x1d\xff\x9d\x2f\x2c\xbc\x39\ |
1290 | +\x5b\xe4\x7a\xa7\x84\xc8\x65\x44\x1a\x49\x51\x48\x0e\x3f\xb0\xe8\ |
1291 | +\xc4\xe2\x86\xd9\xad\x27\xff\x00\xd1\x6f\xf8\x15\x16\x3e\x02\x36\ |
1292 | +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1293 | +\x00\x00\x02\x5a\ |
1294 | +\x89\ |
1295 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1296 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1297 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1298 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1299 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1300 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1301 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xd7\x49\x44\ |
1302 | +\x41\x54\x38\x8d\x95\x90\x41\x48\x54\x51\x14\x86\xbf\x3b\x6f\x94\ |
1303 | +\x16\xe6\xbc\x9e\x11\x82\x08\xe1\xd0\xdc\x37\x63\x22\x16\xb5\x32\ |
1304 | +\x82\x62\x20\x68\x51\xd4\x40\xd0\xb2\x56\x6d\xda\xe4\x32\x82\x59\ |
1305 | +\x99\x0b\x83\x5a\x69\x69\xd4\x26\x2a\x5a\xb8\x18\x2a\x66\x40\x22\ |
1306 | +\xa5\xb1\x68\xa0\x85\x34\xbd\x37\x46\x8a\x58\x4a\x8c\x91\xd1\x30\ |
1307 | +\x59\xdd\xdb\x46\x5f\xef\xd5\xcc\x80\xff\xea\x5c\xce\x3d\xff\xf9\ |
1308 | +\xce\x2f\xb2\xd9\xec\xa3\x7c\x3e\x7f\x9a\x2d\x28\x95\x4a\x9d\x49\ |
1309 | +\x24\x12\x0f\x01\x48\xa7\xd3\x7a\xab\xda\x98\x41\x6b\x4d\x78\xd3\ |
1310 | +\xb5\x5c\x2e\xa3\x94\x02\x40\x08\xe1\x6d\xdb\xac\x85\x10\x18\x86\ |
1311 | +\x41\x24\x12\x09\xd0\x78\x06\x4a\x29\x5c\xd7\x0d\x0c\xf8\x25\x84\ |
1312 | +\x20\x1e\x8f\xff\x77\x4e\xd8\xff\x90\x52\x36\x24\xa8\xa5\xb0\xff\ |
1313 | +\xa3\x9f\x20\x28\x8d\xae\x3a\x74\xef\x3b\xd5\x98\x20\x16\x8b\xd5\ |
1314 | +\xd8\x58\xe5\xcb\xe2\x63\x56\x16\xaf\xa1\xf5\x89\xc6\x06\xa5\x52\ |
1315 | +\x29\xd0\xb4\x6d\x1b\xad\xc2\x2c\x17\xaf\xb2\x5e\xf9\xc8\xea\xc2\ |
1316 | +\x03\x4c\xf3\x42\xfd\x13\x6a\x11\xac\x2e\xdc\x23\x14\x12\xd8\xfd\ |
1317 | +\x69\xde\xbf\x1e\x62\xf7\xde\x73\xf5\x09\x5c\xd7\xf5\x6a\x21\x04\ |
1318 | +\xa8\x2a\x3f\xe6\x86\x58\xfa\x79\x92\xf9\x42\x33\xdb\xbe\x36\xb3\ |
1319 | +\x54\x1c\xad\x6f\x20\xa5\x0c\x10\x2c\xbf\xbb\xce\x5a\xcb\x2e\xee\ |
1320 | +\x8c\xcc\x92\xcb\x8d\x30\x71\x7f\x80\xf9\x37\x83\x18\xe2\x7c\xed\ |
1321 | +\x13\x1c\xc7\xf9\x1b\x9e\xfa\x4e\xd5\xbd\x41\xcf\xd1\x61\xba\xa7\ |
1322 | +\xa6\xc8\xe5\xa6\x39\x94\x3c\xcb\x87\xe9\xe7\x74\xb4\xcc\x78\x06\ |
1323 | +\xa1\x7f\x09\xa4\x94\xd8\xb6\x4d\xab\x7a\xc2\xf6\xb6\x18\x6d\x9d\ |
1324 | +\x87\xe9\xeb\x4b\x60\xdb\x51\x2c\xcb\x24\x7a\xf0\x12\x9d\xad\x2f\ |
1325 | +\x99\x1c\x6b\xda\x19\x20\xb0\x2c\xcb\x33\x5a\xaf\x7c\xe2\xf3\xdc\ |
1326 | +\x4d\x7a\x8f\x8d\x03\x90\x4c\xf6\x63\x18\x06\x00\x66\xfb\x01\xcc\ |
1327 | +\xf6\xfd\xac\xad\xbc\xba\x02\x5c\x14\x99\x4c\x26\x53\x28\x14\x8e\ |
1328 | +\xfb\x49\xf6\xec\x78\x4a\x57\x47\x85\x9e\x23\xc3\x00\xbc\x98\x99\ |
1329 | +\x65\xf4\xd6\x04\x77\xc7\x2f\x03\xf0\xad\x5c\xe4\xed\xb3\x81\x5f\ |
1330 | +\x5a\xff\x8e\x0a\xad\x75\x20\xd5\xc9\xb1\xa6\x2e\x10\x0e\xe8\x40\ |
1331 | +\xc0\x75\x74\xfb\x0f\xbf\x09\xcf\xe7\xda\xb9\x46\xf0\x00\x00\x00\ |
1332 | +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1333 | \x00\x00\x02\xb7\ |
1334 | \x89\ |
1335 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1336 | @@ -1332,252 +2217,6 @@ |
1337 | \x6b\xfb\xc5\xe2\x9d\xd7\x8a\xbf\xed\x44\x83\xc5\x22\xeb\xb2\xec\ |
1338 | \xd4\x9c\x3c\xfd\xe2\xf3\x62\xff\x2f\x23\xd3\xd8\xa3\xe1\xf7\x88\ |
1339 | \x77\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1340 | -\x00\x00\x02\x7b\ |
1341 | -\x89\ |
1342 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1343 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1344 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1345 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1346 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1347 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1348 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xf8\x49\x44\ |
1349 | -\x41\x54\x38\x8d\x95\x92\x3d\x68\x13\x71\x18\xc6\x9f\xf7\x2e\xc9\ |
1350 | -\x35\xa9\x9a\x90\xf8\xd1\x5a\x95\x7e\x91\x2f\x2c\x7e\x05\x5d\xc4\ |
1351 | -\xb1\x8b\x53\x31\x60\xb5\x83\x43\xc1\xc1\x45\x10\x8a\x43\xa7\x88\ |
1352 | -\xe8\x10\xb0\xe2\x5c\x50\x3a\x4a\x26\xb9\x29\x3a\x74\x91\x40\x6d\ |
1353 | -\x16\xab\x68\x2e\x88\x41\x8a\x16\xdb\x6b\x43\x72\xa1\x21\x77\xf7\ |
1354 | -\x7f\x1d\x34\xe1\xae\x09\xc5\x3e\xd3\xff\xeb\x7d\xde\xdf\xc3\xfb\ |
1355 | -\xa7\x7c\x3e\x9f\x2b\x14\x0a\x37\x70\x00\xa5\xd3\xe9\x9b\xc9\x64\ |
1356 | -\xf2\x35\x00\x20\x93\xc9\xf0\x41\xf5\xaf\x06\xcc\x0c\x4f\xdb\x55\ |
1357 | -\xd7\x75\x08\x21\x00\x00\x44\xd4\xe9\xd6\x5e\x13\x11\x64\x59\x46\ |
1358 | -\x30\x18\x74\xd1\x74\x0c\x84\x10\xd0\x34\xcd\x55\xe0\x14\x11\x21\ |
1359 | -\x91\x48\x74\xc5\xf1\x38\x37\xb1\x58\x6c\x5f\x82\x5e\xf2\x38\x1f\ |
1360 | -\x3a\x09\xf6\xea\xbf\x08\xa2\xd1\x68\x8f\x8e\x4d\x30\x2b\x90\x24\ |
1361 | -\x09\x82\x79\x7f\x83\x72\xb9\xec\xba\x8c\xc7\xe3\x68\x99\x3e\x64\ |
1362 | -\x97\x3e\x20\xf7\xae\x82\xdf\xba\x81\x13\xc7\x8e\x60\x24\xe4\xc3\ |
1363 | -\xd3\x54\xd6\xb7\xbb\x3a\xd7\x72\x45\xd8\x4b\x60\x5a\x02\x93\xf7\ |
1364 | -\xde\x80\xfb\x42\x48\x5e\xb9\x8a\x84\xac\x60\x4b\xaf\xe3\x6b\xf9\ |
1365 | -\x13\x40\x5b\x45\x7f\x2a\x7b\xc9\x45\xa0\x69\x9a\x2b\xf3\xa2\xfa\ |
1366 | -\x03\xb6\xf7\x30\xce\x5e\xb8\x88\x81\x90\x07\xcf\x67\x4f\xe1\xf6\ |
1367 | -\x42\x05\xdb\xad\x14\x8c\xe6\xca\xb0\x59\xd7\xe7\xbb\xa6\xe0\x24\ |
1368 | -\x58\x7e\xbc\x86\xb1\xf3\x97\x31\x14\xf1\x62\x7c\x50\x01\x00\x9c\ |
1369 | -\x1b\x0e\x60\xdb\xb0\xf1\xf3\xd7\xe8\x21\x36\x76\xa6\x5d\x11\x4a\ |
1370 | -\xa5\x92\xcb\x60\x63\xb3\x86\x51\x59\xc1\x93\x99\x93\x50\xbc\x7f\ |
1371 | -\xcf\x1f\x4e\x1d\xc7\xdd\xc9\x08\x22\x33\x3a\x14\x16\xa7\x7b\x12\ |
1372 | -\xb4\x4d\x86\x06\xd6\xb0\xa9\xd7\x30\xfd\xac\x82\x89\x33\x7d\x78\ |
1373 | -\x74\x6b\x10\xf7\x17\xd7\xf1\xf6\x63\x1d\x64\x36\xc0\x24\x57\x3a\ |
1374 | -\x06\xe1\x70\xb8\x6b\x44\xb3\x53\x13\x78\x91\x2b\xa1\x6a\xf5\x43\ |
1375 | -\xaf\x99\xd8\xa8\x1e\xc5\xf2\x67\x03\x5f\xd6\x9b\xf0\x55\xcb\x06\ |
1376 | -\xb1\xfd\x8a\x54\x55\x55\x8b\xc5\xe2\xf5\xae\x6a\x00\xcc\xc0\xd2\ |
1377 | -\xfb\x00\x76\xac\x10\x1a\xfd\x63\x30\x25\x3f\xc8\x6c\x20\x60\x7c\ |
1378 | -\xb3\xac\xa6\xb1\x02\x61\x5f\x23\xee\xf1\x39\x9c\xf2\xa7\xb2\x32\ |
1379 | -\x48\x7a\xc0\x24\xdf\x21\xb6\x47\x98\xe4\xef\xc4\xf6\x4b\xb0\x58\ |
1380 | -\xd8\x5d\x9d\x13\x7f\x00\x70\x45\xf0\x0c\xcd\xc0\xad\x0d\x00\x00\ |
1381 | -\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1382 | -\x00\x00\x02\x5a\ |
1383 | -\x89\ |
1384 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1385 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1386 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1387 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1388 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1389 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1390 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xd7\x49\x44\ |
1391 | -\x41\x54\x38\x8d\x95\x90\x41\x48\x54\x51\x14\x86\xbf\x3b\x6f\x94\ |
1392 | -\x16\xe6\xbc\x9e\x11\x82\x08\xe1\xd0\xdc\x37\x63\x22\x16\xb5\x32\ |
1393 | -\x82\x62\x20\x68\x51\xd4\x40\xd0\xb2\x56\x6d\xda\xe4\x32\x82\x59\ |
1394 | -\x99\x0b\x83\x5a\x69\x69\xd4\x26\x2a\x5a\xb8\x18\x2a\x66\x40\x22\ |
1395 | -\xa5\xb1\x68\xa0\x85\x34\xbd\x37\x46\x8a\x58\x4a\x8c\x91\xd1\x30\ |
1396 | -\x59\xdd\xdb\x46\x5f\xef\xd5\xcc\x80\xff\xea\x5c\xce\x3d\xff\xf9\ |
1397 | -\xce\x2f\xb2\xd9\xec\xa3\x7c\x3e\x7f\x9a\x2d\x28\x95\x4a\x9d\x49\ |
1398 | -\x24\x12\x0f\x01\x48\xa7\xd3\x7a\xab\xda\x98\x41\x6b\x4d\x78\xd3\ |
1399 | -\xb5\x5c\x2e\xa3\x94\x02\x40\x08\xe1\x6d\xdb\xac\x85\x10\x18\x86\ |
1400 | -\x41\x24\x12\x09\xd0\x78\x06\x4a\x29\x5c\xd7\x0d\x0c\xf8\x25\x84\ |
1401 | -\x20\x1e\x8f\xff\x77\x4e\xd8\xff\x90\x52\x36\x24\xa8\xa5\xb0\xff\ |
1402 | -\xa3\x9f\x20\x28\x8d\xae\x3a\x74\xef\x3b\xd5\x98\x20\x16\x8b\xd5\ |
1403 | -\xd8\x58\xe5\xcb\xe2\x63\x56\x16\xaf\xa1\xf5\x89\xc6\x06\xa5\x52\ |
1404 | -\x29\xd0\xb4\x6d\x1b\xad\xc2\x2c\x17\xaf\xb2\x5e\xf9\xc8\xea\xc2\ |
1405 | -\x03\x4c\xf3\x42\xfd\x13\x6a\x11\xac\x2e\xdc\x23\x14\x12\xd8\xfd\ |
1406 | -\x69\xde\xbf\x1e\x62\xf7\xde\x73\xf5\x09\x5c\xd7\xf5\x6a\x21\x04\ |
1407 | -\xa8\x2a\x3f\xe6\x86\x58\xfa\x79\x92\xf9\x42\x33\xdb\xbe\x36\xb3\ |
1408 | -\x54\x1c\xad\x6f\x20\xa5\x0c\x10\x2c\xbf\xbb\xce\x5a\xcb\x2e\xee\ |
1409 | -\x8c\xcc\x92\xcb\x8d\x30\x71\x7f\x80\xf9\x37\x83\x18\xe2\x7c\xed\ |
1410 | -\x13\x1c\xc7\xf9\x1b\x9e\xfa\x4e\xd5\xbd\x41\xcf\xd1\x61\xba\xa7\ |
1411 | -\xa6\xc8\xe5\xa6\x39\x94\x3c\xcb\x87\xe9\xe7\x74\xb4\xcc\x78\x06\ |
1412 | -\xa1\x7f\x09\xa4\x94\xd8\xb6\x4d\xab\x7a\xc2\xf6\xb6\x18\x6d\x9d\ |
1413 | -\x87\xe9\xeb\x4b\x60\xdb\x51\x2c\xcb\x24\x7a\xf0\x12\x9d\xad\x2f\ |
1414 | -\x99\x1c\x6b\xda\x19\x20\xb0\x2c\xcb\x33\x5a\xaf\x7c\xe2\xf3\xdc\ |
1415 | -\x4d\x7a\x8f\x8d\x03\x90\x4c\xf6\x63\x18\x06\x00\x66\xfb\x01\xcc\ |
1416 | -\xf6\xfd\xac\xad\xbc\xba\x02\x5c\x14\x99\x4c\x26\x53\x28\x14\x8e\ |
1417 | -\xfb\x49\xf6\xec\x78\x4a\x57\x47\x85\x9e\x23\xc3\x00\xbc\x98\x99\ |
1418 | -\x65\xf4\xd6\x04\x77\xc7\x2f\x03\xf0\xad\x5c\xe4\xed\xb3\x81\x5f\ |
1419 | -\x5a\xff\x8e\x0a\xad\x75\x20\xd5\xc9\xb1\xa6\x2e\x10\x0e\xe8\x40\ |
1420 | -\xc0\x75\x74\xfb\x0f\xbf\x09\xcf\xe7\xda\xb9\x46\xf0\x00\x00\x00\ |
1421 | -\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1422 | -\x00\x00\x02\x7d\ |
1423 | -\x89\ |
1424 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1425 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1426 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1427 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1428 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1429 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1430 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xfa\x49\x44\ |
1431 | -\x41\x54\x38\x8d\x95\x91\xbd\x6b\x53\x51\x18\xc6\x7f\xe7\xde\x24\ |
1432 | -\x8d\x49\x4c\x6e\x22\x42\x41\x02\xd6\x4a\xbe\x44\x44\x5c\xaa\x83\ |
1433 | -\x20\xc5\x41\x1c\x4d\x51\x27\x97\x4e\x0e\x0e\x82\x53\x07\x09\x45\ |
1434 | -\xa1\x83\xf8\x07\x28\xb4\x0a\x2e\x1a\x50\x68\x16\x03\x5a\x10\x35\ |
1435 | -\xa2\x64\xe9\xa2\x49\x90\x88\xc5\x8f\xb4\xc4\x04\x73\xc1\xe4\x26\ |
1436 | -\xf7\x1c\x17\x13\x72\x9b\x50\xec\x03\x07\xce\xcb\x39\xcf\xf3\xfe\ |
1437 | -\x5e\x5e\x91\xcf\xe7\xb3\x85\x42\xe1\x02\xbb\x50\x3a\x9d\xbe\x98\ |
1438 | -\x4a\xa5\x1e\x03\x90\xc9\x64\xd4\x6e\xf5\xcf\x83\x52\x0a\x57\x3f\ |
1439 | -\xb5\x5e\xaf\x23\xa5\x04\x40\x08\x31\xe8\xd6\xbf\x0b\x21\xd0\x75\ |
1440 | -\x9d\x50\x28\xe4\xa0\x19\x04\x48\x29\x29\x97\xcb\x0e\xc3\xb0\x84\ |
1441 | -\x10\x24\x93\xc9\x91\x71\x5c\xc3\x45\x3c\x1e\xdf\x91\x60\x9c\x5c\ |
1442 | -\xc3\x1f\x87\x09\xb6\xeb\xbf\x08\x62\xb1\xd8\x98\x8e\x6d\x94\x9a\ |
1443 | -\x40\xd3\x34\xa4\x92\x3b\x07\x54\x2a\x15\xc7\x63\x22\x91\xc0\xea\ |
1444 | -\xe9\x2c\xad\x2e\xf2\xe4\xdd\x53\x6a\x8d\x4d\x26\xf7\x4d\x72\x48\ |
1445 | -\x9f\x62\x31\x7d\xdb\xd3\xcd\xb6\x2d\xc7\x08\xdb\x09\xac\x5e\x97\ |
1446 | -\xd9\x5b\x67\xd1\x82\x70\xfc\xcc\x11\x84\x27\xc5\x66\x63\x8b\xd2\ |
1447 | -\xfa\x47\xd0\x29\xba\xd3\xde\x13\x0e\x82\x72\xb9\xec\x98\xf9\xde\ |
1448 | -\x9b\xfb\x28\x9f\xcd\xb1\x99\xa3\x98\x56\x8b\x96\x65\x22\xbd\x3d\ |
1449 | -\xa6\x67\xa2\x98\xaf\xcc\x83\xed\x5f\xdd\x85\x91\x2d\x0c\x13\xbc\ |
1450 | -\x7c\xb8\x46\xea\xd4\x61\x5a\x9d\xdf\xb4\xba\x2d\x4c\xab\x85\xdf\ |
1451 | -\x1d\x60\x2e\x7e\x89\xf5\xea\x8d\x00\x4d\x2e\x6b\xc3\x1d\x4b\xa5\ |
1452 | -\x92\xe3\xfc\xa8\xff\xc4\xef\xf3\xb3\x70\xf2\x26\x28\xd8\xeb\x09\ |
1453 | -\xb2\x72\xee\x11\x6f\xbf\xbd\xa6\xeb\xee\x80\x24\x3a\x96\xa0\x4f\ |
1454 | -\x11\xdd\x7f\x80\x6a\xad\x8a\x31\x11\xe6\xf9\xdc\x1a\x2e\xcd\x45\ |
1455 | -\xb3\xd3\x60\xf5\xf3\x33\xd4\x1f\x01\x1a\xd5\x01\x41\x24\x12\x21\ |
1456 | -\x12\x89\x10\x0e\x87\x31\x0c\x03\xc3\x30\x98\x9f\x9d\xe7\xfb\xa7\ |
1457 | -\x2d\xee\x7c\x58\x42\x08\x81\xad\x6c\xae\xbd\xb8\x4a\xc7\xee\x20\ |
1458 | -\xbf\xe8\x26\x36\x2b\x22\x97\xcb\xe5\x8a\xc5\xe2\xf9\x91\x05\x03\ |
1459 | -\x4a\x29\x96\xab\x0f\x68\x7a\x1a\xf8\xa6\xdd\x04\x82\x3e\xbe\xd6\ |
1460 | -\x36\xd0\x37\xf6\xf4\x2c\xb3\xf7\x1e\x9b\xd3\x42\x29\x35\xce\x3b\ |
1461 | -\x90\x3b\xed\xd5\xd1\xb8\x8e\xa6\xae\x20\xc5\x14\x9a\xaa\x62\x8b\ |
1462 | -\x65\x14\x77\xbb\xd9\xb6\xfc\x0b\xe9\xb0\xf7\x9f\x1d\xb8\x7d\xd3\ |
1463 | -\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1464 | -\x00\x00\x01\xf2\ |
1465 | -\x89\ |
1466 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1467 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1468 | -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
1469 | -\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
1470 | -\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1471 | -\xd5\x0b\x0a\x12\x39\x0d\xf9\xdd\x70\x50\x00\x00\x01\x7f\x49\x44\ |
1472 | -\x41\x54\x38\xcb\xa5\x91\x4d\x88\x52\x51\x18\x86\x9f\x63\x2a\xfe\ |
1473 | -\x40\xa6\x8b\x10\x5a\x04\x41\xb4\x0e\x82\x99\x20\x9a\xe5\x2c\xe3\ |
1474 | -\x62\x11\xb4\xa9\x88\x20\x88\xfe\x98\xdd\x6c\x66\xb6\xb3\x08\xa2\ |
1475 | -\x5d\x50\x33\xce\x2a\x44\xa4\x65\x49\x50\xb6\x6c\x17\x18\x46\x9b\ |
1476 | -\x88\x22\x28\x05\x0b\xb1\x7b\x8f\x47\xcf\xfd\x66\x71\xed\x0a\xe2\ |
1477 | -\x05\xcd\x97\x0f\x0e\x9c\xc3\xf7\xbc\x2f\xef\x51\x97\x2e\x97\xb6\ |
1478 | -\x8a\xc5\xe2\x36\x53\x32\xc6\x04\xe7\xc0\xdc\xda\xdb\xdd\x7f\x42\ |
1479 | -\x84\xd4\x9d\x7b\xb7\xe5\xfa\xd5\x1b\x33\x1f\xb5\xf6\x78\xb6\xf7\ |
1480 | -\x94\x5e\xaf\x77\xa5\x5a\xa9\x3d\x8f\x04\x94\x9c\x8b\xb4\x3e\xb5\ |
1481 | -\xa2\x4c\x78\xdb\x78\x33\x7d\xf5\xa8\x5a\xa9\x3d\x00\x88\x03\xa4\ |
1482 | -\xd3\x19\x8e\xe4\xf2\x91\x00\xe7\x42\x29\x70\x53\x0a\xa5\x14\xb5\ |
1483 | -\x17\xd5\xfb\x40\x00\x30\xc6\xe0\x79\x2e\xaf\x3f\xf6\x69\x76\x32\ |
1484 | -\xcc\xa5\xc3\x0e\x67\x6e\x3a\x52\x48\xe9\xcf\x61\x82\x66\x27\xc3\ |
1485 | -\xe3\x8d\x75\xb4\xb1\x73\x31\x52\xc9\x43\xdc\x7d\x58\x3f\x15\x07\ |
1486 | -\xf0\x3c\x17\x80\x9f\xbf\x35\x5f\xda\x7f\xe7\x02\x9c\x38\x9a\x05\ |
1487 | -\x20\xa6\xb5\x26\x9d\x9e\x33\xfa\x0c\xc5\x5c\xd7\x0d\x13\xfc\x17\ |
1488 | -\xe0\x5f\x07\x4b\x01\x16\x4d\x60\xad\x8f\x1e\x06\x65\x87\xbf\x90\ |
1489 | -\x88\xf9\x08\x20\x22\x28\xa5\x10\x11\x44\xc0\x17\xc1\x5a\x61\x68\ |
1490 | -\x7d\xcc\x48\x18\x8c\x2c\x43\x2b\xe4\xb2\xc9\x09\xc0\xf3\x5c\x8e\ |
1491 | -\xe7\x06\x74\xfb\x86\x1f\x5d\x0f\x44\xe1\x23\x8c\x07\x11\x10\x04\ |
1492 | -\x91\x31\x18\x18\x59\x99\x00\x7e\x75\xda\x9c\x3e\x7b\x8e\x0f\x5f\ |
1493 | -\xff\x8c\x97\x02\x77\x11\xf0\x11\x04\x05\x22\x61\xaa\x95\x93\x05\ |
1494 | -\xea\x2f\x5f\x91\xd7\xdf\xcb\xea\xfc\xb5\x9d\x86\x9b\x38\xb6\xb6\ |
1495 | -\x68\x79\xd9\xe1\xb7\xf7\xef\xca\x9b\xab\x2c\xab\x03\xc2\x87\xb4\ |
1496 | -\xca\xa7\xb0\xe2\xf8\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ |
1497 | -\x82\ |
1498 | -\x00\x00\x02\xd0\ |
1499 | -\x89\ |
1500 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1501 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1502 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1503 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1504 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1505 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1506 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x4d\x49\x44\ |
1507 | -\x41\x54\x38\x8d\x8d\x92\x4b\x48\x94\x61\x14\x86\x9f\x6f\xfc\xe7\ |
1508 | -\xf2\x8f\x3a\x9a\x58\x86\x89\x83\xe5\x05\x5a\x68\x57\x49\x14\xac\ |
1509 | -\x55\x60\x41\x0c\x26\x15\x51\x66\x41\x04\x95\x15\xe1\xa6\x84\x5c\ |
1510 | -\xe5\x22\x82\x88\x16\x09\x85\xb4\xa8\x28\x89\x68\x19\x59\x79\x6d\ |
1511 | -\x53\xd6\x30\x86\x56\x0c\x53\x44\x03\xe9\xd4\x28\x73\xfb\x67\xfe\ |
1512 | -\xb9\x7c\x2d\x06\x27\x94\x19\xf0\xdd\x1d\xce\x77\x9e\xf3\x7e\xe7\ |
1513 | -\x1c\xf1\x74\xe8\xc9\xb5\xf1\x89\xb1\x3e\x56\x48\xd7\x75\x00\x0e\ |
1514 | -\x1f\x3a\x72\x66\x77\xeb\x9e\x81\x95\xf9\x25\x29\xe3\x13\x63\x7d\ |
1515 | -\x5d\x9d\xa7\xb2\x26\xa3\x51\x8d\xfb\x83\xf7\xee\x1a\x15\x63\xa0\ |
1516 | -\xb9\xb9\xe5\x71\xb6\x37\xe2\xfc\x85\xb3\xb2\xdd\x71\x90\x99\xd9\ |
1517 | -\x99\x5c\x4d\x78\x3b\xf2\x66\x59\xbc\xaf\x6d\xff\xad\xce\xe3\x27\ |
1518 | -\x2e\x01\x28\x00\xaa\x6a\xa5\xb8\x68\x4d\x4e\x80\xe3\x40\x7b\xba\ |
1519 | -\x9b\x10\x08\x21\x78\xf6\x7c\xe8\x62\x06\xa0\xeb\x3a\x9a\x16\xe1\ |
1520 | -\xd5\xe7\x10\xd3\x3e\x6b\x4e\xc8\x32\xd9\x1c\xec\x3c\xfd\x50\xd6\ |
1521 | -\x57\x9a\xbf\x66\x1c\x4c\xfb\xac\xdc\xbe\xbc\x97\xa8\x9e\x5c\x15\ |
1522 | -\xc3\x62\xca\xa3\xfb\xe6\xcb\x3a\x05\x40\xd3\x22\x00\xfc\x5e\x88\ |
1523 | -\xe2\x99\x0f\xaf\x0a\xb0\x71\x5d\x3e\x00\x4a\x34\x1a\x45\x55\x73\ |
1524 | -\x5b\x4f\xa5\x24\xa3\x93\x6e\xa6\x9c\x5e\x02\x81\x10\x36\x5b\x01\ |
1525 | -\xdb\xb7\x6c\xc0\xee\x68\x48\x03\x22\x91\x48\xc6\x41\xb6\xe2\x81\ |
1526 | -\xc1\x49\x8c\x96\x42\x1a\x76\x35\x21\x14\x33\xbe\xbf\x41\x3e\xce\ |
1527 | -\x7c\xc1\xe3\x79\x8d\xb5\xc4\x88\x61\x69\x06\xd9\x34\x3a\xe9\x4e\ |
1528 | -\x17\x37\x36\x52\x6b\x2f\xe1\xc5\xd5\x5a\x6a\xab\x4a\xb1\xda\xb7\ |
1529 | -\x31\x1f\x14\xf8\xe6\x42\x69\x40\x2e\x07\x53\x4e\x2f\x95\x35\x75\ |
1530 | -\xac\xb5\x29\xd4\x94\x9b\x31\x29\x82\xcd\x15\x2a\x95\xa5\x46\xc2\ |
1531 | -\x6a\x15\x0b\xfe\xd8\xff\x3b\x30\x1a\x52\x48\x40\x4a\x89\x10\x02\ |
1532 | -\x29\x25\x81\x40\x08\x14\x0b\xfd\xc7\xca\x29\xb0\x18\x00\xe8\xed\ |
1533 | -\x28\xe3\x5c\x5b\x29\x25\x47\x17\x10\x31\x9d\xcc\x16\xec\x45\x31\ |
1534 | -\xfc\x21\x1d\xaf\x5f\x03\x29\x48\x21\xb1\x16\x58\xf1\xfd\x09\x72\ |
1535 | -\xf2\xce\x4f\xea\xed\x16\x7a\x3b\xd6\xd3\xf3\xc0\xcb\xb0\x2b\x88\ |
1536 | -\x88\x47\x50\xcc\xa6\xf4\x17\xe6\x7c\xf3\x6c\x6d\x6a\xc1\xf9\x63\ |
1537 | -\x91\x78\x42\xa2\x27\x53\xc4\x13\x92\xea\xea\x32\xbc\x9e\x59\xde\ |
1538 | -\xbb\xc3\x0c\xbb\x82\x2c\x86\x93\x0c\xbb\x82\x38\xbf\x6b\x98\x83\ |
1539 | -\x6e\xea\xab\xcc\x9f\x44\x77\xff\xa3\x91\x77\x9e\x54\x6b\xb6\x19\ |
1540 | -\x48\x09\x9e\x6f\x7e\x12\x86\x7c\x62\x85\x9b\x88\x1b\x54\x44\x3c\ |
1541 | -\x82\x29\xe0\xa6\xd8\x18\x0e\x2f\x06\xf4\x62\x21\xa5\xcc\x79\x03\ |
1542 | -\x00\xea\x8e\x1b\x0a\x22\xef\x0a\x42\x74\x91\x4a\x56\x60\xc8\xfb\ |
1543 | -\x85\x94\x83\xc8\xe4\x75\xed\x43\x4f\xe2\x1f\x46\x03\xef\x1d\x6f\ |
1544 | -\x58\xa2\x9f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1545 | -\x00\x00\x02\x68\ |
1546 | -\x89\ |
1547 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1548 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1549 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1550 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1551 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1552 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1553 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xe5\x49\x44\ |
1554 | -\x41\x54\x38\x8d\x95\x93\xbd\x6b\x53\x51\x18\x87\x9f\xf3\x75\x6f\ |
1555 | -\xd2\x18\x4a\x15\xb1\xd4\x26\x20\x22\x34\x5a\x07\x1d\x54\x70\x69\ |
1556 | -\x11\xba\xb8\x94\x86\xaa\x08\xe2\xa4\x82\x68\x3b\xe8\xe2\xe0\x24\ |
1557 | -\x82\xff\x40\x04\xc1\xc1\x8f\xb1\x88\xc5\xa1\x53\x47\x87\xda\x52\ |
1558 | -\x89\xd4\x14\x1c\x4a\xa5\x2d\x58\x2c\x46\x03\x6d\x62\x6f\x92\x73\ |
1559 | -\x1c\x92\x86\xda\x7b\x03\xfa\xc2\xbb\xbc\x1f\xcf\xf9\xbd\x3f\x38\ |
1560 | -\xe2\xea\xd9\x9b\x83\xd2\x78\x39\xb6\x83\x0c\xff\x19\xaf\x67\x9f\ |
1561 | -\x09\x0d\xfa\xe5\x66\x5f\x7f\xea\xe1\xd8\x00\x47\xd3\xdd\x74\x76\ |
1562 | -\x76\x36\xba\xce\x61\x6b\x35\x5c\xbd\xde\x48\x6b\x31\xc9\x64\x6b\ |
1563 | -\xf9\xda\x99\x5b\x08\x21\x84\x76\xae\x9e\x5a\xab\x3a\x36\x7e\x6d\ |
1564 | -\xd1\x73\xa8\xc6\x8f\xc9\x77\xe4\xc7\xef\x52\x59\x59\x01\x40\x19\ |
1565 | -\x83\x54\x0a\x67\x2d\x89\x74\x9a\xbe\x47\x8f\xe9\x1d\x19\x01\x60\ |
1566 | -\xf4\xc4\xa8\xd1\xca\xc1\xf1\xf4\x7e\x9e\xbc\x9a\xa7\x6a\xe7\xf8\ |
1567 | -\x1d\x54\x89\x0f\x3d\xe0\xe4\xda\x27\x06\xe6\xde\x70\xf1\xca\xa5\ |
1568 | -\xd6\xab\xdf\x96\x97\x99\xb9\x7d\x87\xfc\x46\x57\xab\xa6\xc1\x71\ |
1569 | -\xb0\xb7\x87\xec\xd0\x69\xba\x12\x1a\xa3\x25\x9b\xe5\x80\xf5\xf5\ |
1570 | -\x53\x54\xa7\x9f\x13\xc4\x62\xad\xe1\x03\x99\x0c\x62\x6a\x0a\xa5\ |
1571 | -\xc4\x6e\x00\x14\xcb\x16\xfc\x0e\x26\xdf\x7f\x26\xff\x65\x15\xa3\ |
1572 | -\x15\x71\x1c\x59\xeb\x28\x16\x0a\x21\xf3\xa4\x94\x7f\x03\x00\x04\ |
1573 | -\x2e\x6c\xb3\x73\xfc\x5c\x5c\x0c\x95\x95\xdc\xa3\x00\x40\x0a\x11\ |
1574 | -\x1a\x04\xa8\x96\x4a\xff\x06\xa0\x0d\xc0\x28\x15\xaa\x45\x9f\x10\ |
1575 | -\xbd\x1f\x09\x88\x56\x10\x61\xc1\x0e\xc0\xba\x46\x73\xe7\xcc\x48\ |
1576 | -\x80\x6b\x43\x28\x6d\x07\x7c\x2d\x57\x00\x38\x92\x88\x37\x01\x11\ |
1577 | -\x27\x38\x1b\x5e\x16\xce\xb2\xe0\x25\x59\xc8\xde\xc7\x48\x41\xe5\ |
1578 | -\x6d\x0e\x9f\x22\x32\x4a\x81\xdd\xa3\xc0\x49\xc9\x87\xe1\x31\xbe\ |
1579 | -\xf7\x9f\xc7\x68\x85\x67\x14\xb3\xf7\x9e\x72\x78\x7e\x9a\x7d\xbb\ |
1580 | -\x01\x56\xea\x55\xbb\xb4\x94\x4a\x0c\x1e\xc3\x68\x49\x22\xe6\x11\ |
1581 | -\xf3\x35\x1d\xbe\x47\x70\xee\x02\xdd\xbe\xc6\xf7\x34\x31\x4f\xe3\ |
1582 | -\x1b\x83\x37\x7c\xb9\xa5\x60\xa2\x30\x51\xd5\x50\xbb\x5e\xcf\x7f\ |
1583 | -\xcc\xbd\xb8\x31\x93\x01\x68\xfe\x45\xea\xc0\x56\x33\xdb\x85\x73\ |
1584 | -\xce\xfd\x01\x4a\xb1\x9e\xb9\x8a\x95\x2d\xe0\x00\x00\x00\x00\x49\ |
1585 | -\x45\x4e\x44\xae\x42\x60\x82\ |
1586 | \x00\x00\x02\xd0\ |
1587 | \x89\ |
1588 | \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1589 | @@ -1625,176 +2264,252 @@ |
1590 | \x85\xd4\xed\x2a\xb6\x28\x70\x55\x91\xd2\x6b\x0a\x51\xa3\x48\xf9\ |
1591 | \x2d\x23\xc4\x90\x84\x5b\xfd\x2b\xba\xf9\x07\x8a\x58\x02\xe7\x84\ |
1592 | \xb0\x89\x4e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1593 | -\x00\x00\x01\xbb\ |
1594 | -\x89\ |
1595 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1596 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1597 | -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
1598 | -\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\ |
1599 | -\x0b\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1600 | -\xd5\x0b\x04\x15\x33\x13\x1c\xad\xc4\x0f\x00\x00\x01\x48\x49\x44\ |
1601 | -\x41\x54\x38\xcb\xa5\x93\x41\x4b\x02\x51\x10\xc7\x7f\x6f\x77\xf5\ |
1602 | -\x4b\x78\x94\x95\xee\x11\xf4\x01\x22\xea\x2c\x11\x14\xde\xed\x14\ |
1603 | -\x41\x41\x87\x50\x12\x6f\x7d\x80\x24\xba\x45\xa2\x29\x5d\x83\xbe\ |
1604 | -\x41\xd4\x35\xe8\xb2\xc4\x26\xa2\x6c\x0a\xa5\x54\x76\xd8\x9d\x0e\ |
1605 | -\xae\xaf\xc4\x24\xb5\xb9\xbc\x99\xc7\xfb\xff\xe6\xcd\x7b\x33\xf0\ |
1606 | -\x4f\x53\x00\xb9\x7c\xb6\x0a\x24\xa7\xd4\x16\x32\x07\x87\x5b\x56\ |
1607 | -\x18\x24\x97\x97\x56\xb0\xed\xc4\x44\xca\x76\xbb\x45\xe9\xa2\x98\ |
1608 | -\x06\x34\x00\xdb\x4e\xb0\xba\x79\x34\x11\xe0\xba\xb4\xaf\x7d\x0d\ |
1609 | -\x88\x46\xa3\x00\x2c\x2e\xcc\x21\x63\x6a\x15\xe0\xe6\xf6\x61\x68\ |
1610 | -\x5f\x03\x7c\xdf\x07\xc0\xb0\x4c\x90\xfe\x61\xa5\xc2\x15\x41\x50\ |
1611 | -\x78\xde\xcb\x08\x58\x03\x82\x20\xe8\x03\x0c\x13\x94\xfc\xc8\xa9\ |
1612 | -\x00\x78\x7c\xf2\x78\xed\xf6\x00\x10\x91\x51\xc0\xc0\x4c\xcb\x0c\ |
1613 | -\x3d\xa1\xf9\xdc\xe1\xfd\xe3\x93\xee\x5b\x0f\x50\x58\x11\xeb\x6f\ |
1614 | -\x80\x61\x1a\x78\xed\x0e\xcd\x56\x07\x44\x85\xd0\x08\x20\x28\xc5\ |
1615 | -\xf8\x12\x06\xd4\x7b\xa7\x39\x24\xfa\x7e\x40\xa5\xe3\x5f\x6f\x30\ |
1616 | -\xf8\x05\xcf\xad\x4f\xd5\x4d\x1a\x50\xab\xd5\xb8\x3a\xdf\x9b\x48\ |
1617 | -\xd4\x68\x34\x46\x00\x85\xea\x65\x39\x3d\x65\x2b\x67\x00\x54\x2e\ |
1618 | -\x9f\x9d\x07\xee\x76\xb6\x77\xf1\x7d\x1f\xd7\x75\x89\xc5\x62\x43\ |
1619 | -\x75\x02\x38\x8e\xa3\x7b\x25\x1e\x8f\x73\x72\x7a\x0c\x90\x52\xb9\ |
1620 | -\x7c\x56\xd6\xd7\x36\x66\x9a\xc4\x72\xa5\x88\x05\xa4\xca\x95\xe2\ |
1621 | -\xd9\x8c\xd3\x9c\xfa\x02\xfc\xc1\x78\x3b\xf4\x23\x18\xf8\x00\x00\ |
1622 | -\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1623 | -\x00\x00\x03\x90\ |
1624 | -\x89\ |
1625 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1626 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1627 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1628 | -\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\ |
1629 | -\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\ |
1630 | -\x67\x9b\xee\x3c\x1a\x00\x00\x03\x22\x49\x44\x41\x54\x38\x8d\x6d\ |
1631 | -\x52\x4d\x6c\x54\x65\x14\x3d\xf7\x7b\xef\x95\xf9\xad\x33\x6d\x07\ |
1632 | -\x5b\xa8\xb6\x0a\x86\x12\xa6\xa1\xa2\x33\x8d\x7f\xd1\x98\x46\x37\ |
1633 | -\xc4\x60\x58\xa8\xbc\x44\x8c\x90\x81\xf0\xb3\x61\x07\x1b\x0c\x4d\ |
1634 | -\x0c\x11\x74\x61\xa2\xe0\x03\xa3\x31\x4c\x25\x98\x34\x01\x37\xfc\ |
1635 | -\x04\x21\x92\xd4\xc2\xab\x71\xd1\xd0\x92\xd4\xd2\xc6\x01\x46\x3b\ |
1636 | -\xb4\x1d\xe8\xcc\xb4\xf3\xde\xfb\xbe\xeb\xa2\xf3\x92\x59\x70\x92\ |
1637 | -\x9b\xdc\xc5\x3d\x27\x27\xe7\x5c\x62\x66\xf8\x48\x65\xb2\xcf\x34\ |
1638 | -\xe8\xda\x11\x10\xde\xf4\xa4\x6a\xd5\x84\x98\x27\xc2\xb8\xe3\xca\ |
1639 | -\x13\x00\x2e\xd8\x96\xe9\xd6\xdd\x1e\x04\x70\x82\x7c\x81\x74\x26\ |
1640 | -\xbb\x45\xd3\xc4\x40\x4f\xd7\x2a\x7d\x5d\x67\xb3\xd1\xd6\x14\x01\ |
1641 | -\x98\x51\x28\x56\x30\x32\x76\xbf\x7c\x67\xfa\xa1\x27\x15\xef\xb6\ |
1642 | -\x2d\xf3\x6c\x7a\x57\x36\xc3\x8c\xef\x00\xc4\x88\x99\x91\xca\x64\ |
1643 | -\xd7\x1b\xba\x18\xd9\xda\xd7\x1d\x8a\xc7\x82\xd0\x89\xd0\x1c\x0d\ |
1644 | -\x20\x1c\xd0\x11\x0d\x19\x08\x1a\x02\x33\xc5\x45\x1c\xcf\x0e\x57\ |
1645 | -\x0a\xc5\x8a\x1d\x0d\x35\xf4\x3e\x2e\x57\x0d\x66\x34\x11\x33\xe3\ |
1646 | -\xd5\x3d\x67\x4f\xf5\xac\x6b\xfb\x34\x18\x30\xc4\xad\xd1\x1c\xaa\ |
1647 | -\xae\x07\x43\xd7\xe4\x9a\xd5\xb1\xc5\xbe\xf4\xf3\xe1\xde\xf5\xad\ |
1648 | -\xa4\x09\x82\x10\x84\x5f\xae\x4d\xa8\xb7\x5e\x6c\x17\x07\xbe\xbe\ |
1649 | -\xea\x38\xae\x6c\xd1\x01\x80\x99\x3f\xbc\x33\x5d\x10\xae\xa7\x58\ |
1650 | -\x31\x2f\x32\xe3\x33\xc7\x95\x67\xc6\xa7\x67\x93\x13\xf7\xe6\x8f\ |
1651 | -\x5e\xef\x68\xee\xda\xb7\x75\x53\x28\x11\x0b\xe1\xe3\x77\xbb\x44\ |
1652 | -\x2d\x06\x02\xa0\x04\x00\x48\xa9\xc2\x55\xc7\xf3\x92\x2f\x3c\xfb\ |
1653 | -\x83\x94\xea\x11\x80\x41\xdb\x32\xf3\xb6\x65\x5e\xf9\xe3\xdb\x8f\ |
1654 | -\x5e\x1a\x9d\x2c\xec\xdd\x7d\xec\x12\xee\x3f\x2c\x61\x7a\xa6\x0c\ |
1655 | -\xa9\x18\x00\x03\x00\x0b\x2c\xaf\xaa\xe9\xa9\x48\x7f\x63\x24\xf0\ |
1656 | -\x55\x67\xfb\xca\x6e\x00\x53\x75\x69\xeb\xba\x26\x76\x6e\x7b\x27\ |
1657 | -\xe9\x76\x3e\x1d\x45\xa2\x71\x05\x34\x41\xbe\x03\xd6\x6b\x77\xf1\ |
1658 | -\x5f\x3f\xdf\xbc\x80\x27\xe3\xb4\x27\xd5\x6b\x17\x87\x27\xab\x57\ |
1659 | -\xed\xa9\x25\xdf\xbc\xe3\xaa\x00\x00\xf6\x5b\xa8\x02\x30\x6a\x04\ |
1660 | -\xae\x9b\xdf\x00\xec\x04\xe0\x3e\x41\x58\xb7\x2d\xf3\x9e\x2f\xe0\ |
1661 | -\x9d\x3f\xfa\xbe\x06\x10\x98\x19\x17\xed\x7f\xd4\xa9\xf3\x7f\xe5\ |
1662 | -\xa4\x54\x3d\xb6\x65\x16\xeb\x59\x87\xb3\x63\xab\x4a\xe5\xa5\x8e\ |
1663 | -\xdf\x47\xc6\x6f\x00\x88\xe9\x00\x40\x04\x10\x11\xee\xfe\x57\x86\ |
1664 | -\x21\x18\x27\x07\xff\x24\x00\x5f\xd4\x93\x53\x99\x6c\x98\x88\xee\ |
1665 | -\xf6\x6e\x5c\x7b\x26\x3f\x33\x97\x02\xa0\x01\xa8\x0a\x00\x10\x44\ |
1666 | -\x04\x00\x1d\x89\x10\x56\xb7\x84\xf1\xe5\xfe\xb7\xa9\xad\x25\x72\ |
1667 | -\xec\x95\x3d\x3f\xdf\x4a\x65\xb2\xe9\x9a\xc6\xf6\x15\x86\xae\xe7\ |
1668 | -\xf2\xb3\x07\xf2\x85\xe2\xeb\x9a\x46\xae\x6d\x99\xae\x58\x76\x40\ |
1669 | -\x78\x5c\x71\x71\x61\x68\x8a\x3d\x8f\xd1\xbe\x32\x8a\xc3\x3b\xde\ |
1670 | -\x08\x7d\xd0\x97\x7c\xb9\xb5\x39\x72\x2d\xbd\x6b\xc0\x35\x74\xf1\ |
1671 | -\x8d\x54\x32\x3e\xf7\x68\x01\x4d\x8d\x41\xd2\x84\x18\x04\x00\xff\ |
1672 | -\x91\xa8\xff\xc7\xa1\xa5\x89\xdc\xdc\xe4\xa5\xe1\xc9\xce\xcc\x96\ |
1673 | -\x4d\xe1\x44\x2c\x88\xee\xb5\x09\x7a\xae\x3d\x1e\x2a\x96\x5d\xfc\ |
1674 | -\x3b\x5b\x82\xe3\x78\x14\x09\x1a\x38\x77\x79\xb4\xe2\x49\x75\x04\ |
1675 | -\x00\x96\x1f\x49\x31\x4d\xe4\xe6\x4e\xdf\x3c\xb9\x2d\xf9\xa0\xb0\ |
1676 | -\xf0\x49\xff\xf7\x37\xe6\x8f\x0f\xdc\x2c\x0d\xdf\xce\x23\x3f\x5b\ |
1677 | -\x46\xd5\x95\x10\x44\x28\xcc\x97\xe4\xb9\xcb\xa3\x8b\x52\xa9\x8c\ |
1678 | -\x6d\x99\x63\x00\xe0\xb7\xf0\x13\x80\xed\xb6\x65\x72\x2d\x30\x03\ |
1679 | -\xc0\x7b\x0d\x86\xb6\x57\x31\x6f\x90\x52\xc5\x0d\x5d\x9b\x21\xc2\ |
1680 | -\x50\xd5\x91\x87\x6c\xcb\xfc\xdb\x0f\xf7\x7f\x2e\x55\x76\x6a\x13\ |
1681 | -\x65\xcc\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1682 | -\x00\x00\x02\xcd\ |
1683 | -\x89\ |
1684 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1685 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1686 | -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1687 | -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1688 | -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1689 | -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1690 | -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x4a\x49\x44\ |
1691 | -\x41\x54\x38\x8d\x8d\x91\x5d\x48\x14\x51\x18\x86\x9f\x19\x67\xdc\ |
1692 | -\xdd\x71\xdb\x35\xaa\x4d\x42\x12\x8c\x32\x22\x8b\x20\xa5\x50\x32\ |
1693 | -\xbb\x29\x32\x28\x51\xa8\xa0\x32\x09\x22\x08\x35\xe9\x22\xa8\x20\ |
1694 | -\x6f\xaa\x9b\x02\xe9\x22\x0a\x2c\x21\xe8\x57\x43\x2f\x0a\x0a\xa1\ |
1695 | -\x15\x95\x20\x12\x0c\x5c\x8c\x12\xd6\x8c\x7e\xdc\x5d\x58\x7f\x66\ |
1696 | -\xdd\x99\x9d\xd9\x9d\xe9\x62\xd3\x50\x76\xa1\xf7\xe6\x70\xf8\xce\ |
1697 | -\x79\xbe\xe7\x7c\x47\x78\xd1\xf5\xfc\xda\xe0\xd0\x40\x1b\xcb\x62\ |
1698 | -\x18\x06\x00\xc7\x8e\x1e\x3f\xb7\xb7\xaa\xfa\xfe\xf2\xfa\x42\xa4\ |
1699 | -\xc1\xa1\x81\xb6\xc6\x86\x33\x19\x8b\xba\xae\xf1\xa0\xb3\xe3\x9e\ |
1700 | -\x2c\xc9\x73\x15\x15\x95\x4f\x33\x9d\x11\x9a\x5a\xce\xdb\x75\xb5\ |
1701 | -\xf5\x8c\x7d\x1e\xcb\xd6\x04\x7f\xff\xbb\x25\xfb\x9a\x83\x87\xda\ |
1702 | -\x1b\x4e\x9d\x6e\x05\x90\x00\x5c\x2e\x85\x7c\xef\xca\xac\x80\xda\ |
1703 | -\xc3\x75\xe9\x6e\x82\x80\x20\x08\xbc\xec\xe9\xba\xb0\x08\x30\x0c\ |
1704 | -\x03\x4d\x8b\xd3\x17\x88\x31\x1a\x51\xb2\x42\x96\xc4\x53\x4b\xd9\ |
1705 | -\xd9\xc7\xf6\xb6\xf5\x8e\x2f\x8b\x06\xa3\x11\x85\x3b\x17\xf7\xa3\ |
1706 | -\x1b\xa9\xff\x62\x38\x73\x73\x68\xbe\xfd\xb6\x44\x02\xd0\xb4\x38\ |
1707 | -\x00\x53\xd3\x3a\xc1\xf0\xfc\x7f\x01\x8a\x7d\x79\x00\x48\xba\xae\ |
1708 | -\xe3\x72\x65\x57\xb7\xec\x14\xfe\x40\x07\xc3\xc1\x5e\x66\xd5\x30\ |
1709 | -\xde\x15\x3e\x76\x16\x1f\xa1\xa8\xba\x25\x0d\x88\xc7\xe3\x8b\x06\ |
1710 | -\x99\x2e\xdf\x7d\x73\x02\x87\x37\x41\xf9\xbe\x4d\x88\x8e\x12\xc2\ |
1711 | -\xd1\x08\x23\x81\x2e\xae\x3e\x1b\xc0\x4d\x0b\xe2\xc2\x0c\x32\xc5\ |
1712 | -\x1f\xe8\xc0\xe1\x4d\x50\xb6\xa7\x14\x39\x2f\x87\xb8\x35\x8f\xad\ |
1713 | -\xa4\x28\xde\xb5\x96\x48\xea\x3b\x21\xfd\x55\x1a\x90\xcd\x60\x38\ |
1714 | -\xd8\xcb\x86\xad\x85\xc4\x0c\x15\xd5\x50\x51\x8d\x39\x64\x51\xe6\ |
1715 | -\xe4\x96\x46\xcc\x75\x2a\x51\x73\xe8\x9f\x81\x2c\x5a\xd8\x80\x6d\ |
1716 | -\xdb\xf0\x77\x9d\x55\x43\xb8\xdd\x6e\x2e\x95\x5f\xc1\xb6\x2d\x64\ |
1717 | -\x31\x97\x87\x07\x1e\xf1\x71\xea\x03\x66\x6e\x02\x33\x39\xc3\xe2\ |
1718 | -\x2f\x14\x79\x13\x44\x63\x06\x3f\xa3\x1a\xd8\x02\x16\x36\x6e\xc5\ |
1719 | -\xc7\x44\x68\x82\x35\x8a\x8f\xd7\x75\x7d\x38\x24\x27\x31\x43\xa5\ |
1720 | -\x67\xbc\x1b\x5b\x13\x90\xa5\xfc\xb4\x41\x28\x12\x66\xc7\xee\x4a\ |
1721 | -\x3e\x7d\x9b\xc1\x4c\xda\x18\x29\x0b\x33\x69\xb3\xb1\xa0\x86\xc9\ |
1722 | -\x40\x88\xf6\xe1\x5b\x38\x24\x27\x00\xad\xfe\x26\xb4\xa4\x86\x38\ |
1723 | -\xa9\xb0\xbd\xa0\x74\x44\x68\xbe\xf9\xa4\xff\x7d\xd0\xaa\xca\x34\ |
1724 | -\x03\x1b\x8b\xf1\xd8\x75\x2c\x77\x98\x55\x9b\x15\x3c\x1e\x37\x5f\ |
1725 | -\x7f\x8d\xc3\xa4\x82\xc7\x5c\x3d\x3f\x1d\xff\x9d\x2f\x2c\xbc\x39\ |
1726 | -\x5b\xe4\x7a\xa7\x84\xc8\x65\x44\x1a\x49\x51\x48\x0e\x3f\xb0\xe8\ |
1727 | -\xc4\xe2\x86\xd9\xad\x27\xff\x00\xd1\x6f\xf8\x15\x16\x3e\x02\x36\ |
1728 | -\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1729 | -\x00\x00\x02\x0b\ |
1730 | -\x89\ |
1731 | -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1732 | -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1733 | -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\ |
1734 | -\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\ |
1735 | -\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1736 | -\xd5\x0b\x0a\x13\x00\x30\xae\xf3\xdb\xcc\x00\x00\x01\x98\x49\x44\ |
1737 | -\x41\x54\x38\xcb\xa5\x91\x4d\x4b\x5b\x41\x18\x85\x9f\x91\xd4\x92\ |
1738 | -\x08\xa6\x29\x28\xb1\x4a\xc1\xd2\x2e\x5d\x08\x42\x2d\x94\xe6\x27\ |
1739 | -\x94\x60\x55\x70\xe3\x47\x29\x48\xab\xa8\x5b\xbb\x68\xb7\xdd\xb9\ |
1740 | -\x12\x84\x1a\x75\x55\x24\x04\x97\xea\xc2\x6a\x57\xe2\x42\x97\xba\ |
1741 | -\x13\xf1\xa3\xa0\x12\x35\x29\xe6\xde\x3b\xb9\x73\x5f\x17\x37\x5a\ |
1742 | -\x12\x12\xd4\xf6\x30\x30\x30\xc3\xfb\x9c\x33\x67\x54\x67\x77\xc7\ |
1743 | -\x97\x68\x34\xfa\x95\x12\x69\xad\xfd\xdd\xd1\x83\x33\x89\xb9\x29\ |
1744 | -\x2a\x48\x0d\x8f\x7c\x92\xfe\xde\xf7\x65\x2f\x6d\xdb\x62\x7a\xe6\ |
1745 | -\x3b\xd9\x6c\xb6\x27\x39\x9f\xfa\x51\x16\xf0\x71\x68\x50\xba\xde\ |
1746 | -\x75\xb3\xbd\xb3\x5d\xc9\x84\xd5\xb5\x9f\xa5\x47\x13\xc9\xf9\xd4\ |
1747 | -\x18\x40\xc0\x18\x43\x30\x18\xe2\x51\x38\x52\x11\x10\x7f\xdb\xe1\ |
1748 | -\xbb\x29\x85\x52\x8a\xd4\x42\x72\x14\xf0\x01\x5a\x6b\x2c\x2b\xc7\ |
1749 | -\x45\xe6\x9c\x7f\x51\xc0\x75\xdd\x5b\x13\xdc\xbc\xb7\x90\xa0\x08\ |
1750 | -\x00\xdc\x24\x48\x6c\x85\xef\x66\x5b\x1b\xa7\xed\x43\x5c\xc2\xd5\ |
1751 | -\x4e\x69\x02\x8f\xf1\x81\x18\x25\x26\x65\x15\x7a\x18\xe0\xf3\xe4\ |
1752 | -\x8a\x0f\xb8\x4e\xf0\xa4\xae\x09\xc7\x35\x1c\x9d\xd9\xb7\x02\x9e\ |
1753 | -\xd5\xd7\x00\x50\x05\x10\x0c\x86\xf8\x6d\x85\xa9\x0d\x55\xdf\xbb\ |
1754 | -\xc4\xaa\xeb\x0e\x32\x16\x34\x37\xdc\xad\x03\x63\x3c\xec\xbc\x29\ |
1755 | -\x4e\xb0\xbe\x07\x6d\x2d\x4f\x39\x4c\x5b\x00\x88\x08\x9e\x27\xb8\ |
1756 | -\xc6\xc3\xc9\x1b\x2e\x6d\x97\x8b\x4b\xcd\x49\xc6\xe6\x38\xe3\x90\ |
1757 | -\x73\x4c\xf1\x2f\x3c\x8f\x58\xa4\xff\x68\x8e\xce\x2c\x10\x85\x87\ |
1758 | -\x50\x58\x88\x80\x20\x88\x28\x44\x04\x01\xec\xbc\xf7\x17\x70\x7c\ |
1759 | -\x7a\x42\xeb\xab\xd7\x6c\xee\x9e\x17\x86\xc4\x1f\x12\xf0\x10\x04\ |
1760 | -\x05\x22\xfe\xb0\xc0\xcb\x17\x8f\x59\x5e\x5c\x22\x62\x1f\xcc\xaa\ |
1761 | -\x37\x7d\xdf\xd6\x72\x0f\x1a\x63\xf7\x2d\xaf\x26\xbf\xbf\xf1\x6b\ |
1762 | -\x76\xbc\x9d\xff\xd5\x15\x26\x94\xc3\xfa\x0c\x4b\xb2\xef\x00\x00\ |
1763 | +\x00\x00\x02\x68\ |
1764 | +\x89\ |
1765 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1766 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1767 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1768 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1769 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1770 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1771 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xe5\x49\x44\ |
1772 | +\x41\x54\x38\x8d\x95\x93\xbd\x6b\x53\x51\x18\x87\x9f\xf3\x75\x6f\ |
1773 | +\xd2\x18\x4a\x15\xb1\xd4\x26\x20\x22\x34\x5a\x07\x1d\x54\x70\x69\ |
1774 | +\x11\xba\xb8\x94\x86\xaa\x08\xe2\xa4\x82\x68\x3b\xe8\xe2\xe0\x24\ |
1775 | +\x82\xff\x40\x04\xc1\xc1\x8f\xb1\x88\xc5\xa1\x53\x47\x87\xda\x52\ |
1776 | +\x89\xd4\x14\x1c\x4a\xa5\x2d\x58\x2c\x46\x03\x6d\x62\x6f\x92\x73\ |
1777 | +\x1c\x92\x86\xda\x7b\x03\xfa\xc2\xbb\xbc\x1f\xcf\xf9\xbd\x3f\x38\ |
1778 | +\xe2\xea\xd9\x9b\x83\xd2\x78\x39\xb6\x83\x0c\xff\x19\xaf\x67\x9f\ |
1779 | +\x09\x0d\xfa\xe5\x66\x5f\x7f\xea\xe1\xd8\x00\x47\xd3\xdd\x74\x76\ |
1780 | +\x76\x36\xba\xce\x61\x6b\x35\x5c\xbd\xde\x48\x6b\x31\xc9\x64\x6b\ |
1781 | +\xf9\xda\x99\x5b\x08\x21\x84\x76\xae\x9e\x5a\xab\x3a\x36\x7e\x6d\ |
1782 | +\xd1\x73\xa8\xc6\x8f\xc9\x77\xe4\xc7\xef\x52\x59\x59\x01\x40\x19\ |
1783 | +\x83\x54\x0a\x67\x2d\x89\x74\x9a\xbe\x47\x8f\xe9\x1d\x19\x01\x60\ |
1784 | +\xf4\xc4\xa8\xd1\xca\xc1\xf1\xf4\x7e\x9e\xbc\x9a\xa7\x6a\xe7\xf8\ |
1785 | +\x1d\x54\x89\x0f\x3d\xe0\xe4\xda\x27\x06\xe6\xde\x70\xf1\xca\xa5\ |
1786 | +\xd6\xab\xdf\x96\x97\x99\xb9\x7d\x87\xfc\x46\x57\xab\xa6\xc1\x71\ |
1787 | +\xb0\xb7\x87\xec\xd0\x69\xba\x12\x1a\xa3\x25\x9b\xe5\x80\xf5\xf5\ |
1788 | +\x53\x54\xa7\x9f\x13\xc4\x62\xad\xe1\x03\x99\x0c\x62\x6a\x0a\xa5\ |
1789 | +\xc4\x6e\x00\x14\xcb\x16\xfc\x0e\x26\xdf\x7f\x26\xff\x65\x15\xa3\ |
1790 | +\x15\x71\x1c\x59\xeb\x28\x16\x0a\x21\xf3\xa4\x94\x7f\x03\x00\x04\ |
1791 | +\x2e\x6c\xb3\x73\xfc\x5c\x5c\x0c\x95\x95\xdc\xa3\x00\x40\x0a\x11\ |
1792 | +\x1a\x04\xa8\x96\x4a\xff\x06\xa0\x0d\xc0\x28\x15\xaa\x45\x9f\x10\ |
1793 | +\xbd\x1f\x09\x88\x56\x10\x61\xc1\x0e\xc0\xba\x46\x73\xe7\xcc\x48\ |
1794 | +\x80\x6b\x43\x28\x6d\x07\x7c\x2d\x57\x00\x38\x92\x88\x37\x01\x11\ |
1795 | +\x27\x38\x1b\x5e\x16\xce\xb2\xe0\x25\x59\xc8\xde\xc7\x48\x41\xe5\ |
1796 | +\x6d\x0e\x9f\x22\x32\x4a\x81\xdd\xa3\xc0\x49\xc9\x87\xe1\x31\xbe\ |
1797 | +\xf7\x9f\xc7\x68\x85\x67\x14\xb3\xf7\x9e\x72\x78\x7e\x9a\x7d\xbb\ |
1798 | +\x01\x56\xea\x55\xbb\xb4\x94\x4a\x0c\x1e\xc3\x68\x49\x22\xe6\x11\ |
1799 | +\xf3\x35\x1d\xbe\x47\x70\xee\x02\xdd\xbe\xc6\xf7\x34\x31\x4f\xe3\ |
1800 | +\x1b\x83\x37\x7c\xb9\xa5\x60\xa2\x30\x51\xd5\x50\xbb\x5e\xcf\x7f\ |
1801 | +\xcc\xbd\xb8\x31\x93\x01\x68\xfe\x45\xea\xc0\x56\x33\xdb\x85\x73\ |
1802 | +\xce\xfd\x01\x4a\xb1\x9e\xb9\x8a\x95\x2d\xe0\x00\x00\x00\x00\x49\ |
1803 | +\x45\x4e\x44\xae\x42\x60\x82\ |
1804 | +\x00\x00\x02\x69\ |
1805 | +\x89\ |
1806 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1807 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1808 | +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xf0\x00\xf0\x00\xef\x34\x06\ |
1809 | +\x67\x1b\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\ |
1810 | +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ |
1811 | +\xd5\x0b\x05\x10\x0f\x05\x25\xfd\xad\x2f\x00\x00\x01\xf6\x49\x44\ |
1812 | +\x41\x54\x38\xcb\x9d\x92\x4d\x6b\x13\x51\x18\x85\x9f\x3b\xc9\x24\ |
1813 | +\x4d\x9a\x66\x86\x4a\x52\x0a\x0a\xb5\x5d\x68\x1a\x45\x14\xc1\x85\ |
1814 | +\xb8\x14\x0a\x55\x77\xe2\x26\xbf\xc0\x6f\xa9\xf4\x1f\x88\xb6\x24\ |
1815 | +\x41\x44\x14\x74\x59\x77\x55\x10\xc5\x4d\xa8\x3b\x41\xec\xa2\x54\ |
1816 | +\x28\xa4\x89\x56\xab\x96\x50\x35\x8d\xcd\x47\x27\x4d\x32\x33\xd7\ |
1817 | +\x45\x48\x49\x42\x52\xaa\x67\x77\x0f\xef\x3d\xef\xe1\xbc\x47\x3c\ |
1818 | +\x79\xfa\x78\x31\xf7\x27\x77\x8c\x3d\x40\x55\xd5\xe7\x13\xb7\x26\ |
1819 | +\x2f\xb6\x90\xd3\xd1\xbb\x96\xdc\x23\xee\x4d\xdf\x91\xed\xa2\x4e\ |
1820 | +\x29\xeb\x5c\x3e\xbf\xb9\xeb\x76\x4d\xd3\x3b\xf2\x4e\x21\xc4\xce\ |
1821 | +\x23\x99\x4c\x76\x1c\x0a\x85\x42\x5d\x85\x77\x1c\xb4\x0f\x66\x32\ |
1822 | +\x19\x66\x5f\xcc\x02\x90\x98\x4b\x00\xd0\xb4\x6b\x77\x07\xdf\xbe\ |
1823 | +\xaf\x92\x4a\xa7\x39\x7a\x6a\x8c\x6d\xc5\x8b\x69\x2b\xb8\x64\x85\ |
1824 | +\xd4\xfc\x6b\x26\x6e\xdf\x8c\xc4\xa2\xf7\x9f\x35\xfe\x28\xed\x0e\ |
1825 | +\x34\x5d\x23\x95\x4e\x73\xe8\xe4\x18\x9f\x0b\x5e\x06\x07\x02\x8c\ |
1826 | +\x1c\x08\x52\x12\x3e\xb4\xd1\x71\xfc\x9a\x3e\x73\xed\xc6\x95\xe3\ |
1827 | +\x5d\x1d\x24\xe6\x12\x0c\x87\x4f\xb3\x52\x70\x73\xe9\xcc\x10\xbe\ |
1828 | +\x1e\x15\xd3\xb6\x51\x1d\x0a\xef\x96\x25\xc1\x23\xe3\x36\x4b\x6f\ |
1829 | +\x16\x00\x01\xa0\x74\x0a\x4b\x7a\x03\x0c\x0d\xe8\x58\xb6\x64\xdb\ |
1830 | +\x34\xa9\xd4\x2c\xca\x55\x8b\x7e\x9f\x9b\x5f\x65\xb5\x25\x09\x45\ |
1831 | +\x4a\x89\x94\x76\x4b\x30\x6e\xb7\x0b\x84\xa0\x5c\xb5\xa8\xd6\x24\ |
1832 | +\x9b\x5b\x35\xdc\xaa\x83\xfd\xfd\x1e\xa4\x10\x2d\x5d\x70\x02\xb6\ |
1833 | +\x69\x9a\x2d\x4e\x6c\x63\x83\x35\xa3\x8a\xdf\xa3\xa2\xf7\xb9\xb0\ |
1834 | +\x2d\x89\xdf\xe3\xe4\xd3\x46\x81\x7d\x3d\x96\x9d\x6b\x72\xae\xd4\ |
1835 | +\x2b\xea\x42\xd3\x74\x34\x4d\xe7\xc2\xb9\xf3\xa4\x17\xde\x12\xec\ |
1836 | +\x13\x7c\xf9\x99\x27\x9b\x2b\x91\x37\x2a\x7c\x5c\x59\xa7\x54\xae\ |
1837 | +\x90\x5b\x7a\xe5\x2c\x15\x8b\x3f\x1a\x02\x22\x1a\x9f\x9a\xb1\x2c\ |
1838 | +\x2b\xd2\x7c\x0d\xc3\x30\x70\x38\x54\x4e\x9c\x8d\xb0\xbc\x56\x64\ |
1839 | +\xcb\x54\x18\xec\x95\xac\x2f\xbe\x64\xf8\xe0\x08\x00\x1f\xe6\xdf\ |
1840 | +\xa7\x1e\x3e\x78\x74\x58\x74\x6b\xd8\xd5\xeb\x97\xa7\x02\x81\xe0\ |
1841 | +\x64\x33\xe7\xeb\xf5\x11\x1e\x0d\xf3\x3b\x9b\xad\xf7\x65\xf5\x2b\ |
1842 | +\x82\x7f\x44\x2c\x1e\x95\x0d\x91\xff\x12\x00\x94\x58\x3c\x6a\x01\ |
1843 | +\x94\x0d\x83\xbf\x06\x8c\xf6\xd3\x7f\x33\xe7\x2e\x00\x00\x00\x00\ |
1844 | +\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1845 | +\x00\x00\x06\x11\ |
1846 | +\x47\ |
1847 | +\x49\x46\x38\x39\x61\x10\x00\x10\x00\xc4\x00\x00\xff\xff\xff\xee\ |
1848 | +\xee\xee\xdd\xdd\xdd\xbb\xbb\xbb\xaa\xaa\xaa\x99\x99\x99\x88\x88\ |
1849 | +\x88\x77\x77\x77\x66\x66\x66\x55\x55\x55\x44\x44\x44\x33\x33\x33\ |
1850 | +\x22\x22\x22\x11\x11\x11\x00\x11\x00\x00\x00\x00\xff\xff\xff\x00\ |
1851 | +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ |
1852 | +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ |
1853 | +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\xff\x0b\x4e\ |
1854 | +\x45\x54\x53\x43\x41\x50\x45\x32\x2e\x30\x03\x01\x00\x00\x00\x21\ |
1855 | +\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\ |
1856 | +\x00\x05\x77\x20\x24\x42\x01\x89\x24\xe5\xa8\x42\x02\x23\x04\xcf\ |
1857 | +\x23\x90\xab\x28\x3c\x4c\xe0\xc8\xc1\xac\x0a\x33\xc3\xc3\xb0\x03\ |
1858 | +\xa6\x44\x01\xc5\x10\xe6\x48\x24\x5e\xb6\x94\x40\xe9\x18\xf8\x90\ |
1859 | +\x50\x64\x80\xb0\xb8\x22\x55\x06\x85\xb3\x50\x23\x05\xce\x61\x85\ |
1860 | +\x82\x5c\x3b\x9f\xcd\x83\xc3\x31\xaa\x0a\x18\x1a\x0a\x6f\xcf\x3a\ |
1861 | +\x3a\x30\x0a\x76\x06\x40\x02\x04\x24\x7c\x2c\x33\x02\x0b\x03\x04\ |
1862 | +\x05\x02\x82\x5f\x23\x01\x09\x07\x10\x05\x64\x02\x80\x35\x02\x07\ |
1863 | +\x33\x97\x22\x03\x73\x35\x03\x03\x65\x21\x00\x21\xf9\x04\x05\x07\ |
1864 | +\x00\x10\x00\x2c\x00\x00\x00\x00\x0f\x00\x10\x00\x00\x05\x63\x20\ |
1865 | +\x24\x8e\xd0\x81\x88\x01\x39\x2a\x22\x23\x0a\x0d\xa1\x8a\x0b\xc4\ |
1866 | +\x38\xf6\x33\xcc\x62\xc1\x34\x85\x07\x6b\x94\x00\x42\x1a\x0b\xd3\ |
1867 | +\xe3\x91\x4a\x89\x12\x90\x85\x60\x34\x98\xf2\x86\x3c\x08\x01\x71\ |
1868 | +\x38\xec\xb2\x90\x42\x02\x81\xf8\x82\x5f\x85\x99\x73\x44\x50\x40\ |
1869 | +\x55\x01\x81\xd3\xa0\x90\x15\x64\xaf\xd7\x5a\x84\x10\x0c\x08\x01\ |
1870 | +\x66\x2a\x07\x69\x7f\x22\x82\x28\x05\x29\x86\x10\x56\x59\x02\x8e\ |
1871 | +\x23\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\ |
1872 | +\x10\x00\x0f\x00\x00\x05\x60\x20\x24\x8e\x50\x61\x90\xa8\x88\x88\ |
1873 | +\x0a\x13\x04\x4b\x2a\x3a\x09\xd4\x06\x75\x1a\x94\x10\xd1\x12\x23\ |
1874 | +\xc1\x40\x74\x58\x00\x17\x0a\x83\x21\x26\x30\x3c\x1e\x02\x55\x23\ |
1875 | +\x27\x12\x14\x9e\x8f\xe1\x68\x80\xd8\x6d\x1f\x27\xd1\x40\x59\x88\ |
1876 | +\xa2\x5e\x68\xc2\x61\x2d\x6b\xf7\xdc\x28\x84\xc1\xeb\x2e\x1c\x86\ |
1877 | +\x83\x01\x9a\x4e\xf2\x1a\x04\x80\x10\x02\x7c\x24\x05\x43\x81\x01\ |
1878 | +\x66\x29\x40\x82\x66\x7c\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\ |
1879 | +\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\x62\x20\x24\x8e\x62\ |
1880 | +\x41\x9e\xe2\x11\x40\x89\x22\x26\x03\x0a\x2d\x07\xeb\x22\xe8\x2a\ |
1881 | +\x36\x43\x1b\xe3\x01\x81\xc8\x80\x10\x2a\x0e\x85\x82\x2b\x60\x6a\ |
1882 | +\xe8\x0e\x34\x88\x0e\x32\x60\xc8\x20\x35\x92\xb0\x18\x58\x15\x08\ |
1883 | +\x04\x19\xa2\xd1\x70\xc0\x92\x05\xe1\x09\xf1\x68\x2f\x48\xb1\x93\ |
1884 | +\x60\x2e\xd0\x09\x0c\xa6\xeb\x68\x90\x86\xcc\xf5\x52\x22\x01\x03\ |
1885 | +\x5d\x53\x57\x03\x42\x5d\x80\x7e\x82\x86\x80\x8a\x28\x21\x00\x21\ |
1886 | +\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x0e\x00\ |
1887 | +\x00\x05\x49\x20\x24\x8e\xd0\x71\x90\xa8\x98\x88\xcf\xc3\xa6\xec\ |
1888 | +\xda\x42\x0d\x2c\x1e\x6e\x5b\xd0\x68\xd2\x0c\x90\xc7\xc2\xe4\x2a\ |
1889 | +\x05\x47\x89\xc7\x0a\x55\xdc\x91\x96\xa8\xc5\x48\x00\x29\x38\xa3\ |
1890 | +\xad\x47\xcd\x74\x4a\xd5\x5e\x53\xd4\x40\x98\xba\x8e\xc6\x2d\x2a\ |
1891 | +\x44\x6d\xcb\xa6\xd8\xa4\x01\x54\x04\x87\x85\x00\x00\x21\xf9\x04\ |
1892 | +\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\ |
1893 | +\x71\x20\x24\x8e\xd0\x30\x90\x28\x14\x10\xa2\x71\x88\x87\x90\x06\ |
1894 | +\x07\x6b\x18\x90\xc1\xc8\xa9\x80\x08\x37\x41\x03\x47\x1a\x10\x64\ |
1895 | +\x86\x82\xe9\xb0\x28\x31\x14\xa2\xc0\xc0\x30\x08\x8c\x02\x82\x04\ |
1896 | +\x64\xc1\x13\x09\x58\xa4\x80\xa2\x60\x55\x09\xce\x65\x52\x21\x91\ |
1897 | +\x50\x18\xce\xe8\x54\x81\xc1\x68\x20\xc2\x28\xc1\xa2\x80\xc2\x76\ |
1898 | +\x21\x5f\x22\x50\x51\x02\x56\x01\x65\x0d\x0f\x59\x10\x0d\x69\x29\ |
1899 | +\x04\x0f\x5a\x10\x60\x78\x23\x0c\x0f\x27\x33\x79\x0f\x7c\x29\x9e\ |
1900 | +\x8e\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x00\x00\ |
1901 | +\x10\x00\x10\x00\x00\x05\x60\x20\x24\x8e\x90\x20\x90\xa8\x38\x88\ |
1902 | +\x45\xc1\xa6\xec\x49\xb8\x85\x02\x8b\x46\x30\x43\x0a\x81\x9a\x01\ |
1903 | +\xdd\xc0\x54\x40\x88\x14\x46\x91\x60\x98\x42\x34\x12\xa8\xc0\x09\ |
1904 | +\x85\xf0\x89\x82\x41\x18\x01\x81\x80\x62\x03\x5a\xc5\x62\x71\xb8\ |
1905 | +\x8d\x12\x04\xac\x19\xb2\x82\x20\xc0\xb0\x03\x82\x01\x09\x18\x17\ |
1906 | +\xb7\xc6\xc3\x00\x29\x2f\x61\x01\x7a\x53\x53\x80\x0e\x0f\x26\x0e\ |
1907 | +\x56\x80\x09\x0b\x70\x24\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\ |
1908 | +\x2c\x00\x00\x01\x00\x10\x00\x0f\x00\x00\x05\x5e\x20\x24\x42\x82\ |
1909 | +\x38\x0c\x22\x31\xae\x10\xda\xa2\x03\xc2\xae\x30\x8a\xb8\x81\x98\ |
1910 | +\x8b\x42\x09\x11\x07\x52\xc2\x30\x0a\x08\x76\xab\xc3\x22\xc8\x42\ |
1911 | +\x8e\x0c\xae\xd9\x6c\x70\xa8\xaa\xa4\xa3\x58\x62\x88\xd5\xdd\xa4\ |
1912 | +\x46\x9f\x91\x01\x61\xb2\x1e\x0f\x83\x41\x41\x26\x2a\x58\x86\xc7\ |
1913 | +\x81\xc1\x28\x40\x88\x33\x01\xba\xd4\x08\x2c\xb0\x04\x0f\x28\x0d\ |
1914 | +\x7d\x10\x0c\x51\x2b\x3e\x10\x09\x52\x21\x00\x21\xf9\x04\x05\x07\ |
1915 | +\x00\x10\x00\x2c\x00\x00\x00\x00\x10\x00\x10\x00\x00\x05\x63\x20\ |
1916 | +\x24\x8e\x50\x10\x90\xa8\x78\x42\x82\x20\x0e\x2b\x2a\x9c\x2d\x5b\ |
1917 | +\xc4\x64\xe0\xb6\x81\xe1\xa2\x2b\x93\x69\x40\x10\x19\x0a\x29\x60\ |
1918 | +\x01\x81\x4c\xa2\x0a\x3f\x27\x49\x60\xa8\x4a\x47\x82\x83\xb6\xf8\ |
1919 | +\x62\x0c\x50\xbe\xa9\xe2\xf1\x68\x8e\x14\x0d\x83\xca\xf1\x58\xb8\ |
1920 | +\x18\x05\x02\x42\x01\x29\x30\x10\xa2\xc2\xd7\xb8\x58\x14\x9b\x51\ |
1921 | +\x23\x0c\x01\x7d\x10\x09\x0e\x4e\x0e\x6f\x0b\x22\x74\x49\x2b\x5a\ |
1922 | +\x49\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x01\x00\ |
1923 | +\x10\x00\x0f\x00\x00\x05\x5c\x20\x24\x8e\x50\x60\x06\x02\xa9\x8a\ |
1924 | +\xa6\x38\xac\xea\xf9\xae\xa9\x2a\xd4\xc5\x0c\x8f\x84\x31\x04\xb6\ |
1925 | +\x95\x0e\x82\x68\x18\x11\x30\x82\x72\xb0\x78\x38\x15\xb0\x42\xc1\ |
1926 | +\x87\x12\x14\x1a\xb5\x51\x61\x07\xf9\x8d\x02\x88\xc5\x56\xc4\x20\ |
1927 | +\x06\x18\x0a\xa5\x21\xd1\x4d\x1c\x44\x84\x6c\x21\xa1\x18\x34\x08\ |
1928 | +\x25\xd8\x02\x42\x87\x1c\xf6\x42\x65\x10\x0a\x50\x44\x59\x30\x06\ |
1929 | +\x06\x30\x21\x00\x21\xf9\x04\x05\x07\x00\x10\x00\x2c\x00\x00\x01\ |
1930 | +\x00\x10\x00\x0f\x00\x00\x05\x5d\x20\x24\x8e\x24\x14\x94\xe8\x18\ |
1931 | +\x08\xa5\xc0\xa2\xc2\x49\x3e\x8f\x51\xca\xc1\xf0\x0e\xf4\xf3\x8e\ |
1932 | +\x02\x5d\xe9\xf0\x20\xb4\x64\x22\x86\x32\x05\x19\x38\x05\x09\x47\ |
1933 | +\xa3\x71\x48\x39\x09\xaf\x00\x41\x81\x32\x96\x12\xa2\x9f\xc8\x80\ |
1934 | +\xf0\x42\x16\x90\xaa\x22\xe1\x2c\x20\x44\x87\x82\x48\x28\x27\x1c\ |
1935 | +\x10\x02\x34\xb3\xc1\xbd\x43\x0a\x5c\x30\x81\x08\x60\x01\x55\x4c\ |
1936 | +\x22\x05\x72\x28\x21\x00\x21\xf9\x04\x09\x07\x00\x10\x00\x2c\x00\ |
1937 | +\x00\x00\x00\x10\x00\x10\x00\x00\x05\x64\x20\x24\x8e\x64\x49\x0e\ |
1938 | +\x8d\x60\xae\xc3\xc3\xac\x6b\xf2\x10\xb0\xf8\x42\xc2\xf3\x98\x42\ |
1939 | +\x20\x0a\xb7\x02\x6d\x14\xe8\x95\x0a\x8e\x41\xc9\x37\x32\x2c\x14\ |
1940 | +\x0a\x83\xa9\x28\x50\x1d\x18\x58\xe9\xb2\xaa\x82\xf8\x06\x09\x93\ |
1941 | +\x92\x14\x38\x40\x52\x25\x82\x61\x0c\x09\x4b\x11\x87\x2a\xa1\x80\ |
1942 | +\x13\xfe\x44\xa8\x81\xc1\x8c\xe8\x32\x45\x01\x0b\x08\x10\x7b\x10\ |
1943 | +\x04\x07\x7f\x24\x83\x84\x66\x10\x74\x35\x86\x43\x25\x21\x00\x3b\ |
1944 | +\ |
1945 | +\x00\x00\x01\x50\ |
1946 | +\x89\ |
1947 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1948 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1949 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1950 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1951 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1952 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1953 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x00\xcd\x49\x44\ |
1954 | +\x41\x54\x38\x8d\xa5\x93\x31\x0e\x83\x30\x0c\x45\x7f\x90\x25\xc6\ |
1955 | +\x6e\xd0\x39\x5c\x80\xfb\x31\x20\x06\x0e\xc7\x01\xd8\x60\x2f\x3d\ |
1956 | +\x01\x01\x27\xee\x84\x4a\x45\x92\x42\xfb\xa7\x24\xd6\x7f\xfe\xb1\ |
1957 | +\x12\x25\x22\x68\xdb\xf6\xc1\xcc\x39\x2e\x88\x88\xa6\xaa\xaa\xee\ |
1958 | +\x04\x00\xcc\x9c\xd7\x75\x7d\xc5\x8f\xa6\x69\x72\x00\xa0\xfd\xa1\ |
1959 | +\x88\x04\x0d\xfb\x5a\x92\x24\xef\x75\xac\x8b\xd6\x0a\x5a\xab\x28\ |
1960 | +\x38\x0a\xf8\x96\x04\x08\x5c\xa1\x28\x3e\xb9\xdb\x7e\x18\xec\xff\ |
1961 | +\x09\x98\x39\x9c\x60\xd3\x38\xba\x43\x67\xe7\x1c\x96\x85\xc1\xcc\ |
1962 | +\x48\xd3\xd4\x0f\x08\x0d\x6b\x5d\x57\x30\x33\xac\xb5\xf1\x04\x5b\ |
1963 | +\x51\x44\x20\x22\xe8\x7b\x81\xb5\x16\xc6\x38\xaf\xf9\x00\x98\xe7\ |
1964 | +\x19\x00\x70\x2b\x4b\x6f\x92\x67\xd7\xc5\x01\xc6\x18\xaf\x31\x26\ |
1965 | +\xef\x10\x7d\x9d\x4e\x01\xb2\x2c\xfb\x2d\x01\x11\x4d\xdb\xe7\x38\ |
1966 | +\x6d\x24\x9a\x00\x40\xc5\xde\xf9\x19\xbd\x00\x7a\xc4\x6d\xe9\x1c\ |
1967 | +\xa0\x2c\xd8\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
1968 | +\x00\x00\x02\x7b\ |
1969 | +\x89\ |
1970 | +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ |
1971 | +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ |
1972 | +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ |
1973 | +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ |
1974 | +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ |
1975 | +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ |
1976 | +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xf8\x49\x44\ |
1977 | +\x41\x54\x38\x8d\x95\x92\x3d\x68\x13\x71\x18\xc6\x9f\xf7\x2e\xc9\ |
1978 | +\x35\xa9\x9a\x90\xf8\xd1\x5a\x95\x7e\x91\x2f\x2c\x7e\x05\x5d\xc4\ |
1979 | +\xb1\x8b\x53\x31\x60\xb5\x83\x43\xc1\xc1\x45\x10\x8a\x43\xa7\x88\ |
1980 | +\xe8\x10\xb0\xe2\x5c\x50\x3a\x4a\x26\xb9\x29\x3a\x74\x91\x40\x6d\ |
1981 | +\x16\xab\x68\x2e\x88\x41\x8a\x16\xdb\x6b\x43\x72\xa1\x21\x77\xf7\ |
1982 | +\x7f\x1d\x34\xe1\xae\x09\xc5\x3e\xd3\xff\xeb\x7d\xde\xdf\xc3\xfb\ |
1983 | +\xa7\x7c\x3e\x9f\x2b\x14\x0a\x37\x70\x00\xa5\xd3\xe9\x9b\xc9\x64\ |
1984 | +\xf2\x35\x00\x20\x93\xc9\xf0\x41\xf5\xaf\x06\xcc\x0c\x4f\xdb\x55\ |
1985 | +\xd7\x75\x08\x21\x00\x00\x44\xd4\xe9\xd6\x5e\x13\x11\x64\x59\x46\ |
1986 | +\x30\x18\x74\xd1\x74\x0c\x84\x10\xd0\x34\xcd\x55\xe0\x14\x11\x21\ |
1987 | +\x91\x48\x74\xc5\xf1\x38\x37\xb1\x58\x6c\x5f\x82\x5e\xf2\x38\x1f\ |
1988 | +\x3a\x09\xf6\xea\xbf\x08\xa2\xd1\x68\x8f\x8e\x4d\x30\x2b\x90\x24\ |
1989 | +\x09\x82\x79\x7f\x83\x72\xb9\xec\xba\x8c\xc7\xe3\x68\x99\x3e\x64\ |
1990 | +\x97\x3e\x20\xf7\xae\x82\xdf\xba\x81\x13\xc7\x8e\x60\x24\xe4\xc3\ |
1991 | +\xd3\x54\xd6\xb7\xbb\x3a\xd7\x72\x45\xd8\x4b\x60\x5a\x02\x93\xf7\ |
1992 | +\xde\x80\xfb\x42\x48\x5e\xb9\x8a\x84\xac\x60\x4b\xaf\xe3\x6b\xf9\ |
1993 | +\x13\x40\x5b\x45\x7f\x2a\x7b\xc9\x45\xa0\x69\x9a\x2b\xf3\xa2\xfa\ |
1994 | +\x03\xb6\xf7\x30\xce\x5e\xb8\x88\x81\x90\x07\xcf\x67\x4f\xe1\xf6\ |
1995 | +\x42\x05\xdb\xad\x14\x8c\xe6\xca\xb0\x59\xd7\xe7\xbb\xa6\xe0\x24\ |
1996 | +\x58\x7e\xbc\x86\xb1\xf3\x97\x31\x14\xf1\x62\x7c\x50\x01\x00\x9c\ |
1997 | +\x1b\x0e\x60\xdb\xb0\xf1\xf3\xd7\xe8\x21\x36\x76\xa6\x5d\x11\x4a\ |
1998 | +\xa5\x92\xcb\x60\x63\xb3\x86\x51\x59\xc1\x93\x99\x93\x50\xbc\x7f\ |
1999 | +\xcf\x1f\x4e\x1d\xc7\xdd\xc9\x08\x22\x33\x3a\x14\x16\xa7\x7b\x12\ |
2000 | +\xb4\x4d\x86\x06\xd6\xb0\xa9\xd7\x30\xfd\xac\x82\x89\x33\x7d\x78\ |
2001 | +\x74\x6b\x10\xf7\x17\xd7\xf1\xf6\x63\x1d\x64\x36\xc0\x24\x57\x3a\ |
2002 | +\x06\xe1\x70\xb8\x6b\x44\xb3\x53\x13\x78\x91\x2b\xa1\x6a\xf5\x43\ |
2003 | +\xaf\x99\xd8\xa8\x1e\xc5\xf2\x67\x03\x5f\xd6\x9b\xf0\x55\xcb\x06\ |
2004 | +\xb1\xfd\x8a\x54\x55\x55\x8b\xc5\xe2\xf5\xae\x6a\x00\xcc\xc0\xd2\ |
2005 | +\xfb\x00\x76\xac\x10\x1a\xfd\x63\x30\x25\x3f\xc8\x6c\x20\x60\x7c\ |
2006 | +\xb3\xac\xa6\xb1\x02\x61\x5f\x23\xee\xf1\x39\x9c\xf2\xa7\xb2\x32\ |
2007 | +\x48\x7a\xc0\x24\xdf\x21\xb6\x47\x98\xe4\xef\xc4\xf6\x4b\xb0\x58\ |
2008 | +\xd8\x5d\x9d\x13\x7f\x00\x70\x45\xf0\x0c\xcd\xc0\xad\x0d\x00\x00\ |
2009 | \x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ |
2010 | " |
2011 | |
2012 | @@ -1823,16 +2538,32 @@ |
2013 | \x09\x14\x31\x07\ |
2014 | \x00\x73\ |
2015 | \x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x2d\x00\x72\x00\x75\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2016 | +\x00\x10\ |
2017 | +\x00\x67\x0f\x67\ |
2018 | +\x00\x75\ |
2019 | +\x00\x6e\x00\x73\x00\x65\x00\x6c\x00\x65\x00\x63\x00\x74\x00\x2d\x00\x61\x00\x6c\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2020 | \x00\x19\ |
2021 | \x01\x7d\x34\xe7\ |
2022 | \x00\x76\ |
2023 | \x00\x69\x00\x65\x00\x77\x00\x2d\x00\x73\x00\x70\x00\x6c\x00\x69\x00\x74\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2d\x00\x72\ |
2024 | \x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2025 | +\x00\x0a\ |
2026 | +\x03\xcb\x6a\xc7\ |
2027 | +\x00\x73\ |
2028 | +\x00\x68\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2029 | +\x00\x0a\ |
2030 | +\x0c\xad\x0f\x07\ |
2031 | +\x00\x64\ |
2032 | +\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2033 | \x00\x11\ |
2034 | \x01\x82\x9d\x27\ |
2035 | \x00\x69\ |
2036 | \x00\x6d\x00\x61\x00\x67\x00\x65\x00\x2d\x00\x6d\x00\x69\x00\x73\x00\x73\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2037 | \ |
2038 | +\x00\x0c\ |
2039 | +\x0c\x4f\x6a\xc7\ |
2040 | +\x00\x75\ |
2041 | +\x00\x6e\x00\x73\x00\x68\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2042 | \x00\x0d\ |
2043 | \x0b\x27\xb1\x67\ |
2044 | \x00\x65\ |
2045 | @@ -1842,6 +2573,10 @@ |
2046 | \x00\x64\ |
2047 | \x00\x6f\x00\x63\x00\x75\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x2d\x00\x70\x00\x72\x00\x6f\x00\x70\x00\x65\x00\x72\x00\x74\x00\x69\ |
2048 | \x00\x65\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2049 | +\x00\x0e\ |
2050 | +\x00\x78\x07\x67\ |
2051 | +\x00\x73\ |
2052 | +\x00\x65\x00\x6c\x00\x65\x00\x63\x00\x74\x00\x2d\x00\x61\x00\x6c\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2053 | \x00\x0f\ |
2054 | \x0e\x36\x76\xc7\ |
2055 | \x00\x67\ |
2056 | @@ -1850,6 +2585,11 @@ |
2057 | \x0c\x2b\x1f\xc7\ |
2058 | \x00\x67\ |
2059 | \x00\x6f\x00\x2d\x00\x6e\x00\x65\x00\x78\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2060 | +\x00\x18\ |
2061 | +\x0d\x3e\x36\x47\ |
2062 | +\x00\x69\ |
2063 | +\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6e\x00\x65\x00\x74\x00\x2d\x00\x6e\x00\x65\x00\x77\x00\x73\x00\x2d\x00\x72\x00\x65\x00\x61\ |
2064 | +\x00\x64\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2065 | \x00\x0d\ |
2066 | \x07\x6d\xfe\x67\ |
2067 | \x00\x71\ |
2068 | @@ -1866,11 +2606,49 @@ |
2069 | \x0c\x9f\x1f\x67\ |
2070 | \x00\x67\ |
2071 | \x00\x6f\x00\x2d\x00\x6a\x00\x75\x00\x6d\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2072 | -\x00\x13\ |
2073 | -\x06\x9c\xee\xf6\ |
2074 | -\x00\x70\ |
2075 | -\x00\x72\x00\x6f\x00\x63\x00\x65\x00\x73\x00\x73\x00\x2d\x00\x77\x00\x6f\x00\x72\x00\x6b\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x67\ |
2076 | -\x00\x69\x00\x66\ |
2077 | +\x00\x10\ |
2078 | +\x0f\x26\x60\xa7\ |
2079 | +\x00\x66\ |
2080 | +\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x61\x00\x64\x00\x64\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2081 | +\x00\x0c\ |
2082 | +\x07\x89\xd8\xc7\ |
2083 | +\x00\x63\ |
2084 | +\x00\x6f\x00\x6d\x00\x70\x00\x75\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2085 | +\x00\x0a\ |
2086 | +\x0a\xc8\xfb\x07\ |
2087 | +\x00\x66\ |
2088 | +\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2089 | +\x00\x0e\ |
2090 | +\x09\x85\xdc\xe7\ |
2091 | +\x00\x77\ |
2092 | +\x00\x68\x00\x69\x00\x74\x00\x65\x00\x73\x00\x70\x00\x61\x00\x63\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2093 | +\x00\x0b\ |
2094 | +\x06\x3d\x10\x27\ |
2095 | +\x00\x67\ |
2096 | +\x00\x6f\x00\x2d\x00\x64\x00\x6f\x00\x77\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2097 | +\x00\x12\ |
2098 | +\x0e\x64\x26\xe7\ |
2099 | +\x00\x66\ |
2100 | +\x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x61\x00\x6e\x00\x67\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\ |
2101 | +\x00\x67\ |
2102 | +\x00\x0c\ |
2103 | +\x01\xec\xd9\x07\ |
2104 | +\x00\x63\ |
2105 | +\x00\x6f\x00\x6d\x00\x70\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2106 | +\x00\x14\ |
2107 | +\x0d\xf7\x9b\xe7\ |
2108 | +\x00\x66\ |
2109 | +\x00\x6f\x00\x72\x00\x6d\x00\x61\x00\x74\x00\x2d\x00\x74\x00\x65\x00\x78\x00\x74\x00\x2d\x00\x62\x00\x6f\x00\x6c\x00\x64\x00\x2e\ |
2110 | +\x00\x70\x00\x6e\x00\x67\ |
2111 | +\x00\x09\ |
2112 | +\x04\xc3\x8b\x07\ |
2113 | +\x00\x67\ |
2114 | +\x00\x6f\x00\x2d\x00\x75\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2115 | +\x00\x1b\ |
2116 | +\x04\xc8\x47\x87\ |
2117 | +\x00\x61\ |
2118 | +\x00\x63\x00\x63\x00\x65\x00\x73\x00\x73\x00\x6f\x00\x72\x00\x69\x00\x65\x00\x73\x00\x2d\x00\x74\x00\x65\x00\x78\x00\x74\x00\x2d\ |
2119 | +\x00\x65\x00\x64\x00\x69\x00\x74\x00\x6f\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2120 | \x00\x11\ |
2121 | \x05\x88\x02\xc7\ |
2122 | \x00\x66\ |
2123 | @@ -1880,6 +2658,20 @@ |
2124 | \x00\x28\x5a\xe7\ |
2125 | \x00\x66\ |
2126 | \x00\x69\x00\x6c\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2127 | +\x00\x0f\ |
2128 | +\x04\x18\x42\x07\ |
2129 | +\x00\x66\ |
2130 | +\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2131 | +\x00\x14\ |
2132 | +\x0d\x8f\xa4\x67\ |
2133 | +\x00\x66\ |
2134 | +\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x61\x00\x6e\x00\x67\x00\x65\x00\x64\x00\x2e\ |
2135 | +\x00\x70\x00\x6e\x00\x67\ |
2136 | +\x00\x11\ |
2137 | +\x08\xa7\xc7\x07\ |
2138 | +\x00\x66\ |
2139 | +\x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x63\x00\x6f\x00\x6e\x00\x66\x00\x6c\x00\x69\x00\x63\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2140 | +\ |
2141 | \x00\x13\ |
2142 | \x0d\x61\x7f\x27\ |
2143 | \x00\x66\ |
2144 | @@ -1890,86 +2682,80 @@ |
2145 | \x00\x66\ |
2146 | \x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x62\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2147 | \ |
2148 | +\x00\x13\ |
2149 | +\x09\xb6\xba\xe7\ |
2150 | +\x00\x66\ |
2151 | +\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6d\x00\x6f\x00\x64\x00\x69\x00\x66\x00\x69\x00\x65\x00\x64\x00\x2e\x00\x70\ |
2152 | +\x00\x6e\x00\x67\ |
2153 | +\x00\x0c\ |
2154 | +\x05\xa2\x93\x27\ |
2155 | +\x00\x62\ |
2156 | +\x00\x6f\x00\x6f\x00\x6b\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2157 | +\x00\x13\ |
2158 | +\x06\x9c\xee\xf6\ |
2159 | +\x00\x70\ |
2160 | +\x00\x72\x00\x6f\x00\x63\x00\x65\x00\x73\x00\x73\x00\x2d\x00\x77\x00\x6f\x00\x72\x00\x6b\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x67\ |
2161 | +\x00\x69\x00\x66\ |
2162 | +\x00\x0b\ |
2163 | +\x0f\x31\xc8\x07\ |
2164 | +\x00\x75\ |
2165 | +\x00\x6e\x00\x69\x00\x64\x00\x69\x00\x66\x00\x66\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2166 | \x00\x0e\ |
2167 | \x0a\xe7\x23\x47\ |
2168 | \x00\x66\ |
2169 | \x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x61\x00\x64\x00\x64\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2170 | -\x00\x11\ |
2171 | -\x08\xa7\xc7\x07\ |
2172 | -\x00\x66\ |
2173 | -\x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x63\x00\x6f\x00\x6e\x00\x66\x00\x6c\x00\x69\x00\x63\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2174 | -\ |
2175 | -\x00\x12\ |
2176 | -\x0e\x64\x26\xe7\ |
2177 | -\x00\x66\ |
2178 | -\x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x61\x00\x6e\x00\x67\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\ |
2179 | -\x00\x67\ |
2180 | -\x00\x0a\ |
2181 | -\x0a\xc8\xfb\x07\ |
2182 | -\x00\x66\ |
2183 | -\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2184 | -\x00\x10\ |
2185 | -\x0f\x26\x60\xa7\ |
2186 | -\x00\x66\ |
2187 | -\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x61\x00\x64\x00\x64\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2188 | -\x00\x0c\ |
2189 | -\x05\xa2\x93\x27\ |
2190 | -\x00\x62\ |
2191 | -\x00\x6f\x00\x6f\x00\x6b\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2192 | -\x00\x13\ |
2193 | -\x09\xb6\xba\xe7\ |
2194 | -\x00\x66\ |
2195 | -\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6d\x00\x6f\x00\x64\x00\x69\x00\x66\x00\x69\x00\x65\x00\x64\x00\x2e\x00\x70\ |
2196 | -\x00\x6e\x00\x67\ |
2197 | -\x00\x0c\ |
2198 | -\x07\x89\xd8\xc7\ |
2199 | -\x00\x63\ |
2200 | -\x00\x6f\x00\x6d\x00\x70\x00\x75\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2201 | -\x00\x14\ |
2202 | -\x0d\x8f\xa4\x67\ |
2203 | -\x00\x66\ |
2204 | -\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x75\x00\x6e\x00\x63\x00\x68\x00\x61\x00\x6e\x00\x67\x00\x65\x00\x64\x00\x2e\ |
2205 | -\x00\x70\x00\x6e\x00\x67\ |
2206 | -\x00\x0f\ |
2207 | -\x04\x18\x42\x07\ |
2208 | -\x00\x66\ |
2209 | -\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ |
2210 | " |
2211 | |
2212 | qt_resource_struct = "\ |
2213 | \x00\x00\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x01\ |
2214 | -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x10\x00\x00\x00\x11\ |
2215 | -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x06\ |
2216 | +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1a\x00\x00\x00\x17\ |
2217 | +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x11\x00\x00\x00\x06\ |
2218 | \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x09\xe9\ |
2219 | \x00\x00\x00\x54\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x79\ |
2220 | \x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ |
2221 | \x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\x18\x35\ |
2222 | -\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x19\x75\ |
2223 | -\x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x20\x4f\ |
2224 | -\x00\x00\x01\xca\x00\x00\x00\x00\x00\x01\x00\x00\x36\x18\ |
2225 | -\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x68\ |
2226 | -\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x30\xc0\ |
2227 | +\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x32\x93\ |
2228 | +\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x5a\ |
2229 | +\x00\x00\x01\x22\x00\x00\x00\x00\x00\x01\x00\x00\x24\xdb\ |
2230 | +\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x00\x2f\xdf\ |
2231 | +\x00\x00\x00\xee\x00\x00\x00\x00\x00\x01\x00\x00\x1b\x9a\ |
2232 | +\x00\x00\x02\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x9a\ |
2233 | +\x00\x00\x02\x54\x00\x00\x00\x00\x00\x01\x00\x00\x3e\xea\ |
2234 | +\x00\x00\x02\x74\x00\x00\x00\x00\x00\x01\x00\x00\x45\x42\ |
2235 | \x00\x00\x00\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x13\x25\ |
2236 | -\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x1c\x09\ |
2237 | -\x00\x00\x01\x68\x00\x00\x00\x00\x00\x01\x00\x00\x26\xc2\ |
2238 | -\x00\x00\x01\xea\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x7f\ |
2239 | -\x00\x00\x01\x44\x00\x00\x00\x00\x00\x01\x00\x00\x23\x03\ |
2240 | -\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x49\x32\ |
2241 | -\x00\x00\x04\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x69\x88\ |
2242 | -\x00\x00\x02\x32\x00\x00\x00\x00\x00\x01\x00\x00\x46\xb6\ |
2243 | -\x00\x00\x03\x78\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x24\ |
2244 | -\x00\x00\x02\x06\x00\x00\x00\x00\x00\x01\x00\x00\x40\xa1\ |
2245 | -\x00\x00\x03\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x61\x64\ |
2246 | -\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x63\x23\ |
2247 | -\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x52\x7b\ |
2248 | -\x00\x00\x03\x96\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x90\ |
2249 | -\x00\x00\x03\x38\x00\x00\x00\x00\x00\x01\x00\x00\x57\x5a\ |
2250 | -\x00\x00\x02\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x4f\xfc\ |
2251 | -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x9f\ |
2252 | -\x00\x00\x02\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x4d\x5a\ |
2253 | -\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x66\xb7\ |
2254 | -\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x54\xd9\ |
2255 | -\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x59\x50\ |
2256 | +\x00\x00\x01\x68\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x99\ |
2257 | +\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x00\x38\xcc\ |
2258 | +\x00\x00\x01\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x27\x6f\ |
2259 | +\x00\x00\x02\xba\x00\x00\x00\x00\x00\x01\x00\x00\x51\x01\ |
2260 | +\x00\x00\x01\x08\x00\x00\x00\x00\x00\x01\x00\x00\x20\x1c\ |
2261 | +\x00\x00\x02\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x72\ |
2262 | +\x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00\x35\x0d\ |
2263 | +\x00\x00\x04\x64\x00\x00\x00\x00\x00\x01\x00\x00\x74\xa9\ |
2264 | +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x62\x36\ |
2265 | +\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x00\x78\x25\ |
2266 | +\x00\x00\x04\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x76\x16\ |
2267 | +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x69\xc7\ |
2268 | +\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x00\x6f\xeb\ |
2269 | +\x00\x00\x04\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x72\x2d\ |
2270 | +\x00\x00\x05\x74\x00\x00\x00\x00\x00\x01\x00\x00\x87\x59\ |
2271 | +\x00\x00\x03\x56\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x06\ |
2272 | +\x00\x00\x05\x92\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x32\ |
2273 | +\x00\x00\x02\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x57\xf7\ |
2274 | +\x00\x00\x02\x74\x00\x00\x00\x00\x00\x01\x00\x00\x6c\x57\ |
2275 | +\x00\x00\x04\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x7c\xca\ |
2276 | +\x00\x00\x03\x34\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xac\ |
2277 | +\x00\x00\x05\x48\x00\x00\x00\x00\x00\x01\x00\x00\x84\x85\ |
2278 | +\x00\x00\x03\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x59\xb6\ |
2279 | +\x00\x00\x05\xda\x00\x00\x00\x00\x00\x01\x00\x00\x93\x9b\ |
2280 | +\x00\x00\x01\x68\x00\x00\x00\x00\x00\x01\x00\x00\x89\xc5\ |
2281 | +\x00\x00\x01\x08\x00\x00\x00\x00\x00\x01\x00\x00\x67\x1b\ |
2282 | +\x00\x00\x04\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x7f\x28\ |
2283 | +\x00\x00\x05\x20\x00\x00\x00\x00\x00\x01\x00\x00\x81\xe3\ |
2284 | +\x00\x00\x04\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x79\xf9\ |
2285 | +\x00\x00\x03\xba\x00\x00\x00\x00\x00\x01\x00\x00\x64\x56\ |
2286 | +\x00\x00\x03\x72\x00\x00\x00\x00\x00\x01\x00\x00\x5f\xb5\ |
2287 | +\x00\x00\x02\xd6\x00\x00\x00\x00\x00\x01\x00\x00\x55\x23\ |
2288 | +\x00\x00\x05\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x92\x47\ |
2289 | " |
2290 | |
2291 | def qInitResources(): |
2292 | |
2293 | === added file 'lib/shelvewindow.py' |
2294 | --- lib/shelvewindow.py 1970-01-01 00:00:00 +0000 |
2295 | +++ lib/shelvewindow.py 2011-06-07 22:54:29 +0000 |
2296 | @@ -0,0 +1,137 @@ |
2297 | +# -*- coding: utf-8 -*- |
2298 | +# |
2299 | +# QBzr - Qt frontend to Bazaar commands |
2300 | +# Copyright (C) 2011 QBzr Developers |
2301 | +# |
2302 | +# This program is free software; you can redistribute it and/or |
2303 | +# modify it under the terms of the GNU General Public License |
2304 | +# as published by the Free Software Foundation; either version 2 |
2305 | +# of the License, or (at your option) any later version. |
2306 | +# |
2307 | +# This program is distributed in the hope that it will be useful, |
2308 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2309 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2310 | +# GNU General Public License for more details. |
2311 | +# |
2312 | +# You should have received a copy of the GNU General Public License |
2313 | +# along with this program; if not, write to the Free Software |
2314 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
2315 | + |
2316 | +import sys, time |
2317 | +from PyQt4 import QtCore, QtGui |
2318 | +from PyQt4.QtGui import QKeySequence |
2319 | + |
2320 | +from bzrlib.revision import CURRENT_REVISION |
2321 | +from bzrlib.errors import ( |
2322 | + NoSuchRevision, |
2323 | + NoSuchRevisionInTree, |
2324 | + PathsNotVersionedError) |
2325 | +from bzrlib.plugins.qbzr.lib.i18n import gettext, N_ |
2326 | +from bzrlib.plugins.qbzr.lib.util import ( |
2327 | + QBzrWindow, |
2328 | + ToolBarThrobberWidget, |
2329 | + get_apparent_author_name, |
2330 | + get_set_encoding, |
2331 | + runs_in_loading_queue, |
2332 | + get_icon, |
2333 | + get_monospace_font, |
2334 | + StandardButton, |
2335 | + get_tab_width_pixels, |
2336 | + ) |
2337 | + |
2338 | +from bzrlib.plugins.qbzr.lib.uifactory import ui_current_widget |
2339 | +from bzrlib.plugins.qbzr.lib.trace import reports_exception |
2340 | +from bzrlib.plugins.qbzr.lib.logwidget import LogList |
2341 | +from bzrlib.lazy_import import lazy_import |
2342 | +lazy_import(globals(), ''' |
2343 | +from bzrlib import transform |
2344 | +from bzrlib.workingtree import WorkingTree |
2345 | +from bzrlib.revisiontree import RevisionTree |
2346 | +from bzrlib.plugins.qbzr.lib.encoding_selector import EncodingMenuSelector |
2347 | +from bzrlib.plugins.qbzr.lib.diffwindow import DiffItem |
2348 | +from bzrlib.plugins.qbzr.lib.widgets.shelve import ShelveWidget |
2349 | +from bzrlib.plugins.qbzr.lib.widgets.shelvelist import ShelveListWidget |
2350 | +from bzrlib.plugins.qbzr.lib.widgets.splitters import Splitters |
2351 | +from bzrlib.patiencediff import PatienceSequenceMatcher as SequenceMatcher |
2352 | +from bzrlib.shelf import Unshelver |
2353 | +from bzrlib.shelf_ui import Unshelver as Unshelver_ui |
2354 | +''') |
2355 | + |
2356 | +class ShelveWindow(QBzrWindow): |
2357 | + |
2358 | + def __init__(self, initial_tab=0, directory=None, file_list=None, complete=False, ignore_whitespace=False, encoding=None, parent=None, ui_mode=True): |
2359 | + QBzrWindow.__init__(self, |
2360 | + [gettext("Shelve Manager")], |
2361 | + parent, ui_mode=ui_mode) |
2362 | + self.restoreSize("shelve", (780, 680)) |
2363 | + |
2364 | + vbox = QtGui.QVBoxLayout(self.centralwidget) |
2365 | + vbox.setMargin(2) |
2366 | + self.throbber = ToolBarThrobberWidget(self) |
2367 | + vbox.addWidget(self.throbber) |
2368 | + self.tab = QtGui.QTabWidget(self) |
2369 | + vbox.addWidget(self.tab) |
2370 | + |
2371 | + self.splitters = Splitters("shelve") |
2372 | + |
2373 | + self.directory = directory or '.' |
2374 | + |
2375 | + shelve_view = ShelveWidget(file_list=file_list, directory=self.directory, |
2376 | + complete=complete, encoding=encoding, |
2377 | + splitters=self.splitters, parent=self) |
2378 | + shelvelist_view = ShelveListWidget(directory=self.directory, |
2379 | + complete=complete, ignore_whitespace=ignore_whitespace, |
2380 | + encoding=encoding, splitters=self.splitters, parent=self) |
2381 | + |
2382 | + self.tab.addTab(shelve_view, gettext('Shelve')) |
2383 | + self.tab.addTab(shelvelist_view, gettext('View shelved changes')) |
2384 | + self.tab.setCurrentIndex(initial_tab) |
2385 | + self.connect(self.tab, QtCore.SIGNAL("currentChanged(int)"), |
2386 | + self.current_tab_changed) |
2387 | + self.connect(shelve_view, QtCore.SIGNAL("shelfCreated(int)"), |
2388 | + self.shelf_created) |
2389 | + self.connect(shelvelist_view, QtCore.SIGNAL("unshelved(int, QString*)"), |
2390 | + self.unshelved) |
2391 | + |
2392 | + self.splitters.restore_state() |
2393 | + |
2394 | + def show(self): |
2395 | + QBzrWindow.show(self) |
2396 | + QtCore.QTimer.singleShot(0, self.initial_load) |
2397 | + |
2398 | + @runs_in_loading_queue |
2399 | + @ui_current_widget |
2400 | + @reports_exception() |
2401 | + def initial_load(self): |
2402 | + try: |
2403 | + self.throbber.show() |
2404 | + self.processEvents() |
2405 | + view = self.tab.currentWidget() |
2406 | + view.refresh() |
2407 | + if hasattr(view, "files_str") and view.files_str: |
2408 | + self.setWindowTitle(gettext("Shelve Manager") + " - %s" % view.files_str) |
2409 | + finally: |
2410 | + self.throbber.hide() |
2411 | + |
2412 | + def current_tab_changed(self, index): |
2413 | + view = self.tab.currentWidget() |
2414 | + if not view.loaded: |
2415 | + view.refresh() |
2416 | + if hasattr(view, "files_str") and view.files_str: |
2417 | + self.setWindowTitle(gettext("Shelve Manager") + " - %s" % view.files_str) |
2418 | + else: |
2419 | + self.setWindowTitle(gettext("Shelve Manager")) |
2420 | + |
2421 | + def shelf_created(self, id): |
2422 | + # Refresh shelf list after new shelf created. |
2423 | + self.tab.widget(1).refresh() |
2424 | + self.tab.setCurrentIndex(1) |
2425 | + |
2426 | + def unshelved(self, id, action): |
2427 | + if action in ('apply', 'keep'): |
2428 | + self.tab.widget(0).loaded = False |
2429 | + |
2430 | + def hideEvent(self, event): |
2431 | + self.splitters.save_state() |
2432 | + QBzrWindow.hideEvent(self, event) |
2433 | + |
2434 | |
2435 | === modified file 'lib/util.py' |
2436 | --- lib/util.py 2011-05-30 09:51:43 +0000 |
2437 | +++ lib/util.py 2011-06-07 22:54:29 +0000 |
2438 | @@ -1060,138 +1060,6 @@ |
2439 | return QtGui.QIcon(":/%dx%d/%s.png" % (size, size, name)) |
2440 | |
2441 | |
2442 | -class FindToolbar(QtGui.QToolBar): |
2443 | - |
2444 | - def __init__(self, window, text_edit, show_action): |
2445 | - QtGui.QToolBar.__init__(self, gettext("Find"), window) |
2446 | - self.text_edit = text_edit |
2447 | - if 0: self.text_edit = QtGui.QTextEdit() |
2448 | - self.show_action = show_action |
2449 | - |
2450 | - self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) |
2451 | - self.setMovable (False) |
2452 | - |
2453 | - find_label = QtGui.QLabel(gettext("Find: "), self) |
2454 | - self.addWidget(find_label) |
2455 | - |
2456 | - self.find_text = QtGui.QLineEdit(self) |
2457 | - self.addWidget(self.find_text) |
2458 | - find_label.setBuddy(self.find_text) |
2459 | - |
2460 | - self.found_palette = QtGui.QPalette() |
2461 | - self.not_found_palette = QtGui.QPalette() |
2462 | - self.not_found_palette.setColor(QtGui.QPalette.Active, |
2463 | - QtGui.QPalette.Base, |
2464 | - QtCore.Qt.red) |
2465 | - self.not_found_palette.setColor(QtGui.QPalette.Active, |
2466 | - QtGui.QPalette.Text, |
2467 | - QtCore.Qt.white) |
2468 | - |
2469 | - prev = self.addAction(get_icon("go-previous"), gettext("Previous")) |
2470 | - prev.setShortcut(QtGui.QKeySequence.FindPrevious) |
2471 | - show_shortcut_hint(prev) |
2472 | - |
2473 | - next = self.addAction(get_icon("go-next"), gettext("Next")) |
2474 | - next.setShortcut(QtGui.QKeySequence.FindNext) |
2475 | - show_shortcut_hint(next) |
2476 | - |
2477 | - self.case_sensitive = QtGui.QCheckBox(gettext("Case sensitive"), self) |
2478 | - self.addWidget(self.case_sensitive) |
2479 | - self.whole_words = QtGui.QCheckBox(gettext("Whole words"), self) |
2480 | - self.addWidget(self.whole_words) |
2481 | - |
2482 | - close_find = QtGui.QAction(self) |
2483 | - close_find.setIcon(self.style().standardIcon( |
2484 | - QtGui.QStyle.SP_DialogCloseButton)) |
2485 | - self.addAction(close_find) |
2486 | - close_find.setShortcut((QtCore.Qt.Key_Escape)) |
2487 | - close_find.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) |
2488 | - close_find.setStatusTip(gettext("Close find")) |
2489 | - self.connect(self.show_action, |
2490 | - QtCore.SIGNAL("toggled (bool)"), |
2491 | - self.show_action_toggle) |
2492 | - self.connect(close_find, |
2493 | - QtCore.SIGNAL("triggered(bool)"), |
2494 | - self.close_triggered) |
2495 | - self.connect(self.find_text, |
2496 | - QtCore.SIGNAL("textChanged(QString)"), |
2497 | - self.find_text_changed) |
2498 | - self.connect(next, |
2499 | - QtCore.SIGNAL("triggered(bool)"), |
2500 | - self.find_next) |
2501 | - self.connect(prev, |
2502 | - QtCore.SIGNAL("triggered(bool)"), |
2503 | - self.find_prev) |
2504 | - self.connect(self.case_sensitive, |
2505 | - QtCore.SIGNAL("stateChanged(int)"), |
2506 | - self.find_text_changed) |
2507 | - self.connect(self.whole_words, |
2508 | - QtCore.SIGNAL("stateChanged(int)"), |
2509 | - self.find_text_changed) |
2510 | - self.connect(self.find_text, |
2511 | - QtCore.SIGNAL("returnPressed()"), |
2512 | - self.find_next) |
2513 | - |
2514 | - def show_action_toggle(self, state): |
2515 | - self.setVisible(state) |
2516 | - if state: |
2517 | - self.find_text.setFocus() |
2518 | - else: |
2519 | - self.find_text.setText('') |
2520 | - |
2521 | - def close_triggered(self, state): |
2522 | - self.show_action.setChecked(False) |
2523 | - |
2524 | - def find_text_changed(self, text): |
2525 | - self.find_avoid_moving() |
2526 | - |
2527 | - def find_get_flags(self): |
2528 | - flags = QtGui.QTextDocument.FindFlags() |
2529 | - if self.case_sensitive.isChecked(): |
2530 | - flags = flags | QtGui.QTextDocument.FindCaseSensitively |
2531 | - if self.whole_words.isChecked(): |
2532 | - flags = flags | QtGui.QTextDocument.FindWholeWords |
2533 | - return flags |
2534 | - |
2535 | - def find_avoid_moving(self): |
2536 | - self.find(self.text_edit.textCursor().selectionStart(), 0, |
2537 | - self.find_get_flags()) |
2538 | - |
2539 | - def find_next(self): |
2540 | - self.find(self.text_edit.textCursor().selectionEnd(), 0, |
2541 | - self.find_get_flags()) |
2542 | - |
2543 | - def find_prev(self, state): |
2544 | - self.find(self.text_edit.textCursor().selectionStart(), |
2545 | - self.text_edit.document().characterCount(), |
2546 | - self.find_get_flags() | QtGui.QTextDocument.FindBackward) |
2547 | - |
2548 | - def find(self, from_pos, restart_pos, flags): |
2549 | - doc = self.text_edit.document() |
2550 | - text = self.find_text.text() |
2551 | - cursor = doc.find(text, from_pos, flags) |
2552 | - if cursor.isNull(): |
2553 | - # try again from the restart pos |
2554 | - cursor = doc.find(text, restart_pos, flags) |
2555 | - if cursor.isNull(): |
2556 | - cursor = self.text_edit.textCursor() |
2557 | - cursor.setPosition(cursor.selectionStart()) |
2558 | - self.text_edit.setTextCursor(cursor) |
2559 | - # Make find_text background red like Firefox |
2560 | - if len(text) > 0: |
2561 | - self.find_text.setPalette(self.not_found_palette) |
2562 | - else: |
2563 | - self.find_text.setPalette(self.found_palette) |
2564 | - else: |
2565 | - self.text_edit.setTextCursor(cursor) |
2566 | - self.find_text.setPalette(self.found_palette) |
2567 | - |
2568 | - def set_text_edit(self, new_text_edit): |
2569 | - if self.text_edit: |
2570 | - self.text_edit.setTextCursor(QtGui.QTextCursor()) |
2571 | - self.text_edit = new_text_edit |
2572 | - |
2573 | - |
2574 | class InfoWidget(QtGui.QFrame): |
2575 | def __init__(self, parent=None): |
2576 | QtGui.QFrame.__init__(self, parent) |
2577 | @@ -1201,6 +1069,67 @@ |
2578 | self.setBackgroundRole(QtGui.QPalette.ToolTipBase) |
2579 | self.setForegroundRole(QtGui.QPalette.ToolTipText) |
2580 | |
2581 | +class ToolbarPanel(QtGui.QWidget): |
2582 | + def __init__(self, parent = None): |
2583 | + QtGui.QWidget.__init__(self, parent) |
2584 | + vbox = QtGui.QVBoxLayout(self) |
2585 | + vbox.setSpacing(0) |
2586 | + vbox.setMargin(0) |
2587 | + |
2588 | + toolbar = QtGui.QToolBar(self) |
2589 | + toolbar.setMovable(False) |
2590 | + toolbar.setIconSize(QtCore.QSize(16,16)) |
2591 | + self.setStyleSheet('QToolBar { margin:1px; padding:0px; border:none; }') |
2592 | + toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) |
2593 | + |
2594 | + vbox.addWidget(toolbar) |
2595 | + self.vbox = vbox |
2596 | + self.toolbar = toolbar |
2597 | + |
2598 | + def add_toolbar_button(self, text, icon_name=None, enabled=True, |
2599 | + checkable=False, checked=False, shortcut=None, onclick=None): |
2600 | + button = self.create_button(text, icon_name=icon_name, enabled=enabled, |
2601 | + checkable=checkable, checked=checked, |
2602 | + shortcut=shortcut, onclick=onclick) |
2603 | + self.toolbar.addAction(button) |
2604 | + return button |
2605 | + |
2606 | + def add_toolbar_menu(self, text, menu, icon_name=None, enabled=True, shortcut=None): |
2607 | + button = self.create_button(text, icon_name=icon_name, enabled=enabled) |
2608 | + button.setMenu(menu) |
2609 | + self.toolbar.addAction(button) |
2610 | + widget = self.toolbar.widgetForAction(button) |
2611 | + widget.setPopupMode(QtGui.QToolButton.InstantPopup) |
2612 | + if shortcut: |
2613 | + widget.setShortcut(shortcut) |
2614 | + return button |
2615 | + |
2616 | + def create_button(self, text, icon_name=None, enabled=True, |
2617 | + checkable=False, checked=False, shortcut=None, onclick=None): |
2618 | + if icon_name: |
2619 | + button = QtGui.QAction(get_icon(icon_name, size=16), gettext(text), self) |
2620 | + else: |
2621 | + button = QtGui.QAction(gettext(text), self) |
2622 | + if checkable: |
2623 | + button.setCheckable(True) |
2624 | + button.setChecked(checked) |
2625 | + signal = "toggled(bool)" |
2626 | + else: |
2627 | + signal = "triggered()" |
2628 | + if not enabled: |
2629 | + button.setEnabled(False) |
2630 | + if shortcut: |
2631 | + button.setShortcuts(shortcut) |
2632 | + if onclick: |
2633 | + self.connect(button, QtCore.SIGNAL(signal), onclick) |
2634 | + return button |
2635 | + |
2636 | + def add_separator(self): |
2637 | + self.toolbar.addSeparator() |
2638 | + |
2639 | + def add_widget(self, widget): |
2640 | + self.vbox.addWidget(widget) |
2641 | + |
2642 | |
2643 | # Hackish test for monospace. Run bzr qcat lib/util.py to check. |
2644 | #888888888888888888888888888888888888888888888888888888888888888888888888888888 |
2645 | |
2646 | === added file 'lib/widgets/shelve.py' |
2647 | --- lib/widgets/shelve.py 1970-01-01 00:00:00 +0000 |
2648 | +++ lib/widgets/shelve.py 2011-06-07 22:54:29 +0000 |
2649 | @@ -0,0 +1,1106 @@ |
2650 | +# -*- coding: utf-8 -*- |
2651 | +# |
2652 | +# QBzr - Qt frontend to Bazaar commands |
2653 | +# Copyright (C) 2011 QBzr Developers |
2654 | +# |
2655 | +# This program is free software; you can redistribute it and/or |
2656 | +# modify it under the terms of the GNU General Public License |
2657 | +# as published by the Free Software Foundation; either version 2 |
2658 | +# of the License, or (at your option) any later version. |
2659 | +# |
2660 | +# This program is distributed in the hope that it will be useful, |
2661 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2662 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2663 | +# GNU General Public License for more details. |
2664 | +# |
2665 | +# You should have received a copy of the GNU General Public License |
2666 | +# along with this program; if not, write to the Free Software |
2667 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
2668 | + |
2669 | +import sys, time |
2670 | +from PyQt4 import QtCore, QtGui |
2671 | + |
2672 | +from bzrlib.plugins.qbzr.lib.i18n import gettext, ngettext, N_ |
2673 | +from bzrlib.plugins.qbzr.lib.util import ( |
2674 | + get_global_config, |
2675 | + get_set_encoding, |
2676 | + runs_in_loading_queue, |
2677 | + get_icon, |
2678 | + ToolBarThrobberWidget, |
2679 | + get_monospace_font, |
2680 | + get_tab_width_pixels, |
2681 | + get_set_tab_width_chars, |
2682 | + get_qbzr_config, |
2683 | + file_extension, |
2684 | + ) |
2685 | +from bzrlib.plugins.qbzr.lib.widgets.toolbars import ( |
2686 | + FindToolbar, ToolbarPanel, LayoutSelector |
2687 | + ) |
2688 | +from bzrlib.plugins.qbzr.lib.widgets.tab_width_selector import TabWidthMenuSelector |
2689 | +from bzrlib import errors |
2690 | +from bzrlib.plugins.qbzr.lib.uifactory import ui_current_widget |
2691 | +from bzrlib.plugins.qbzr.lib.trace import reports_exception |
2692 | +from bzrlib.patches import HunkLine, ContextLine, InsertLine, RemoveLine |
2693 | +from bzrlib.lazy_import import lazy_import |
2694 | +lazy_import(globals(), ''' |
2695 | +from bzrlib import transform, textfile, patches |
2696 | +from bzrlib.workingtree import WorkingTree |
2697 | +from bzrlib.plugins.qbzr.lib.encoding_selector import EncodingMenuSelector |
2698 | +from bzrlib.plugins.qbzr.lib.commit import TextEdit |
2699 | +from bzrlib.plugins.qbzr.lib.spellcheck import SpellCheckHighlighter, SpellChecker |
2700 | +from bzrlib.plugins.qbzr.lib.autocomplete import get_wordlist_builder |
2701 | +from bzrlib.shelf import ShelfCreator |
2702 | +from bzrlib.shelf_ui import Shelver |
2703 | +from bzrlib.osutils import split_lines |
2704 | +from cStringIO import StringIO |
2705 | +import os |
2706 | +''') |
2707 | + |
2708 | +""" |
2709 | +TODO:: |
2710 | + Auto complete of shelve message. |
2711 | + Wordwrap mode |
2712 | + Side by side view |
2713 | + External diff (ShelveListWindow) |
2714 | + Lock management |
2715 | + Select hunk by Find. |
2716 | +""" |
2717 | + |
2718 | +# For i18n |
2719 | +change_status = ( |
2720 | + N_("delete file"), N_("rename"), N_("add file"), |
2721 | + N_("modify text"), N_("modify target"), N_("modify binary") |
2722 | + ) |
2723 | + |
2724 | +MAX_AUTOCOMPLETE_FILES = 20 |
2725 | +class WorkingTreeHasChanged(errors.BzrError): |
2726 | + pass |
2727 | + |
2728 | +class WorkingTreeHasPendingMarge(errors.BzrError): |
2729 | + pass |
2730 | + |
2731 | +class DummyDiffWriter(object): |
2732 | + def __init__(self): |
2733 | + pass |
2734 | + def write(self, *args, **kwargs): |
2735 | + pass |
2736 | + |
2737 | +class Change(object): |
2738 | + def __init__(self, change, shelver, trees): |
2739 | + status = change[0] |
2740 | + file_id = change[1] |
2741 | + if status == 'delete file': |
2742 | + self.path = trees[0].id2path(file_id) |
2743 | + self.disp_text = self.path |
2744 | + elif status == 'rename': |
2745 | + self.path = [tree.id2path(file_id) for tree in trees] |
2746 | + self.disp_text = u'%s => %s' % (self.path[0], self.path[1]) |
2747 | + else: |
2748 | + self.path = trees[1].id2path(file_id) |
2749 | + self.disp_text = self.path |
2750 | + if status == 'modify text': |
2751 | + try: |
2752 | + self.sha1 = trees[1].get_file_sha1(file_id) |
2753 | + target_lines = trees[0].get_file_lines(file_id) |
2754 | + textfile.check_text_lines(target_lines) |
2755 | + work_lines = trees[1].get_file_lines(file_id) |
2756 | + textfile.check_text_lines(work_lines) |
2757 | + |
2758 | + self._target_lines = [None, target_lines, None] |
2759 | + self._work_lines = [None, work_lines, None] |
2760 | + self._edited_lines = [None, None, None] |
2761 | + |
2762 | + parsed = shelver.get_parsed_patch(file_id, False) |
2763 | + for hunk in parsed.hunks: |
2764 | + hunk.selected = False |
2765 | + self.parsed_patch = parsed |
2766 | + self.hunk_texts = [None, None, None] |
2767 | + except errors.BinaryFile: |
2768 | + status = 'modify binary' |
2769 | + |
2770 | + self.data = change |
2771 | + self.file_id = file_id |
2772 | + self.status = status |
2773 | + self._words = None |
2774 | + |
2775 | + def is_same_change(self, other): |
2776 | + # NOTE: I does not use __cmp__ because this method does not compare entire data. |
2777 | + if self.data != other.data: |
2778 | + return False |
2779 | + if self.status in ('modify text', 'modify binary'): |
2780 | + if self.sha1 != other.sha1: |
2781 | + return False |
2782 | + return True |
2783 | + |
2784 | + @property |
2785 | + def target_lines(self): |
2786 | + """Original file lines""" |
2787 | + return self._target_lines[1] |
2788 | + |
2789 | + @property |
2790 | + def work_lines(self): |
2791 | + """Working file lines""" |
2792 | + return self._work_lines[1] |
2793 | + |
2794 | + def get_edited_lines(self): |
2795 | + return self._edited_lines[1] |
2796 | + |
2797 | + def set_edited_lines(self, lines): |
2798 | + self._edited_lines = [None, lines, None] |
2799 | + |
2800 | + edited_lines = property(get_edited_lines, set_edited_lines) |
2801 | + |
2802 | + def encode_hunk_texts(self, encoding): |
2803 | + """ |
2804 | + Return encoded hunk texts. |
2805 | + hunk texts is nested list. Outer is per hunks, inner is per lines. |
2806 | + """ |
2807 | + if self.hunk_texts[0] == encoding: |
2808 | + return self.hunk_texts[2] |
2809 | + patch = self.parsed_patch |
2810 | + try: |
2811 | + texts = [[str(l).decode(encoding) for l in hunk.lines] |
2812 | + for hunk in patch.hunks] |
2813 | + except UnicodeError: |
2814 | + if self.hunk_texts[1] is None: |
2815 | + texts = [[str(l) for l in hunk.lines] for hunk in patch.hunks] |
2816 | + self.hunk_texts[1] = texts |
2817 | + else: |
2818 | + texts = self.hunk_texts[1] |
2819 | + self.hunk_texts[0] = encoding |
2820 | + self.hunk_texts[2] = texts |
2821 | + |
2822 | + return texts |
2823 | + |
2824 | + def encode(self, lines, encoding): |
2825 | + if lines[0] == encoding: |
2826 | + return lines[2] |
2827 | + try: |
2828 | + encoded_lines = [l.decode(encoding) for l in lines[1]] |
2829 | + except UnicodeError: |
2830 | + encoded_lines = lines[1] |
2831 | + lines[2] = encoded_lines |
2832 | + return encoded_lines |
2833 | + |
2834 | + def encode_work_lines(self, encoding): |
2835 | + """Return encoded working file lines. """ |
2836 | + return self.encode(self._work_lines, encoding) |
2837 | + |
2838 | + def encode_target_lines(self, encoding): |
2839 | + """Return encoded original file lines.""" |
2840 | + return self.encode(self._target_lines, encoding) |
2841 | + |
2842 | + def encode_edited_lines(self, encoding): |
2843 | + """Return encoded edited lines by editor.""" |
2844 | + if self._edited_lines[1] is None: |
2845 | + return None |
2846 | + return self.encode(self._edited_lines, encoding) |
2847 | + |
2848 | + def get_words(self): |
2849 | + if self._words is not None: |
2850 | + return self._words, False |
2851 | + |
2852 | + # Add path |
2853 | + self._words = set() |
2854 | + if self.status == 'rename': |
2855 | + for path in self.path: |
2856 | + self._words.add(path) |
2857 | + self._words.add(os.path.split(path)[-1]) |
2858 | + else: |
2859 | + self._words.add(self.path) |
2860 | + self._words.add(os.path.split(self.path)[-1]) |
2861 | + |
2862 | + if self.status == 'modify text': |
2863 | + ext = file_extension(self.path) |
2864 | + builder = get_wordlist_builder(ext) |
2865 | + if builder is not None: |
2866 | + try: |
2867 | + self._words.update(builder.iter_words(StringIO("".join(self.work_lines)))) |
2868 | + return self._words, True |
2869 | + except EnvironmentError: |
2870 | + pass |
2871 | + |
2872 | + return self._words, False |
2873 | + |
2874 | +class ShelveWidget(ToolbarPanel): |
2875 | + |
2876 | + def __init__(self, file_list=None, directory=None, complete=False, encoding=None, |
2877 | + splitters=None, parent=None): |
2878 | + ToolbarPanel.__init__(self, slender=False, icon_size=22, parent=parent) |
2879 | + |
2880 | + self.revision = None |
2881 | + self.file_list = file_list |
2882 | + self.directory = directory |
2883 | + self.message = None |
2884 | + |
2885 | + self.encoding = encoding |
2886 | + |
2887 | + self.current_layout = -1 |
2888 | + self.load_settings() |
2889 | + |
2890 | + self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self) |
2891 | + pal = QtGui.QPalette() |
2892 | + pal.setColor(QtGui.QPalette.Window, QtGui.QColor(0,0,0,0)) |
2893 | + self.splitter.setPalette(pal) |
2894 | + |
2895 | + self.splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal, self) |
2896 | + self.splitter2 = QtGui.QSplitter(QtCore.Qt.Horizontal, self) |
2897 | + self.splitter.addWidget(self.splitter1) |
2898 | + self.splitter.addWidget(self.splitter2) |
2899 | + |
2900 | + message_groupbox = QtGui.QGroupBox(gettext("Message"), self) |
2901 | + message_layout = QtGui.QVBoxLayout(message_groupbox) |
2902 | + self.splitter1.addWidget(message_groupbox) |
2903 | + |
2904 | + language = get_global_config().get_user_option('spellcheck_language') or 'en' |
2905 | + spell_checker = SpellChecker(language) |
2906 | + |
2907 | + self.message = TextEdit(spell_checker, message_groupbox, main_window=self) |
2908 | + self.message.setToolTip(gettext("Enter the shelve message")) |
2909 | + self.completer = QtGui.QCompleter() |
2910 | + self.completer_model = QtGui.QStringListModel(self.completer) |
2911 | + self.completer.setModel(self.completer_model) |
2912 | + self.message.setCompleter(self.completer) |
2913 | + self.message.setAcceptRichText(False) |
2914 | + SpellCheckHighlighter(self.message.document(), spell_checker) |
2915 | + |
2916 | + message_layout.addWidget(self.message) |
2917 | + |
2918 | + self.file_view = QtGui.QTreeWidget(self) |
2919 | + self.file_view.setHeaderLabels( |
2920 | + [gettext("File Name"), gettext("Status"), gettext("Hunks")]) |
2921 | + header = self.file_view.header() |
2922 | + header.setStretchLastSection(False) |
2923 | + header.setResizeMode(0, QtGui.QHeaderView.Stretch) |
2924 | + header.setResizeMode(1, QtGui.QHeaderView.ResizeToContents) |
2925 | + header.setResizeMode(2, QtGui.QHeaderView.ResizeToContents) |
2926 | + |
2927 | + self.splitter1.addWidget(self.file_view) |
2928 | + |
2929 | + hunk_panel = ToolbarPanel(parent=self) |
2930 | + self.hunk_view = HunkView(complete=complete) |
2931 | + |
2932 | + self.splitter2.addWidget(hunk_panel) |
2933 | + |
2934 | + # Build hunk panel toolbar |
2935 | + show_find = hunk_panel.add_toolbar_button( |
2936 | + N_("Find"), icon_name="edit-find", checkable=True, |
2937 | + shortcut=QtGui.QKeySequence.Find) |
2938 | + hunk_panel.add_separator() |
2939 | + |
2940 | + view_menu = QtGui.QMenu(gettext('View Options'), self) |
2941 | + view_menu.addAction( |
2942 | + hunk_panel.create_button(N_("Complete"), icon_name="complete", |
2943 | + onclick=self.hunk_view.set_complete, |
2944 | + checkable=True, checked=complete) |
2945 | + ) |
2946 | + self.tabwidth_selector = \ |
2947 | + TabWidthMenuSelector(label_text=gettext("Tab width"), |
2948 | + onChanged=self.on_tabwidth_changed) |
2949 | + view_menu.addMenu(self.tabwidth_selector) |
2950 | + |
2951 | + self.encoding_selector = EncodingMenuSelector(self.encoding, |
2952 | + gettext("Encoding"), self.encoding_changed) |
2953 | + self.encoding_selector.setIcon(get_icon("format-text-bold", 16)) |
2954 | + view_menu.addMenu(self.encoding_selector) |
2955 | + hunk_panel.add_toolbar_menu( |
2956 | + N_("&View Options"), view_menu, icon_name="document-properties", |
2957 | + shortcut="Alt+V") |
2958 | + |
2959 | + hunk_panel.add_separator() |
2960 | + hunk_panel.add_toolbar_button(N_("Previous hunk"), icon_name="go-up", |
2961 | + onclick=self.hunk_view.move_previous, shortcut="Alt+Up") |
2962 | + hunk_panel.add_toolbar_button(N_("Next hunk"), icon_name="go-down", |
2963 | + onclick=self.hunk_view.move_next, shortcut="Alt+Down") |
2964 | + |
2965 | + self.editor_button = hunk_panel.add_toolbar_button(N_("Use editor"), |
2966 | + icon_name="accessories-text-editor", enabled=False, |
2967 | + onclick=self.use_editor, shortcut="Ctrl+E") |
2968 | + find_toolbar = FindToolbar(self, self.hunk_view.browser, show_find) |
2969 | + hunk_panel.add_widget(find_toolbar) |
2970 | + hunk_panel.add_widget(self.hunk_view) |
2971 | + find_toolbar.hide() |
2972 | + |
2973 | + layout = QtGui.QVBoxLayout() |
2974 | + layout.setMargin(10) |
2975 | + layout.addWidget(self.splitter) |
2976 | + self.add_layout(layout) |
2977 | + |
2978 | + shelve_menu = QtGui.QMenu(gettext("Shelve"), self) |
2979 | + shelve_menu.addAction(self.create_button(N_("Destroy"), |
2980 | + onclick=lambda:self.do_shelve(destroy=True))) |
2981 | + |
2982 | + self.add_toolbar_button(N_('Shelve'), icon_name='shelve', |
2983 | + shortcut=QtGui.QKeySequence.Save, onclick=self.do_shelve, |
2984 | + menu = shelve_menu) |
2985 | + |
2986 | + self.add_separator() |
2987 | + |
2988 | + self.add_toolbar_button(N_('Select all'), icon_name='select-all', |
2989 | + onclick=lambda:self.check_all(True)) |
2990 | + |
2991 | + self.add_toolbar_button(N_('Unselect all'), icon_name='unselect-all', |
2992 | + onclick=lambda:self.check_all(False)) |
2993 | + |
2994 | + layout_selector = \ |
2995 | + LayoutSelector(num=3, onchanged=self.set_layout, parent=self, |
2996 | + initial_no=self.current_layout) |
2997 | + |
2998 | + self.add_toolbar_menu(N_("&Layout"), layout_selector, |
2999 | + icon_name="internet-news-reader", shortcut="Alt+L") |
3000 | + |
3001 | + self.add_toolbar_button(N_('&Refresh'), icon_name='view-refresh', |
3002 | + shortcut="Ctrl+R", onclick=self.refresh) |
3003 | + |
3004 | + self.connect(self.file_view, QtCore.SIGNAL("itemSelectionChanged()"), |
3005 | + self.selected_file_changed) |
3006 | + |
3007 | + self.connect(self.file_view, QtCore.SIGNAL("itemChanged(QTreeWidgetItem *, int)"), |
3008 | + self.file_checked) |
3009 | + |
3010 | + self.connect(self.hunk_view, QtCore.SIGNAL("selectionChanged()"), |
3011 | + self.selected_hunk_changed) |
3012 | + |
3013 | + self.set_layout() |
3014 | + |
3015 | + if splitters: |
3016 | + splitters.add("shelve_splitter", self.splitter) |
3017 | + splitters.add("shelve_splitter1", self.splitter1) |
3018 | + splitters.add("shelve_splitter2", self.splitter2) |
3019 | + for sp in (self.splitter, self.splitter1, self.splitter2): |
3020 | + sp.setChildrenCollapsible(False) |
3021 | + sp.setStretchFactor(0, 3) |
3022 | + sp.setStretchFactor(1, 7) |
3023 | + |
3024 | + |
3025 | + self.loaded = False |
3026 | + |
3027 | + def set_layout(self, type=None): |
3028 | + if type: |
3029 | + self.current_layout = type |
3030 | + |
3031 | + self.file_view.setParent(None) |
3032 | + if self.current_layout == 1: |
3033 | + self.splitter.setOrientation(QtCore.Qt.Vertical) |
3034 | + self.splitter1.setOrientation(QtCore.Qt.Horizontal) |
3035 | + self.splitter1.insertWidget(1, self.file_view) |
3036 | + elif self.current_layout == 2: |
3037 | + self.splitter.setOrientation(QtCore.Qt.Horizontal) |
3038 | + self.splitter1.setOrientation(QtCore.Qt.Vertical) |
3039 | + self.splitter1.insertWidget(1, self.file_view) |
3040 | + else: |
3041 | + self.splitter.setOrientation(QtCore.Qt.Vertical) |
3042 | + self.splitter2.setOrientation(QtCore.Qt.Horizontal) |
3043 | + self.splitter2.insertWidget(0, self.file_view) |
3044 | + |
3045 | + for sp in (self.splitter, self.splitter1, self.splitter2): |
3046 | + if sp.count() != 2: |
3047 | + continue |
3048 | + size = sum(sp.sizes()) |
3049 | + if size > 0: |
3050 | + size1 = int(size * 0.3) |
3051 | + sp.setSizes((size1, size - size1)) |
3052 | + |
3053 | + def _create_shelver_and_creator(self, destroy=False): |
3054 | + shelver = Shelver.from_args(DummyDiffWriter(), None, |
3055 | + False, self.file_list, None, directory=self.directory, |
3056 | + destroy=destroy) |
3057 | + try: |
3058 | + creator = ShelfCreator( |
3059 | + shelver.work_tree, shelver.target_tree, shelver.file_list) |
3060 | + except: |
3061 | + shelver.finalize() |
3062 | + raise |
3063 | + |
3064 | + return shelver, creator |
3065 | + |
3066 | + def on_tabwidth_changed(self, width): |
3067 | + get_set_tab_width_chars(self.trees[1].branch, tab_width_chars=width) |
3068 | + self._on_tabwidth_changed(width) |
3069 | + |
3070 | + def _on_tabwidth_changed(self, width): |
3071 | + pixels = get_tab_width_pixels(tab_width_chars=width) |
3072 | + self.hunk_view.set_tab_width(pixels) |
3073 | + |
3074 | + def refresh(self): |
3075 | + cleanup = [] |
3076 | + try: |
3077 | + old_rev = self.revision |
3078 | + old_changes = self._get_change_dictionary() |
3079 | + self.clear(clear_message = False) |
3080 | + |
3081 | + shelver, creator = self._create_shelver_and_creator() |
3082 | + cleanup.append(shelver.finalize) |
3083 | + cleanup.append(creator.finalize) |
3084 | + |
3085 | + file_list = shelver.file_list |
3086 | + if file_list: |
3087 | + nfiles = len(file_list) |
3088 | + if nfiles > 2: |
3089 | + self.files_str = ngettext("%d file", "%d files", nfiles) % nfiles |
3090 | + else: |
3091 | + self.files_str = ", ".join(file_list) |
3092 | + |
3093 | + self.trees = (shelver.target_tree, shelver.work_tree) |
3094 | + self.editor_available = (shelver.change_editor is not None) |
3095 | + self.editor_button.setVisible(self.editor_available) |
3096 | + tabwidth = get_set_tab_width_chars(self.trees[1].branch) |
3097 | + self.tabwidth_selector.setTabWidth(tabwidth) |
3098 | + self._on_tabwidth_changed(tabwidth) |
3099 | + self.revision = self.trees[0].get_revision_id() |
3100 | + if self.revision != old_rev: |
3101 | + old_changes = None |
3102 | + for change in creator.iter_shelvable(): |
3103 | + item = self._create_item(change, shelver, self.trees, old_changes) |
3104 | + self.file_view.addTopLevelItem(item) |
3105 | + |
3106 | + finally: |
3107 | + for func in cleanup: |
3108 | + func() |
3109 | + |
3110 | + self.loaded = True |
3111 | + |
3112 | + def _create_item(self, change, shelver, trees, old_changes): |
3113 | + """Create QTreeWidgetItem for file list from Change instance.""" |
3114 | + ch = Change(change, shelver, trees) |
3115 | + item = QtGui.QTreeWidgetItem() |
3116 | + |
3117 | + item.setIcon(0, get_icon("file", 16)) |
3118 | + item.change = ch |
3119 | + item.setText(0, ch.disp_text) |
3120 | + item.setText(1, gettext(ch.status)) |
3121 | + if ch.status == 'modify text': |
3122 | + item.setText(2, u'0/%d' % len(ch.parsed_patch.hunks)) |
3123 | + item.setCheckState(0, QtCore.Qt.Unchecked) |
3124 | + |
3125 | + if old_changes: |
3126 | + old_change = old_changes.get((ch.file_id, ch.status)) |
3127 | + if old_change and old_change.is_same_change(ch): |
3128 | + # Keep selection when reloading |
3129 | + if ch.status == 'modify text': |
3130 | + item.change = old_change |
3131 | + self.update_item(item) |
3132 | + else: |
3133 | + item.setCheckState(0, QtCore.Qt.Checked) |
3134 | + return item |
3135 | + |
3136 | + def selected_file_changed(self): |
3137 | + items = self.file_view.selectedItems() |
3138 | + if len(items) != 1 or items[0].change.status != 'modify text': |
3139 | + self.hunk_view.clear() |
3140 | + self.editor_button.setEnabled(False) |
3141 | + else: |
3142 | + item = items[0] |
3143 | + encoding = self.encoding_selector.encoding |
3144 | + self.hunk_view.set_parsed_patch(item.change, encoding) |
3145 | + self.editor_button.setEnabled(self.editor_available) |
3146 | + |
3147 | + def selected_hunk_changed(self): |
3148 | + for item in self.file_view.selectedItems(): |
3149 | + self.update_item(item) |
3150 | + |
3151 | + def update_item(self, item): |
3152 | + change = item.change |
3153 | + if change.status != 'modify text': |
3154 | + return |
3155 | + |
3156 | + if change.edited_lines: |
3157 | + state = QtCore.Qt.PartiallyChecked |
3158 | + item.setText(2, "???") |
3159 | + else: |
3160 | + hunks = change.parsed_patch.hunks |
3161 | + hunk_num = len(hunks) |
3162 | + selected_hunk_num = 0 |
3163 | + for hunk in hunks: |
3164 | + if hunk.selected: |
3165 | + selected_hunk_num += 1 |
3166 | + item.setText(2, "%d/%d" % (selected_hunk_num, hunk_num)) |
3167 | + if selected_hunk_num == 0: |
3168 | + state = QtCore.Qt.Unchecked |
3169 | + elif selected_hunk_num == hunk_num: |
3170 | + state = QtCore.Qt.Checked |
3171 | + else: |
3172 | + state = QtCore.Qt.PartiallyChecked |
3173 | + |
3174 | + if item.checkState(0) != state: |
3175 | + item.setCheckState(0, state) |
3176 | + self.update_compleater_words() |
3177 | + |
3178 | + def file_checked(self, item, column): |
3179 | + if column != 0: |
3180 | + return |
3181 | + |
3182 | + checked = item.checkState(0) |
3183 | + if checked == QtCore.Qt.Checked: |
3184 | + selected = True |
3185 | + elif checked == QtCore.Qt.Unchecked: |
3186 | + selected = False |
3187 | + else: |
3188 | + return |
3189 | + |
3190 | + if item.change.status == 'modify text': |
3191 | + hunk_num = len(item.change.parsed_patch.hunks) |
3192 | + for hunk in item.change.parsed_patch.hunks: |
3193 | + hunk.selected = selected |
3194 | + if item.change.edited_lines: |
3195 | + item.change.edited_lines = None |
3196 | + self.selected_file_changed() |
3197 | + else: |
3198 | + self.hunk_view.update() |
3199 | + item.setText(2, u'%d/%d' % (hunk_num if selected else 0, hunk_num)) |
3200 | + |
3201 | + self.update_compleater_words() |
3202 | + |
3203 | + def encoding_changed(self, encoding): |
3204 | + self.selected_file_changed() |
3205 | + |
3206 | + def complete_toggled(self, checked): |
3207 | + self.hunk_view.set_complete(checked) |
3208 | + |
3209 | + def check_all(self, checked): |
3210 | + if checked: |
3211 | + state = QtCore.Qt.Checked |
3212 | + else: |
3213 | + state = QtCore.Qt.Unchecked |
3214 | + |
3215 | + view = self.file_view |
3216 | + for i in range(view.topLevelItemCount()): |
3217 | + item = view.topLevelItem(i) |
3218 | + if item.checkState(0) != state: |
3219 | + item.setCheckState(0, state) |
3220 | + |
3221 | + def clear(self, clear_message = True): |
3222 | + if clear_message: |
3223 | + self.message.clear() |
3224 | + self.file_view.clear() |
3225 | + self.file_view.viewport().update() |
3226 | + self.hunk_view.clear() |
3227 | + self.revision = None |
3228 | + self.loaded = False |
3229 | + |
3230 | + def use_editor(self): |
3231 | + cleanup = [] |
3232 | + items = self.file_view.selectedItems() |
3233 | + if len(items) != 1 or items[0].change.status != 'modify text': |
3234 | + return |
3235 | + else: |
3236 | + change = items[0].change |
3237 | + try: |
3238 | + target_tree, work_tree = self.trees |
3239 | + cleanup.append(work_tree.lock_read().unlock) |
3240 | + cleanup.append(target_tree.lock_read().unlock) |
3241 | + config = work_tree.branch.get_config() |
3242 | + change_editor = config.get_change_editor(target_tree, work_tree) |
3243 | + if change_editor is None: |
3244 | + QtGui.QMessageBox.information(self, gettext('Shelve'), |
3245 | + gettext('Change editor is not defined.'), gettext('&OK')) |
3246 | + self.editor_available = False |
3247 | + self.editor_button.setEnabled(False) |
3248 | + return |
3249 | + |
3250 | + cleanup.append(change_editor.finish) |
3251 | + lines = split_lines(change_editor.edit_file(change.file_id)) |
3252 | + change_count = Shelver._count_changed_regions(change.work_lines, lines) |
3253 | + if change_count > 0: |
3254 | + change.edited_lines = lines |
3255 | + self.update_item(items[0]) |
3256 | + self.selected_file_changed() |
3257 | + finally: |
3258 | + while cleanup: |
3259 | + cleanup.pop()() |
3260 | + |
3261 | + def _get_change_dictionary(self): |
3262 | + change_dict = {} |
3263 | + for i in range(0, self.file_view.topLevelItemCount()): |
3264 | + item = self.file_view.topLevelItem(i) |
3265 | + change = item.change |
3266 | + if item.checkState(0) == QtCore.Qt.Unchecked: |
3267 | + continue |
3268 | + change_dict[(change.file_id, change.status)] = change |
3269 | + return change_dict |
3270 | + |
3271 | + def do_shelve(self, destroy=False): |
3272 | + change_dict = self._get_change_dictionary() |
3273 | + if change_dict: |
3274 | + nfiles = len(change_dict) |
3275 | + if destroy: |
3276 | + prompt = ngettext('Delete changes of %d file without shelving', |
3277 | + 'Delete changes of %d files without shelving', nfiles) % nfiles |
3278 | + func = QtGui.QMessageBox.warning |
3279 | + else: |
3280 | + prompt = ngettext('Shelve changes of %d file', |
3281 | + 'Shelve changes of %d files', nfiles) % nfiles |
3282 | + func = QtGui.QMessageBox.question |
3283 | + ret = func(self, gettext('Shelve'), prompt, |
3284 | + QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) |
3285 | + if ret != QtGui.QMessageBox.Ok: |
3286 | + return |
3287 | + else: |
3288 | + QtGui.QMessageBox.information(self, gettext('Shelve'), |
3289 | + gettext('No changes selected.'), gettext('&OK')) |
3290 | + return |
3291 | + |
3292 | + cleanup = [] |
3293 | + try: |
3294 | + shelver, creator = self._create_shelver_and_creator(destroy=destroy) |
3295 | + cleanup.append(shelver.finalize) |
3296 | + cleanup.append(creator.finalize) |
3297 | + trees = (shelver.target_tree, shelver.work_tree) |
3298 | + if len(trees[1].get_parent_ids()) > 1: |
3299 | + raise WorkingTreeHasPendingMarge |
3300 | + if self.revision != trees[0].get_revision_id(): |
3301 | + raise WorkingTreeHasChanged |
3302 | + |
3303 | + changes = [] |
3304 | + for ch in creator.iter_shelvable(): |
3305 | + change = Change(ch, shelver, trees) |
3306 | + key = (change.file_id, change.status) |
3307 | + org_change = change_dict.get(key) |
3308 | + if org_change is None: |
3309 | + continue |
3310 | + if not change.is_same_change(org_change): |
3311 | + raise WorkingTreeHasChanged |
3312 | + del(change_dict[key]) |
3313 | + changes.append(org_change) |
3314 | + |
3315 | + if change_dict: |
3316 | + raise WorkingTreeHasChanged |
3317 | + |
3318 | + for change in changes: |
3319 | + if change.status == 'modify text': |
3320 | + self.handle_modify_text(creator, change) |
3321 | + elif change.status == 'modify binary': |
3322 | + creator.shelve_content_change(change.data[1]) |
3323 | + else: |
3324 | + creator.shelve_change(change.data) |
3325 | + manager = shelver.work_tree.get_shelf_manager() |
3326 | + message = unicode(self.message.toPlainText()).strip() or gettext(u'<no message>') |
3327 | + if destroy: |
3328 | + creator.transform() |
3329 | + shelf_id = -1 |
3330 | + else: |
3331 | + shelf_id = manager.shelve_changes(creator, message) |
3332 | + |
3333 | + except WorkingTreeHasPendingMarge: |
3334 | + QtGui.QMessageBox.warning(self, gettext('Shelve'), |
3335 | + gettext('Operation aborted because working tree has pending marges.'), gettext('&OK')) |
3336 | + return |
3337 | + except WorkingTreeHasChanged: |
3338 | + QtGui.QMessageBox.warning(self, gettext('Shelve'), |
3339 | + gettext('Operation aborted because target files has been changed.'), gettext('&OK')) |
3340 | + return |
3341 | + |
3342 | + finally: |
3343 | + while cleanup: |
3344 | + cleanup.pop()() |
3345 | + self.emit(QtCore.SIGNAL("shelfCreated(int)"), shelf_id) |
3346 | + self.clear() |
3347 | + |
3348 | + def handle_modify_text(self, creator, change): |
3349 | + final_hunks = [] |
3350 | + offset = 0 |
3351 | + change_count = 0 |
3352 | + if change.edited_lines: |
3353 | + creator.shelve_lines(change.file_id, change.edited_lines) |
3354 | + else: |
3355 | + for hunk in change.parsed_patch.hunks: |
3356 | + if hunk.selected: |
3357 | + offset -= (hunk.mod_range - hunk.orig_range) |
3358 | + change_count += 1 |
3359 | + else: |
3360 | + hunk.mod_pos += offset |
3361 | + final_hunks.append(hunk) |
3362 | + |
3363 | + if change_count == 0: |
3364 | + return |
3365 | + patched = patches.iter_patched_from_hunks(change.target_lines, final_hunks) |
3366 | + creator.shelve_lines(change.file_id, list(patched)) |
3367 | + |
3368 | + def load_settings(self): |
3369 | + config = get_qbzr_config() |
3370 | + layout = config.get_option("shelve_layout") |
3371 | + if layout not in ("1", "3"): |
3372 | + layout = "2" |
3373 | + self.current_layout = int(layout) |
3374 | + |
3375 | + def save_settings(self): |
3376 | + config = get_qbzr_config() |
3377 | + config.set_option("shelve_layout", str(self.current_layout)) |
3378 | + config.save() |
3379 | + |
3380 | + def hideEvent(self, event): |
3381 | + self.save_settings() |
3382 | + |
3383 | + def update_compleater_words(self): |
3384 | + words = set() |
3385 | + num_files_loaded = 0 |
3386 | + for i in range(0, self.file_view.topLevelItemCount()): |
3387 | + item = self.file_view.topLevelItem(i) |
3388 | + if item.checkState(0) == QtCore.Qt.Unchecked: |
3389 | + continue |
3390 | + ch = item.change |
3391 | + |
3392 | + if num_files_loaded < MAX_AUTOCOMPLETE_FILES: |
3393 | + file_words, load_texts_first = ch.get_words() |
3394 | + words.update(file_words) |
3395 | + if load_texts_first: |
3396 | + num_files_loaded += 1 |
3397 | + self.window().processEvents() |
3398 | + |
3399 | + words = list(words) |
3400 | + words.sort(key=lambda x: x.lower()) |
3401 | + self.completer_model.setStringList(words) |
3402 | + |
3403 | +class HunkView(QtGui.QWidget): |
3404 | + def __init__(self, complete=False, parent=None): |
3405 | + QtGui.QWidget.__init__(self, parent) |
3406 | + layout = QtGui.QHBoxLayout(self) |
3407 | + layout.setSpacing(0) |
3408 | + layout.setMargin(0) |
3409 | + self.browser = HunkTextBrowser(complete, self) |
3410 | + self.selector = HunkSelector(self.browser, self) |
3411 | + layout.addWidget(self.selector) |
3412 | + layout.addWidget(self.browser) |
3413 | + self.connect(self.browser, QtCore.SIGNAL("focusedHunkChanged()"), |
3414 | + self.update) |
3415 | + |
3416 | + def selected_hunk_changed(): |
3417 | + self.update() |
3418 | + self.emit(QtCore.SIGNAL("selectionChanged()")) |
3419 | + self.connect(self.browser, QtCore.SIGNAL("selectedHunkChanged()"), |
3420 | + selected_hunk_changed) |
3421 | + |
3422 | + self.change = None |
3423 | + self.encoding = None |
3424 | + |
3425 | + def set_tab_width(self, pixels): |
3426 | + self.browser.setTabStopWidth(pixels) |
3427 | + |
3428 | + def set_complete(self, value): |
3429 | + self.browser.complete = value |
3430 | + if self.change is not None: |
3431 | + self.set_parsed_patch(self.change, self.encoding) |
3432 | + |
3433 | + def move_previous(self): |
3434 | + self.browser.move_previous() |
3435 | + |
3436 | + def move_next(self): |
3437 | + self.browser.move_next() |
3438 | + |
3439 | + def rewind(self): |
3440 | + self.browser.rewind() |
3441 | + |
3442 | + def set_parsed_patch(self, change, encoding): |
3443 | + self.change = change |
3444 | + self.encoding = encoding |
3445 | + self.browser.set_parsed_patch(change, encoding) |
3446 | + self.update() |
3447 | + |
3448 | + def update(self): |
3449 | + self.selector.update() |
3450 | + self.browser.update() |
3451 | + |
3452 | + def clear(self): |
3453 | + self.browser.clear() |
3454 | + |
3455 | +class HunkSelector(QtGui.QFrame): |
3456 | + def __init__(self, browser, parent): |
3457 | + QtGui.QFrame.__init__(self, parent) |
3458 | + self.browser = browser |
3459 | + self.setFixedWidth(25) |
3460 | + self.setStyleSheet("border:1px solid lightgray;") |
3461 | + self.connect(browser.verticalScrollBar(), QtCore.SIGNAL("valueChanged(int)"), self.scrolled) |
3462 | + self.frame_width = QtGui.QApplication.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth) |
3463 | + |
3464 | + self.checkbox_pen = QtGui.QPen(QtCore.Qt.black) |
3465 | + self.checkbox_pen.setWidth(2) |
3466 | + |
3467 | + def scrolled(self, value): |
3468 | + self.update() |
3469 | + |
3470 | + def paintEvent(self, event): |
3471 | + QtGui.QFrame.paintEvent(self, event) |
3472 | + browser = self.browser |
3473 | + if not browser.hunk_list: |
3474 | + return |
3475 | + scroll_y = browser.verticalScrollBar().value() - self.frame_width |
3476 | + painter = QtGui.QPainter(self) |
3477 | + rect = event.rect() |
3478 | + painter.setClipRect(rect) |
3479 | + browser.draw_background( |
3480 | + QtCore.QRect(1, rect.top(), self.width() - 2, rect.height()), |
3481 | + painter, scroll_y) |
3482 | + |
3483 | + # draw checkbox |
3484 | + top, bottom = rect.top(), rect.bottom() |
3485 | + painter.setRenderHint(QtGui.QPainter.Antialiasing, True) |
3486 | + painter.setPen(self.checkbox_pen) |
3487 | + for hunk, y1, y2 in browser.hunk_list: |
3488 | + y1 -= scroll_y |
3489 | + y1 += 4 |
3490 | + if y1 + 13 < top: |
3491 | + continue |
3492 | + if bottom < y1: |
3493 | + break |
3494 | + painter.fillRect(6, y1, 13, 13, QtCore.Qt.white) |
3495 | + |
3496 | + painter.drawRect(6, y1, 13, 13) |
3497 | + if hunk.selected: |
3498 | + painter.drawLine(9, y1 + 7, 12, y1 + 10) |
3499 | + painter.drawLine(16, y1 + 3, 12, y1 + 10) |
3500 | + |
3501 | + del painter |
3502 | + |
3503 | + def mousePressEvent(self, event): |
3504 | + if event.button() == QtCore.Qt.LeftButton: |
3505 | + browser = self.browser |
3506 | + scroll_y = browser.verticalScrollBar().value() |
3507 | + |
3508 | + y = event.y() + scroll_y - self.frame_width |
3509 | + for i, (hunk, top, bottom) in enumerate(browser.hunk_list): |
3510 | + if top <= y <= bottom: |
3511 | + browser.toggle_selection(i) |
3512 | + break |
3513 | + elif y < top: |
3514 | + break |
3515 | + browser.focus_hunk_by_pos(event.y() - self.frame_width) |
3516 | + QtGui.QFrame.mousePressEvent(self, event) |
3517 | + |
3518 | +class HunkTextBrowser(QtGui.QTextBrowser): |
3519 | + |
3520 | + def __init__(self, complete=False, parent=None): |
3521 | + # XXX: This code should be merged with QSimpleDiffView |
3522 | + QtGui.QTextBrowser.__init__(self, parent) |
3523 | + self.hunk_list = [] |
3524 | + self.doc = QtGui.QTextDocument(parent) |
3525 | + self.doc.setUndoRedoEnabled(False) |
3526 | + self.setDocument(self.doc) |
3527 | + |
3528 | + option = self.doc.defaultTextOption() |
3529 | + option.setWrapMode(QtGui.QTextOption.NoWrap) |
3530 | + self.doc.setDefaultTextOption(option) |
3531 | + self.rewinded = False |
3532 | + self.cursor = QtGui.QTextCursor(self.doc) |
3533 | + |
3534 | + monospacedFont = get_monospace_font() |
3535 | + self.monospacedFormat = QtGui.QTextCharFormat() |
3536 | + self.monospacedFormat.setFont(monospacedFont) |
3537 | + self.monospacedInsertFormat = QtGui.QTextCharFormat(self.monospacedFormat) |
3538 | + self.monospacedInsertFormat.setForeground(QtGui.QColor(0, 136, 11)) |
3539 | + self.monospacedDeleteFormat = QtGui.QTextCharFormat(self.monospacedFormat) |
3540 | + self.monospacedDeleteFormat.setForeground(QtGui.QColor(204, 0, 0)) |
3541 | + |
3542 | + self.monospacedInactiveFormat = QtGui.QTextCharFormat(self.monospacedFormat) |
3543 | + self.monospacedInactiveFormat.setForeground(QtGui.QColor(128, 128, 128)) |
3544 | + |
3545 | + titleFont = QtGui.QFont(monospacedFont) |
3546 | + titleFont.setPointSize(titleFont.pointSize() * 140 / 100) |
3547 | + titleFont.setBold(True) |
3548 | + titleFont.setItalic(True) |
3549 | + |
3550 | + self.monospacedHunkFormat = QtGui.QTextCharFormat() |
3551 | + self.monospacedHunkFormat.setFont(titleFont) |
3552 | + self.monospacedHunkFormat.setForeground(QtCore.Qt.black) |
3553 | + |
3554 | + from bzrlib.plugins.qbzr.lib.diffview import colors |
3555 | + self.header_color = colors['blank'][0] |
3556 | + self.border_pen = QtGui.QPen(QtCore.Qt.gray) |
3557 | + self.focus_color = QtGui.QColor(0x87, 0xCE, 0xEB, 0x48) # lightBlue |
3558 | + self.focus_color_inactive = QtGui.QColor(0x87, 0xCE, 0xEB, 0x20) # lightBlue |
3559 | + |
3560 | + self.complete = complete |
3561 | + self._focused_index = -1 |
3562 | + |
3563 | + def rewind(self): |
3564 | + if not self.rewinded: |
3565 | + self.rewinded = True |
3566 | + self.verticalScrollBar().setValue(0) |
3567 | + |
3568 | + def set_parsed_patch(self, change, encoding): |
3569 | + self.clear() |
3570 | + cursor = self.cursor |
3571 | + |
3572 | + if change.edited_lines: |
3573 | + cursor.insertText( |
3574 | + gettext("Edited by change editor.\n"), self.monospacedHunkFormat) |
3575 | + lines = "".join(change.encode_edited_lines(encoding)) |
3576 | + if lines: |
3577 | + cursor.insertText(lines, self.monospacedInactiveFormat) |
3578 | + return |
3579 | + |
3580 | + patch = change.parsed_patch |
3581 | + texts = change.encode_hunk_texts(encoding) |
3582 | + if self.complete: |
3583 | + work_lines = change.encode_work_lines(encoding) |
3584 | + |
3585 | + def print_hunk(hunk, hunk_texts): |
3586 | + for line, text in zip(hunk.lines, hunk_texts): |
3587 | + if isinstance(line, InsertLine): |
3588 | + fmt = self.monospacedInsertFormat |
3589 | + elif isinstance(line, RemoveLine): |
3590 | + fmt = self.monospacedDeleteFormat |
3591 | + else: |
3592 | + fmt = self.monospacedFormat |
3593 | + cursor.insertText(text, fmt) |
3594 | + |
3595 | + start = 0 |
3596 | + for hunk, hunk_texts in zip(patch.hunks, texts): |
3597 | + # NOTE: hunk.mod_pos is 1 based value, not 0 based. |
3598 | + if self.complete: |
3599 | + lines = "".join([' ' + l for l in work_lines[start:hunk.mod_pos - 1]]) |
3600 | + if lines: |
3601 | + cursor.insertText(lines, self.monospacedInactiveFormat) |
3602 | + start = hunk.mod_pos + hunk.mod_range - 1 |
3603 | + y1 = cursor.block().layout().position().y() |
3604 | + print_hunk(hunk, hunk_texts) |
3605 | + y2 = cursor.block().layout().position().y() |
3606 | + |
3607 | + else: |
3608 | + y1 = cursor.block().layout().position().y() |
3609 | + cursor.insertText(str(hunk.get_header()), self.monospacedHunkFormat) |
3610 | + print_hunk(hunk, hunk_texts) |
3611 | + cursor.insertText("\n", self.monospacedFormat) |
3612 | + y2 = cursor.block().layout().position().y() |
3613 | + |
3614 | + self.hunk_list.append((hunk, y1, y2)) |
3615 | + |
3616 | + if self.complete: |
3617 | + lines = "".join([' ' + l for l in work_lines[start:]]) |
3618 | + if lines: |
3619 | + cursor.insertText(lines, self.monospacedInactiveFormat) |
3620 | + |
3621 | + if self.hunk_list: |
3622 | + self._set_focused_hunk(0) |
3623 | + |
3624 | + self.update() |
3625 | + |
3626 | + def update(self): |
3627 | + QtGui.QTextBrowser.update(self) |
3628 | + self.viewport().update() |
3629 | + |
3630 | + def clear(self): |
3631 | + QtGui.QTextBrowser.clear(self) |
3632 | + del(self.hunk_list[:]) |
3633 | + self._set_focused_hunk(-1) |
3634 | + |
3635 | + def paintEvent(self, event): |
3636 | + if not self.hunk_list: |
3637 | + QtGui.QTextBrowser.paintEvent(self, event) |
3638 | + return |
3639 | + scroll_y = self.verticalScrollBar().value() |
3640 | + |
3641 | + painter = QtGui.QPainter(self.viewport()) |
3642 | + rect = event.rect() |
3643 | + painter.setClipRect(rect) |
3644 | + |
3645 | + self.draw_background(rect, painter, scroll_y) |
3646 | + |
3647 | + QtGui.QTextBrowser.paintEvent(self, event) |
3648 | + del painter |
3649 | + |
3650 | + def draw_background(self, rect, painter, offset): |
3651 | + left, right, width = rect.left(), rect.right(), rect.width() |
3652 | + top, bottom = rect.top(), rect.bottom() |
3653 | + painter.setPen(self.border_pen) |
3654 | + for i, (hunk, y1, y2) in enumerate(self.hunk_list): |
3655 | + y1 -= offset |
3656 | + y2 -= offset |
3657 | + if bottom < y1 or y2 < top: |
3658 | + continue |
3659 | + if not self.complete: |
3660 | + # Fill header rect. |
3661 | + painter.fillRect(left, y1, width, 20, self.header_color) |
3662 | + # Overlay focus rect. |
3663 | + if i == self._focused_index: |
3664 | + if self.hasFocus(): |
3665 | + color = self.focus_color |
3666 | + else: |
3667 | + color = self.focus_color_inactive |
3668 | + painter.fillRect(left, y1, width, y2 - y1, color) |
3669 | + # Draw border. |
3670 | + painter.drawLine(left, y1, right, y1) |
3671 | + painter.drawLine(left, y2, right, y2) |
3672 | + |
3673 | + def move_next(self): |
3674 | + index = int(self._focused_index + 1) |
3675 | + if index == len(self.hunk_list): |
3676 | + index -= 1 |
3677 | + self._set_focused_hunk(index) |
3678 | + self.setFocus(QtCore.Qt.OtherFocusReason) |
3679 | + |
3680 | + def move_previous(self): |
3681 | + index = int(self._focused_index) |
3682 | + if 1 <= index and index == self._focused_index: |
3683 | + index -= 1 |
3684 | + self._set_focused_hunk(index) |
3685 | + self.setFocus(QtCore.Qt.OtherFocusReason) |
3686 | + |
3687 | + def toggle_selection(self, index): |
3688 | + if 0 <= index < len(self.hunk_list) and int(index) == index: |
3689 | + self.hunk_list[index][0].selected = \ |
3690 | + not self.hunk_list[index][0].selected |
3691 | + self.emit(QtCore.SIGNAL("selectedHunkChanged()")) |
3692 | + |
3693 | + def focus_hunk_by_pos(self, y): |
3694 | + index = self.hittest(y) |
3695 | + self._set_focused_hunk(index, scroll=False) |
3696 | + |
3697 | + def _set_focused_hunk(self, index, scroll=True): |
3698 | + self._focused_index = index |
3699 | + self.update() |
3700 | + self.emit(QtCore.SIGNAL("focusedHunkChanged()")) |
3701 | + if scroll and int(index) == index: |
3702 | + self.scroll_to_hunk(index) |
3703 | + |
3704 | + def hittest(self, y): |
3705 | + # NOTE : Value of y is client coordinate. |
3706 | + # If y is between (N)th and (N+1)th hunks, return (N + 0.5) |
3707 | + if not self.hunk_list: |
3708 | + return -1 |
3709 | + y += self.verticalScrollBar().value() |
3710 | + for i, (hunk, y1, y2) in enumerate(self.hunk_list): |
3711 | + if y1 <= y <= y2: |
3712 | + return i |
3713 | + elif y < y1: |
3714 | + return i - 0.5 |
3715 | + return i + 0.5 |
3716 | + |
3717 | + def scroll_to_hunk(self, index): |
3718 | + sbar = self.verticalScrollBar() |
3719 | + if index < 0: |
3720 | + sbar.setValue(0) |
3721 | + elif len(self.hunk_list) <= index: |
3722 | + sbar.setValue(sbar.maximum()) |
3723 | + else: |
3724 | + MARGIN = 24 |
3725 | + height = self.viewport().height() |
3726 | + cur_pos = sbar.value() |
3727 | + max_pos = self.hunk_list[index][1] - MARGIN |
3728 | + min_pos = self.hunk_list[index][2] - height + MARGIN |
3729 | + if max_pos <= min_pos or max_pos < cur_pos: |
3730 | + sbar.setValue(max_pos) |
3731 | + elif cur_pos < min_pos: |
3732 | + sbar.setValue(min_pos) |
3733 | + |
3734 | + def mousePressEvent(self, event): |
3735 | + if event.button() == QtCore.Qt.LeftButton: |
3736 | + self.focus_hunk_by_pos(event.y()) |
3737 | + |
3738 | + QtGui.QTextBrowser.mousePressEvent(self, event) |
3739 | + |
3740 | + def focusInEvent(self, event): |
3741 | + self.parent().update() |
3742 | + QtGui.QTextBrowser.focusInEvent(self, event) |
3743 | + |
3744 | + def focusOutEvent(self, event): |
3745 | + self.parent().update() |
3746 | + QtGui.QTextBrowser.focusOutEvent(self, event) |
3747 | + |
3748 | + def keyPressEvent(self, event): |
3749 | + mod, key = int(event.modifiers()), event.key() |
3750 | + if mod == QtCore.Qt.NoModifier: |
3751 | + if key == QtCore.Qt.Key_Space: |
3752 | + self.toggle_selection(self._focused_index) |
3753 | + return |
3754 | + QtGui.QTextBrowser.keyPressEvent(self, event) |
3755 | + |
3756 | |
3757 | === added file 'lib/widgets/shelvelist.py' |
3758 | --- lib/widgets/shelvelist.py 1970-01-01 00:00:00 +0000 |
3759 | +++ lib/widgets/shelvelist.py 2011-06-07 22:54:29 +0000 |
3760 | @@ -0,0 +1,541 @@ |
3761 | +# -*- coding: utf-8 -*- |
3762 | +# |
3763 | +# QBzr - Qt frontend to Bazaar commands |
3764 | +# Copyright (C) 2011 QBzr Developers |
3765 | +# |
3766 | +# This program is free software; you can redistribute it and/or |
3767 | +# modify it under the terms of the GNU General Public License |
3768 | +# as published by the Free Software Foundation; either version 2 |
3769 | +# of the License, or (at your option) any later version. |
3770 | +# |
3771 | +# This program is distributed in the hope that it will be useful, |
3772 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
3773 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3774 | +# GNU General Public License for more details. |
3775 | +# |
3776 | +# You should have received a copy of the GNU General Public License |
3777 | +# along with this program; if not, write to the Free Software |
3778 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
3779 | + |
3780 | +import sys, time |
3781 | +from PyQt4 import QtCore, QtGui |
3782 | +from PyQt4.QtGui import QKeySequence |
3783 | + |
3784 | +from bzrlib.revision import CURRENT_REVISION |
3785 | +from bzrlib.errors import ( |
3786 | + NoSuchRevision, |
3787 | + NoSuchRevisionInTree, |
3788 | + PathsNotVersionedError) |
3789 | +from bzrlib.plugins.qbzr.lib.i18n import gettext, N_ |
3790 | +from bzrlib.plugins.qbzr.lib.util import ( |
3791 | + ToolBarThrobberWidget, |
3792 | + get_apparent_author_name, |
3793 | + get_set_encoding, |
3794 | + runs_in_loading_queue, |
3795 | + get_icon, |
3796 | + get_monospace_font, |
3797 | + StandardButton, |
3798 | + get_tab_width_pixels, |
3799 | + get_set_tab_width_chars, |
3800 | + get_qbzr_config, |
3801 | + ) |
3802 | +from bzrlib.plugins.qbzr.lib.widgets.toolbars import ( |
3803 | + FindToolbar, ToolbarPanel, LayoutSelector |
3804 | + ) |
3805 | +from bzrlib.plugins.qbzr.lib.widgets.tab_width_selector import TabWidthMenuSelector |
3806 | +from bzrlib.plugins.qbzr.lib.diffview import ( |
3807 | + SidebySideDiffView, |
3808 | + SimpleDiffView, |
3809 | + ) |
3810 | + |
3811 | +from bzrlib.plugins.qbzr.lib.uifactory import ui_current_widget |
3812 | +from bzrlib.plugins.qbzr.lib.trace import reports_exception |
3813 | +from bzrlib.plugins.qbzr.lib.logwidget import LogList |
3814 | +from bzrlib.lazy_import import lazy_import |
3815 | +lazy_import(globals(), ''' |
3816 | +from bzrlib import transform |
3817 | +from bzrlib.workingtree import WorkingTree |
3818 | +from bzrlib.plugins.qbzr.lib.encoding_selector import EncodingMenuSelector |
3819 | +from bzrlib.plugins.qbzr.lib.diffwindow import DiffItem |
3820 | +from bzrlib.shelf import Unshelver |
3821 | +from bzrlib.shelf_ui import Unshelver as Unshelver_ui |
3822 | +from bzrlib.plugins.qbzr.lib.subprocess import SimpleSubProcessDialog |
3823 | +''') |
3824 | + |
3825 | +class ShelveListWidget(ToolbarPanel): |
3826 | + |
3827 | + def __init__(self, directory=None, complete=False, ignore_whitespace=False, |
3828 | + encoding=None, splitters=None, parent=None): |
3829 | + ToolbarPanel.__init__(self, slender=False, icon_size=22, parent=parent) |
3830 | + |
3831 | + self.encoding = encoding |
3832 | + self.directory = directory |
3833 | + |
3834 | + self.current_diffs = [] |
3835 | + self.complete = complete |
3836 | + self.ignore_whitespace = ignore_whitespace |
3837 | + self.show_files = False |
3838 | + self.load_settings() |
3839 | + |
3840 | + # build main widgets |
3841 | + self.shelve_view = QtGui.QTreeWidget(self) |
3842 | + self.shelve_view.setHeaderLabels([gettext("Id"), gettext("Message")]) |
3843 | + header = self.shelve_view.header() |
3844 | + header.setResizeMode(0, QtGui.QHeaderView.ResizeToContents) |
3845 | + |
3846 | + self.file_view = QtGui.QTreeWidget(self) |
3847 | + self.file_view.setHeaderLabels([gettext("File Name"), gettext("Status")]) |
3848 | + self.file_view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) |
3849 | + header = self.file_view.header() |
3850 | + header.setStretchLastSection(False) |
3851 | + header.setResizeMode(0, QtGui.QHeaderView.Stretch) |
3852 | + header.setResizeMode(1, QtGui.QHeaderView.ResizeToContents) |
3853 | + self.stack = QtGui.QStackedWidget(self) |
3854 | + self.diffviews = (SidebySideDiffView(self), SimpleDiffView(self)) |
3855 | + for view in self.diffviews: |
3856 | + self.stack.addWidget(view) |
3857 | + for browser in self.diffviews[0].browsers: |
3858 | + browser.installEventFilter(self) |
3859 | + |
3860 | + diff_panel = ToolbarPanel(self) |
3861 | + |
3862 | + # build diffpanel toolbar |
3863 | + show_find = diff_panel.add_toolbar_button( |
3864 | + N_("Find"), icon_name="edit-find", checkable=True, |
3865 | + shortcut=QtGui.QKeySequence.Find) |
3866 | + diff_panel.add_separator() |
3867 | + diff_panel.add_toolbar_button(N_("Unidiff"), icon_name="unidiff", |
3868 | + checkable=True, shortcut="Ctrl+U", onclick=self.unidiff_toggled) |
3869 | + |
3870 | + view_menu = QtGui.QMenu(gettext('View Options'), self) |
3871 | + view_menu.addAction( |
3872 | + diff_panel.create_button(N_("&Complete"), icon_name="complete", |
3873 | + checkable=True, checked=complete, onclick=self.complete_toggled) |
3874 | + ) |
3875 | + view_menu.addAction( |
3876 | + diff_panel.create_button(N_("Ignore whitespace"), icon_name="whitespace", |
3877 | + checkable=True, checked=ignore_whitespace, onclick=self.whitespace_toggled) |
3878 | + ) |
3879 | + self.tabwidth_selector = TabWidthMenuSelector(label_text=gettext("Tab width"), |
3880 | + onChanged=self.on_tabwidth_changed) |
3881 | + view_menu.addMenu(self.tabwidth_selector) |
3882 | + self.encoding_selector = EncodingMenuSelector(self.encoding, |
3883 | + gettext("Encoding"), self.encoding_changed) |
3884 | + self.encoding_selector.setIcon(get_icon("format-text-bold", 16)) |
3885 | + view_menu.addMenu(self.encoding_selector) |
3886 | + diff_panel.add_toolbar_menu( |
3887 | + N_("&View Options"), view_menu, icon_name="document-properties", |
3888 | + shortcut="Alt+V") |
3889 | + |
3890 | + self.find_toolbar = FindToolbar(self, self.diffviews[0].browsers[0], show_find) |
3891 | + diff_panel.add_widget(self.find_toolbar) |
3892 | + diff_panel.add_widget(self.stack) |
3893 | + self.find_toolbar.hide() |
3894 | + |
3895 | + # Layout widgets |
3896 | + self.splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal) |
3897 | + self.splitter1.addWidget(self.shelve_view) |
3898 | + |
3899 | + self.splitter2 = QtGui.QSplitter(QtCore.Qt.Horizontal) |
3900 | + self.splitter2.addWidget(self.file_view) |
3901 | + self.splitter2.addWidget(diff_panel) |
3902 | + |
3903 | + self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical) |
3904 | + self.splitter.addWidget(self.splitter1) |
3905 | + self.splitter.addWidget(self.splitter2) |
3906 | + self.splitter.setStretchFactor(0, 1) |
3907 | + |
3908 | + if splitters: |
3909 | + splitters.add("shelvelist_splitter", self.splitter) |
3910 | + splitters.add("shelvelist_splitter1", self.splitter1) |
3911 | + splitters.add("shelvelist_splitter2", self.splitter2) |
3912 | + |
3913 | + for sp in (self.splitter, self.splitter1, self.splitter2): |
3914 | + sp.setChildrenCollapsible(False) |
3915 | + sp.setStretchFactor(0, 3) |
3916 | + sp.setStretchFactor(1, 7) |
3917 | + |
3918 | + pal = QtGui.QPalette() |
3919 | + pal.setColor(QtGui.QPalette.Window, QtGui.QColor(0,0,0,0)) |
3920 | + self.splitter.setPalette(pal) |
3921 | + |
3922 | + layout = QtGui.QVBoxLayout() |
3923 | + layout.setMargin(10) |
3924 | + layout.addWidget(self.splitter) |
3925 | + self.add_layout(layout) |
3926 | + |
3927 | + # build main toolbar |
3928 | + unshelve_menu = QtGui.QMenu(gettext("Unshelve"), self) |
3929 | + unshelve_menu.addAction(self.create_button(N_("Dry run"), |
3930 | + onclick=lambda:self.do_unshelve('dry-run'))) |
3931 | + unshelve_menu.addAction(self.create_button(N_("Keep"), |
3932 | + onclick=lambda:self.do_unshelve('keep'))) |
3933 | + unshelve_menu.addAction(self.create_button(N_("Delete"), |
3934 | + onclick=lambda:self.do_unshelve('delete-only'))) |
3935 | + |
3936 | + self.unshelve_button = self.add_toolbar_button(N_("Unshelve"), icon_name="unshelve", |
3937 | + enabled=False, onclick=lambda:self.do_unshelve('apply'), |
3938 | + menu=unshelve_menu) |
3939 | + self.add_separator() |
3940 | + |
3941 | + layout_selector = \ |
3942 | + LayoutSelector(num=3, onchanged=lambda val:self.set_layout(type=val), |
3943 | + parent=self, initial_no=self.current_layout) |
3944 | + |
3945 | + layout_selector.addSeparator() |
3946 | + layout_selector.addAction( |
3947 | + self.create_button(gettext("Show filelist"), |
3948 | + icon_name="file", icon_size=16, checkable=True, |
3949 | + checked=self.show_files, shortcut="Ctrl+L", |
3950 | + onclick=lambda val:self.set_layout(show_files=val)) |
3951 | + ) |
3952 | + |
3953 | + self.add_toolbar_menu(N_("&Layout"), layout_selector, |
3954 | + icon_name="internet-news-reader", shortcut="Alt+L") |
3955 | + |
3956 | + self.add_toolbar_button(N_("&Refresh"), icon_name="view-refresh", |
3957 | + shortcut="Ctrl+R", onclick=self.refresh) |
3958 | + |
3959 | + self.shelf_id = None |
3960 | + |
3961 | + self.set_layout() |
3962 | + |
3963 | + # set signals |
3964 | + self.connect(self.shelve_view, QtCore.SIGNAL("itemSelectionChanged()"), |
3965 | + self.selected_shelve_changed) |
3966 | + self.connect(self.file_view, QtCore.SIGNAL("itemSelectionChanged()"), |
3967 | + self.selected_files_changed) |
3968 | + |
3969 | + self.loaded = False |
3970 | + self._loading_diff = False |
3971 | + self._pending_info = None |
3972 | + self._selecting_all_files = False |
3973 | + |
3974 | + def set_layout(self, type=None, show_files=None): |
3975 | + if type is not None: |
3976 | + self.current_layout = type |
3977 | + if show_files is not None: |
3978 | + self.show_files = show_files |
3979 | + |
3980 | + self.file_view.setParent(None) |
3981 | + if self.current_layout == 1: |
3982 | + self.splitter.setOrientation(QtCore.Qt.Vertical) |
3983 | + self.splitter1.setOrientation(QtCore.Qt.Horizontal) |
3984 | + if self.show_files: |
3985 | + self.splitter1.insertWidget(1, self.file_view) |
3986 | + elif self.current_layout == 2: |
3987 | + self.splitter.setOrientation(QtCore.Qt.Horizontal) |
3988 | + self.splitter1.setOrientation(QtCore.Qt.Vertical) |
3989 | + if self.show_files: |
3990 | + self.splitter1.insertWidget(1, self.file_view) |
3991 | + else: |
3992 | + self.splitter.setOrientation(QtCore.Qt.Vertical) |
3993 | + self.splitter2.setOrientation(QtCore.Qt.Horizontal) |
3994 | + if self.show_files: |
3995 | + self.splitter2.insertWidget(0, self.file_view) |
3996 | + |
3997 | + if type is not None: |
3998 | + # Reset splitter pos after changing type. |
3999 | + for sp in (self.splitter, self.splitter1, self.splitter2): |
4000 | + if sp.count() != 2: |
4001 | + continue |
4002 | + size = sum(sp.sizes()) |
4003 | + if size > 0: |
4004 | + size1 = int(size * 0.3) |
4005 | + sp.setSizes((size1, size - size1)) |
4006 | + |
4007 | + if show_files == False: |
4008 | + # When filelist is hidden, select all files always. |
4009 | + self.select_all_files() |
4010 | + |
4011 | + def on_tabwidth_changed(self, width): |
4012 | + get_set_tab_width_chars(self.tree.branch, tab_width_chars=width) |
4013 | + self._on_tabwidth_changed(width) |
4014 | + |
4015 | + def _on_tabwidth_changed(self, width): |
4016 | + pixels = get_tab_width_pixels(tab_width_chars=width) |
4017 | + self.diffviews[0].setTabStopWidths((pixels, pixels)) |
4018 | + self.diffviews[1].setTabStopWidth(pixels) |
4019 | + |
4020 | + def refresh(self): |
4021 | + self.loaded = False |
4022 | + self.clear() |
4023 | + tree = WorkingTree.open_containing(self.directory)[0] |
4024 | + tree.lock_read() |
4025 | + try: |
4026 | + manager = tree.get_shelf_manager() |
4027 | + shelves = manager.active_shelves() |
4028 | + for shelf_id in reversed(shelves): |
4029 | + |
4030 | + message = manager.get_metadata(shelf_id).get('message') |
4031 | + item = QtGui.QTreeWidgetItem() |
4032 | + item.setText(0, unicode(shelf_id)) |
4033 | + item.setText(1, message or gettext('<no message>')) |
4034 | + item.setIcon(0, get_icon("folder", 16)) |
4035 | + item.shelf_id = shelf_id |
4036 | + self.shelve_view.addTopLevelItem(item) |
4037 | + self.tree = tree |
4038 | + self.manager = manager |
4039 | + |
4040 | + tabwidth = get_set_tab_width_chars(tree.branch) |
4041 | + self.tabwidth_selector.setTabWidth(tabwidth) |
4042 | + self._on_tabwidth_changed(tabwidth) |
4043 | + |
4044 | + finally: |
4045 | + tree.unlock() |
4046 | + self.update() |
4047 | + self.loaded = True |
4048 | + |
4049 | + def update(self): |
4050 | + for view in (self.shelve_view.viewport(), self.file_view.viewport()) + self.diffviews: |
4051 | + view.update() |
4052 | + |
4053 | + def clear(self): |
4054 | + self.shelve_view.clear() |
4055 | + self.manager = None |
4056 | + |
4057 | + def show_changes(self, shelf_id): |
4058 | + cleanup = [] |
4059 | + shelf_file = self.manager.read_shelf(shelf_id) |
4060 | + cleanup.append(shelf_file.close) |
4061 | + try: |
4062 | + records = Unshelver.iter_records(shelf_file) |
4063 | + revid = Unshelver.parse_metadata(records)['revision_id'] |
4064 | + try: |
4065 | + base_tree = self.tree.revision_tree(revid) |
4066 | + except NoSuchRevisionInTree: |
4067 | + base_tree = self.tree.branch.repository.revision_tree(revid) |
4068 | + preview = transform.TransformPreview(base_tree) |
4069 | + cleanup.append(preview.finalize) |
4070 | + preview.deserialize(records) |
4071 | + |
4072 | + tabwidth = get_tab_width_pixels(self.tree.branch) |
4073 | + self.diffviews[0].setTabStopWidths((tabwidth, tabwidth)) |
4074 | + self.diffviews[1].setTabStopWidth(tabwidth) |
4075 | + |
4076 | + self.load_diff(preview.get_preview_tree(), base_tree) |
4077 | + |
4078 | + finally: |
4079 | + for func in cleanup: |
4080 | + func() |
4081 | + |
4082 | + def load_diff(self, tree, base_tree): |
4083 | + self.file_view.clear() |
4084 | + |
4085 | + changes = tree.iter_changes(base_tree) |
4086 | + |
4087 | + def changes_key(change): |
4088 | + return change[1][1] or change[1][0] |
4089 | + |
4090 | + for (file_id, paths, changed_content, versioned, parent, |
4091 | + name, kind, executable) in sorted(changes, key=changes_key): |
4092 | + di = DiffItem.create([base_tree, tree], file_id, paths, changed_content, |
4093 | + versioned, parent, name, kind, executable) |
4094 | + if not di: |
4095 | + continue |
4096 | + |
4097 | + di.load() |
4098 | + |
4099 | + old_path, new_path = di.paths |
4100 | + if di.versioned == (True, False): |
4101 | + text = old_path |
4102 | + color = 'red' |
4103 | + elif di.versioned == (False, True): |
4104 | + text = new_path |
4105 | + color = 'blue' |
4106 | + elif di.paths[0] != di.paths[1]: |
4107 | + text = u'%s => %s' % (old_path, new_path) |
4108 | + color = 'purple' |
4109 | + else: |
4110 | + text = old_path |
4111 | + color = None |
4112 | + |
4113 | + item = QtGui.QTreeWidgetItem() |
4114 | + item.setText(0, text) |
4115 | + item.setText(1, gettext(di.status)) |
4116 | + item.setIcon(0, get_icon("file", 16)) |
4117 | + item.diffitem = di |
4118 | + if color: |
4119 | + item.setData(0, QtCore.Qt.TextColorRole, color) |
4120 | + self.file_view.addTopLevelItem(item) |
4121 | + |
4122 | + def show_diff(self, diffs, refresh): |
4123 | + self._loading_diff = True |
4124 | + try: |
4125 | + cur_len = len(self.current_diffs) |
4126 | + if not refresh and cur_len <= len(diffs) and self.current_diffs == diffs[0:cur_len]: |
4127 | + appends = diffs[cur_len:] |
4128 | + else: |
4129 | + for view in self.diffviews: |
4130 | + view.clear() |
4131 | + self.current_diffs = [] |
4132 | + appends = diffs |
4133 | + for d in appends: |
4134 | + lines = d.lines |
4135 | + groups = d.groups(self.complete, self.ignore_whitespace) |
4136 | + dates = d.dates[:] # dates will be changed in append_diff |
4137 | + ulines = d.encode((self.encoding_selector.encoding, |
4138 | + self.encoding_selector.encoding)) |
4139 | + data = [''.join(l) for l in ulines] |
4140 | + for view in self.diffviews: |
4141 | + view.append_diff(list(d.paths), d.file_id, d.kind, d.status, dates, |
4142 | + d.versioned, d.binary, ulines, groups, |
4143 | + data, d.properties_changed) |
4144 | + self.current_diffs.append(d) |
4145 | + if self._pending_info is not None: |
4146 | + # Interrupted |
4147 | + break |
4148 | + finally: |
4149 | + self._loading_diff = False |
4150 | + |
4151 | + def selected_shelve_changed(self): |
4152 | + items = self.shelve_view.selectedItems() |
4153 | + if len(items) != 1: |
4154 | + self.shelf_id = None |
4155 | + self.unshelve_button.setEnabled(False) |
4156 | + self.file_view.clear() |
4157 | + else: |
4158 | + self.shelf_id = items[0].shelf_id |
4159 | + self.unshelve_button.setEnabled(True) |
4160 | + self.show_changes(self.shelf_id) |
4161 | + if self.show_files: |
4162 | + self.select_first_file() |
4163 | + else: |
4164 | + self.select_all_files() |
4165 | + self.file_view.viewport().update() |
4166 | + |
4167 | + def selected_files_changed(self): |
4168 | + if not self._selecting_all_files: |
4169 | + self.show_selected_diff() |
4170 | + |
4171 | + def select_all_files(self): |
4172 | + try: |
4173 | + self._selecting_all_files = True |
4174 | + for i in range(0, self.file_view.topLevelItemCount()): |
4175 | + self.file_view.topLevelItem(i).setSelected(True) |
4176 | + finally: |
4177 | + self._selecting_all_files = False |
4178 | + self.selected_files_changed() |
4179 | + |
4180 | + def select_first_file(self): |
4181 | + if self.file_view.topLevelItemCount() > 0: |
4182 | + self.file_view.topLevelItem(0).setSelected(True) |
4183 | + |
4184 | + def show_selected_diff(self, refresh = False): |
4185 | + # NOTE: SideBySideDiffView.append_diff uses processEvents internally. |
4186 | + # So, show_selected_diff can be called during another |
4187 | + # show_selected_diff is running. |
4188 | + if self._loading_diff: |
4189 | + if self._pending_info is None: |
4190 | + self._pending_info = (refresh,) |
4191 | + self.show_selected_diff_delay() |
4192 | + elif refresh and not self._pending_info[0]: |
4193 | + self._pending_info = (True,) |
4194 | + else: |
4195 | + diffs = [x.diffitem for x in self.file_view.selectedItems()] |
4196 | + diffs.sort(key=lambda x:x.paths[0] or x.paths[1]) |
4197 | + self.show_diff(diffs, refresh) |
4198 | + |
4199 | + def show_selected_diff_delay(self): |
4200 | + if self._pending_info == None: |
4201 | + return |
4202 | + if self._loading_diff: |
4203 | + QtCore.QTimer.singleShot(100, self.show_selected_diff_delay) |
4204 | + return |
4205 | + refresh = self._pending_info[0] |
4206 | + self._pending_info = None |
4207 | + self.show_selected_diff(refresh) |
4208 | + |
4209 | + def unidiff_toggled(self, state): |
4210 | + index = 1 if state else 0 |
4211 | + self.diffviews[index].rewind() |
4212 | + self.stack.setCurrentIndex(index) |
4213 | + if index == 0: |
4214 | + self.find_toolbar.text_edit = self.diffviews[0].browsers[0] |
4215 | + else: |
4216 | + self.find_toolbar.text_edit = self.diffviews[1] |
4217 | + |
4218 | + def complete_toggled(self, state): |
4219 | + self.complete = state |
4220 | + self.show_selected_diff(refresh = True) |
4221 | + |
4222 | + def whitespace_toggled(self, state): |
4223 | + self.ignore_whitespace = state |
4224 | + self.show_selected_diff(refresh = True) |
4225 | + |
4226 | + def prompt_bool(self, prompt, warning=False): |
4227 | + if warning: |
4228 | + func = QtGui.QMessageBox.warning |
4229 | + else: |
4230 | + func = QtGui.QMessageBox.question |
4231 | + ret = func(self, gettext('Shelve'), gettext(prompt), |
4232 | + QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) |
4233 | + return (ret == QtGui.QMessageBox.Ok) |
4234 | + |
4235 | + prompts = { |
4236 | + "apply" : |
4237 | + N_("Apply changes in shelf[%(id)d], and remove from the shelf"), |
4238 | + "dry-run" : |
4239 | + N_("Simulate to apply changes in shelf[%(id)d] without changing working tree"), |
4240 | + "keep" : |
4241 | + N_("Apply changes in shelf[%(id)d], but keep it shelved"), |
4242 | + "delete-only" : |
4243 | + N_("Remove shelf[%(id)d] without applying"), |
4244 | + } |
4245 | + |
4246 | + def do_unshelve(self, action): |
4247 | + if not self.shelf_id: |
4248 | + return |
4249 | + |
4250 | + prompt = gettext(self.prompts[action]) % {"id":self.shelf_id} |
4251 | + if action != "dry-run": |
4252 | + if not self.prompt_bool(prompt, warning=(action=="delete-only")): |
4253 | + return |
4254 | + self.unshelve(self.shelf_id, prompt, action) |
4255 | + self.refresh() |
4256 | + |
4257 | + def unshelve(self, id, desc, action): |
4258 | + args = ["unshelve", str(id), '--' + action] |
4259 | + window = SimpleSubProcessDialog(gettext("Shelve Manager"), |
4260 | + desc=gettext(desc), |
4261 | + args=args, |
4262 | + dir=self.directory, |
4263 | + auto_start_show_on_failed=True, |
4264 | + parent=self.window()) |
4265 | + def finished(result): |
4266 | + if result: |
4267 | + self.emit(QtCore.SIGNAL("unshelved(int, QString*)"), |
4268 | + self.shelf_id, action) |
4269 | + |
4270 | + self.connect(window, QtCore.SIGNAL("subprocessFinished(bool)"), finished) |
4271 | + |
4272 | + window.exec_() |
4273 | + self.refresh() |
4274 | + |
4275 | + def encoding_changed(self, encoding): |
4276 | + self.show_selected_diff(refresh = True) |
4277 | + |
4278 | + def eventFilter(self, object, event): |
4279 | + if event.type() == QtCore.QEvent.FocusIn: |
4280 | + if object in self.diffviews[0].browsers: |
4281 | + self.find_toolbar.text_edit = object |
4282 | + return ToolbarPanel.eventFilter(self, object, event) |
4283 | + |
4284 | + def load_settings(self): |
4285 | + config = get_qbzr_config() |
4286 | + layout = config.get_option("shelvelist_layout") |
4287 | + if layout not in ("2", "3"): |
4288 | + layout = "1" |
4289 | + self.current_layout = int(layout) |
4290 | + self.show_files = not not config.get_option_as_bool("shelvelist_show_filelist") |
4291 | + |
4292 | + def save_settings(self): |
4293 | + config = get_qbzr_config() |
4294 | + config.set_option("shelvelist_layout", str(self.current_layout)) |
4295 | + config.set_option("shelvelist_show_filelist", str(self.show_files)) |
4296 | + config.save() |
4297 | + |
4298 | + def hideEvent(self, event): |
4299 | + self.save_settings() |
4300 | + |
4301 | + |
4302 | |
4303 | === added file 'lib/widgets/splitters.py' |
4304 | --- lib/widgets/splitters.py 1970-01-01 00:00:00 +0000 |
4305 | +++ lib/widgets/splitters.py 2011-06-07 22:54:29 +0000 |
4306 | @@ -0,0 +1,47 @@ |
4307 | +# -*- coding: utf-8 -*- |
4308 | +# |
4309 | +# QBzr - Qt frontend to Bazaar commands |
4310 | +# Copyright (C) 2011 QBzr Developers |
4311 | +# |
4312 | +# This program is free software; you can redistribute it and/or |
4313 | +# modify it under the terms of the GNU General Public License |
4314 | +# as published by the Free Software Foundation; either version 2 |
4315 | +# of the License, or (at your option) any later version. |
4316 | +# |
4317 | +# This program is distributed in the hope that it will be useful, |
4318 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
4319 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4320 | +# GNU General Public License for more details. |
4321 | +# |
4322 | +# You should have received a copy of the GNU General Public License |
4323 | +# along with this program; if not, write to the Free Software |
4324 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
4325 | + |
4326 | +from PyQt4 import QtGui, QtCore |
4327 | +from bzrlib.plugins.qbzr.lib.util import ( |
4328 | + get_qbzr_config, |
4329 | + ) |
4330 | + |
4331 | +class Splitters(object): |
4332 | + """Save and restore splitter state.""" |
4333 | + |
4334 | + def __init__(self, prefix): |
4335 | + self.prefix = prefix |
4336 | + self.splitters = [] |
4337 | + |
4338 | + def add(self, name, splitter): |
4339 | + self.splitters.append((name, splitter)) |
4340 | + |
4341 | + def restore_state(self): |
4342 | + config = get_qbzr_config() |
4343 | + for name, splitter in self.splitters: |
4344 | + data = config.get_option('%s_%s' % (self.prefix, name)) |
4345 | + if data: |
4346 | + splitter.restoreState(QtCore.QByteArray.fromBase64(data)) |
4347 | + |
4348 | + def save_state(self): |
4349 | + config = get_qbzr_config() |
4350 | + for name, splitter in self.splitters: |
4351 | + value = splitter.saveState().toBase64().data() |
4352 | + config.set_option('%s_%s' % (self.prefix, name), value) |
4353 | + config.save() |
4354 | |
4355 | === added file 'lib/widgets/toolbars.py' |
4356 | --- lib/widgets/toolbars.py 1970-01-01 00:00:00 +0000 |
4357 | +++ lib/widgets/toolbars.py 2011-06-07 22:54:29 +0000 |
4358 | @@ -0,0 +1,270 @@ |
4359 | +# -*- coding: utf-8 -*- |
4360 | +# |
4361 | +# QBzr - Qt frontend to Bazaar commands |
4362 | +# Copyright (C) 2011 QBzr Developers |
4363 | +# |
4364 | +# This program is free software; you can redistribute it and/or |
4365 | +# modify it under the terms of the GNU General Public License |
4366 | +# as published by the Free Software Foundation; either version 2 |
4367 | +# of the License, or (at your option) any later version. |
4368 | +# |
4369 | +# This program is distributed in the hope that it will be useful, |
4370 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
4371 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4372 | +# GNU General Public License for more details. |
4373 | +# |
4374 | +# You should have received a copy of the GNU General Public License |
4375 | +# along with this program; if not, write to the Free Software |
4376 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
4377 | + |
4378 | +from bzrlib.plugins.qbzr.lib.util import ( |
4379 | + get_icon, |
4380 | + show_shortcut_hint |
4381 | + ) |
4382 | + |
4383 | +from PyQt4 import QtCore, QtGui |
4384 | +from bzrlib.plugins.qbzr.lib.i18n import gettext, N_ |
4385 | + |
4386 | +def create_toolbar_button(text, parent=None, icon_name=None, icon_size=22, |
4387 | + enabled=True, checkable=False, checked=False, |
4388 | + shortcut=None, onclick=None): |
4389 | + if icon_name: |
4390 | + button = QtGui.QAction(get_icon(icon_name, size=icon_size), |
4391 | + gettext(text), parent) |
4392 | + else: |
4393 | + button = QtGui.QAction(gettext(text), parent) |
4394 | + if checkable: |
4395 | + button.setCheckable(True) |
4396 | + button.setChecked(checked) |
4397 | + signal = "toggled(bool)" |
4398 | + else: |
4399 | + signal = "triggered()" |
4400 | + if not enabled: |
4401 | + button.setEnabled(False) |
4402 | + if shortcut: |
4403 | + button.setShortcut(shortcut) |
4404 | + show_shortcut_hint(button) |
4405 | + if onclick: |
4406 | + parent.connect(button, QtCore.SIGNAL(signal), onclick) |
4407 | + return button |
4408 | + |
4409 | +def add_toolbar_button(toolbar, text, parent, icon_name=None, icon_size=22, |
4410 | + enabled=True, checkable=False, checked=False, |
4411 | + shortcut=None, onclick=None): |
4412 | + button = create_toolbar_button(text, parent, icon_name, icon_size, |
4413 | + enabled, checkable, checked, shortcut, onclick) |
4414 | + toolbar.addAction(button) |
4415 | + return button |
4416 | + |
4417 | + |
4418 | +class FindToolbar(QtGui.QToolBar): |
4419 | + |
4420 | + def __init__(self, window, text_edit, show_action): |
4421 | + QtGui.QToolBar.__init__(self, gettext("Find"), window) |
4422 | + self.text_edit = text_edit |
4423 | + if 0: self.text_edit = QtGui.QTextEdit() |
4424 | + self.show_action = show_action |
4425 | + |
4426 | + self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) |
4427 | + self.setMovable (False) |
4428 | + |
4429 | + find_label = QtGui.QLabel(gettext("Find: "), self) |
4430 | + self.addWidget(find_label) |
4431 | + |
4432 | + self.find_text = QtGui.QLineEdit(self) |
4433 | + self.addWidget(self.find_text) |
4434 | + find_label.setBuddy(self.find_text) |
4435 | + |
4436 | + self.found_palette = QtGui.QPalette() |
4437 | + self.not_found_palette = QtGui.QPalette() |
4438 | + self.not_found_palette.setColor(QtGui.QPalette.Active, |
4439 | + QtGui.QPalette.Base, |
4440 | + QtCore.Qt.red) |
4441 | + self.not_found_palette.setColor(QtGui.QPalette.Active, |
4442 | + QtGui.QPalette.Text, |
4443 | + QtCore.Qt.white) |
4444 | + |
4445 | + prev = self.addAction(get_icon("go-previous"), gettext("Previous")) |
4446 | + prev.setShortcut(QtGui.QKeySequence.FindPrevious) |
4447 | + show_shortcut_hint(prev) |
4448 | + |
4449 | + next = self.addAction(get_icon("go-next"), gettext("Next")) |
4450 | + next.setShortcut(QtGui.QKeySequence.FindNext) |
4451 | + show_shortcut_hint(next) |
4452 | + |
4453 | + self.case_sensitive = QtGui.QCheckBox(gettext("Case sensitive"), self) |
4454 | + self.addWidget(self.case_sensitive) |
4455 | + self.whole_words = QtGui.QCheckBox(gettext("Whole words"), self) |
4456 | + self.addWidget(self.whole_words) |
4457 | + |
4458 | + close_find = QtGui.QAction(self) |
4459 | + close_find.setIcon(self.style().standardIcon( |
4460 | + QtGui.QStyle.SP_DialogCloseButton)) |
4461 | + self.addAction(close_find) |
4462 | + close_find.setShortcut((QtCore.Qt.Key_Escape)) |
4463 | + close_find.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) |
4464 | + close_find.setStatusTip(gettext("Close find")) |
4465 | + self.connect(self.show_action, |
4466 | + QtCore.SIGNAL("toggled (bool)"), |
4467 | + self.show_action_toggle) |
4468 | + self.connect(close_find, |
4469 | + QtCore.SIGNAL("triggered(bool)"), |
4470 | + self.close_triggered) |
4471 | + self.connect(self.find_text, |
4472 | + QtCore.SIGNAL("textChanged(QString)"), |
4473 | + self.find_text_changed) |
4474 | + self.connect(next, |
4475 | + QtCore.SIGNAL("triggered(bool)"), |
4476 | + self.find_next) |
4477 | + self.connect(prev, |
4478 | + QtCore.SIGNAL("triggered(bool)"), |
4479 | + self.find_prev) |
4480 | + self.connect(self.case_sensitive, |
4481 | + QtCore.SIGNAL("stateChanged(int)"), |
4482 | + self.find_text_changed) |
4483 | + self.connect(self.whole_words, |
4484 | + QtCore.SIGNAL("stateChanged(int)"), |
4485 | + self.find_text_changed) |
4486 | + self.connect(self.find_text, |
4487 | + QtCore.SIGNAL("returnPressed()"), |
4488 | + self.find_next) |
4489 | + |
4490 | + def show_action_toggle(self, state): |
4491 | + self.setVisible(state) |
4492 | + if state: |
4493 | + self.find_text.setFocus() |
4494 | + else: |
4495 | + self.find_text.setText('') |
4496 | + |
4497 | + def close_triggered(self, state): |
4498 | + self.show_action.setChecked(False) |
4499 | + |
4500 | + def find_text_changed(self, text): |
4501 | + self.find_avoid_moving() |
4502 | + |
4503 | + def find_get_flags(self): |
4504 | + flags = QtGui.QTextDocument.FindFlags() |
4505 | + if self.case_sensitive.isChecked(): |
4506 | + flags = flags | QtGui.QTextDocument.FindCaseSensitively |
4507 | + if self.whole_words.isChecked(): |
4508 | + flags = flags | QtGui.QTextDocument.FindWholeWords |
4509 | + return flags |
4510 | + |
4511 | + def find_avoid_moving(self): |
4512 | + self.find(self.text_edit.textCursor().selectionStart(), 0, |
4513 | + self.find_get_flags()) |
4514 | + |
4515 | + def find_next(self): |
4516 | + self.find(self.text_edit.textCursor().selectionEnd(), 0, |
4517 | + self.find_get_flags()) |
4518 | + |
4519 | + def find_prev(self, state): |
4520 | + self.find(self.text_edit.textCursor().selectionStart(), |
4521 | + self.text_edit.document().characterCount(), |
4522 | + self.find_get_flags() | QtGui.QTextDocument.FindBackward) |
4523 | + |
4524 | + def find(self, from_pos, restart_pos, flags): |
4525 | + doc = self.text_edit.document() |
4526 | + text = self.find_text.text() |
4527 | + cursor = doc.find(text, from_pos, flags) |
4528 | + if cursor.isNull(): |
4529 | + # try again from the restart pos |
4530 | + cursor = doc.find(text, restart_pos, flags) |
4531 | + if cursor.isNull(): |
4532 | + cursor = self.text_edit.textCursor() |
4533 | + cursor.setPosition(cursor.selectionStart()) |
4534 | + self.text_edit.setTextCursor(cursor) |
4535 | + # Make find_text background red like Firefox |
4536 | + if len(text) > 0: |
4537 | + self.find_text.setPalette(self.not_found_palette) |
4538 | + else: |
4539 | + self.find_text.setPalette(self.found_palette) |
4540 | + else: |
4541 | + self.text_edit.setTextCursor(cursor) |
4542 | + self.find_text.setPalette(self.found_palette) |
4543 | + |
4544 | + def set_text_edit(self, new_text_edit): |
4545 | + if self.text_edit: |
4546 | + self.text_edit.setTextCursor(QtGui.QTextCursor()) |
4547 | + self.text_edit = new_text_edit |
4548 | + |
4549 | + |
4550 | +class ToolbarPanel(QtGui.QWidget): |
4551 | + def __init__(self, slender=True, icon_size=16, parent=None): |
4552 | + QtGui.QWidget.__init__(self, parent) |
4553 | + vbox = QtGui.QVBoxLayout(self) |
4554 | + vbox.setSpacing(0) |
4555 | + vbox.setMargin(0) |
4556 | + |
4557 | + toolbar = QtGui.QToolBar(self) |
4558 | + toolbar.setMovable(False) |
4559 | + toolbar.setIconSize(QtCore.QSize(icon_size,icon_size)) |
4560 | + self.icon_size=icon_size |
4561 | + if slender: |
4562 | + self.setStyleSheet('QToolBar { margin:1px; padding:0px; border:none; }') |
4563 | + toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) |
4564 | + |
4565 | + vbox.addWidget(toolbar) |
4566 | + self.vbox = vbox |
4567 | + self.toolbar = toolbar |
4568 | + |
4569 | + def add_toolbar_button(self, text, icon_name=None, icon_size=0, enabled=True, |
4570 | + checkable=False, checked=False, shortcut=None, onclick=None, menu=None): |
4571 | + button = create_toolbar_button(text, self, icon_name=icon_name, |
4572 | + icon_size=icon_size or self.icon_size, enabled=enabled, |
4573 | + checkable=checkable, checked=checked, shortcut=shortcut, onclick=onclick) |
4574 | + if menu is not None: |
4575 | + button.setMenu(menu) |
4576 | + self.toolbar.addAction(button) |
4577 | + return button |
4578 | + |
4579 | + def add_toolbar_menu(self, text, menu, icon_name=None, icon_size=0, enabled=True, shortcut=None): |
4580 | + button = self.add_toolbar_button(text, icon_name=icon_name, |
4581 | + icon_size=icon_size or self.icon_size, enabled=enabled, menu=menu) |
4582 | + widget = self.toolbar.widgetForAction(button) |
4583 | + widget.setPopupMode(QtGui.QToolButton.InstantPopup) |
4584 | + if shortcut: |
4585 | + widget.setShortcut(shortcut) |
4586 | + show_shortcut_hint(widget) |
4587 | + return button |
4588 | + |
4589 | + def create_button(self, text, icon_name=None, icon_size=0, enabled=True, |
4590 | + checkable=False, checked=False, shortcut=None, onclick=None): |
4591 | + return create_toolbar_button(text, self, icon_name=icon_name, |
4592 | + icon_size=icon_size or self.icon_size, enabled=enabled, |
4593 | + checkable=checkable, checked=checked, shortcut=shortcut, onclick=onclick) |
4594 | + |
4595 | + def add_separator(self): |
4596 | + self.toolbar.addSeparator() |
4597 | + |
4598 | + def add_widget(self, widget): |
4599 | + self.vbox.addWidget(widget) |
4600 | + |
4601 | + def add_layout(self, layout): |
4602 | + self.vbox.addLayout(layout) |
4603 | + |
4604 | +class LayoutSelector(QtGui.QMenu): |
4605 | + """Menu to select layout.""" |
4606 | + def __init__(self, num, onchanged, parent=None, initial_no=1): |
4607 | + QtGui.QMenu.__init__(self, gettext('Layout'), parent) |
4608 | + |
4609 | + self.current = initial_no |
4610 | + |
4611 | + def selected(no): |
4612 | + self.current = initial_no |
4613 | + onchanged(no) |
4614 | + |
4615 | + def get_handler(no): |
4616 | + return lambda:selected(no) |
4617 | + |
4618 | + group = QtGui.QActionGroup(self) |
4619 | + self.buttons = [] |
4620 | + for i in range(1, num + 1): |
4621 | + btn = create_toolbar_button(gettext("Layout %d") % i, self, |
4622 | + checkable=True, shortcut="Ctrl+%d" % i, |
4623 | + checked=(i == initial_no), |
4624 | + onclick=get_handler(i)) |
4625 | + group.addAction(btn) |
4626 | + self.addAction(btn) |
4627 | + self.buttons.append(btn) |
4628 | + |
I really want to see it merged very soon. I have some feedback regarding UI. Some background: one of the good features of QBzr is consistency between different q-windows. That's not ideal though, but we should try to improve this consistency. That means we should follow create major control elements in similar way in the different windows.
1) So, let's look at you toolbar: http:// dl.dropbox. com/u/16802579/ shelve. png
It's slightly different from qdiff toolbar in the way it displays options (Encoding and Complete). Your toolbar put both options directly on toolbar, while qdiff puts them into View Options submenu: http:// bazaarvcs. files.wordpress .com/2011/ 04/qdiff- options. png
I'd like you put your options into similar submenu as well, or even better reuse that menu if possible (hiding unneeded options), so we can extend options in one place.
Your icons for that options are very nice, so we can use them in qdiff too.
2) I suggest using more descriptive names for button Next and Previous, as Next hunk / Previous Hunk, or Next Change / Previous Change. That's because when Find panel is open user will see 2 pairs of next/previous and that's confusing: http:// dl.dropbox. com/u/16802579/ shelve- find.png
3) You have added only one new command: qshelve. I think we need qunshelve as well to match bzr CLI. That should be similar to http:// dl.dropbox. com/u/16802579/ shelvelist. png but I think we don't really need `qshelve --list` then. Or you can retain `qshelve --list` but makes it alias to qunshelve window.