desktop-base-openmamba/mambareport/mambareport.kmdr

944 lines
55 KiB
Plaintext
Executable File

<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>Form1</class>
<author>Silvan Calarco</author>
<license>GPL</license>
<version>0.1</version>
<widget class="QWizard">
<property name="name">
<cstring>Form1</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>480</height>
</rect>
</property>
<property name="caption">
<string>openmamba report generator</string>
</property>
<widget class="QWidget">
<property name="name">
<cstring>page1</cstring>
</property>
<attribute name="title">
<string>Introduction</string>
</attribute>
<widget class="GroupBox">
<property name="name">
<cstring>GroupBox5</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>160</y>
<width>570</width>
<height>240</height>
</rect>
</property>
<property name="title">
<string></string>
</property>
<widget class="Label">
<property name="name">
<cstring>label</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>200</y>
<width>550</width>
<height>30</height>
</rect>
</property>
<property name="font">
<font>
</font>
</property>
<property name="text">
<string>&lt;b&gt;Please, press the Next button to continue.&lt;/b&gt;</string>
</property>
<property name="textFormat">
<enum>AutoText</enum>
</property>
<property name="alignment">
<set>WordBreak|AlignBottom</set>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label6</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>550</width>
<height>110</height>
</rect>
</property>
<property name="text">
<string>Use this tool to create a report of your system to provide openmamba developers information on your hardware and software.
Important node: the report may contain sensible information for your system security, like your IP address. By submitting a report to reports@openmamba.org you authorize mambaSoft to processs the data with the purpose of data collection and debugging.</string>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter</set>
</property>
</widget>
<widget class="ScriptObject">
<property name="name">
<cstring>qt_dead_widget_setnext</cstring>
</property>
<property name="geometry">
<rect>
<x>520</x>
<y>200</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@NextBox.setChecked(true)</string>
</stringlist>
</property>
</widget>
</widget>
<widget class="CheckBox">
<property name="name">
<cstring>BackBox</cstring>
</property>
<property name="geometry">
<rect>
<x>200</x>
<y>70</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string></string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
<widget class="CheckBox">
<property name="name">
<cstring>NextBox</cstring>
</property>
<property name="geometry">
<rect>
<x>150</x>
<y>70</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string></string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="GroupBox">
<property name="name">
<cstring>GroupBox2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>0</y>
<width>570</width>
<height>150</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="paletteBackgroundColor">
<color>
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</property>
<property name="title">
<string></string>
</property>
<widget class="ScriptObject">
<property name="name">
<cstring>AcceptScript</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>280</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true)
</string>
</stringlist>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label21</cstring>
</property>
<property name="geometry">
<rect>
<x>410</x>
<y>390</y>
<width>130</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>Version 0.1</string>
</property>
<property name="alignment">
<set>AlignVCenter|AlignRight</set>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label29</cstring>
</property>
<property name="geometry">
<rect>
<x>420</x>
<y>110</y>
<width>130</width>
<height>20</height>
</rect>
</property>
<property name="paletteForegroundColor">
<color>
<red>40</red>
<green>96</green>
<blue>6</blue>
</color>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>www.openmamba.org</string>
</property>
</widget>
<widget class="ScriptObject">
<property name="name">
<cstring>backnext</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>10</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, @NextBox.checked)
@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), back, @BackBox.checked)
@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), finish, true)
@dcop(@dcopid, KommanderIf, setVisible(QString,bool), help, false)
</string>
</stringlist>
</property>
</widget>
<widget class="PixmapLabel">
<property name="name">
<cstring>PixmapLabel2</cstring>
</property>
<property name="geometry">
<rect>
<x>80</x>
<y>10</y>
<width>400</width>
<height>74</height>
</rect>
</property>
<property name="pixmap">
<pixmap>image0</pixmap>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label1_2</cstring>
</property>
<property name="geometry">
<rect>
<x>390</x>
<y>70</y>
<width>90</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
<italic>1</italic>
</font>
</property>
<property name="text">
<string>GNU/Linux</string>
</property>
<property name="alignment">
<set>AlignCenter</set>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label18_2_2_2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>100</y>
<width>400</width>
<height>30</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
<italic>1</italic>
</font>
</property>
<property name="text">
<string>Copyright (c) 2009-2010 by mambaSoft di Silvan Calarco
Released under the terms of the GNU GPL v3 license</string>
</property>
<property name="textFormat">
<enum>AutoText</enum>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter</set>
</property>
</widget>
</widget>
</widget>
<widget class="QWidget">
<property name="name">
<cstring>page2</cstring>
</property>
<attribute name="title">
<string>System identification</string>
</attribute>
<widget class="GroupBox">
<property name="name">
<cstring>GroupBox5_3</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>560</width>
<height>380</height>
</rect>
</property>
<property name="title">
<string></string>
</property>
<widget class="PixmapLabel">
<property name="name">
<cstring>PixmapLabel2_2_2</cstring>
</property>
<property name="geometry">
<rect>
<x>30</x>
<y>20</y>
<width>64</width>
<height>80</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="pixmap">
<pixmap>image1</pixmap>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label6_2</cstring>
</property>
<property name="geometry">
<rect>
<x>110</x>
<y>40</y>
<width>410</width>
<height>50</height>
</rect>
</property>
<property name="text">
<string>Please, fill the boxes below with missing data if any, and press Next to continue.</string>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter</set>
</property>
</widget>
<widget class="ScriptObject">
<property name="name">
<cstring>initfields</cstring>
</property>
<property name="geometry">
<rect>
<x>530</x>
<y>20</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@BackBox.setChecked(true)
@NextBox.setChecked(false)
@execBegin
. /etc/sysconfig/machine
dcop @dcopid KommanderIf setText Manufacturer "$SYSTEM_MANUFACTURER"
dcop @dcopid KommanderIf setText Product "$SYSTEM_PRODUCT_NAME"
dcop @dcopid KommanderIf setText Serial "$SYSTEM_SERIAL_NUMBER"
@execEnd
@Manufacturer.setEnabled(false)
@Product.setEnabled(false)
@Serial.setEnabled(false)
@if (! "@Manufacturer.text" )
@Manufacturer.setEnabled(true)
@endif
@if (! "@Product.text" )
@Product.setEnabled(true)
@endif
@if (! "@Serial.text" )
@Serial.setEnabled(true)
@endif
@execBegin
USERHOME=`getent passwd $USER | cut -d: -f6`
dcop @dcopid KommanderIf setText repdir $USERHOME/Desktop
@execEnd</string>
</stringlist>
</property>
</widget>
<widget class="QLayoutWidget">
<property name="name">
<cstring>Layout3</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>110</y>
<width>540</width>
<height>80</height>
</rect>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<widget class="Label" row="2" column="0">
<property name="name">
<cstring>Label9</cstring>
</property>
<property name="text">
<string>Serial number:</string>
</property>
</widget>
<widget class="Label" row="1" column="0">
<property name="name">
<cstring>Label8</cstring>
</property>
<property name="text">
<string>Product name:</string>
</property>
</widget>
<widget class="LineEdit" row="0" column="1">
<property name="name">
<cstring>Manufacturer</cstring>
</property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
<property name="inputMask">
<string></string>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="Label" row="0" column="0">
<property name="name">
<cstring>Label6_3</cstring>
</property>
<property name="text">
<string>Manufacturer:</string>
</property>
</widget>
<widget class="LineEdit" row="1" column="1">
<property name="name">
<cstring>Product</cstring>
</property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
<property name="inputMask">
<string></string>
</property>
</widget>
<widget class="LineEdit" row="2" column="1">
<property name="name">
<cstring>Serial</cstring>
</property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="echoMode">
<enum>Normal</enum>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</grid>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label6_2_2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>200</y>
<width>410</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Please, select the directory where the report will be generated:</string>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter</set>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>Label6_2_2_2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>260</y>
<width>410</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Please, enter a brief description of the problem:</string>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter</set>
</property>
</widget>
<widget class="ScriptObject">
<property name="name">
<cstring>CheckFields</cstring>
</property>
<property name="geometry">
<rect>
<x>530</x>
<y>70</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@if ((! "@Manufacturer.text") ||
(! "@Product.text") ||
(! "@Serial.text")) then
dcop @dcopid KommanderIf setChecked NextBox false
@NextBox.setChecked(false)
@endif
@if (("@Manufacturer.text" != "") &amp;&amp;
("@Product.text" != "") &amp;&amp;
("@Serial.text" != "")) then
dcop @dcopid KommanderIf setChecked NextBox true
@NextBox.setChecked(true)
@endif
</string>
</stringlist>
</property>
</widget>
<widget class="FileSelector">
<property name="name">
<cstring>repdir</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>230</y>
<width>540</width>
<height>26</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
<property name="buttonCaption" stdset="0">
<string></string>
</property>
<property name="selectionFilter">
<string></string>
</property>
<property name="selectionCaption">
<string></string>
</property>
<property name="selectionType">
<enum>Directory</enum>
</property>
</widget>
<widget class="TextEdit">
<property name="name">
<cstring>problem</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>290</y>
<width>540</width>
<height>80</height>
</rect>
</property>
</widget>
</widget>
</widget>
<widget class="QWidget">
<property name="name">
<cstring>page3</cstring>
</property>
<attribute name="title">
<string>openmamba system report generator for debugging</string>
</attribute>
<widget class="GroupBox">
<property name="name">
<cstring>GroupBox5_2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>570</width>
<height>380</height>
</rect>
</property>
<property name="title">
<string></string>
</property>
<widget class="QLayoutWidget">
<property name="name">
<cstring>Layout1</cstring>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>40</y>
<width>390</width>
<height>33</height>
</rect>
</property>
<hbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>6</number>
</property>
<widget class="Label">
<property name="name">
<cstring>reporttext</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<bold>1</bold>
</font>
</property>
<property name="text">
<string>Creating report, please wait...</string>
</property>
<property name="alignment">
<set>AlignVCenter</set>
</property>
</widget>
<widget class="Label">
<property name="name">
<cstring>ReportLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<bold>1</bold>
</font>
</property>
<property name="text">
<string></string>
</property>
<property name="alignment">
<set>AlignVCenter</set>
</property>
</widget>
</hbox>
</widget>
<widget class="PixmapLabel">
<property name="name">
<cstring>PixmapLabel2_2</cstring>
</property>
<property name="geometry">
<rect>
<x>20</x>
<y>10</y>
<width>64</width>
<height>80</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="pixmap">
<pixmap>image1</pixmap>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="TextEdit">
<property name="name">
<cstring>reportlog</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>110</y>
<width>550</width>
<height>200</height>
</rect>
</property>
<property name="hScrollBarMode">
<enum>AlwaysOn</enum>
</property>
<property name="textFormat">
<enum>LogText</enum>
</property>
<property name="populationText">
<string></string>
</property>
<property name="associations" stdset="0">
<stringlist>
<string></string>
</stringlist>
</property>
</widget>
<widget class="ScriptObject">
<property name="name">
<cstring>makeReport</cstring>
</property>
<property name="geometry">
<rect>
<x>530</x>
<y>30</y>
<width>32</width>
<height>32</height>
</rect>
</property>
<property name="associations" stdset="0">
<stringlist>
<string>@BackBox.setChecked(false)
@execBegin
errfile=`mktemp`
inputfile=`mktemp`
cat &gt; $inputfile &lt;&lt; _EOF
@problem.text()
_EOF
problemtext=`echo @problem.text() | sed "s|\"|\\\"|"`
SYSTEM_MANUFACTURER=`dcop @dcopid KommanderIf text Manufacturer` \
SYSTEM_PRODUCT_NAME=`dcop @dcopid KommanderIf text Product` \
SYSTEM_SERIAL_NUMBER=`dcop @dcopid KommanderIf text Serial` \
pkexec openmamba-makereport @repdir.text() $HOME $inputfile &amp;&gt; $errfile
ret=$?
if [ $ret -eq 0 ]; then
dcop @dcopid KommanderIf setChecked NextBox true
dcop @dcopid KommanderIf setText ReportLabel "DONE"
else
dcop @dcopid KommanderIf setChecked NextBox false
dcop @dcopid KommanderIf setText ReportLabel "ERROR"
fi
dcop @dcopid KommanderIf setText reportlog "`cat $errfile`"
rm -f $errfile $inputfile
@execEnd
</string>
</stringlist>
</property>
</widget>
</widget>
</widget>
</widget>
<images>
<image name="image0">
<data format="XPM.GZ" length="63226">789ced5d5b53db4c93be7f7f45ea9dbbafb6e6b32c5987dada8b70720c04128209646b2f66743027070810025bfbdfb7d52dc933a3912c270136fba93a60da927a5aa3e7e99e9326fffcc79be30fefdffce39f7fddde89bbb3f84d7c2abebdf947723f9f3ffee77ffdc77ffff5b73718bc09bc374377f066f8f7bffdf5379fbd89dfb0c160e00c06a85f14fa9074b18fba37080678be9ca03e1a84030f8f9fa11e0ca2c1087507f5702007019e4ff6c5201e84a80bd453282ec6f333d433c719a4a89fe4bae338ae83e5b331eaaee339583edb43dd73468e8bfe5ea23e727c07fd911275df091df4879fa21e3a9183fe081f75e1c44e84fa77d463277124eaef514f870327c1eb37727d38183a4e86f6dfa1ee0cdd21d5cf08f5e1d01b3ae8df17d45dd0a97eef51f786a321f9fb80fa68180cc9df5bd4fd6138447f19d6371c0d873edaff887a349443ac3fb6857a3c4c86e42fd94f86e910eb53929e0eb321fa2f19ea99eb0ca97e835c771dd775a97e87a80f4127fff1fe41f35cf45f84a87baeefa2ff6c8abaef062efa2b63d4033772c9dfafa847ae70c9df0fa80b57ba58df92a31ebb898bfe4bbc1fd03217fd6758bf6eea0d5cf45f60fd7b03cf71b1fec526ea8e37f4c8ffcfa87b9eefa17f721bf591177884cf0875df0b3daadf75d4434f7884871475e1498ff08078f5622ff5d03fbe837a22a381c0e3f35c1f0d46430ffde158dec891b183f527cf511f8ebc11d5e72eeaa35130427ff815eafe281c51fddda11e8ca211d61f3b465d8ce211fac327a44b49f8e7583f2309e5a13d36403d1ea523f2f710f544a60ed6bfb8413df50723c233f993c9cca1fb417ef8037f38a2fb413cfa8eeffa58bf12f909dac8273ce0fdf99eeffb58df02cb072df0a97ef1798116fa743f88773f8a87845786fcf3055417e2917f2a74b7c02f3e1f5fc61ee19753f9b19ff874bd8b7ae2673ee125223df609cf129f8f9f06039ff083f7130c032fc0e721309e80e607c447d247714078e4885f381a06743f21e9709ce21fc68b2008a200ef8f23fee16c11209ed80fd2e3c8a5fbc3fa82b36540cf03eb03b424c0fa67882fd0b280e221f225c84227c0ebd93de9b1f4287e227ec241380c880fc8c7d089b311ddcf37d487a117e2fdf203d2e3c4a3e78d780ddd7014129e12d4fd300ce97e112f6114a7845786f80b452843c2e37bd2a13c8af78fa427c311dd2fc65f383b09e9fe46a42703c2b7407c8671e28c887f18bfe1ec2ca4fbbf463d8b9c10ed49accfc889dc88e22de225729321e1935d17bae7137ff17e222ff223aa0fbc9f68140511c55bcc57a04511f983f107341951bc42fc80964474bf53d29380f022111f511ca511c5df5dd213bfc027c66bb83a8bf07e38d94f92a8c0d31aeaa91844884ff6447a22084f0ce3b518886144f11a9fb770842b08df783d6823417cf450f7e07ac23be61f381a088a7feba427055e052f7449f86118ff842f4241cf53909ec421b507480f4424c83f7c7e70b6108477ac6f382a05d5df11ea42c402eb8f61bc062d1514eff17e45223241fc0d484f52c297bc263d1d44143fa9fc540e04dd1fe241644956e00be39774a42b880f184fa52b4792ea07f39bf4c01eb51ff0f9c3d14012bee9fc51ead2f364d87e91be0c253dafefa4a70ee147c485eed1f365d85e016b4252fd209e6524a5a4fac0fa062d91e8af443cca58a692e20db6676402e553bc3b2a749fea5b627b4c66b123090f3ba4c3717a3ee85fecc4aea4f88df7130f632fa6fa43be80e6c714af9f4887eb897f6ea18792f885f12286781853befa487a1ad0f39518df631f1e27d947ffe0ec2826fc30d2d3909e3fc7e70947654cf541f6451cc7840fac4fd0d298ea639374a81e8a5788f73881f2e879be2df4b8a83fd2d33491943f100f71963831c58f31e9608f9e37e693c449dc84e207e67bd04609c543ac9fc44b53ba7f89cf138e06095dff9674288fda57a59ec5c42fcccf899f8409e107e32d6822a1e789f13289e072ca07f8fc414b12c233c697046e30a1fba3f3e30c223c1ec7f80e74c962e21f1d4fa0b947f783f13749d34142f1e596f4cc4b28ffe1f5e9201d2684177c5ee930f552ca1758df2934c712e223e62b38eaa714ff12d2a13c7afe5ea17be4bf24fb809794f82249cf46c5fd20dfc15a9852fb1cf906674729e553e42b1c1529e113f10547654af585ed23381aa784af7dd2b3c23f86f916ce4e53c2cf67d2c13f2a1ff36b1a6741513ee6a7142a28a5f8b4497ae653fdf11f855ef8c7301ea7693648e9f871a117fe726c2fa459e6a4c457cc9fd9201ba654df985f32277333e2ef49a187644f20ffe1e828233c627ccebc2cc8a8fe4b3d2cca5b2f7451d8c7f658e6676146fcfd5ce849610ff90ed6a28cea1bdb6370b6c8c81eb6a7e0a8ccb0be393e5f381a6754df183fe1689261fd72cc37705492fd8f187f32a8802c26bd975e7a69929e23bdf4d22e3d477a790de18c0b2e795c93e4b53dab4bcf915e5e5a78ca333e6b90d3d7f6ae2e3d477a7959e167fc1cb87061959e23bdf49273e41233869d253d477af9171760c8bc911f7d1ee9a597bb228f3471a4cf23bdfccb0b30e48c7fedf3482fbdb409b4b6aefa3cd24b2f4d8299e48c5ff31bfe0de4b6cf23bdf46293822967fccec823f7afed595d7a8ef4f27a021cf96ee49187d7f6a92e3d477a793da971a4cf23bdf4a2c9ffcf3cc27ff047fec4dfc2cf1a5f7f6def7bf9b3c5c2918dd7f6a92edd38c2d7f926dfe263fe8e4ff836fc4cf80e7c6ef35dfe9eeff1fdd7be0b8bc71ff847f0f8807fe287e8e921fc75c0a7fca8bbb7fc333fe6278dc74e205efc80df5f7eabdf03eef021771b8e7a7c04c71d3eff69fb3e9f83fd006c843cfa656f3dce18fc638249ee598e8f58cc1296c24f66f3d9e088754d230fd98c9d828d949db11978de50371d3d8ed83993ec825d82bd394bf81dfbcaaedaaf59ce11fec8ae810b3b2013fcbd90093206d8c26ef8db0efefd60dfd82d3ffbd527b3a4947576c7eed12f62f24ec569f2799b8fd9f7653990477c8b3de4ec62e0b57a843db227b080c7f0f803fbc1a7ecad0d232bf93d606b6c9d6f2052eed906d78fba6c93dfb22d362624b1776cc2b63b5af6d836a06c87edb2f7fc9e9fd20a5bb6c7f6d9079eb18f6d7600c5013b609f74e1417e841db2e962c52efbc08ed4fa83a39f0b6f8b15bdec989dd4ac9b79e454b1f0097c9e6a36f272beb001603b5cb1761de6f06f5003fba63db038664396d7efc07e6d3b4798c74688304299f9b953e12f47de017f6cf1711d324e9e81b699cf37f57a02e604fc3d0b81898720bb2ce207820bc68f57ab873cbab300ecefd4fc9c54df95daa1106d3c115ce1d63bfea1f85642349854bc5bd8836fd88388db79c2e7221129fb2232436650d33336349f9d3865e7789d0798b8afaf231767e25c5cb494e7b2585c8a79c98a66115fc5952dce036b6b5ee1f9d73c1437d5cac4c5f773ee60c9df2bf65c68675c88b950224e531e11171001be54164c2b794999b8ed1223a0ceef982bccda5b94a87aff5d3c90ffbab47144fc0074a859a3fea9679609e0ae214b884764c80eb5d184ac30fd1dda40dbc5f70bf46d17fa8178eade96116fc15693bf3aa7e9af4f62ada166cfb4abb705b289dd15f531d1ca503416b2469600aa361a10ba096d95b1f6bc0a4440d4dbe64ca4fab7157272d960336b69013c6fbd3c03ad0636f3dcc5f53a105bd6b3e17c31d638a0f8c4b6c43b31ae5da596beb1c0b6655ceb94a7e25289f5e65a15dde7733169e1872bb68b35c626db9a56c2ccf825ab61b889237cbd42f5c4c099f99d1ead0f6cd1195a2e8b489eff6ce1b79b153fec78a6f6d127b1d38521908bb6954c675aabe73e622bb7b19a3dea7709ada948ec563d31bd04b506f27ecf939d756cd2f464d89e86353dc26d88ef46e433f02ede8bbd3a430a7e5cd49066634869695f7c506cf890bb2e2c38bd502cdb91dbfc76089d719fb7d5ac1cc9e3c2d062d7e601f9fc511c34c539716ba9d776219bc6d89a9d23d0171d37e2c18ca3469b0b5a4a1f6af6d6f42ba0bfb00e98b3b5df74e695fd888332f334d48727ea1944f5d796fb8abfc5a199a900cf6fb558308196d9b4666361552ff7d0dee6149badcfbb1e29d5633a0a4d8ebd1747c61d64d628de54868adf8cda8b793fc460421ded6de86dc52164c6332b479aca6b6109dcffa11d1356162fb34a3cd5b2938d231041c6c6b39fd47493416ad48dcc9e84f86c20eb1db0a453ebad2a7b57b48c0ab0eb1ac376b80dbf261bc9df91ce109047cbd576ef4c2ee69f9ff8e77a54639f5b9f4cb76376bcced89a51d67a474c587097dbcaeb401c8b9315fd5dce8fea1c16d738d23dda2f384a71ff4cd4dae3e0ffb7ced66c565b39027e1f6868327be7e6b73a26493f506333585cd3f035e12676cd8c64662b1c71160dad18b16ef545cd21cd719f32d554b31801a7cd4860b6daf4d100dd2ab4e02c5e3eb43e9b5f12b6af8f16409cfe193b84d2cbbcf78e2c69b2d2d6065a7e3784eb81258fac5e0f8b5c222c35eefc9445fc0d59bf6a83d7392286161c2312c4ae7001ed277cce5df8d98716c9943d18f1beb86e81128ccbfb35b4b68d95d5e376d1daaff7b1c1f6660da7a5a5b1f0f8117f62dfd837bec9eec42e786be7f48e70357fd78ce3f6fca4b2d16c271ed7fc0cc4e8a7906b0844cdfd3a52d4311e4047db5b4c64e3cc8a0ec26f42b5c0b685bfcc1bf6456c88a0a5a47d118a88a91e63396039b2b6b56c658cd95072102632f3be4b91421fe5428e9f3671444a198b4d11894d3615750fa816aa7e8ec99122e2ab18257e0cf9177104dc88a09d7796730c5a642e77d995782a78a263697bd12a8733d7b88efd26b1314545deb634f696e1eb063a4b7f3d99f2b938ca25e734fdc5aef8a3d855ec55e7337f31d6c0fd228fd4fb5bf817bb16ae4cd839ff00f7f524d6b58c529e55ef47034b64267c39b3e093f094b24bf030644c363c5b3190a7705717625be8a89b496de4414c646c5c79029818b38fcc61524ca046e67cc4b6d92158acf55cd8fb0a65c7e25a9e832d2be7642c2fe0d9e66c3aacf196cee06c863127aa8d58cce4e5728e0093cec53b7882b446d8832738e3e752da9822bef2d4a8714732c59799b89719fb284f01b3a5c5fc1e8f207a5d6a36a9cd97357144e9fb2edaeb378086397103d97156ae6dc64f9f9f407fa086247ea030fab38137337f8cf994ef41467802d91443f1a9e29d79dd58ef6143a6d0d99963f89eaf010efc453d28026c81dec6b866bbca7cf95932d130afe40be10137e6984923e0d211c68dc5fd2f7c31465baaf23d1eb0430b1e666cae3cb75beb196bca197a3b68266ef5b2d8b99cb32df151c66c437e0566b9d6dac8eff5926d99986352f3f94c66757f449a23ad3ccbe4249d913f830201470a8b08d5d7ed1c913379557aad7bc343f1a0592b6c8acb5a8dcf4522e7e216187a07d147b96be3a99c893dbea1fb27633b47aa7e838af5e982758bf2e9a728c515809d5a0b7d5266129eb7d0d46ca0b7a1a680e8a32ae2cf8ba87f0c6da47b5b3b4c5e2bfe9e18bee68cbee6a95913468db8ec1ce702f57ecb61b9ee04fdadf75a26c0db2760861225f07704e787da38209debd5595230f0a68921e5991616cdf88d5affdc446d6696859e45262aea02fe9cd63862cc4c8a81e90f7b07cf49f5a7f66621fb4c1caaceb8d7cab890a7ad1c3985230d5e630cb8b48c285cf251fdcc3a2fcc73e8b7b8d2fc5366fc171c4136adebb115734868b76af8e002d68df609bbaece59b3b7e58105fb7caedf4581252f6fc941ff476ff3e7f28e468dd0dfa199bfc0df79331e14a4a61503177da8b8f277bfce65f620bfd52d57f63617fc28ae695ae955e708b41f54cb705fe69b47c66824cff7a8d29ea8accd92ebd1b2ad3ec0a35b0d1d3379a39f51cb23d50c47754f7786bf5be2583f437cd4223ff2b08923e23bcbea68d67d1607d21cf39bb11df3cc66249867b26dc3d6b86cbb691c89949e05e20ef493652555d134d4da47b98577c558bb5beb8f146300253feaf755c4c1b9855ddbd4d6c7e3631dc9b9bf6d88506a79aef9441e1fd48ea96dbc869ac0fb8fa0dc89666da769c6bdce1179afe79c3a47d8077dfd21d8f86ecc8064f6d2baa0c398bbb170c4cc23d076319e99c91135eb9130a3c7d29247a0fc2ecf9009a35706dcfaf9d59e624faf51362e679dd4b656113dd536fa93d90fb27b4b3c616f95ebe9f3c988cb6a86baaf6728dd66c1137dce1bf15a9c71a265bd49de0eebe62ff5a3a0ef65b62bd71bfc9db0f325befada9859fed3b07aadc69199d834cf30383213666f34e7c8923ca29d1f31c9122ef9ad98433f229739bfe531bf6197103f1d68391918d5ef4ecb2379cbffbae68fe9f156ed9e3eea6734e69199187789ffc8dd73c52b8afe974de7b37371c026f90884c84a6e413ffe3df4d88ec5833c93670647f62c796420f456782eebab642b259394ad97612d2e2f18b4bf3c1716bdbda1c192493e930fadb14db307243e09ce9eba08f4b23c9cc7d4f31bcec0407f7f4dcda6d85759924bc5919245495e94234d79847b6c539c420c9f2d91468ea03f7a1e315a7e5d38d23d8f08c7b6aeb0e1ee02638c70c6bfda6a1c7a2f1bf5f5beedb550cf23e0adc702bdff2ba6dcefcc0f92a99e47c46e35ae3531183235d74f34db85be9f9183443edee121776c63c55d441f3f287bdae59dec9bbda7e55e1a7964d29123b3a51cc9cf98d56c74c823dc656b6c4b7bfa2616ec33e3af9947666cd0352e63ad9bec7d679c13b1a3a20eca6c6394a7fce8966c79648ebd6e352a5bd7fbd9bdcd7f03968ff46c21a685e5dafc08b3f47f1b6bc2c5390d05df2cc0d2a646de6b9f7bd165627c5254f0b01d162aeb023ae591dc1bcc236a24786c1a9531fb231d38f21379847d62ef2b062c5f1dd83d8fd4d633fdd63c3263ddb3c899311a95cba9dada960fda9ae995c4cc2345bcded5dbe010a7bdaefe161eaf6958cd672a704e4059af55e2ee6495685171afc4f227cddf897eb4d38fce81728ce2ba218fbc5bd6d6c23ca25aee9a4796b7b57e228f409b60a2658b5518d29e4768dcebc7aa1ce99847f27bfda65fd95eefda68147957bd7dc52e70f5f3caec28fc33f2088e6d4c70fe50692941db6ba57706a1e7e01a71fd00e3b2de1fc17154ee75b70d76d7748c23f7e68abf3ad6bb32a4368e9073ef633edba4ce13e5b2bbf469b9caaa1c1a3f68f8df669e3f8f40de1d748e9eb6b3daf2c8ec59f3c80cf2c04a6f10c3b3327260f9e62d737e2e7f94d290473ca36d3f5da9c74ef3155a8f86dd58f348fe57c79a28ecae19d78f73ab7caae0bdbb1823562aae293f81e55a1e59eea5d667ff9de35a2be6119c5ffcc9f6858d23b63cf24cfd116de6ae1b3ac4c45c45421c1107d047ff697ef0e63c32d4319347ebeedee6f9a258c9b2e8b74fc9b2d1becfe7383abe878bd71f415f5a4538ce6440af61ca770c5677ebadabf944cb2be291fa23b87646cd0a4bf248de67c23ebb9a9d5ea53f029edcfc22435eb73f72ba4adb255f5156bcc159fa7691738407fcb4ad1f26f649da6ac19a473ce8471b3d59517b0fa2152727e6f57cafc8039fb98ae53cc374d823a2b09ac7e86b05dfb95f8fd5389c9e47c67c0ccc6efd9d7fe6bfe92ff57b9040cb7b0a83967ba9f547ba8f6bfde63c224f9b5684cb99e43c13f93ebb20e2526c8b5b3163ef2deb275fb53fd27de417cb7d347dcff77b1169c31acb7c86286117f23117b1c7c00bf90475712b368c759bd63cc27dce6abdd9e90afe7ab244f222a2af916556ee5252c57176ddd16a7efdc8cc16f9f853bee258c908589e7c4bab0c71a561f59bbea1f560b4e61572e6a458fd3aa7b3708d6231e7afcc8f9435b1b43f82e35a5a7b50262f9f477884ef99d7b1c1e59abae64715f07c5b5d1f6b72e4c5c7b536cd2bdbd0218cfe48fe268db4f6b2d8941da9eb7d4d61c615b63c82b37207b5c8dcb2d789e1ad9a2b76cae85bac2c51db5a05fa9a7747303922b8de6b28e747aa5e43552ee404fb6adf8e52f57f16f339f479d8ee2366b587ca97495bcd3d5f1e81e79c59b0b19fef62c0ad2b742a9ee8ef11bf4e7fa45ce3be428fa4f67627be055c5bef997f9fd02851732d1819c99a47f231028ccc5a6c667efded74abb727c57af3450ec1590cf4cb5caf8518623fba8c2c83f74f467f3dcf239ff31e00d7e73c29935c6b6b72cf4a9eb5235cd58cfe13d93e6cb780f7a88fab4d5e238fe088afc612197367f97abb368ebc601e29e6f9ec3bbd587dbfab8d6a4da03d70af9794cfb9d863842ac67a2dfb3cfb19ee02a83e696a33ac2f8ff810d1c7c675f9e77ef5f6809963e8dcf74b77822b19a2f6c6f36ce115b13b30b25efe77ededa655a4ca237adbf070f935ddd7a270134fbf2d8f480333100b3b8cdff3c878fbe375fb23f9ce289d5626b22b5967430691de78ff8cc79d564832adee2cf3ec059ae7d56af34536c9f7c3695d37c2370d7c507b68bd8ce61897d5b64b89e96df6a36916a1783a7b1a522b16146b28af2abbbae569d79d88f909b4dab6f801f83f1698d7681c4d59afd5298f54ebb5142637e591bc5fad3fd9df9747a057ae63fd7c79fce4df8539d3f67afd91b2bd952e5f9b0a3dcada0c21dc7fb99f8b8af6a50c91a7626e6660dbbadfa247322fd69b1b330780e68d3af220afbd65377a0babd2ca379668de5ae38f82fa6d76cd2c11977f166b556ed2380b5874cbbc07fdf075e338fd3e64816cecfb816d299ea0dc48d9170f7764adec7e36eee87009ce3acf8fe09946ecfb8d79c478a350b4ee300d3dfc4b6865fdc4b8d6b3add75abc53ffb5bdc5250e8cb72789bba7c811e35b316eab037953e7076f58af55d4c79c7dabc5fb027fec818d58007d964d908f62281e21c398a3bd2556957d25b43ca2f324971ca79fd835d87373cb80de00caf1cdbc54e5277577069733a5afac9e9defc53be6537627c7fc2dc82658df130298f1036c6f2bfbeba91973b3b62ea0431ec17b5cacd72a3db1ce8f20e29e298f00fb8ecd272d1eec7b488b3d7129cb1d3e5b39f2bc7984d9de942fd7b9bbecc0f2565bc42ee03e6d2357ef30c2b9ca5bb7a537e3fa88324fe58578908b5d4e6b5eb0af758e94efff1933763a02b7f98eb6b7e2c4f8a4581f942b868bd1d4da7c432dafec14a82dedebf3710b9e5e9733f4d558dca3d65756a3ffb66243fda9e79df267cad5f55a1df388d21f51aeb2b7b59e378fb0b57a6c95eff839a0e11bc4d78049f689df00e2371a9151e3c8f3f64758cbfe2c58d22d5896f26b2e6cce13b65bec035cf39a8df3ccc32d6b81b106cfc48c27622bb723aec5a0b656be566fe0e1419d23d533bc2a56c9d7d1af23ad7e061d992e566359d6d1d6f16a1e51bfd7cf1bf32ffa281477c5b1364fa2b2bb9e29eafe6a25895d258fac34ae557b7f64d232cffe6cfd11e8a199efa65f6848a8cb528e3c731eb1ef11d3eeb315d5b21ac584dec59966abd9a2adec452438b571a49a2948e5b5864d730d879907d4bfa7eaa8841697cd76933adf68678bd913f9a0bed152d8f6b85fbcf76eb6106d1eaaedbcda688058abfa23fa7d2fe1489147f4f25fa13f0257268dcfbd644c898196f35eae3f62e5888e5f5b8caf5d213ea86fefd7f7a85851a8a6ae6d1ca94a897858ac73b7f49a2d785c206f4f9fa9d1e6ad156e28ef00eaf8d559a29400579cd8560b93b7fc519bc39b689f3bc69dd4bdc663c22b5a86473f313f32af95ffe27984deac6fdc577819ce1a38f22a796455447f5b8cdf152b07c35fb76bcf236a5ccc67fec45441511dd3667f659cef6ba532c4e88f2879095a485e2d9adbb24059fa541cb7cc14e7bba89c14bbcb993cb0e71123c300c28f68ec5719875b615c0b30d0a9adf59c79a488a1c7c6ca929fc0dcabf6475645f2446c993b5080b0dab8d7cab5d09647aa72f27da33695fdb1279a685c610fe209e2af678ec72bfd1105a5f8fec81c62ffbd05afb55e0ebb21bc2ddb7521cf57b86f96bd5d576fe71577c4eea147e396b339abe711f460aecd8fecb4aed77ab6fe48511761cbfedb1611fbe65be1af9747e46cb5bd8ad93b96d9e680e03b67b59dc1d9d4fca62d8f54a8a3f83c676f8b1d44ecadfc09e0729307e59e7c363b96f74710d560fd49d99da4d6b701e67980d7e1f2d52455eecbb39fa7ac2f34db87aa0ff9ee909bec9cd67869b656ca235c5dafb5a89b17ef8f28deb8f2aa693f54831f67f29c7f7fbdf55accdcb3e1147768e8d25ebc90f772ade93da4226a26f65d588d3a3861037629cd3397e611f5e903860680a42716884fec9efaa63833fd490cd937dc3dd56b8af296fe08e591b38225037104b637f35d4ad8436e9bddc0df01587ecbced9d562b56a1b4a156f23dc37710e4c71c1ce0dfecf85942dc03a9401d6f91e7b8b7bdf55ab7d0d7f8ff83ebb867bbd2681365cebfae7a23f12a857c035fb4d35c2bef2ab85b05d332ae34cbc7286bcabc76df1453f431affbb02942279d6f8bf231032d6e559de82c5377baf349f8c5d1fc581b852453e9afef03bfd0cf3ff0dc2ddb0f0084be4532ef44e2d0ff4eb58528c80ccf8391b36ed8c2c25e4080977d8828b02377371c9b6ec76e48c7d11a7ec28dfc30acfbc32e4b83347caf5812e4f717579b1d2bc5867eeb623d89247f02f35fa7fbc5357b083cd908762422db7050a3b72a414bf5c1baf4ab16e7e5eb60aad399a22107992ef581b75d9e108e7fc8f68176e3e20ee75f0b2cd87df708638668eb8955bfc417cc7bde2012f725b0cf2772868ff5b9b2d7b5be0f77bdc54f242635f99c313e0fa0cbc8e20da6ff06fb9efb4c6bd3b22f2ddc5c483ccd8aedc96dbfc563cb0b9bce181adccfa3d74fdffd96d36d4bb6dbe4ecb2393b20d65f6ebeb35d79519b612dbbc6d7e8efad50bad4b898bab9a6db7d56bdd5eb3be4a5d14e2636ecd63836507e0d53cfe7db2bcd4d59edd73d9e9ce91fa5fddf083a2bee991ff1cea4fa89badd56a457d06af85826e9e3ea767bf86ad5e72e9ca919f15cbb8562d8ff4f2dcd2d7f6afc8f373c4981f9994fd915e7af933e485f34839e3f1f0eb967be9e565e425f288f17e789f477af9a3e445f288f93e469f477af983e405f3c8a4ef8ff4f227ca0be791be3fd2cb1f272f9a4776fa3cd2cb9f277d1ee9a5977679a53cb2641ff65e7af9bf237d1ee9a5977679913ce2f579a4973f57fa3cd24b2fedd2f7477ae9a55d5e228f8823fe81dd68d2f17f1fe9a597d79797e98f546fffe56f037afd4aed5efe247991fe48ff9e4f2f7fb0fcfd3ffffed7ff02f4bd0fa9</data>
</image>
<image name="image1">
<data format="XPM.GZ" length="12321">789cad9a59531c3912c7dffd2988d1dbc4464edd476cec83390cc63687b131f6c63ea4546acc6173997362bffb66fdb3a8354dabbb1a20271cf1435dd25f7949d5cc5f7f2eec6d7d58f8f3af5717bff8d7815b70dff97ce1cfe6f2c78fdb7fffe75f7fbffaa3c816e4bf24ad17923ffef1ea0f6317dc8289f003de07c7ad814fc1696be06d70de5acb9481ebd6303e528ef3eef915b08f465103fe061ec549e4c0bb1da79107a72d6379d573d2f148d733cbe0242ebaf1049cc6be9b7f03ccad81a12ff64914ebb86b398992ace35fe0382d63f5c735b8cca2380333b84a47b1eeef0bd8b6067e0b76ad8197c0a3d6c03b2dc37daaf70d38ce38d6fdae81abd24725f80c5c17b9eaa708dc141ceb7a75cb599a57a9fae313b8a8eef7b7052e2b1bebb807579c4405d88099cba8027f07bbd6c09bca5591c01f94839bd6301e2973d1c52b6e398f6bd6f5e95bc74ef5d2beb2ad757dc6fef24458f77bd1b3ea3907a736eff263b5e342d9de767c9f6f15386b0df39332a79dbf3e2bdb54f385963be608fe65dbb3ea45fee6b9b0ae7fd433f6c7ba5e696d84f8d2c63debfc16f59157f76c6ec035dbce3f3f95655cf34df5b27531eacb221eb91546fc583fef84e13fbbda7113c37f56c71b61f88f503fb96f0de3c7ca320e7fd9959e35bf54efc8fa2e5e8867110963fff4151c0b6bfcdff58cf919f55024c2ea8fbb8e4709f6cf886f910a6b3f68c09930f6cfdc33f64f97e0c24589e62fe25d94ade1f33f94655cf359d7ab5ac3f8b1b28b1365f8a390744cb05f8bfc2e5858f7fb112ceed5fae5a4e324d1787f003b61f5e75dcfba5ff4a7a27189d637a11f14be67d45f317269aaf5d4f4acfdf4aae5326a0df3a37ecbd8655adfa4e389b0ee1ff1283397a7dadfe0af326f0de39bca32aef98ffc280b3bca501fd628cbb8ee77af67ecd7ea7a952b52eccf2ede73a6f17c0fae85114f7bd2b3e6b37edebab25b0ff12f9dab32cddf757023acfb41bd955e18f1b2ef7b46be12eab71c096bbe426f15b95afb15a15eaa5858e383fe5d25c21a1fe46b953ace553ffa592505946bbe414f55096b3d1d76ec72cd1ff4dbaa16861ed6cfb3b0e613f2a7b2c29a4f4b1d37b9f6abd76027acf58ff3a76a84a18f71fe54def902fe249c87d54858f305f55e47c2dadf901f75ec4685d647014eee99d1dfea5458fb01ceef3a6ba242eb5fc70b618d3fe25797c29aeff05f5d3571a1e717f2ade6d630fe4959da8feaad3b4e4ad57b00b6c2f02f173d6b3ea05fd64e187a2dfa7ddd346989fc20d45fed9d9c6878fe4659c6351ef04f3d12d6fde07c91e69c959a1ff0a71c4659a9fdbb0427ad818f95655cf305e72fa74d5e6a3c107fce9a5cd7a7a267ec9771be71d11415f643c8572e85753f38dfb812d6fda0df323765a5f9b3d6b3eac5f9c35618f963557fd35495ea3be859f319fd96fd3d5bf4431e3575adfdc3f6acf5897e632361edb7f0971c465c6b3e217f6d22acf973dbb39ed7888f9503bf56ff5f766c6b3d7f514f366f0dfa0e95655cf7a7f395c29a6f8b1dbb5af30df5616b61dddff53db3c61ff96bc5015dfce00f8b1f8c7b6519d77c437d49f935acfb43bf9361b9b1c01f6f3bf6ac7ad1dfad17d6fdaef4acfd09f7373b12d6fdc39f2e6a46acfb83ff5d2cacf1837f5c2aacf1c3fc2ef3116b7e65f76cf57e007fb9428e5fdddf5ecf7a3e20bf5c29acf1413f73b54faceac37e1c0b6bbf44ff775658f5a15e1d7ea0c72bfb54fd47673d6bbd201eae690df3a3ff382fe3d80f71cf9a7fb8cfba91cf9ce61ff43591b0d6cbe79eb13f8bfed8c43e771a1fc4b349ee99b07e930a6b7caa9e353ee8f74d26acfd1af16e725f38dd3ff43485b0f6e79d9e353eb8cf35a5b0fa03fda5a97ce9747f3acebe6a743f389f1a2bacf5443d6b3de13ed038613d4fd06f24bdaa46f777d571dd68fc707f6ebcb0ea477efb4858eb09f5e893d6301ff4fbb4353c8ff97d261738ad179caf72d9b35eeb65a367f53fee735e2e243a1f6ff7acf3c15f5e0e5cafef3bc8675fdd336df5acfd0df1f7d290bdf637f4332f0dc9633fb4d8b39e3fa83fdf1694f6bfa39ef5fe82fa90d9c530bed4b1f77a7fc1792b9f16c37ce71d7bfd3cddf4ace3e8ef1e3f2d6fa39ffa516bcac38d0c315972d490a711edff6623f9cd773aa0433aa2e379e61cae4156ff216bff7cb06ec84ee894cee8fc2535d005fda2cb41abff6e57744d372fa3816ee96eeef5ffafe3f57335d0222d3d797db5655a798e067af30c0ffc6eabb4f6340db4466f5f44416bebe15a096ba0637af7620a5a7bff040d1f5e54c13e6dd0e67c1a688bb65f58c33e7d6ce3413bf469a0869599335ed267da955ef445fedda53dfafa60f41b45143f7a26a19432ca8768a09ba95eb8a482ca094f55541ba27d630c1b6b9c691e3e67bc19997df3dd1c0cd1600e43eb9b23736c7e84b24b7494e6a73931a7e6cc9c8f3d79617e89b2cba1f9407548014d59bfd37f252b5d3ff6a3b91165fbe6d6dc99d7433498c5801f4e672990679744c3b259316fccea030d6bf27bb5b7667d8086406730c11aef9ffc6036fab5361f3cbbd5ff7edb7c1ca081027ee0017ed8e9d7faf440c367b3dbfdfecb203f043498bd011abe4ad4db95be9968ece9d82426359919549b410dc56c0d746c4a53999a27cd3192ebb8197f62b206e6c91ad8b29bad02333493679039fc400da3e00c96f70769f81e9ce160a086608f825dd12d1fcd8a081f4f5430a1bf047ad4e6540ded5c3ff98436a729e1533e9bf0dc847b6ef0cc1a7483e50bfec5977c1550716d2ec63e3ff1861bd4608768e873e4981cdff2dd2315af7f3b4d635e9cac35a48197e6bfcbcbae2f799957f8cd6ff31cf12a7de1357e4b0105d3ee51ece6d5d0db86d4d5e1b4d375a80689c7ea9355a892757e37e45d6baa86737eff2c156dae7c90fa587aba0689c706cfacd2017615bacd0ed1d0bee9f2d60ba858e6eb705486bc6f4a76ceffbefbd85643efbfc3debb799b3f8edd9b9f921beb9355ccf3fd03ef4c3e03e6f1c5f33440c731aff2a7e728e19de76ae8949cf367de95ba5d7e82862f8f7b57b0579fd23aef895dd39b9016a9dc1df1ca9c79c2df8668e0881edc827877fa775c1ccbade98093812aeec64ffcc71a38e2f491f6e541313aa243fa3e3b429ccdd4904f78ea8cce86660b5f7131fddbbbf11d8d6be092ab89cfd54335b46629f8a6d6cef575ba06b31778f2ebac9367cc1b4bd6843418b23c4d830dde9fecc05bfd6fbe380a7a62e3497ed8b7cd7c1aa6bc39efdb07ef188ffc107cb3a0f5f914c85cc18c78f8ce38ae81d66ce8ed64e3a107671b154fd320ea83b9641fbd21cdf043f04dc93ee85213fa4350bd9dfa2dd0b8f151f83bade93929cfae0633629fe6f084fd11de0b99e91a2cdb295d8e0756879de2057bf2f0b313cfac93299ed818eff613159c52f0dd5f349ccdd6403ce96db5f784b5e776ea7742728a3efe76b4377334fe4e38f9fe602fc273609e77564e96c7cfd196bdb457d39fb5d7e34f0534dcd8dbe933b567a9bdb3afa50f7d698dd768d72e8ebf674f507f611f9d3ba17b947dc23d6d884d3a7f83effe6b1cacada79b5d99f43d77f84e6bdfd8d517f7c2c4ef79a7ddabe55efba211b181bf694dbfdbdbb73cec6faa4314ac87cebc59ef17f61d7d7c81f55779ca5f3967bfe3d0225f876f448314bc0f7d6b3654037454f67076ed4f5cffca7e9835fb1cefbc4776c3cef18d88f4d265da1cf27f00ccf9ce7b6349de6356ed166d04f6bd4dde7eb4d6ee0cfdabbf68f8ef3f5ffd0fd20c4454</data>
</image>
</images>
<connections>
<connection>
<sender>NextBox</sender>
<signal>stateChanged(int)</signal>
<receiver>backnext</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>Manufacturer</sender>
<signal>textChanged(const QString&amp;)</signal>
<receiver>CheckFields</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>Serial</sender>
<signal>textChanged(const QString&amp;)</signal>
<receiver>CheckFields</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>Product</sender>
<signal>textChanged(const QString&amp;)</signal>
<receiver>CheckFields</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>BackBox</sender>
<signal>widgetOpened()</signal>
<receiver>backnext</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>Manufacturer</sender>
<signal>widgetOpened()</signal>
<receiver>initfields</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>reporttext</sender>
<signal>widgetOpened()</signal>
<receiver>makeReport</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>BackBox</sender>
<signal>stateChanged(int)</signal>
<receiver>backnext</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>Form1</sender>
<signal>selected(const QString&amp;)</signal>
<receiver>backnext</receiver>
<slot>execute()</slot>
</connection>
<connection>
<sender>NextBox</sender>
<signal>widgetOpened()</signal>
<receiver>backnext</receiver>
<slot>execute()</slot>
</connection>
</connections>
<layoutdefaults spacing="6" margin="11"/>
</UI>