# Form implementation generated from reading ui file 'TrimSPGUI.ui'
#
# Created: Thu Aug 11 13:41:48 2011
# by: The PerlQt User Interface Compiler (puic)
#
# WARNING! All changes made in this file will be lost!
use strict;
use utf8;
package TrimSPGUI;
use Qt;
use Qt::isa qw(Qt::MainWindow);
use Qt::slots
ToggleScanSingle => [],
PrepLayers => [],
ProjSmartDefaults => [],
OpenHelpWindow => [],
CollectValues => [],
CreateInpFile => [],
StartSequenceOne => [],
DirectoryBrowse => [],
ConfirmQuit => [],
PlotProfiles => [],
PlotFraction => [],
OpenAboutWindow => [],
OpenFile => [],
SaveFile => [],
SaveFileAs => [];
use Qt::attributes qw(
tabs
LayersTab
groupBox1
textLabel1_4
NL
textLabel2_4
textLabel3
textLabel4
BoxL1
L1Comp
L1rho
L1d
BoxL2
L2Comp
L2rho
L2d
BoxL3
L3Comp
L3rho
L3d
BoxL4
L4Comp
L4rho
L4d
BoxL5
L5Comp
L5rho
L5d
BoxL6
L6Comp
L6rho
L6d
BoxL7
L7Comp
L7rho
L7d
ProjParam
textLabel1
ProjType
NLabel
z0Label
dzLabel
ELabel
SigELabel
AlbleLabel
SigAngleLabel
SeedLabel
NProj
z0
dz
E
SigE
Angle
SigAngle
Seed
groupBox15
textLabelFN
FNPre
textLabelPath
Path
Browse
Start
Quit
AddParTab
AddParam
textLabelEF
textLabelSHEATH
textLabelERC
textLabelRD
KDEE2
KDEE1
textLabelIRL
textLabelIPOTR
textLabelIPOT
textLabelKDEE2
textLabelKDEE1
textLabelKK0R
textLabelCA
textLabelEmpty
lineEditEmpty
KK0R
KK0
textLabelKK0
EF
SHEATH
ERC
RD
CA
ESB
IPOT
IPOTR
IRL
textLabelESB
ScansTab
ScanSeq
ScanMode
textLabel2
SFrom
textLabel2_2
STo
textLabel2_2_2_2
SStep
ScanList
dzListLabel
LoopRadio
ListRadio
ScanListdz
buttonGroup2
SigERadio
NProjRadio
dRadio
ScandL
SigAngleRadio
AngleRadio
ERadio
Progress
MenuBar
File
Plot
helpMenu
fileNewAction
fileOpenAction
fileSaveAction
fileSaveAsAction
fileChangeDirAction
fileQuitAction
editUndoAction
editRedoAction
editCutAction
editCopyAction
editPasteAction
plotProfilesAction
helpContentsAction
helpIndexAction
helpAboutAction
plotFractionsAction
fileStartAction
helpTmpAction
fileLoadAction
);
our $image0;
our $image0_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1b,
0x08, 0x06, 0x00, 0x00, 0x00, 0x6b, 0xfd, 0x3f, 0x11, 0x00, 0x00, 0x03,
0x39, 0x49, 0x44, 0x41, 0x54, 0x48, 0x89, 0xbd, 0xd4, 0x5f, 0x68, 0x5b,
0x75, 0x14, 0xc0, 0xf1, 0xef, 0xef, 0xf6, 0xa6, 0x59, 0xb2, 0xfe, 0x09,
0x5d, 0x6b, 0x66, 0x4b, 0xd9, 0x8b, 0xee, 0x21, 0x73, 0xda, 0xce, 0x10,
0x43, 0x28, 0x32, 0x3b, 0x50, 0x54, 0x58, 0x27, 0xb2, 0x39, 0x36, 0xf0,
0x1f, 0x8e, 0x29, 0x54, 0x61, 0x0f, 0x63, 0x0f, 0x8a, 0x7b, 0x19, 0x58,
0x11, 0xdc, 0x50, 0xc4, 0xa0, 0x6f, 0x5a, 0x2a, 0x44, 0xf0, 0xa1, 0x58,
0x85, 0x35, 0xb2, 0xd5, 0x3e, 0x88, 0x75, 0xd8, 0x5a, 0xc7, 0x36, 0x71,
0x76, 0x23, 0xe9, 0xec, 0x52, 0xd7, 0x86, 0xa4, 0xf7, 0x26, 0xb9, 0xe9,
0xcd, 0x3d, 0x3e, 0x6c, 0x45, 0x47, 0xdb, 0xad, 0x7f, 0x92, 0x9d, 0xc7,
0x1f, 0xe7, 0x77, 0x3e, 0xe7, 0x77, 0xee, 0xef, 0x77, 0xd5, 0xf9, 0x83,
0xdb, 0x23, 0x2d, 0xfd, 0x7f, 0x3c, 0x99, 0x7b, 0xa9, 0x4d, 0x78, 0x6d,
0x07, 0x34, 0x79, 0xa9, 0x74, 0x18, 0x46, 0xd1, 0x52, 0x89, 0xe1, 0x57,
0x8e, 0xb4, 0x5e, 0x9b, 0xfb, 0x90, 0x5f, 0xae, 0xc1, 0xe8, 0x75, 0xc8,
0xdb, 0x10, 0x68, 0x84, 0x60, 0x33, 0x84, 0x5a, 0xe0, 0x61, 0x3f, 0xe8,
0x5a, 0x59, 0xe1, 0x6c, 0xd6, 0x9a, 0xd3, 0xff, 0x76, 0x85, 0x21, 0xd2,
0x08, 0x91, 0x5b, 0xab, 0x25, 0x07, 0x2e, 0xde, 0x40, 0xfb, 0x75, 0x8a,
0xba, 0x93, 0x13, 0xb8, 0xff, 0xfc, 0x16, 0x97, 0xcf, 0x20, 0xff, 0xd0,
0xfd, 0x98, 0x6d, 0x6d, 0x58, 0xed, 0xed, 0x48, 0x5d, 0xdd, 0xba, 0x60,
0xc3, 0xc8, 0xa1, 0x3b, 0xce, 0x76, 0x1c, 0xa7, 0xf9, 0xbf, 0x55, 0x05,
0x04, 0xc0, 0x09, 0xc0, 0xec, 0xc2, 0x52, 0x2e, 0x87, 0x7b, 0x7c, 0x1c,
0xf7, 0xe8, 0x28, 0x1b, 0xbf, 0xe8, 0xa3, 0x2a, 0x93, 0xa1, 0xb8, 0x6d,
0x1b, 0xf9, 0x8e, 0x0e, 0x0a, 0x91, 0x08, 0xe2, 0xf1, 0xac, 0x0a, 0x76,
0x1c, 0x03, 0x7d, 0x25, 0x89, 0xe2, 0xf5, 0x52, 0x08, 0x87, 0x29, 0x84,
0xc3, 0x37, 0x1b, 0xb1, 0x6d, 0xaa, 0xc7, 0xc6, 0xf0, 0x0c, 0x0d, 0x51,
0x1f, 0x8d, 0x62, 0xb7, 0xb6, 0x92, 0x3e, 0x76, 0x8c, 0x92, 0xdf, 0xbf,
0x62, 0x7c, 0x45, 0xf0, 0xa2, 0x46, 0x74, 0x1d, 0x2b, 0x18, 0xc4, 0x0a,
0x06, 0x01, 0x70, 0x8f, 0x8c, 0x70, 0xdf, 0xa1, 0x43, 0xa4, 0x7a, 0x7b,
0x71, 0x6e, 0x7d, 0x06, 0x65, 0x9a, 0x78, 0xe3, 0x71, 0xcc, 0xae, 0xae,
0x25, 0x6b, 0x94, 0xe5, 0xd6, 0x58, 0xa1, 0x10, 0xc6, 0xde, 0xbd, 0x78,
0xe2, 0x71, 0x00, 0x86, 0x87, 0x8f, 0x52, 0xab, 0x9f, 0xc4, 0x7c, 0x76,
0xd7, 0xb2, 0x7b, 0xca, 0x76, 0x5d, 0xb5, 0x74, 0x1a, 0xa9, 0xa9, 0x01,
0xe0, 0xf2, 0xf9, 0x14, 0x5f, 0xc5, 0xcf, 0x52, 0x52, 0xb2, 0x6c, 0xfe,
0x9a, 0x46, 0xbd, 0xa8, 0x48, 0x32, 0x89, 0xe7, 0xcc, 0x19, 0xb2, 0x87,
0x0f, 0x03, 0xf0, 0xc6, 0xa3, 0xdd, 0x14, 0x42, 0xa1, 0x3b, 0xef, 0x59,
0x0f, 0xa8, 0x65, 0x32, 0xd4, 0xf6, 0xf5, 0xe1, 0x39, 0x7d, 0x9a, 0x99,
0x9e, 0x1e, 0xc4, 0xed, 0x06, 0xb8, 0x2b, 0xba, 0x66, 0x58, 0x9f, 0x9c,
0xa4, 0x2e, 0x1a, 0xa5, 0xfa, 0xd2, 0x25, 0x8c, 0xfd, 0xfb, 0x49, 0xc5,
0x62, 0x88, 0xcb, 0xb5, 0xba, 0x1a, 0xab, 0x4a, 0x4e, 0x26, 0xf1, 0x9d,
0x3a, 0x45, 0xd5, 0xd4, 0x14, 0x99, 0xee, 0x6e, 0x66, 0x4f, 0x9c, 0x58,
0x15, 0x76, 0x5b, 0xad, 0xfe, 0x9f, 0x5d, 0xd4, 0x6f, 0xba, 0x73, 0xb7,
0xd5, 0x05, 0x93, 0xc7, 0x07, 0xde, 0xa7, 0xe5, 0xc2, 0xef, 0xc4, 0x76,
0xbf, 0x4d, 0xaa, 0x2b, 0x08, 0x36, 0xf0, 0xe3, 0xda, 0x50, 0x2b, 0xef,
0x42, 0x2f, 0x28, 0x3f, 0x6e, 0xd5, 0xbc, 0x6c, 0xd2, 0xd6, 0xb1, 0x01,
0x76, 0x7e, 0x73, 0x9c, 0x73, 0x9d, 0xaf, 0x33, 0xf0, 0xce, 0x67, 0x88,
0xb6, 0xfe, 0x87, 0x60, 0xa9, 0xec, 0xf2, 0xa3, 0xae, 0x2a, 0xcd, 0xf3,
0x54, 0xef, 0x11, 0x6a, 0xb2, 0xd3, 0xf4, 0x1e, 0xfd, 0x9e, 0x5c, 0x6d,
0xd3, 0xba, 0xc1, 0xff, 0xc7, 0x92, 0xed, 0x6f, 0x30, 0xd3, 0x1c, 0xfc,
0xe0, 0x19, 0x66, 0x36, 0x6f, 0x25, 0xf6, 0x66, 0xac, 0xec, 0x28, 0x2c,
0x71, 0xb9, 0x3c, 0xc6, 0x0c, 0x2f, 0x7c, 0xf4, 0x3c, 0x43, 0x7b, 0x8e,
0x73, 0x25, 0xf0, 0x44, 0xd9, 0xc1, 0x85, 0xb8, 0xed, 0xc4, 0x55, 0x76,
0x91, 0x7d, 0x1f, 0xef, 0x63, 0x68, 0xcf, 0xbb, 0x15, 0x45, 0x17, 0xc1,
0x4f, 0x7f, 0xf9, 0x16, 0xbf, 0x75, 0xbc, 0xc8, 0x95, 0x40, 0x67, 0x45,
0x51, 0x00, 0xdd, 0x74, 0x7d, 0x82, 0xe6, 0xaa, 0xe7, 0xc1, 0x73, 0x13,
0xb8, 0xed, 0x9f, 0x18, 0xee, 0xdc, 0x02, 0xbc, 0x57, 0x51, 0xb4, 0x68,
0x5b, 0xe8, 0x1b, 0x9b, 0x2c, 0xea, 0x1b, 0xf3, 0xec, 0xee, 0x1f, 0xa0,
0xaf, 0xe7, 0x00, 0xb5, 0x0d, 0x56, 0x45, 0x51, 0x00, 0x2b, 0x67, 0xdd,
0x1c, 0x75, 0xe0, 0xec, 0x05, 0x2e, 0x3f, 0xf6, 0x00, 0x46, 0x43, 0x4d,
0xc5, 0xd1, 0x85, 0xd0, 0x00, 0x76, 0x7c, 0x37, 0xca, 0xc8, 0x73, 0x77,
0xff, 0xb1, 0x97, 0x15, 0xf6, 0x4f, 0x4c, 0x23, 0x4a, 0xdd, 0xd3, 0xd3,
0x02, 0x68, 0xbb, 0x3e, 0xff, 0x81, 0xab, 0x8f, 0x6c, 0xb9, 0xa7, 0x28,
0x80, 0xde, 0xfe, 0x57, 0xca, 0xfb, 0xf5, 0xab, 0xe5, 0x79, 0xb3, 0xf3,
0x85, 0xf9, 0x79, 0xa7, 0xe4, 0x4c, 0x8a, 0xc8, 0x94, 0x38, 0x72, 0x43,
0x1c, 0x99, 0x11, 0x11, 0x43, 0x1c, 0x99, 0x13, 0x91, 0x02, 0x80, 0x38,
0x62, 0x14, 0xf3, 0xc5, 0xa2, 0xfe, 0xe9, 0xcb, 0x3b, 0x07, 0xff, 0xd9,
0xec, 0x73, 0xe7, 0xd3, 0xa6, 0x4f, 0x69, 0xca, 0xa7, 0x94, 0xda, 0xa4,
0x34, 0xe5, 0x03, 0x7c, 0x4a, 0xa9, 0x06, 0x14, 0x1b, 0x10, 0x4c, 0x41,
0x4c, 0x04, 0x43, 0x44, 0x66, 0x45, 0x24, 0x2d, 0x25, 0x99, 0x2e, 0xd9,
0xa5, 0x84, 0x6d, 0xd9, 0x89, 0x5c, 0x36, 0x97, 0x4c, 0x8c, 0x27, 0xae,
0x0e, 0x46, 0x07, 0xaf, 0x03, 0xa5, 0x95, 0x34, 0xf9, 0x2f, 0x1b, 0xe8,
0x45, 0x6e, 0x82, 0xce, 0x25, 0x35, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image1;
our $image1_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04,
0x7c, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0x85, 0x95, 0xdb, 0x6f, 0x54,
0x55, 0x14, 0x87, 0xbf, 0xbd, 0xcf, 0x65, 0x6e, 0x9d, 0xe9, 0x94, 0x16,
0x4b, 0x11, 0x86, 0x02, 0x31, 0x84, 0x54, 0xa0, 0x4e, 0x45, 0x83, 0x89,
0x97, 0x60, 0xd4, 0x54, 0xa2, 0x89, 0x68, 0x8c, 0xb7, 0xf8, 0x56, 0x02,
0x0f, 0x24, 0xbc, 0x10, 0xff, 0x00, 0x25, 0xfd, 0x03, 0xd4, 0xf4, 0xe1,
0x28, 0x0f, 0xbe, 0xf4, 0x41, 0x1e, 0x4d, 0x30, 0x62, 0x7c, 0x21, 0x48,
0x08, 0x65, 0x48, 0xad, 0x88, 0x21, 0xb1, 0x40, 0xa9, 0xd2, 0xce, 0xb4,
0xd3, 0x99, 0x33, 0xcc, 0xe5, 0xdc, 0xf6, 0xf6, 0x61, 0xda, 0x42, 0x4d,
0x8b, 0x27, 0x59, 0x59, 0x67, 0x9f, 0xbd, 0xd7, 0x77, 0x7e, 0x6b, 0x65,
0x65, 0x6d, 0xc1, 0x63, 0x9e, 0xfc, 0x89, 0x49, 0x0b, 0xf4, 0x66, 0x50,
0x7d, 0x68, 0x9d, 0x04, 0x0d, 0xe8, 0x26, 0x5a, 0xcd, 0x59, 0xca, 0x2d,
0x5e, 0x71, 0x5e, 0xf3, 0x37, 0x8a, 0x15, 0x8f, 0x81, 0x1e, 0x02, 0xde,
0x07, 0x3d, 0x88, 0x20, 0x87, 0xb0, 0x52, 0x00, 0x28, 0xaf, 0x81, 0x8e,
0xee, 0x01, 0x93, 0x42, 0x85, 0xe7, 0xf2, 0xfa, 0xec, 0x25, 0xc7, 0x71,
0xa2, 0xff, 0x05, 0xe7, 0x4f, 0x4c, 0xee, 0x06, 0x71, 0x0a, 0xc3, 0xfa,
0xa8, 0x23, 0x95, 0xcc, 0x6e, 0xe9, 0xc9, 0xc8, 0xde, 0xee, 0x38, 0x7b,
0x7a, 0x6a, 0x24, 0xac, 0x88, 0xbf, 0xca, 0x1d, 0xdc, 0x29, 0x2a, 0x16,
0x4a, 0x25, 0x55, 0xae, 0x36, 0x9b, 0x2a, 0x6c, 0x5e, 0xb2, 0xf4, 0x83,
0x2f, 0xf6, 0xeb, 0xf1, 0xcb, 0x8e, 0xe3, 0x84, 0xeb, 0x82, 0xf3, 0x27,
0x26, 0x77, 0x80, 0x18, 0xc3, 0xce, 0x0c, 0x0f, 0xee, 0x4a, 0xf0, 0xe6,
0xc1, 0x34, 0xfb, 0xb6, 0x6b, 0x9e, 0xc8, 0x5a, 0x18, 0xb2, 0x7d, 0x54,
0x03, 0x4b, 0xb5, 0x90, 0xe9, 0xb9, 0x80, 0xf3, 0x85, 0x16, 0x17, 0xa7,
0x96, 0xf0, 0x9b, 0xee, 0xcd, 0x98, 0x2a, 0x7f, 0xf6, 0xb4, 0x3e, 0x77,
0x7e, 0x05, 0x6e, 0xfc, 0x47, 0xe9, 0xd7, 0x1d, 0x99, 0xcc, 0x1b, 0x6f,
0x1f, 0xea, 0x14, 0x9f, 0xbe, 0x92, 0xe0, 0xa9, 0x3e, 0x83, 0x98, 0x65,
0xf0, 0xcd, 0x4f, 0x15, 0xf6, 0x6e, 0x8f, 0xe1, 0x87, 0x1a, 0x3f, 0xd4,
0x18, 0x52, 0xd0, 0x93, 0x31, 0xd9, 0xb7, 0xc3, 0xa2, 0xb7, 0xcb, 0xe2,
0x76, 0x51, 0xf7, 0xb8, 0x2d, 0xf1, 0xec, 0xa2, 0xde, 0x59, 0x18, 0x1e,
0x4a, 0xcc, 0x16, 0x0a, 0x05, 0xbd, 0x0a, 0xee, 0x3b, 0x78, 0x7c, 0x14,
0x3b, 0xfd, 0xc1, 0x91, 0xe7, 0xb2, 0xe2, 0xad, 0x21, 0x0b, 0xdb, 0x92,
0xf8, 0xa1, 0xc6, 0x0b, 0x34, 0xef, 0xbc, 0x90, 0xe5, 0xab, 0x1f, 0x16,
0xd9, 0xb5, 0xc5, 0xc2, 0xf3, 0x15, 0x5e, 0xa0, 0xf0, 0x42, 0x8d, 0xd6,
0x9a, 0xad, 0x9b, 0x2c, 0xd2, 0x49, 0x4b, 0xfc, 0x31, 0x1b, 0x75, 0xb7,
0x7c, 0x6d, 0x6d, 0xe5, 0xfa, 0x85, 0xa1, 0xa1, 0xa1, 0xc0, 0x68, 0xab,
0xbd, 0x76, 0x48, 0x18, 0xb1, 0xd1, 0x03, 0xbb, 0x33, 0xf1, 0xe1, 0xbc,
0x85, 0x94, 0xe0, 0x07, 0x8a, 0x56, 0xd0, 0x86, 0x6c, 0xeb, 0x89, 0xf1,
0xe2, 0x40, 0x8a, 0x93, 0xdf, 0x69, 0x9e, 0xc9, 0x05, 0x78, 0x81, 0x5e,
0xde, 0x6f, 0x67, 0xb0, 0xa9, 0x43, 0x52, 0xf7, 0x4d, 0x66, 0x4a, 0x41,
0x7f, 0x29, 0xda, 0x3e, 0xd9, 0xcb, 0xcd, 0xdb, 0x46, 0xfe, 0xf8, 0x84,
0x05, 0x9c, 0x4a, 0xa7, 0xd3, 0x2f, 0xbd, 0x3a, 0x98, 0x12, 0x5d, 0x1d,
0xe0, 0x05, 0x9a, 0x56, 0xd0, 0x56, 0xeb, 0x05, 0x9a, 0xdd, 0x5b, 0xe3,
0x00, 0xbc, 0xf7, 0xbc, 0xc1, 0xe9, 0x71, 0xc1, 0xde, 0x2d, 0xfe, 0x9a,
0xfd, 0x56, 0xa0, 0xb0, 0x0d, 0x9f, 0xe9, 0x79, 0x65, 0xd7, 0x5b, 0x61,
0x60, 0x84, 0xd5, 0x8b, 0x26, 0xb0, 0x19, 0x18, 0xcc, 0x64, 0x3a, 0x65,
0x36, 0x1e, 0xe2, 0xd6, 0xe5, 0x46, 0x1d, 0x08, 0xc0, 0xf8, 0x49, 0x9b,
0x0f, 0xbf, 0x84, 0xa3, 0x07, 0x5c, 0xa2, 0x48, 0x33, 0x5b, 0x8e, 0x98,
0x9a, 0xcb, 0xe2, 0x36, 0x93, 0xd4, 0xe8, 0x90, 0x8a, 0xca, 0x80, 0x2b,
0x72, 0x39, 0x13, 0xe8, 0x43, 0xc8, 0x5c, 0x4f, 0x5a, 0xd0, 0xf4, 0x15,
0x4d, 0x5f, 0xa1, 0x97, 0xdb, 0x65, 0xc5, 0xaf, 0x0f, 0xcf, 0xb0, 0xbf,
0xb7, 0xc2, 0xe4, 0xdf, 0x29, 0x66, 0xdd, 0x76, 0x46, 0x98, 0x26, 0x08,
0xa3, 0x0f, 0xc3, 0xce, 0x49, 0x20, 0x89, 0x8c, 0xa5, 0x92, 0x56, 0x40,
0xa5, 0xae, 0x70, 0x1b, 0x0a, 0xcf, 0xd7, 0xb4, 0x7c, 0xbd, 0xea, 0x37,
0x52, 0xfe, 0xdb, 0x7c, 0x96, 0x52, 0x23, 0xb9, 0xfa, 0x4d, 0x08, 0x01,
0x32, 0x96, 0x10, 0x90, 0x5e, 0xcd, 0xdb, 0x6d, 0x59, 0xcc, 0x57, 0x25,
0x45, 0x57, 0x52, 0x6d, 0x4a, 0x2a, 0x4d, 0x83, 0x7b, 0x95, 0x18, 0x57,
0x67, 0x52, 0x8f, 0x2d, 0x8b, 0x1f, 0x19, 0x08, 0x41, 0xdb, 0x56, 0x7e,
0x80, 0x92, 0x26, 0xe8, 0x26, 0xca, 0x6b, 0xcc, 0xd7, 0x13, 0xd4, 0xa3,
0x78, 0x3b, 0x7f, 0x40, 0x23, 0xa8, 0xf9, 0x36, 0x7a, 0x7d, 0xc1, 0x00,
0xbc, 0x3e, 0xfa, 0xf0, 0x5d, 0x88, 0x76, 0x14, 0x51, 0xab, 0x25, 0x74,
0xe8, 0x99, 0x68, 0x35, 0x07, 0xdc, 0xab, 0x36, 0xd4, 0xce, 0x48, 0x24,
0xd6, 0x04, 0x6a, 0xe4, 0x86, 0xd3, 0xe4, 0xf0, 0x19, 0x08, 0x96, 0x27,
0x84, 0x69, 0x80, 0x04, 0x1e, 0x34, 0x3d, 0xd0, 0x51, 0x51, 0xaa, 0xfa,
0x9c, 0xb4, 0x94, 0x5b, 0x04, 0x26, 0xf1, 0xca, 0xca, 0x32, 0x34, 0xf6,
0x23, 0x16, 0x33, 0x22, 0xd6, 0x93, 0x7c, 0xf8, 0x0c, 0x80, 0x22, 0x69,
0x45, 0x24, 0xad, 0x88, 0xb8, 0x19, 0x61, 0x9b, 0x11, 0xc2, 0x5f, 0x54,
0x26, 0xad, 0x5b, 0x59, 0x7d, 0xf7, 0xbe, 0x79, 0xc5, 0x79, 0xcd, 0x1f,
0x3a, 0x76, 0xf9, 0x5c, 0xe4, 0x55, 0x3f, 0xb1, 0xa2, 0x44, 0x57, 0x57,
0xda, 0x5e, 0x23, 0x52, 0x69, 0x80, 0xcc, 0xea, 0x7a, 0x64, 0xac, 0xc6,
0xb6, 0x34, 0x08, 0xa1, 0x57, 0xcf, 0xb5, 0xe7, 0x87, 0x8f, 0x6a, 0x2d,
0xd5, 0x13, 0xd1, 0xfc, 0x85, 0x4e, 0x63, 0xa1, 0x6c, 0x02, 0xe4, 0xf5,
0xd9, 0x4b, 0xd7, 0xc2, 0x91, 0xef, 0x6b, 0x95, 0xd2, 0xb1, 0xfe, 0xee,
0x2e, 0x62, 0xa6, 0x78, 0xd8, 0x6f, 0x3c, 0x04, 0x9f, 0xfe, 0x76, 0x9e,
0xac, 0x0d, 0xda, 0x5e, 0xa9, 0x69, 0xfb, 0x8c, 0x17, 0x6a, 0x66, 0x2a,
0x4b, 0x28, 0xbf, 0xfa, 0xcb, 0x1e, 0xf9, 0xf3, 0xaf, 0x40, 0xcd, 0x00,
0x28, 0x14, 0x0a, 0x7a, 0x5b, 0xfe, 0xe3, 0x69, 0x2f, 0x60, 0xaf, 0x52,
0xd1, 0x8e, 0x27, 0xbb, 0x0d, 0x91, 0x8c, 0x09, 0x62, 0x96, 0x26, 0x66,
0x69, 0x5e, 0xde, 0x97, 0xe6, 0xf3, 0xf1, 0xfb, 0xc4, 0xcc, 0xf6, 0x3a,
0x6e, 0xb7, 0x7d, 0xcc, 0xd4, 0x08, 0x02, 0x6e, 0xcd, 0xb8, 0x6a, 0xb1,
0x5c, 0x9d, 0xe8, 0x8e, 0x6e, 0x8c, 0x65, 0xc5, 0x3f, 0x37, 0x56, 0xc1,
0x00, 0x47, 0xf2, 0xd6, 0xe2, 0xa2, 0xce, 0x4d, 0x54, 0x9b, 0xe6, 0x80,
0xdb, 0x08, 0xfb, 0xd3, 0x49, 0x8b, 0x4d, 0x69, 0x13, 0xdb, 0x92, 0x5c,
0xbe, 0x59, 0xc7, 0x36, 0xc5, 0x1a, 0xb3, 0x0c, 0x58, 0xa8, 0x06, 0x4c,
0x4d, 0x57, 0x99, 0x2b, 0xb9, 0x13, 0x9b, 0xc3, 0xeb, 0xa3, 0x39, 0x59,
0xb8, 0x0a, 0x2c, 0x38, 0x8e, 0x13, 0xad, 0x82, 0x0b, 0x85, 0x82, 0x1e,
0x1e, 0x4a, 0x96, 0x17, 0x75, 0xff, 0xf5, 0x6a, 0xd3, 0x48, 0x96, 0xaa,
0x41, 0x7f, 0xad, 0x11, 0xda, 0x71, 0x33, 0x14, 0xa9, 0x84, 0x89, 0x29,
0x25, 0x52, 0x80, 0xd6, 0x11, 0x8b, 0x4b, 0x75, 0x7e, 0xbf, 0xd3, 0x50,
0x7f, 0xce, 0xd4, 0x1e, 0x54, 0x2a, 0xee, 0x8f, 0xdd, 0xd1, 0x8d, 0xb1,
0x65, 0x68, 0xd1, 0x71, 0x9c, 0x00, 0xd6, 0x69, 0xa6, 0x91, 0x91, 0x11,
0x09, 0xa4, 0xa6, 0x78, 0xf7, 0x70, 0x28, 0x3b, 0x8e, 0x2a, 0xac, 0x01,
0x29, 0x45, 0x5f, 0x3a, 0x61, 0x24, 0x00, 0x6a, 0xcd, 0xa8, 0xa5, 0x22,
0x55, 0x34, 0x69, 0xdd, 0x8a, 0x47, 0xf3, 0x17, 0x96, 0x6b, 0x3a, 0x0f,
0x54, 0x36, 0xbc, 0x41, 0x1e, 0x81, 0x0b, 0xc0, 0x2e, 0x46, 0xfd, 0x59,
0x57, 0xe4, 0x72, 0x18, 0x76, 0x4e, 0x40, 0x5a, 0xa0, 0xa4, 0xd0, 0xa1,
0x27, 0x55, 0x7d, 0x2e, 0xab, 0xef, 0xde, 0xef, 0x34, 0x16, 0xca, 0x40,
0x0d, 0x68, 0x3a, 0x8e, 0xa3, 0x1e, 0x65, 0xfc, 0x0b, 0x65, 0xf3, 0x41,
0x6e, 0xc3, 0xc8, 0xf6, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
0x44, 0xae, 0x42, 0x60, 0x82;
our $image2;
our $image2_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04,
0x57, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xa5, 0x95, 0xcd, 0x4f, 0x54,
0x57, 0x18, 0xc6, 0x7f, 0xe7, 0x9c, 0x3b, 0x77, 0x60, 0x66, 0x98, 0x96,
0xf1, 0x62, 0x43, 0x05, 0x04, 0x43, 0x94, 0x88, 0x2c, 0x2c, 0x28, 0x92,
0x58, 0xa3, 0x12, 0x35, 0x36, 0x71, 0x61, 0xe2, 0x8a, 0x85, 0xd1, 0xa5,
0x0b, 0x57, 0xa6, 0x4b, 0x57, 0xea, 0xae, 0x24, 0xea, 0xc2, 0x85, 0x5b,
0x13, 0xfa, 0x07, 0x88, 0x64, 0xec, 0xc6, 0x84, 0xb8, 0x82, 0x51, 0x3a,
0x52, 0xc5, 0x54, 0x8b, 0x16, 0xac, 0x7c, 0x88, 0xc0, 0xcc, 0xbd, 0xcc,
0x17, 0x33, 0xe7, 0x74, 0x71, 0xef, 0x8c, 0xd8, 0x36, 0xdd, 0xf8, 0x26,
0x27, 0xe7, 0x4d, 0xee, 0xb9, 0xcf, 0x79, 0xce, 0xf3, 0x7e, 0x89, 0x1f,
0xa1, 0x25, 0xa4, 0xd4, 0xb5, 0x5d, 0x8e, 0x33, 0x64, 0x29, 0x65, 0xf3,
0x05, 0x56, 0xae, 0x54, 0x4a, 0xb3, 0x2b, 0x2b, 0x23, 0x9b, 0x95, 0xca,
0x55, 0x2b, 0xa4, 0xd4, 0xb5, 0x2b, 0x27, 0x4f, 0x5e, 0xc8, 0xe7, 0xf3,
0xac, 0xb8, 0x2e, 0x18, 0xf3, 0xd9, 0x61, 0x29, 0x04, 0x52, 0x4a, 0xa4,
0x10, 0xa8, 0x60, 0x97, 0xff, 0xdc, 0x03, 0x3f, 0x5a, 0x57, 0x67, 0x97,
0xe1, 0xc2, 0x4f, 0x0f, 0x1f, 0x62, 0x75, 0x38, 0xce, 0xd0, 0x46, 0x2e,
0xc7, 0xc2, 0xee, 0xdd, 0x24, 0x7a, 0x7b, 0x3f, 0x03, 0x15, 0xd5, 0x9f,
0x84, 0x40, 0x85, 0xc3, 0x08, 0x21, 0x10, 0xe5, 0x32, 0x52, 0x08, 0xdf,
0x0f, 0xbe, 0x55, 0xfd, 0x8d, 0xe7, 0xcf, 0x89, 0xa6, 0xd3, 0x74, 0x38,
0xce, 0x90, 0x65, 0x49, 0x69, 0xaf, 0xb8, 0x2e, 0x0d, 0x9d, 0x9d, 0xe8,
0x72, 0xf9, 0x33, 0xa6, 0xd1, 0x8e, 0x0e, 0xec, 0x8e, 0x0e, 0xc2, 0x4d,
0x4d, 0x44, 0x12, 0x09, 0x00, 0x36, 0x3e, 0x7e, 0x64, 0x63, 0x69, 0x89,
0xdc, 0xab, 0x57, 0xc4, 0xd6, 0xd7, 0x61, 0x0b, 0x70, 0xb8, 0xbd, 0x9d,
0x52, 0x2a, 0x85, 0x25, 0xa5, 0x6d, 0x19, 0xc0, 0x18, 0xc3, 0x66, 0x36,
0x8b, 0xde, 0xdc, 0x04, 0xc0, 0xaa, 0xaf, 0x67, 0xdb, 0x89, 0x13, 0x34,
0xf6, 0xf4, 0xfc, 0x4b, 0xc7, 0x98, 0xe3, 0x10, 0x73, 0x1c, 0xe8, 0xee,
0xe6, 0xcf, 0x89, 0x09, 0x54, 0x2a, 0x45, 0xbd, 0x31, 0x20, 0x25, 0xa2,
0x58, 0x44, 0x08, 0x81, 0x01, 0x2c, 0x8c, 0x01, 0x63, 0x28, 0x65, 0x32,
0xa8, 0x62, 0x11, 0x3b, 0x12, 0x61, 0xe7, 0xa5, 0x4b, 0xd4, 0x05, 0x0c,
0x7f, 0x7b, 0xf4, 0x88, 0x0f, 0xcf, 0x9e, 0x51, 0x59, 0x5a, 0x22, 0x1e,
0x0e, 0x63, 0x35, 0x37, 0x93, 0xe8, 0xe9, 0xa1, 0x7d, 0x60, 0x80, 0x9d,
0x07, 0x0f, 0xe2, 0xee, 0xda, 0xc5, 0xfb, 0xbb, 0x77, 0x69, 0xb2, 0x2c,
0xd8, 0xdc, 0x44, 0x00, 0x18, 0x83, 0xa5, 0x8d, 0x41, 0x1b, 0xc3, 0xea,
0xe4, 0x24, 0x89, 0x7d, 0xfb, 0xf8, 0xe6, 0xdc, 0x39, 0xea, 0x12, 0x09,
0x72, 0x99, 0x0c, 0xbf, 0x0c, 0x0f, 0xb3, 0xfd, 0xfd, 0x7b, 0x5a, 0x62,
0x31, 0x5f, 0xeb, 0x62, 0x11, 0xe9, 0xba, 0xc8, 0xd7, 0xaf, 0x79, 0x93,
0x4e, 0xd3, 0x3c, 0x34, 0x44, 0x83, 0xe3, 0xa0, 0x0e, 0x1f, 0x66, 0x33,
0x99, 0xc4, 0x36, 0x06, 0x03, 0x68, 0x63, 0x90, 0xc6, 0x18, 0x5f, 0x8a,
0x85, 0x05, 0x42, 0xd1, 0x28, 0x4e, 0x7f, 0x3f, 0x00, 0x63, 0x37, 0x6e,
0xd0, 0x3e, 0x3b, 0x4b, 0x63, 0xa5, 0x82, 0xf1, 0x3c, 0xbe, 0x3a, 0x79,
0x12, 0x75, 0xf4, 0x28, 0x85, 0x4c, 0x06, 0x3c, 0x0f, 0x7b, 0x7a, 0x9a,
0xcc, 0xbd, 0x7b, 0x00, 0x74, 0x1e, 0x39, 0xc2, 0xbb, 0xc6, 0x46, 0xc8,
0xe5, 0x10, 0x81, 0xb4, 0xb2, 0x9a, 0x5c, 0x4a, 0x29, 0x9a, 0x4e, 0x9d,
0x02, 0xe0, 0xd7, 0xfb, 0xf7, 0x89, 0xa7, 0xd3, 0x58, 0xf9, 0x3c, 0xc6,
0x75, 0xa9, 0x6f, 0x6f, 0xc7, 0x39, 0x7d, 0x9a, 0xb6, 0x33, 0x67, 0x7c,
0x00, 0xd7, 0x05, 0xcf, 0xc3, 0xa4, 0x52, 0xac, 0x8e, 0x8f, 0x03, 0x10,
0xef, 0xeb, 0x23, 0xb7, 0xb4, 0x84, 0x01, 0x0c, 0xf8, 0x8c, 0xa5, 0x10,
0x58, 0x4a, 0x11, 0xef, 0xee, 0x06, 0x60, 0x76, 0x74, 0x94, 0x6d, 0xd9,
0x2c, 0x3a, 0x9b, 0xc5, 0xb8, 0x2e, 0x52, 0xa9, 0x5a, 0xf0, 0x74, 0x28,
0x04, 0x9e, 0x07, 0xae, 0x8b, 0xf0, 0x3c, 0x54, 0x2a, 0x05, 0xc0, 0xf6,
0xce, 0x4e, 0x56, 0x17, 0x17, 0x6b, 0x8c, 0x2d, 0x13, 0xe8, 0x12, 0x8e,
0xc7, 0x89, 0xb6, 0xb5, 0x01, 0x90, 0x7f, 0xf9, 0x12, 0x51, 0x28, 0x60,
0x4a, 0x25, 0x4c, 0x28, 0x04, 0xc5, 0xe2, 0xa7, 0xb4, 0x28, 0x95, 0xc0,
0xf3, 0xfc, 0xcb, 0x8c, 0xa1, 0x9c, 0x4e, 0xfb, 0x8c, 0x5b, 0x5a, 0xc8,
0xd8, 0x36, 0x3b, 0xaa, 0xc0, 0xda, 0x18, 0x44, 0xc0, 0xb8, 0x6a, 0xf5,
0x4a, 0xa1, 0xa4, 0xf4, 0x17, 0x20, 0xb5, 0xfe, 0x94, 0xdf, 0xc6, 0x60,
0x69, 0x8d, 0x34, 0xc6, 0xaf, 0xbc, 0x2d, 0x95, 0x5a, 0x0c, 0xfc, 0x5a,
0xf0, 0x30, 0x06, 0x91, 0xcb, 0xe1, 0xcd, 0xcf, 0x03, 0x10, 0xd9, 0xbb,
0xd7, 0x07, 0x55, 0x0a, 0x2b, 0x28, 0xdb, 0xad, 0x85, 0xb3, 0xb5, 0x9c,
0xed, 0x3d, 0x7b, 0x00, 0xc8, 0xbe, 0x7b, 0xc7, 0xd7, 0xe5, 0x32, 0x46,
0xeb, 0x20, 0x78, 0x81, 0xc6, 0x4a, 0x29, 0x72, 0x33, 0x33, 0x00, 0xb4,
0x0c, 0x0e, 0x82, 0x94, 0x58, 0x01, 0xeb, 0xad, 0x8c, 0x8d, 0xd6, 0x48,
0x29, 0x51, 0x41, 0xef, 0xb0, 0x0e, 0x1d, 0x02, 0x60, 0x65, 0x66, 0x86,
0xed, 0xe1, 0x30, 0xd5, 0x82, 0x93, 0x3a, 0xd0, 0x58, 0x49, 0x89, 0x97,
0x4c, 0x02, 0xb0, 0xef, 0xec, 0x59, 0xd6, 0x7b, 0x7b, 0x6b, 0x72, 0x94,
0xa6, 0xa6, 0xf0, 0xe6, 0xe6, 0x58, 0x7b, 0xfb, 0x96, 0xfc, 0x93, 0x27,
0xa8, 0x80, 0xb1, 0x7d, 0xe0, 0x00, 0xe1, 0xc1, 0x41, 0x00, 0xe6, 0x92,
0x49, 0x9c, 0x00, 0x58, 0x57, 0x81, 0x09, 0x80, 0x0b, 0x8f, 0x1f, 0xb3,
0x38, 0x36, 0x06, 0xc0, 0x77, 0xd7, 0xaf, 0x93, 0xef, 0xeb, 0xf3, 0x19,
0xe7, 0xf3, 0x64, 0x2f, 0x5e, 0x64, 0xfe, 0xfc, 0x79, 0x0e, 0x84, 0x42,
0x3e, 0x68, 0x7f, 0x3f, 0xf6, 0x95, 0x2b, 0x00, 0xbc, 0x1e, 0x1b, 0xe3,
0xdb, 0xe9, 0x69, 0x2c, 0x29, 0x31, 0x5a, 0xa3, 0xab, 0x59, 0x21, 0xc0,
0x7f, 0xb6, 0x52, 0x6c, 0xdc, 0xba, 0xc5, 0xc6, 0xfe, 0xfd, 0x44, 0x9b,
0x9b, 0xe9, 0xbe, 0x79, 0x93, 0xb9, 0x07, 0x0f, 0x08, 0x4d, 0x4c, 0x60,
0xbd, 0x79, 0x43, 0x1b, 0x10, 0xea, 0xea, 0x42, 0x0c, 0x0c, 0x10, 0x39,
0x76, 0x0c, 0x00, 0x6f, 0x61, 0x81, 0xb9, 0xdb, 0xb7, 0xf9, 0x3e, 0x16,
0x43, 0x08, 0x81, 0x0e, 0xa4, 0x10, 0xc3, 0xb1, 0x98, 0x39, 0xda, 0xd9,
0x49, 0x24, 0x1c, 0xae, 0x3d, 0x9d, 0x86, 0x06, 0x42, 0x97, 0x2f, 0xd3,
0xfa, 0xc3, 0x0f, 0xfc, 0x9f, 0xfd, 0x3e, 0x3a, 0xca, 0xd2, 0x9d, 0x3b,
0xf4, 0x86, 0x42, 0xd8, 0x4a, 0x21, 0x84, 0x60, 0x79, 0x6d, 0x8d, 0x9f,
0x27, 0x27, 0xfd, 0x74, 0xab, 0x6a, 0x5c, 0x5b, 0xf9, 0x3c, 0x6a, 0x78,
0x98, 0x3f, 0xc6, 0xc7, 0x91, 0xc7, 0x8f, 0x93, 0xe8, 0xea, 0x22, 0xde,
0xda, 0xea, 0x47, 0x7f, 0x7e, 0x9e, 0x95, 0x99, 0x19, 0xfe, 0x4a, 0x26,
0xd9, 0xf1, 0xe2, 0x05, 0x87, 0x22, 0x91, 0x5a, 0xdb, 0xac, 0x32, 0xd6,
0xc6, 0x60, 0x55, 0xb4, 0x2e, 0xe5, 0x0b, 0x05, 0xbb, 0x31, 0x1a, 0xad,
0xa5, 0x58, 0x75, 0x52, 0xc4, 0x9f, 0x3e, 0x45, 0x4d, 0x4d, 0x51, 0x00,
0x96, 0xc3, 0x61, 0x36, 0xca, 0x65, 0x1a, 0xca, 0x65, 0x9a, 0x6c, 0x9b,
0x56, 0xcb, 0x42, 0x6c, 0x01, 0xad, 0x36, 0xfc, 0x0f, 0xeb, 0xeb, 0x54,
0xb4, 0x2e, 0x59, 0x6b, 0x85, 0xc2, 0xc8, 0x62, 0x26, 0x73, 0x41, 0x03,
0x0d, 0xf5, 0xf5, 0xff, 0x39, 0x1d, 0xaa, 0x7b, 0x34, 0xe8, 0xb5, 0xcb,
0xd5, 0x33, 0xe0, 0x37, 0x7a, 0xfc, 0x69, 0xb3, 0x92, 0xcd, 0xf2, 0x76,
0x79, 0x99, 0xb5, 0x42, 0x61, 0xc4, 0xd2, 0xc6, 0x5c, 0x4d, 0x2d, 0x2e,
0x12, 0x5f, 0x5d, 0x1d, 0x92, 0x42, 0x7c, 0xd1, 0x30, 0xd5, 0xc6, 0x94,
0xb2, 0xa5, 0xd2, 0x88, 0x36, 0xe6, 0xea, 0xdf, 0x44, 0xcb, 0xf0, 0x2c,
0x06, 0x86, 0x58, 0x55, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
0xae, 0x42, 0x60, 0x82;
our $image3;
our $image3_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0x74, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xed, 0xd5, 0xc1, 0x09, 0xc0,
0x20, 0x0c, 0x05, 0xd0, 0x6f, 0xe9, 0x36, 0x81, 0x2c, 0x10, 0xb2, 0xff,
0xdd, 0x85, 0xd2, 0x53, 0x85, 0xb6, 0xa9, 0x91, 0x48, 0x0f, 0x05, 0x3f,
0x08, 0x1a, 0xf0, 0x29, 0x12, 0x10, 0xf8, 0x28, 0xc5, 0xa9, 0xd9, 0xc4,
0xde, 0x96, 0xcd, 0x2b, 0x9a, 0xd9, 0xeb, 0x00, 0x00, 0x66, 0x0e, 0x2f,
0xe0, 0xc2, 0x51, 0x98, 0x39, 0xc4, 0xf7, 0x0c, 0x4c, 0x44, 0x6d, 0x5e,
0x6b, 0x35, 0x38, 0xcf, 0x92, 0x82, 0x45, 0xe4, 0xb2, 0xf6, 0xf0, 0x14,
0xac, 0xaa, 0x8f, 0xda, 0x1d, 0x4f, 0xc1, 0xa5, 0x74, 0x1b, 0x22, 0x07,
0x9f, 0x9d, 0x11, 0x1d, 0x96, 0xea, 0x8a, 0x91, 0x2c, 0x78, 0xc1, 0x0b,
0xee, 0x64, 0xe6, 0x07, 0x19, 0xf5, 0x7e, 0x92, 0x03, 0xad, 0x45, 0x2a,
0x04, 0xcc, 0x4e, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
0x44, 0xae, 0x42, 0x60, 0x82;
our $image4;
our $image4_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03,
0xf7, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xb5, 0x95, 0x5f, 0x68, 0xd5,
0x65, 0x18, 0xc7, 0x3f, 0xe7, 0x77, 0x7e, 0xd3, 0x33, 0xdd, 0x3f, 0x67,
0xfe, 0xcb, 0x74, 0xc7, 0x22, 0xed, 0x62, 0xf9, 0x07, 0x12, 0x23, 0x33,
0x2c, 0x56, 0x20, 0x06, 0x2d, 0x09, 0x82, 0xa8, 0x8b, 0xec, 0x22, 0x88,
0x8a, 0xea, 0xc2, 0x42, 0x32, 0x2d, 0x2b, 0x28, 0x08, 0xb1, 0x2e, 0x02,
0x2f, 0xb4, 0xa0, 0xee, 0xa2, 0x16, 0x15, 0x5d, 0xe4, 0x68, 0x66, 0x64,
0x1b, 0xca, 0xcc, 0xd4, 0xe2, 0xb4, 0x64, 0x73, 0x6e, 0xce, 0xf3, 0x6f,
0x67, 0x3b, 0xe7, 0xfc, 0xfe, 0xbc, 0x7f, 0x9e, 0xb7, 0x8b, 0x6d, 0xce,
0x95, 0x12, 0x5e, 0xf8, 0xc2, 0xc3, 0xfb, 0xc0, 0xfb, 0x3c, 0x9f, 0xf7,
0xe1, 0x79, 0xbf, 0x0f, 0x6f, 0xc2, 0x39, 0xc7, 0x8d, 0x58, 0xde, 0x0d,
0xa1, 0x02, 0x89, 0xeb, 0x4d, 0x78, 0xf5, 0xcd, 0xee, 0xb4, 0x18, 0x77,
0xa8, 0x66, 0x96, 0xb7, 0xb6, 0x5c, 0xd6, 0x2b, 0x3e, 0x7a, 0x7f, 0x63,
0xe9, 0x6a, 0x71, 0xd7, 0x55, 0xf1, 0x6b, 0x6f, 0x75, 0xbf, 0xd4, 0xdc,
0x98, 0xea, 0xdd, 0xfe, 0x54, 0xeb, 0xe6, 0xed, 0x4f, 0xb6, 0x36, 0x59,
0x91, 0x43, 0xd7, 0x0c, 0x76, 0xce, 0x5d, 0xd3, 0xa6, 0xd6, 0xae, 0x77,
0x7a, 0xd6, 0xee, 0xdc, 0xdb, 0xd3, 0xdb, 0xd9, 0x35, 0xe2, 0xaa, 0x55,
0xe7, 0xb2, 0x59, 0xed, 0x46, 0x47, 0xad, 0xfb, 0xf8, 0x60, 0xc6, 0x3d,
0xf3, 0xc2, 0x4f, 0xed, 0x57, 0xe3, 0x26, 0x5a, 0x9e, 0xfe, 0xc3, 0xb5,
0x6f, 0x5e, 0x88, 0x08, 0x28, 0x0b, 0xda, 0x08, 0xca, 0xc0, 0x17, 0xdf,
0x0f, 0x95, 0xc2, 0x6f, 0xd7, 0xcc, 0xdb, 0xf3, 0xde, 0xf1, 0x3d, 0xe9,
0x5b, 0x9a, 0x76, 0x3f, 0xf8, 0x40, 0x0b, 0x8d, 0xf5, 0x35, 0x18, 0xe3,
0xd0, 0xda, 0x62, 0x8c, 0x23, 0x95, 0x4a, 0xf2, 0xfa, 0xbb, 0xdd, 0xa5,
0xb1, 0xf1, 0x78, 0xc5, 0xe7, 0x07, 0xee, 0x9f, 0xd1, 0x92, 0xc4, 0xa6,
0x1d, 0xe7, 0xdc, 0xbe, 0xdd, 0x2b, 0x50, 0x06, 0x22, 0x0b, 0xca, 0x40,
0xac, 0x61, 0xa8, 0x2f, 0x64, 0xe0, 0x58, 0x86, 0x6d, 0x6d, 0xcb, 0xb8,
0x6b, 0x5d, 0x33, 0x5a, 0x83, 0x52, 0x60, 0xed, 0x34, 0xd8, 0x39, 0xc7,
0xdf, 0x83, 0x15, 0xf6, 0x7e, 0x78, 0xaa, 0xe3, 0x87, 0xd3, 0x89, 0x97,
0x39, 0xb5, 0xb9, 0x7f, 0x0a, 0xec, 0xff, 0x5b, 0x6e, 0x46, 0xc1, 0x70,
0xcf, 0x10, 0xf5, 0x26, 0xe2, 0x8d, 0x17, 0xd7, 0x30, 0xa7, 0x16, 0xac,
0xbd, 0x7a, 0x1b, 0x45, 0x1c, 0xad, 0x2b, 0x9b, 0xd8, 0xb4, 0xae, 0xb9,
0x5d, 0xa4, 0xf0, 0x69, 0xe7, 0x29, 0xa6, 0xc1, 0x56, 0xa6, 0xc1, 0xa5,
0xf3, 0x21, 0x43, 0x27, 0xfa, 0x79, 0xb8, 0x2d, 0x4d, 0x7a, 0x79, 0xed,
0x35, 0xdf, 0x05, 0x60, 0xb4, 0x62, 0xd8, 0xdf, 0x71, 0x09, 0x9c, 0x43,
0xeb, 0xb9, 0x64, 0x8a, 0xa3, 0xfb, 0x58, 0x73, 0x64, 0x2d, 0x22, 0xe0,
0x1c, 0xfe, 0x95, 0xd5, 0x8c, 0x8f, 0x8c, 0x73, 0xcf, 0xfa, 0x25, 0xff,
0x0b, 0x2d, 0x55, 0x85, 0xad, 0xbb, 0x32, 0xb4, 0xdd, 0x7b, 0x33, 0xb7,
0x2e, 0xab, 0x43, 0x04, 0xd2, 0xab, 0x16, 0xa7, 0xcb, 0x55, 0xfb, 0x8a,
0x36, 0x94, 0xf6, 0x7f, 0x70, 0xbc, 0xde, 0xb7, 0x32, 0x9d, 0xe0, 0x2d,
0x5d, 0xc8, 0xce, 0x83, 0xa7, 0xd9, 0xb0, 0x5e, 0x70, 0x16, 0xac, 0x58,
0xac, 0x15, 0xc4, 0x38, 0xc4, 0x3a, 0xcc, 0xa4, 0xff, 0xdd, 0xaf, 0x45,
0x1e, 0xdb, 0xd2, 0xc2, 0xac, 0x05, 0x4d, 0x1c, 0x19, 0x00, 0x11, 0x98,
0x9d, 0x82, 0xdf, 0x7a, 0xc7, 0xea, 0x07, 0x3b, 0xfb, 0xb2, 0x40, 0xd7,
0x8c, 0x56, 0x7c, 0x75, 0x38, 0x47, 0xfa, 0xf6, 0x05, 0xac, 0x5e, 0xea,
0x33, 0xef, 0xa6, 0x39, 0x04, 0xe2, 0x08, 0x95, 0x23, 0x54, 0x10, 0x44,
0x8e, 0x40, 0x0b, 0x51, 0x04, 0xcf, 0xae, 0x5c, 0x4c, 0x5c, 0xe3, 0xd3,
0x73, 0x6e, 0x02, 0x9a, 0xf0, 0xa0, 0x30, 0x10, 0x92, 0x3d, 0xd6, 0x6f,
0x91, 0x4a, 0x9a, 0x84, 0x7b, 0x7b, 0x06, 0xf8, 0xf0, 0xd1, 0x2c, 0x99,
0xcf, 0x5a, 0x29, 0x64, 0x35, 0x8d, 0xf3, 0x7d, 0xa4, 0x0e, 0x72, 0x65,
0xc8, 0x97, 0x61, 0xe0, 0x22, 0x54, 0x46, 0x21, 0x1f, 0x43, 0x3e, 0x0b,
0xc5, 0x92, 0x25, 0x9f, 0x8b, 0x09, 0x0a, 0x15, 0x2e, 0x9e, 0xc9, 0x52,
0x1a, 0xae, 0x96, 0x88, 0x12, 0x83, 0xd4, 0xdb, 0x55, 0x78, 0xae, 0xcb,
0x37, 0x66, 0x02, 0xfa, 0x63, 0x4f, 0xc8, 0xa6, 0x3b, 0x1b, 0xa8, 0x4d,
0x41, 0xcd, 0xc2, 0x1a, 0x7a, 0x33, 0xe3, 0x2c, 0x58, 0xde, 0x40, 0xe6,
0x02, 0xf4, 0x0d, 0xc0, 0x48, 0xce, 0x90, 0xcb, 0x5b, 0x2e, 0xe5, 0x0d,
0xb9, 0xbc, 0x21, 0x28, 0x85, 0x84, 0xa5, 0x2a, 0xa5, 0xe1, 0x51, 0x9c,
0x72, 0x10, 0x90, 0xc5, 0xb7, 0x3e, 0xd8, 0xb3, 0x64, 0x1e, 0xea, 0xf7,
0x65, 0x52, 0x6e, 0x47, 0xba, 0x8b, 0x6c, 0xdb, 0xd8, 0x4c, 0x55, 0xe0,
0x52, 0x0c, 0x59, 0xaf, 0x81, 0x3f, 0x4f, 0x5a, 0xc4, 0x25, 0x09, 0x22,
0x87, 0x52, 0x10, 0x29, 0x21, 0x56, 0x8e, 0x28, 0x16, 0xf2, 0xb9, 0x00,
0x1d, 0x68, 0x98, 0x3b, 0x17, 0x6c, 0x0c, 0xc4, 0x90, 0x54, 0x4d, 0x38,
0x39, 0x00, 0xe0, 0x89, 0x15, 0xc6, 0xab, 0xf0, 0xfb, 0xd9, 0x12, 0x8f,
0xb7, 0xd5, 0x91, 0x29, 0xc2, 0x85, 0x22, 0x44, 0x40, 0xb1, 0x2c, 0x8c,
0x55, 0x84, 0x58, 0x3b, 0x22, 0xe5, 0x50, 0x1a, 0x4a, 0x63, 0x9a, 0x91,
0x91, 0x00, 0xeb, 0xcf, 0xc6, 0x4b, 0xcd, 0x9e, 0x29, 0x97, 0xa4, 0x69,
0xc4, 0xd2, 0x31, 0xa9, 0x63, 0x38, 0x7c, 0xac, 0xcc, 0x7d, 0xab, 0x1b,
0x19, 0xa9, 0x40, 0x9d, 0x0f, 0x4b, 0x52, 0x50, 0x67, 0xa1, 0x61, 0x89,
0xcf, 0x58, 0x51, 0x61, 0xfc, 0x04, 0xcd, 0x62, 0x68, 0xd0, 0x11, 0xf5,
0x8b, 0x14, 0xb7, 0x35, 0x25, 0x91, 0x38, 0x46, 0x82, 0x18, 0x13, 0x6b,
0xc2, 0xc0, 0x90, 0x2b, 0xc8, 0xfc, 0x81, 0x41, 0x9d, 0xa5, 0x7f, 0xcb,
0x49, 0x00, 0xdf, 0x58, 0x47, 0xd7, 0x2f, 0x05, 0x76, 0x3c, 0xba, 0x88,
0x3b, 0xea, 0x27, 0x6f, 0x9e, 0x07, 0x5a, 0x43, 0x14, 0x39, 0xb4, 0xf6,
0x88, 0x63, 0x43, 0x1c, 0x5b, 0x94, 0xf2, 0x50, 0xca, 0x27, 0x8a, 0x0c,
0x5a, 0xfb, 0x44, 0x51, 0x2d, 0x4a, 0xd5, 0xa0, 0x54, 0x8a, 0x2f, 0x8f,
0x8e, 0xcd, 0xff, 0xe4, 0xbc, 0xfb, 0xe6, 0xb2, 0x74, 0xab, 0x81, 0xa1,
0x7f, 0xa0, 0xcc, 0x23, 0x1b, 0x66, 0x0e, 0x85, 0xe7, 0x81, 0xef, 0x7b,
0x24, 0x93, 0x09, 0x3c, 0xcf, 0x9b, 0xf4, 0xbd, 0xcb, 0xbe, 0xe7, 0x4d,
0x9c, 0x4d, 0xf9, 0x3f, 0x9f, 0x09, 0x41, 0xdc, 0xd7, 0x53, 0xf9, 0x7e,
0x61, 0xb8, 0xca, 0x73, 0x4f, 0xb4, 0xfc, 0x67, 0xba, 0x92, 0xc9, 0x09,
0x73, 0x38, 0x44, 0x0c, 0xb1, 0xd2, 0x84, 0x51, 0x4c, 0x18, 0x6a, 0x82,
0x40, 0x11, 0xc5, 0x31, 0x51, 0xa8, 0xd1, 0x5a, 0x88, 0xb5, 0xa1, 0xef,
0xaf, 0x00, 0x2e, 0x6c, 0xed, 0xb8, 0x0c, 0xc6, 0x4b, 0xd0, 0x79, 0xa2,
0xc8, 0xdd, 0xcf, 0x8f, 0xe1, 0xc4, 0x21, 0x02, 0x88, 0x43, 0x44, 0xb0,
0x56, 0xb0, 0x5a, 0x30, 0xc6, 0x60, 0x8d, 0x60, 0x8d, 0xc1, 0x18, 0x8b,
0xd1, 0x16, 0x31, 0x32, 0xb1, 0x8b, 0xa5, 0x1a, 0x38, 0x08, 0x5c, 0xc7,
0x95, 0x85, 0x25, 0x6e, 0xd4, 0x67, 0xfa, 0x0f, 0x0f, 0x45, 0x7a, 0xf9,
0x30, 0x7a, 0xb8, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
0xae, 0x42, 0x60, 0x82;
our $image5;
our $image5_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02,
0xc2, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xd5, 0x94, 0x3d, 0x8f, 0x1c,
0x45, 0x10, 0x86, 0x9f, 0xd9, 0x9d, 0x35, 0x77, 0x3e, 0xf0, 0xc7, 0x05,
0xc8, 0x32, 0x92, 0x03, 0x02, 0x10, 0x01, 0x82, 0x7f, 0x80, 0x90, 0x90,
0x08, 0x10, 0x88, 0x3f, 0x00, 0x31, 0x11, 0x22, 0x75, 0x06, 0xd1, 0x45,
0x04, 0xfc, 0x03, 0x62, 0x48, 0x40, 0x20, 0x41, 0x82, 0x21, 0x73, 0x00,
0x42, 0x32, 0x10, 0xfa, 0x64, 0x19, 0x64, 0xc9, 0xbe, 0x15, 0x77, 0xbb,
0x33, 0xbb, 0xd3, 0xdd, 0x55, 0xd5, 0xd5, 0x04, 0x33, 0x3b, 0xc7, 0xc9,
0x6b, 0x3b, 0x76, 0x4b, 0xad, 0xaa, 0xee, 0x19, 0xbd, 0xfd, 0xf4, 0xdb,
0xd5, 0x0d, 0x4f, 0x5b, 0xab, 0x36, 0xc9, 0x0f, 0x3f, 0xfe, 0xfa, 0x51,
0x5d, 0x4f, 0x0f, 0x54, 0x33, 0xb3, 0x7a, 0x42, 0xd3, 0x76, 0xc4, 0xa4,
0x64, 0xcb, 0xcc, 0xea, 0x29, 0x66, 0x19, 0x11, 0xc5, 0x2c, 0xa3, 0x6a,
0xa8, 0x6e, 0xa2, 0x71, 0xe7, 0x9f, 0x39, 0xf3, 0xa3, 0xc5, 0x77, 0xcd,
0x62, 0xf5, 0xf1, 0xcf, 0x37, 0x3e, 0x5f, 0x00, 0xd4, 0x1b, 0xe1, 0xba,
0x9e, 0x1e, 0xbc, 0xf4, 0xca, 0xb5, 0x4b, 0x50, 0x71, 0xed, 0xea, 0x3e,
0x9f, 0x7e, 0xf1, 0x0d, 0xcb, 0x26, 0x70, 0xe1, 0xb9, 0x5d, 0x3e, 0xfb,
0xe4, 0xfd, 0xc7, 0xd2, 0x7d, 0x7f, 0xe3, 0x16, 0x7f, 0xde, 0xba, 0xfd,
0xc1, 0xb7, 0x5f, 0xfd, 0x02, 0xf0, 0xe1, 0x19, 0xe1, 0x94, 0x94, 0x2e,
0x0a, 0xd5, 0xb0, 0x89, 0x9b, 0xbf, 0x1f, 0x72, 0xf9, 0xc2, 0x79, 0xea,
0x7a, 0xf2, 0xc4, 0x6d, 0x2f, 0x9a, 0x0e, 0x07, 0xdc, 0xf3, 0xbb, 0x23,
0xe8, 0x26, 0x91, 0x61, 0x7b, 0x55, 0xd5, 0x0b, 0xef, 0x5f, 0xdc, 0xe3,
0xe5, 0x17, 0xaf, 0xf0, 0xc2, 0x95, 0xcb, 0x4f, 0x14, 0x16, 0x31, 0x96,
0xcb, 0x15, 0x29, 0xc9, 0x38, 0x77, 0x2a, 0x2c, 0x8a, 0xa8, 0x31, 0xa9,
0x7a, 0xc2, 0xb7, 0xdf, 0x78, 0x95, 0xab, 0xcf, 0x5f, 0x64, 0xff, 0xd2,
0xb3, 0x8f, 0x15, 0x75, 0x2f, 0x2c, 0x9b, 0x96, 0xe5, 0xa2, 0xc1, 0x2c,
0x3f, 0x2c, 0x9c, 0xc4, 0x10, 0xcd, 0x94, 0x62, 0x9c, 0x34, 0x1d, 0xef,
0xbd, 0xf5, 0x3a, 0xa5, 0x14, 0x4a, 0x81, 0xf9, 0x71, 0x3b, 0xe4, 0xfd,
0x78, 0x13, 0xcd, 0x8c, 0x93, 0x93, 0x96, 0xa3, 0x07, 0xc7, 0x74, 0x21,
0x62, 0x66, 0xdb, 0x88, 0x7b, 0x2b, 0xba, 0x98, 0xf8, 0xed, 0x8f, 0x3b,
0xa8, 0x65, 0xcc, 0x32, 0x96, 0x7d, 0xc8, 0xbd, 0xaf, 0x88, 0x9c, 0x11,
0x31, 0x62, 0x48, 0x34, 0xcb, 0x96, 0xf5, 0x3a, 0x70, 0x7c, 0xd2, 0x12,
0xa3, 0x3c, 0x8a, 0x58, 0x11, 0x55, 0x42, 0x1c, 0x4a, 0xca, 0x72, 0x5f,
0x52, 0x96, 0x07, 0xff, 0x8d, 0x98, 0x94, 0x18, 0x85, 0xb6, 0x5d, 0x11,
0xba, 0x48, 0x4a, 0x42, 0x4a, 0x8a, 0x88, 0x10, 0x63, 0x24, 0xe7, 0x2d,
0xc2, 0x3a, 0x58, 0xe1, 0xee, 0x9c, 0xdf, 0x3d, 0x87, 0x65, 0x1f, 0x6a,
0xd7, 0xa8, 0x8a, 0xe3, 0x06, 0x93, 0x92, 0x99, 0x96, 0xcc, 0xce, 0x6c,
0xca, 0x64, 0xf7, 0x1c, 0xb3, 0x49, 0xc5, 0x6c, 0x3a, 0xe1, 0x28, 0x04,
0x52, 0x12, 0x72, 0xf6, 0x47, 0x11, 0x1b, 0x3b, 0xcf, 0xcc, 0x78, 0xe7,
0xcd, 0xd7, 0x70, 0x77, 0x42, 0x10, 0x42, 0x48, 0xa4, 0xa4, 0xa8, 0xda,
0x60, 0x97, 0xf5, 0x07, 0x2d, 0x36, 0xf6, 0x2f, 0xbf, 0xfe, 0x89, 0x79,
0x48, 0x8f, 0xf7, 0x18, 0xc0, 0x2c, 0x13, 0x42, 0x22, 0x04, 0x41, 0xd5,
0xb6, 0x08, 0x9f, 0x5d, 0x20, 0x89, 0x20, 0xa2, 0xdb, 0xad, 0x48, 0x49,
0x11, 0xcd, 0x98, 0x1a, 0x77, 0xef, 0xfe, 0xcb, 0xfd, 0xfb, 0x0d, 0xaa,
0x36, 0x5c, 0x61, 0x1d, 0xae, 0xb0, 0x8e, 0xf6, 0x98, 0xf5, 0xe2, 0x3b,
0x3b, 0x35, 0x29, 0x0a, 0x49, 0xd2, 0x76, 0x61, 0x19, 0xc8, 0x4c, 0x95,
0xaa, 0x2a, 0xec, 0xed, 0xd5, 0x88, 0x80, 0x2a, 0xd4, 0x75, 0xa1, 0xae,
0x61, 0x3a, 0x2d, 0x98, 0xc1, 0x64, 0x52, 0x50, 0x2d, 0x54, 0x55, 0x01,
0x1c, 0x19, 0x88, 0xdd, 0xb7, 0x79, 0x9c, 0x94, 0xd5, 0xba, 0x23, 0x9b,
0xb1, 0x5a, 0x45, 0x16, 0x8b, 0x6e, 0xa4, 0xea, 0x09, 0x4f, 0x1f, 0x21,
0x11, 0x1d, 0x1f, 0xa1, 0xd9, 0xac, 0x1a, 0xac, 0x90, 0xed, 0xc4, 0x31,
0x24, 0xd6, 0xeb, 0x40, 0x71, 0x47, 0xd5, 0x70, 0xcf, 0xe4, 0xfc, 0x70,
0x37, 0xeb, 0xa3, 0xbb, 0x8d, 0x42, 0xfd, 0x42, 0xb2, 0x9d, 0x38, 0xc4,
0x44, 0x08, 0x09, 0xbc, 0x60, 0x66, 0x94, 0xe2, 0xb8, 0xf7, 0xbd, 0xcf,
0xf3, 0x30, 0xee, 0x63, 0xce, 0x9b, 0xbc, 0xa0, 0x22, 0xa8, 0x28, 0xee,
0x5b, 0x88, 0xc3, 0x3a, 0xb2, 0x5e, 0xb4, 0xe4, 0x6c, 0xac, 0x56, 0xcb,
0xf1, 0xe4, 0x4f, 0xab, 0xe0, 0xec, 0x21, 0xaa, 0xe6, 0xf1, 0x9f, 0x75,
0xdb, 0x90, 0xba, 0x35, 0xbe, 0xad, 0x8e, 0x8f, 0xe7, 0x8b, 0xeb, 0xf7,
0xfe, 0x7e, 0x70, 0x10, 0x53, 0xe2, 0xf6, 0x5f, 0x87, 0xe4, 0x5c, 0x46,
0xe2, 0x9c, 0x0b, 0xa5, 0xf8, 0xff, 0xe6, 0x4e, 0xbf, 0xb9, 0x17, 0xee,
0x1d, 0xce, 0xe9, 0x82, 0xe2, 0xce, 0x75, 0x9e, 0xda, 0xf6, 0x1f, 0x12,
0x1a, 0xe0, 0xff, 0x0b, 0x36, 0xcf, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x49,
0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image6;
our $image6_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03,
0xfe, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xd5, 0x93, 0xcb, 0x6b, 0x5d,
0x55, 0x14, 0x87, 0xbf, 0x73, 0xee, 0x39, 0x37, 0x8f, 0x9b, 0xf7, 0xa3,
0xa6, 0xe9, 0x4b, 0x69, 0x4b, 0x2b, 0xb6, 0x5a, 0x11, 0x11, 0xa1, 0x3a,
0x10, 0x2b, 0x82, 0xed, 0xc0, 0xfe, 0x0d, 0x0a, 0x82, 0xe0, 0xd0, 0x06,
0x67, 0x0e, 0x04, 0x1d, 0x8a, 0xa8, 0xd3, 0x82, 0x38, 0xd1, 0x81, 0x20,
0x52, 0x2c, 0xad, 0x52, 0x07, 0xc5, 0x96, 0xda, 0x12, 0x1f, 0x55, 0xaa,
0xd6, 0x9b, 0x3e, 0xd2, 0xa4, 0x49, 0x9a, 0x9b, 0x7b, 0xef, 0x39, 0x67,
0x9f, 0xbd, 0xd7, 0x7e, 0x38, 0x48, 0x4c, 0x93, 0xb6, 0x0a, 0x1d, 0xba,
0x26, 0x6b, 0xb3, 0xf8, 0xf1, 0xb1, 0xd6, 0x6f, 0xed, 0x15, 0x71, 0x1f,
0xb1, 0xf0, 0x3e, 0xd5, 0x64, 0x3c, 0xfd, 0xc0, 0x0d, 0xbc, 0xf9, 0x6a,
0x73, 0xaa, 0x7d, 0xb5, 0x3d, 0x75, 0xe9, 0xa3, 0xb9, 0xb3, 0xc7, 0x8f,
0x1e, 0x38, 0xc9, 0xdc, 0x9d, 0xda, 0xe4, 0x7e, 0xc0, 0x71, 0x37, 0xbb,
0xba, 0x76, 0x86, 0xfd, 0xd5, 0x91, 0xeb, 0xd1, 0xe0, 0xde, 0x57, 0xb6,
0x35, 0xeb, 0xd3, 0x6f, 0x07, 0x67, 0xfb, 0x4e, 0xf0, 0xcd, 0x3b, 0x07,
0x4e, 0xa2, 0xd6, 0x81, 0xbf, 0x3e, 0x7e, 0xee, 0x48, 0x5c, 0x89, 0x27,
0xac, 0x78, 0xd2, 0x24, 0xa6, 0xd9, 0xca, 0xd1, 0xc6, 0xe2, 0xac, 0x23,
0x4d, 0x2a, 0x58, 0x6b, 0x31, 0xc6, 0x62, 0xad, 0xe3, 0xd7, 0x8e, 0x0f,
0x93, 0xa7, 0xfb, 0x8f, 0xd7, 0xb8, 0xf6, 0x29, 0x51, 0xfb, 0x04, 0x5d,
0x0b, 0x8f, 0x76, 0xde, 0xca, 0x8b, 0x87, 0x3f, 0x0b, 0x2f, 0x77, 0xc2,
0x17, 0xeb, 0xc1, 0x69, 0x35, 0x7d, 0x77, 0xc7, 0xce, 0xcd, 0xc4, 0x95,
0x98, 0xcd, 0x63, 0x83, 0x1c, 0x79, 0xef, 0x73, 0x8c, 0xb1, 0x3c, 0x30,
0xda, 0xc7, 0xc4, 0x6b, 0x2f, 0xad, 0x0a, 0x83, 0x64, 0x98, 0x5f, 0x5e,
0x27, 0xf6, 0x31, 0x94, 0x40, 0xd3, 0xb3, 0x78, 0x75, 0x96, 0x1f, 0xd2,
0x83, 0x87, 0xcf, 0x37, 0x16, 0xa6, 0x81, 0x37, 0xd6, 0x4d, 0xa7, 0xb5,
0x50, 0x94, 0x86, 0x52, 0x1b, 0x00, 0x4e, 0x9f, 0xff, 0x83, 0xd9, 0xf9,
0x26, 0xaa, 0x34, 0x6b, 0x64, 0x01, 0x5b, 0x3f, 0x4a, 0x75, 0x64, 0x06,
0x5a, 0xdd, 0x20, 0xfd, 0xf8, 0x76, 0x2f, 0xbf, 0x15, 0xdb, 0x31, 0x1b,
0xf7, 0xe0, 0xbd, 0x3b, 0x74, 0x97, 0xc7, 0x46, 0x2c, 0x46, 0x1c, 0x61,
0xa5, 0x30, 0x32, 0xd8, 0xc3, 0xee, 0xed, 0x1b, 0x79, 0x68, 0xeb, 0xe8,
0xaa, 0xc8, 0xe7, 0x37, 0x20, 0x1c, 0x23, 0x0a, 0x03, 0xa0, 0x3b, 0xa0,
0xec, 0xa2, 0xb9, 0x50, 0xe5, 0xf7, 0xae, 0xa7, 0x68, 0xb6, 0x0a, 0x8c,
0xc8, 0x5d, 0xfb, 0x48, 0x8c, 0xb1, 0x18, 0xb1, 0x44, 0xd1, 0x72, 0xe1,
0xe0, 0x73, 0xfb, 0xd8, 0x3a, 0x3e, 0xcc, 0x86, 0xe1, 0xde, 0x95, 0x66,
0x03, 0xbe, 0x71, 0x8a, 0xb8, 0xa3, 0x0e, 0xd9, 0x10, 0xf8, 0x0a, 0x2e,
0xeb, 0xc3, 0x6e, 0x7a, 0x9c, 0xf9, 0xeb, 0x63, 0x34, 0x9b, 0x0d, 0xac,
0x75, 0xf7, 0x02, 0x0b, 0x46, 0x2c, 0xce, 0x7b, 0x1a, 0xad, 0x82, 0xc3,
0x2f, 0x3e, 0x41, 0x08, 0x81, 0x10, 0x02, 0xf3, 0x8b, 0x6d, 0x70, 0x8a,
0xfe, 0xf6, 0x57, 0x54, 0x07, 0x7b, 0x60, 0xb1, 0x02, 0xba, 0x83, 0x76,
0x5e, 0xe5, 0x72, 0x6d, 0x2f, 0x4b, 0xb9, 0x43, 0x15, 0xe5, 0xbf, 0x81,
0x2d, 0x22, 0x8e, 0x56, 0x56, 0x72, 0xee, 0xa7, 0x3a, 0xd6, 0x3a, 0xac,
0x75, 0x88, 0xf5, 0x58, 0xe7, 0x18, 0xf5, 0x17, 0x78, 0x76, 0xcf, 0x34,
0xa8, 0x41, 0x20, 0x80, 0xd4, 0xb8, 0x38, 0x2d, 0x7c, 0xa9, 0x2d, 0x8b,
0x79, 0x9b, 0x52, 0x6b, 0x9c, 0xfb, 0x8f, 0x8e, 0x55, 0x69, 0x10, 0xeb,
0x10, 0x71, 0xcb, 0xd9, 0x3a, 0x82, 0xe4, 0x3c, 0x36, 0x76, 0x86, 0xa4,
0x6f, 0x1c, 0x16, 0x04, 0x5c, 0x42, 0xd1, 0x70, 0x9c, 0xba, 0xb9, 0x91,
0x1b, 0x91, 0xc3, 0x18, 0x83, 0x52, 0x6b, 0xc1, 0xfb, 0x60, 0xf9, 0x36,
0x5c, 0x62, 0xc4, 0x61, 0xc4, 0xe1, 0x7d, 0xa0, 0xd6, 0x55, 0xc5, 0xa6,
0xcb, 0x9d, 0x6a, 0x6d, 0xe9, 0xe3, 0x47, 0x36, 0x6d, 0x0b, 0x60, 0x7a,
0x00, 0x03, 0xb6, 0x87, 0xbf, 0xae, 0xcd, 0xd0, 0xec, 0xdb, 0x4d, 0x8f,
0x4b, 0xb9, 0x99, 0x17, 0x68, 0x6d, 0x70, 0xce, 0x03, 0xfb, 0x52, 0xa0,
0x0b, 0xa8, 0x02, 0x26, 0xd1, 0x5a, 0x30, 0x22, 0xf4, 0xf6, 0x74, 0xf2,
0xc2, 0xfe, 0x47, 0x70, 0xce, 0x53, 0x96, 0x06, 0x95, 0x35, 0xe9, 0x6c,
0x9e, 0xa6, 0x36, 0x34, 0x0a, 0x6d, 0x03, 0xa1, 0x46, 0xde, 0x70, 0xc8,
0x96, 0xe7, 0x39, 0xf4, 0xe4, 0x33, 0x18, 0x71, 0x7c, 0xfc, 0xc9, 0x31,
0x8a, 0x42, 0x21, 0x62, 0x2a, 0xc0, 0xc8, 0x1a, 0x27, 0xd2, 0x58, 0x56,
0xbe, 0xdb, 0x3f, 0xde, 0xe6, 0xb9, 0x22, 0xcf, 0x4b, 0xa4, 0x5c, 0xa2,
0x23, 0xaa, 0x13, 0x45, 0x03, 0x40, 0x37, 0xf8, 0x21, 0x6e, 0x35, 0x22,
0xda, 0xe9, 0x16, 0x54, 0x69, 0x68, 0xb5, 0x32, 0xf2, 0xbc, 0x40, 0x15,
0xea, 0xde, 0x1e, 0x6b, 0x2d, 0x88, 0x38, 0x8a, 0x42, 0x53, 0xaf, 0x2f,
0x30, 0x37, 0xd7, 0x46, 0xc4, 0x52, 0xb1, 0x0d, 0x86, 0xc7, 0xc7, 0x40,
0x86, 0x21, 0xaa, 0xe2, 0x6c, 0xcc, 0xcf, 0xd7, 0x14, 0x53, 0x3d, 0x31,
0xaa, 0x9c, 0xa2, 0xb3, 0x33, 0x41, 0xa9, 0x12, 0x63, 0x0c, 0xde, 0xf9,
0x3b, 0xb9, 0x3e, 0x31, 0x62, 0x29, 0xb5, 0xc1, 0x1a, 0x43, 0x1c, 0x07,
0xba, 0xbb, 0x13, 0x44, 0x02, 0x49, 0xd6, 0xc2, 0xfb, 0xed, 0x50, 0xdd,
0x85, 0x93, 0x19, 0xea, 0x93, 0xdf, 0x32, 0xdb, 0xb1, 0x17, 0x22, 0x4f,
0x9a, 0xc6, 0x84, 0xe0, 0x11, 0x23, 0x88, 0x11, 0xbc, 0x5f, 0x05, 0x3b,
0x96, 0x0f, 0x5e, 0x27, 0x5a, 0x0b, 0xed, 0xac, 0xa0, 0x5a, 0x89, 0xc9,
0xb2, 0x92, 0x66, 0xb3, 0x40, 0xc4, 0xd2, 0xb1, 0x34, 0x4f, 0x36, 0x34,
0x40, 0x54, 0x44, 0x5c, 0x3e, 0x53, 0xe7, 0xec, 0xcc, 0x83, 0x2c, 0x25,
0xbd, 0xd8, 0x4c, 0x61, 0xad, 0x23, 0x4d, 0x63, 0x8c, 0x11, 0x8c, 0x15,
0xbc, 0xf7, 0x01, 0x68, 0xad, 0x40, 0x3d, 0x4c, 0x86, 0x44, 0x29, 0x4d,
0x91, 0x2b, 0x7c, 0x9a, 0x20, 0x62, 0x71, 0xce, 0xe1, 0xbd, 0x23, 0xcb,
0x0c, 0xdf, 0x7f, 0x77, 0x9e, 0xee, 0xca, 0x24, 0x7f, 0xb6, 0x06, 0x50,
0xdd, 0x9b, 0xf0, 0x62, 0xf1, 0xde, 0xe1, 0x9c, 0x23, 0x8a, 0x02, 0xce,
0x59, 0xbc, 0xb3, 0x04, 0x82, 0x87, 0xc9, 0x7c, 0xad, 0x17, 0xb1, 0x52,
0x1a, 0xa5, 0x0c, 0x65, 0x69, 0xb0, 0xd6, 0x12, 0x82, 0xc7, 0x7b, 0x8f,
0x37, 0x96, 0x72, 0xfa, 0x0a, 0x57, 0xcc, 0x18, 0xa6, 0x77, 0x33, 0x21,
0x84, 0xd5, 0x91, 0x93, 0xa4, 0x42, 0xb5, 0x9a, 0xe2, 0xbc, 0x47, 0xac,
0x5b, 0x6b, 0xc5, 0xed, 0xe5, 0xa9, 0xa2, 0x24, 0x5b, 0x6a, 0x61, 0x92,
0x98, 0x3c, 0x6f, 0x21, 0x62, 0x11, 0xb1, 0x98, 0xda, 0x06, 0xf4, 0x8e,
0x03, 0x84, 0x4a, 0x8d, 0x54, 0x2c, 0xb0, 0x3c, 0x49, 0x08, 0x60, 0xad,
0x43, 0x29, 0x8d, 0x6a, 0xb7, 0xd0, 0x45, 0x7e, 0xaf, 0xe5, 0x91, 0xcc,
0xcf, 0x2e, 0x4e, 0x4c, 0x5d, 0x9e, 0x9e, 0x10, 0x11, 0x2e, 0x5e, 0xb8,
0x84, 0xf7, 0xcb, 0x9d, 0x39, 0xe7, 0x57, 0xdf, 0xb7, 0xf3, 0xfa, 0xda,
0xec, 0x95, 0x06, 0x5a, 0x5b, 0xbc, 0x8f, 0xde, 0xba, 0x8b, 0xfc, 0xbf,
0x8b, 0xbf, 0x01, 0xe8, 0x70, 0xcb, 0xc9, 0xb3, 0x58, 0x58, 0xb9, 0x00,
0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image7;
our $image7_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03,
0x82, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xb5, 0x95, 0xcf, 0x6b, 0x5c,
0x55, 0x14, 0xc7, 0x3f, 0xef, 0x47, 0x66, 0xd2, 0x26, 0x4d, 0xa6, 0x31,
0x05, 0x0b, 0x46, 0xa2, 0x55, 0x8a, 0x22, 0x94, 0x04, 0xb1, 0x56, 0xba,
0x70, 0xe1, 0x42, 0xdd, 0x98, 0x2c, 0x44, 0x11, 0x17, 0x4a, 0x0b, 0x5d,
0x36, 0x0b, 0x85, 0x66, 0x51, 0x5c, 0x28, 0xd1, 0xaa, 0xc5, 0xa6, 0x2e,
0x14, 0x2b, 0xe4, 0x4f, 0x50, 0x2c, 0x2e, 0x24, 0x96, 0x16, 0xab, 0x06,
0x29, 0x48, 0xb4, 0x85, 0x9a, 0xa8, 0x4d, 0x69, 0x68, 0xda, 0x24, 0xf3,
0x26, 0x6f, 0x66, 0x32, 0xef, 0xcd, 0x7b, 0xe7, 0xbe, 0x7b, 0x5c, 0x4c,
0x7e, 0x27, 0x82, 0x05, 0x73, 0xe1, 0x72, 0xe0, 0x72, 0xce, 0xe7, 0x9e,
0xfb, 0xbd, 0xf7, 0x9e, 0xe3, 0xa8, 0x2a, 0xdb, 0x31, 0xdc, 0x6d, 0xa1,
0x02, 0xce, 0xbd, 0x38, 0xbf, 0xfb, 0xe1, 0x68, 0x21, 0xb3, 0x3a, 0x92,
0xcb, 0x79, 0x7d, 0x8b, 0x35, 0xe9, 0x19, 0x3a, 0xf9, 0xfc, 0xf8, 0x46,
0x9f, 0x65, 0x05, 0xfe, 0x73, 0xc6, 0xef, 0x9d, 0x1e, 0xed, 0x6b, 0xde,
0xd1, 0x34, 0xf5, 0x4a, 0x7f, 0x6f, 0xdf, 0x91, 0xd7, 0x0f, 0x21, 0xc6,
0x8e, 0xdc, 0x4b, 0x52, 0x9b, 0xc6, 0xa9, 0xe1, 0x0b, 0xdd, 0x43, 0x9f,
0x7c, 0x7f, 0xf1, 0xdb, 0xef, 0xfe, 0xd0, 0xea, 0xa2, 0x68, 0xa9, 0x94,
0x68, 0x18, 0xa6, 0x7a, 0xe1, 0x87, 0x29, 0x1d, 0x18, 0x3c, 0x3f, 0xb0,
0x55, 0xc6, 0xaa, 0x8a, 0xa3, 0xaa, 0x3c, 0x33, 0xf8, 0xdb, 0xa6, 0x1b,
0xfc, 0xf9, 0xfd, 0x03, 0xce, 0xc7, 0x9f, 0x5e, 0x1a, 0x68, 0x6b, 0x6f,
0x7e, 0xe7, 0xc5, 0xe7, 0x9e, 0x28, 0x74, 0x76, 0xb4, 0x20, 0x92, 0x61,
0x8c, 0xc5, 0x18, 0x8b, 0xdf, 0xe4, 0x72, 0xf6, 0x8b, 0x1f, 0xc3, 0xbb,
0x73, 0x8b, 0x3d, 0x9f, 0x9f, 0x7e, 0xe9, 0xe6, 0x5a, 0x30, 0x80, 0x73,
0xe8, 0xc4, 0xb8, 0xbe, 0xfd, 0xda, 0x7e, 0x52, 0x0b, 0x92, 0x41, 0x22,
0x50, 0x29, 0x55, 0x98, 0xbb, 0x3e, 0xc9, 0x0b, 0x4f, 0x3f, 0xc0, 0xc1,
0x27, 0xbb, 0x71, 0x80, 0x2c, 0x53, 0x8c, 0x59, 0x05, 0x1b, 0x63, 0x89,
0x12, 0xe1, 0xd4, 0xf0, 0xc5, 0xaf, 0xcf, 0x9d, 0xe9, 0xef, 0xdf, 0x08,
0xf6, 0x0b, 0xcd, 0x3e, 0x8f, 0x3c, 0xda, 0x8c, 0xd8, 0x06, 0xf4, 0xd6,
0xd5, 0xdb, 0xec, 0x88, 0x66, 0x79, 0xf3, 0xc8, 0x53, 0x14, 0xda, 0x73,
0xa8, 0x82, 0x48, 0x23, 0xe8, 0xc4, 0xc8, 0x9f, 0xfc, 0x7e, 0xa3, 0x42,
0x96, 0x29, 0x6a, 0x15, 0xdf, 0x77, 0x98, 0xfc, 0xcb, 0xeb, 0xe3, 0xf0,
0x37, 0x8a, 0xd8, 0x90, 0x5f, 0xfa, 0x76, 0x2f, 0x6f, 0xe0, 0xdb, 0x25,
0x11, 0xa2, 0x05, 0xc3, 0xc4, 0x4f, 0xd7, 0xe8, 0xd9, 0xbf, 0x87, 0xde,
0xc3, 0xbd, 0x9b, 0xb4, 0x3e, 0x76, 0xf6, 0x1a, 0x8b, 0x99, 0xcf, 0x07,
0x6f, 0x1d, 0xa4, 0x1a, 0x43, 0x2c, 0x50, 0x17, 0x70, 0x1c, 0xf8, 0x75,
0x6c, 0x86, 0x8f, 0x3e, 0x1b, 0x2b, 0xac, 0xf5, 0x77, 0xf6, 0xbe, 0x31,
0xa6, 0xfb, 0xba, 0xda, 0xa8, 0x04, 0x65, 0x76, 0xe6, 0x7d, 0xda, 0x77,
0xe5, 0x51, 0x0b, 0x6a, 0x2d, 0x99, 0x55, 0x34, 0x53, 0x4a, 0xd5, 0x84,
0x7d, 0x0f, 0x16, 0x38, 0xf6, 0xea, 0x63, 0x5c, 0xfe, 0x1b, 0xc2, 0x1a,
0x94, 0x23, 0xa8, 0xd5, 0x21, 0xb8, 0x59, 0x64, 0xf2, 0xf2, 0x04, 0x77,
0x8a, 0x77, 0xe0, 0xea, 0xcb, 0xce, 0x8a, 0x14, 0x07, 0x1e, 0x6e, 0xe3,
0xfc, 0xc9, 0xc7, 0x11, 0xa0, 0x58, 0x4a, 0xd8, 0xd3, 0x91, 0x27, 0x02,
0x6a, 0x06, 0x6a, 0x49, 0x23, 0xb8, 0x56, 0x87, 0x30, 0x82, 0x2b, 0xd3,
0x8d, 0x2c, 0x13, 0x03, 0x95, 0xb2, 0x30, 0x3d, 0x7e, 0x8b, 0x60, 0x6a,
0x8e, 0xe6, 0xbc, 0x07, 0x0a, 0x47, 0x8f, 0x7f, 0xf5, 0x2c, 0x70, 0x09,
0xc0, 0x57, 0xab, 0x08, 0x50, 0x03, 0x82, 0xcc, 0xa1, 0x58, 0x4c, 0x69,
0x69, 0xcf, 0x31, 0x5f, 0x81, 0xbb, 0x25, 0x98, 0x99, 0x87, 0xb0, 0xaa,
0x04, 0x65, 0x43, 0x50, 0xce, 0x28, 0x57, 0x0d, 0x33, 0x53, 0x21, 0xc1,
0xd4, 0x1c, 0x2a, 0xc9, 0xea, 0xd9, 0xad, 0x05, 0x38, 0xbe, 0x06, 0x6c,
0x51, 0xa0, 0x0e, 0x78, 0xbb, 0x73, 0x4c, 0x5c, 0x5f, 0xa4, 0xa9, 0x9c,
0x63, 0x76, 0x01, 0x4a, 0xa1, 0x12, 0x84, 0x42, 0xb1, 0x64, 0x98, 0x2f,
0x09, 0xf3, 0x81, 0x50, 0x0d, 0x63, 0x92, 0xb0, 0x06, 0x6a, 0x01, 0xc8,
0x8c, 0x12, 0x54, 0x63, 0x50, 0xe5, 0xcb, 0xe1, 0xfe, 0xfe, 0x73, 0x67,
0x96, 0x7e, 0x9e, 0xaa, 0x92, 0x02, 0xb1, 0x85, 0x99, 0x05, 0x88, 0xfc,
0x56, 0xa6, 0x6e, 0x27, 0xa4, 0x02, 0x62, 0x14, 0x91, 0xf5, 0xd3, 0x88,
0xc5, 0x5a, 0x0b, 0xaa, 0xd4, 0x22, 0x61, 0xae, 0x5c, 0xc7, 0xe4, 0x5b,
0x60, 0x43, 0x31, 0xf3, 0x33, 0x0b, 0x31, 0x30, 0x1d, 0x36, 0xb4, 0xcc,
0x1c, 0xa8, 0x5b, 0x17, 0x29, 0xa7, 0xa4, 0xe2, 0x92, 0x98, 0x86, 0xa6,
0x89, 0x40, 0x2a, 0x4a, 0x96, 0x29, 0x99, 0x08, 0x41, 0xb1, 0x8a, 0xf5,
0x72, 0x78, 0xad, 0x6d, 0x0d, 0x66, 0xb6, 0x01, 0xec, 0xa0, 0x98, 0x14,
0x3a, 0x73, 0xb0, 0x4b, 0xa1, 0xc3, 0x81, 0xfb, 0xee, 0x6f, 0x22, 0x2c,
0xc6, 0x58, 0x94, 0x4e, 0x4f, 0x08, 0x7d, 0x21, 0xcc, 0x0b, 0x95, 0x96,
0x94, 0xa8, 0x52, 0x67, 0x31, 0x88, 0x61, 0x6f, 0x33, 0x56, 0x21, 0xcb,
0x12, 0xac, 0xb5, 0x8c, 0xce, 0xae, 0x7f, 0x9e, 0xbe, 0xab, 0x4a, 0x57,
0x0e, 0xba, 0x72, 0x40, 0xeb, 0xea, 0x3d, 0xa4, 0xdd, 0x4d, 0x24, 0x89,
0x41, 0x04, 0x92, 0x04, 0x44, 0x1c, 0xd2, 0xd4, 0x25, 0x49, 0x76, 0x22,
0xd2, 0x44, 0x92, 0x08, 0x69, 0x2a, 0xa4, 0xa9, 0x41, 0xc4, 0x30, 0x7a,
0x65, 0x7d, 0xa1, 0x74, 0xed, 0x16, 0x85, 0xde, 0x75, 0xc1, 0xf3, 0x3c,
0x7c, 0xdf, 0xc5, 0xf3, 0xdc, 0x15, 0xeb, 0xba, 0x8d, 0xb5, 0x65, 0xeb,
0x79, 0xde, 0xd2, 0xba, 0x0b, 0x76, 0x3d, 0xc7, 0xe5, 0x5f, 0x1a, 0x88,
0xe7, 0x39, 0x2b, 0x41, 0x9e, 0xe7, 0xe1, 0xba, 0xee, 0x12, 0xd4, 0xc5,
0xf3, 0x9c, 0x25, 0xbb, 0x3a, 0x37, 0x82, 0x7d, 0xb5, 0x5b, 0x93, 0x5d,
0x17, 0x5c, 0xd7, 0x45, 0x35, 0x23, 0x95, 0x3a, 0x71, 0xbd, 0x4e, 0x14,
0xc5, 0xc4, 0xf5, 0x98, 0x38, 0x4a, 0x88, 0xe2, 0x98, 0x7a, 0x9c, 0x20,
0x59, 0x86, 0x11, 0xb3, 0x09, 0xec, 0xf0, 0xd0, 0xd0, 0xff, 0xd6, 0xf4,
0xf4, 0xc6, 0xe0, 0x8a, 0xd0, 0xce, 0x76, 0x35, 0xd3, 0x7f, 0x00, 0xf4,
0xb8, 0x19, 0xf9, 0xe3, 0xb0, 0xa8, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49,
0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image8;
our $image8_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0x73, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xed, 0x92, 0xc1, 0x0e, 0x80,
0x20, 0x08, 0x40, 0xb1, 0xef, 0x66, 0x1d, 0x1c, 0xff, 0x4d, 0x87, 0x6a,
0xa8, 0x88, 0xa1, 0x76, 0x69, 0xf9, 0x36, 0x0f, 0x28, 0x3e, 0xd8, 0x00,
0x60, 0xf1, 0x59, 0x42, 0x5f, 0x3a, 0x71, 0xf5, 0x36, 0x02, 0xe0, 0x8e,
0x99, 0x2b, 0x09, 0x88, 0x01, 0xd0, 0x28, 0x54, 0x17, 0x6a, 0xe4, 0x7f,
0x21, 0xce, 0x1f, 0xb5, 0xb0, 0x5d, 0x38, 0xed, 0xdc, 0x90, 0x60, 0xd0,
0xf1, 0x13, 0x79, 0x63, 0x5b, 0x3b, 0xc9, 0x2b, 0xd5, 0x18, 0xe2, 0x39,
0xa9, 0x43, 0xec, 0x1d, 0x5a, 0xb7, 0x78, 0x5c, 0xee, 0x10, 0x7b, 0xe4,
0xb2, 0x15, 0xaf, 0x40, 0x91, 0xf8, 0x94, 0xde, 0x47, 0x18, 0x1e, 0xce,
0xa5, 0x9e, 0xde, 0x9e, 0xc5, 0x9f, 0x38, 0x00, 0x62, 0xac, 0x28, 0xb1,
0xe3, 0xd7, 0x01, 0xd9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
0xae, 0x42, 0x60, 0x82;
our $image9;
our $image9_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0x74, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xed, 0x92, 0xc1, 0x0a, 0xc0,
0x20, 0x08, 0x40, 0x6d, 0xdf, 0x2d, 0x3b, 0x84, 0xff, 0xed, 0x0e, 0xa3,
0x58, 0x6a, 0x26, 0xd1, 0x65, 0xe0, 0x83, 0x0e, 0xa5, 0x3e, 0x85, 0x04,
0x48, 0x7e, 0x4b, 0x91, 0x0f, 0x54, 0x89, 0xf1, 0x9e, 0xa5, 0xa3, 0xca,
0x0f, 0x8a, 0x89, 0x63, 0x65, 0xb3, 0x06, 0xc4, 0x2d, 0xd6, 0x13, 0xc6,
0x49, 0xbd, 0xc2, 0x59, 0x83, 0x16, 0x13, 0x62, 0x19, 0xf0, 0xf9, 0x36,
0xc0, 0xa2, 0xef, 0x00, 0xd7, 0x5a, 0x62, 0x61, 0x4d, 0x3a, 0xb2, 0x29,
0x96, 0xf2, 0xa3, 0x62, 0xff, 0xa3, 0x37, 0xc5, 0xeb, 0xed, 0xe9, 0x62,
0xaa, 0xd1, 0xa2, 0xe8, 0x4a, 0xaa, 0xa2, 0xf7, 0x50, 0xdd, 0x12, 0x74,
0x8c, 0x0f, 0xd0, 0xab, 0x93, 0x24, 0x67, 0x78, 0x00, 0x59, 0x6e, 0x28,
0xb1, 0x74, 0x3f, 0x46, 0x86, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
0x44, 0xae, 0x42, 0x60, 0x82;
our $image10;
our $image10_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0x82, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xcd, 0xd3, 0x41, 0x12, 0x80,
0x20, 0x08, 0x05, 0x50, 0xe8, 0xe0, 0x2e, 0xbc, 0x38, 0xad, 0x32, 0x73,
0x50, 0x3e, 0x48, 0x53, 0x7f, 0xe3, 0xe4, 0x8c, 0x4f, 0x24, 0x25, 0xfa,
0x28, 0xe2, 0x9c, 0x6f, 0x39, 0x92, 0x0b, 0xf9, 0x27, 0x6c, 0xb6, 0x01,
0x85, 0x35, 0x88, 0x77, 0x61, 0x13, 0x88, 0xc2, 0x57, 0x64, 0x18, 0xcd,
0xa0, 0x15, 0xf5, 0x20, 0xb4, 0xe6, 0xb5, 0x5b, 0xe1, 0x09, 0xdc, 0x06,
0x22, 0xb8, 0xe2, 0x2a, 0xcf, 0x31, 0x05, 0x6e, 0x18, 0xdf, 0xdf, 0xf8,
0x06, 0x06, 0xaa, 0x55, 0x1c, 0xc6, 0x35, 0x64, 0xc4, 0xdc, 0xf8, 0x0c,
0xd0, 0x20, 0x1d, 0x57, 0x7a, 0x5c, 0x85, 0xa8, 0x84, 0x5f, 0xdc, 0x02,
0x5e, 0xa5, 0x30, 0x7a, 0xfc, 0xcd, 0x07, 0xe2, 0x3a, 0x1d, 0xf2, 0x83,
0xec, 0x2b, 0x37, 0xd9, 0xad, 0x5f, 0xb4, 0xdf, 0xef, 0xd4, 0x9c, 0xfb,
0xf7, 0x2f, 0xac, 0x98, 0xc8, 0xcc, 0x89, 0x00, 0x00, 0x00, 0x00, 0x49,
0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image11;
our $image11_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0xbf, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xd5, 0x93, 0x41, 0x0a, 0x83,
0x30, 0x10, 0x45, 0xdf, 0x48, 0x8e, 0xe5, 0x1d, 0xbc, 0x8c, 0x3b, 0xa9,
0x8b, 0xf4, 0x6a, 0x9e, 0xab, 0xd3, 0x85, 0x35, 0x0d, 0x26, 0x63, 0x62,
0x44, 0x4a, 0x3f, 0x0c, 0x42, 0x66, 0xfc, 0xf3, 0xf8, 0x24, 0xf0, 0x6f,
0x12, 0x40, 0x2b, 0x66, 0xda, 0x8c, 0x55, 0xf3, 0xde, 0x22, 0x12, 0xcf,
0x9d, 0x92, 0xcb, 0x98, 0xc0, 0xba, 0x2d, 0x7c, 0x45, 0x44, 0xcf, 0x9a,
0x07, 0x63, 0x8b, 0xba, 0xd5, 0x3c, 0x44, 0x91, 0x23, 0x5e, 0xcf, 0x7c,
0xc1, 0x62, 0x36, 0x97, 0xa9, 0x25, 0x40, 0xc1, 0x1f, 0xf4, 0xfd, 0xa7,
0x52, 0x75, 0x01, 0x5d, 0x24, 0xa9, 0x38, 0x9e, 0x7d, 0x6f, 0x53, 0xdf,
0x4f, 0xe4, 0xcc, 0xab, 0x32, 0x3e, 0xea, 0x0f, 0x03, 0xc0, 0xc4, 0xb2,
0xa0, 0x71, 0x2c, 0xe6, 0xad, 0xd8, 0x9b, 0x59, 0xb7, 0x66, 0x1c, 0x3b,
0xe0, 0x95, 0x98, 0x5f, 0x26, 0x16, 0x79, 0xee, 0x4e, 0xbc, 0xc2, 0x2c,
0x97, 0x88, 0x55, 0x1f, 0xe6, 0xa2, 0xcb, 0xc4, 0x96, 0x9a, 0x89, 0x4b,
0xcb, 0x6f, 0x23, 0xee, 0x36, 0x1a, 0xab, 0x62, 0xe2, 0x52, 0xc5, 0x72,
0x94, 0xdf, 0xbf, 0xb6, 0x10, 0xbb, 0xf2, 0xc8, 0x97, 0xb8, 0xa4, 0x6c,
0xc6, 0x67, 0x7e, 0xaa, 0x51, 0x95, 0x71, 0xfa, 0x08, 0x7e, 0xa8, 0x37,
0x62, 0xda, 0x9a, 0xba, 0xcb, 0x20, 0x23, 0x5f, 0x00, 0x00, 0x00, 0x00,
0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image12;
our $image12_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00,
0xd5, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xc5, 0x95, 0x5d, 0x0a, 0x84,
0x30, 0x0c, 0x84, 0x27, 0xe2, 0xa9, 0x0a, 0x9e, 0x6c, 0x8b, 0x0f, 0x4b,
0x3d, 0xd9, 0x82, 0xd7, 0xca, 0x3e, 0x58, 0xd7, 0xfe, 0x4c, 0xd0, 0xba,
0x5d, 0x76, 0x40, 0x02, 0x4d, 0xf2, 0x65, 0xda, 0x0a, 0x05, 0x7e, 0x24,
0x39, 0xc9, 0xeb, 0x8d, 0x9e, 0xaa, 0x88, 0x41, 0xa0, 0xc9, 0xaa, 0xd8,
0xc8, 0x2a, 0xb3, 0x2f, 0x9c, 0x42, 0x5b, 0xe1, 0xe3, 0x0e, 0x0d, 0xcf,
0x00, 0xc0, 0x03, 0x08, 0xf0, 0xb3, 0xa7, 0xa0, 0x74, 0x10, 0xa9, 0xd7,
0x14, 0x2e, 0x00, 0xb4, 0x2c, 0x5a, 0x5f, 0xab, 0x69, 0x6b, 0x97, 0x9b,
0x1c, 0x83, 0x7f, 0xc0, 0xc3, 0x16, 0xb6, 0xe4, 0x16, 0x5b, 0x64, 0xf7,
0x8d, 0x71, 0x63, 0x59, 0x91, 0x9b, 0xdc, 0x45, 0x70, 0xde, 0x47, 0xc0,
0x47, 0x32, 0xdd, 0x5e, 0x5b, 0xcc, 0x35, 0xf0, 0xc9, 0x77, 0x62, 0xae,
0x78, 0x79, 0x36, 0xdc, 0xcf, 0x75, 0x13, 0x57, 0x7e, 0x79, 0xf4, 0x8c,
0x4b, 0x27, 0xaa, 0x0f, 0x13, 0x27, 0xb2, 0x40, 0xf5, 0x11, 0x7f, 0xcb,
0xe3, 0x48, 0xaa, 0x33, 0xb6, 0xe0, 0x22, 0x4b, 0x05, 0x4d, 0x07, 0x46,
0xb8, 0x02, 0x5e, 0x2e, 0x3b, 0x3e, 0x73, 0xcd, 0xe0, 0xdd, 0x1c, 0x97,
0xf0, 0x2e, 0x8e, 0xd9, 0xd0, 0xaf, 0x1d, 0xb3, 0x81, 0x22, 0x4b, 0xdf,
0x33, 0xee, 0xe6, 0x98, 0xa9, 0x34, 0xa0, 0xf6, 0x17, 0xb4, 0x55, 0x40,
0xd0, 0x0b, 0xcf, 0x4c, 0xa0, 0x8f, 0xc0, 0xdf, 0xf4, 0x06, 0xe3, 0x25,
0xc1, 0x98, 0x1b, 0xc4, 0x18, 0x76, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
0x4e, 0x44, 0xae, 0x42, 0x60, 0x82;
our $image13;
our $image13_data = pack 'C*',
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04,
0x31, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0x8d, 0x95, 0x4d, 0x6c, 0x54,
0x55, 0x14, 0xc7, 0x7f, 0xf7, 0xbe, 0xef, 0x99, 0x29, 0x53, 0xa0, 0x48,
0x29, 0x69, 0x19, 0x52, 0x40, 0x1a, 0x44, 0x89, 0x09, 0x44, 0xd2, 0xf8,
0xd5, 0x84, 0xa5, 0xa1, 0x89, 0xbb, 0x26, 0xee, 0x20, 0x2a, 0x31, 0x6e,
0xba, 0x92, 0x60, 0x08, 0x89, 0x2b, 0x62, 0x63, 0xa2, 0x0b, 0x17, 0xcc,
0xd2, 0x54, 0x37, 0x26, 0x8d, 0x6b, 0x53, 0x35, 0x41, 0x8d, 0x29, 0x21,
0xf8, 0x01, 0xa1, 0x22, 0x52, 0x5b, 0x18, 0xa1, 0x4c, 0x69, 0xa7, 0xd3,
0x99, 0x79, 0xf3, 0xde, 0xbc, 0x7b, 0x5c, 0xbc, 0x69, 0x2d, 0x20, 0xc8,
0x49, 0xce, 0xe6, 0xdc, 0xff, 0xf9, 0xdf, 0xff, 0xbd, 0xf7, 0x9c, 0x73,
0x15, 0xff, 0x63, 0x87, 0x4f, 0x8a, 0x2f, 0x42, 0x17, 0x90, 0x13, 0xc0,
0x18, 0x56, 0x12, 0xa1, 0x7c, 0xf1, 0xac, 0x0a, 0x1f, 0x97, 0xa7, 0x1e,
0xb5, 0x30, 0x78, 0x4a, 0x3a, 0x81, 0x61, 0x63, 0x18, 0x12, 0xa1, 0x0f,
0xc8, 0x1b, 0x81, 0xc4, 0x50, 0x11, 0x98, 0x15, 0x98, 0x14, 0xc3, 0xc4,
0xa5, 0x0f, 0xd5, 0xd2, 0x13, 0x11, 0x0f, 0x9e, 0x92, 0x1c, 0x30, 0xa2,
0x14, 0xa3, 0x39, 0x4f, 0x0a, 0x3d, 0x1b, 0x71, 0x0a, 0x5b, 0x8c, 0xda,
0x96, 0x4f, 0xd0, 0x1a, 0x4a, 0x4b, 0x16, 0x37, 0xe6, 0xb5, 0x94, 0xee,
0x99, 0x78, 0x7e, 0x59, 0xcf, 0x44, 0x89, 0x1a, 0x13, 0x61, 0xfc, 0xf2,
0x47, 0x6a, 0xe5, 0x91, 0xc4, 0x2f, 0xbe, 0x2f, 0x79, 0x23, 0x9c, 0xb1,
0x35, 0xc7, 0x07, 0xb6, 0x9b, 0xcc, 0x91, 0xe7, 0x60, 0x60, 0x3b, 0x6c,
0x08, 0x84, 0xe5, 0x5a, 0x8c, 0x91, 0x14, 0x1e, 0xf8, 0x2e, 0x73, 0x77,
0x5b, 0x7c, 0x75, 0x41, 0xf1, 0xc3, 0x34, 0xf5, 0xe5, 0xd0, 0x3e, 0x97,
0x18, 0x4e, 0x4f, 0x7f, 0xac, 0x2a, 0x0f, 0x11, 0xb7, 0x95, 0x7e, 0x90,
0xf5, 0xe4, 0xed, 0x23, 0xfb, 0x5b, 0xee, 0xab, 0xfb, 0x6d, 0x02, 0xc7,
0x10, 0x36, 0x63, 0xf2, 0x19, 0xcd, 0xf6, 0x2e, 0x1b, 0x69, 0x63, 0xa7,
0xe7, 0x22, 0x1c, 0xc7, 0xc2, 0x60, 0x33, 0x35, 0x1d, 0xf2, 0xd9, 0x79,
0x2b, 0x2a, 0x2d, 0xb9, 0x9f, 0x8a, 0x70, 0xea, 0xf7, 0x4f, 0x52, 0xe5,
0x7a, 0x9d, 0xe0, 0x11, 0x5b, 0x73, 0xec, 0xf0, 0x1e, 0x71, 0x5f, 0x79,
0xc6, 0x46, 0x21, 0xac, 0xd4, 0x23, 0x06, 0x7a, 0x5d, 0xfa, 0x7b, 0x5c,
0x7c, 0x57, 0x13, 0xb4, 0xfd, 0x40, 0xbf, 0xcf, 0xd6, 0x4e, 0x45, 0x14,
0xb7, 0x78, 0x7e, 0x77, 0xc0, 0xeb, 0x87, 0x12, 0x37, 0xe3, 0x26, 0xc7,
0x44, 0x18, 0x59, 0x25, 0xd3, 0xab, 0x0f, 0xa5, 0x14, 0xa3, 0x85, 0x2d,
0x26, 0x7b, 0x70, 0x97, 0xa2, 0x11, 0x2b, 0xca, 0x95, 0x88, 0x67, 0x77,
0x7a, 0x04, 0x9e, 0xa6, 0xd6, 0x84, 0xcb, 0x73, 0x70, 0xf1, 0x06, 0xcc,
0x96, 0xc1, 0x08, 0x74, 0x6d, 0xb0, 0xe9, 0xd9, 0x64, 0x51, 0x0d, 0x61,
0x77, 0xaf, 0xcf, 0xc1, 0x7e, 0xb2, 0x4a, 0x31, 0xba, 0xf3, 0x84, 0x74,
0xae, 0x57, 0x3c, 0x1c, 0x38, 0x52, 0xd8, 0xd7, 0x0b, 0xad, 0x44, 0xb1,
0x58, 0x85, 0xac, 0xa7, 0xf0, 0x5d, 0x8d, 0x11, 0xf8, 0xe3, 0x36, 0x5c,
0xbf, 0x03, 0x37, 0xcb, 0x30, 0x75, 0xad, 0x45, 0xb9, 0x12, 0x01, 0xd0,
0x11, 0x68, 0x6a, 0x21, 0xdc, 0xab, 0x42, 0xef, 0xe6, 0x84, 0x0e, 0x3f,
0x29, 0x18, 0x61, 0x18, 0xc0, 0x3e, 0x7c, 0x52, 0x7c, 0x63, 0x18, 0xca,
0x67, 0x70, 0x72, 0xbe, 0x62, 0xb9, 0x9e, 0xee, 0x94, 0xf5, 0x6c, 0x5a,
0x09, 0x34, 0x22, 0x98, 0xbe, 0x05, 0xcd, 0x38, 0x8d, 0xc7, 0xcd, 0x3a,
0x81, 0x9b, 0x01, 0xa0, 0x16, 0x0a, 0x3f, 0x5e, 0x35, 0xdc, 0xae, 0x68,
0xea, 0x91, 0x43, 0xe0, 0x29, 0x47, 0xaa, 0x0c, 0xf5, 0xbd, 0x25, 0x5f,
0xd8, 0xed, 0xe2, 0xef, 0xcb, 0x78, 0xa8, 0xa8, 0xa5, 0x58, 0xac, 0xa5,
0x04, 0x95, 0x86, 0xc5, 0xbd, 0x1a, 0xac, 0x84, 0x50, 0x6d, 0xa4, 0xb1,
0x0e, 0xa7, 0xc6, 0xe0, 0x80, 0x4d, 0x2e, 0xb0, 0x31, 0x02, 0xdf, 0x5e,
0x36, 0x5c, 0x29, 0x59, 0x6b, 0x8f, 0x94, 0xf5, 0x51, 0x22, 0xf4, 0x89,
0xd0, 0x65, 0x03, 0x39, 0x11, 0xf2, 0xbe, 0x63, 0x58, 0x0e, 0xff, 0x05,
0x01, 0x6b, 0x9b, 0x00, 0x58, 0x49, 0x85, 0xa3, 0x2f, 0xfb, 0xf4, 0x3d,
0xe5, 0x21, 0xc0, 0xd4, 0xb5, 0x84, 0xaf, 0x7f, 0xbd, 0xbf, 0x0d, 0x7c,
0x07, 0x8c, 0x90, 0x17, 0x91, 0x9c, 0x9d, 0x98, 0x34, 0xd8, 0x8c, 0x61,
0xa1, 0x0a, 0x6b, 0x35, 0xb5, 0x3e, 0xc1, 0x6a, 0xf0, 0xc6, 0x4b, 0x2e,
0x3b, 0xb6, 0x7a, 0xb4, 0x12, 0xf8, 0xe6, 0xb7, 0x84, 0xcf, 0xbf, 0x57,
0xac, 0x84, 0xfa, 0xa1, 0x0e, 0x13, 0x49, 0x09, 0x6c, 0x11, 0xaa, 0x02,
0x95, 0x6a, 0x68, 0x61, 0x59, 0x0f, 0x80, 0x00, 0x31, 0xc2, 0xd6, 0x6e,
0x4d, 0xcf, 0xa6, 0x94, 0xe2, 0xc2, 0x75, 0xc3, 0x97, 0x3f, 0x29, 0xc2,
0x58, 0xaf, 0xe1, 0x55, 0x1b, 0xdb, 0x0c, 0x01, 0x91, 0x0a, 0x8a, 0xaa,
0x6d, 0x60, 0x01, 0x98, 0xad, 0x35, 0x91, 0xac, 0x87, 0x52, 0x4a, 0x10,
0x51, 0xa9, 0x70, 0x49, 0xd3, 0xb4, 0xd2, 0x58, 0x96, 0xa2, 0xda, 0x80,
0xf3, 0x57, 0xd3, 0x4a, 0xd0, 0xff, 0x31, 0x65, 0x2a, 0x35, 0x04, 0xcc,
0x2c, 0xc2, 0x82, 0xbe, 0x78, 0x56, 0x85, 0xc6, 0x30, 0x59, 0x6b, 0x48,
0x2c, 0x22, 0x68, 0xa5, 0xb0, 0x34, 0xd8, 0x1a, 0x6c, 0x2b, 0xf5, 0xbb,
0x55, 0x8b, 0xa9, 0x3f, 0x35, 0xdf, 0x5d, 0x81, 0xb9, 0x72, 0x1a, 0x73,
0x1e, 0x70, 0x11, 0xa1, 0x52, 0x33, 0x31, 0x30, 0x59, 0x2a, 0x3a, 0xa1,
0x9d, 0xde, 0x0b, 0x13, 0xb5, 0x26, 0xef, 0xd5, 0x9b, 0xb2, 0xa7, 0x7b,
0xa3, 0x42, 0xad, 0x57, 0x23, 0x90, 0x24, 0x31, 0x95, 0x6a, 0x0b, 0xad,
0x34, 0x59, 0xdf, 0x27, 0x91, 0xfb, 0xe5, 0x8a, 0xc0, 0x9d, 0x25, 0xc3,
0x4a, 0x28, 0x33, 0xc0, 0x04, 0xb4, 0x1b, 0xe4, 0xe7, 0x31, 0xb5, 0x14,
0x27, 0x6a, 0xac, 0xb4, 0x68, 0x6a, 0xca, 0x34, 0xc9, 0x78, 0x90, 0x6d,
0x7b, 0xc6, 0x13, 0x0e, 0xf4, 0xc5, 0xbc, 0x76, 0x28, 0xe0, 0xe8, 0x0b,
0x01, 0x83, 0x7b, 0x15, 0x39, 0x7f, 0xfd, 0x3a, 0x24, 0x71, 0xc8, 0x5f,
0xf3, 0xad, 0x5a, 0x2b, 0x91, 0xb1, 0x52, 0xd1, 0x59, 0x5a, 0x23, 0x6e,
0x0b, 0x1b, 0x5f, 0x6e, 0xd8, 0xc5, 0x5f, 0x66, 0x75, 0x94, 0xc4, 0x0d,
0x7c, 0x57, 0x08, 0xda, 0x89, 0xae, 0xeb, 0xd1, 0x32, 0x9a, 0x38, 0x49,
0xef, 0x36, 0xf0, 0x52, 0xf7, 0x5d, 0x21, 0x8e, 0x1a, 0x4c, 0x5d, 0x97,
0x68, 0xa9, 0xae, 0x8a, 0x20, 0xe3, 0xab, 0x7c, 0xf7, 0x9d, 0xe9, 0xe9,
0x77, 0x25, 0x2f, 0xc2, 0x99, 0xcd, 0xd9, 0xe8, 0xf8, 0xbe, 0x5e, 0xc9,
0xf4, 0x77, 0x6b, 0x1c, 0xc7, 0xc1, 0xb6, 0x60, 0x47, 0x17, 0x38, 0x36,
0xcc, 0xcc, 0x43, 0x18, 0x43, 0x1c, 0x35, 0x99, 0x2e, 0x09, 0x97, 0x6e,
0x24, 0xf5, 0xf9, 0xaa, 0x73, 0x0e, 0x38, 0x5d, 0x2a, 0x7a, 0x0f, 0x8f,
0xcd, 0x55, 0xdb, 0xf5, 0x8e, 0xe4, 0x04, 0x46, 0x3c, 0x2b, 0x19, 0xed,
0xce, 0xb7, 0x0a, 0x7b, 0xbb, 0x1b, 0xce, 0xb6, 0x8d, 0xb6, 0xf2, 0x83,
0x00, 0x80, 0x46, 0xa3, 0xce, 0xad, 0x72, 0x2c, 0x57, 0xfe, 0xf6, 0xe3,
0x5b, 0x8b, 0xd6, 0x4c, 0x18, 0xeb, 0x31, 0x90, 0xf1, 0x52, 0xd1, 0x7b,
0xf4, 0xa0, 0x5f, 0x6f, 0x85, 0x13, 0xd2, 0x29, 0xc2, 0xb0, 0x08, 0x43,
0x26, 0x6d, 0xd3, 0xbc, 0x88, 0xa4, 0x75, 0x8a, 0x99, 0x05, 0x26, 0x41,
0x26, 0x4a, 0x45, 0xf7, 0xc9, 0xbe, 0xa6, 0x07, 0xad, 0xf7, 0x4d, 0xf1,
0x45, 0xd8, 0x6c, 0x44, 0x3a, 0x40, 0x40, 0xa4, 0x0a, 0xb2, 0x50, 0x2a,
0x3a, 0x8f, 0xfd, 0x4c, 0xff, 0x01, 0xb1, 0xe1, 0x0a, 0x72, 0x93, 0xd9,
0x9f, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
0x60, 0x82;
our $image14;
our $image14_data =
["30 23 133 2",
".b c #1f1f1f",
".d c #2f2f63",
"#9 c #4c4c4c",
"#C c #5454ff",
"#j c #5511bb",
".Q c #5555ff",
"ab c #575757",
".e c #5757fc",
"#p c #5757ff",
"#Z c #591818",
"#f c #5b5bff",
".G c #5d5dff",
"#t c #5e5eff",
"#F c #6060ff",
"#W c #6161ff",
"#7 c #6363b3",
".m c #666666",
".o c #6666ff",
".y c #6767ff",
"#8 c #6d6db3",
"#N c #6f6fff",
".2 c #7f7fff",
"#6 c #8181b3",
".9 c #8a8aff",
"#r c #8b8bff",
"#y c #8c8cff",
"#X c #9292ff",
"#S c #9797ff",
"#H c #9c9cff",
"#I c #9f9fff",
".a c #a2a2a2",
"#5 c #acacb3",
"#. c #aeaeff",
"aa c #afafaf",
"#G c #b0b0ff",
"#J c #b2b2ff",
"#1 c #b32222",
"#2 c #b37272",
"#3 c #b3b2b2",
"#4 c #b3b3b3",
"a# c #b5b5b5",
".1 c #b9b9ff",
"#0 c #ba1d1d",
"#V c #bfbfff",
".p c #c3c3ff",
".z c #c7c7ff",
"#c c #ceceff",
".f c #cfcfff",
"#R c #d9d9ff",
"ac c #dadada",
".W c #dadaff",
"#g c #dbc2e6",
".H c #dbdbff",
"#s c #ddddff",
"a. c #dedede",
"#m c #e0e0ff",
"#x c #e3e3ff",
".c c #e4e4e4",
"#k c #e7cde6",
"#w c #e8e8ff",
"#q c #e9e9ff",
"#o c #ea92a6",
"#l c #ededff",
"#i c #eeedfe",
"#O c #eeeeff",
".P c #f0f0ff",
".R c #f2f2ff",
"#T c #f3f3ff",
".n c #f5f5ff",
"#e c #f7f7ff",
".F c #fbfbff",
".# c #fcfcfc",
".x c #fcfcff",
".X c #fdfdff",
"#Y c #fefefe",
"#b c #fefeff",
"#A c #ff5454",
".4 c #ff5555",
"#D c #ff5a5a",
".r c #ff5b5b",
"#h c #ff5d5d",
"#L c #ff6060",
".j c #ff6262",
"#v c #ff6767",
".Z c #ff6b6b",
"## c #ff6c6c",
".i c #ff7070",
".B c #ff7d7d",
".k c #ff7e7e",
".I c #ff8a8a",
".T c #ff8e8e",
".A c #ff9393",
".J c #ff9595",
".O c #ff9696",
"#d c #ff9999",
"#n c #ff9c9c",
".8 c #ff9e9e",
".6 c #ffa0a0",
".s c #ffa4a4",
".S c #ffa8a8",
".V c #ffa9a9",
".L c #ffb1b1",
".7 c #ffb2b2",
".h c #ffb8b8",
".N c #ffbcbc",
".q c #ffc1c1",
".M c #ffc7c7",
"#M c #ffcaca",
"#Q c #ffcece",
".Y c #ffcfcf",
".U c #ffd2d2",
"#a c #ffd4d4",
"#u c #ffd6d6",
".K c #ffd9d9",
".E c #ffdbdb",
"#E c #ffdede",
".0 c #ffdfdf",
".v c #ffe3e3",
".l c #ffe4e4",
"#P c #ffe7e7",
".5 c #ffebeb",
".t c #ffeded",
"#U c #ffefef",
"#z c #fff0f0",
".3 c #fff3f3",
"#B c #fff4f4",
".w c #fff6f6",
".D c #fff7f7",
".C c #fff8f8",
"#K c #fff9f9",
".g c #fffbfb",
".u c #fffefe",
"Qt c #ffffff",
"QtQt.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"Qt.a.b.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"QtQt.d.e.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.h.i.j.k.lQtQtQtQt",
"QtQt.m.n.o.pQtQtQtQtQtQtQtQtQtQtQtQtQt.q.r.s.t.u.v.wQtQtQtQt",
"QtQt.mQt.x.y.zQtQtQtQtQtQtQtQtQtQtQt.A.B.C.gQt.D.E.uQtQtQtQt",
"QtQt.mQtQt.F.G.HQtQtQtQtQtQtQtQtQt.I.JQt.K.LQt.M.N.OQtQtQtQt",
"QtQt.mQtQtQt.P.Q.RQtQtQtQtQtQtQt.S.TQtQt.K.LQtQt.U.VQtQtQtQt",
"QtQt.mQtQtQtQt.W.G.XQtQtQtQtQt.Y.ZQtQtQt.K.LQt.0.TQtQtQtQtQt",
"QtQt.mQtQtQtQtQt.1.2QtQtQtQt.3.4.DQtQtQt.5.J.6.7.8.qQtQtQtQt",
"QtQt.mQtQtQtQtQtQt.9#.QtQtQt###aQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"QtQt.mQtQtQtQtQtQt#b.o#cQt.S#dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"QtQt.mQtQtQtQtQtQtQt#e#f#g#h.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
"QtQt.mQtQtQtQtQtQtQtQt#i#j#kQtQtQtQtQtQtQt#lQt.X#mQtQtQtQtQt",
"QtQt.mQtQtQtQtQtQtQtQt#n#o#p#qQtQtQtQtQtQt#rQt#s#t#bQtQtQtQt",
"QtQt.mQtQtQtQtQtQtQt#u#vQt#w#p#xQtQtQtQtQt#rQtQt#y#bQtQtQtQt",
"QtQt.mQtQtQtQtQtQt#z#A#BQtQt#q#C.WQtQtQtQt#rQtQt#y#bQtQtQtQt",
"QtQt.mQtQtQtQtQt.C#D#EQtQtQtQt.R#F#GQtQtQt#H#I.W#H#JQtQtQtQt",
"QtQt.mQtQtQtQt#K#L#MQtQtQtQtQtQt.X#y#N#OQtQtQtQtQtQtQtQtQtQt",
"QtQt.mQtQtQt#P.4#QQtQtQtQtQtQtQtQtQt#R#t#S#TQtQtQtQtQtQtQtQt",
"QtQt.mQt#U#d#h#PQtQtQtQtQtQtQtQtQtQtQtQt#V.o#W#X#J.pQtQtQtQt",
"Qt#Y#Z#0#1#2#3#4#4#4#4#4#4#4#4#4#4#4#4#4#4#4#5#6#7#8#9a.QtQt",
"QtQta#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacQtQt",
"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"];
sub NEW
{
shift->SUPER::NEW(@_[0..2]);
statusBar();
$image0 = Qt::Pixmap();
$image0->loadFromData($image0_data, length ($image0_data), "PNG");
$image1 = Qt::Pixmap();
$image1->loadFromData($image1_data, length ($image1_data), "PNG");
$image2 = Qt::Pixmap();
$image2->loadFromData($image2_data, length ($image2_data), "PNG");
$image3 = Qt::Pixmap();
$image3->loadFromData($image3_data, length ($image3_data), "PNG");
$image4 = Qt::Pixmap();
$image4->loadFromData($image4_data, length ($image4_data), "PNG");
$image5 = Qt::Pixmap();
$image5->loadFromData($image5_data, length ($image5_data), "PNG");
$image6 = Qt::Pixmap();
$image6->loadFromData($image6_data, length ($image6_data), "PNG");
$image7 = Qt::Pixmap();
$image7->loadFromData($image7_data, length ($image7_data), "PNG");
$image8 = Qt::Pixmap();
$image8->loadFromData($image8_data, length ($image8_data), "PNG");
$image9 = Qt::Pixmap();
$image9->loadFromData($image9_data, length ($image9_data), "PNG");
$image10 = Qt::Pixmap();
$image10->loadFromData($image10_data, length ($image10_data), "PNG");
$image11 = Qt::Pixmap();
$image11->loadFromData($image11_data, length ($image11_data), "PNG");
$image12 = Qt::Pixmap();
$image12->loadFromData($image12_data, length ($image12_data), "PNG");
$image13 = Qt::Pixmap();
$image13->loadFromData($image13_data, length ($image13_data), "PNG");
$image14 = Qt::Pixmap($image14_data);
if ( name() eq "unnamed" )
{
setName("TrimSPGUI" );
}
setIcon($image0 );
setCentralWidget(Qt::Widget(this, "qt_central_widget"));
my $TrimSPGUILayout = Qt::GridLayout(centralWidget(), 1, 1, 11, 6, '$TrimSPGUILayout');
tabs = Qt::TabWidget(centralWidget(), "tabs");
LayersTab = Qt::Widget(tabs, "LayersTab");
groupBox1 = Qt::GroupBox(LayersTab, "groupBox1");
groupBox1->setGeometry( Qt::Rect(5, 0, 445, 485) );
groupBox1->setFrameShape( &Qt::GroupBox::GroupBoxPanel() );
groupBox1->setFrameShadow( &Qt::GroupBox::Sunken() );
my $LayoutWidget = Qt::Widget(groupBox1, '$LayoutWidget');
$LayoutWidget->setGeometry( Qt::Rect(5, 20, 435, 460) );
my $layout27 = Qt::VBoxLayout($LayoutWidget, 11, 3, '$layout27');
my $layout19 = Qt::HBoxLayout(undef, 0, 6, '$layout19');
textLabel1_4 = Qt::Label($LayoutWidget, "textLabel1_4");
$layout19->addWidget(textLabel1_4);
NL = Qt::SpinBox($LayoutWidget, "NL");
NL->setMaxValue( int(7) );
NL->setMinValue( int(1) );
$layout19->addWidget(NL);
my $spacer = Qt::SpacerItem(251, 20, &Qt::SizePolicy::Expanding, &Qt::SizePolicy::Minimum);
$layout19->addItem($spacer);
$layout27->addLayout($layout19);
my $layout26 = Qt::HBoxLayout(undef, 0, 6, '$layout26');
textLabel2_4 = Qt::Label($LayoutWidget, "textLabel2_4");
textLabel2_4->setSizePolicy( Qt::SizePolicy(0, 1, 0, 0, textLabel2_4->sizePolicy()->hasHeightForWidth()) );
$layout26->addWidget(textLabel2_4);
my $spacer_2 = Qt::SpacerItem(101, 20, &Qt::SizePolicy::Fixed, &Qt::SizePolicy::Minimum);
$layout26->addItem($spacer_2);
textLabel3 = Qt::Label($LayoutWidget, "textLabel3");
textLabel3->setSizePolicy( Qt::SizePolicy(1, 5, 0, 0, textLabel3->sizePolicy()->hasHeightForWidth()) );
$layout26->addWidget(textLabel3);
textLabel4 = Qt::Label($LayoutWidget, "textLabel4");
$layout26->addWidget(textLabel4);
$layout27->addLayout($layout26);
BoxL1 = Qt::GroupBox($LayoutWidget, "BoxL1");
BoxL1->setMargin( int(0) );
L1Comp = Qt::LineEdit(BoxL1, "L1Comp");
L1Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L1rho = Qt::LineEdit(BoxL1, "L1rho");
L1rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L1d = Qt::LineEdit(BoxL1, "L1d");
L1d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L1d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L1d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL1);
BoxL2 = Qt::GroupBox($LayoutWidget, "BoxL2");
BoxL2->setEnabled( 0 );
L2Comp = Qt::LineEdit(BoxL2, "L2Comp");
L2Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L2rho = Qt::LineEdit(BoxL2, "L2rho");
L2rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L2d = Qt::LineEdit(BoxL2, "L2d");
L2d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L2d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L2d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL2);
BoxL3 = Qt::GroupBox($LayoutWidget, "BoxL3");
BoxL3->setEnabled( 0 );
L3Comp = Qt::LineEdit(BoxL3, "L3Comp");
L3Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L3rho = Qt::LineEdit(BoxL3, "L3rho");
L3rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L3d = Qt::LineEdit(BoxL3, "L3d");
L3d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L3d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L3d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL3);
BoxL4 = Qt::GroupBox($LayoutWidget, "BoxL4");
BoxL4->setEnabled( 0 );
L4Comp = Qt::LineEdit(BoxL4, "L4Comp");
L4Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L4rho = Qt::LineEdit(BoxL4, "L4rho");
L4rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L4d = Qt::LineEdit(BoxL4, "L4d");
L4d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L4d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L4d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL4);
BoxL5 = Qt::GroupBox($LayoutWidget, "BoxL5");
BoxL5->setEnabled( 0 );
L5Comp = Qt::LineEdit(BoxL5, "L5Comp");
L5Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L5rho = Qt::LineEdit(BoxL5, "L5rho");
L5rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L5d = Qt::LineEdit(BoxL5, "L5d");
L5d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L5d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L5d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL5);
BoxL6 = Qt::GroupBox($LayoutWidget, "BoxL6");
BoxL6->setEnabled( 0 );
L6Comp = Qt::LineEdit(BoxL6, "L6Comp");
L6Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L6rho = Qt::LineEdit(BoxL6, "L6rho");
L6rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L6d = Qt::LineEdit(BoxL6, "L6d");
L6d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L6d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L6d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL6);
BoxL7 = Qt::GroupBox($LayoutWidget, "BoxL7");
BoxL7->setEnabled( 0 );
L7Comp = Qt::LineEdit(BoxL7, "L7Comp");
L7Comp->setGeometry( Qt::Rect(10, 20, 180, 25) );
L7rho = Qt::LineEdit(BoxL7, "L7rho");
L7rho->setGeometry( Qt::Rect(200, 20, 111, 25) );
L7d = Qt::LineEdit(BoxL7, "L7d");
L7d->setGeometry( Qt::Rect(320, 20, 85, 25) );
L7d->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, L7d->sizePolicy()->hasHeightForWidth()) );
$layout27->addWidget(BoxL7);
my $LayoutWidget_2 = Qt::Widget(LayersTab, '$LayoutWidget_2');
$LayoutWidget_2->setGeometry( Qt::Rect(455, 0, 250, 480) );
my $layout13 = Qt::VBoxLayout($LayoutWidget_2, 0, 0, '$layout13');
ProjParam = Qt::GroupBox($LayoutWidget_2, "ProjParam");
my $LayoutWidget_3 = Qt::Widget(ProjParam, '$LayoutWidget_3');
$LayoutWidget_3->setGeometry( Qt::Rect(5, 25, 240, 260) );
my $layout8 = Qt::VBoxLayout($LayoutWidget_3, 0, 0, '$layout8');
my $layout7 = Qt::HBoxLayout(undef, 0, 6, '$layout7');
textLabel1 = Qt::Label($LayoutWidget_3, "textLabel1");
$layout7->addWidget(textLabel1);
ProjType = Qt::ComboBox(0, $LayoutWidget_3, "ProjType");
ProjType->setSizePolicy( Qt::SizePolicy(0, 0, 0, 0, ProjType->sizePolicy()->hasHeightForWidth()) );
$layout7->addWidget(ProjType);
$layout8->addLayout($layout7);
my $layout6 = Qt::HBoxLayout(undef, 0, 6, '$layout6');
my $layout5 = Qt::VBoxLayout(undef, 0, 0, '$layout5');
NLabel = Qt::Label($LayoutWidget_3, "NLabel");
NLabel->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, NLabel->sizePolicy()->hasHeightForWidth()) );
$layout5->addWidget(NLabel);
z0Label = Qt::Label($LayoutWidget_3, "z0Label");
$layout5->addWidget(z0Label);
dzLabel = Qt::Label($LayoutWidget_3, "dzLabel");
$layout5->addWidget(dzLabel);
ELabel = Qt::Label($LayoutWidget_3, "ELabel");
$layout5->addWidget(ELabel);
SigELabel = Qt::Label($LayoutWidget_3, "SigELabel");
$layout5->addWidget(SigELabel);
AlbleLabel = Qt::Label($LayoutWidget_3, "AlbleLabel");
$layout5->addWidget(AlbleLabel);
SigAngleLabel = Qt::Label($LayoutWidget_3, "SigAngleLabel");
$layout5->addWidget(SigAngleLabel);
SeedLabel = Qt::Label($LayoutWidget_3, "SeedLabel");
$layout5->addWidget(SeedLabel);
$layout6->addLayout($layout5);
my $layout4 = Qt::VBoxLayout(undef, 0, 0, '$layout4');
NProj = Qt::LineEdit($LayoutWidget_3, "NProj");
NProj->setSizePolicy( Qt::SizePolicy(7, 0, 0, 0, NProj->sizePolicy()->hasHeightForWidth()) );
NProj->setMaximumSize( Qt::Size(32767, 32767) );
$layout4->addWidget(NProj);
z0 = Qt::LineEdit($LayoutWidget_3, "z0");
z0->setMaximumSize( Qt::Size(32767, 32767) );
$layout4->addWidget(z0);
dz = Qt::LineEdit($LayoutWidget_3, "dz");
$layout4->addWidget(dz);
E = Qt::LineEdit($LayoutWidget_3, "E");
$layout4->addWidget(E);
SigE = Qt::LineEdit($LayoutWidget_3, "SigE");
$layout4->addWidget(SigE);
Angle = Qt::LineEdit($LayoutWidget_3, "Angle");
$layout4->addWidget(Angle);
SigAngle = Qt::LineEdit($LayoutWidget_3, "SigAngle");
$layout4->addWidget(SigAngle);
Seed = Qt::LineEdit($LayoutWidget_3, "Seed");
$layout4->addWidget(Seed);
$layout6->addLayout($layout4);
$layout8->addLayout($layout6);
$layout13->addWidget(ProjParam);
groupBox15 = Qt::GroupBox($LayoutWidget_2, "groupBox15");
my $LayoutWidget_4 = Qt::Widget(groupBox15, '$LayoutWidget_4');
$LayoutWidget_4->setGeometry( Qt::Rect(6, 23, 240, 100) );
my $layout14 = Qt::VBoxLayout($LayoutWidget_4, 0, 0, '$layout14');
textLabelFN = Qt::Label($LayoutWidget_4, "textLabelFN");
$layout14->addWidget(textLabelFN);
FNPre = Qt::LineEdit($LayoutWidget_4, "FNPre");
$layout14->addWidget(FNPre);
textLabelPath = Qt::Label($LayoutWidget_4, "textLabelPath");
$layout14->addWidget(textLabelPath);
my $layout13_2 = Qt::HBoxLayout(undef, 0, 6, '$layout13_2');
Path = Qt::LineEdit($LayoutWidget_4, "Path");
$layout13_2->addWidget(Path);
Browse = Qt::PushButton($LayoutWidget_4, "Browse");
Browse->setSizePolicy( Qt::SizePolicy(7, 0, 0, 0, Browse->sizePolicy()->hasHeightForWidth()) );
$layout13_2->addWidget(Browse);
$layout14->addLayout($layout13_2);
$layout13->addWidget(groupBox15);
my $layout12 = Qt::HBoxLayout(undef, 4, 6, '$layout12');
Start = Qt::PushButton($LayoutWidget_2, "Start");
Start->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Start->sizePolicy()->hasHeightForWidth()) );
Start->setMinimumSize( Qt::Size(0, 25) );
Start->setPixmap( $image1 );
$layout12->addWidget(Start);
Quit = Qt::PushButton($LayoutWidget_2, "Quit");
Quit->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Quit->sizePolicy()->hasHeightForWidth()) );
Quit->setMinimumSize( Qt::Size(0, 25) );
Quit->setPixmap( $image2 );
$layout12->addWidget(Quit);
$layout13->addLayout($layout12);
tabs->insertTab( LayersTab, "" );
AddParTab = Qt::Widget(tabs, "AddParTab");
AddParam = Qt::GroupBox(AddParTab, "AddParam");
AddParam->setGeometry( Qt::Rect(5, 0, 245, 210) );
textLabelEF = Qt::Label(AddParam, "textLabelEF");
textLabelEF->setGeometry( Qt::Rect(12, 26, 63, 25) );
textLabelSHEATH = Qt::Label(AddParam, "textLabelSHEATH");
textLabelSHEATH->setGeometry( Qt::Rect(12, 76, 63, 25) );
textLabelERC = Qt::Label(AddParam, "textLabelERC");
textLabelERC->setGeometry( Qt::Rect(12, 101, 63, 26) );
textLabelRD = Qt::Label(AddParam, "textLabelRD");
textLabelRD->setGeometry( Qt::Rect(12, 127, 63, 25) );
KDEE2 = Qt::SpinBox(AddParam, "KDEE2");
KDEE2->setGeometry( Qt::Rect(185, 100, 52, 26) );
KDEE2->setMaxValue( int(3) );
KDEE2->setMinValue( int(1) );
KDEE2->setValue( int(3) );
KDEE1 = Qt::SpinBox(AddParam, "KDEE1");
KDEE1->setGeometry( Qt::Rect(185, 75, 52, 26) );
KDEE1->setMaxValue( int(5) );
KDEE1->setMinValue( int(1) );
KDEE1->setValue( int(4) );
textLabelIRL = Qt::Label(AddParam, "textLabelIRL");
textLabelIRL->setGeometry( Qt::Rect(131, 177, 53, 25) );
textLabelIPOTR = Qt::Label(AddParam, "textLabelIPOTR");
textLabelIPOTR->setGeometry( Qt::Rect(131, 152, 53, 25) );
textLabelIPOT = Qt::Label(AddParam, "textLabelIPOT");
textLabelIPOT->setGeometry( Qt::Rect(131, 126, 53, 26) );
textLabelKDEE2 = Qt::Label(AddParam, "textLabelKDEE2");
textLabelKDEE2->setGeometry( Qt::Rect(131, 101, 53, 25) );
textLabelKDEE1 = Qt::Label(AddParam, "textLabelKDEE1");
textLabelKDEE1->setGeometry( Qt::Rect(131, 76, 53, 25) );
textLabelKK0R = Qt::Label(AddParam, "textLabelKK0R");
textLabelKK0R->setGeometry( Qt::Rect(131, 51, 53, 25) );
textLabelCA = Qt::Label(AddParam, "textLabelCA");
textLabelCA->setGeometry( Qt::Rect(12, 152, 63, 25) );
textLabelEmpty = Qt::Label(AddParam, "textLabelEmpty");
textLabelEmpty->setEnabled( 0 );
textLabelEmpty->setGeometry( Qt::Rect(12, 175, 63, 25) );
lineEditEmpty = Qt::LineEdit(AddParam, "lineEditEmpty");
lineEditEmpty->setEnabled( 0 );
lineEditEmpty->setGeometry( Qt::Rect(77, 175, 52, 25) );
lineEditEmpty->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, lineEditEmpty->sizePolicy()->hasHeightForWidth()) );
KK0R = Qt::SpinBox(AddParam, "KK0R");
KK0R->setGeometry( Qt::Rect(185, 50, 52, 26) );
KK0R->setMaxValue( int(4) );
KK0R->setMinValue( int(0) );
KK0R->setValue( int(2) );
KK0 = Qt::SpinBox(AddParam, "KK0");
KK0->setGeometry( Qt::Rect(185, 25, 52, 26) );
KK0->setMaxValue( int(4) );
KK0->setMinValue( int(0) );
KK0->setValue( int(2) );
textLabelKK0 = Qt::Label(AddParam, "textLabelKK0");
textLabelKK0->setGeometry( Qt::Rect(131, 25, 53, 25) );
EF = Qt::LineEdit(AddParam, "EF");
EF->setGeometry( Qt::Rect(77, 26, 52, 25) );
EF->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, EF->sizePolicy()->hasHeightForWidth()) );
SHEATH = Qt::LineEdit(AddParam, "SHEATH");
SHEATH->setGeometry( Qt::Rect(77, 76, 52, 25) );
SHEATH->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, SHEATH->sizePolicy()->hasHeightForWidth()) );
ERC = Qt::LineEdit(AddParam, "ERC");
ERC->setGeometry( Qt::Rect(77, 101, 52, 26) );
ERC->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, ERC->sizePolicy()->hasHeightForWidth()) );
RD = Qt::LineEdit(AddParam, "RD");
RD->setGeometry( Qt::Rect(77, 127, 52, 25) );
RD->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, RD->sizePolicy()->hasHeightForWidth()) );
CA = Qt::LineEdit(AddParam, "CA");
CA->setGeometry( Qt::Rect(77, 152, 52, 25) );
CA->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, CA->sizePolicy()->hasHeightForWidth()) );
ESB = Qt::LineEdit(AddParam, "ESB");
ESB->setGeometry( Qt::Rect(77, 51, 52, 25) );
ESB->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, ESB->sizePolicy()->hasHeightForWidth()) );
IPOT = Qt::SpinBox(AddParam, "IPOT");
IPOT->setGeometry( Qt::Rect(185, 125, 52, 26) );
IPOT->setMaxValue( int(3) );
IPOT->setMinValue( int(1) );
IPOT->setValue( int(2) );
IPOTR = Qt::SpinBox(AddParam, "IPOTR");
IPOTR->setGeometry( Qt::Rect(185, 150, 52, 26) );
IPOTR->setMaxValue( int(3) );
IPOTR->setMinValue( int(1) );
IRL = Qt::SpinBox(AddParam, "IRL");
IRL->setGeometry( Qt::Rect(186, 176, 52, 26) );
IRL->setMaxValue( int(1) );
textLabelESB = Qt::Label(AddParam, "textLabelESB");
textLabelESB->setGeometry( Qt::Rect(12, 51, 63, 25) );
tabs->insertTab( AddParTab, "" );
ScansTab = Qt::Widget(tabs, "ScansTab");
ScanSeq = Qt::GroupBox(ScansTab, "ScanSeq");
ScanSeq->setGeometry( Qt::Rect(5, 0, 550, 250) );
ScanSeq->setCheckable( 1 );
ScanSeq->setChecked( 0 );
ScanMode = Qt::ButtonGroup(ScanSeq, "ScanMode");
ScanMode->setGeometry( Qt::Rect(230, 20, 310, 215) );
ScanMode->setCheckable( 0 );
ScanMode->setChecked( 0 );
ScanMode->setExclusive( 1 );
ScanMode->setRadioButtonExclusive( 1 );
my $LayoutWidget_5 = Qt::Widget(ScanMode, '$LayoutWidget_5');
$LayoutWidget_5->setGeometry( Qt::Rect(11, 178, 290, 27) );
my $layout3 = Qt::HBoxLayout($LayoutWidget_5, 0, 0, '$layout3');
textLabel2 = Qt::Label($LayoutWidget_5, "textLabel2");
$layout3->addWidget(textLabel2);
SFrom = Qt::LineEdit($LayoutWidget_5, "SFrom");
SFrom->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, SFrom->sizePolicy()->hasHeightForWidth()) );
$layout3->addWidget(SFrom);
textLabel2_2 = Qt::Label($LayoutWidget_5, "textLabel2_2");
$layout3->addWidget(textLabel2_2);
STo = Qt::LineEdit($LayoutWidget_5, "STo");
STo->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, STo->sizePolicy()->hasHeightForWidth()) );
$layout3->addWidget(STo);
textLabel2_2_2_2 = Qt::Label($LayoutWidget_5, "textLabel2_2_2_2");
$layout3->addWidget(textLabel2_2_2_2);
SStep = Qt::LineEdit($LayoutWidget_5, "SStep");
SStep->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, SStep->sizePolicy()->hasHeightForWidth()) );
$layout3->addWidget(SStep);
ScanList = Qt::LineEdit(ScanMode, "ScanList");
ScanList->setGeometry( Qt::Rect(11, 46, 290, 26) );
dzListLabel = Qt::Label(ScanMode, "dzListLabel");
dzListLabel->setGeometry( Qt::Rect(13, 79, 295, 19) );
LoopRadio = Qt::RadioButton(ScanMode, "LoopRadio");
LoopRadio->setGeometry( Qt::Rect(10, 150, 240, 22) );
LoopRadio->setChecked( 1 );
ListRadio = Qt::RadioButton(ScanMode, "ListRadio");
ListRadio->setGeometry( Qt::Rect(10, 20, 240, 22) );
ScanListdz = Qt::LineEdit(ScanMode, "ScanListdz");
ScanListdz->setEnabled( 0 );
ScanListdz->setGeometry( Qt::Rect(11, 108, 290, 26) );
buttonGroup2 = Qt::ButtonGroup(ScanSeq, "buttonGroup2");
buttonGroup2->setGeometry( Qt::Rect(10, 20, 216, 215) );
buttonGroup2->setExclusive( 1 );
SigERadio = Qt::RadioButton(buttonGroup2, "SigERadio");
SigERadio->setGeometry( Qt::Rect(4, 47, 211, 24) );
NProjRadio = Qt::RadioButton(buttonGroup2, "NProjRadio");
NProjRadio->setGeometry( Qt::Rect(4, 122, 211, 24) );
dRadio = Qt::RadioButton(buttonGroup2, "dRadio");
dRadio->setGeometry( Qt::Rect(5, 149, 153, 24) );
ScandL = Qt::SpinBox(buttonGroup2, "ScandL");
ScandL->setGeometry( Qt::Rect(158, 148, 56, 26) );
ScandL->setMaxValue( int(7) );
ScandL->setMinValue( int(1) );
SigAngleRadio = Qt::RadioButton(buttonGroup2, "SigAngleRadio");
SigAngleRadio->setGeometry( Qt::Rect(4, 97, 211, 24) );
AngleRadio = Qt::RadioButton(buttonGroup2, "AngleRadio");
AngleRadio->setGeometry( Qt::Rect(4, 72, 211, 24) );
AngleRadio->setChecked( 0 );
ERadio = Qt::RadioButton(buttonGroup2, "ERadio");
ERadio->setGeometry( Qt::Rect(4, 22, 211, 24) );
ERadio->setChecked( 1 );
tabs->insertTab( ScansTab, "" );
$TrimSPGUILayout->addWidget(tabs, 0, 0);
Progress = Qt::ProgressBar(centralWidget(), "Progress");
Progress->setFrameShape( &Qt::ProgressBar::WinPanel() );
$TrimSPGUILayout->addWidget(Progress, 1, 0);
fileNewAction= Qt::Action(this, "fileNewAction");
fileNewAction->setIconSet( Qt::IconSet($image3) );
fileOpenAction= Qt::Action(this, "fileOpenAction");
fileOpenAction->setIconSet( Qt::IconSet($image4) );
fileSaveAction= Qt::Action(this, "fileSaveAction");
fileSaveAction->setIconSet( Qt::IconSet($image5) );
fileSaveAsAction= Qt::Action(this, "fileSaveAsAction");
fileSaveAsAction->setIconSet( Qt::IconSet($image6) );
fileChangeDirAction= Qt::Action(this, "fileChangeDirAction");
fileChangeDirAction->setIconSet( Qt::IconSet($image7) );
fileQuitAction= Qt::Action(this, "fileQuitAction");
fileQuitAction->setIconSet( Qt::IconSet($image2) );
editUndoAction= Qt::Action(this, "editUndoAction");
editUndoAction->setIconSet( Qt::IconSet($image8) );
editRedoAction= Qt::Action(this, "editRedoAction");
editRedoAction->setIconSet( Qt::IconSet($image9) );
editCutAction= Qt::Action(this, "editCutAction");
editCutAction->setIconSet( Qt::IconSet($image10) );
editCopyAction= Qt::Action(this, "editCopyAction");
editCopyAction->setIconSet( Qt::IconSet($image11) );
editPasteAction= Qt::Action(this, "editPasteAction");
editPasteAction->setIconSet( Qt::IconSet($image12) );
plotProfilesAction= Qt::Action(this, "plotProfilesAction");
plotProfilesAction->setIconSet( Qt::IconSet($image0) );
helpContentsAction= Qt::Action(this, "helpContentsAction");
helpContentsAction->setIconSet( Qt::IconSet($image13) );
helpIndexAction= Qt::Action(this, "helpIndexAction");
helpAboutAction= Qt::Action(this, "helpAboutAction");
helpAboutAction->setIconSet( Qt::IconSet($image0) );
plotFractionsAction= Qt::Action(this, "plotFractionsAction");
plotFractionsAction->setEnabled( 0 );
plotFractionsAction->setIconSet( Qt::IconSet($image14) );
fileStartAction= Qt::Action(this, "fileStartAction");
fileStartAction->setIconSet( Qt::IconSet($image1) );
helpTmpAction= Qt::Action(this, "helpTmpAction");
fileLoadAction= Qt::Action(this, "fileLoadAction");
MenuBar= Qt::MenuBar( this, "MenuBar");
File = Qt::PopupMenu( this );
fileStartAction->addTo( File );
File->insertSeparator();
fileOpenAction->addTo( File );
fileSaveAction->addTo( File );
fileSaveAsAction->addTo( File );
File->insertSeparator();
fileChangeDirAction->addTo( File );
fileQuitAction->addTo( File );
MenuBar->insertItem( "", File, 1 );
Plot = Qt::PopupMenu( this );
Plot->insertSeparator();
plotProfilesAction->addTo( Plot );
plotFractionsAction->addTo( Plot );
MenuBar->insertItem( "", Plot, 2 );
helpMenu = Qt::PopupMenu( this );
helpContentsAction->addTo( helpMenu );
helpMenu->insertSeparator();
helpAboutAction->addTo( helpMenu );
MenuBar->insertItem( "", helpMenu, 3 );
languageChange();
my $resize = Qt::Size(736, 626);
$resize = $resize->expandedTo(minimumSizeHint());
resize( $resize );
clearWState( &Qt::WState_Polished );
Qt::Object::connect(fileChangeDirAction, SIGNAL "activated()", this, SLOT "DirectoryBrowse()");
Qt::Object::connect(fileQuitAction, SIGNAL "activated()", this, SLOT "ConfirmQuit()");
Qt::Object::connect(helpContentsAction, SIGNAL "activated()", this, SLOT "OpenHelpWindow()");
Qt::Object::connect(ScanSeq, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(Start, SIGNAL "clicked()", this, SLOT "StartSequenceOne()");
Qt::Object::connect(ERadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(SigERadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(NProjRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(ScandL, SIGNAL "valueChanged(int)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(dRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(NL, SIGNAL "valueChanged(int)", this, SLOT "PrepLayers()");
Qt::Object::connect(ProjType, SIGNAL "activated(int)", this, SLOT "ProjSmartDefaults()");
Qt::Object::connect(Browse, SIGNAL "clicked()", this, SLOT "DirectoryBrowse()");
Qt::Object::connect(Quit, SIGNAL "clicked()", this, SLOT "ConfirmQuit()");
Qt::Object::connect(ListRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(fileStartAction, SIGNAL "activated()", this, SLOT "StartSequenceOne()");
Qt::Object::connect(plotProfilesAction, SIGNAL "activated()", this, SLOT "PlotProfiles()");
Qt::Object::connect(helpAboutAction, SIGNAL "activated()", this, SLOT "OpenAboutWindow()");
Qt::Object::connect(fileOpenAction, SIGNAL "activated()", this, SLOT "OpenFile()");
Qt::Object::connect(fileSaveAction, SIGNAL "activated()", this, SLOT "SaveFile()");
Qt::Object::connect(fileSaveAsAction, SIGNAL "activated()", this, SLOT "SaveFileAs()");
Qt::Object::connect(AngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(SigAngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
}
# Sets the strings of the subwidgets using the current
# language.
sub languageChange
{
setCaption(trUtf8("TrimSP GUI") );
groupBox1->setTitle( trUtf8("Layers") );
textLabel1_4->setText( trUtf8("Number of Layers") );
Qt::WhatsThis::add(NL, trUtf8("Select the number of the layers of your structure (maximum 7 layers)."));
textLabel2_4->setText( trUtf8("Composition") );
Qt::ToolTip::add(textLabel2_4, trUtf8("Chemical formula"));
textLabel3->setText( trUtf8("Density [g/cm3]") );
textLabel4->setText( trUtf8("Thickness [Å]") );
BoxL1->setTitle( trUtf8("Layer 1") );
L1Comp->setText( trUtf8("SrTiO3") );
Qt::ToolTip::add(L1Comp, trUtf8("Chemical formula of L1"));
Qt::WhatsThis::add(L1Comp, trUtf8("Insert the chemical formula here as you would write it."));
L1rho->setText( trUtf8("5.12") );
Qt::WhatsThis::add(L1rho, trUtf8("Insert the density of the layer here."));
L1d->setText( trUtf8("200") );
Qt::WhatsThis::add(L1d, trUtf8("Insert the thickness of the layer here."));
BoxL2->setTitle( trUtf8("Layer 2") );
BoxL3->setTitle( trUtf8("Layer 3") );
BoxL4->setTitle( trUtf8("Layer 4") );
BoxL5->setTitle( trUtf8("Layer 5") );
BoxL6->setTitle( trUtf8("Layer 6") );
BoxL7->setTitle( trUtf8("Layer 7") );
ProjParam->setTitle( trUtf8("Projectile parameters") );
textLabel1->setText( trUtf8("Projectile") );
ProjType->clear();
ProjType->insertItem( trUtf8("Muon") );
ProjType->insertItem( trUtf8("Li8") );
ProjType->insertItem( trUtf8("B12") );
ProjType->insertItem( trUtf8("H") );
Qt::WhatsThis::add(ProjType, trUtf8("Choose the projectile type."));
NLabel->setText( trUtf8("Number of projectiles") );
z0Label->setText( trUtf8("Starting depth [Å]") );
dzLabel->setText( trUtf8("Depth increment [Å]") );
ELabel->setText( trUtf8("Energy [eV]") );
SigELabel->setText( trUtf8("Energy sigma [eV]") );
AlbleLabel->setText( trUtf8("Angle [deg]") );
SigAngleLabel->setText( trUtf8("Angle sigma [deg]") );
SeedLabel->setText( trUtf8("Random seed") );
NProj->setText( trUtf8("10000") );
Qt::WhatsThis::add(NProj, trUtf8("The number of projectiles to be implanted in the sample. Larger number better statistics."));
z0->setText( trUtf8("0.0") );
Qt::WhatsThis::add(z0, trUtf8("Consider implanted projectiles starting from this depth."));
dz->setText( trUtf8("10.0") );
Qt::WhatsThis::add(dz, trUtf8("The steps in implantation depth at which the number of stopped projectiles will be counted. Smaller number for finer implantation histogram."));
E->setText( trUtf8("2000") );
Qt::WhatsThis::add(E, trUtf8("The average implantation energy of the projectile."));
SigE->setText( trUtf8("450") );
Qt::WhatsThis::add(SigE, trUtf8("The spread in implantation energy. For muons this is typically 400-450 eV. For Li8 this is practically zero."));
Angle->setText( trUtf8("0") );
Qt::WhatsThis::add(Angle, trUtf8("The average implantation angle."));
SigAngle->setText( trUtf8("15") );
Qt::WhatsThis::add(SigAngle, trUtf8("The spread in implantation angles."));
Seed->setText( trUtf8("78741") );
Qt::WhatsThis::add(Seed, trUtf8("The random number generator seed."));
groupBox15->setTitle( trUtf8("File Names") );
textLabelFN->setText( trUtf8("File names prefix") );
FNPre->setText( trUtf8("SrTiO3") );
Qt::WhatsThis::add(FNPre, trUtf8("The names of the saved files will start with this prefix."));
textLabelPath->setText( trUtf8("Save in subdirectory") );
Path->setText( trUtf8("./") );
Qt::WhatsThis::add(Path, trUtf8("This is the path were the input/output files will be stored."));
Browse->setText( trUtf8("Browse") );
Start->setText( undef );
Qt::ToolTip::add(Start, trUtf8("Start"));
Quit->setText( undef );
Qt::ToolTip::add(Quit, trUtf8("Quit"));
Qt::WhatsThis::add(Quit, trUtf8("Quit the application."));
tabs->changeTab( LayersTab, trUtf8("Layers") );
AddParam->setTitle( trUtf8("Additional parameters") );
textLabelEF->setText( trUtf8("EF") );
textLabelSHEATH->setText( trUtf8("SHEATH") );
textLabelERC->setText( trUtf8("ERC") );
textLabelRD->setText( trUtf8("RD") );
textLabelIRL->setText( trUtf8("IRL") );
textLabelIPOTR->setText( trUtf8("IPOTR") );
textLabelIPOT->setText( trUtf8("IPOT") );
textLabelKDEE2->setText( trUtf8("KDEE2") );
textLabelKDEE1->setText( trUtf8("KDEE1") );
textLabelKK0R->setText( trUtf8("KK0R") );
textLabelCA->setText( trUtf8("CA") );
textLabelEmpty->setText( undef );
lineEditEmpty->setText( undef );
textLabelKK0->setText( trUtf8("KK0") );
EF->setText( trUtf8("0.5") );
SHEATH->setText( trUtf8("0.0") );
ERC->setText( trUtf8("0.0") );
RD->setText( trUtf8("50.0") );
CA->setText( trUtf8("1.0") );
ESB->setText( trUtf8("0.0") );
textLabelESB->setText( trUtf8("ESB") );
tabs->changeTab( AddParTab, trUtf8("Additional Parameters") );
ScanSeq->setTitle( trUtf8("Scan sequence") );
Qt::WhatsThis::add(ScanSeq, trUtf8("Select to scan a certain parameter in the simulation and produce multiple output files for each value of this parameter."));
ScanMode->setTitle( trUtf8("Scan mode") );
textLabel2->setText( trUtf8("From") );
SFrom->setText( trUtf8("1000") );
textLabel2_2->setText( trUtf8("To") );
STo->setText( trUtf8("28000") );
textLabel2_2_2_2->setText( trUtf8("Step") );
SStep->setText( trUtf8("1000") );
ScanList->setText( trUtf8("1000,6000,10000") );
Qt::WhatsThis::add(ScanList, trUtf8("A list of values to scan (separated by commas)."));
dzListLabel->setText( trUtf8("Corresponding depth increment (optional)") );
LoopRadio->setText( trUtf8("Loop") );
Qt::WhatsThis::add(LoopRadio, trUtf8("The values of the scanned parameter are evenly spaced."));
ListRadio->setText( trUtf8("List of values") );
Qt::WhatsThis::add(ListRadio, trUtf8("The values of the scanned parameter are from a list."));
ScanListdz->setText( undef );
Qt::WhatsThis::add(ScanListdz, trUtf8("A list of values to scan (separated by commas)."));
buttonGroup2->setTitle( trUtf8("Scan Parameter") );
SigERadio->setText( trUtf8("Energy sigma") );
Qt::WhatsThis::add(SigERadio, trUtf8("Scan spread in implantation energy."));
NProjRadio->setText( trUtf8("Projectile number") );
Qt::WhatsThis::add(NProjRadio, trUtf8("Scan the number of implanted projectiles."));
dRadio->setText( trUtf8("Thickness of Layer") );
Qt::WhatsThis::add(dRadio, trUtf8("Scan the thickness of the selected layer."));
Qt::WhatsThis::add(ScandL, trUtf8("This is the layer whose thickness will be scanned"));
SigAngleRadio->setText( trUtf8("Angle sigma") );
Qt::WhatsThis::add(SigAngleRadio, trUtf8("Scan spread in implantation energy."));
AngleRadio->setText( trUtf8("Angle") );
Qt::WhatsThis::add(AngleRadio, trUtf8("Scan implantation energy."));
ERadio->setText( trUtf8("Energy") );
Qt::WhatsThis::add(ERadio, trUtf8("Scan implantation energy."));
tabs->changeTab( ScansTab, trUtf8("Scans (Disbaled)") );
fileNewAction->setText( trUtf8("New") );
fileNewAction->setMenuText( trUtf8("&New") );
fileNewAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+N") ) );
fileOpenAction->setText( trUtf8("Open") );
fileOpenAction->setMenuText( trUtf8("&Open...") );
fileOpenAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+O") ) );
fileSaveAction->setText( trUtf8("Save") );
fileSaveAction->setMenuText( trUtf8("&Save") );
fileSaveAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+S") ) );
fileSaveAsAction->setText( trUtf8("Save As") );
fileSaveAsAction->setMenuText( trUtf8("Save &As...") );
fileSaveAsAction->setAccel( Qt::KeySequence( undef ) );
fileChangeDirAction->setText( trUtf8("Change Folder") );
fileChangeDirAction->setMenuText( trUtf8("&Change Folder") );
fileChangeDirAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+C") ) );
fileQuitAction->setText( trUtf8("Quit") );
fileQuitAction->setMenuText( trUtf8("&Quit") );
fileQuitAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+Q") ) );
editUndoAction->setText( trUtf8("Undo") );
editUndoAction->setMenuText( trUtf8("&Undo") );
editUndoAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+Z") ) );
editRedoAction->setText( trUtf8("Redo") );
editRedoAction->setMenuText( trUtf8("&Redo") );
editRedoAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+Y") ) );
editCutAction->setText( trUtf8("Cut") );
editCutAction->setMenuText( trUtf8("Cu&t") );
editCutAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+X") ) );
editCopyAction->setText( trUtf8("Copy") );
editCopyAction->setMenuText( trUtf8("&Copy") );
editCopyAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+C") ) );
editPasteAction->setText( trUtf8("Paste") );
editPasteAction->setMenuText( trUtf8("&Paste") );
editPasteAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+V") ) );
plotProfilesAction->setText( trUtf8("&Plot Profiles") );
plotProfilesAction->setMenuText( trUtf8("&Plot Profiles") );
plotProfilesAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+P, Ctrl+R") ) );
helpContentsAction->setText( trUtf8("Contents") );
helpContentsAction->setMenuText( trUtf8("&Contents...") );
helpContentsAction->setAccel( Qt::KeySequence( undef ) );
helpIndexAction->setText( trUtf8("Index") );
helpIndexAction->setMenuText( trUtf8("&Index...") );
helpIndexAction->setAccel( Qt::KeySequence( undef ) );
helpAboutAction->setText( trUtf8("About") );
helpAboutAction->setMenuText( trUtf8("&About") );
helpAboutAction->setAccel( Qt::KeySequence( undef ) );
plotFractionsAction->setText( trUtf8("Plot Fractions") );
plotFractionsAction->setMenuText( trUtf8("Plot Fractions") );
plotFractionsAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+P, Ctrl+F") ) );
fileStartAction->setText( trUtf8("&Start") );
fileStartAction->setMenuText( trUtf8("Start") );
fileStartAction->setAccel( Qt::KeySequence( trUtf8("Alt+S") ) );
helpTmpAction->setText( trUtf8("Tmp") );
helpTmpAction->setMenuText( trUtf8("Tmp") );
fileLoadAction->setText( trUtf8("Load") );
fileLoadAction->setMenuText( trUtf8("Load") );
MenuBar->findItem( 1 )->setText( trUtf8("&File") );
MenuBar->findItem( 2 )->setText( trUtf8("&Plot") );
MenuBar->findItem( 3 )->setText( trUtf8("&Help") );
}
sub ToggleScanSingle
{
# Toggle between scan/single run mode
# First collect some information
my %All=();
$All{"ScanSeq"}=ScanSeq->isChecked();
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
$All{"ListRadio"}=ListRadio->isChecked();
$All{"LoopRadio"}=LoopRadio->isChecked();
# Enable everything
E->setDisabled(0);
# E->setText("2000");
SigE->setDisabled(0);
# SigE->setText("450");
Angle->setDisabled(0);
# Angle->setText("0");
SigAngle->setDisabled(0);
# SigAngle->setText("15");
NProj->setDisabled(0);
# NProj->setText("10000");
for (my $i=1;$i<=7;$i++) {
my $LayerName = "L".$i."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(0);
}
# Enable depth increment for Energy scan only
if ($All{"ERadio"} & $All{"ListRadio"}) {
dzListLabel->setHidden(0);
ScanListdz->setHidden(0);
dzListLabel->setDisabled(0);
ScanListdz->setDisabled(0);
} else {
dzListLabel->setHidden(1);
ScanListdz->setHidden(1);
dzListLabel->setDisabled(1);
ScanListdz->setDisabled(1);
}
if ($All{"ScanSeq"}==1) {
# But if we are in scan mode disable the appropriate box
# Start by enabling everything
E->setDisabled(0);
SigE->setDisabled(0);
Angle->setDisabled(0);
SigAngle->setDisabled(0);
NProj->setDisabled(0);
my $LayerName = "L".$All{"ScandL"}."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(0);
# then disable one
if ($All{"ERadio"}) {
E->setDisabled(1);
# E->setText("");
} elsif ($All{"SigERadio"}) {
SigE->setDisabled(1);
# SigE->setText("");
} elsif ($All{"AngleRadio"}) {
Angle->setDisabled(1);
# Angle->setText("");
} elsif ($All{"SigAngleRadio"}) {
SigAngle->setDisabled(1);
# SigAngle->setText("");
} elsif ($All{"NProjRadio"}) {
NProj->setDisabled(1);
# NProj->setText("");
} elsif($All{"dRadio"}) {
$LayerAttrib->setDisabled(1);
# $LayerAttrib->setText("");
}
# and change title of tab to say enabled
tabs->changeTab( ScansTab, trUtf8("Scans (Enabled)") );
} else {
# Otherwise the title of the tab says disabled
tabs->changeTab( ScansTab, trUtf8("Scans (Disabled)") );
}
}
sub PrepLayers
{
my %All=();
$All{"NL"}=NL->text();
# Enable layers up to required and disable the rest
for (my $i=1;$i<=7;$i++) {
my $LayerName = "BoxL".$i;
my $LayerAttrib = child($LayerName);
if ($i<=$All{"NL"}) {
$LayerAttrib->setDisabled(0);
} else {
$LayerAttrib->setDisabled(1);
}
}
}
sub ProjSmartDefaults
{
my %All=();
# Get typeof projectile
$All{"ProjType"}=ProjType->currentText();
if ($All{"ProjType"} eq "Muon") {
# For a muon set Sigma E=450 eV and Sigman angle=15 degrees by default
SigE->setText("450");
SigAngle->setText("15");
} elsif ( $All{"ProjType"} eq "Li8") {
# For Li8 set Sigma E=0 eV and Sigam angle=0 degrees by default
SigE->setText("0");
SigAngle->setText("0");
}
}
sub OpenHelpWindow
{
my $HelpText="
This is a GUI that uses the Trim.SP simulation binary to calculate the
implantation profiles if implanted projectiles in a multilayer thin film
structures.
Usage:
Initially define your multilayer structure. This can be formed of a maximum
of 7 layers. Each layer is defined by giving its chemical formula, its
density in units of g/cm^3, and its thickness in Ångstrom.
Next, choose the type of projectile to be implanted in the structure from
the drop-down menu. Set the 'Number of projectiles' to be implanted, were
a higher number will give better statistics. Finally define the rest of the pro-
jectile parameters such as implantation energy, energy spread, etc.
In the 'File names prefix' give a string which will be used to construct the
input/output file names of the simulation. These files will be collected and
saved in the subdirectory provided in 'Save in subdirectory' box.
The 'Additional Parameters' tab allows you to change additional parameters
In the simulation. Change these only if you know what you are doing, and have
read the original documentation of the Trim.SP simulation.
The 'Scans' tabs provides the ability to change the value of a certain
parameter in the simulation, such as implantation energy, spread in energy,
number of implanted projectiles, and the thickness of one layer. The values of
this parameter can be changed by a regualr step size ('Loop' checkbox and
parameters), or following a set of values ('List of values' checkbox and the
comma separated values).
For more details click on the question mark on the top right corner, and then
click on the item you want to lear about.
Copyright 2009 (C) by Zaher Salman and the LEM Group
Version 14 Sep. 2009
";
my $HelpWindow = Qt::MessageBox::information( this, "TrimSP GUI Help Window",$HelpText);
}
sub CollectValues
{
# This subroutine returns a hash with all the values collected from the GUI.
my %All=();
$All{"NL"}=NL->text();
# Collect layers parameters
for (my $i=1;$i<=$All{"NL"};$i++) {
my $LComp = "L".$i."Comp";
my $Lrho="L".$i."rho";
my $Ld="L".$i."d";
my $LCompAttrib = child($LComp);
my $LrhoAttrib=child($Lrho);
my $LdAttrib=child($Ld);
$All{"$LComp"}=$LCompAttrib->text();
$All{"$Lrho"}=$LrhoAttrib->text();
$All{"$Ld"}=$LdAttrib->text();
}
# Collect projectile parameters
$All{"ProjType"}=ProjType->currentText();
$All{"NProj"}=NProj->text();
if ($All{"NProj"}==0) {
$All{"NProj"}=10000;
NProj->setText("10000");
}
$All{"z0"}=z0->text();
$All{"dz"}=dz->text();
$All{"E"}=E->text();
$All{"SigE"}=SigE->text();
$All{"Angle"}=Angle->text();
$All{"SigAngle"}=SigAngle->text();
$All{"Seed"}=Seed->text();
# Format projectile parameters
$All{"NProj"}=sprintf("%8d",$All{"NProj"});
$All{"z0"}=sprintf("%6.2f",$All{"z0"});
$All{"dz"}=sprintf("%6.2f",$All{"dz"});
$All{"E"}=sprintf("%11.2f",$All{"E"});
$All{"SigE"}=sprintf("%8.2f",$All{"SigE"});
$All{"Angle"}=sprintf("%8.2f",$All{"Angle"});
$All{"SigAngle"}=sprintf("%8.2f",$All{"SigAngle"});
$All{"Seed"}=sprintf("%6.0f.",$All{"Seed"});
# Collect the additional parameters
$All{"EF"}=EF->text();
$All{"ESB"}=ESB->text();
$All{"SHEATH"}=SHEATH->text();
$All{"ERC"}=ERC->text();
$All{"RD"}=RD->text();
$All{"CA"}=CA->text();
$All{"KK0"}=KK0->text();
$All{"KK0R"}=KK0R->text();
$All{"KDEE1"}=KDEE1->text();
$All{"KDEE2"}=KDEE2->text();
$All{"IPOT"}=IPOT->text();
$All{"IPOTR"}=IPOTR->text();
$All{"IRL"}=IRL->text();
# format additional parameters
$All{"EF"}=sprintf("%8.2f",$All{"EF"});
$All{"ESB"}=sprintf("%8.2f",$All{"ESB"});
$All{"SHEATH"}=sprintf("%8.2f",$All{"SHEATH"});
$All{"ERC"}=sprintf("%8.2f",$All{"ERC"});
$All{"RD"}=sprintf("%5.0f.",$All{"RD"});
$All{"CA"}=sprintf("%6.2f",$All{"CA"});
$All{"KK0"}=sprintf("%3d",$All{"KK0"});
$All{"KK0R"}=sprintf("%3d",$All{"KK0R"});
$All{"KDEE1"}=sprintf("%3d",$All{"KDEE1"});
$All{"KDEE2"}=sprintf("%3d",$All{"KDEE2"});
$All{"IPOT"}=sprintf("%3d",$All{"IPOT"});
$All{"IPOTR"}=sprintf("%3d",$All{"IPOTR"});
$All{"IRL"}=sprintf("%2d",$All{"IRL"});
# Filenames etc. The filename should not have white spaces
$All{"FNPre"}=FNPre->text();
$All{"FNPre"}=~ s/\s+//g;
$All{"Path"}=Path->text();
# Scan parameters only if selected
$All{"ScanSeq"}=ScanSeq->isChecked();
# if ($All{"ScanSeq"}) {
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
# Remove any white spaces
$All{"ScandL"} =~ s/\s+//g;
$All{"ListRadio"}=ListRadio->isChecked();
$All{"LoopRadio"}=LoopRadio->isChecked();
$All{"ScanList"}=ScanList->text();
# Remove any white spaces
$All{"ScanList"} =~ s/\s+//g;
$All{"ScanListdz"}=ScanListdz->text();
# Remove any white spaces
$All{"ScanListdz"} =~ s/\s+//g;
# These should be numeric
$All{"SFrom"}=1*SFrom->text();
$All{"STo"}=1*STo->text();
$All{"SStep"}=1*SStep->text();
# }
# Return values to caller
return %All;
}
sub CreateInpFile
{
# use lib '$ENV{HOME}/Projects/TrimSPGUI/Chem';
# push @INC, "$ENV{HOME}/Projects/TrimSPGUI";
use Chem;
# The proper way I think is not to have scan sequences implimented here
# but rather call this multiple times to generate the scan
# To resolve this, the function CreateInpFile will expect a unique thickness for each layer,
# one energy value, one energy sigma and one projectile number.
# These will be stored in keys L1/2/3/4/5/6/7d, E, SigE and NProj, respectively.
# Chemical formulas will be parsed on the fly for each layer. However, we will check if
# all the layers have inputs for composition, thickness and density. If not fail and crash :)
# Values of Z,A as well as other needed parameters are obtained from Chem.pm.
# This is the form of the input file:
my $TemplateFile=
" ProjZ ProjAM E SigE Angle SigAngle EF ESB SHEATH ERC
NProj Seed Seed Seed z0 RD dz CA KK0 KK0R KDEE1 KDEE2 IPOT IPOTR IRL
L1d L2d L3d L4d L5d L6d L7d L1rho L2rho L3rho L4rho L5rho L6rho L7rho L1CK L2CK L3CK L4CK L5CK L6CK L7CK
L1ELZ1 L1ELZ2 L1ELZ3 L1ELZ4 L1ELZ5
L1ELW1 L1ELW2 L1ELW3 L1ELW4 L1ELW5
L1ELC1 L1ELC2 L1ELC3 L1ELC4 L1ELC5
L1ELE1 L1ELE2 L1ELE3 L1ELE4 L1ELE5
L10301 L10302 L10303 L10304 L10305
0.0000 0.0000 0.0000 0.0000 0.0000
L1ELST11 L1ELST21 L1ELST31 L1ELST41 L1ELST51
L1ELST12 L1ELST22 L1ELST32 L1ELST42 L1ELST52
L1ELST13 L1ELST23 L1ELST33 L1ELST43 L1ELST53
L1ELST14 L1ELST24 L1ELST34 L1ELST44 L1ELST54
L1ELST15 L1ELST25 L1ELST35 L1ELST45 L1ELST55
L2ELZ1 L2ELZ2 L2ELZ3 L2ELZ4 L2ELZ5
L2ELW1 L2ELW2 L2ELW3 L2ELW4 L2ELW5
L2ELC1 L2ELC2 L2ELC3 L2ELC4 L2ELC5
L2ELE1 L2ELE2 L2ELE3 L2ELE4 L2ELE5
L20301 L20302 L20303 L20304 L20305
0.0000 0.0000 0.0000 0.0000 0.0000
L2ELST11 L2ELST21 L2ELST31 L2ELST41 L2ELST51
L2ELST12 L2ELST22 L2ELST32 L2ELST42 L2ELST52
L2ELST13 L2ELST23 L2ELST33 L2ELST43 L2ELST53
L2ELST14 L2ELST24 L2ELST34 L2ELST44 L2ELST54
L2ELST15 L2ELST25 L2ELST35 L2ELST45 L2ELST55
L3ELZ1 L3ELZ2 L3ELZ3 L3ELZ4 L3ELZ5
L3ELW1 L3ELW2 L3ELW3 L3ELW4 L3ELW5
L3ELC1 L3ELC2 L3ELC3 L3ELC4 L3ELC5
L3ELE1 L3ELE2 L3ELE3 L3ELE4 L3ELE5
L30301 L30302 L30303 L30304 L30305
0.0000 0.0000 0.0000 0.0000 0.0000
L3ELST11 L3ELST21 L3ELST31 L3ELST41 L3ELST51
L3ELST12 L3ELST22 L3ELST32 L3ELST42 L3ELST52
L3ELST13 L3ELST23 L3ELST33 L3ELST43 L3ELST53
L3ELST14 L3ELST24 L3ELST34 L3ELST44 L3ELST54
L3ELST15 L3ELST25 L3ELST35 L3ELST45 L3ELST55
L4ELZ1 L4ELZ2 L4ELZ3 L4ELZ4 L4ELZ5
L4ELW1 L4ELW2 L4ELW3 L4ELW4 L4ELW5
L4ELC1 L4ELC2 L4ELC3 L4ELC4 L4ELC5
L4ELE1 L4ELE2 L4ELE3 L4ELE4 L4ELE5
L40301 L40302 L40303 L40304 L40305
0.0000 0.0000 0.0000 0.0000 0.0000
L4ELST11 L4ELST21 L4ELST31 L4ELST41 L4ELST51
L4ELST12 L4ELST22 L4ELST32 L4ELST42 L4ELST52
L4ELST13 L4ELST23 L4ELST33 L4ELST43 L4ELST53
L4ELST14 L4ELST24 L4ELST34 L4ELST44 L4ELST54
L4ELST15 L4ELST25 L4ELST35 L4ELST45 L4ELST55
L5ELZ1 L5ELZ2 L5ELZ3 L5ELZ4 L5ELZ5
L5ELW1 L5ELW2 L5ELW3 L5ELW4 L5ELW5
L5ELC1 L5ELC2 L5ELC3 L5ELC4 L5ELC5
L5ELE1 L5ELE2 L5ELE3 L5ELE4 L5ELE5
L50301 L50302 L50303 L50304 L50305
0.0000 0.0000 0.0000 0.0000 0.0000
L5ELST11 L5ELST21 L5ELST31 L5ELST41 L5ELST51
L5ELST12 L5ELST22 L5ELST32 L5ELST42 L5ELST52
L5ELST13 L5ELST23 L5ELST33 L5ELST43 L5ELST53
L5ELST14 L5ELST24 L5ELST34 L5ELST44 L5ELST54
L5ELST15 L5ELST25 L5ELST35 L5ELST45 L5ELST55
L6ELZ1 L6ELZ2 L6ELZ3 L6ELZ4 L6ELZ5
L6ELW1 L6ELW2 L6ELW3 L6ELW4 L6ELW5
L6ELC1 L6ELC2 L6ELC3 L6ELC4 L6ELC5
L6ELE1 L6ELE2 L6ELE3 L6ELE4 L6ELE5
L60301 L60302 L60303 L60304 L60305
0.0000 0.0000 0.0000 0.0000 0.0000
L6ELST11 L6ELST21 L6ELST31 L6ELST41 L6ELST51
L6ELST12 L6ELST22 L6ELST32 L6ELST42 L6ELST52
L6ELST13 L6ELST23 L6ELST33 L6ELST43 L6ELST53
L6ELST14 L6ELST24 L6ELST34 L6ELST44 L6ELST54
L6ELST15 L6ELST25 L6ELST35 L6ELST45 L6ELST55
L7ELZ1 L7ELZ2 L7ELZ3 L7ELZ4 L7ELZ5
L7ELW1 L7ELW2 L7ELW3 L7ELW4 L7ELW5
L7ELC1 L7ELC2 L7ELC3 L7ELC4 L7ELC5
L7ELE1 L7ELE2 L7ELE3 L7ELE4 L7ELE5
L70301 L70302 L70303 L70304 L70305
0.0000 0.0000 0.0000 0.0000 0.0000
L7ELST11 L7ELST21 L7ELST31 L7ELST41 L7ELST51
L7ELST12 L7ELST22 L7ELST32 L7ELST42 L7ELST52
L7ELST13 L7ELST23 L7ELST33 L7ELST43 L7ELST53
L7ELST14 L7ELST24 L7ELST34 L7ELST44 L7ELST54
L7ELST15 L7ELST25 L7ELST35 L7ELST45 L7ELST55
";
# Get values from form
my %All = CollectValues();
my $ProjType=$All{"ProjType"};
$All{"ProjZ"}=sprintf("%6.2f",Chem::Zof($ProjType));
$All{"ProjAM"}=sprintf("%6.2f",Chem::Massof($ProjType));
my $Check=0;
# Loop over layers an create appropriate values
for (my $i=1;$i<=7;$i++){
$Check=0;
# Composition of layers
my $LComp="L".$i."Comp";
my $LCompAttrib = child($LComp);
my $Comp = $LCompAttrib->text();
my %LElComp=Chem::parse_formula($Comp);
if ($Comp eq "") {$Check++;}
# Densities of layers
my $Lrho="L".$i."rho";
my $LrhoAttrib = child($Lrho);
my $rho = $LrhoAttrib->text();
$All{$Lrho}=sprintf("%6.2f",$rho);
if ($rho eq "") {$Check++;}
# Thickness of layers
my $Ld ="L".$i."d";
my $LdAttrib = child($Ld);
my $d = $LdAttrib->text();
$All{$Ld}=sprintf("%8.2f",$d);
if ($d eq "") {$Check++;}
# Sanity check, is the layer supposed to have value? are they all there?
if ($Check!=0 && $i<=$All{"NL"}) {
my $ErrMsg="Error: Layer $i is empty. Expecting it to be defined!\n";
print STDERR $ErrMsg;
my $HelpWindow = Qt::MessageBox::information( this, "Error!",$ErrMsg);
# my $ErrorDialog = Qt::ErrorMessage(TrimSPGUI);
# $ErrorDialog->message($ErrMsg);
return "ERROR";
}
my $tmp = "L".$i."CK";
$All{$tmp}=sprintf("%6.2f",1.0);
my $Sum = 0;
foreach (keys %LElComp) {
$Sum=$Sum+$LElComp{$_};
}
if ($Sum==0) {$Sum=1;}
# print STDOUT "Layer: ".$i."\n";
# print STDOUT "Composition: ".$Comp."\n";
my @Els = keys %LElComp;
for (my $NEl=1;$NEl<=5;$NEl++) {
my $El = $Els[$NEl-1];
my $LEkey = "L".$i."EL";
my $ElZ = Chem::Zof($El);
my $ElW = Chem::Massof($El);
my $ElC = $LElComp{$El}/$Sum;
my $ElE = Chem::Elastof($El);
my $El030 = 30;
if ($El eq "") { $El030 = 0.0;}
# print STDOUT "$El, ElC=$ElC ElZ=$ElZ ElW=$ElW ElE=$ElE\n";
$All{$LEkey."Z".$NEl}=sprintf("%8.4f",$ElZ);
$All{$LEkey."W".$NEl}=sprintf("%8.4f",$ElW);
$All{$LEkey."C".$NEl}=sprintf("%8.4f",$ElC);
$All{$LEkey."E".$NEl}=sprintf("%8.4f",$ElE);
$All{"L".$i."030".$NEl}=sprintf("%8.4f",$El030);
my $ElST = Chem::Stopicru($El);
my @ElSTs = split (/,/,$ElST);
my $j=1;
foreach (@ElSTs) {
$LEkey = "L".$i."ELST".$NEl.$j;
$j++;
$All{$LEkey}=sprintf("%11.6f",$_);
}
}
}
foreach my $key (keys %All) {
# print $key,$All{$key},"\n";
if ($All{$key} ne ""){
$TemplateFile =~ s/$key/$All{$key}/;
# Seed repeats three times
if ($key eq "Seed") { $TemplateFile =~ s/$key/$All{$key}/g;}
}
}
return $TemplateFile;
}
sub StartSequenceOne
{
my %All = CollectValues();
my @SValues=();
my @SdzValues=();
my $cmd="";
# Cleanup from old files
if (-e "ausgabe1.inp") {
system("rm -f ausgabe*");
}
my $Progress=0;
if ($All{"ScanSeq"}) {
# For a scan
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
# Remove any white spaces
$All{"ScandL"} =~ s/\s+//g;
$All{"ListRadio"}=ListRadio->isChecked();
$All{"LoopRadio"}=LoopRadio->isChecked();
$All{"ScanList"}=ScanList->text();
# Remove any white spaces
$All{"ScanList"} =~ s/\s+//g;
$All{"ScanListdz"}=ScanListdz->text();
# Remove any white spaces
$All{"ScanListdz"} =~ s/\s+//g;
# These should be numeric
$All{"SFrom"}=1*SFrom->text();
$All{"STo"}=1*STo->text();
$All{"SStep"}=1*SStep->text();
if ($All{"ListRadio"}) {
@SValues=split(/,/,$All{"ScanList"});
@SdzValues=split(/,/,$All{"ScanListdz"});
if ($#SValues == $#SdzValues) {$All{"SdzFlag"}=1;}
} elsif ($All{"LoopRadio"}) {
for (my $Val=$All{"SFrom"};$Val<=$All{"STo"};$Val=$Val+$All{"SStep"}) {
@SValues=(@SValues,$Val);
}
}
my $ScanName = "";
if ($All{"ERadio"}) {
$ScanName = "E";
} elsif ($All{"SigERadio"}) {
$ScanName = "SigE";
} elsif ($All{"AngleRadio"}) {
$ScanName = "Angle";
} elsif ($All{"SigAngleRadio"}) {
$ScanName = "SigAngle";
} elsif ($All{"NProjRadio"}) {
$ScanName = "NProj";
} elsif ($All{"dRadio"}) {
$ScanName = "Ld".$All{"ScandL"};
}
my $ScanAttrib = child($ScanName);
my $iScan=0;
foreach (@SValues) {
$ScanAttrib->setText($_);
if ( $All{"SdzFlag"} == 1) {
dz->setText($SdzValues[$iScan]);
}
my $eingabe1=CreateInpFile();
if ($eingabe1 eq "ERROR") {return 0;}
my $FILENAME=$All{"FNPre"}."_".$ScanName.$_;
open (INPF,q{>}, "$FILENAME.inp" );
print INPF $eingabe1;
close(INPF);
# Use windoz version
# system("cp $FILENAME.inp eingabe1.inp; wine TrimSP7L.exe");
# Use Linux version
$Progress=$Progress+90/$#SValues;
Progress->setProgress($Progress);
Progress->update();
$cmd = "cp $FILENAME.inp eingabe1.inp; ".$ENV{'TRIMBIN'};
system($cmd);
foreach ("err","out","rge") {
system("mv -f ausgabe1.$_ $FILENAME.$_");
}
# Not needed if work path is changed
# $cmd="mv -f $FILENAME.* ".$All{"Path"};
# system($cmd);
$iScan++;
}
} else {
# For a single run
my $eingabe1=CreateInpFile();
if ($eingabe1 eq "ERROR") {return 0;}
my $FILENAME=$All{"FNPre"};
open (INPF,q{>}, "$FILENAME.inp" );
print INPF $eingabe1;
close(INPF);
$Progress=20;
Progress->setProgress($Progress);
# Use windoz version
# system("cp $FILENAME.inp eingabe1.inp; wine TrimSP7L.exe");
# Use Linux version
$cmd = "cp $FILENAME.inp eingabe1.inp; ".$ENV{'TRIMBIN'};
system($cmd);
foreach ("err","out","rge") {
system("mv -f ausgabe1.$_ $FILENAME.$_");
}
$Progress=90;
Progress->setProgress($Progress);
# If we change work directory this is not needed
# $cmd="mv -f $FILENAME.* ".$All{"Path"};
# system($cmd);
}
# Move the fort.33 file into the subdirectory and change its name
$cmd="rm -f eingabe1.inp; mv -f fort.33 ".$All{"Path"}."/".$All{"FNPre"}."_Seq_Results.dat";
system($cmd);
$Progress=100;
Progress->setProgress($Progress);
return 1;
}
sub DirectoryBrowse
{
my $FileBrowser = Qt::FileDialog::getExistingDirectory("./",this,"get existing directory","Choose a directory",1);
if ($FileBrowser eq "") {$FileBrowser="./";}
Path->setText($FileBrowser);
# Create a subdirectory where all input/output files are saved
my $cmd="";
if (-d $FileBrowser) {
# Directory exists, do nothing
} else {
$cmd="mkdir $FileBrowser";
system($cmd);
}
# Change work directory accordingly
chdir ("$FileBrowser");
}
sub ConfirmQuit
{
my $Ans = Qt::MessageBox::question( this, "Quit?","Are you sure you want to quit?","&Yes","&No","",0,1);
if ($Ans==0) {
# Then quit
Qt::Application::exit( 0 );
}
# Otherwize go back
# print STDOUT $ENV{'TRIMBIN'}."\n";
}
sub PlotProfiles
{
my $files_ref=Qt::FileDialog::getOpenFileNames(
"RGE Files (*.rge)",
"./",
this,
"Select RGE files dialog",
"Choose RGE file to plot");
my @files = @$files_ref;
my $filenames=join(",",@files);
if ($filenames ne "" ) {
# my $Warning = Qt::MessageBox::information( this, "Big Fat Warning",
# "Warning:\nClose the plot using the menu FILE -> Quit ROOT\nDO NOT CLOSE USING X.");
my $TrimPath = $ENV{'PERLLIB'};
# Now that we have the file list send it to root macro for plotting.
my $cmd='root -n -l "'.$TrimPath.'/plotRge.C(\"'.$filenames.'\")"&';
# my $pid = open(FTO,"$cmd");
# my $pid = open(FTO,"$cmd 2>&1 |");
# print "PID=$pid\n";
# while () {
# print "$_";
# }
# close(FTO);
my $pid=system($cmd);
}
}
sub PlotFraction
{
print "TrimSPGUI->PlotFraction(): Not implemented yet.\n";
}
sub OpenAboutWindow
{
my $HelpText="TrimSPGUI is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
TrimSPGUI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with TrimSPGUI. If not, see .
Copyright 2009 by Zaher Salman and the LEM Group.
";
my $HelpWindow = Qt::MessageBox::about( this, "About TrimSP GUI",$HelpText);
}
sub OpenFile
{
# Types of different input
my %Types = ();
# 0 - text (this is default), 1 - spin box, 2 - radio button, 3 - combo box
$Types{"NL"}=1 ;
$Types{"ProjType"}= 3;
$Types{"ScanSeq"}= 2;
$Types{"ERadio"}= 2;
$Types{"SigERadio"}= 2;
$Types{"AngleRadio"}= 2;
$Types{"SigAngleRadio"}= 2;
$Types{"NProjRadio"}= 2;
$Types{"dRadio"}= 2;
$Types{"ScandL"}= 1;
$Types{"ListRadio"}= 2;
$Types{"ScanListdz"}= 0;
$Types{"LoopRadio"}= 2;
my $file=Qt::FileDialog::getOpenFileName(
".",
"Initialization file (.* *.*)",
this,
"open file dialog",
"Choose an initialization file");
# If the user gave a valid filename try to read it
if ($file ne "") {
open (INF,q{<},"$file" );
my @lines = ;
close(INF);
my $Attrib="";
foreach my $line (@lines) {
# Remove white spaces
$line =~ s/\s+//g;
my @InitPar = split (/=/,$line);
# Check it is not empty or title line
if ($InitPar[0] ne "" && $InitPar[1] ne "") {
$Attrib = child($InitPar[0]);
if ($Types{$InitPar[0]} == 1) {
$Attrib->setValue($InitPar[1]);
} elsif ($Types{$InitPar[0]} == 2 ) {
if($InitPar[1] == 1) {
$Attrib->setChecked(1);
} else {
$Attrib->setChecked(0);
}
} elsif ($Types{$InitPar[0]} == 3) {
$Attrib-> setCurrentText($InitPar[1]);
} else {
$Attrib->setText($InitPar[1]);
}
}
}
}
}
sub SaveFile
{
my %All = CollectValues();
my $InitFile="
[Layers]
NL=$All{'NL'}
L1Comp=$All{'L1Comp'}
L1rho=$All{'L1rho'}
L1d=$All{'L1d'}
L2Comp=$All{'L2Comp'}
L2rho=$All{'L2rho'}
L2d=$All{'L2d'}
L3Comp=$All{'L3Comp'}
L3rho=$All{'L3rho'}
L3d=$All{'L3d'}
L4Comp=$All{'L4Comp'}
L4rho=$All{'L4rho'}
L4d=$All{'L4d'}
L5Comp=$All{'L5Comp'}
L5rho=$All{'L5rho'}
L5d=$All{'L5d'}
L6Comp=$All{'L6Comp'}
L6rho=$All{'L6rho'}
L6d=$All{'L6d'}
L7Comp=$All{'L7Comp'}
L7rho=$All{'L7rho'}
L7d=$All{'L7d'}
[ProjectileParameters]
ProjType=$All{'ProjType'}
NProj=$All{'NProj'}
z0=$All{'z0'}
dz=$All{'dz'}
E=$All{'E'}
SigE=$All{'SigE'}
Angle=$All{'Angle'}
SigAngle=$All{'SigAngle'}
Seed=$All{'Seed'}
[Files]
FNPre=$All{'FNPre'}
Path=$All{'Path'}
[ScanSequence]
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}
ScanList=$All{'ScanList'}
ScanListdz=$All{'ScanListdz'}
LoopRadio=$All{'LoopRadio'}
SFrom=$All{'SFrom'}
STo=$All{'STo'}
SStep=$All{'SStep'}
";
# Save to default file name "TriumSP.cfg"
my $file = "TrimSP.cfg";
open (OUTF,q{>},"$file" );
print OUTF (" $InitFile");
close(OUTF);
}
sub SaveFileAs
{
my %All = CollectValues();
my $InitFile="
[Layers]
NL=$All{'NL'}
L1Comp=$All{'L1Comp'}
L1rho=$All{'L1rho'}
L1d=$All{'L1d'}
L2Comp=$All{'L2Comp'}
L2rho=$All{'L2rho'}
L2d=$All{'L2d'}
L3Comp=$All{'L3Comp'}
L3rho=$All{'L3rho'}
L3d=$All{'L3d'}
L4Comp=$All{'L4Comp'}
L4rho=$All{'L4rho'}
L4d=$All{'L4d'}
L5Comp=$All{'L5Comp'}
L5rho=$All{'L5rho'}
L5d=$All{'L5d'}
L6Comp=$All{'L6Comp'}
L6rho=$All{'L6rho'}
L6d=$All{'L6d'}
L7Comp=$All{'L7Comp'}
L7rho=$All{'L7rho'}
L7d=$All{'L7d'}
[ProjectileParameters]
ProjType=$All{'ProjType'}
NProj=$All{'NProj'}
z0=$All{'z0'}
dz=$All{'dz'}
E=$All{'E'}
SigE=$All{'SigE'}
Angle=$All{'Angle'}
SigAngle=$All{'SigAngle'}
Seed=$All{'Seed'}
[Files]
FNPre=$All{'FNPre'}
Path=$All{'Path'}
[ScanSequence]
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}
ScanList=$All{'ScanList'}
ScanListdz=$All{'ScanListdz'}
LoopRadio=$All{'LoopRadio'}
SFrom=$All{'SFrom'}
STo=$All{'STo'}
SStep=$All{'SStep'}
";
my $file=Qt::FileDialog::getSaveFileName(
"TrimSP.cfg",
"TrimSP GUI Initialization file (*.cfg)",
this,
"save file dialog",
"Choose a filename to save under");
# If the user gave a filename the copy to it
if ($file ne "") {
open (OUTF,q{>},"$file" );
print OUTF (" $InitFile");
close(OUTF);
}
}
1;
package main;
use Qt;
use TrimSPGUI;
my $a = Qt::Application(\@ARGV);
my $w = TrimSPGUI;
$a->setMainWidget($w);
$w->show;
exit $a->exec;