1232 lines
77 KiB
Plaintext
Executable File
1232 lines
77 KiB
Plaintext
Executable File
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
|
|
<class>bootrecover</class>
|
|
<author>Silvan Calarco</author>
|
|
<license>GPL</license>
|
|
<version>0.5</version>
|
|
<widget class="QWizard">
|
|
<property name="name">
|
|
<cstring>bootrecover</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>593</width>
|
|
<height>514</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy>
|
|
<hsizetype>5</hsizetype>
|
|
<vsizetype>5</vsizetype>
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="caption">
|
|
<string>openmamba boot loader recovery wizard</string>
|
|
</property>
|
|
<property name="icon">
|
|
<pixmap>image0</pixmap>
|
|
</property>
|
|
<widget class="QWidget">
|
|
<property name="name">
|
|
<cstring>introduction</cstring>
|
|
</property>
|
|
<attribute name="title">
|
|
<string>Welcome!</string>
|
|
</attribute>
|
|
<widget class="CheckBox">
|
|
<property name="name">
|
|
<cstring>BackBox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>180</x>
|
|
<y>50</y>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string></string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
<string></string>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="CheckBox">
|
|
<property name="name">
|
|
<cstring>NextBox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>130</x>
|
|
<y>50</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>10</y>
|
|
<width>560</width>
|
|
<height>160</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.4</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>130</y>
|
|
<width>130</width>
|
|
<height>16</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>wizardScript</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>50</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@dcop(@dcopid, KommanderIf, setEnabled(QString,bool), next, @NextBox.checked)
|
|
@dcop(@dcopid, KommanderIf, setEnabled(QString,bool), back, @BackBox.checked)
|
|
@dcop(@dcopid, KommanderIf, setEnabled(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>40</y>
|
|
<width>400</width>
|
|
<height>74</height>
|
|
</rect>
|
|
</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>Label1_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>280</x>
|
|
<y>100</y>
|
|
<width>230</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>11</pointsize>
|
|
<italic>1</italic>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>GNU/Linux distribution</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>Label1</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>10</y>
|
|
<width>540</width>
|
|
<height>34</height>
|
|
</rect>
|
|
</property>
|
|
<property name="paletteForegroundColor">
|
|
<color>
|
|
<red>0</red>
|
|
<green>0</green>
|
|
<blue>0</blue>
|
|
</color>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>20</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Boot loader recovery tool for</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>AlignVCenter|AlignLeft</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>120</y>
|
|
<width>400</width>
|
|
<height>29</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>8</pointsize>
|
|
<italic>1</italic>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Copyright (c) 2007-2010 by 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 class="Label">
|
|
<property name="name">
|
|
<cstring>Label30</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>190</y>
|
|
<width>560</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<bold>1</bold>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>This program will recover the openmamba boot loader.</string>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label18_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>220</y>
|
|
<width>560</width>
|
|
<height>200</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>This operation is normally needed after the very first sector of the disk (Master Boot Record) has been rewritten by the installation of another operating system.
|
|
|
|
Usually you will need to use this program only after the installation of a release of Microsoft Windows to restore the openmamba boot menu.
|
|
|
|
This tool is also useful before the installation of a third party boot manager in the Master Boot Record, by moving the openmamba boot loader installation from the MBR to its own partition.</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>WordBreak|AlignTop</set>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
<widget class="QWidget">
|
|
<property name="name">
|
|
<cstring>disk_choice</cstring>
|
|
</property>
|
|
<attribute name="title">
|
|
<string>System partition choice</string>
|
|
</attribute>
|
|
<widget class="CheckBox">
|
|
<property name="name">
|
|
<cstring>removablebox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>420</x>
|
|
<y>240</y>
|
|
<width>150</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>removab&le devices</string>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>driverlabel</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>404</x>
|
|
<y>155</y>
|
|
<width>121</width>
|
|
<height>31</height>
|
|
</rect>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label21_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>20</x>
|
|
<y>10</y>
|
|
<width>540</width>
|
|
<height>30</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>15</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Choose openmamba system partition</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>setlabel</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>540</x>
|
|
<y>40</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="populationText">
|
|
<string></string>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@execBegin
|
|
@if (@devicesbox.currentItem >= 0)
|
|
currdev=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0)
|
|
@showdevice.setText(@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0))
|
|
@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true)
|
|
@BackBox.setChecked(true)
|
|
|
|
parent_udi=`hal-find-by-property --key block.device --string /dev/$currdev`
|
|
#
|
|
# set MBR combo box
|
|
#
|
|
dcop @dcopid KommanderIf "clear(QString)" mbrbox
|
|
storages=`hal-find-by-capability --capability storage`
|
|
dcop @dcopid KommanderIf "addListItem(QString,QString,int)" mbrbox "$currdev (@i18n("System partition"))" 0
|
|
for udi in $storages; do
|
|
device=`hal-get-property --udi $udi --key block.device`
|
|
hotpluggable=`hal-get-property --udi $udi --key storage.hotpluggable` || hotpluggable="false"
|
|
partscheme=`hal-get-property --udi $udi --key storage.partitioning_scheme`
|
|
if [ "$partscheme" == "mbr" -a "$hotpluggable" != "true" ]; then
|
|
dcop @dcopid KommanderIf "addListItem(QString,QString,int)" mbrbox "${device:5:5} (master boot record)" 0
|
|
fi
|
|
done
|
|
dcop @dcopid KommanderIf "setCurrentItem(int)" 0
|
|
@endif
|
|
@execEnd
|
|
@setBootableCheckbox.execute()</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>scanDevices</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>540</x>
|
|
<y>0</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@devicesbox.clear
|
|
@BackBox.setChecked(false)
|
|
@NextBox.setChecked(false)
|
|
@execBegin
|
|
volumes=`hal-find-by-capability --capability volume`
|
|
partlabel=
|
|
|
|
for udi in $volumes; do
|
|
device=`hal-get-property --udi $udi --key block.device`
|
|
parent_udi=`hal-get-property --udi $udi --key block.storage_device`
|
|
hotpluggable=`hal-get-property --udi $parent_udi --key storage.hotpluggable` || hotpluggable="false"
|
|
blocksize=`hal-get-property --udi $udi --key volume.block_size`
|
|
numblocks=`hal-get-property --udi $udi --key volume.num_blocks`
|
|
volsize=`expr $blocksize \* $numblocks / 1024 / 1024`
|
|
volname=`hal-get-property --udi $udi --key volume.label`
|
|
[ "$volname" ] || volname="unnamed"
|
|
parttype=`hal-get-property --udi $udi --key volume.partition.type`
|
|
[ "$parttype" ] || parttype="unknown"
|
|
partscheme=`hal-get-property --udi $udi --key volume.partition.scheme`
|
|
[ "$partscheme" ] || partscheme="unknown"
|
|
fstype=`hal-get-property --udi $udi --key volume.fstype`
|
|
[ "$fstype" ] || fstype="unformatted"
|
|
is_mounted=`hal-get-property --udi $udi --key volume.is_mounted`
|
|
[ "$is_mounted" = "true" ] || {
|
|
mkdir /mnt/${device:5:5} && mount $device /mnt/${device:5:5}
|
|
}
|
|
mount_point=`hal-get-property --udi $udi --key volume.mount_point`
|
|
add_info=""
|
|
[ "$hotpluggable" = "true" ] && {
|
|
add_info=",removable"
|
|
[ @removablebox.checked == 1 ] || continue
|
|
}
|
|
if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then
|
|
partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB"
|
|
case "$parttype" in
|
|
0x82) ;;
|
|
0x83)
|
|
[ "$mount_point" -a -e $mount_point/etc/openmamba-release ] && {
|
|
release=`cat $mount_point/etc/openmamba-release`
|
|
dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox "${device:5:5} $mount_point ($fstype,$volname,$volsize MB${add_info})" 0
|
|
}
|
|
;;
|
|
*) ;;
|
|
esac
|
|
elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then
|
|
case "$fstype" in
|
|
swap|iso9660) ;;
|
|
ext2|ext3|reiserfs|unformatted)
|
|
[ "$mount_point" -a -e $mount_point/etc/openmamba-release ] && {
|
|
release=`cat $mount_point/etc/openmamba-release`
|
|
dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox "${device:5:5} $mount_point $volsize MB ($release)" 0
|
|
}
|
|
;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
done
|
|
@execEnd
|
|
</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="GroupBox">
|
|
<property name="name">
|
|
<cstring>PartitionBox</cstring>
|
|
</property>
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>60</y>
|
|
<width>560</width>
|
|
<height>370</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy>
|
|
<hsizetype>3</hsizetype>
|
|
<vsizetype>7</vsizetype>
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="title">
|
|
<string>Where do you want to install the boot loader from?</string>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label24</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>30</y>
|
|
<width>540</width>
|
|
<height>40</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>Please, select the openmamba system partition where you want the boot loader to be installed from.</string>
|
|
</property>
|
|
<property name="textFormat">
|
|
<enum>RichText</enum>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>WordBreak|AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>showdevice</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>230</x>
|
|
<y>340</y>
|
|
<width>280</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string></string>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label3</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>340</y>
|
|
<width>180</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<bold>1</bold>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Install bootloader from:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>AlignVCenter|AlignLeft</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="ListBox">
|
|
<property name="name">
|
|
<cstring>devicesbox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>90</y>
|
|
<width>540</width>
|
|
<height>230</height>
|
|
</rect>
|
|
</property>
|
|
<property name="populationText">
|
|
<string></string>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
</widget>
|
|
<widget class="QWidget">
|
|
<property name="name">
|
|
<cstring>bootloader</cstring>
|
|
</property>
|
|
<attribute name="title">
|
|
<string>Computer startup configuration</string>
|
|
</attribute>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label21_2_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>20</x>
|
|
<y>10</y>
|
|
<width>540</width>
|
|
<height>30</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>15</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Configure the boot manager</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="ButtonGroup">
|
|
<property name="name">
|
|
<cstring>BootloaderBox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>50</y>
|
|
<width>560</width>
|
|
<height>370</height>
|
|
</rect>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy>
|
|
<hsizetype>3</hsizetype>
|
|
<vsizetype>4</vsizetype>
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="title">
|
|
<string>Bootloader configuration</string>
|
|
</property>
|
|
<widget class="QLayoutWidget">
|
|
<property name="name">
|
|
<cstring>Layout5_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>330</y>
|
|
<width>530</width>
|
|
<height>26</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>Label3_2_3</cstring>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy>
|
|
<hsizetype>1</hsizetype>
|
|
<vsizetype>1</vsizetype>
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Install bootloader on:</string>
|
|
</property>
|
|
</widget>
|
|
<widget class="ComboBox">
|
|
<property name="name">
|
|
<cstring>mbrbox</cstring>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy>
|
|
<hsizetype>3</hsizetype>
|
|
<vsizetype>1</vsizetype>
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="CheckBox">
|
|
<property name="name">
|
|
<cstring>bootableBox</cstring>
|
|
</property>
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="text">
|
|
<string>set &bootable</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string></string>
|
|
<string></string>
|
|
<string></string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
</hbox>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label3_2_2_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>70</y>
|
|
<width>290</width>
|
|
<height>24</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>Please select the boot menu options:</string>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label28</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>30</y>
|
|
<width>540</width>
|
|
<height>40</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>Below is a list of other operating systems found on this computer, you may configure them to appear as a choice when the computer starts.</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>WordBreak|AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>setBootableCheckbox</cstring>
|
|
</property>
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>520</x>
|
|
<y>70</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@execBegin
|
|
mbrdevice=@String.section(@mbrbox.item(@mbrbox.currentItem)," ",0)
|
|
mbrpart=${mbrdevice:3:2}
|
|
if [ "$mbrpart" ]; then
|
|
if [ $mbrpart -le 4 ]; then
|
|
dcop @dcopid KommanderIf setEnabled bootableBox true
|
|
else
|
|
dcop @dcopid KommanderIf setEnabled bootableBox false
|
|
dcop @dcopid KommanderIf setChecked bootableBox false
|
|
fi
|
|
else
|
|
dcop @dcopid KommanderIf setEnabled bootableBox false
|
|
fi
|
|
@execEnd
|
|
</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="ListBox">
|
|
<property name="name">
|
|
<cstring>chainloadbox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>100</y>
|
|
<width>540</width>
|
|
<height>170</height>
|
|
</rect>
|
|
</property>
|
|
<property name="selectionMode">
|
|
<enum>Multi</enum>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>Label29_2</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>280</y>
|
|
<width>531</width>
|
|
<height>40</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string>Please select where you want to install the boot manager.</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>WordBreak|AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>scanbootloader</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>10</x>
|
|
<y>10</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@BackBox.setChecked(true)
|
|
@NextBox.setChecked(true)
|
|
@chainloadbox.clear
|
|
@setBootableCheckbox.execute()
|
|
@execBegin
|
|
installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0)
|
|
volumes=`hal-find-by-capability --capability volume`
|
|
partlabel=
|
|
|
|
for udi in $volumes; do
|
|
device=`hal-get-property --udi $udi --key block.device`
|
|
[ "${device:5:5}" = "$installdevice" ] && continue
|
|
parent_udi=`hal-get-property --udi $udi --key block.storage_device`
|
|
hotpluggable=`hal-get-property --udi $parent_udi --key storage.hotpluggable` || hotpluggable="false"
|
|
blocksize=`hal-get-property --udi $udi --key volume.block_size`
|
|
numblocks=`hal-get-property --udi $udi --key volume.num_blocks`
|
|
volsize=`expr $blocksize \* $numblocks / 1024 / 1024`
|
|
[ $volsize = 0 ] && continue
|
|
volname=`hal-get-property --udi $udi --key volume.label`
|
|
mount_point=`hal-get-property --udi $udi --key volume.mount_point`
|
|
[ "$volname" ] || volname="unnamed"
|
|
parttype=`hal-get-property --udi $udi --key volume.partition.type`
|
|
[ "$parttype" ] || parttype="unknown"
|
|
partscheme=`hal-get-property --udi $udi --key volume.partition.scheme`
|
|
[ "$partscheme" ] || partscheme="unknown"
|
|
fstype=`hal-get-property --udi $udi --key volume.fstype`
|
|
[ "$fstype" ] || fstype="unformatted"
|
|
add_info=""
|
|
[ "$hotpluggable" = "true" ] && {
|
|
add_info=",removable"
|
|
[ @removablebox.checked == 1 ] || continue
|
|
}
|
|
if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then
|
|
partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB"
|
|
case "$parttype" in
|
|
0x82) ;;
|
|
0x83) ;;
|
|
*) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0
|
|
dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})"
|
|
;;
|
|
esac
|
|
elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then
|
|
case "$fstype" in
|
|
swap|iso9660|unformatted) ;;
|
|
ext2|ext3|reiserfs) ;;
|
|
*) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0
|
|
dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})"
|
|
;;
|
|
esac
|
|
fi
|
|
done
|
|
@execEnd</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
<widget class="QWidget">
|
|
<property name="name">
|
|
<cstring>endinstall</cstring>
|
|
</property>
|
|
<attribute name="title">
|
|
<string>End of installation</string>
|
|
</attribute>
|
|
<widget class="CheckBox">
|
|
<property name="name">
|
|
<cstring>confirmBox</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>104</x>
|
|
<y>135</y>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</rect>
|
|
</property>
|
|
<property name="text">
|
|
<string></string>
|
|
</property>
|
|
</widget>
|
|
<widget class="Label">
|
|
<property name="name">
|
|
<cstring>finallabel</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>20</x>
|
|
<y>0</y>
|
|
<width>540</width>
|
|
<height>50</height>
|
|
</rect>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>18</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Installation completed.</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>launchinstall</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>20</x>
|
|
<y>20</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>@NextBox.setChecked(false)
|
|
@execBegin
|
|
conffile=~/.bootrecover.conf
|
|
cat > $conffile << _EOF
|
|
#
|
|
# openmamba installation file
|
|
#
|
|
# created by openmamba bootrecover wizard
|
|
#
|
|
_EOF
|
|
@dcop(@dcopid, KommanderIf, enableWidget(QString,bool), back,false)
|
|
|
|
installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0)
|
|
mountpoint=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",1)
|
|
mbrdevice=@String.section(@mbrbox.item(@mbrbox.currentItem)," ",0)
|
|
|
|
IFS=$'\n'
|
|
CHAINLOAD_SELECTED=(`dcop @dcopid KommanderIf selection chainloadbox`)
|
|
for i in ${CHAINLOAD_SELECTED[*]}; do
|
|
chainloaddevices="/dev/${i:0:4} $chainloaddevices"
|
|
done
|
|
IFS=$' \t\n'
|
|
|
|
cat >>$conffile << _EOF
|
|
INSTALL_DEVICE='/dev/$installdevice'
|
|
INSTALL_MOUNTPOINT='$mountpoint'
|
|
INSTALL_BOOTLOADER_DEVICE='/dev/$mbrdevice'
|
|
INSTALL_BOOTLOADER_DEVICE_SETBOOTABLE=@bootableBox.checked
|
|
INSTALL_BOOTLOADER_CHAINLOAD=($chainloaddevices)
|
|
_EOF
|
|
@execEnd
|
|
|
|
@if (@Message.question(@i18n("Boot loader from") @String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) @i18n("will installed to ") @mbrbox.item(@mbrbox.currentItem).
|
|
@i18n("OK to continue?"), @i18n("Warning"), @i18n("OK"), @i18n("Abort")) == 1)
|
|
@confirmBox.setChecked(true)
|
|
@endif
|
|
|
|
@if (@confirmBox.checked); then
|
|
@dcop(@dcopid, KommanderIf, setEnabled(QString,bool), back, false)
|
|
@exec("/usr/share/openmamba/bootrecover/bootrecover.sh -y @dcopid &> ~/.bootrecover.log")
|
|
@execBegin
|
|
dcop @dcopid KommanderIf setText installlog "`cat ~/.bootrecover.log`"
|
|
@execEnd
|
|
@endif
|
|
|
|
@if (!@confirmBox.checked); then
|
|
@Message.info(@i18n("Installation aborted."))
|
|
@dcop(@dcopid, MainApplication-Interface, quit())
|
|
@endif
|
|
|
|
@BackBox.setChecked(false)
|
|
</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="ScriptObject">
|
|
<property name="name">
|
|
<cstring>ScriptObject7</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>540</x>
|
|
<y>20</y>
|
|
<width>32</width>
|
|
<height>32</height>
|
|
</rect>
|
|
</property>
|
|
<property name="associations" stdset="0">
|
|
<stringlist>
|
|
<string>dcop @dcopid KommanderIf setText installlog "`cat ~/.bootrecover.log`"
|
|
</string>
|
|
</stringlist>
|
|
</property>
|
|
</widget>
|
|
<widget class="TextEdit">
|
|
<property name="name">
|
|
<cstring>installlog</cstring>
|
|
</property>
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>20</x>
|
|
<y>60</y>
|
|
<width>540</width>
|
|
<height>360</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>
|
|
</widget>
|
|
<images>
|
|
<image name="image0">
|
|
<data format="XPM.GZ" length="25999">789cc59c57afdd46d6a6effb5718cdbbc680df662631988b9373ce6730171599c913f68983f9ef53bbde5525d9966459ddc067360c3d665ab5f22a6ef57ffdebb7dbd3a3dffef55fff785eb2652b7e130d7bfaed5ff2651c3ffef7fff95ffff71fffccd3dfccffa24595fe16fff37ffce39f67cbdfc46fc7f3a4561006068285fd67c5f2d672e4f9ce72b248893f2c679e99e56aa116d18a27dccfdd799d1267747d4c5c804565594505ee979f2b8e165106eeecf551b22871fd545a4eddfdf360992d24389c2d737307de175996b15ed8c5eb35cbdac88bf30fc41a1cd8ebe3242279e7de72e69eaff62de7510c6eb9651e45f4fe5362ba5eec581669b1482ddbfb9328d6919567b2eb4f5444ef9fdf579ca65145f29d58ce627a7e6be54ff388d3f3b7c155b6c856fc202d174623b85e582e13ba5fae5bae2a89eb8dafac58c624afbcb7ac58b6282c872bce162c5ee4f67d7b96a35247b0d71a98315cdf9e807989ebd9367105960bcb312fe8fc16b13b6ffd314b780cf9c416319d178167fbbed9ea374b23b2678be7e731d967b2fe9b15b1207f6cc1ee7e7d64b9e47cc1ecf3772d33777eb2f6c8b8d37ffd06e66c5159ffb4face24570b69cf6bcb9a0b3c2fb0facda394e4a995e5d8bd8f6d121b0fb4fe65e5c9d394e2474d60f33c6edf67f59d673c22f91f88c542d8e7597de439cfa13ffd482c219fee2c17ee7dad8d97bc1411ec391d5aae128ab7f9ccb28829ded425d8ddcf62b0301ebbe2e6deb3cd2fc2ea2f976ebdcd022c4c84d9f36fc46964e5532f9695f14ffbfce9c0b28e499e07464cfedf419fdaf89ff58f6e5c71b170fecc2e2c4729d9af3925a6f3cd1a586491d5676dd75ba46281f8acadfc4526e2c8c66f238849fedae68b224f28dfb0c47221ca18febd6199890afae86c7e2b8cff4489b5c7b1652118ce4f3796654cfe3ce7e0c4f9b3cdbf8572fed1623daad2c82fccfa6fb9e009b8b1f158462efe3b1bbf659c507ed3579613a37fbb7e6efdb94c53d2af5c828d3eacbcb3b56f59262e3f6d800b1dc3ff71be4a5cfedb040b9340ec796bff92bbf353615938fd35365e4a99e4e46faf9695d117ec61e3b9d4ce9eaa01e7a49f6e1d5ca50b2b2fb7fe5d2da459b1d5cfb3e528a7f7b5c76019c5d67fb9e33829ad3cb83ec95dbd7b071709fc415e818dfeecf5b38dafaa48285ef83a3873f588832b7a7e5d834509fb3fd8fc5695eefef91cecf2477307965962e35ddb78ad98895ff8a3adbf154fe9fed6c64b2513ca7f8d04cb38b6f1d8597fab7429501f671b8f6c9150fd089fc139c59fbe060b1edbebd93a5856b41e2b2ff3fad4365fb0d85daf7bb0396fdf1fda7cc5929cfc899f8025c3fa1e6cbcb1d4f94bfb0976f6e7d69f5896d1fd0dce67d218d8fa87d507cb4541f9e58e98c536dff107b0e429fcdbc60f2b9dffb33db08863bb3e61e38f55ee7e0d792b93d0acbc13f4c7128a5fa5c099abbf365e192f28fe266b6f2672773e0117e606cbd09f34f5d2e6ffc9f60f4c25d42fd431b870f6b6f1c774eae26704f38cf2a3ad4f7c5146888f76021b7fb2eb11365e789491be6b5bbf79ecfc5727c4140fb3d5074fdcf9f0065cd07a440a36f910ebb5fec3bdfd1e3831dddfd97e8e6729f99fb6f6e47946eb91787e5e4511f46df3232f5c7c88126c146ed73b597fe3a57bfeb800e7f47cf90c568b0cf16bfb035eb9ebc506581689d5d783ed873873f9b77924a6f810908f65649fd1da977377fd9c5916a9b3bfe31cfd6e734cecea6f414cfedded12937f69c8239cffcf23b18bdf065cd0f583cd575c3aff981be212fed03c1093ffab3db07bfe007b2827cf5c79b6f1dd06c4eefd4b7049f619705ebbe7cfafc412fed9d8fe472cfcf99258523d9b895d7d5c1093be259d77fa6fad7f0a5fef03092e487eb5045726e1dbeb6d7e10b17bded4818dbfdb7c3587e09ce6a3701d5cba7eed9098ecdb8057e5163c1193ffcf36be8c3b64e8dfe43131bdbfb3f951642ebe9a9198de273ec1a641b0f5a3b9052b53712cdb78123e7ee688b8a07ef7006c2c867ac7c1c6dfd14fd0f5aaccecf5bdcd3f263d51be995e8915fa3581f717a5cb470f605622ff37361e4599917f771131a3fa734aac50ef05f45daa2ab7fed1c31f2a9fef3b6237efbc13733c6fba07e7b4fe50834b773fec57a904f97fb0fda76019f95f7d43ece68b337011235ec6736237cfe279ccd443cc27b00fcfa8fe0ea7c4e48f3de437ed3afaf5f9823842feafe1cfbc74f148e74d3f8678b1f94a0873bfcd1ff31d718e7e7cda23ae70fd60eb9590cebf66f8a374f52780bcb270f3ee15d8f803fa0b3b8f09e5faadf69698e63985f8d2aebf1a8e89c95ffb3d629a0794cd6726f85d7e0c88297e8633629a9fa72362d2e774052ee2c8d647c1c04a64b0afad3f3272f69ff78805f5fb1f60c913ab2f89e7c739d973704cfeda34c482ec85e79bf108f9a3bb059712f5a9b6fe207d7fd33e1293bf0fafc48aea730f36fe857c60ed63d235d9bf2fc00543ff192cc025e517b10676fea707b01918d0ffa6c432c7fc67fb6d9915344ff61531cdfb21de97556efec5f3f29ce2613a26a6fd95e913eceaff70481c53fece8829ff349ab85a60fe498915f245afc025cd279aeeaf5cbdb7fd845c851fecbb465ca2df0b5b70e5e6333aaf74867c69fb6f597a79b68839cdd3b057e9f43b2c8973f433fa146cfa69abcfba212e13c49b8d6f5915246fbf4eecfa8b8998fc7f1a88c95f07c8cfdcf93e2676f3db823887fef93db1cbcf6b9eadfdfbc433f2e906b1a079fe9cd8d59f6d7049fdd480f571275f774d4cf1c1d788291ff7079eadfd46c41f2f5d3ddb242ef0fc1af1c0e522b6f1cc6dff2f85cb47c38167e457d84f940cf384823f99844ffac57a858e0aecb7ec3b2e6dbc0fb85fba7e6062c42ede06628af711f69025e5d3f1999863fe1b3f8925f2d114126bc83722dfc96a81796f3c238ee14fe33d714af96483388f613fd85b39f9064d2ca87f3cf06ce34dbf102bb27fef19fdf10836e6b3fa9867e23cb6fa1d2e890bd4a331242eb11fd0207f2a55a07fe86dfe97daf59b1af1a24dff87f8bd27ce115fc38767ab8fa127e698b718fc4d57e4efcaae5ff9f9a53f264e17f6fa2124ce302fd53db144beece8fe2a83be9b8498e2b9b7f2a9c8f97fff0e76f11f9c822bd78fd7601641dedefabf8a5dbfabde3c5bfbb421710e7955445c42ffc33e7105fdcc2f603390d8f5d6f4fc8af60b7adb9fa8c4c59312c429e5834f628a777e475ce2fd13276688ffdefabf690629df8c17c4a4ff3e2276fb1bdcb3954f8cc48cfa657a5e95611e0fd688a97ed7d0676ae6756b9fdee61395f9f7dd12533c8f6bc4945f06452ca13f71e5d9be7f18c06660c3fe143d9fe5c82f7d4bccd03f331b8f2a37fab1f61a97c44ede0db031bfbd5fbd1327d0dfb0e718f1326f11f3c45eafd789ddfe17de9fb318f56284fd0bd79f7617c4947fe448aca97f3a00bbe7f5587f5952ffdb7f1093fc9d3b4ff139c29e6545f9bd7d232eb01f3ce4c412fd647b0e6602fa6a214fa9930af5d2f6fbaa72fd6aff464cef1fe10fabf041fced1347f0c7e08cd8dd0f7f65a55b5f40ac687df03fe69ed70b628a3f79e819f9ec9a98e2a5de24a67c11d2fdccd5fbc27164f5dd3e837984f50f2371965b7902e40f5ebafcf10836f2d9f3dd39b1cb5f9fc4146fdd0b714ef9c05dafd1ff28f80b77f24d0be282f69fe87ea612ebef7d0ae625cd4fbbc43a41bcc35ec2e807f22d8913c837ac11533c8e976046f56b3e21ce52f40778bee07186e7c1dea6a1217d4fc415f4dd43ff522c20df40e7cd848dfa08fd4999627f2a803f2bafaf8298e46bbf30fce38998c1bf3a773fc5537fe919f502f6542c427d1b2431edff0f1931f597ed0d31eddf378817c573ec870f3bc40cf3b32679a44cecf50ae77555923c27c46e7fa222a6fe497f1073ac47c7c4f4bda92d8935ea6987f8d0c65fd07fac1347e857da03625a5fc888293e7a0d36131ee4473ed29225e01b629d229e894d41c77e8a5d9f5e54f47d3710c4d42ff62331c57b58839d7f377b9e916f0e8973cab76f8e91bfe698b8ccd1af1d105731ea7f40ecbeb7ec82573b84f67d0a2c2a709f83658cfd143d13e798873b3b1feac8ada74b88295f7525b1cbd7585fc45cbf7f02e605e2a7966021b17faef0bed57c8afd729bbf74ecf5b54d4cf9bcdb2776fb5feb60e6e68f67cf365f849cd8c5cf2e7189fd97f18558609e9d6f896586fdef8858231eba77304fd0af0e903f361332fcd3e62f532ddcfe209e973057df3b6209ff1c52b0791efadb6d62eaf73b9b1fb4ef27ba09ccdcf7f288d8ed5f4b62ca47dd3171897add5f1073c4c3c88925cd3ff0df94c7d047f04e5c605e0dee8805fac1ae2356b1bdbed900cb3cb5dcd1f592e5d87fb3f55967ce7e21aecf9cfce10331f94f3811bbfd8a756201fb0d379eed7ada8e58d1f7cc5dcfd65e01d69bb9f531d82f1334dfea86388bb07f00fbe44edfe113b1db1f92c4645f1d1053bc0c8c5840ffe115b1843c1d3dcfc883fdf98438c9adfcf325719aa3bf7a2596985f263a2fd2d4facbb4eed9fa2b3b25a6fdfd11facd65061e88cd04017d3e1347a84f9d20ceb1dfd41e1157880f293ce3f70b8e8d0aed7aa1ffc2e9a35f1273e4bbfe9458101f7a46fe433c14c6bfec7abb2db090c8171dd65fc832c5f779e4cbd2e7f7899853ffb3e519f50cf9a6e409fc5fdd83459960be60c40cfd7b8bfc53ca32b7fa6d908f4b9561fddd26718e7e89d3fbb5c03cdec2df2b978fc21762ca175d4accd11fb519d8b83bea73e219f3ad639622df4fc41af6096dbfa999f3cff091d8e58799b8c23c1dc4c44e9e07cf58df81676b8fb02376bf57382496f47b0ed41766fc1bf9ed9db8247fdf27d6d8af6b604f2632e497b621ce910fdb6de202f38d227905277b7d100bd86b443d32e1867e563f1327e827bb10ac52f8fb40fa510af6d2a8df4c6719e62bd43beef4d7c6c4257d1f4a882bf497a12426fdf00d62cae73df4cf9d3ec24d620d793bc8cbc502f37b784e1c637d61e919f58813537d6a73e214fec26f8905e6d5593b463f3b217eb92c33c41bf20d576586fea22156d007837e85f397567946bd70ecd60b7f37fd33ea737746cc307fd515b1a0dfdbec102bda0fc0fa85d347f34a9c62bd6220aee02ff3bae302f23c130bece704e79eb17fd67ab6f2b5b087900be85b7d1097e86f45465c211f8d3131c3f7564deb33fd0d7ecf7047acd00f35c82fc2942bd4837be238b5fedd5e1057a4ff3762817adad3fb4d4540fee5c415ea87863da5d37f7847ece64df8bfe4f43dbea98869ffab2ec0c69fb0df78499c51bf49d7bbdf030d253143fcce4b62097d8cf0372923f8df3813e7d81f68dd7995229ed01f1b847dea8eb8a07a44ef37fe69f34b0fff947a91617ff591581596d9a767c433f295f2fa792576bf0f7820a6feb377e7357dcf857d158fc0f511b1c43c2be18f4ad0f7fc96ee37fe8afd870be21cfba1434c2cd14f314d4cbf3f1a50bf94f147c42fc9675e87fdd413e204fe3a35c4658679e18a58903d68fd52a27ed5f07f65fc0ff9a3f78cdf2fa6c4648f76499cc35f9b73c7f057754d5c209e6ae85f69fa3d4278494cfd73c088f302fdda1b31a3fa101173cc3ffd0eb1c86dbee8493fc6c3b1bf7a40ac18ec8b7ca49d3d6b46ac31bf856f9ef1fb9fa567cc475fae47bd84beb549ef38bfeb19fdc4197144fbd57b9eadfc614f9ca09e068967ab4ff9e819bfefe1c4f4bdbe597ab6fa55dbc4b4ff5c079eadfe8275c78877cd3de3f74deefd05fa6b551297f4fb4de698e68923e28a9ef74ecc50efd596677cef7ef06c9fc7371d537d1b8939dd7feed9de2f0f3c5b7dd64bcff0df1dcfd057414cf381def70cffd29e31bf3a7dd13ca406cfe81fdcf50ae7f59b67ec5f6d7ac67c94116bb0a4f78b05ea9bca3d23bfd1fa4cbec0fb761ca31fa81f1d23feb9f26cf513923f8a98d6137ac6fc507b867f70cff89e78ef98fa4db2a748489f1b9ead3c92fcd9fd1e561f7886bf9c3a86fc8af421e8fb44fd424cdf2764e519f345ef19bf8f14c4348fb24bc7a8c7f38de31cf6207f37f5c9c6a7dcf50c7f70fa2b51bfd5b167cc83ce3e25f25d4ff12c68bf45a59ead3f04ce3e0ce765e919df9bf73c5b7dceee7d0cfb49835b3fc7bc233bcff89eb2464cf3777dec19dff7773c633e72fa97607141ace87b62e219f9a6f08cfd904dc7f89eac9dfd558e7ec1ad4fe3fa21f28cfed0d95723ff4bd4172d1738af9e3d633fb421267f97db9e310f6e3886ff0bca0f320637a167d4d74dcf888f77cff8de70e63843bfbfedd9ca3b3e1127789ecc3d231f397953707de219df8b7acf981faf8933b0a4fce8f6dbc49967f853ea18fdf8704b5ce0bccc3ce3fc9d67f45f478e0bc84ff16ffa57e4a317cff83eca1da39f989dbc65699fdf907f987e17dfa33acfd8bf1b3c5b7f9a9d7d2bccc3d2d983f6579bc0337edf72ea19fee7eccdb03f2bdcfa5881fd912bc715e64de75fd46f73ca07eef7aba3f06cfd4f6acf989f978ed10f4d3b9ef13d5e79463c38ffa3fd6ed17ab6fe3a3af925cd57179e11cf9fc40ad70be75f0afbcd53e4b840bfece4a1fd6871e219dff37acf9887c97e6a011e4f3d231f2acf98972bc7e8af830dc7b0df48f635f30aee7ff50c7fbe709ce3f7b6141fa67f44be7cf06cfd9dbf7b46ff4ffea812f0f8ea19fb5db563f4973c725cc15f0f3cc31e941f4dbf8a78b9f68cbf0f70e519fdb0748cef1993d317ed0fe82dc715fa69aaff2ac3fd527ac6f7ad7bc7d8bf1b9567d8dbad27477d1185675c3f3a267f7cf60cf99d3c7985fa42f5c1f4dbf679fccd33eaffad67c4c3a6671b0f8193a7403f3d4e8e313f0bca27aaa4f9f8cab3bd9f5f7ac67ecac27189fd47aa17aac2f5f2cd33e26fdb31f43fbe7bc63c47f942d17e977af40c7d6ac7f0dfc9f92fe58ff1c37181feaef78c7ce1fc8de3fef1c833e6e1d071897e95e25509cc9fe2d0337e0feafc99e693d1ad4f14f8fb184e5e51597d8ccefe942ff885677c6fbaf40cff77f228b0509ead7f4ee79e918f9cbf50fd0e179e617f172f1af7d7179e118fd79ea1cf13c798a739add7cc77d0ef8d67ebafecc433e22d710c79a6d8b35def347bc6f3fcfd88f796d6a3233c6f7af20c7d1f3bc6fdb33f0ffb73d28f8e291f3f79b6f7b3ca33f281744cfbf35f18f174e718fe51a79e919f1e1d57d8ef227bea04cf17d233e2ffc633eae1a1e30afa72cf4b293e969eb17f70ec19fdfdbe639237770cf9d8956366edaf3acf98a7c9bfdc7e685b7b467edc742c104fd4cfe81ce759e919fee8f493c3fee3ad67cc43cf8e4bf4bb4ebe82fc453b467f320bc715e603ca5fab1f6059969ef1f7639e3da37f73fa29b11f51ef3a463d61af8e99d55740f941537fd35c7846becb1ca37e0754ff34f5fbfcd433f6733f3ce3f70efefa12f238ff64d8ef939e05d647f9c3ed8f30e119f3b1b337873cda5f2facff04cebf04aee74f9eb13f71eb19f1e6e24f94563f815baf1970ac3f3bff1412dfc75d3c4b3c2fcc3ce379cebf24f67f26e73f12f1c49cbe15ae0f8f3d235eb9677cbf9f3ce3f78ace3f15e23f74f652a8e761e519f5dce507da3fd2fe3c87fda9df300e8afdabc933be37a59ef13decc833e2f1d333f4b7ef19fb35a363d88be59eb15f75e819fefee57ac433f38cfdaa3dcfd8ff183c431f8967d8c7afaf40fc679ea1efc033d6bfeb19fed47bc6fa63cf980fbfc88ffd8d2fcfc7fa5dfed3b07fb0e319fed479c6ef616acff8fe1279c6dff7f8f08cf8083d63dedaf60c7fbff68cef05ad67bbfec0af1ff1c9bc3e4bacbff28cefe9af9e516fb73cc3fe8d67acdfe53b8d7c3f3c79c6fabdfcc87741e919feb9e919f3a7970ffe1ebc78c6dfe75d7846bd7ef78cf55f7ac6fa0bcfe837bd7f631ee3de1fe9f773de1fd0efb07bcf58ffd233d6effd1df1d77bfb30acffc233fa25bf3ee4e7dafb3b83fdef3cc3fede7f18f29db717437fedfd93a15ff3f233d8fbd633d6f7e619fd90b707b3ebe33e9e38f6effcfbb95d0ff3fece913f7dbc20df08ef3f1cfd9fd73fea01f7f983437eefaf1cf1ebfd99a3dff0f6e7b097d73747fdf6fae390dffb27c7fe985f1fea8ff0f126d00f7b7b0ad8c7c7b780fc3e5f08cc833e7e05be67797f14f8fba9cf9e610f9f5f51bfb8cf0fe83f84f72f81f9c0c78f84fe7dbe9390cffb97847c5effd2beef6cf9df7bfcaa0c6110b2909b7f9be3bf4306f35e11ca509943ff5906f35feab0f93bb2fd5d19ccb3dbb0336fefc3211cc3299c7fff36430fe163f8143effbc147f4706f3d465f812be866fe17bf8117e866b4696f5afed61feb46124d80cb7c2ed70e7672df5f33298e7ed9af7ab702fdc0f0fc2c3f0283c0e4f8c4ca7ee4d5682b3f03cbc082fc3abf03abcf939297e4e06f3a4dbf0cebcff3e5c845118878991210db330373a29f02692a00c2bf3c72060010f44207f468abf9661150181f1bf400775d0046dd0057d300463300573f0103c062a78721204cfc13278095ec3c85cf316bc071fc1e75f4bf16319cc82d6561110ac071b667d9bc156b01dec04bbc15eb01f1c0487c151701c9c04c61ac19991e03cb8082e83abe03ab8091323e56d7017dc078b20fab114df97611501416cde9f046990057950046550b130b8610163e127e34c30c914d3ac664d78c65ad6b13ed86443d0992bc6300d0ed9c466f6c01ed9d38fa4f89e0cec7915016cc95ed82b7b635db064efc62803fb609f6c8dadb30db6c9b6d8b639b6d80edb657b6c9f1d986b1a16b2c36030321e0547ec989db05376c6ced9c5f7a5f8960ce6ea691501ec925db16b76c36ed91dbb670ba3e580452cb66ffed691b0d478e30ecb581e1cb0c28c62150f79c019e7666c92df93e28f32b808e08a6b5ef386b7bce33d1ff818bcf089cfdf7d3f1dfc813f1a4b1df127fecc97fc85bff237fece3ff8275fe3ebdff6cf3fcac037ccfb37f916dfe63b7c97eff17d7ec00f830b7e146cf2e3bf92c04a71128c66e1a7fc8c9ff30b7ec9aff835bfe1b7fc8edff3c5b7a4f8bd0cb612291ef198273ce519cf79c14b5ead3c52843f2301db168160820b21a450428b5a34a2159de8c520463189f9cf52fc4986207c110fe2513c8967b1142fc27ba478fbdd9bdec587f8146b625d6c884db125b6c58ed8a5737b625f1cb01371288ec4b13811a7e24c9c8b0b7129aec4b5f853f6fcb33f88db50893b712f162262d72286478ae42b09b6442a3291f3775198952a5689525492f42403c9249762e58d524a25b5ac65235bd9c95e0e7294939ce5c3d7527cc3278390cb47f9f47b8f94cf5f64904bf9629efc6adef0662c7ececfe4bbfc909f72cd9eb59e2737c27ce58d22979b724b6ecb1db92bf7e4be3c9087f2481ecb932f52fc3936cdfda7a192675f3c529ecb0b79f9950c57c6c7aee5b53832ef79e14b26e58dbc9577f2de9e5dc848c6329129bc51663297852c65b54af88a9990134a2af547199456b56a7ced0954cb96aa8347aa5e0da152e31719d4a466f5206af5c843f5c44a7eaa9ed552bd7cb1957a556fea5d7da8cf95379ab36b6a5d6da84db5a5b6d58eda557b6aff8f32ac72b239baf0561da84323c351a0d4b1785127cae8449da97375f1b547aa4b75a5aec5a1ba3139e0993fc9dcbce9f6abf377ea5e2d54a4e29537aa44a52a53b92a54a92ab5ab43f8c31ff470a4835069a6f94a162d42ae4da5d22bb9ded4b6697e6bdde8f6f731a83bddeb418facd0933893b59ef5039d79d44fea413feba57ed1aff046f38437fdae3f8c049f7acde9fb6b1956acd7cd5b37f4a6ded2db7a47ef5a69f654a9f755ae0fe4ae3efc5636d047fa589fe8537da6cff585bed457fa5adff02b51eb5b7da7eff54247f04655e8d84890e8f4f7127c2d839122336fcd75c1533384577558073533dadbac792d6457cb5a7d3f33d5baaeeba66e576fe76fe2c834305a1cd65dddd7433dea5a05f5f46d09bec405fe7b3dd70ff563fdc4f7d91b1feae77a69a428ea1759aa449cd7aff5dbf7a5b092bcd71ff26df57613b3217f6127f567bd56afd71bf566bd556f7f4b82af6393ce2e0355efd4bbf59ee917aeeafdfaa03eac8fea63f55c9fc8ba3eadcffe2a57d7e73cac2fd8897aaa2f8dc79ed557f5b5da3512dcd4b7f55d7d5f2feae84b04aea4f93a3f902ee250d6499d9a3f5ed7599dd7455dd655138ab3261079c31ade881f4bd148f7762683a34635bade6aeaa669daa66bfa6668c6666ae6e6a1796c6c6ff38d7a1134a67f6996cd8bedc8f683c3e6b5796bdebfce8dcd47f3d9acfd408a75360547fcb4d96836d56eb3d56caff2944a9b9d66b7d96bf69b83e6b0396a8e9b933fcbe0a5380d779bb3e63c18c3e3e6821d3797cd55736df2ee57b9d1c876d3dc3677cdfd3764583451133749933659938bb62964d394c6ab4c9668aa366cc63668594bb3e277faa8a015ad6c55abf9695bb393306f9bb66dbbb65fe54656ad7263781cec85513bb0ae1ddba9fd4377d33eb48fed53fbdc2edb1791235bcaae7d6ddfdaf7f6a3fd6cd7be78c4b7fb492bc57af8d86eb49bedd6aa06b72fed76bbd3eeb67b2e3706fba66fdc0a96ed7e7bd01eb647adef70da93f6b43d6bcfdb8bf6b2bd32ba3b3123c1b57a6e6fdadbf6aebd6f17dff7c9df4bd1466ddc266dda66f639a6feb5795bb4655b195f33b9313c08aebbb0334db43d78273ab992a0539deeeaae6193f1ccd0788fa95c5ddb755ddf4cddd08d5fbf1f31fa7d19baa99bd576f7d03d764f261e825505ee9ebb65f7d2bdb2a3f0b07bebdee9fd383ebacf6ead5bef36ba4d338b66ab7eb2be508f52765bdd76b7d3ed767b5ff2c38ffa87af64d8ef0e4c9d3bef0ebba3eeb83b11e7dda9dcedcebaf3eea2bb34eb62bf3baebaebeea6bbedee821da3a171d5d9af7adaeebe5b7451b76374107febfd7f2143d2a55d668fbc2bbab2ab5679bfcbfab00f7ad6f32fefef452fc575af7a6de6bcaaafcd8493afbadabee9dbde6404f3cfd0de7dfbfd3f96a11ffbc9d41a7bf473ffd03ff64ffd73bfec5ffad7fead7fef3fecfb3ffbb57ebddfe837fbad7edbcc205b66d6dc0d0ffb9d7eb7dfebf7fb83feb03fea8fdb8fef49f043194e7aa3fbd5d19f99e3bcbfe82ffbabfebabfe96ffbbbfebe5ff49139e23ee9d33e438531d366c33e82becffba22ffbaabf30155b2b33760ddf95e087b630835d77ea0ed38724a6232b063e88410e6ad0433d34433b74433f0cc3384cc33c3c0c8fc3d3f03c2c8797e175781bde8777d3379863f8187e307f7f5f86616d581f36860dd395d3316c9a8c8ba319b686ed6167d81df686fde160381c8e9a7438aeb78693e174381bce870bb55e8bd561bae96ab81cae7e4986ebe1c67462740cb7c3adcc863bd3a7fb63b81f16a6577c1ea2a61ce22119d2211bf2a118cafad854da35d33f7543b5faff5c19c3f1976c31b2919be9e4d4e4177b985efa6614a66e99c3f44ce618e5a8446f6a7a03ed8c7aac8db636e4f6d8ac648374a64e1463fb6b32745763274e46131ea643f7c73898da690e33c135e3384e4e27e33c3e8c8f2b8dc9adf6babd26d9ac74e3d3f8fc8b7a588e2fe3abbc36b9d61ee3dbea9052d4ee18dfc70f7d2ef56806497eb3d295c9a69bab4374a652c25e77c682b7e3e72fcab036ae8f1be3a6a9166f3878b03ad4a3e9d5ec316e8ddbf2751c4843bdd1da8ea991b9992ada95ad56d241b671f71765d81bf7c783f1703c6a4dedf9fa10aabe581de3f17822e5b8aa4aabaa766c6aab39ccf463ecb4b2d7780ae98c6c67bf268391e27cbc182fc7abf1da740c74d497ab635cd5efe5783bde99b9d668a8bd3213b639cc84f9063bad64fb22dd78ffab32182916fdfb188df1988ca9e94dedc126734853159fc76ccc7968b4743116a6c738341dd6ebea10da743a56b6b16cafc6cdb19a7e29369d1453605ec92731492682c3af8e39cc263569f5c4cfdbad76cbf4d137a6c77ba92f8263a1c86a17e270aaa7666aa76eea7f450627055f9f86699ca6690ed3f0c81e9f38827e7ae067fccc747bab717ab93aa6c795ad56569b9ea6e76939bd4caf6330bd4defbf2683d7c5c7f439ad4debd3c6b41926e1c1ea6099393ea62d7eca4f8387e06875f067264df7b4b257396d4f3bd3eeb467debf3f1d7cbf6effb50c5e8ac3e9683a9e4ea6d3e9ac37e35b188591a98fcdf0c47878cc8e4c5f9505b3e9318d9558319d4f17d3e57465de7f3ddd4cb73f96e0e7f6ccad1477d37dbd3e2da6687a089ae02ab81a9e4ca57e090f591e8cc1beb58eb1d3149bf727533a65533e1553f9bddee9efca405254733807339bf92cf8c84c2b55eff1d1b4548139b2957d6639ab59cff5dccceddccdfdcfbcffe7658014f3308ff334cff3c3fcc80f79cf0ff8c042f6b1b2ccfc343fcfcbf965361e38bfcdef7fee9eff7d199c67cc1ff3e7bc36af73cdf7c50bef8d45aeea74de9837e7ad797b1501f3cedf79ffdf93c14bb1dbf4f3debc3f1ff09a77f3e17c341fcf27f3e92a02e6b3bffbfebf2b8397e2bc19e78bf972be9aafe79bf976befb7304fc9d2f8ebff05d6f25c5fdbc98a3399e93399dff4604fc6764f052e473319773f5103e043f1f01ff29199c140fec813f8807f92b1ef0efcbe0f78d827ffffdbf2ec39fe5f8d5f7ff7b327c91e2df79ffbf2bc37feaf8e7fffb9ffff8ff5ccd2287</data>
|
|
</image>
|
|
<image name="image1">
|
|
<data format="XPM.GZ" length="63226">789ced5d5b53db4c93be7f7f45ea9dbbafb6e6b32c5987dada8b70720c04128209646b2f66743027070810025bfbdfb7d52dc933a3912c270136fba93a60da927a5aa3e7e99e9326fffcc79be30fefdffce39f7fddde89bbb3f84d7c2abebdf947723f9f3ffee77ffdc77ffff5b73718bc09bc374377f066f8f7bffdf5379fbd89dfb0c160e00c06a85f14fa9074b18fba37080678be9ca03e1a84030f8f9fa11e0ca2c1087507f5702007019e4ff6c5201e84a80bd453282ec6f333d433c719a4a89fe4bae338ae83e5b331eaaee339583edb43dd73468e8bfe5ea23e727c07fd911275df091df4879fa21e3a9183fe081f75e1c44e84fa77d463277124eaef514f870327c1eb37727d38183a4e86f6dfa1ee0cdd21d5cf08f5e1d01b3ae8df17d45dd0a97eef51f786a321f9fb80fa68180cc9df5bd4fd6138447f19d6371c0d873edaff887a349443ac3fb6857a3c4c86e42fd94f86e910eb53929e0eb321fa2f19ea99eb0ca97e835c771dd775a97e87a80f4127fff1fe41f35cf45f84a87baeefa2ff6c8abaef062efa2b63d4033772c9dfafa847ae70c9df0fa80b57ba58df92a31ebb898bfe4bbc1fd03217fd6758bf6eea0d5cf45f60fd7b03cf71b1fec526ea8e37f4c8ffcfa87b9eefa17f721bf591177884cf0875df0b3daadf75d4434f7884871475e1498ff08078f5622ff5d03fbe837a22a381c0e3f35c1f0d46430ffde158dec891b183f527cf511f8ebc11d5e72eeaa35130427ff815eafe281c51fddda11e8ca211d61f3b465d8ce211fac327a44b49f8e7583f2309e5a13d36403d1ea523f2f710f544a60ed6bfb8413df50723c233f993c9cca1fb417ef8037f38a2fb413cfa8eeffa58bf12f909dac8273ce0fdf99eeffb58df02cb072df0a97ef1798116fa743f88773f8a87845786fcf3055417e2917f2a74b7c02f3e1f5fc61ee19753f9b19ff874bd8b7ae2673ee125223df609cf129f8f9f06039ff083f7130c032fc0e721309e80e607c447d247714078e4885f381a06743f21e9709ce21fc68b2008a200ef8f23fee16c11209ed80fd2e3c8a5fbc3fa82b36540cf03eb03b424c0fa67882fd0b280e221f225c84227c0ebd93de9b1f4287e227ec241380c880fc8c7d089b311ddcf37d487a117e2fdf203d2e3c4a3e78d780ddd7014129e12d4fd300ce97e112f6114a7845786f80b452843c2e37bd2a13c8af78fa427c311dd2fc65f383b09e9fe46a42703c2b7407c8671e28c887f18bfe1ec2ca4fbbf463d8b9c10ed49accfc889dc88e22de225729321e1935d17bae7137ff17e222ff223aa0fbc9f68140511c55bcc57a04511f983f107341951bc42fc80964474bf53d29380f022111f511ca511c5df5dd213bfc027c66bb83a8bf07e38d94f92a8c0d31aeaa91844884ff6447a22084f0ce3b518886144f11a9fb770842b08df783d6823417cf450f7e07ac23be61f381a088a7feba427055e052f7449f86118ff842f4241cf53909ec421b507480f4424c83f7c7e70b6108477ac6f382a05d5df11ea42c402eb8f61bc062d1514eff17e45223241fc0d484f52c297bc263d1d44143fa9fc540e04dd1fe241644956e00be39774a42b880f184fa52b4792ea07f39bf4c01eb51ff0f9c3d14012bee9fc51ead2f364d87e91be0c253dafefa4a70ee147c485eed1f365d85e016b4252fd209e6524a5a4fac0fa062d91e8af443cca58a692e20db6676402e553bc3b2a749fea5b627b4c66b123090f3ba4c3717a3ee85fecc4aea4f88df7130f632fa6fa43be80e6c714af9f4887eb897f6ea18792f885f12286781853befa487a1ad0f39518df631f1e27d947ffe0ec2826fc30d2d3909e3fc7e70947654cf541f6451cc7840fac4fd0d298ea639374a81e8a5788f73881f2e879be2df4b8a83fd2d33491943f100f71963831c58f31e9608f9e37e693c449dc84e207e67bd04609c543ac9fc44b53ba7f89cf138e06095dff9674288fda57a59ec5c42fcccf899f8409e107e32d6822a1e789f13289e072ca07f8fc414b12c233c697046e30a1fba3f3e30c223c1ec7f80e74c962e21f1d4fa0b947f783f13749d34142f1e596f4cc4b28ffe1f5e9201d2684177c5ee930f552ca1758df2934c712e223e62b38eaa714ff12d2a13c7afe5ea17be4bf24fb809794f82249cf46c5fd20dfc15a9852fb1cf906674729e553e42b1c1529e113f10547654af585ed23381aa784af7dd2b3c23f86f916ce4e53c2cf67d2c13f2a1ff36b1a6741513ee6a7142a28a5f8b4497ae653fdf11f855ef8c7301ea7693648e9f871a117fe726c2fa459e6a4c457cc9fd9201ba654df985f32277333e2ef49a187644f20ffe1e828233c627ccebc2cc8a8fe4b3d2cca5b2f7451d8c7f658e6676146fcfd5ce849610ff90ed6a28cea1bdb6370b6c8c81eb6a7e0a8ccb0be393e5f381a6754df183fe1689261fd72cc37705492fd8f187f32a8802c26bd975e7a69929e23bdf4d22e3d477a790de18c0b2e795c93e4b53dab4bcf915e5e5a78ca333e6b90d3d7f6ae2e3d477a7959e167fc1cb87061959e23bdf49273e41233869d253d477af9171760c8bc911f7d1ee9a597bb228f3471a4cf23bdfccb0b30e48c7fedf3482fbdb409b4b6aefa3cd24b2f4d8299e48c5ff31bfe0de4b6cf23bdf46293822967fccec823f7afed595d7a8ef4f27a021cf96ee49187d7f6a92e3d477a793da971a4cf23bdf4a2c9ffcf3cc27ff047fec4dfc2cf1a5f7f6def7bf9b3c5c2918dd7f6a92edd38c2d7f926dfe263fe8e4ff836fc4cf80e7c6ef35dfe9eeff1fdd7be0b8bc71ff847f0f8807fe287e8e921fc75c0a7fca8bbb7fc333fe6278dc74e205efc80df5f7eabdf03eef021771b8e7a7c04c71d3eff69fb3e9f83fd006c843cfa656f3dce18fc638249ee598e8f58cc1296c24f66f3d9e088754d230fd98c9d828d949db11978de50371d3d8ed83993ec825d82bd394bf81dfbcaaedaaf59ce11fec8ae810b3b2013fcbd90093206d8c26ef8db0efefd60dfd82d3ffbd527b3a4947576c7eed12f62f24ec569f2799b8fd9f7653990477c8b3de4ec62e0b57a843db227b080c7f0f803fbc1a7ecad0d232bf93d606b6c9d6f2052eed906d78fba6c93dfb22d362624b1776cc2b63b5af6d836a06c87edb2f7fc9e9fd20a5bb6c7f6d9079eb18f6d7600c5013b609f74e1417e841db2e962c52efbc08ed4fa83a39f0b6f8b15bdec989dd4ac9b79e454b1f0097c9e6a36f272beb001603b5cb1761de6f06f5003fba63db038664396d7efc07e6d3b4798c74688304299f9b953e12f47de017f6cf1711d324e9e81b699cf37f57a02e604fc3d0b81898720bb2ce207820bc68f57ab873cbab300ecefd4fc9c54df95daa1106d3c115ce1d63bfea1f85642349854bc5bd8836fd88388db79c2e7221129fb2232436650d33336349f9d3865e7789d0798b8afaf231767e25c5cb494e7b2585c8a79c98a66115fc5952dce036b6b5ee1f9d73c1437d5cac4c5f773ee60c9df2bf65c68675c88b950224e531e11171001be54164c2b794999b8ed1223a0ceef982bccda5b94a87aff5d3c90ffbab47144fc0074a859a3fea9679609e0ae214b884764c80eb5d184ac30fd1dda40dbc5f70bf46d17fa8178eade96116fc15693bf3aa7e9af4f62ada166cfb4abb705b289dd15f531d1ca503416b2469600aa361a10ba096d95b1f6bc0a4440d4dbe64ca4fab7157272d960336b69013c6fbd3c03ad0636f3dcc5f53a105bd6b3e17c31d638a0f8c4b6c43b31ae5da596beb1c0b6655ceb94a7e25289f5e65a15dde7733169e1872bb68b35c626db9a56c2ccf825ab61b889237cbd42f5c4c099f99d1ead0f6cd1195a2e8b489eff6ce1b79b153fec78a6f6d127b1d38521908bb6954c675aabe73e622bb7b19a3dea7709ada948ec563d31bd04b506f27ecf939d756cd2f464d89e86353dc26d88ef46e433f02ede8bbd3a430a7e5cd49066634869695f7c506cf890bb2e2c38bd502cdb91dbfc76089d719fb7d5ac1cc9e3c2d062d7e601f9fc511c34c539716ba9d776219bc6d89a9d23d0171d37e2c18ca3469b0b5a4a1f6af6d6f42ba0bfb00e98b3b5df74e695fd888332f334d48727ea1944f5d796fb8abfc5a199a900cf6fb558308196d9b4666361552ff7d0dee6149badcfbb1e29d5633a0a4d8ebd1747c61d64d628de54868adf8cda8b793fc460421ded6de86dc52164c6332b479aca6b6109dcffa11d1356162fb34a3cd5b2938d231041c6c6b39fd47493416ad48dcc9e84f86c20eb1db0a453ebad2a7b57b48c0ab0eb1ac376b80dbf261bc9df91ce109047cbd576ef4c2ee69f9ff8e77a54639f5b9f4cb76376bcced89a51d67a474c587097dbcaeb401c8b9315fd5dce8fea1c16d738d23dda2f384a71ff4cd4dae3e0ffb7ced66c565b39027e1f6868327be7e6b73a26493f506333585cd3f035e12676cd8c64662b1c71160dad18b16ef545cd21cd719f32d554b31801a7cd4860b6daf4d100dd2ab4e02c5e3eb43e9b5f12b6af8f16409cfe193b84d2cbbcf78e2c69b2d2d6065a7e3784eb81258fac5e0f8b5c222c35eefc9445fc0d59bf6a83d7392286161c2312c4ae7001ed277cce5df8d98716c9943d18f1beb86e81128ccbfb35b4b68d95d5e376d1daaff7b1c1f6660da7a5a5b1f0f8117f62dfd837bec9eec42e786be7f48e70357fd78ce3f6fca4b2d16c271ed7fc0cc4e8a7906b0844cdfd3a52d4311e4047db5b4c64e3cc8a0ec26f42b5c0b685bfcc1bf6456c88a0a5a47d118a88a91e63396039b2b6b56c658cd95072102632f3be4b91421fe5428e9f3671444a198b4d11894d3615750fa816aa7e8ec99122e2ab18257e0cf9177104dc88a09d7796730c5a642e77d995782a78a263697bd12a8733d7b88efd26b1314545deb634f696e1eb063a4b7f3d99f2b938ca25e734fdc5aef8a3d855ec55e7337f31d6c0fd228fd4fb5bf817bb16ae4cd839ff00f7f524d6b58c529e55ef47034b64267c39b3e093f094b24bf030644c363c5b3190a7705717625be8a89b496de4414c646c5c79029818b38fcc61524ca046e67cc4b6d92158acf55cd8fb0a65c7e25a9e832d2be7642c2fe0d9e66c3aacf196cee06c863127aa8d58cce4e5728e0093cec53b7882b446d8832738e3e752da9822bef2d4a8714732c59799b89719fb284f01b3a5c5fc1e8f207a5d6a36a9cd97357144e9fb2edaeb378086397103d97156ae6dc64f9f9f407fa086247ea030fab38137337f8cf994ef41467802d91443f1a9e29d79dd58ef6143a6d0d99963f89eaf010efc453d28026c81dec6b866bbca7cf95932d130afe40be10137e6984923e0d211c68dc5fd2f7c31465baaf23d1eb0430b1e666cae3cb75beb196bca197a3b68266ef5b2d8b99cb32df151c66c437e0566b9d6dac8eff5926d99986352f3f94c66757f449a23ad3ccbe4249d913f830201470a8b08d5d7ed1c913379557aad7bc343f1a0592b6c8acb5a8dcf4522e7e216187a07d147b96be3a99c893dbea1fb27633b47aa7e838af5e982758bf2e9a728c515809d5a0b7d5266129eb7d0d46ca0b7a1a680e8a32ae2cf8ba87f0c6da47b5b3b4c5e2bfe9e18bee68cbee6a95913468db8ec1ce702f57ecb61b9ee04fdadf75a26c0db2760861225f07704e787da38209debd5595230f0a68921e5991616cdf88d5affdc446d6696859e45262aea02fe9cd63862cc4c8a81e90f7b07cf49f5a7f66621fb4c1caaceb8d7cab890a7ad1c3985230d5e630cb8b48c285cf251fdcc3a2fcc73e8b7b8d2fc5366fc171c4136adebb115734868b76af8e002d68df609bbaece59b3b7e58105fb7caedf4581252f6fc941ff476ff3e7f28e468dd0dfa199bfc0df79331e14a4a61503177da8b8f277bfce65f620bfd52d57f63617fc28ae695ae955e708b41f54cb705fe69b47c66824cff7a8d29ea8accd92ebd1b2ad3ec0a35b0d1d3379a39f51cb23d50c47754f7786bf5be2583f437cd4223ff2b08923e23bcbea68d67d1607d21cf39bb11df3cc66249867b26dc3d6b86cbb691c89949e05e20ef493652555d134d4da47b98577c558bb5beb8f146300253feaf755c4c1b9855ddbd4d6c7e3631dc9b9bf6d88506a79aef9441e1fd48ea96dbc869ac0fb8fa0dc89666da769c6bdce1179afe79c3a47d8077dfd21d8f86ecc8064f6d2baa0c398bbb170c4cc23d076319e99c91135eb9130a3c7d29247a0fc2ecf9009a35706dcfaf9d59e624faf51362e679dd4b656113dd536fa93d90fb27b4b3c616f95ebe9f3c988cb6a86baaf6728dd66c1137dce1bf15a9c71a265bd49de0eebe62ff5a3a0ef65b62bd71bfc9db0f325befada9859fed3b07aadc69199d834cf30383213666f34e7c8923ca29d1f31c9122ef9ad98433f229739bfe531bf6197103f1d68391918d5ef4ecb2379cbffbae68fe9f156ed9e3eea6734e69199187789ffc8dd73c52b8afe974de7b37371c026f90884c84a6e413ffe3df4d88ec5833c93670647f62c796420f456782eebab642b259394ad97612d2e2f18b4bf3c1716bdbda1c192493e930fadb14db307243e09ce9eba08f4b23c9cc7d4f31bcec0407f7f4dcda6d85759924bc5919245495e94234d79847b6c539c420c9f2d91468ea03f7a1e315a7e5d38d23d8f08c7b6aeb0e1ee02638c70c6bfda6a1c7a2f1bf5f5beedb550cf23e0adc702bdff2ba6dcefcc0f92a99e47c46e35ae3531183235d74f34db85be9f9183443edee121776c63c55d441f3f287bdae59dec9bbda7e55e1a7964d29123b3a51cc9cf98d56c74c823dc656b6c4b7bfa2616ec33e3af9947666cd0352e63ad9bec7d679c13b1a3a20eca6c6394a7fce8966c79648ebd6e352a5bd7fbd9bdcd7f03968ff46c21a685e5dafc08b3f47f1b6bc2c5390d05df2cc0d2a646de6b9f7bd165627c5254f0b01d162aeb023ae591dc1bcc236a24786c1a9531fb231d38f21379847d62ef2b062c5f1dd83d8fd4d633fdd63c3263ddb3c899311a95cba9dada960fda9ae995c4cc2345bcded5dbe010a7bdaefe161eaf6958cd672a704e4059af55e2ee6495685171afc4f227cddf897eb4d38fce81728ce2ba218fbc5bd6d6c23ca25aee9a4796b7b57e228f409b60a2658b5518d29e4768dcebc7aa1ce99847f27bfda65fd95eefda68147957bd7dc52e70f5f3caec28fc33f2088e6d4c70fe50692941db6ba57706a1e7e01a71fd00e3b2de1fc17154ee75b70d76d7748c23f7e68abf3ad6bb32a4368e9073ef633edba4ce13e5b2bbf469b9caaa1c1a3f68f8df669e3f8f40de1d748e9eb6b3daf2c8ec59f3c80cf2c04a6f10c3b3327260f9e62d737e2e7f94d290473ca36d3f5da9c74ef3155a8f86dd58f348fe57c79a28ecae19d78f73ab7caae0bdbb1823562aae293f81e55a1e59eea5d667ff9de35a2be6119c5ffcc9f6858d23b63cf24cfd116de6ae1b3ac4c45c45421c1107d047ff697ef0e63c32d4319347ebeedee6f9a258c9b2e8b74fc9b2d1becfe7383abe878bd71f415f5a4538ce6440af61ca770c5677ebadabf944cb2be291fa23b87646cd0a4bf248de67c23ebb9a9d5ea53f029edcfc22435eb73f72ba4adb255f5156bcc159fa7691738407fcb4ad1f26f649da6ac19a473ce8471b3d59517b0fa2152727e6f57cafc8039fb98ae53cc374d823a2b09ac7e86b05dfb95f8fd5389c9e47c67c0ccc6efd9d7fe6bfe92ff57b9040cb7b0a83967ba9f547ba8f6bfde63c224f9b5684cb99e43c13f93ebb20e2526c8b5b3163ef2deb275fb53fd27de417cb7d347dcff77b1169c31acb7c86286117f23117b1c7c00bf90475712b368c759bd63cc27dce6abdd9e90afe7ab244f222a2af916556ee5252c57176ddd16a7efdc8cc16f9f853bee258c908589e7c4bab0c71a561f59bbea1f560b4e61572e6a458fd3aa7b3708d6231e7afcc8f9435b1b43f82e35a5a7b50262f9f477884ef99d7b1c1e59abae64715f07c5b5d1f6b72e4c5c7b536cd2bdbd0218cfe48fe268db4f6b2d8941da9eb7d4d61c615b63c82b37207b5c8dcb2d789e1ad9a2b76cae85bac2c51db5a05fa9a7747303922b8de6b28e747aa5e43552ee404fb6adf8e52f57f16f339f479d8ee2366b587ca97495bcd3d5f1e81e79c59b0b19fef62c0ad2b742a9ee8ef11bf4e7fa45ce3be428fa4f67627be055c5bef997f9fd02851732d1819c99a47f231028ccc5a6c667efded74abb727c57af3450ec1590cf4cb5caf8518623fba8c2c83f74f467f3dcf239ff31e00d7e73c29935c6b6b72cf4a9eb5235cd58cfe13d93e6cb780f7a88fab4d5e238fe088afc612197367f97abb368ebc601e29e6f9ec3bbd587dbfab8d6a4da03d70af9794cfb9d863842ac67a2dfb3cfb19ee02a83e696a33ac2f8ff810d1c7c675f9e77ef5f6809963e8dcf74b77822b19a2f6c6f36ce115b13b30b25efe77ededa655a4ca237adbf070f935ddd7a270134fbf2d8f480333100b3b8cdff3c878fbe375fb23f9ce289d5626b22b5967430691de78ff8cc79d564832adee2cf3ec059ae7d56af34536c9f7c3695d37c2370d7c507b68bd8ce61897d5b64b89e96df6a36916a1783a7b1a522b16146b28af2abbbae569d79d88f909b4dab6f801f83f1698d7681c4d59afd5298f54ebb5142637e591bc5fad3fd9df9747a057ae63fd7c79fce4df8539d3f67afd91b2bd952e5f9b0a3dcada0c21dc7fb99f8b8af6a50c91a7626e6660dbbadfa247322fd69b1b330780e68d3af220afbd65377a0babd2ca379668de5ae38f82fa6d76cd2c11977f166b556ed2380b5874cbbc07fdf075e338fd3e64816cecfb816d299ea0dc48d9170f7764adec7e36eee87009ce3acf8fe09946ecfb8d79c478a350b4ee300d3dfc4b6865fdc4b8d6b3add75abc53ffb5bdc5250e8cb72789bba7c811e35b316eab037953e7076f58af55d4c79c7dabc5fb027fec818d58007d964d908f62281e21c398a3bd2556957d25b43ca2f324971ca79fd835d87373cb80de00caf1cdbc54e5277577069733a5afac9e9defc53be6537627c7fc2dc82658df130298f1036c6f2bfbeba91973b3b62ea0431ec17b5cacd72a3db1ce8f20e29e298f00fb8ecd272d1eec7b488b3d7129cb1d3e5b39f2bc7984d9de942fd7b9bbecc0f2565bc42ee03e6d2357ef30c2b9ca5bb7a537e3fa88324fe58578908b5d4e6b5eb0af758e94efff1933763a02b7f98eb6b7e2c4f8a4581f942b868bd1d4da7c432dafec14a82dedebf3710b9e5e9733f4d558dca3d65756a3ffb66243fda9e79df267cad5f55a1df388d21f51aeb2b7b59e378fb0b57a6c95eff839a0e11bc4d78049f689df00e2371a9151e3c8f3f64758cbfe2c58d22d5896f26b2e6cce13b65bec035cf39a8df3ccc32d6b81b106cfc48c27622bb723aec5a0b656be566fe0e1419d23d533bc2a56c9d7d1af23ad7e061d992e566359d6d1d6f16a1e51bfd7cf1bf32ffa281477c5b1364fa2b2bb9e29eafe6a25895d258fac34ae557b7f64d232cffe6cfd11e8a199efa65f6848a8cb528e3c731eb1ef11d3eeb315d5b21ac584dec59966abd9a2adec452438b571a49a2948e5b5864d730d879907d4bfa7eaa8841697cd76933adf68678bd913f9a0bed152d8f6b85fbcf76eb6106d1eaaedbcda688058abfa23fa7d2fe1489147f4f25fa13f0257268dcfbd644c898196f35eae3f62e5888e5f5b8caf5d213ea86fefd7f7a85851a8a6ae6d1ca94a897858ac73b7f49a2d785c206f4f9fa9d1e6ad156e28ef00eaf8d559a29400579cd8560b93b7fc519bc39b689f3bc69dd4bdc663c22b5a86473f313f32af95ffe27984deac6fdc577819ce1a38f22a796455447f5b8cdf152b07c35fb76bcf236a5ccc67fec45441511dd3667f659cef6ba532c4e88f2879095a485e2d9adbb24059fa541cb7cc14e7bba89c14bbcb993cb0e71123c300c28f68ec5719875b615c0b30d0a9adf59c79a488a1c7c6ca929fc0dcabf6475645f2446c993b5080b0dab8d7cab5d09647aa72f27da33695fdb1279a685c610fe209e2af678ec72bfd1105a5f8fec81c62ffbd05afb55e0ebb21bc2ddb7521cf57b86f96bd5d576fe71577c4eea147e396b339abe711f460aecd8fecb4aed77ab6fe48511761cbfedb1611fbe65be1af9747e46cb5bd8ad93b96d9e680e03b67b59dc1d9d4fca62d8f54a8a3f83c676f8b1d44ecadfc09e0729307e59e7c363b96f74710d560fd49d99da4d6b701e67980d7e1f2d52455eecbb39fa7ac2f34db87aa0ff9ee909bec9cd67869b656ca235c5dafb5a89b17ef8f28deb8f2aa693f54831f67f29c7f7fbdf55accdcb3e1147768e8d25ebc90f772ade93da4226a26f65d588d3a3861037629cd3397e611f5e903860680a42716884fec9efaa63833fd490cd937dc3dd56b8af296fe08e591b38225037104b637f35d4ad8436e9bddc0df01587ecbced9d562b56a1b4a156f23dc37710e4c71c1ce0dfecf85942dc03a9401d6f91e7b8b7bdf55ab7d0d7f8ff83ebb867bbd2681365cebfae7a23f12a857c035fb4d35c2bef2ab85b05d332ae34cbc7286bcabc76df1453f431affbb02942279d6f8bf231032d6e559de82c5377baf349f8c5d1fc581b852453e9afef03bfd0cf3ff0dc2ddb0f0084be4532ef44e2d0ff4eb58528c80ccf8391b36ed8c2c25e4080977d8828b02377371c9b6ec76e48c7d11a7ec28dfc30acfbc32e4b83347caf5812e4f717579b1d2bc5867eeb623d89247f02f35fa7fbc5357b083cd908762422db7050a3b72a414bf5c1baf4ab16e7e5eb60aad399a22107992ef581b75d9e108e7fc8f68176e3e20ee75f0b2cd87df708638668eb8955bfc417cc7bde2012f725b0cf2772868ff5b9b2d7b5be0f77bdc54f242635f99c313e0fa0cbc8e20da6ff06fb9efb4c6bd3b22f2ddc5c483ccd8aedc96dbfc563cb0b9bce181adccfa3d74fdffd96d36d4bb6dbe4ecb2393b20d65f6ebeb35d79519b612dbbc6d7e8efad50bad4b898bab9a6db7d56bdd5eb3be4a5d14e2636ecd63836507e0d53cfe7db2bcd4d59edd73d9e9ce91fa5fddf083a2bee991ff1cea4fa89badd56a457d06af85826e9e3ea767bf86ad5e72e9ca919f15cbb8562d8ff4f2dcd2d7f6afc8f373c4981f9994fd915e7af933e485f34839e3f1f0eb967be9e565e425f288f17e789f477af9a3e445f288f93e469f477af983e405f3c8a4ef8ff4f227ca0be791be3fd2cb1f272f9a4776fa3cd2cb9f277d1ee9a5977679a53cb2641ff65e7af9bf237d1ee9a5977679913ce2f579a4973f57fa3cd24b2fedd2f7477ae9a55d5e228f8823fe81dd68d2f17f1fe9a597d79797e98f546fffe56f037afd4aed5efe247991fe48ff9e4f2f7fb0fcfd3ffffed7ff02f4bd0fa9</data>
|
|
</image>
|
|
</images>
|
|
<connections>
|
|
<connection>
|
|
<sender>mbrbox</sender>
|
|
<signal>textChanged(const QString&)</signal>
|
|
<receiver>setBootableCheckbox</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>bootrecover</sender>
|
|
<signal>selected(const QString&)</signal>
|
|
<receiver>wizardScript</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>installlog</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>ScriptObject7</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>mbrbox</sender>
|
|
<signal>widgetTextChanged(const QString&)</signal>
|
|
<receiver>setBootableCheckbox</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>bootableBox</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>scanbootloader</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>NextBox</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>wizardScript</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>devicesbox</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>scanDevices</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>devicesbox</sender>
|
|
<signal>selectionChanged()</signal>
|
|
<receiver>setlabel</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>NextBox</sender>
|
|
<signal>stateChanged(int)</signal>
|
|
<receiver>wizardScript</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>mbrbox</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>setBootableCheckbox</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>installlog</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>launchinstall</receiver>
|
|
<slot>execute()</slot>
|
|
</connection>
|
|
<connection>
|
|
<sender>installlog</sender>
|
|
<signal>widgetOpened()</signal>
|
|
<receiver>launchinstall</receiver>
|
|
<slot>adjustSize()</slot>
|
|
</connection>
|
|
</connections>
|
|
<tabstops>
|
|
<tabstop>devicesbox</tabstop>
|
|
</tabstops>
|
|
<layoutdefaults spacing="6" margin="11"/>
|
|
</UI>
|