adapted to new hardware; input parameters made configurable

This commit is contained in:
2025-04-09 14:52:00 +02:00
parent c89247dd7c
commit 38ac0a2b46
8 changed files with 1254 additions and 992 deletions

View File

@@ -1,7 +1,8 @@
<html><head><title>Time of Flight Measuement for Injector and Ring Cyclotron Turn Number Ascertainment, TINA</title></head>
<body>
<h5 style="color:gray;">June 2024, Jan Chrin, Pierre-Andr&eacute; Duperrex, Alessandro Facchetti, Waldamar Koprek</h5>
<h5 style="color:gray;">Jan Chrin, Pierre-Andr&eacute; Duperrex, Alessandro Facchetti, Daniele, Felici, Waldamar Koprek<br>April 2025</h5>
<h4> <span style="color: red;">T</span>ime of Flight Measurement for <span style="color: red;">I</span>njector and Ring Cyclotron Turn <span style="color: red;">N</span>umber <span style="color: red;">A</span>scertainment, <span style="color: red;">TINA</span></h4>
<h2 style="color:blue;">About</h2>
@@ -14,9 +15,8 @@ Pierre-Andr&eacute; Duperrex: <br>
P.-A. Duperrex and A. Facchetti,
Number of Turn Measurements on the HIPA Cyclotrons at PSI.<br>
doi:10.18429/JACoW-IPAC2018-WEPAL067
</p>
</p>
<!--a href="page1.html">here</a></p-->
<h2 style="color:blue;">The Repository</h2>
@@ -24,8 +24,9 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
<p>The application comprises two components:
<ul>
<li>
The low-level ADC data acquisition system.<br>
<span style="color: green;">https://git.psi.ch/epics_iocboot_hipa/.. to be completed</span><br>
The low-level ADC data acquisition system is detailed in the following repositories:<br>
<span style="color: green;">https://git.psi.ch/GFA/CO/general/CPSI_SCOPE/CPSI_SCOPE</span><br>
<span style="color: green;">https://git.psi.ch/epics_iocboot_hipa/z_di_turn_count</span><br>
</li>
<li>
@@ -37,7 +38,7 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
</ul>
<h2 style="color:blue;">GUI, Control Tab</h2>
Main panel for use by operators.
<h3 style="color:#7b68ee;">Operator Panel</h3>
<h3 style="color:#7b68ee;">Accelerator Panel</h3>
Input parameters to analysis routine, as configured in tina.json.<br>
The Injector has NOT yet been implemented into the application.
<table width=400>
@@ -76,8 +77,60 @@ doi:10.18429/JACoW-IPAC2018-WEPAL067
</td>
</tr>
</table>
<p>
Within the Procedure group, the Start buttonn executes the analysis program
<h3 style="color:#7b68ee;">Expert Panel</h3>
Input parameters to the peak search analysis, as configured in tina.json.<br>
The Injector has NOT yet been implemented into the application.
<p>
<table width=1400px>
<tr> <td>
<table width=1000px>
<!--caption>
<h4 style="color:#0047ab;">Cyclotron</h4>
</caption-->
<thead>
<tr>
<th align=left>Parameter</th>
<th align=center style="color:#0047ab;">Cyclotron</th>
</tr>
</thead>
<tr><td>Minimum Peak Height:</td> <td align=center>50</td></tr>
<tr><td>Minimum distance between peaks:</td> <td align=center>10</td></tr>
<tr><td width=80%>Minimim difference in correlation between top two peaks:</td> <td valign=bottom align=center>0.01</td></tr>
<tr>
<td>Minimum Current in Injector:</td> <td align=center>1.0</td>
</tr>
</table>
</td> <td width=20> &nbsp; </td>
<td> <table width=200px>
<!--caption>
<h4 style="color:#008b8b;">Injector</h4>
</caption-->
<thead>
<tr>
<th align=center style="color:#008b8b;">Injector</th>
</tr>
</thead>
<tr><td align=center>50</td></tr>
<tr><td align=center>10</td></tr>
<tr><td align=center>&nbsp;</td></tr>
<tr><td align=center>0.01</td></tr>
<tr><td align=center>1.0</td></tr>
</table>
</td>
</tr>
</table>
<p>
The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files: <br>
/hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
<p>
<h4 style="color:#7b68ee;">Procedure</h4>
Within the Procedure group, the Start button executes the analysis program
which usually takes less than 10 seconds to complete. 3'010'560 samples are
collected per channel (entry wf/exit wf).
<p>
@@ -90,57 +143,15 @@ collected per channel (entry wf/exit wf).
<li>opens a dialog window for submission to the selected elog book.
</li>
</ul>
These actions can also be executed individually through icons placed in the menu bar.
<p>
<font color=green>
Data can be recalled from hdf5 and reanalyzed using the HDF analysis functionality
made available through a docked widget in the menu bar (right click on the menu bar
and select the HDF5 option).
</font>
<h3 style="color:#7b68ee;">Expert Panel</h3>
Input parameters to the peak search analysis, as configured in tina.json.<br>
The Injector has NOT yet been implemented into the application.
<table width=400>
<tr> <td>
<table>
<!--caption>
<h4 style="color:#0047ab;">Cyclotron</h4>
</caption-->
<thead>
<tr>
<th align=left>Parameter</th>
<th align=center style="color:#0047ab;">Cyclotron</th>
</tr>
</thead>
<tr><td>Minimum Peak Height</td> <td align=center>50</td></tr>
<tr><td>Minimum distance between peaks</td> <td align=center>10</td></tr>
<tr><td>Minimim difference in correlation plot <br>between peak and 2nd highest peak</td> <td rowspan=2 align=center>0.01</td></tr>
</table>
</td> <td width=20> &nbsp; </td>
<td> <table>
<!--caption>
<h4 style="color:#008b8b;">Injector</h4>
</caption-->
<thead>
<tr>
<th align=center style="color:#008b8b;">Injector</th>
</tr>
</thead>
<tr> <td align=center>50</td></tr>
<tr><td align=center>10</td></tr>
<tr><td align=center>0.01</td></tr>
</table>
</td>
</tr>
</table>
<br>
<p>
The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files: <br>
/hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
<h3 style="color:#7b68ee;">TINA Image</h3>
<table>
<tr><td>

View File

@@ -2,382 +2,13 @@
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
\x00\x00\x14\xaa\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\x66\x6f\
\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\x3e\x0a\
\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\
\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\
\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\
\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\
\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\
\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\
\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\
\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\
\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\
\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\
\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\
\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\
\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\x66\x6f\
\x6e\x74\x3e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\
\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\
\x3c\x2f\x68\x33\x3e\x0a\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x65\
\x61\x6b\x20\x73\x65\x61\x72\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\
\x69\x73\x2c\x20\x61\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\
\x64\x20\x69\x6e\x20\x74\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\
\x62\x72\x3e\x0a\x20\x20\x0a\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\
\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\
\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\
\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x61\x70\x70\x6c\x69\x63\
\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\
\x69\x64\x74\x68\x3d\x34\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\
\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\
\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\
\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\
\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\
\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\
\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\
\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
\x6e\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\
\x50\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3c\x2f\x74\x64\x3e\x20\x3c\
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\
\x66\x65\x72\x65\x6e\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\
\x6c\x61\x74\x69\x6f\x6e\x20\x70\x6c\x6f\x74\x20\x3c\x62\x72\x3e\
\x62\x65\x74\x77\x65\x65\x6e\x20\x70\x65\x61\x6b\x20\x61\x6e\x64\
\x20\x32\x6e\x64\x20\x68\x69\x67\x68\x65\x73\x74\x20\x70\x65\x61\
\x6b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x72\x6f\x77\x73\x70\
\x61\x6e\x3d\x32\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\x64\x74\
\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\
\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\x3c\x74\
\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\
\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\
\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\
\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\x3c\x74\
\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\
\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\
\x68\x65\x61\x64\x3e\x0a\x20\x0a\x20\x20\x20\x3c\x74\x72\x3e\x20\
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\
\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\
\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x62\x72\x3e\x0a\x3c\x70\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\x69\x6c\x6c\x6f\x73\
\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\
\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\
\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\
\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x61\
\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\x20\x66\x6f\x72\x20\
\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\x65\x20\x77\x69\x74\
\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\x63\x6f\x6c\x6c\x65\
\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x61\x6e\x64\x20\x73\
\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\x66\x35\x20\x66\x69\
\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\x0a\x20\x20\x2f\x68\
\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\x2f\x6d\x65\x61\x73\
\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\x6e\x61\x5f\x32\x30\
\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\x63\x69\x6c\x6c\x6f\
\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\x20\x3c\x68\x33\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\x67\
\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\x69\
\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\x64\
\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\
\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\
\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -391,6 +22,380 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x16\x6b\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x15\xad\
\xff\
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
@@ -740,6 +745,29 @@ qt_resource_data = b"\
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -757,14 +785,22 @@ qt_resource_data = b"\
qt_resource_name = b"\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x08\
\x00\x44\x5a\x07\
\x00\x54\
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -773,14 +809,6 @@ qt_resource_name = b"\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x08\
\x00\x44\x5a\x07\
\x00\x54\
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -788,36 +816,36 @@ qt_resource_name = b"\
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
\x00\x00\x01\x94\x3a\xf8\x11\xe0\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
\x00\x00\x01\x94\x3a\xf8\x11\xe8\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
\x00\x00\x01\x94\x3a\xf8\x11\xe9\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
\x00\x00\x01\x94\x3a\xf8\x11\xeb\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
\x00\x00\x01\x94\x3a\xf8\x11\xec\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
\x00\x00\x01\x94\x3a\xf8\x11\xee\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x01\x95\xeb\x5c\x84\xe2\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x94\x41\x4a\x3a\x25\
\x00\x00\x01\x95\xeb\x5c\x84\xeb\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
\x00\x00\x01\x95\xeb\x5c\x84\xed\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x95\xeb\x5c\x84\xef\
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
\x00\x00\x01\x95\xeb\x5c\x84\xf0\
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
\x00\x00\x01\x95\xeb\x5c\x84\xf2\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x96\x1a\x88\xce\x2e\
"
qt_version = QtCore.qVersion().split('.')
if qt_version < ['5', '8', '0']:
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:

View File

@@ -2,382 +2,13 @@
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
\x00\x00\x14\xaa\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\x66\x6f\
\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\x3e\x0a\
\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\
\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\
\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\
\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\
\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\
\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\
\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\
\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\
\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\
\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\
\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\
\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\
\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\x66\x6f\
\x6e\x74\x3e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\
\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\
\x3c\x2f\x68\x33\x3e\x0a\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x65\
\x61\x6b\x20\x73\x65\x61\x72\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\
\x69\x73\x2c\x20\x61\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\
\x64\x20\x69\x6e\x20\x74\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\
\x62\x72\x3e\x0a\x20\x20\x0a\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\
\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\
\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\
\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x61\x70\x70\x6c\x69\x63\
\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\
\x69\x64\x74\x68\x3d\x34\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\
\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\
\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\
\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\
\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\
\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\
\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\
\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
\x6e\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\
\x50\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3c\x2f\x74\x64\x3e\x20\x3c\
\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\
\x66\x65\x72\x65\x6e\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\
\x6c\x61\x74\x69\x6f\x6e\x20\x70\x6c\x6f\x74\x20\x3c\x62\x72\x3e\
\x62\x65\x74\x77\x65\x65\x6e\x20\x70\x65\x61\x6b\x20\x61\x6e\x64\
\x20\x32\x6e\x64\x20\x68\x69\x67\x68\x65\x73\x74\x20\x70\x65\x61\
\x6b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x72\x6f\x77\x73\x70\
\x61\x6e\x3d\x32\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\x64\x74\
\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\
\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\x3c\x74\
\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\
\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\
\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\
\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\x3c\x74\
\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\
\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\
\x68\x65\x61\x64\x3e\x0a\x20\x0a\x20\x20\x20\x3c\x74\x72\x3e\x20\
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\
\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\
\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x62\x72\x3e\x0a\x3c\x70\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\x69\x6c\x6c\x6f\x73\
\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\
\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\
\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\
\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x61\
\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\x20\x66\x6f\x72\x20\
\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\x65\x20\x77\x69\x74\
\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\x63\x6f\x6c\x6c\x65\
\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x61\x6e\x64\x20\x73\
\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\x66\x35\x20\x66\x69\
\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\x0a\x20\x20\x2f\x68\
\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\x2f\x6d\x65\x61\x73\
\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\x6e\x61\x5f\x32\x30\
\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\x63\x69\x6c\x6c\x6f\
\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\x20\x3c\x68\x33\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\x67\
\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\x69\
\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\x64\
\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\
\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\
\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -391,6 +22,380 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x16\x6b\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x15\xad\
\xff\
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
@@ -740,6 +745,29 @@ qt_resource_data = b"\
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -757,14 +785,22 @@ qt_resource_data = b"\
qt_resource_name = b"\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x08\
\x00\x44\x5a\x07\
\x00\x54\
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -773,14 +809,6 @@ qt_resource_name = b"\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x08\
\x00\x44\x5a\x07\
\x00\x54\
\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -788,36 +816,36 @@ qt_resource_name = b"\
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
\x00\x00\x01\x94\x3a\xf8\x11\xe0\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
\x00\x00\x01\x94\x3a\xf8\x11\xe8\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
\x00\x00\x01\x94\x3a\xf8\x11\xe9\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
\x00\x00\x01\x94\x3a\xf8\x11\xeb\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
\x00\x00\x01\x94\x3a\xf8\x11\xec\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
\x00\x00\x01\x94\x3a\xf8\x11\xee\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x01\x95\xeb\x5c\x84\xe2\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x94\x41\x4a\x3a\x25\
\x00\x00\x01\x95\xeb\x5c\x84\xeb\
\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
\x00\x00\x01\x95\xeb\x5c\x84\xed\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x95\xeb\x5c\x84\xef\
\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
\x00\x00\x01\x95\xeb\x5c\x84\xf0\
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
\x00\x00\x01\x95\xeb\x5c\x84\xf2\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x96\x1a\x88\xce\x2e\
"
qt_version = QtCore.qVersion().split('.')
if qt_version < ['5', '8', '0']:
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:

View File

@@ -49,7 +49,7 @@ class AnalysisProcedure(QObject):
self.check_status_list = self.parent.check_status_list
self.trigger_progressbar = self.parent.trigger_progressbar
self.daq_timeout = 30
self.daq_ready = 0
self.daq_ready_init_value = 0
self.logging = self.parent.logging
self.logger = self.logging.getLogger(__name__)
self.logger.debug('Logging activated in analysis procedure')
@@ -80,19 +80,20 @@ class AnalysisProcedure(QObject):
self.log_level = logging.INFO
self.simulation = False
self.accelerator = self.ring_cyclotron
self.accelerator_peak_search = ' ' + self.accelerator + ' '
self.harmonic_no = 6
self.entry_current = 0
self.exit_current = 0
self.n_turns = None
self.n_turns = 0
# self.t_stepsize = 0.000000019750043 #0.00000002
self.rf_freq = 50.6328 # 10**6
self.rf_sample = 3.0 # 10**6
self.pulse_stepsize = 1/(self.rf_freq*10**6)
self.t_stepsize = 1/(self.rf_sample*10**9)
self.t_interval = math.ceil(self.pulse_stepsize/self.t_stepsize)
self.pulse_stepsize = 1 / (self.rf_freq * 10**6)
self.t_stepsize = 1 / (self.rf_sample * 10**9)
self.t_interval = math.ceil(self.pulse_stepsize / self.t_stepsize)
self.correlation_peak_diff = 0.0
self.signal_min_peak_height = 50
self.signal_min_peak_height = 4 # 50
self.signal_min_peak_distance = 10
self.correlation_min_peak_diff = 0.01
@@ -100,7 +101,12 @@ class AnalysisProcedure(QObject):
self.dn_pickup = -1
self.mod_freq = 500 # GHz
self.duty_cycle = 1 # percentage
#self.minimum_current = -10.001
self.delay = 0
self.lag_full = 0
self.lags_full_array = []
self.corr_full = []
# Turn off DEBUG for MATLAB
mat_logger = logging.getLogger('matplotlib')
mat_logger.setLevel(logging.ERROR)
@@ -137,7 +143,7 @@ class AnalysisProcedure(QObject):
self.parent.gui_frame.line_sender_dict['accelerator'].setCurrentIndex(
idx)
print(f'init input parameters {self.input_data}')
print(f'init input parameters {self.input_data}', flush=True)
if reanalysis:
self.loglevel = self.input_parameters['loggingLevel']
else:
@@ -171,6 +177,9 @@ class AnalysisProcedure(QObject):
self.input_data[self.accelerator]['deltaTcable'])
self.dn_pickup = int(
self.input_data[self.accelerator]['deltaNpickup'])
# self.minimum_current = float(
# self.input_data[self.accelerator_peak_search][
# 'minimumCurrent'])
if self.injector_2 in self.accelerator:
self.mod_freq = float(
@@ -189,6 +198,7 @@ class AnalysisProcedure(QObject):
self.logger.info(f'Harmonic No. {self.harmonic_no}')
self.logger.info(f'dT Cable {self.dt_cable}')
self.logger.info(f'dN Pickup {self.dn_pickup}')
#self.logger.info(f'I minimum {self.minimum_current} (mA)')
except KeyError as ex:
self.logger.error(f'KeyError {ex}')
@@ -197,11 +207,12 @@ class AnalysisProcedure(QObject):
try:
self.correlation_min_peak_diff = float(
self.input_data[self.accelerator]['correlationPeakDifference'])
self.signal_min_peak_height = round(
self.input_data[self.accelerator]['peakHeight'])
self.signal_min_peak_distance = round(
self.input_data[self.accelerator]['peakDistance'])
self.input_data[self.accelerator_peak_search][
'correlationPeakDifference'])
self.signal_min_peak_height = int(
self.input_data[self.accelerator_peak_search]['peakHeight'])
self.signal_min_peak_distance = int(
self.input_data[self.accelerator_peak_search]['peakDistance'])
except KeyError as ex:
self.logger.error(f'KeyError {ex}')
@@ -211,11 +222,13 @@ class AnalysisProcedure(QObject):
# Overide peak search parameters with those given in gui
if reanalysis:
self.correlation_min_peak_diff = float(self.input_parameters[
self.accelerator]['correlationPeakDifference'])
self.accelerator_peak_search]['correlationPeakDifference'])
self.signal_min_peak_height = int(
self.input_parameters[self.accelerator]['peakHeight'])
self.input_parameters[self.accelerator_peak_search][
'peakHeight'])
self.signal_min_peak_distance = int(
self.input_parameters[self.accelerator]['peakDistance'])
self.input_parameters[self.accelerator_peak_search][
'peakDistance'])
print(f'self.input_parameters={self.input_parameters}')
print(('Reanalysis: self.correlation_min_peak_diff= ' +
@@ -245,16 +258,22 @@ class AnalysisProcedure(QObject):
# Step 1 - Collect ambient data relate to the machine
self.all_data['Ambient data'] = self.collect_ambient_data()
if not self.all_data['Ambient data']:
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
return None
self.trigger_progressbar.emit(int(PROGRESS_THREAD_START))
# Step 2 - Perform measurement and return data for processing
self.all_data['Raw data'] = self.measure()
if self.all_data['Raw data'] is None:
if not self.all_data['Raw data']:
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
return None
# Step 3 - Process the raw data
self.all_data['Processed data'] = self.process()
# Step 4 - Provide plots
@@ -299,6 +318,7 @@ class AnalysisProcedure(QObject):
self.time_stamp = ambient_data['Time stamp']
self.all_data['Ambient data'] = ambient_data
self.all_data['Processed data'] = self.process(from_hdf5=True)
self.all_data['Figure data'] = self.make_figs()
@@ -343,10 +363,35 @@ class AnalysisProcedure(QObject):
if self.abort:
self.aborting(utils.line_no())
return {}
return None
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
return {}
return None
'''
injector_current = self.cafe.getCache('MWC2:IST:2')
I_min = self.minimum_current
print('injector_current', injector_current)
print('I_min', I_min)
if not injector_current:
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
stat = self.cafe.getStatus('MWC2:IST:2')
self.check_status(_pymodule, 'getCache', injector_current, stat,
utils.line_no())
mess = ('Unable to read Injector 2 current. ' +
'Please try again.')
self.parent.trigger_log_message.emit(
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
return None
elif injector_current <= self.minimum_current:
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
mess = (f'Injector 2 current is below threshold {I_min} mA. ' +
f'Measurement cannot be untertaken at the present time.')
self.parent.trigger_log_message.emit(
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
return None
'''
pv_list = []
@@ -377,7 +422,9 @@ class AnalysisProcedure(QObject):
pv_entry_current = self.settings.data['PV'][self.accelerator]['IEntry']
entry_current = self.cafe.getCache(pv_entry_current)
ambient_data['I Entry'] = entry_current/1000 \
print('entry_current==>', entry_current)
ambient_data['I Entry'] = entry_current / 1000 \
if entry_current is not None else 0.0
# mA if divied by 1000 above
self.entry_current = ambient_data['I Entry']
@@ -385,15 +432,16 @@ class AnalysisProcedure(QObject):
# Retrieve
pv_exit_current = self.settings.data['PV'][self.accelerator]['IExit']
exit_current = self.cafe.getCache(pv_exit_current)
ambient_data['I Exit'] = exit_current/1000 \
print('exit_current==>', exit_current)
ambient_data['I Exit'] = exit_current / 1000 \
if exit_current is not None else 0.0
# mA if divied by 1000 above
# mA if divided by 1000 above
self.exit_current = ambient_data['I Exit']
pv_daq_ready = self.pv_dict['daqReady']
'''
self.daq_ready = self.cafe.getCache(pv_daq_ready)
if self.daq_ready is None:
self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
if self.daq_ready_init_value is None:
stat = self.cafe.getStatus(pv_daq_ready)
self.check_status(_pymodule, 'getCache', pv_daq_ready, stat,
utils.line_no())
@@ -424,13 +472,15 @@ class AnalysisProcedure(QObject):
print('MONITOR STARTED FOR ', pv_daq_error_count, flush=True)
self.cafe.monitor(pv_daq_error_count)
print('ambient_data', ambient_data)
return ambient_data
def extract_peak_data(self):
''' Using signal package for peak search
'''
if not self.simulation:
height = 50.0
height = self.signal_min_peak_height
else:
height = 0.005
@@ -438,10 +488,13 @@ class AnalysisProcedure(QObject):
y1_peaks_pre = signal.find_peaks(self.y1_sample, height=height,
distance=10)
print('peak length==>', len(y1_peaks_pre[1]['peak_heights']))
print(
'peak length==>', len(
y1_peaks_pre[1]['peak_heights']), flush=True)
if len(y1_peaks_pre[1]['peak_heights']) < 2:
return False
print('peak length=============>', len(
y1_peaks_pre[1]['peak_heights']), flush=True)
##y1_peaks_avg = np.average(y1_peaks_pre[1]['peak_heights'])
min_y1_p = np.min(y1_peaks_pre[1]['peak_heights'])
max_y1_p = np.max(y1_peaks_pre[1]['peak_heights'])
@@ -474,7 +527,7 @@ class AnalysisProcedure(QObject):
#peak_heights = y2_peaks_pre[1]['peak_heights']
#peak_indices = y2_peaks_pre[0]
#second_highest_peak_index = peak_indices[
# second_highest_peak_index = peak_indices[
# np.argpartition(peak_heights,-2)[-2]]
#print("2nd highest peak", np.argpartition(peak_heights,-2))
return True
@@ -508,7 +561,7 @@ class AnalysisProcedure(QObject):
entry = entry.replace('\n', '')
val = entry.split('\t')
self.t_sample.append(float(t_inc))
self.y1_sample.append(float(val[1])*(-1))
self.y1_sample.append(float(val[1]) * (-1))
self.y2_sample.append(float(val[2]))
t_inc += self.t_stepsize
@@ -521,15 +574,34 @@ class AnalysisProcedure(QObject):
pv_wf_entry = self.pv_dict['wfEntry']
pv_wf_exit = self.pv_dict['wfExit']
pv_wf = [pv_wf_entry, pv_wf_exit]
self.daq_ready = self.cafe.getCache(pv_daq_ready)
self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
stat = 0
ntries = 3
itries = 0
sleeptime = 0.01
while stat != self.cyca.ICAFE_NORMAL and itries < ntries:
time.sleep(sleeptime)
stat = self.cafe.set(pv_daq_trigger, 1)
itries += 1
sleeptime = 0.2
stat = self.cafe.set(pv_daq_trigger, 8)
self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
utils.line_no())
time.sleep(0.5)
stat = self.cafe.set(pv_daq_trigger, 0)
self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
utils.line_no())
if stat != self.cyca.ICAFE_NORMAL:
mess = ('DAQ cannot be started. Error in setting pv ' +
f'{pv_daq_trigger}')
self.parent.trigger_log_message.emit(
MsgSeverity.ERROR.name, _pymodule, utils.line_no(),
mess, {})
self.aborting(utils.line_no())
return None
time.sleep(sleeptime)
#####stat = self.cafe.set(pv_daq_trigger, 0)
# self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
# utils.line_no())
# Monitor DAQ State
start = time.time()
@@ -549,12 +621,12 @@ class AnalysisProcedure(QObject):
stat = self.cafe.getStatus(pv_daq_ready)
self.check_status(_pymodule, 'getCache', pv_daq_ready,
stat, utils.line_no())
elif value != 0:
elif value == self.daq_ready_init_value + 1:
finished = True
break
time.sleep(1.0)
icount += 1
progress = int(100*icount/self.daq_timeout)
progress = int(100 * icount / self.daq_timeout)
if progress > PROGRESS_THREAD_ERROR:
self.trigger_progressbar.emit(progress)
@@ -616,13 +688,6 @@ class AnalysisProcedure(QObject):
self.trigger_progressbar.emit(60)
extract_raw_data()
peaks_found = self.extract_peak_data()
if not peaks_found:
mess = ('No peaks found! ' +
'Measuremenmg procedure aborted.')
self.parent.trigger_log_message.emit(
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
if self.abort:
self.aborting(utils.line_no())
return None
@@ -635,6 +700,9 @@ class AnalysisProcedure(QObject):
'y2': list(self.y2_sample),
't': list(self.t_sample),
}
print(len(self.y1_sample), type(self.y1_sample), flush=True)
print(len(self.y2_sample), type(self.y2_sample), flush=True)
print(len(self.t_sample), type(self.t_sample), flush=True)
return rawdata
@@ -657,59 +725,90 @@ class AnalysisProcedure(QObject):
if from_hdf5:
self.unpack_hdf_data()
peaks_found = self.extract_peak_data()
print('peaks_found', peaks_found)
if not peaks_found:
mess = ('No peaks found! ' +
'No measurement made.')
self.parent.trigger_log_message.emit(
MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
# self.aborting(utils.line_no())
return {}
self.mean_amplitude_y1 = np.mean(self.y1_pulse, keepdims=True)
self.mean_amplitude_y2 = np.mean(self.y2_pulse, keepdims=True)
self.std_amplitude_y1 = np.std(self.y1_pulse, keepdims=True)
self.std_amplitude_y2 = np.std(self.y2_pulse, keepdims=True)
self.normalized_amplitude_envelope_1 = (
self.y1_pulse - self.mean_amplitude_y1)/self.std_amplitude_y1
self.y1_pulse - self.mean_amplitude_y1) / self.std_amplitude_y1
self.normalized_amplitude_envelope_2 = (
self.y2_pulse - self.mean_amplitude_y2)/(self.std_amplitude_y2*len(
self.y2_pulse))
self.corr_full = signal.correlate(
self.normalized_amplitude_envelope_2,
self.normalized_amplitude_envelope_1, mode='full', method='auto')
self.lags_full_array = signal.correlation_lags(
len(self.normalized_amplitude_envelope_2),
len(self.normalized_amplitude_envelope_1), mode='full')
self.y2_pulse - self.mean_amplitude_y2) / \
(self.std_amplitude_y2 * len(self.y2_pulse))
self.lag_full = int(self.lags_full_array[np.argmax(self.corr_full)])
#self.delay = self.lag_full * self.t_stepsize*self.t_interval
self.delay = float(self.lag_full * self.pulse_stepsize)
try:
self.corr_full = signal.correlate(
self.normalized_amplitude_envelope_2,
self.normalized_amplitude_envelope_1,
mode='full', method='auto')
self.lags_full_array = signal.correlation_lags(
len(self.normalized_amplitude_envelope_2),
len(self.normalized_amplitude_envelope_1), mode='full')
print('peak height', np.max(self.corr_full))
top_peak_values = heapq.nlargest(2, self.corr_full)
print('1st peak height', top_peak_values[0])
print('2nd peak height', top_peak_values[1])
self.correlation_peak_diff = top_peak_values[0] - top_peak_values[1]
print(f'peak significance = {self.correlation_peak_diff:.3f}')
print('lag', self.lag_full)
print('delay', self.delay, flush=True)
print('dTcable', self.dt_cable, flush=True)
print('rf freq', self.rf_freq, flush=True)
print('harmonic', self.harmonic_no, flush=True)
print('dN pickup', self.dn_pickup, flush=True)
print(f'Correlation Peak Diff {self.correlation_peak_diff}')
print(f'Min Peak Height {self.signal_min_peak_height}')
print(f'Min Peak Distance {self.signal_min_peak_distance}')
self.lag_full = int(
self.lags_full_array[np.argmax(self.corr_full)])
#self.delay = self.lag_full * self.t_stepsize*self.t_interval
self.delay = float(self.lag_full * self.pulse_stepsize)
self.n_turns = (
((self.delay-self.dt_cable*10**(-9))*self.rf_freq*10**6)
/ self.harmonic_no) + self.dn_pickup
print('peak height', np.max(self.corr_full))
top_peak_values = heapq.nlargest(2, self.corr_full)
print('1st peak height', top_peak_values[0])
print('2nd peak height', top_peak_values[1])
self.correlation_peak_diff = top_peak_values[0] - \
top_peak_values[1]
print(f'peak significance = {self.correlation_peak_diff:.3f}')
print('lag', self.lag_full)
print('delay', self.delay, flush=True)
print('dTcable', self.dt_cable, flush=True)
print('rf freq', self.rf_freq, flush=True)
print('harmonic', self.harmonic_no, flush=True)
print('dN pickup', self.dn_pickup, flush=True)
print(f'Correlation Peak Diff {self.correlation_peak_diff}')
print(f'Min Peak Height {self.signal_min_peak_height}')
print(f'Min Peak Distance {self.signal_min_peak_distance}')
print((f'lag = {self.lag_full}, ' +
f'delay = {self.delay*10**6:.3f} \u00B5s ' +
f'nturns = {self.n_turns:.4f}'))
self.n_turns = (
((self.delay - self.dt_cable * 10**(-9)) * self.rf_freq * 10**6)
/ self.harmonic_no) + self.dn_pickup
print((f'lag = {self.lag_full}, ' +
f'delay = {self.delay*10**6:.3f} \u00B5s ' +
f'nturns = {self.n_turns:.4f}'))
except ValueError:
pass
except RuntimeError:
pass
if self.abort:
self.aborting(utils.line_no())
return None
if isinstance(self.y1_pulse, list):
y1p = self.y1_pulse
else:
y1p = self.y1_pulse.tolist()
if isinstance(self.y2_pulse, list):
y2p = self.y2_pulse
else:
y2p = self.y2_pulse.tolist()
# Fill Processed data here
proc_data = {
'y1': self.y1_pulse.tolist(),
'y2': self.y2_pulse.tolist(),
'y1': y1p,
'y2': y2p,
't_stepsize': self.pulse_stepsize,
'lag': self.lag_full,
'delay': self.delay,
@@ -725,9 +824,9 @@ class AnalysisProcedure(QObject):
def make_figs(self):
''' Figure construction with matplotlib
'''
#if self.correlation_peak_diff < self.correlation_min_peak_diff:
# if self.correlation_peak_diff < self.correlation_min_peak_diff:
# is_suspect = True
#else:
# else:
# is_suspect = False
is_suspect = bool(
self.correlation_peak_diff < self.correlation_min_peak_diff)
@@ -760,7 +859,7 @@ class AnalysisProcedure(QObject):
ax[1].plot(self.t_sample[s:e], self.y2_sample[s:e], '.r-', label='')
ax[0].xaxis.set_major_locator(
ticker.MultipleLocator(self.t_stepsize*self.t_interval))
ticker.MultipleLocator(self.t_stepsize * self.t_interval))
ax[0].set_xlabel('Time [s]')
ax[0].set_ylabel('Amplitude')
ax[0].set_title('Pulse at Entry')
@@ -769,7 +868,7 @@ class AnalysisProcedure(QObject):
ax[0].grid(visible=True, which='major', axis='both',
linestyle='--', linewidth=0.8)
ax[1].xaxis.set_major_locator(
ticker.MultipleLocator(self.t_stepsize*self.t_interval))
ticker.MultipleLocator(self.t_stepsize * self.t_interval))
ax[1].set_xlabel('Time [s]')
ax[1].set_ylabel('Amplitude')
ax[1].set_title('Pulse at Exit')
@@ -804,11 +903,11 @@ class AnalysisProcedure(QObject):
if self.entry_current != 0:
current_text = f'I(entry) = {self.entry_current:.3f} mA'
plt.figtext(0.80, 0.86, current_text, fontweight='normal',
fontsize=10)
fontsize=8)
if self.exit_current != 0:
current_text = f'I(exit) = {self.exit_current:.3f} mA'
plt.figtext(0.8075, 0.84, current_text, fontweight='normal',
fontsize=10)
fontsize=8)
plt.figtext(0.7, 0.72, f'lag = {self.lag_full}', fontweight=fontweight,
fontsize=14, color=color, alpha=alpha)

View File

@@ -37,15 +37,19 @@ class AppGui(QWidget):
self.input_parameters = self.parent.input_parameters
self.input_labels = self.parent.input_labels
self.expert_parameters = self.parent.expert_parameters
self.gui_frame.expert_parameters_group.setFixedWidth(310)
self.gui_frame.expert_parameters_group.setFixedHeight(290)
self.gui_frame.expert_parameters_group.setFixedWidth(280)
self.gui_frame.expert_parameters_group.setFixedHeight(350)
self.gui_frame.operator_parameters_group.setFixedWidth(260)
self.gui_frame.operator_parameters_group.setFixedHeight(380)
self.gui_frame.measurement_tab_wgt.setFixedWidth(496)
self.gui_frame.measurement_tab_wgt.setFixedHeight(460)
self.gui_frame.operator_parameters_group.setFixedHeight(400)
self.gui_frame.measurement_tab_wgt.setFixedWidth(516)
self.gui_frame.measurement_tab_wgt.setFixedHeight(480)
self.gui_frame.operator_wgt.setFixedHeight(640)
# self.gui_frame.expert_wgt.setFixedHeight(240)
self.gui_frame.measurement_tab_wgt.setCurrentIndex(1)
self.gui_frame.measurement_tab_wgt.setTabText(0, 'Accelerator')
# DAQ
self.daq_wgt = self.daq_group_qtabwidget(widget_type='QStackedWidget')
self.gui_frame.measurement_layout.addWidget(

View File

@@ -14,25 +14,40 @@
"addDateToDir" : 0
},
"header" : ["SHIFT", "INJ2", "IP2", "IW2", "PK1", "PK2", "SINQ", "UCN"],
"PV" : {"Injector": {"nturns": "PV-INJ:NTURNS",
"daqTrigger": "PV-INJ:TRG",
"daqReady": "PV-INJ:READY",
"daqErrorCount": "PV-INJ:ERR-CNT",
"wfEntry": "PV-INJ:WF-ENTRY",
"wfExit": "PV-INJ:WF-EXIT",
"PV" : {"Injector": {"nturns": "ZWSGA-CECL-TCINJ:TURN-COUNT",
"daqTrigger": "ZWSGA-CECL-TCINJ:TRG-SINGLE:PROC",
"daqReady": "ZWSGA-CECL-TCINJ:SCOPE-ACQ-CNT",
"daqErrorCount": "ZWSGA-CECL-TCINJ:ERR-CNT",
"wfEntry": "ZWSGA-CECL-TCINJ:SCOPE-CH0",
"wfExit": "ZWSGA-CECL-TCINJ:SCOPE-CH1",
"IEntry": "ENTRY:IST:1",
"IExit": "EXIT:IST:1"
},
"Cyclotron": {"nturns": "ZTEST-CPSI-TCRING:TURN-NUM",
"daqTrigger": "ZTEST-CPSI-TCRING:SCOPE-TRG",
"daqReady": "ZTEST-CPSI-TCRING:SCOPE-READY",
"daqErrorCount": "ZTEST-CPSI-TCRING:ERR-CNT",
"wfEntry": "ZTEST-CPSI-TCRING:SCOPE-CH0",
"wfExit": "ZTEST-CPSI-TCRING:SCOPE-CH1",
"Cyclotron": {"nturns": "ZWSGA-CECL-TCRING:TURN-COUNT",
"daqTrigger": "ZWSGA-CECL-TCRING:TRG-SINGLE.PROC",
"daqReady": "ZWSGA-CECL-TCRING:SCOPE-ACQ-CNT",
"daqErrorCount": "ZWSGA-CECL-TCRING:ERR-CNT",
"wfEntry": "ZWSGA-CECL-TCRING:SCOPE-CH0",
"wfExit": "ZWSGA-CECL-TCRING:SCOPE-CH1",
"IEntry": "MNC3:IST:2",
"IExit": "MHC1:IST:2"
}
},
"Init": {"Injector": {"ZWSGA-CECL-TCINJ:TRG-SINGLE.PROC": 1,
"ZWSGA-CECL-TCINJ:TRG-SOURCE": "Auto",
"ZWSGA-CECL-TCINJ:SCOPE-PRE-TRIGGER": 0,
"ZWSGA-CECL-TCINJ:TRG-AUTO-PERIOD": 4000,
"ZWSGA-CECL-TCINJ:TRG-SW-INHIBIT-ENA": 1,
"ZWSGA-CECL-TCINJ:ADC-CH-OFFSET": 4
},
"Cyclotron": {"ZWSGA-CECL-TCRING:TRG-SINGLE.PROC": 1,
"ZWSGA-CECL-TCRING:TRG-SOURCE": 0,
"ZWSGA-CECL-TCRING:SCOPE-PRE-TRIGGER": 0,
"ZWSGA-CECL-TCRING:TRG-AUTO-PERIOD": 4000,
"ZWSGA-CECL-TCRING:TRG-SW-INHIBIT-ENA": 1,
"ZWSGA-CECL-TCRING:ADC-CH-OFFSET": 4
}
},
"HIPA": ["Injector", "Ring"],
"HIPA2": {"test": ["Injector", "Ring"]},
"QTabAccelerator":{
@@ -41,24 +56,28 @@
"deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 6.9 }},
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": 4 }},
"freqmod" : {"data":{ "widget": "QLineRead", "text" :"Mod. Freq (GHz):", "value" : 500}},
"dutycycle" : {"data":{ "widget": "QLineRead", "text" :"Duty Cycle (%):", "value" : 1}}
"dutycycle" : {"data":{ "widget": "QLineRead", "text" :"Duty Cycle (%):", "value" : 1}}
},
"Cyclotron": {
"harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No: ", "value" : 6}},
"deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 44 }},
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": -1 }}
}
},
"QTabSignalPeakSearch":{
"Injector": {
" Injector ": {
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 50 }},
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01}}
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01}},
"minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "1.00"}}
},
"Cyclotron": {
" Cyclotron ": {
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 50 }},
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01 }}
"correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01 }},
"minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "1.00"}}
}
},
@@ -68,16 +87,15 @@
"freqsampling" : {"flag": 1, "data":{ "widget": "QLineRead", "text" :"Sampling Freq (GHz):", "value" : 3.0 }},
"drawLine" : {"flag" : 1, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}},
"accelerator" : {"flag" : 1, "data":{ "widget": "QTabWidget", "text" : "Accelerator: ",
"link" : "QTabAccelerator", "value" : 1,
"color" : ["#008b8b", "#0047ab" ]}}
"color" : ["#008b8b", "#0047ab" ]}}
},
"Expert":{
"signalPeakSearch" : {"flag" : 1, "data":{ "widget": "QStackedWidget", "text" : "Accelerator: ",
"signalPeakSearch" : {"flag" : 0, "data":{ "widget": "QStackedWidget", "text" : "Accelerator: ",
"link" : "QTabSignalPeakSearch", "value" : 1,
"color" : ["#008b8b", "#0047ab" ]}},
"color" : ["#008b8b", "#0047ab" ]}},
"debug": {"flag" : 1, "data":{ "widget": "None", "text" : "Debug", "value" : 0}},
"simulation": {"flag" : 1, "data":{ "widget": "None", "text" : "Oscilloscope", "value" : 0}}
},

124
tina.py
View File

@@ -38,8 +38,8 @@ class StartMain(BaseWindow):
Attributes:
appname: tina.py
source_file: full pathname for inclusion into HDF.
elog_enum: enumerated datatypes for elog attributes.
source_file: full pathname for inclusion into HDF.
elog_enum: enumerated datatypes for elog attributes.
message_elog: string to hold the elogbook message.
self.default_idx: int to indicate default accelerator.
self.accelerator: str to indicate default accelerator.
@@ -48,25 +48,32 @@ class StartMain(BaseWindow):
ring_cyclotron = 'Cyclotron'
injector_2 = 'Injector'
accelerator_list = [injector_2, ring_cyclotron]
def __init__(self, parent=None):
'''Initialize class attrinbutes and instantiate GUI.'''
'''Initialize class attrinbutes and instantiate GUI.'''
super().__init__(
parent=parent, pymodule=_pymodule, appversion=_appversion,
title=_title, user_mode=UserMode.OPERATION, facility=Facility.HIPA,
has_optics=False, has_procedure=True)
has_optics=False, has_procedure='VerticalExpert')
self.appname = _appname
self.source_file = _abspath
self.source_file = _abspath
self.elog_enum = ElogHIPA()
self.message_elog = None
self.default_idx = self.settings.data['Parameters']['accelerator'][
'data']['value']
self.accelerator = self.ring_cyclotron if self.default_idx else \
self.injector_2
self.accelerator_peak_search = ' ' + self.accelerator + ' '
# self.from_hdf = False in base class
self.message = ''
self.init_pv_dict = self.settings.data['Init'][self.accelerator]
self.init_pv_list = list(self.init_pv_dict.keys())
self.init_pv_values = list(self.init_pv_dict.values())
if self.is_front_end_initialized(init=False):
mess = 'FEE Initialized'
self.trigger_log_message.emit(
MsgSeverity.INFO.name, _pymodule, utils.line_no(), mess, {})
AppGui(self)
def prepare_results_message(self):
@@ -102,7 +109,7 @@ class StartMain(BaseWindow):
'''No. turns measured in the {0} = {1:0.0f} ({2:.2f}) <br>
lag = {3}, delay = {4:.3f} \u00B5s<br>'''.format(
self.accelerator, (self.no_turns), self.no_turns,
lag_full, delay*10**6))
lag_full, delay * 10**6))
self.message = (
mess +
@@ -110,7 +117,7 @@ class StartMain(BaseWindow):
No. turns measured in the {0} = {1:0.0f} ({2:.2f})
lag = {3}, delay = {4:.3f} \u00B5s'''.format(
self.accelerator, self.no_turns, self.no_turns,
lag_full, delay*10**6))
lag_full, delay * 10**6))
def prepare_elog_message(self):
'''Define elog parameters and define message
@@ -139,11 +146,63 @@ class StartMain(BaseWindow):
self.logbook = 'Sandkasten' if simulation else 'HIPA'
self.title = _title
def is_front_end_initialized(self, init: bool = True):
'''Initialized Front End Electonics if required
'''
value_list, status, status_list = self.cafe.getScalarList(
self.init_pv_list, dt='int')
if status != self.cyca.ICAFE_NORMAL:
self.check_status_list(
_pymodule, 'getScalarList', self.init_pv_list, status_list,
utils.line_no())
if value_list != self.init_pv_values and not init:
return False
def is_simulation():
if self.all_data:
if self.all_data['Input data'] is not None:
try:
simulation = self.all_data['Input data']['simulation']
except KeyError:
simulation = self.input_parameters['simulation']
pass
else:
simulation = self.input_parameters['simulation']
return simulation
if value_list != self.init_pv_values:
for val, val_init, pv in zip(value_list, self.init_pv_values,
self.init_pv_list):
if val != val_init:
if not is_simulation():
status = self.cafe.set(pv, val_init)
if status != self.cyca.ICAFE_NORMAL:
self.check_status(_pymodule, 'set', pv, status,
utils.line_no())
time.sleep(0.02)
value_list, status, status_list = self.cafe.getScalarList(
self.init_pv_list, dt='int')
if status != self.cyca.ICAFE_NORMAL:
self.check_status_list(
_pymodule, 'getScalarList', self.init_pv_list, status_list,
utils.line_no())
if value_list != self.init_pv_values:
return False
return True
def verify_analysis_preconditions(self):
'''Verify machine is setup for measurement procedure-
Check machine current is above threshold (1 mA)
Check machine current is above threshold (0.001 mA is default)
Check that that the front-end electronics are initialized
'''
if self.injector_2 in self.input_parameters['accelerator']:
accelerator = self.input_parameters['accelerator']
if self.injector_2 in accelerator:
mess = ('Measurement procedure for Injector 2 \n' +
'has not yet been implementented.')
QMessageBox.information(self, 'Injector 2', mess, QMessageBox.Ok)
@@ -154,7 +213,8 @@ class StartMain(BaseWindow):
if self.input_parameters['simulation']:
return True
#return True
I_min = float(self.input_parameters[self.accelerator_peak_search][
'minimumCurrent'])
injector_current = self.cafe.getCache('MWC2:IST:2')
if not injector_current:
@@ -166,14 +226,14 @@ class StartMain(BaseWindow):
QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok)
QApplication.processEvents()
return False
elif injector_current < 0.001:
mess = ('Injector 2 current is below threshold.\n' +
'Measurement cannot be untertaken at the present time.')
elif injector_current <= I_min:
mess = (f'Injector 2 current is below threshold {I_min} mA.\n' +
f'Measurement cannot be untertaken at the present time.')
QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok)
QApplication.processEvents()
return False
return True
return self.is_front_end_initialized(init=True)
@Slot()
def analysis_thread_finished(self):
@@ -182,8 +242,12 @@ class StartMain(BaseWindow):
BaseWindow.analysis_thread_finished(self)
if self.all_data is not None:
try:
if self.all_data['Figure data'] is not None:
self.gui_frame.central_tab_widget.setCurrentIndex(1)
try:
if self.all_data['Figure data'] is not None:
self.gui_frame.central_tab_widget.setCurrentIndex(1)
except AttributeError:
print('No analysis performed')
return
except KeyError:
print('No analysis performed')
return
@@ -192,11 +256,17 @@ class StartMain(BaseWindow):
ncanvas = len(self.settings.data['GUI']['subResultsTabTitle'])
dict_fig = {}
dict_fig['Figure data'] = {}
print('canvas', ncanvas, flush=True)
for i in range(0, ncanvas):
canvas = f'Canvas {i+1}'
dict_fig['Figure data'][canvas] = None
# Delete old figures
self.gui.gui_frame.canvas_update(dict_fig['Figure data'])
try:
self.gui_frame.canvas_update(dict_fig['Figure data'])
except AttributeError as ex:
print('AttributeError', ex, flush=True)
pass
print('Thread finished with no data', flush=True)
return
self.prepare_results_message()
@@ -205,7 +275,7 @@ class StartMain(BaseWindow):
@Slot()
def hdf_thread_finished(self):
'''If hdf analysis completed successfuly, prepare results
'''If hdf analysis completed successfuly, prepare results
message.
'''
BaseWindow.hdf_thread_finished(self)
@@ -251,7 +321,7 @@ class StartMain(BaseWindow):
time.sleep(0.05) # Wait a tick
return True
def add_to_hdf(self, dataH5, proc=True, raw=False):
def add_to_hdf(self, data_H5, proc=True, raw=False):
'''User supplied hdf data
'''
if self.all_data is not None:
@@ -265,8 +335,9 @@ class StartMain(BaseWindow):
'Processed data']
all_data['Raw data']['Raw_data'] = self.all_data[
'Raw data']
h5_storage.saveH5Recursive(
self.hdf_filename, all_data['Raw data'], dataH5)
self.hdf_filename, all_data['Raw data'], data_H5)
@Slot()
def send_to_elog(self):
@@ -393,7 +464,8 @@ class StartMain(BaseWindow):
"""<b>{0}</b> v {1}
<p>Copyright &copy; Paul Scherrer Institut (PSI).
All rights reserved.</p>
<p>Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, W. Koprek, </p>
<p>Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, D. Felici,
W. Koprek, </p>
<p>A python implementation of the LabVIEW measurement developed
by P.-A. Duperrex <br>
Ref: P.-A. Duperrex and A. Facchetti <br>
@@ -417,13 +489,15 @@ class StartMain(BaseWindow):
'''
index_html = 'index.html'
help_base = ':'
help_page = HelpBrowser(help_base, index_html, self)
help_page = HelpBrowser(help_base, index_html, self, xlength=800,
ylength=1290)
help_page.show()
#########################################################################
if __name__ == '__main__':
'''Initialize window parameters and start application via a splash
'''Initialize window parameters and start application via a splash
window.
'''
app = QApplication(sys.argv)

View File

@@ -1,5 +1,5 @@
#!/bin/bash
cd /hipa/bd/applications/tina/0.0.2
cd /hipa/bd/applications/tina/1.0.0
# For use if script is sourced rather than executed
appNameDefault="tina.sh"