# Form implementation generated from reading ui file 'TrimSPGUItabs.ui' # # Created: Wed Nov 18 14:00:11 2009 # 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::Dialog); use Qt::slots ToggleScanSingle => [], PrepLayers => [], ProjSmartDefaults => [], OpenHelpWindow => [], CollectValues => [], CreateInpFile => [], StartSequenceOne => [], DirectoryBrowse => [], ConfirmQuit => []; use Qt::attributes qw( Progress 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 Help 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 buttonGroup2 SigERadio NProjRadio dRadio ScandL ERadio ScanMode textLabel2 SFrom textLabel2_2 STo textLabel2_2_2_2 SStep ScanList dzListLabel LoopRadio ListRadio ScanListdz TrimSPGUIHelp ); 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, 0x02, 0x50, 0x00, 0x00, 0x02, 0x19, 0x08, 0x06, 0x00, 0x00, 0x00, 0x69, 0xb5, 0x01, 0xe1, 0x00, 0x00, 0x1d, 0x63, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0xdd, 0x4f, 0x6f, 0x24, 0xf9, 0x7d, 0xdf, 0xf1, 0x6f, 0x75, 0x37, 0xff, 0x8f, 0x46, 0x63, 0xfd, 0x59, 0x01, 0x46, 0x00, 0x31, 0x2b, 0x20, 0xb9, 0x18, 0x09, 0xe2, 0x47, 0xa0, 0x9b, 0xfc, 0x20, 0x6c, 0x5f, 0x17, 0xf2, 0xcd, 0x37, 0xdf, 0x76, 0xf7, 0xec, 0x93, 0x00, 0xc3, 0xb0, 0x00, 0xdf, 0x72, 0xf7, 0xd9, 0xbe, 0xf9, 0x11, 0x24, 0xe7, 0x1c, 0xb4, 0xe0, 0x22, 0x8e, 0xe4, 0x0d, 0x02, 0xaf, 0xbc, 0xbb, 0x33, 0x24, 0xfb, 0x5f, 0xe5, 0x50, 0x2c, 0x76, 0x93, 0xc3, 0x21, 0xbb, 0xba, 0xab, 0xbb, 0x7e, 0xbf, 0xaa, 0xd7, 0x0b, 0x68, 0x70, 0x76, 0xc4, 0xe5, 0x74, 0x8f, 0x30, 0x9a, 0xb7, 0x3e, 0xbf, 0xea, 0x62, 0x51, 0x96, 0x65, 0x00, 0x00, 0xb0, 0xb9, 0x51, 0xd7, 0x4f, 0x00, 0x00, 0x20, 0x37, 0x02, 0x0a, 0x00, 0xa0, 0x21, 0x01, 0x05, 0x00, 0xd0, 0x90, 0x80, 0x02, 0x00, 0x68, 0x48, 0x40, 0x01, 0x00, 0x34, 0x24, 0xa0, 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0x26, 0xad, 0x7c, 0x95, 0xa2, 0x78, 0xff, 0x6e, 0x9c, 0x65, 0x59, 0xb4, 0xf2, 0xb5, 0x01, 0x00, 0x12, 0x53, 0x34, 0xb9, 0x13, 0x79, 0xf1, 0x54, 0x28, 0x45, 0xc4, 0xa6, 0x5f, 0x41, 0x51, 0x01, 0x00, 0xb9, 0x2b, 0xcb, 0xb2, 0x68, 0xbc, 0x40, 0x95, 0xe5, 0xa7, 0xef, 0xff, 0x64, 0xf1, 0xf9, 0x66, 0xff, 0xee, 0x93, 0x3f, 0xf9, 0xc4, 0xd7, 0x03, 0x00, 0x48, 0x50, 0x71, 0xd7, 0x3c, 0xbb, 0x1f, 0xe1, 0x6d, 0x18, 0x4f, 0x8d, 0xfe, 0x7d, 0x51, 0x05, 0x00, 0x24, 0xac, 0x9d, 0x6b, 0xa0, 0xda, 0xf6, 0x38, 0xaa, 0x04, 0x15, 0x00, 0x90, 0x90, 0x34, 0x03, 0xea, 0x31, 0x2b, 0x15, 0x00, 0x90, 0x90, 0xdd, 0x02, 0x6a, 0xd7, 0xe3, 0xbb, 0xb6, 0x7f, 0x6d, 0x51, 0x05, 0x00, 0x1c, 0x40, 0x1e, 0x0b, 0xd4, 0xa6, 0x44, 0x15, 0x00, 0x70, 0x00, 0xfd, 0x0a, 0xa8, 0xa7, 0xb8, 0x9e, 0x0a, 0x00, 0x68, 0x59, 0xff, 0x03, 0xea, 0x31, 0x2b, 0x15, 0x00, 0xb0, 0xa3, 0xe1, 0x05, 0xd4, 0x53, 0x44, 0x15, 0x00, 0xd0, 0x80, 0x80, 0xfa, 0x10, 0x51, 0x05, 0x00, 0x7c, 0x80, 0x80, 0x6a, 0x42, 0x54, 0x01, 0x00, 0x21, 0xa0, 0x76, 0xe7, 0x22, 0x75, 0x00, 0x18, 0x9c, 0xed, 0x03, 0xaa, 0xcb, 0x7b, 0x40, 0xa5, 0xcc, 0x4a, 0x05, 0x00, 0xbd, 0xb7, 0x7d, 0x40, 0xed, 0xf0, 0x4d, 0x85, 0x07, 0x47, 0x54, 0x01, 0x40, 0xaf, 0xb4, 0x7b, 0x84, 0x27, 0xaa, 0x36, 0x27, 0xaa, 0x00, 0x20, 0x5b, 0xfb, 0xbf, 0x06, 0x4a, 0x54, 0x6d, 0xce, 0xf5, 0x54, 0x00, 0x90, 0x85, 0x6e, 0x2e, 0x22, 0x17, 0x55, 0x9b, 0xb1, 0x52, 0x01, 0x40, 0x92, 0xd2, 0x79, 0x17, 0xde, 0xe3, 0x30, 0x10, 0x54, 0x4f, 0x13, 0x55, 0x00, 0xd0, 0xb9, 0x74, 0x02, 0xea, 0x31, 0x2b, 0xd5, 0xe6, 0x44, 0x15, 0x00, 0x1c, 0x54, 0xba, 0x01, 0xf5, 0x14, 0x51, 0xb5, 0x39, 0x51, 0x05, 0x00, 0x7b, 0x93, 0x57, 0x40, 0x3d, 0x45, 0x54, 0x6d, 0xce, 0x45, 0xea, 0x00, 0xd0, 0x8a, 0xfc, 0x03, 0xea, 0x29, 0xae, 0xa7, 0xda, 0x8c, 0x95, 0x0a, 0x00, 0xb6, 0xd2, 0xcf, 0x80, 0x7a, 0xcc, 0x4a, 0xb5, 0x39, 0x51, 0x05, 0x00, 0x2f, 0x1a, 0x46, 0x40, 0x3d, 0x45, 0x54, 0x6d, 0x4e, 0x54, 0x01, 0xc0, 0x03, 0xc3, 0x0d, 0xa8, 0xa7, 0x88, 0xaa, 0xcd, 0xb9, 0x9e, 0x0a, 0x80, 0x01, 0x13, 0x50, 0x2f, 0x11, 0x55, 0x9b, 0xb1, 0x52, 0x01, 0x30, 0x20, 0x02, 0x6a, 0x1b, 0x2e, 0x52, 0xdf, 0x8c, 0x95, 0x0a, 0x80, 0x9e, 0x12, 0x50, 0x6d, 0xb0, 0x52, 0x6d, 0x46, 0x50, 0x01, 0xd0, 0x13, 0x02, 0x6a, 0x5f, 0x44, 0xd5, 0xcb, 0x1c, 0xfb, 0x01, 0x90, 0x29, 0x01, 0x75, 0x48, 0xa2, 0xea, 0x65, 0x56, 0x2a, 0x00, 0x32, 0x20, 0xa0, 0xba, 0xe6, 0x7a, 0xaa, 0xe7, 0x09, 0x2a, 0x00, 0x12, 0x24, 0xa0, 0x52, 0x63, 0xa5, 0x7a, 0x9e, 0x63, 0x3f, 0x00, 0x12, 0x20, 0xa0, 0x72, 0x20, 0xaa, 0x9e, 0x67, 0xa5, 0x02, 0xe0, 0xc0, 0x04, 0x54, 0xae, 0x44, 0xd5, 0x87, 0x09, 0x2a, 0x00, 0xf6, 0x4c, 0x40, 0xf5, 0x89, 0xa8, 0x7a, 0x9a, 0x63, 0x3f, 0x00, 0x5a, 0x26, 0xa0, 0xfa, 0xce, 0x45, 0xea, 0x4f, 0xb3, 0x52, 0x01, 0xb0, 0x03, 0x01, 0x35, 0x34, 0x56, 0xaa, 0xa7, 0x09, 0x2a, 0x00, 0x1a, 0x28, 0xca, 0xb2, 0xdc, 0xfc, 0x93, 0x8b, 0x62, 0xf3, 0x4f, 0x26, 0x6b, 0xfe, 0x8b, 0x7e, 0x5f, 0xd1, 0xf5, 0x13, 0x00, 0x20, 0x09, 0x65, 0x59, 0x16, 0x8d, 0x03, 0xea, 0xea, 0xea, 0x6a, 0x7f, 0xcf, 0x88, 0xa4, 0xfd, 0xf4, 0xf2, 0xb2, 0xeb, 0xa7, 0x90, 0x94, 0x2f, 0xfd, 0x59, 0x00, 0x18, 0x9c, 0xcb, 0xcb, 0xcb, 0x28, 0xcb, 0xb2, 0x70, 0x84, 0xc7, 0xc6, 0x1e, 0x07, 0xc3, 0xd0, 0x83, 0xea, 0xf1, 0xeb, 0x17, 0x54, 0x00, 0xc3, 0x21, 0xa0, 0xd8, 0xda, 0x53, 0xc1, 0x30, 0xe4, 0xa8, 0x7a, 0xea, 0xb5, 0x8b, 0x2a, 0x80, 0x7e, 0x12, 0x50, 0xb4, 0x4a, 0x54, 0x3d, 0x64, 0xa5, 0x02, 0xe8, 0x27, 0x01, 0xc5, 0xde, 0x39, 0xfa, 0x5b, 0x11, 0x54, 0x00, 0xfd, 0x20, 0xa0, 0x38, 0x38, 0x2b, 0xd5, 0x8a, 0x63, 0x3f, 0x80, 0x3c, 0x09, 0x28, 0x92, 0x60, 0xa5, 0x5a, 0xb1, 0x52, 0x01, 0xa4, 0x4f, 0x40, 0x91, 0x24, 0x2b, 0xd5, 0x8a, 0xa0, 0x02, 0x48, 0x8f, 0x80, 0x22, 0x1b, 0x56, 0xaa, 0x8a, 0x63, 0x3f, 0x80, 0xee, 0x09, 0x28, 0xb2, 0x65, 0xa5, 0x5a, 0xb1, 0x52, 0x01, 0x1c, 0x96, 0x80, 0xa2, 0x57, 0xac, 0x54, 0x15, 0x41, 0x05, 0xb0, 0x5f, 0x02, 0x8a, 0x5e, 0xb3, 0x52, 0x55, 0x1c, 0xfb, 0x01, 0xb4, 0x4b, 0x40, 0x31, 0x38, 0x56, 0xaa, 0x8a, 0x95, 0x0a, 0x60, 0x7b, 0x02, 0x8a, 0xc1, 0xb3, 0x52, 0x55, 0x04, 0x15, 0xc0, 0xe6, 0x04, 0x14, 0x3c, 0xc1, 0x4a, 0x25, 0xa8, 0x00, 0x9e, 0x23, 0xa0, 0x60, 0x03, 0x56, 0x2a, 0x41, 0x05, 0xb0, 0x4e, 0x40, 0xc1, 0x96, 0x86, 0xbe, 0x52, 0x09, 0x2a, 0x60, 0xc8, 0x04, 0x14, 0xb4, 0x64, 0xe8, 0x2b, 0x95, 0xa0, 0x02, 0x86, 0x44, 0x40, 0xc1, 0x1e, 0x0d, 0x79, 0xa5, 0x12, 0x54, 0x40, 0x9f, 0x09, 0x28, 0x38, 0xa0, 0x21, 0xaf, 0x54, 0x82, 0x0a, 0xe8, 0x13, 0x01, 0x05, 0x1d, 0x1b, 0xea, 0x4a, 0x25, 0xa8, 0x80, 0x9c, 0x09, 0x28, 0x48, 0xcc, 0x50, 0x57, 0x2a, 0x41, 0x05, 0xe4, 0x44, 0x40, 0x41, 0x06, 0x86, 0xb8, 0x52, 0x09, 0x2a, 0x20, 0x65, 0x02, 0x0a, 0x32, 0x34, 0xc4, 0x95, 0x6a, 0xfd, 0xf5, 0x89, 0x29, 0xa0, 0x6b, 0x02, 0x0a, 0x7a, 0x62, 0x3d, 0x2a, 0x86, 0x14, 0x53, 0x11, 0x82, 0x0a, 0x38, 0x3c, 0x01, 0x05, 0x3d, 0x34, 0xb4, 0x23, 0x3f, 0xeb, 0x14, 0x70, 0x68, 0x02, 0x0a, 0x06, 0x60, 0x48, 0x41, 0x25, 0xa6, 0x80, 0x43, 0x10, 0x50, 0x30, 0x40, 0x43, 0x09, 0x2a, 0x47, 0x7d, 0xc0, 0xbe, 0x08, 0x28, 0x60, 0x30, 0xd7, 0x4f, 0x59, 0xa7, 0x80, 0xb6, 0x08, 0x28, 0xe0, 0x01, 0xeb, 0x14, 0xc0, 0xcb, 0x04, 0x14, 0xf0, 0xac, 0x21, 0x06, 0x95, 0x98, 0x02, 0x5e, 0x22, 0xa0, 0x80, 0x46, 0x86, 0x10, 0x54, 0xd6, 0x29, 0xe0, 0x25, 0x02, 0x0a, 0xd8, 0xc9, 0x10, 0xae, 0x9f, 0xb2, 0x4e, 0x01, 0x8f, 0x09, 0x28, 0xa0, 0x35, 0x43, 0x5b, 0xa7, 0xc4, 0x14, 0x0c, 0x97, 0x80, 0x02, 0xf6, 0xa6, 0xef, 0x41, 0x55, 0xbf, 0x1e, 0x21, 0x05, 0xc3, 0x23, 0xa0, 0x80, 0x83, 0xe9, 0x6b, 0x50, 0x59, 0xa5, 0x60, 0x78, 0x04, 0x14, 0xd0, 0x99, 0x3e, 0x5e, 0x3f, 0x65, 0x95, 0x82, 0x61, 0x10, 0x50, 0x40, 0x12, 0xfa, 0xb6, 0x4e, 0x09, 0x29, 0xe8, 0x37, 0x01, 0x05, 0x24, 0xa9, 0x2f, 0xeb, 0x94, 0x90, 0x82, 0x7e, 0x12, 0x50, 0x40, 0xf2, 0xfa, 0xb0, 0x4e, 0x09, 0x29, 0xe8, 0x17, 0x01, 0x05, 0x64, 0x27, 0xe7, 0x75, 0x4a, 0x48, 0x41, 0x3f, 0x08, 0x28, 0x20, 0x6b, 0xb9, 0xc6, 0x94, 0x90, 0x82, 0xbc, 0x09, 0x28, 0xa0, 0x37, 0x72, 0x3c, 0xea, 0xfb, 0xe9, 0xe5, 0xa5, 0x88, 0x82, 0x0c, 0x09, 0x28, 0xa0, 0xb7, 0x72, 0x59, 0xa7, 0xac, 0x51, 0x90, 0x1f, 0x01, 0x05, 0x0c, 0x42, 0x0e, 0xeb, 0x94, 0x35, 0x0a, 0xf2, 0x21, 0xa0, 0x80, 0x41, 0x4a, 0x75, 0x9d, 0xb2, 0x46, 0x41, 0x1e, 0x04, 0x14, 0x30, 0x78, 0x1f, 0x8a, 0x95, 0x2e, 0xc3, 0xca, 0x1a, 0x05, 0x69, 0x1b, 0x75, 0xfd, 0x04, 0x00, 0x52, 0xf5, 0xe5, 0xd5, 0x55, 0xa7, 0x11, 0xf3, 0xd3, 0xcb, 0xcb, 0xa4, 0xd6, 0x31, 0x60, 0x45, 0x40, 0x01, 0xbc, 0xa0, 0x0e, 0xa9, 0xae, 0x62, 0x4a, 0x44, 0x41, 0x7a, 0x04, 0x14, 0x40, 0x03, 0x5d, 0x85, 0x94, 0x35, 0x0a, 0xd2, 0x22, 0xa0, 0x00, 0xb6, 0x60, 0x8d, 0x82, 0x61, 0x13, 0x50, 0x00, 0x5b, 0xea, 0xea, 0x68, 0x4f, 0x44, 0x41, 0xf7, 0x04, 0x14, 0x40, 0x0b, 0xba, 0xbe, 0xe0, 0x9c, 0xc3, 0x72, 0xa4, 0x8a, 0x80, 0x02, 0x68, 0xd1, 0xa1, 0x42, 0xca, 0x5f, 0xde, 0xdd, 0x10, 0x4e, 0xd4, 0xdc, 0x07, 0x0a, 0x60, 0x0f, 0xea, 0x88, 0xda, 0xe7, 0x5f, 0xb6, 0xee, 0x15, 0x75, 0x18, 0x82, 0x89, 0xa7, 0x58, 0xa0, 0x00, 0xf6, 0x68, 0xdf, 0x81, 0x63, 0x11, 0xd9, 0x1f, 0xbf, 0xb7, 0x3c, 0x47, 0x40, 0x01, 0xec, 0xd9, 0x21, 0x8e, 0xf5, 0xfc, 0x45, 0xdf, 0x1e, 0xe1, 0xc4, 0x26, 0x1c, 0xe1, 0x01, 0x1c, 0xc8, 0xbe, 0x8f, 0xf5, 0x1c, 0xe9, 0x6d, 0x4f, 0x30, 0xd1, 0x94, 0x05, 0x0a, 0xe0, 0xc0, 0x44, 0x4e, 0x7a, 0xbc, 0x8b, 0x92, 0xa6, 0x04, 0x14, 0x40, 0x07, 0xf6, 0xf5, 0x17, 0xb6, 0x25, 0x65, 0x37, 0x42, 0x8a, 0x4d, 0x09, 0x28, 0x80, 0x9e, 0x11, 0x51, 0xbb, 0x13, 0x51, 0xbc, 0x44, 0x40, 0x01, 0x74, 0xc8, 0x12, 0x95, 0x26, 0xbf, 0x7f, 0xbc, 0x44, 0x40, 0x01, 0x24, 0xc0, 0xe2, 0x01, 0x79, 0x11, 0x50, 0x00, 0x89, 0x10, 0x51, 0x69, 0xb0, 0x3e, 0xb1, 0x09, 0x01, 0x05, 0x90, 0x90, 0x36, 0x23, 0x4a, 0x08, 0x34, 0xf7, 0xdc, 0xef, 0x99, 0x0b, 0xcc, 0x59, 0x27, 0xa0, 0x00, 0x12, 0x23, 0xa2, 0xd2, 0x26, 0xa4, 0x88, 0x10, 0x50, 0x00, 0x49, 0xf2, 0x17, 0xf4, 0xe1, 0xbd, 0xb4, 0x3e, 0x6d, 0xf2, 0x73, 0x0c, 0x87, 0x80, 0x02, 0x48, 0x94, 0xbf, 0xa0, 0x0f, 0xa7, 0x69, 0x3c, 0x81, 0x80, 0x02, 0xe8, 0x39, 0xc7, 0x78, 0xd0, 0x3e, 0x01, 0x05, 0x90, 0xb0, 0xb6, 0xd6, 0x0f, 0x11, 0xf5, 0x61, 0xd6, 0x27, 0xb6, 0x21, 0xa0, 0x00, 0x12, 0xe7, 0x2f, 0xf1, 0xfd, 0x11, 0x4f, 0x6c, 0x6b, 0xd2, 0xf5, 0x13, 0x00, 0xe0, 0x65, 0x5f, 0x5e, 0x5d, 0x59, 0x91, 0x1e, 0xf9, 0x87, 0x7f, 0xb8, 0x8c, 0x37, 0x6f, 0x22, 0x8e, 0x8f, 0x23, 0x8e, 0x8e, 0xaa, 0xc7, 0xe9, 0x69, 0xc4, 0x78, 0x5c, 0x3d, 0x6e, 0x6e, 0x22, 0xfe, 0xe8, 0x8f, 0xae, 0xba, 0x7e, 0x9a, 0xf4, 0x54, 0x51, 0x96, 0xe5, 0xe6, 0x9f, 0x5c, 0x14, 0xe5, 0x95, 0x22, 0x07, 0xe8, 0xcc, 0xae, 0x11, 0x95, 0xfb, 0xaa, 0xf2, 0xf7, 0x7f, 0x7f, 0x19, 0x17, 0x17, 0x11, 0xaf, 0x5e, 0x45, 0x9c, 0x9f, 0x47, 0x9c, 0x9c, 0x54, 0x8f, 0xa3, 0xa3, 0x22, 0x26, 0x93, 0x88, 0xb3, 0xb3, 0x22, 0xc6, 0xe3, 0xea, 0xc7, 0xa3, 0x51, 0x44, 0x51, 0x44, 0xdc, 0xdc, 0x2c, 0xa2, 0x2c, 0x23, 0x3e, 0xfe, 0xf8, 0xea, 0xc1, 0xd7, 0xb2, 0x3e, 0xb1, 0x8d, 0xcb, 0xcb, 0xcb, 0x28, 0xcb, 0xb2, 0xb0, 0x40, 0x01, 0x64, 0x62, 0xc8, 0x0b, 0xd4, 0xaf, 0x7e, 0x75, 0x19, 0xaf, 0x5f, 0x47, 0x5c, 0x5c, 0x54, 0xc1, 0x74, 0x76, 0x16, 0x31, 0x99, 0x14, 0x31, 0x1a, 0x55, 0xa1, 0x34, 0x99, 0x8c, 0xe2, 0xe4, 0x64, 0x1c, 0xa7, 0xa7, 0xe3, 0x18, 0x8d, 0x56, 0x2b, 0xd4, 0x78, 0x5c, 0x85, 0x56, 0x51, 0x44, 0x7c, 0xf5, 0xd5, 0x7f, 0x8c, 0xc5, 0xa2, 0x8c, 0x3f, 0xfc, 0xc3, 0xe7, 0xd7, 0x3c, 0xf1, 0xc4, 0x26, 0x04, 0x14, 0x40, 0x26, 0x86, 0x7a, 0x8c, 0xf7, 0xb7, 0x7f, 0x5b, 0xc5, 0xd3, 0xd9, 0xd9, 0xea, 0x31, 0x1e, 0x17, 0x77, 0x81, 0x54, 0x44, 0x51, 0x44, 0x4c, 0x26, 0x93, 0x38, 0x3e, 0x3e, 0x8a, 0x37, 0x6f, 0x2e, 0xe2, 0xec, 0xec, 0x38, 0xe6, 0xf3, 0xdb, 0x98, 0xcd, 0x6e, 0xef, 0x02, 0xab, 0x8c, 0xd1, 0x28, 0xe2, 0xe4, 0x64, 0x14, 0xcb, 0xe5, 0x32, 0xde, 0xbe, 0xfd, 0x4f, 0x5d, 0xbf, 0x24, 0x7a, 0x40, 0x40, 0x01, 0x64, 0x64, 0x68, 0x11, 0xf5, 0xab, 0x5f, 0x55, 0x47, 0x76, 0xc7, 0xc7, 0xab, 0x6b, 0x9d, 0x46, 0xa3, 0x22, 0x26, 0x93, 0x51, 0x1c, 0x1d, 0x15, 0x71, 0x7c, 0x5c, 0xc4, 0xd9, 0xd9, 0x51, 0x9c, 0x9f, 0x1f, 0xc5, 0xd9, 0xd9, 0x51, 0x9c, 0x9e, 0x9e, 0xc6, 0xd9, 0xd9, 0x71, 0x9c, 0x9d, 0xbd, 0x8e, 0xb3, 0xb3, 0xe3, 0x28, 0x8a, 0x32, 0x8a, 0x62, 0x19, 0x11, 0xd5, 0xc7, 0x7f, 0xf9, 0x97, 0xff, 0x13, 0x65, 0xb9, 0x8c, 0x2f, 0x7e, 0x73, 0x1c, 0xdf, 0x7d, 0xf7, 0x2e, 0xfe, 0xcb, 0x7f, 0x5d, 0x3e, 0xf8, 0xf5, 0xac, 0x4f, 0x6c, 0xca, 0x35, 0x50, 0x00, 0x19, 0xda, 0x25, 0xa2, 0x72, 0x88, 0x84, 0xbf, 0xfa, 0xab, 0xcb, 0xf8, 0xd1, 0x8f, 0xaa, 0x23, 0xbb, 0xf3, 0xf3, 0x2a, 0x9e, 0x4e, 0x4e, 0xaa, 0x8f, 0xa7, 0xa7, 0xd5, 0x51, 0xdd, 0xc9, 0x49, 0x15, 0x50, 0x6f, 0xde, 0x5c, 0xc4, 0xf7, 0xbf, 0x7f, 0x11, 0x67, 0x67, 0x47, 0xf1, 0xea, 0xd5, 0xeb, 0x18, 0x8d, 0xce, 0x62, 0x3c, 0x3e, 0xbb, 0x0b, 0xa9, 0xe3, 0x88, 0x58, 0x44, 0xc4, 0xe2, 0x3e, 0xa6, 0x16, 0x8b, 0xff, 0x1d, 0x5f, 0x7d, 0xf5, 0xaf, 0x71, 0x73, 0x73, 0x1b, 0xd7, 0xd7, 0x37, 0x31, 0x9b, 0x95, 0xf1, 0xdf, 0xfe, 0xb8, 0xcc, 0xe2, 0xf7, 0x85, 0xee, 0xb9, 0x06, 0x0a, 0x80, 0x24, 0xfd, 0xe5, 0x5f, 0x5e, 0xc6, 0x47, 0x1f, 0x55, 0xd7, 0x2d, 0xcd, 0xe7, 0xd5, 0xe3, 0xf8, 0xb8, 0xba, 0x9e, 0xe9, 0xe8, 0x68, 0x1c, 0xc7, 0xc7, 0xe3, 0x38, 0x3e, 0xae, 0xae, 0x79, 0x7a, 0xf5, 0xea, 0x2c, 0xce, 0xcf, 0x4f, 0xe3, 0xe4, 0xe4, 0x24, 0x2e, 0x2e, 0x4e, 0xe3, 0xf5, 0xeb, 0x37, 0x31, 0x1e, 0x5f, 0x3c, 0x78, 0xd4, 0x01, 0x15, 0x31, 0x8f, 0x88, 0x45, 0x8c, 0x46, 0x8b, 0xf8, 0xe8, 0xa3, 0x45, 0xbc, 0x7d, 0xfb, 0x36, 0xbe, 0xfe, 0xfa, 0xf7, 0x71, 0x7d, 0x7d, 0x1b, 0xff, 0xf3, 0x7f, 0x2c, 0xe2, 0x07, 0xdd, 0xbe, 0x6c, 0x32, 0x23, 0xa0, 0x00, 0x48, 0xc6, 0x5f, 0xfc, 0xc5, 0x65, 0xfc, 0xe4, 0x27, 0xf5, 0x85, 0xe1, 0xab, 0x70, 0x2a, 0x8a, 0x88, 0xe5, 0x32, 0x62, 0x3c, 0x1e, 0x45, 0x51, 0x54, 0x8f, 0x88, 0x51, 0x14, 0xc5, 0x51, 0x14, 0xc5, 0x79, 0x8c, 0x46, 0xaf, 0xe2, 0xe8, 0xe8, 0x22, 0x26, 0x93, 0x1f, 0xc6, 0x72, 0xf9, 0xbd, 0x28, 0xcb, 0x57, 0x11, 0xf1, 0xbd, 0x88, 0x78, 0x15, 0x55, 0x38, 0xd5, 0x8f, 0x59, 0x8c, 0x46, 0x93, 0x18, 0x8d, 0xde, 0xc4, 0xf7, 0xbe, 0xf7, 0x55, 0x9c, 0x9f, 0xff, 0x6b, 0x7c, 0xfd, 0xf5, 0xbf, 0xc7, 0xd7, 0x5f, 0xff, 0xbe, 0xc3, 0x57, 0x4d, 0x8e, 0x04, 0x14, 0x00, 0x49, 0xf8, 0xe5, 0x2f, 0x2f, 0xe3, 0xe4, 0x24, 0x62, 0x36, 0xab, 0xee, 0xe7, 0x34, 0x99, 0x54, 0xf1, 0x54, 0xc7, 0xd4, 0x64, 0x32, 0x8e, 0xe5, 0xb2, 0x88, 0xc5, 0x22, 0x62, 0x3e, 0x2f, 0xe2, 0xe4, 0xa4, 0x88, 0xd1, 0x68, 0x12, 0x47, 0x47, 0xc7, 0x71, 0x72, 0x72, 0x1a, 0x27, 0x27, 0xaf, 0xe2, 0xf8, 0xf8, 0xc7, 0x51, 0x96, 0x3f, 0x88, 0xe5, 0xf2, 0x0f, 0xa2, 0x28, 0xce, 0x22, 0xe2, 0x2c, 0x22, 0x66, 0x11, 0x31, 0xbd, 0xfb, 0xb8, 0x8c, 0x88, 0x1f, 0x47, 0xc4, 0x17, 0x31, 0x1e, 0x7f, 0x1b, 0xa3, 0xd1, 0x4f, 0xe2, 0x47, 0x3f, 0xba, 0x88, 0xa2, 0x28, 0xe2, 0xab, 0xaf, 0x7e, 0x16, 0xaf, 0x5f, 0xff, 0xa6, 0xc3, 0xdf, 0x01, 0x72, 0x22, 0xa0, 0x00, 0x06, 0xe6, 0xa7, 0x97, 0x97, 0x49, 0x5e, 0xef, 0x53, 0x96, 0xab, 0x6b, 0x9d, 0x4e, 0x4e, 0x56, 0xf7, 0x71, 0x1a, 0x8d, 0xaa, 0xf5, 0xa9, 0xbe, 0x64, 0x77, 0x34, 0x1a, 0xc5, 0x78, 0x5c, 0x2d, 0x50, 0x11, 0xe3, 0xa8, 0xfe, 0x2a, 0x3b, 0x8a, 0x88, 0xe3, 0x18, 0x8d, 0x2e, 0x22, 0xe2, 0x75, 0x8c, 0xc7, 0xaf, 0x22, 0xe2, 0x4d, 0x44, 0x7c, 0x3f, 0xaa, 0x70, 0x9a, 0x45, 0xbd, 0x40, 0xad, 0x7e, 0x3c, 0x89, 0xa2, 0xf8, 0x5d, 0x8c, 0xc7, 0xbf, 0x8d, 0xb3, 0xb3, 0x1f, 0xc4, 0x0f, 0x7f, 0x38, 0x8a, 0xd9, 0xec, 0xc0, 0x2f, 0x9a, 0x6c, 0x09, 0x28, 0x00, 0x3a, 0xf7, 0xc9, 0x27, 0x97, 0x71, 0x7c, 0x5c, 0x5d, 0xef, 0x34, 0x9b, 0x55, 0x8f, 0xfa, 0x1e, 0x4f, 0xf5, 0x0a, 0x35, 0x9b, 0xd5, 0x3f, 0x2e, 0x63, 0x32, 0x89, 0xfb, 0x35, 0x6a, 0x3a, 0x2d, 0xe3, 0xf6, 0xb6, 0x8c, 0xf9, 0x7c, 0x1c, 0x11, 0xc7, 0x11, 0x71, 0x12, 0xd5, 0xf1, 0xdd, 0x0f, 0xa2, 0x3a, 0xc2, 0xbb, 0x88, 0x88, 0x9b, 0xbb, 0x47, 0x7d, 0x94, 0xf7, 0x51, 0x44, 0xbc, 0xbe, 0xfb, 0xfc, 0xe3, 0x28, 0xcb, 0xdf, 0x47, 0x59, 0x46, 0x5c, 0x5f, 0xff, 0xe7, 0x38, 0x3b, 0xfb, 0x5f, 0x5d, 0xfc, 0x16, 0x90, 0x19, 0x01, 0x05, 0x90, 0xa1, 0x3e, 0xde, 0xce, 0xa0, 0x28, 0xaa, 0xa3, 0xbb, 0xd3, 0xd3, 0x55, 0x3c, 0xad, 0x22, 0x6a, 0x1c, 0x93, 0xc9, 0x38, 0xc6, 0xe3, 0xea, 0x51, 0x14, 0xa3, 0x58, 0x2e, 0x8b, 0x88, 0x98, 0xc4, 0x78, 0x7c, 0x12, 0xc7, 0xc7, 0xe7, 0x31, 0x1e, 0x9f, 0x46, 0x15, 0x4f, 0xc7, 0xb1, 0x0a, 0xa9, 0x37, 0x51, 0x1d, 0xd9, 0x4d, 0x23, 0xe2, 0xf6, 0xd1, 0xc7, 0xb7, 0x11, 0xf1, 0x5d, 0x44, 0xbc, 0x8d, 0xd7, 0xaf, 0xff, 0x43, 0x14, 0xc5, 0x71, 0x44, 0x44, 0xfc, 0xee, 0x77, 0x1f, 0xc7, 0x8f, 0x7f, 0xfc, 0xc5, 0xa1, 0x5f, 0x3e, 0x99, 0xf1, 0xcd, 0x84, 0x01, 0xe8, 0xd4, 0x27, 0x9f, 0x5c, 0xc6, 0x68, 0x54, 0xad, 0x4f, 0x8b, 0x45, 0xf5, 0x28, 0xcb, 0xea, 0xd8, 0x6e, 0xb9, 0x5c, 0xfd, 0xdc, 0x7c, 0x5e, 0xc6, 0x7c, 0x5e, 0xc6, 0x62, 0x51, 0xde, 0xff, 0x78, 0x3e, 0x9f, 0xc7, 0x6c, 0x76, 0x13, 0xf3, 0xf9, 0x34, 0x96, 0xcb, 0x79, 0x44, 0x94, 0x1f, 0x78, 0x44, 0x44, 0x14, 0x6b, 0xbf, 0x6a, 0x19, 0x11, 0xe7, 0x51, 0xc5, 0xd5, 0x59, 0x44, 0x2c, 0x63, 0xb1, 0x28, 0xa2, 0x2c, 0x27, 0x71, 0x71, 0x71, 0x7c, 0xb8, 0x17, 0x4f, 0xb6, 0x2c, 0x50, 0x00, 0x74, 0x6e, 0xb9, 0x8c, 0xfb, 0x88, 0x9a, 0xcf, 0x23, 0xa6, 0xd3, 0xea, 0xe7, 0x8b, 0xa2, 0x3a, 0xb6, 0x2b, 0xcb, 0xea, 0xda, 0xa7, 0xc9, 0x64, 0xf5, 0x78, 0xf5, 0xea, 0xf5, 0xfd, 0xe3, 0xec, 0xec, 0x2c, 0x8e, 0x8e, 0x26, 0xf1, 0x30, 0x98, 0xd6, 0x03, 0xaa, 0xbe, 0x8d, 0xc1, 0x3c, 0xaa, 0x0b, 0xc9, 0xcb, 0x88, 0xb8, 0x8e, 0x88, 0xaf, 0xa3, 0xbe, 0xb0, 0xfc, 0xcd, 0x9b, 0xea, 0x73, 0xe7, 0xf3, 0xcd, 0xef, 0x8f, 0xc8, 0x70, 0x59, 0xa0, 0x00, 0xe8, 0xcc, 0x27, 0x9f, 0x5c, 0xde, 0xff, 0xb8, 0xba, 0xcb, 0xf8, 0xc3, 0x15, 0xaa, 0x2c, 0xeb, 0xf5, 0x29, 0x62, 0x36, 0x2b, 0x63, 0x3a, 0x2d, 0x63, 0x36, 0x5b, 0x5f, 0xa0, 0x96, 0xf7, 0x3f, 0x5e, 0x2e, 0x97, 0x51, 0xc5, 0xd0, 0xfa, 0x63, 0x3d, 0xa8, 0x22, 0xaa, 0x15, 0xaa, 0xfe, 0xb9, 0x51, 0x54, 0x47, 0x7d, 0xa7, 0x51, 0x5d, 0x8c, 0xbe, 0xfa, 0xf7, 0x7e, 0xfb, 0xdb, 0x9f, 0xed, 0xff, 0xc5, 0x93, 0x35, 0x0b, 0x14, 0x00, 0x49, 0x98, 0xcf, 0x57, 0xdf, 0x00, 0xf8, 0xf8, 0xf8, 0xe1, 0xf1, 0xdd, 0x6c, 0x56, 0x46, 0x51, 0x2c, 0xee, 0x16, 0xa9, 0x22, 0xc6, 0xe3, 0x22, 0x66, 0xb3, 0x69, 0x4c, 0xa7, 0xd7, 0x31, 0x9b, 0x1d, 0xdf, 0x3d, 0x8e, 0x62, 0xb9, 0xfc, 0x26, 0x46, 0xa3, 0xfa, 0x9d, 0x79, 0xeb, 0x1f, 0xeb, 0x77, 0xe0, 0xdd, 0xde, 0x3f, 0x96, 0xcb, 0x69, 0x2c, 0x97, 0xe3, 0xa8, 0xa2, 0x6a, 0x11, 0x11, 0xd3, 0x58, 0x2c, 0xca, 0x58, 0x2c, 0x22, 0x8e, 0x8f, 0xed, 0x0b, 0x3c, 0x4f, 0x40, 0x01, 0xd0, 0xb9, 0xfa, 0x9e, 0x4f, 0x93, 0xc9, 0x6a, 0x85, 0xaa, 0x6f, 0x29, 0x50, 0xdd, 0x81, 0x3c, 0xee, 0x6e, 0xa0, 0x59, 0xc4, 0x72, 0x19, 0x6b, 0x0b, 0x54, 0x19, 0xb3, 0xd9, 0x2c, 0x66, 0xb3, 0xeb, 0x98, 0x4e, 0x8f, 0x63, 0x3a, 0xbd, 0x8e, 0xf1, 0xf8, 0x34, 0x46, 0xa3, 0x7f, 0xbf, 0xbb, 0xd5, 0xc1, 0x38, 0xaa, 0xa5, 0x69, 0x75, 0x23, 0xcd, 0xd5, 0x0d, 0x35, 0x23, 0x96, 0xcb, 0xaf, 0x63, 0x3e, 0xff, 0xbf, 0x11, 0xf1, 0x6d, 0x44, 0x4c, 0x63, 0x3e, 0x9f, 0xde, 0x7d, 0xdd, 0x88, 0x2f, 0xbe, 0xf8, 0x38, 0x3e, 0xfe, 0xd8, 0xc5, 0xe4, 0x3c, 0x4d, 0x40, 0x01, 0xd0, 0xb9, 0xfa, 0x1e, 0x4f, 0xf3, 0xf9, 0xea, 0xd6, 0x05, 0xf5, 0xcf, 0xad, 0x1f, 0xe1, 0x8d, 0xc7, 0xd5, 0xf7, 0xb3, 0xab, 0x6e, 0x6b, 0xb0, 0x7c, 0xf4, 0x98, 0xc6, 0x6c, 0x76, 0x1d, 0x8b, 0xc5, 0x69, 0x8c, 0xc7, 0x27, 0xb1, 0x5c, 0x9e, 0xc6, 0x68, 0xf4, 0x4d, 0x8c, 0xc7, 0xeb, 0x0b, 0xd4, 0xc3, 0x90, 0x2a, 0x8a, 0xdb, 0x18, 0x8d, 0x46, 0xb1, 0x58, 0x2c, 0x62, 0xb1, 0xa8, 0x03, 0xaa, 0x5a, 0xa2, 0xe0, 0x39, 0x02, 0x0a, 0x80, 0xce, 0x2d, 0x16, 0xd5, 0x05, 0xe3, 0x11, 0xab, 0x8f, 0xf5, 0x3b, 0xf1, 0xea, 0x23, 0xbc, 0x88, 0xe5, 0xfd, 0x8d, 0x35, 0xc7, 0xe3, 0x88, 0x77, 0xef, 0xa6, 0xef, 0x7d, 0x9d, 0xf3, 0xf3, 0x7f, 0x8b, 0xf3, 0xf3, 0xfa, 0x9e, 0x4f, 0xb7, 0xb1, 0xba, 0xff, 0xd3, 0x32, 0x1e, 0x5e, 0x48, 0x5e, 0x05, 0xd4, 0xdb, 0xb7, 0xbf, 0x8f, 0xc5, 0xe2, 0xdb, 0x58, 0x2e, 0xdf, 0xc5, 0x62, 0x71, 0xfb, 0xe0, 0x5d, 0x7e, 0x65, 0x59, 0xbc, 0xf7, 0xf5, 0xa1, 0x26, 0xa0, 0x00, 0x48, 0xc2, 0x7c, 0x5e, 0x45, 0xd3, 0xed, 0x6d, 0xf5, 0xb1, 0x28, 0xaa, 0x6b, 0xa1, 0x46, 0xa3, 0x22, 0x8a, 0xa2, 0x88, 0xd1, 0x28, 0xa2, 0x2c, 0xab, 0xc0, 0x99, 0xcd, 0xca, 0x98, 0xcd, 0x96, 0x31, 0x9f, 0x2f, 0xe3, 0xfa, 0xfa, 0x36, 0x8a, 0xa2, 0x8c, 0xa2, 0x28, 0xe3, 0xe2, 0xe2, 0x2c, 0xe6, 0xf3, 0x32, 0xce, 0xcf, 0xcb, 0x38, 0x3f, 0xbf, 0x89, 0xa2, 0xa8, 0x43, 0xaa, 0x0e, 0xa8, 0xf5, 0x90, 0x9a, 0xc5, 0x64, 0xf2, 0x4d, 0xcc, 0x66, 0xb3, 0x78, 0xf7, 0xee, 0x28, 0xe6, 0xf3, 0xdb, 0xb8, 0xbe, 0x9e, 0xc6, 0x6c, 0x56, 0x3d, 0x97, 0xeb, 0xeb, 0x65, 0x87, 0xbf, 0x1b, 0xa4, 0x4e, 0x40, 0x01, 0x90, 0x8c, 0xc5, 0xa2, 0x0a, 0xa8, 0xf9, 0xbc, 0xfa, 0xe7, 0xf1, 0xb8, 0x5e, 0xa1, 0xca, 0xfb, 0x3b, 0x8f, 0x2f, 0x97, 0xcb, 0xbb, 0xa5, 0x68, 0x1a, 0xd3, 0xe9, 0x3c, 0x6e, 0x6f, 0xe7, 0x71, 0x7b, 0xbb, 0x88, 0xdb, 0xdb, 0x45, 0xcc, 0xe7, 0x8b, 0x38, 0x39, 0x99, 0xc4, 0xf9, 0xf9, 0x79, 0x9c, 0x9f, 0x5f, 0xc4, 0xf9, 0xf9, 0xff, 0x8b, 0xf3, 0xf3, 0xf3, 0xbb, 0xc0, 0xaa, 0xdf, 0x65, 0xb7, 0x0a, 0xa9, 0x9b, 0x9b, 0xeb, 0x78, 0xf7, 0xee, 0x9b, 0xb8, 0xbe, 0xfe, 0x26, 0xde, 0xbd, 0xfb, 0x2e, 0xe6, 0xf3, 0x45, 0x5c, 0x5f, 0xdf, 0xc4, 0xcd, 0xcd, 0x32, 0x16, 0x8b, 0xee, 0x7e, 0x1f, 0x48, 0x9f, 0x80, 0x02, 0xc8, 0x50, 0xdf, 0xee, 0x42, 0xbe, 0xae, 0xbe, 0xf7, 0xd3, 0x62, 0x11, 0x71, 0x73, 0x53, 0xc5, 0x53, 0x7d, 0x3d, 0x54, 0x51, 0x94, 0x77, 0x8b, 0x54, 0xc4, 0x78, 0x5c, 0xc6, 0x68, 0x14, 0x71, 0x73, 0x33, 0x8f, 0xe5, 0xb2, 0x8c, 0xb2, 0x5c, 0xc6, 0xc9, 0xc9, 0x38, 0xe6, 0xf3, 0x49, 0x2c, 0x16, 0x8b, 0x98, 0x4e, 0xaf, 0x63, 0x3a, 0x3d, 0x8f, 0xe9, 0xf4, 0xfc, 0x7e, 0xa1, 0x8a, 0xa8, 0x3f, 0x56, 0x01, 0x35, 0x9d, 0x4e, 0xef, 0xae, 0x9d, 0x1a, 0xc5, 0xf5, 0xf5, 0x2c, 0xe6, 0xf3, 0xc5, 0xdd, 0xba, 0x55, 0xfd, 0xda, 0xf0, 0x21, 0x02, 0x0a, 0x80, 0xe4, 0xac, 0x5f, 0xff, 0x54, 0x5f, 0xf7, 0x54, 0x14, 0xab, 0xeb, 0xa3, 0x22, 0xca, 0x18, 0x8d, 0xea, 0x0b, 0xca, 0x8b, 0x18, 0x8d, 0xca, 0xb8, 0xbe, 0x9e, 0xc5, 0x77, 0xdf, 0xdd, 0xc4, 0x6c, 0x36, 0xb9, 0x0b, 0xa1, 0xea, 0xe3, 0xed, 0xed, 0xf5, 0x7d, 0x40, 0xd5, 0xf1, 0x54, 0xff, 0x78, 0x3a, 0xbd, 0x8d, 0xe9, 0xf4, 0x36, 0x6e, 0x6f, 0x6f, 0x63, 0x3a, 0xad, 0x03, 0x6a, 0x7e, 0x77, 0x5f, 0xa9, 0x0e, 0x7f, 0x03, 0x48, 0x9e, 0x80, 0x02, 0x18, 0x98, 0x2f, 0xaf, 0xae, 0xba, 0x7e, 0x0a, 0xcf, 0xaa, 0x8e, 0xe9, 0xaa, 0x5b, 0x1a, 0xd4, 0x8a, 0xa2, 0xba, 0xfe, 0x69, 0xfd, 0x9f, 0x23, 0x16, 0xb1, 0x5c, 0x2e, 0xa3, 0x2c, 0xcb, 0x58, 0x2e, 0xcb, 0x58, 0x2e, 0x47, 0x31, 0x1e, 0xdf, 0xc6, 0xcd, 0xcd, 0x34, 0x6e, 0x6f, 0x8f, 0xe2, 0xe4, 0x64, 0x72, 0xff, 0xb1, 0x0a, 0xb0, 0x72, 0xed, 0x51, 0x45, 0xd4, 0x72, 0xb9, 0x88, 0xe9, 0x74, 0x1e, 0xb3, 0xd9, 0x22, 0xa6, 0xd3, 0xe5, 0xdd, 0x2d, 0x12, 0x8a, 0x98, 0xcd, 0x56, 0x77, 0x43, 0x87, 0xa7, 0x08, 0x28, 0x00, 0x92, 0x52, 0x7d, 0xdb, 0x96, 0xd5, 0x5d, 0xc8, 0x23, 0xaa, 0x7f, 0x9e, 0x4c, 0x56, 0xcb, 0xd4, 0x7c, 0xbe, 0xbe, 0x46, 0x2d, 0x62, 0xb1, 0x58, 0xc6, 0x72, 0x39, 0xbe, 0xbb, 0x97, 0x54, 0x11, 0x8b, 0xc5, 0x22, 0x6e, 0x6f, 0x8b, 0x98, 0x4e, 0x57, 0x01, 0x35, 0x1a, 0x95, 0xf7, 0x21, 0x15, 0x51, 0xde, 0x05, 0x59, 0x15, 0x60, 0x65, 0x59, 0xc4, 0x74, 0xba, 0x88, 0xe5, 0xb2, 0x7e, 0x17, 0x5e, 0xc4, 0xcf, 0x7f, 0x7e, 0xd5, 0xc9, 0xeb, 0x27, 0x0f, 0x02, 0x0a, 0x80, 0xe4, 0xac, 0x7f, 0x1b, 0x97, 0x3a, 0xa8, 0x56, 0xb7, 0x37, 0x28, 0x1f, 0x7c, 0xde, 0xea, 0xdb, 0xb3, 0x2c, 0xee, 0x03, 0x6a, 0x3e, 0x1f, 0xdd, 0x7d, 0x5c, 0xc6, 0xcd, 0xcd, 0xf4, 0x3e, 0xa0, 0xaa, 0xe3, 0xc0, 0xf2, 0x2e, 0xd0, 0x96, 0x77, 0x8f, 0xf2, 0xfe, 0xc7, 0x75, 0x40, 0x39, 0xbe, 0xe3, 0x25, 0x02, 0x0a, 0x80, 0xce, 0xfc, 0xfa, 0xd7, 0x57, 0x0f, 0xbe, 0x1f, 0x5e, 0xad, 0x0e, 0x98, 0x3a, 0x9a, 0xea, 0x5b, 0x1c, 0xd4, 0x3f, 0x37, 0x1a, 0x45, 0x44, 0x94, 0x77, 0x17, 0x8f, 0x17, 0x51, 0x96, 0xc5, 0xdd, 0x37, 0x24, 0xae, 0x22, 0x6a, 0x15, 0x50, 0xd5, 0xc7, 0x2a, 0xa0, 0xe2, 0xc1, 0x12, 0x55, 0x1d, 0xfd, 0xad, 0x07, 0x54, 0x15, 0x4e, 0x65, 0x19, 0xf1, 0x8b, 0x5f, 0x5c, 0xed, 0xff, 0xc5, 0x93, 0x35, 0x01, 0x05, 0x90, 0x99, 0x3e, 0xbf, 0x03, 0x6f, 0x5d, 0x1d, 0x51, 0xf5, 0x3d, 0xa1, 0x8a, 0xa2, 0xfa, 0xf6, 0x2e, 0xf5, 0x32, 0x35, 0x99, 0x54, 0xdf, 0xe2, 0xa5, 0x5a, 0xab, 0xca, 0xfb, 0xa5, 0x6a, 0x32, 0xa9, 0x6f, 0x75, 0x50, 0xbd, 0x83, 0x6f, 0x15, 0x50, 0xe5, 0x7d, 0x44, 0x15, 0x45, 0x79, 0x7f, 0xed, 0x54, 0xbd, 0x3c, 0xd5, 0xc7, 0x83, 0xa5, 0x9b, 0x90, 0xb3, 0x01, 0x01, 0x05, 0x40, 0xa7, 0x3e, 0xb4, 0x42, 0xd5, 0x96, 0xcb, 0x87, 0xef, 0xc8, 0xab, 0xaf, 0x81, 0x8a, 0xa8, 0x17, 0xaa, 0xf2, 0x6e, 0x81, 0xaa, 0x2e, 0x10, 0x5f, 0x2c, 0x8a, 0x98, 0x4c, 0xca, 0xbb, 0x5b, 0x21, 0x54, 0x1f, 0x1f, 0xaf, 0x4f, 0xf5, 0x35, 0x56, 0x75, 0x78, 0xad, 0x3f, 0xae, 0xaf, 0x0f, 0xf1, 0xaa, 0xc9, 0x9d, 0x80, 0x02, 0x20, 0x79, 0xf5, 0x11, 0x5e, 0x1d, 0x53, 0xf5, 0x0d, 0x36, 0x57, 0xab, 0x51, 0x15, 0x51, 0x75, 0x24, 0xcd, 0x66, 0xd5, 0xe7, 0xac, 0x3f, 0xd6, 0xd7, 0xa7, 0xf5, 0xdb, 0x22, 0xd4, 0xeb, 0x53, 0xfd, 0xb5, 0xfe, 0xfc, 0xcf, 0xaf, 0xba, 0x7e, 0xb9, 0x64, 0x60, 0xd4, 0xf5, 0x13, 0x00, 0x60, 0x73, 0xbb, 0x1e, 0xdf, 0xa5, 0x7a, 0x0b, 0x83, 0x5f, 0xff, 0xfa, 0xea, 0xc5, 0xcf, 0xa9, 0x23, 0xa7, 0xfa, 0xc6, 0xc2, 0xd5, 0x1d, 0xcb, 0xa7, 0xd3, 0xb8, 0x3b, 0xaa, 0x8b, 0x98, 0xcf, 0xeb, 0x6f, 0xf1, 0x52, 0xde, 0xff, 0x78, 0x3a, 0x5d, 0xc6, 0xed, 0xed, 0x32, 0x6e, 0x6e, 0x56, 0x8f, 0xdb, 0xdb, 0x32, 0x6e, 0x6e, 0xaa, 0xc7, 0xf5, 0x75, 0x19, 0xd3, 0x69, 0xdc, 0x3f, 0xfe, 0xf4, 0x4f, 0x5f, 0x7e, 0x1e, 0x10, 0x61, 0x81, 0x02, 0x18, 0x8c, 0x54, 0xe3, 0x69, 0x53, 0xf5, 0xfa, 0xb4, 0x3a, 0x7e, 0x5b, 0x05, 0xd4, 0x7c, 0x1e, 0x71, 0x72, 0xb2, 0xba, 0xc0, 0x7c, 0xb1, 0x58, 0x2d, 0x4e, 0x93, 0xc9, 0xea, 0x5d, 0x7c, 0x0f, 0xdf, 0xcd, 0xb7, 0xbe, 0x42, 0xb9, 0xf6, 0x89, 0x66, 0x2c, 0x50, 0x00, 0x24, 0x61, 0x93, 0x15, 0x2a, 0xe2, 0xe1, 0x35, 0x51, 0xf5, 0x6d, 0x0e, 0xe6, 0xf3, 0x2a, 0xa6, 0xea, 0x55, 0x6a, 0x3a, 0xad, 0x56, 0xaa, 0x7a, 0xa9, 0x5a, 0x5f, 0xab, 0xd6, 0x17, 0xa7, 0x9b, 0x9b, 0x88, 0x77, 0xef, 0xaa, 0xc7, 0x2f, 0x7f, 0xb9, 0xd9, 0xaf, 0x0f, 0x11, 0x02, 0x0a, 0x20, 0x1b, 0x43, 0x78, 0xf7, 0x5d, 0x93, 0x88, 0xaa, 0x03, 0xaa, 0x5e, 0xa0, 0xea, 0x80, 0x5a, 0x7f, 0xac, 0x87, 0xd4, 0xfa, 0xe7, 0x5c, 0x5f, 0xaf, 0xc2, 0xe9, 0xed, 0xdb, 0x88, 0x6f, 0xbf, 0xdd, 0xef, 0xeb, 0xa2, 0x7f, 0x04, 0x14, 0x40, 0x06, 0x86, 0x10, 0x4f, 0xb5, 0x4d, 0x23, 0x2a, 0xa2, 0x0a, 0xa8, 0xe9, 0xb4, 0x0a, 0xa2, 0x9b, 0x9b, 0xf7, 0x03, 0xea, 0xe6, 0xa6, 0xfa, 0xcf, 0xd6, 0x1f, 0x75, 0x34, 0xad, 0xc7, 0xd3, 0xa7, 0x9f, 0x6e, 0xfe, 0x6b, 0x42, 0x84, 0x6b, 0xa0, 0x00, 0x06, 0x21, 0xb7, 0xeb, 0x9f, 0xea, 0x88, 0x7a, 0xee, 0xf6, 0x06, 0x8f, 0xd5, 0xef, 0xd4, 0x9b, 0x4c, 0xde, 0x7f, 0xe7, 0x5d, 0xfd, 0x58, 0x3f, 0xfe, 0xfb, 0xeb, 0xbf, 0xbe, 0xda, 0xcb, 0x73, 0x67, 0x18, 0x04, 0x14, 0x40, 0xe2, 0x86, 0xb4, 0x3e, 0x3d, 0xf6, 0x8f, 0xff, 0x14, 0xf1, 0x27, 0xbf, 0xd8, 0xfc, 0xf3, 0xeb, 0x63, 0xbd, 0x5a, 0x7d, 0x91, 0x78, 0xfd, 0xa8, 0x7f, 0xee, 0x6f, 0xfe, 0xe6, 0xaa, 0xd5, 0xe7, 0xc9, 0xf0, 0x38, 0xc2, 0x03, 0x20, 0x49, 0x75, 0x38, 0xfe, 0xe3, 0x3f, 0x6d, 0xff, 0x35, 0xd6, 0x6f, 0x90, 0x59, 0x5f, 0x2b, 0x25, 0x9e, 0x68, 0x83, 0x05, 0x0a, 0x20, 0x61, 0x6d, 0xac, 0x4f, 0xb9, 0x1d, 0xdf, 0x45, 0xbc, 0xff, 0xba, 0xd7, 0x23, 0xaa, 0xc9, 0x22, 0x15, 0x51, 0xc5, 0xd3, 0xdf, 0xfd, 0xdd, 0xd5, 0xce, 0xcf, 0x09, 0xd6, 0x09, 0x28, 0x00, 0xb2, 0xd2, 0xe4, 0x22, 0x73, 0xd8, 0x17, 0x47, 0x78, 0x00, 0x89, 0x1a, 0xea, 0xb5, 0x4f, 0xcf, 0xbd, 0xee, 0x1c, 0xd7, 0x34, 0xfa, 0x49, 0x40, 0x01, 0xf4, 0x58, 0x6e, 0xc1, 0x21, 0x9e, 0xc8, 0x85, 0x80, 0x02, 0x48, 0xd0, 0x50, 0xd7, 0x27, 0xc8, 0x85, 0x80, 0x02, 0xe8, 0xa9, 0xdc, 0x16, 0x1b, 0xeb, 0x13, 0x39, 0x11, 0x50, 0x00, 0x89, 0x19, 0xe2, 0xfa, 0x24, 0x9e, 0xc8, 0x8d, 0x80, 0x02, 0x48, 0x48, 0x5b, 0xf1, 0x24, 0x3a, 0x60, 0xbf, 0x04, 0x14, 0x40, 0x22, 0x86, 0x1a, 0x4f, 0xd6, 0x27, 0x72, 0x24, 0xa0, 0x00, 0xe8, 0x8c, 0x78, 0x22, 0x57, 0x02, 0x0a, 0x20, 0x01, 0x43, 0x5d, 0x9f, 0x20, 0x57, 0x02, 0x0a, 0xa0, 0x63, 0x43, 0xbc, 0x68, 0x3c, 0xc2, 0xfa, 0x44, 0xde, 0x04, 0x14, 0x40, 0x87, 0xda, 0x8c, 0xa7, 0x9c, 0xa2, 0x43, 0x3c, 0x91, 0x3b, 0x01, 0x05, 0xd0, 0x91, 0xa1, 0x2e, 0x4f, 0x11, 0x22, 0x89, 0xfc, 0x09, 0x28, 0x80, 0xcc, 0x7d, 0x79, 0x75, 0x95, 0x65, 0x90, 0x3c, 0xf5, 0x9c, 0x73, 0x7c, 0x1d, 0x0c, 0x93, 0x80, 0x02, 0xe8, 0xc0, 0x90, 0xd7, 0xa7, 0x75, 0xeb, 0xc1, 0x24, 0x9e, 0xc8, 0xc9, 0xa4, 0xeb, 0x27, 0x00, 0x30, 0x34, 0x43, 0xbd, 0xee, 0xe9, 0x43, 0xfa, 0xf0, 0x1a, 0x18, 0x1e, 0x0b, 0x14, 0xc0, 0x01, 0x89, 0x27, 0xe8, 0x07, 0x01, 0x05, 0x70, 0x20, 0x8e, 0xed, 0xa0, 0x3f, 0x04, 0x14, 0xc0, 0x01, 0xb4, 0x1d, 0x4f, 0xd6, 0x27, 0xe8, 0x96, 0x80, 0x02, 0xd8, 0x33, 0xf1, 0x04, 0xfd, 0x23, 0xa0, 0x00, 0xf6, 0xc8, 0xb1, 0x1d, 0xf4, 0x93, 0x77, 0xe1, 0x01, 0xec, 0xc1, 0xbe, 0xc2, 0xc9, 0xfa, 0x04, 0x69, 0xb0, 0x40, 0x01, 0xb4, 0x4c, 0x3c, 0x41, 0xff, 0x59, 0xa0, 0x00, 0x5a, 0xb2, 0xcf, 0xe3, 0x3a, 0xf1, 0x04, 0x69, 0x11, 0x50, 0x00, 0x3b, 0xda, 0xf7, 0x75, 0x4e, 0xe2, 0x09, 0xd2, 0x23, 0xa0, 0x00, 0xb6, 0x74, 0x88, 0x0b, 0xc4, 0xc5, 0x13, 0xa4, 0x49, 0x40, 0x01, 0x34, 0xe4, 0x9d, 0x75, 0x80, 0x80, 0x02, 0xd8, 0xd0, 0xa1, 0xc3, 0xc9, 0xfa, 0x04, 0xe9, 0x12, 0x50, 0x00, 0x2f, 0xe8, 0x62, 0x71, 0x12, 0x4f, 0x90, 0x36, 0x01, 0x05, 0xf0, 0x01, 0x5d, 0x1d, 0xd5, 0x89, 0x27, 0x48, 0x9f, 0x80, 0x02, 0x78, 0x44, 0x38, 0x01, 0x2f, 0x11, 0x50, 0x00, 0x77, 0xba, 0xbc, 0x38, 0x5c, 0x3c, 0x41, 0x5e, 0x04, 0x14, 0x30, 0x78, 0x5d, 0xbf, 0xab, 0x4e, 0x3c, 0x41, 0x7e, 0x04, 0x14, 0x30, 0x48, 0x5d, 0x47, 0x53, 0x84, 0x70, 0x82, 0x9c, 0x09, 0x28, 0x60, 0x50, 0x52, 0x08, 0xa7, 0x08, 0xf1, 0x04, 0xb9, 0x13, 0x50, 0xc0, 0x20, 0xa4, 0x12, 0x4e, 0x11, 0xe2, 0x09, 0xfa, 0x40, 0x40, 0x01, 0xbd, 0x25, 0x9a, 0x80, 0x7d, 0x11, 0x50, 0x40, 0xef, 0xa4, 0x14, 0x4e, 0x11, 0xe2, 0x09, 0xfa, 0x48, 0x40, 0x01, 0xbd, 0x21, 0x9c, 0x80, 0x43, 0x11, 0x50, 0x40, 0xf6, 0x84, 0x13, 0x70, 0x68, 0x02, 0x0a, 0xc8, 0x52, 0x6a, 0xd1, 0x14, 0x21, 0x9c, 0x60, 0x48, 0x04, 0x14, 0x90, 0x15, 0xe1, 0x04, 0xa4, 0x40, 0x40, 0x01, 0x59, 0x10, 0x4e, 0x40, 0x4a, 0x04, 0x14, 0x90, 0xac, 0x14, 0xa3, 0x29, 0x42, 0x38, 0x01, 0x02, 0x0a, 0x48, 0x90, 0x70, 0x02, 0x52, 0x27, 0xa0, 0x80, 0x64, 0x08, 0x27, 0x20, 0x17, 0x02, 0x0a, 0xe8, 0x54, 0xaa, 0xd1, 0x14, 0x21, 0x9c, 0x80, 0x0f, 0x13, 0x50, 0x40, 0x27, 0x52, 0x0d, 0x27, 0xd1, 0x04, 0x6c, 0x42, 0x40, 0x01, 0x07, 0x25, 0x9c, 0x80, 0x3e, 0x10, 0x50, 0xc0, 0x41, 0x08, 0x27, 0xa0, 0x4f, 0x04, 0x14, 0xb0, 0x57, 0x29, 0x86, 0x93, 0x68, 0x02, 0x76, 0x25, 0xa0, 0x80, 0xbd, 0x10, 0x4e, 0x40, 0x9f, 0x09, 0x28, 0xa0, 0x55, 0xc2, 0x09, 0x18, 0x02, 0x01, 0x05, 0xb4, 0x42, 0x38, 0x01, 0x43, 0x22, 0xa0, 0x80, 0x9d, 0xa4, 0x16, 0x4e, 0xa2, 0x09, 0x38, 0x04, 0x01, 0x05, 0x6c, 0x45, 0x38, 0x01, 0x43, 0x26, 0xa0, 0x80, 0x46, 0x84, 0x13, 0x80, 0x80, 0x02, 0x36, 0x94, 0x52, 0x38, 0x89, 0x26, 0xa0, 0x6b, 0x02, 0x0a, 0x78, 0x96, 0x70, 0x02, 0x78, 0x9f, 0x80, 0x02, 0xde, 0x93, 0x52, 0x34, 0x45, 0x08, 0x27, 0x20, 0x3d, 0x02, 0x0a, 0xb8, 0x97, 0x52, 0x38, 0x89, 0x26, 0x20, 0x65, 0x02, 0x0a, 0x10, 0x4e, 0x00, 0x0d, 0x09, 0x28, 0x18, 0x30, 0xe1, 0x04, 0xb0, 0x1d, 0x01, 0x05, 0x03, 0x24, 0x9c, 0x00, 0x76, 0x23, 0xa0, 0x60, 0x40, 0x84, 0x13, 0x40, 0x3b, 0x04, 0x14, 0x0c, 0x80, 0x70, 0x02, 0x68, 0x97, 0x80, 0x82, 0x1e, 0x13, 0x4e, 0x00, 0xfb, 0x21, 0xa0, 0xa0, 0x87, 0x84, 0x13, 0xc0, 0x7e, 0x09, 0x28, 0xe8, 0x11, 0xe1, 0x04, 0x70, 0x18, 0x02, 0x0a, 0x7a, 0x40, 0x38, 0x01, 0x1c, 0x96, 0x80, 0x82, 0x8c, 0x09, 0x27, 0x80, 0x6e, 0x08, 0x28, 0xc8, 0x4c, 0x4a, 0xd1, 0x14, 0x21, 0x9c, 0x80, 0x61, 0x12, 0x50, 0x90, 0x91, 0x94, 0xe2, 0x49, 0x38, 0x01, 0x43, 0x26, 0xa0, 0x20, 0x03, 0xc2, 0x09, 0x20, 0x2d, 0x02, 0x0a, 0x12, 0x26, 0x9c, 0x00, 0xd2, 0x24, 0xa0, 0x20, 0x51, 0xa9, 0xc4, 0x93, 0x70, 0x02, 0x78, 0x9f, 0x80, 0x82, 0xc4, 0x08, 0x27, 0x80, 0xf4, 0x09, 0x28, 0x48, 0x84, 0x70, 0x02, 0xc8, 0x87, 0x80, 0x82, 0x04, 0xa4, 0x10, 0x4f, 0xc2, 0x09, 0x60, 0x73, 0x02, 0x0a, 0x3a, 0x24, 0x9c, 0x00, 0xf2, 0x24, 0xa0, 0xa0, 0x03, 0xc2, 0x09, 0x20, 0x6f, 0x02, 0x0a, 0x0e, 0x48, 0x38, 0x01, 0xf4, 0x83, 0x80, 0x82, 0x03, 0xe9, 0x3a, 0x9e, 0x84, 0x13, 0x40, 0x7b, 0x04, 0x14, 0xec, 0x99, 0x70, 0x02, 0xe8, 0x9f, 0xa2, 0x2c, 0xcb, 0xcd, 0x3f, 0xb9, 0x28, 0x36, 0xff, 0x64, 0x18, 0xb8, 0xae, 0xff, 0xb0, 0x14, 0x1d, 0xff, 0xfa, 0x00, 0x7d, 0x55, 0x96, 0x65, 0xd1, 0x7c, 0x81, 0xfa, 0xd9, 0x67, 0xed, 0x3f, 0x13, 0xe8, 0x99, 0xf2, 0x37, 0x9f, 0x75, 0xf6, 0x6b, 0x17, 0xfe, 0x8c, 0x02, 0xec, 0xcf, 0xdd, 0xff, 0xbe, 0x37, 0x5e, 0xa0, 0x3e, 0xfd, 0xef, 0x5d, 0xff, 0xff, 0x6a, 0x48, 0xd7, 0x67, 0x7f, 0xd6, 0xed, 0xee, 0xf3, 0x99, 0x3f, 0x9f, 0x00, 0x7b, 0xf5, 0xf9, 0x9f, 0x15, 0x5b, 0x2e, 0x50, 0xc0, 0x7b, 0x84, 0x13, 0xc0, 0xb0, 0x08, 0x28, 0xd8, 0x81, 0x70, 0x02, 0x18, 0x26, 0x01, 0x05, 0x5b, 0xea, 0x32, 0x9e, 0x84, 0x13, 0x40, 0xb7, 0x04, 0x14, 0x34, 0x64, 0x75, 0x02, 0x40, 0x40, 0xc1, 0x86, 0x84, 0x13, 0x00, 0x35, 0x01, 0x05, 0x1b, 0x70, 0x5c, 0x07, 0xc0, 0x3a, 0x01, 0x05, 0xcf, 0x10, 0x4e, 0x00, 0x3c, 0x45, 0x40, 0xc1, 0x13, 0x1c, 0xd7, 0x01, 0xf0, 0x1c, 0x01, 0x05, 0x8f, 0x58, 0x9d, 0x00, 0x78, 0x89, 0x80, 0x82, 0x3b, 0xc2, 0x09, 0x80, 0x4d, 0x09, 0x28, 0x06, 0x4f, 0x38, 0x01, 0xd0, 0x94, 0x80, 0x62, 0xb0, 0x5c, 0xe7, 0x04, 0xc0, 0xb6, 0x04, 0x14, 0x83, 0x64, 0x75, 0x02, 0x60, 0x17, 0x02, 0x8a, 0x41, 0x11, 0x4e, 0x00, 0xb4, 0x41, 0x40, 0x31, 0x08, 0xc2, 0x09, 0x80, 0x36, 0x8d, 0xba, 0x7e, 0x02, 0xb0, 0x6f, 0xe2, 0x09, 0x80, 0xb6, 0x59, 0xa0, 0xe8, 0x2d, 0xe1, 0x04, 0xc0, 0xbe, 0x08, 0x28, 0x7a, 0x47, 0x38, 0x01, 0xb0, 0x6f, 0x02, 0x8a, 0xde, 0x10, 0x4e, 0x00, 0x1c, 0x8a, 0x6b, 0xa0, 0xe8, 0x05, 0xf1, 0x04, 0xc0, 0x21, 0x59, 0xa0, 0xc8, 0x5e, 0x57, 0xf1, 0x24, 0x9c, 0x00, 0x86, 0x4b, 0x40, 0x91, 0x2d, 0xe1, 0x04, 0x40, 0x57, 0x04, 0x14, 0x59, 0xea, 0x22, 0x9e, 0x84, 0x13, 0x00, 0x35, 0x01, 0x45, 0x56, 0xac, 0x4e, 0x00, 0xa4, 0x40, 0x40, 0x91, 0x0d, 0xab, 0x13, 0x00, 0xa9, 0x10, 0x50, 0x24, 0x4f, 0x38, 0x01, 0x90, 0x1a, 0x01, 0x45, 0xd2, 0x0e, 0x1d, 0x4f, 0xc2, 0x09, 0x80, 0x4d, 0x08, 0x28, 0x92, 0x64, 0x75, 0x02, 0x20, 0x65, 0x02, 0x8a, 0xe4, 0x58, 0x9d, 0x00, 0x48, 0x9d, 0x80, 0x22, 0x29, 0x87, 0x8c, 0x27, 0xe1, 0x04, 0xc0, 0xb6, 0x04, 0x14, 0x49, 0x10, 0x4e, 0x00, 0xe4, 0xc4, 0xf7, 0xc2, 0xa3, 0x73, 0xe2, 0x09, 0x80, 0xdc, 0x58, 0xa0, 0xe8, 0x8c, 0x6b, 0x9d, 0x00, 0xc8, 0x95, 0x05, 0x8a, 0x4e, 0x88, 0x27, 0x00, 0x72, 0x66, 0x81, 0xe2, 0xa0, 0x84, 0x13, 0x00, 0x7d, 0x60, 0x81, 0xe2, 0x60, 0xc4, 0x13, 0x00, 0x7d, 0x61, 0x81, 0x62, 0xef, 0x84, 0x13, 0x00, 0x7d, 0x63, 0x81, 0x62, 0xaf, 0xc4, 0x13, 0x00, 0x7d, 0x64, 0x81, 0x62, 0x2f, 0x84, 0x13, 0x00, 0x7d, 0x66, 0x81, 0xa2, 0x75, 0xe2, 0x09, 0x80, 0xbe, 0xb3, 0x40, 0xd1, 0x2a, 0x37, 0xc5, 0x04, 0x60, 0x08, 0x2c, 0x50, 0xb4, 0x46, 0x3c, 0x01, 0x30, 0x14, 0x02, 0x8a, 0x56, 0x88, 0x27, 0x00, 0x86, 0xc4, 0x11, 0x1e, 0x3b, 0x3b, 0x54, 0x3c, 0x09, 0x27, 0x00, 0x52, 0x21, 0xa0, 0xd8, 0x9a, 0xd5, 0x09, 0x80, 0xa1, 0x12, 0x50, 0x6c, 0xc5, 0xea, 0x04, 0xc0, 0x90, 0xb9, 0x06, 0x8a, 0xc6, 0xc4, 0x13, 0x00, 0x43, 0x67, 0x81, 0xa2, 0x91, 0x43, 0xc4, 0x93, 0x70, 0x02, 0x20, 0x75, 0x16, 0x28, 0x36, 0x26, 0x9e, 0x00, 0xa0, 0x62, 0x81, 0xe2, 0x45, 0xc2, 0x09, 0x00, 0x1e, 0xb2, 0x40, 0xf1, 0x2c, 0xf1, 0x04, 0x00, 0xef, 0xb3, 0x40, 0xf1, 0x41, 0xfb, 0x8e, 0x27, 0xe1, 0x04, 0x40, 0xae, 0x2c, 0x50, 0x3c, 0x49, 0x3c, 0x01, 0xc0, 0x87, 0x59, 0xa0, 0x78, 0xc0, 0x91, 0x1d, 0x00, 0xbc, 0xcc, 0x02, 0xc5, 0x3d, 0xf1, 0x04, 0x00, 0x9b, 0x11, 0x50, 0x44, 0x84, 0x78, 0x02, 0x80, 0x26, 0x1c, 0xe1, 0xe1, 0x7a, 0x27, 0x00, 0x68, 0xc8, 0x02, 0x35, 0x70, 0xe2, 0x09, 0x00, 0x9a, 0xb3, 0x40, 0x0d, 0x94, 0x23, 0x3b, 0x00, 0xd8, 0x9e, 0x05, 0x6a, 0x80, 0xc4, 0x13, 0x00, 0xec, 0x46, 0x40, 0x0d, 0x8c, 0x78, 0x02, 0x80, 0xdd, 0x39, 0xc2, 0x1b, 0x10, 0xd7, 0x3b, 0x01, 0x40, 0x3b, 0x04, 0xd4, 0x00, 0x58, 0x9d, 0x00, 0xa0, 0x5d, 0x8e, 0xf0, 0x7a, 0x4e, 0x3c, 0x01, 0x40, 0xfb, 0x04, 0x54, 0x8f, 0x89, 0x27, 0x00, 0xd8, 0x0f, 0x47, 0x78, 0x3d, 0xe5, 0x7a, 0x27, 0x00, 0xd8, 0x1f, 0x0b, 0x54, 0x0f, 0x89, 0x27, 0x00, 0xd8, 0x2f, 0x01, 0xd5, 0x33, 0xe2, 0x09, 0x00, 0xf6, 0x4f, 0x40, 0xf5, 0x88, 0x78, 0x02, 0x80, 0xc3, 0x10, 0x50, 0x3d, 0x21, 0x9e, 0x00, 0xe0, 0x70, 0x5c, 0x44, 0xde, 0x03, 0xfb, 0x8c, 0x27, 0xe1, 0x04, 0x00, 0xef, 0xb3, 0x40, 0x65, 0x4e, 0x3c, 0x01, 0xc0, 0xe1, 0x09, 0xa8, 0x8c, 0x89, 0x27, 0x00, 0xe8, 0x86, 0x80, 0xca, 0x94, 0x78, 0x02, 0x80, 0xee, 0xb8, 0x06, 0x2a, 0x43, 0xfb, 0x88, 0x27, 0xd1, 0x04, 0x00, 0x9b, 0xb3, 0x40, 0x65, 0x46, 0x3c, 0x01, 0x40, 0xf7, 0x04, 0x54, 0x46, 0xc4, 0x13, 0x00, 0xa4, 0x41, 0x40, 0x65, 0x42, 0x3c, 0x01, 0x40, 0x3a, 0x04, 0x54, 0x06, 0xc4, 0x13, 0x00, 0xa4, 0x45, 0x40, 0x25, 0x4e, 0x3c, 0x01, 0x40, 0x7a, 0x04, 0x54, 0xc2, 0xc4, 0x13, 0x00, 0xa4, 0x49, 0x40, 0x25, 0x4a, 0x3c, 0x01, 0x40, 0xba, 0x04, 0x54, 0x82, 0xc4, 0x13, 0x00, 0xa4, 0x4d, 0x40, 0x25, 0x46, 0x3c, 0x01, 0x40, 0xfa, 0x04, 0x54, 0x42, 0xc4, 0x13, 0x00, 0xe4, 0x41, 0x40, 0x25, 0x42, 0x3c, 0x01, 0x40, 0x3e, 0x04, 0x54, 0x02, 0xc4, 0x13, 0x00, 0xe4, 0x45, 0x40, 0x75, 0x4c, 0x3c, 0x01, 0x40, 0x7e, 0x26, 0x5d, 0x3f, 0x81, 0xa1, 0xda, 0x47, 0x38, 0x45, 0x88, 0x27, 0x00, 0x38, 0x04, 0x0b, 0x54, 0x07, 0xc4, 0x13, 0x00, 0xe4, 0x4d, 0x40, 0xf5, 0x84, 0x78, 0x02, 0x80, 0xc3, 0x11, 0x50, 0x07, 0xe6, 0x9a, 0x27, 0x00, 0xc8, 0x9f, 0x80, 0x3a, 0x20, 0xf1, 0x04, 0x00, 0xfd, 0x20, 0xa0, 0x0e, 0x44, 0x3c, 0x01, 0x40, 0x7f, 0x08, 0xa8, 0x03, 0x10, 0x4f, 0x00, 0xd0, 0x2f, 0x02, 0x2a, 0x43, 0xe2, 0x09, 0x00, 0xba, 0x25, 0xa0, 0xf6, 0xac, 0xed, 0xf5, 0x49, 0x3c, 0x01, 0x40, 0xf7, 0x04, 0xd4, 0x1e, 0x89, 0x27, 0x00, 0xe8, 0x27, 0x01, 0xb5, 0x27, 0xe2, 0x09, 0x00, 0xfa, 0x4b, 0x40, 0xed, 0x81, 0x78, 0x02, 0x80, 0x7e, 0x13, 0x50, 0x2d, 0xdb, 0xd7, 0xb7, 0x69, 0x01, 0x00, 0xd2, 0x21, 0xa0, 0x12, 0x67, 0x7d, 0x02, 0x80, 0xf4, 0x08, 0xa8, 0x16, 0x39, 0xba, 0x03, 0x80, 0x61, 0x10, 0x50, 0x2d, 0x11, 0x4f, 0x00, 0x30, 0x1c, 0x02, 0xaa, 0x05, 0xe2, 0x09, 0x00, 0x86, 0x45, 0x40, 0xed, 0x48, 0x3c, 0x01, 0xc0, 0xf0, 0x08, 0xa8, 0x1d, 0x88, 0x27, 0x00, 0x18, 0x26, 0x01, 0x05, 0x00, 0xd0, 0x90, 0x80, 0xda, 0x92, 0xf5, 0x09, 0x00, 0x86, 0x4b, 0x40, 0x6d, 0x41, 0x3c, 0x01, 0xc0, 0xb0, 0x09, 0xa8, 0x86, 0xc4, 0x13, 0x00, 0x20, 0xa0, 0x1a, 0x10, 0x4f, 0x00, 0x40, 0x84, 0x80, 0xda, 0x98, 0x78, 0x02, 0x00, 0x6a, 0x02, 0xaa, 0x03, 0xe2, 0x09, 0x00, 0xf2, 0x26, 0xa0, 0x36, 0xd0, 0xf6, 0xfa, 0x04, 0x00, 0xe4, 0x4d, 0x40, 0xbd, 0xc0, 0xd1, 0x1d, 0x00, 0xf0, 0x98, 0x80, 0x7a, 0x86, 0x78, 0x02, 0x00, 0x9e, 0x22, 0xa0, 0x3e, 0x40, 0x3c, 0x01, 0x00, 0x1f, 0x22, 0xa0, 0x9e, 0x20, 0x9e, 0x00, 0x80, 0xe7, 0x08, 0xa8, 0x47, 0xc4, 0x13, 0x00, 0xf0, 0x12, 0x01, 0xb5, 0x47, 0xe2, 0x09, 0x00, 0xfa, 0x49, 0x40, 0xad, 0x71, 0xbb, 0x02, 0x00, 0x60, 0x13, 0x02, 0x6a, 0x4f, 0xac, 0x4f, 0x00, 0xd0, 0x5f, 0x02, 0xea, 0x4e, 0x9b, 0xeb, 0x93, 0x78, 0x02, 0x80, 0x7e, 0x13, 0x50, 0x21, 0x9e, 0x00, 0x80, 0x66, 0x04, 0x54, 0x8b, 0xc4, 0x13, 0x00, 0x0c, 0xc3, 0xe0, 0x03, 0xaa, 0xad, 0xf5, 0x49, 0x3c, 0x01, 0xc0, 0x70, 0x0c, 0x3a, 0xa0, 0xc4, 0x13, 0x00, 0xb0, 0x8d, 0x41, 0x07, 0x14, 0x00, 0xc0, 0x36, 0x06, 0x1b, 0x50, 0xd6, 0x27, 0x00, 0x60, 0x5b, 0x83, 0x0c, 0x28, 0x37, 0xcc, 0x04, 0x00, 0x76, 0x31, 0xc8, 0x80, 0x6a, 0x8b, 0xf5, 0x09, 0x00, 0x86, 0x69, 0x70, 0x01, 0xe5, 0xe8, 0x0e, 0x00, 0xd8, 0xd5, 0xa0, 0x02, 0xca, 0xd1, 0x1d, 0x00, 0xd0, 0x86, 0x41, 0x05, 0x54, 0x5b, 0xac, 0x4f, 0x00, 0x30, 0x6c, 0x45, 0x59, 0x6e, 0x1e, 0x03, 0x45, 0x51, 0x64, 0x5b, 0x0e, 0x6d, 0x3d, 0x71, 0x1b, 0x16, 0x00, 0x0c, 0x5b, 0x59, 0x96, 0xc5, 0x20, 0x16, 0xa8, 0x6c, 0xab, 0x0f, 0x00, 0x48, 0xd2, 0xa4, 0xe9, 0xbf, 0xf0, 0xe9, 0x3f, 0x7f, 0xba, 0x8f, 0xe7, 0xb1, 0x5f, 0x3f, 0xff, 0xbc, 0x95, 0x2f, 0xf3, 0xd9, 0x3f, 0x7f, 0x1a, 0x19, 0xbe, 0x7a, 0x00, 0xa0, 0x25, 0x9f, 0xdf, 0x35, 0x45, 0xef, 0x17, 0xa8, 0xcf, 0x5a, 0x8c, 0x27, 0x00, 0x80, 0x88, 0x9e, 0x07, 0x54, 0x5b, 0xf1, 0x04, 0x00, 0xb0, 0xae, 0xd7, 0x01, 0xd5, 0x16, 0xeb, 0x13, 0x00, 0xb0, 0xae, 0xb7, 0x01, 0x65, 0x7d, 0x02, 0x00, 0xf6, 0xa5, 0x97, 0x01, 0xd5, 0x66, 0x3c, 0x59, 0x9f, 0x00, 0x80, 0xc7, 0x7a, 0x19, 0x50, 0x6d, 0x11, 0x4f, 0x00, 0xc0, 0x53, 0x7a, 0x17, 0x50, 0x8e, 0xee, 0x00, 0x80, 0x7d, 0xeb, 0x55, 0x40, 0x39, 0xba, 0x03, 0x00, 0x0e, 0xa1, 0x57, 0x01, 0xd5, 0x16, 0xf1, 0x04, 0x00, 0x3c, 0xa7, 0x37, 0x01, 0xe5, 0xe8, 0x0e, 0x00, 0x38, 0x94, 0x5e, 0x04, 0x94, 0xa3, 0x3b, 0x00, 0xe0, 0x90, 0x7a, 0x11, 0x50, 0x6d, 0x11, 0x4f, 0x00, 0xc0, 0x26, 0xb2, 0x0f, 0x28, 0x47, 0x77, 0x00, 0xc0, 0xa1, 0x65, 0x1d, 0x50, 0x8e, 0xee, 0x00, 0x80, 0x2e, 0x64, 0x1b, 0x50, 0x96, 0x27, 0x00, 0xa0, 0x2b, 0xd9, 0x06, 0x54, 0x9b, 0xac, 0x4f, 0x00, 0x40, 0x13, 0x83, 0x0f, 0x28, 0xf1, 0x04, 0x00, 0x34, 0x95, 0x65, 0x40, 0x39, 0xbe, 0x03, 0x00, 0xba, 0x94, 0x65, 0x40, 0xb5, 0xc5, 0xfa, 0x04, 0x00, 0x6c, 0x23, 0xbb, 0x80, 0x6a, 0x6b, 0x7d, 0x12, 0x4f, 0x00, 0xc0, 0xb6, 0xb2, 0x0b, 0x28, 0x00, 0x80, 0xae, 0x65, 0x15, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x05, 0x59, 0x05, 0x54, 0x1b, 0xc4, 0x13, 0x00, 0xb0, 0xab, 0x6c, 0x02, 0xca, 0x3b, 0xef, 0x00, 0x80, 0x54, 0x64, 0x13, 0x50, 0x6d, 0xb0, 0x3e, 0x01, 0x00, 0x6d, 0xc8, 0x22, 0xa0, 0xac, 0x4f, 0x00, 0x40, 0x4a, 0xb2, 0x08, 0xa8, 0x36, 0x58, 0x9f, 0x00, 0x80, 0xb6, 0x24, 0x1f, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x35, 0xc9, 0x07, 0x54, 0x1b, 0xac, 0x4f, 0x00, 0x40, 0x9b, 0x92, 0x0e, 0x28, 0xeb, 0x13, 0x00, 0x90, 0xa2, 0xa4, 0x03, 0xaa, 0x0d, 0xd6, 0x27, 0x00, 0xa0, 0x6d, 0xc9, 0x06, 0x94, 0xf5, 0x09, 0x00, 0x48, 0x55, 0xb2, 0x01, 0xd5, 0x06, 0xeb, 0x13, 0x00, 0xb0, 0x0f, 0xbd, 0x0e, 0x28, 0x00, 0x80, 0x7d, 0x48, 0x32, 0xa0, 0xda, 0x38, 0xbe, 0xb3, 0x3e, 0x01, 0x00, 0xfb, 0x92, 0x64, 0x40, 0x01, 0x00, 0xa4, 0x2c, 0xb9, 0x80, 0xb2, 0x3e, 0x01, 0x00, 0xa9, 0x4b, 0x2e, 0xa0, 0x00, 0x00, 0x52, 0x97, 0x54, 0x40, 0x59, 0x9f, 0x00, 0x80, 0x1c, 0x24, 0x15, 0x50, 0x00, 0x00, 0x39, 0x48, 0x26, 0xa0, 0xac, 0x4f, 0x00, 0x40, 0x2e, 0x92, 0x09, 0x28, 0x00, 0x80, 0x5c, 0x24, 0x11, 0x50, 0xd6, 0x27, 0x00, 0x20, 0x27, 0x49, 0x04, 0x14, 0x00, 0x40, 0x4e, 0x3a, 0x0f, 0x28, 0xeb, 0x13, 0x00, 0x90, 0x9b, 0xce, 0x03, 0x0a, 0x00, 0x20, 0x37, 0x9d, 0x06, 0x94, 0xf5, 0x09, 0x00, 0xc8, 0x91, 0x05, 0x0a, 0x00, 0xa0, 0xa1, 0xce, 0x02, 0xca, 0xfa, 0x04, 0x00, 0xe4, 0xca, 0x02, 0x05, 0x00, 0xd0, 0x50, 0x27, 0x01, 0x65, 0x7d, 0x02, 0x00, 0x72, 0x76, 0xf0, 0x80, 0x6a, 0x23, 0x9e, 0x00, 0x00, 0xba, 0x94, 0xe5, 0x11, 0x9e, 0xf5, 0x09, 0x00, 0xe8, 0x52, 0x96, 0x01, 0x05, 0x00, 0xd0, 0xa5, 0xec, 0x02, 0xca, 0xfa, 0x04, 0x00, 0x74, 0xed, 0xa0, 0x01, 0xe5, 0xfa, 0x27, 0x00, 0xa0, 0x0f, 0xb2, 0x5a, 0xa0, 0xac, 0x4f, 0x00, 0x40, 0x0a, 0xb2, 0x0a, 0x28, 0x00, 0x80, 0x14, 0x1c, 0x2c, 0xa0, 0x1c, 0xdf, 0x01, 0x00, 0x7d, 0x91, 0xcd, 0x02, 0xe5, 0xf8, 0x0e, 0x00, 0x48, 0x45, 0x36, 0x01, 0x05, 0x00, 0x90, 0x8a, 0x83, 0x04, 0x94, 0xe3, 0x3b, 0x00, 0xa0, 0x4f, 0xb2, 0x58, 0xa0, 0x1c, 0xdf, 0x01, 0x00, 0x29, 0xc9, 0x22, 0xa0, 0x00, 0x00, 0x52, 0xb2, 0xf7, 0x80, 0x72, 0x7c, 0x07, 0x00, 0xf4, 0x4d, 0xf2, 0x0b, 0x94, 0xe3, 0x3b, 0x00, 0x20, 0x35, 0xc9, 0x07, 0x14, 0x00, 0x40, 0x6a, 0x04, 0x14, 0x00, 0x40, 0x43, 0x7b, 0x0d, 0xa8, 0x5d, 0xaf, 0x7f, 0x72, 0x7c, 0x07, 0x00, 0xa4, 0xc8, 0x02, 0x05, 0x00, 0xd0, 0x90, 0x80, 0x02, 0x00, 0x68, 0x68, 0x6f, 0x01, 0xe5, 0xf8, 0x0e, 0x00, 0xe8, 0x2b, 0x0b, 0x14, 0x00, 0x40, 0x43, 0x02, 0x0a, 0x00, 0xa0, 0xa1, 0xbd, 0x04, 0x94, 0xe3, 0x3b, 0x00, 0xa0, 0xcf, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0x5a, 0x0f, 0x28, 0xc7, 0x77, 0x00, 0x40, 0xdf, 0x59, 0xa0, 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, 0x25, 0x15, 0x50, 0x8e, 0xef, 0x00, 0x80, 0x1c, 0xb4, 0x1a, 0x50, 0xbb, 0x5e, 0xff, 0x04, 0x00, 0x90, 0x83, 0xa4, 0x16, 0x28, 0x00, 0x80, 0x1c, 0x24, 0x13, 0x50, 0x8e, 0xef, 0x00, 0x80, 0x5c, 0xb4, 0x16, 0x50, 0x8e, 0xef, 0x00, 0x80, 0xa1, 0x48, 0x66, 0x81, 0x02, 0x00, 0xc8, 0x45, 0x12, 0x01, 0xe5, 0xf8, 0x0e, 0x00, 0xc8, 0x49, 0x2b, 0x01, 0xe5, 0xf8, 0x0e, 0x00, 0x18, 0x92, 0x24, 0x16, 0x28, 0x00, 0x80, 0x9c, 0x74, 0x1e, 0x50, 0x8e, 0xef, 0x00, 0x80, 0xdc, 0xec, 0x1c, 0x50, 0x8e, 0xef, 0x00, 0x80, 0xa1, 0xd9, 0x29, 0xa0, 0xc4, 0x13, 0x00, 0x30, 0x44, 0x9d, 0x1e, 0xe1, 0x39, 0xbe, 0x03, 0x00, 0x72, 0xd4, 0xf9, 0x35, 0x50, 0x00, 0x00, 0xb9, 0x11, 0x50, 0x00, 0x00, 0x0d, 0x75, 0x16, 0x50, 0x8e, 0xef, 0x00, 0x80, 0x5c, 0x59, 0xa0, 0x00, 0x00, 0x1a, 0x12, 0x50, 0x00, 0x00, 0x0d, 0x6d, 0x1d, 0x50, 0x6e, 0x61, 0x00, 0x00, 0x0c, 0x95, 0x05, 0x0a, 0x00, 0xa0, 0x21, 0x01, 0x05, 0x00, 0xd0, 0x50, 0x27, 0x01, 0xe5, 0x1d, 0x78, 0x00, 0x40, 0xce, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0xb6, 0x0a, 0x28, 0xef, 0xc0, 0x03, 0x00, 0x86, 0xcc, 0x02, 0x05, 0x00, 0xd0, 0x90, 0x80, 0x02, 0x00, 0x68, 0xe8, 0xe0, 0x01, 0xe5, 0x1d, 0x78, 0x00, 0x40, 0xee, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0x1a, 0x07, 0x94, 0x77, 0xe0, 0x01, 0x00, 0x43, 0x67, 0x81, 0x02, 0x00, 0x68, 0x48, 0x40, 0x01, 0x00, 0x34, 0x74, 0xd0, 0x80, 0xf2, 0x0e, 0x3c, 0x00, 0xa0, 0x0f, 0x2c, 0x50, 0x00, 0x00, 0x0d, 0x09, 0x28, 0x00, 0x80, 0x86, 0x1a, 0x05, 0x54, 0xb9, 0xaf, 0x67, 0x01, 0x00, 0x90, 0x11, 0x0b, 0x14, 0x00, 0x40, 0x43, 0x02, 0x0a, 0x00, 0xa0, 0xa1, 0x83, 0x05, 0x94, 0x77, 0xe0, 0x01, 0x00, 0x7d, 0x61, 0x81, 0x02, 0x00, 0x68, 0x68, 0xd2, 0xf5, 0x13, 0x00, 0x00, 0x78, 0xca, 0xe7, 0x09, 0x7f, 0xfb, 0xb8, 0xcd, 0x03, 0xaa, 0x28, 0xbc, 0x09, 0x0f, 0x00, 0x32, 0x92, 0x72, 0x80, 0x6c, 0xa2, 0x2c, 0xcb, 0xa2, 0xeb, 0xe7, 0xf0, 0x21, 0x16, 0x28, 0x00, 0x48, 0x44, 0xdb, 0xc1, 0x93, 0x72, 0x80, 0xe4, 0x4e, 0x40, 0x01, 0xc0, 0x96, 0x04, 0xcf, 0x70, 0x1d, 0x24, 0xa0, 0xbc, 0x03, 0x0f, 0x80, 0x54, 0xed, 0x12, 0x41, 0x82, 0x67, 0xb8, 0x2c, 0x50, 0x00, 0xf4, 0x4a, 0xd3, 0x20, 0x12, 0x41, 0x6c, 0x43, 0x40, 0x01, 0x90, 0x34, 0x41, 0x44, 0x8a, 0x36, 0x0b, 0x28, 0xef, 0xc0, 0x03, 0xa0, 0x25, 0x82, 0x88, 0x3e, 0xb0, 0x40, 0x01, 0xd0, 0x8a, 0x4d, 0xc3, 0x48, 0x10, 0xd1, 0x07, 0x02, 0x0a, 0x80, 0x8d, 0xbc, 0x14, 0x48, 0xc2, 0x88, 0x21, 0xd9, 0x7b, 0x40, 0x79, 0x07, 0x1e, 0x40, 0x1e, 0x04, 0x12, 0x6c, 0xce, 0x02, 0x05, 0x30, 0x10, 0x02, 0x09, 0xda, 0x23, 0xa0, 0x00, 0x7a, 0x42, 0x20, 0xc1, 0xe1, 0xbc, 0x1c, 0x50, 0xde, 0x81, 0x07, 0xd0, 0xb9, 0x4d, 0x2e, 0xd0, 0x16, 0x48, 0x70, 0x38, 0x2f, 0x07, 0xd4, 0xda, 0x1f, 0xc8, 0xa2, 0x28, 0xca, 0x4f, 0xd7, 0xae, 0x69, 0xfa, 0x2c, 0xf3, 0x6f, 0x52, 0x08, 0x90, 0x0a, 0xeb, 0x11, 0xe4, 0x65, 0xa7, 0x23, 0xbc, 0xc7, 0x17, 0x88, 0x0b, 0x2a, 0x80, 0xa7, 0x09, 0x24, 0xe8, 0x97, 0x56, 0xaf, 0x81, 0xf2, 0x8e, 0x3b, 0x60, 0x88, 0x1c, 0xaf, 0xc1, 0xf0, 0xb8, 0x88, 0x1c, 0xe0, 0x05, 0xd6, 0x23, 0xe0, 0x31, 0x01, 0x05, 0x0c, 0x9a, 0xf5, 0x08, 0xd8, 0x86, 0x80, 0x02, 0x7a, 0xcd, 0x7a, 0x04, 0xec, 0x43, 0x51, 0x96, 0x9b, 0xdf, 0xa5, 0xa0, 0x78, 0xe1, 0x96, 0x06, 0x9f, 0xba, 0x06, 0x0a, 0x38, 0x30, 0x81, 0x04, 0x74, 0xa1, 0x51, 0x40, 0xbd, 0xf8, 0xc5, 0x76, 0xb8, 0x67, 0x94, 0xf8, 0x02, 0x1e, 0x73, 0xbc, 0x06, 0xa4, 0xaa, 0xd5, 0x80, 0xda, 0x85, 0xf8, 0x82, 0xe1, 0xb1, 0x1e, 0x01, 0xb9, 0x4a, 0x26, 0xa0, 0x76, 0x21, 0xbe, 0x20, 0x1d, 0x9b, 0xac, 0x46, 0x35, 0x81, 0x04, 0xe4, 0xaa, 0x17, 0x01, 0xb5, 0x0b, 0xf1, 0x05, 0x1f, 0xd6, 0x24, 0x86, 0x6a, 0xa2, 0x08, 0x18, 0x82, 0xc1, 0x07, 0xd4, 0x2e, 0xc4, 0x17, 0xb9, 0xd8, 0x26, 0x84, 0x22, 0xc4, 0x10, 0xc0, 0x87, 0x08, 0xa8, 0x8e, 0x88, 0x2f, 0xb6, 0x65, 0x15, 0x02, 0xe8, 0x9e, 0x80, 0xca, 0x90, 0xf8, 0xca, 0xd3, 0xb6, 0x2b, 0xd0, 0x63, 0x62, 0x08, 0xa0, 0x7b, 0x02, 0x6a, 0x60, 0xc4, 0xd7, 0xf3, 0xda, 0x8a, 0x9c, 0xa7, 0x08, 0x1f, 0x80, 0xfe, 0x10, 0x50, 0x6c, 0x2c, 0x95, 0xf8, 0x12, 0x39, 0x00, 0x74, 0x4d, 0x40, 0x71, 0x10, 0xbb, 0xc4, 0xd7, 0x63, 0x22, 0x07, 0x80, 0xae, 0x09, 0x28, 0x00, 0x80, 0x86, 0xfe, 0x3f, 0x19, 0xa9, 0xf2, 0xfe, 0xf9, 0x14, 0xa9, 0x9c, 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, 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 $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, 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 $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, 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; sub NEW { shift->SUPER::NEW(@_[0..3]); $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"); if ( name() eq "unnamed" ) { setName("TrimSPGUI" ); } setSizePolicy(Qt::SizePolicy(5, 5, 1, 1, this->sizePolicy()->hasHeightForWidth()) ); setMinimumSize(Qt::Size(550, 500) ); setIcon($image0 ); setMouseTracking(1 ); setAcceptDrops(1 ); setSizeGripEnabled(1 ); setModal(1 ); Progress = Qt::ProgressBar(this, "Progress"); Progress->setGeometry( Qt::Rect(0, 525, 715, 20) ); Progress->setFrameShape( &Qt::ProgressBar::WinPanel() ); tabs = Qt::TabWidget(this, "tabs"); tabs->setGeometry( Qt::Rect(0, 0, 715, 525) ); 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'); Help = Qt::PushButton($LayoutWidget_2, "Help"); Help->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Help->sizePolicy()->hasHeightForWidth()) ); Help->setPixmap( $image1 ); $layout12->addWidget(Help); Start = Qt::PushButton($LayoutWidget_2, "Start"); Start->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Start->sizePolicy()->hasHeightForWidth()) ); Start->setPixmap( $image2 ); $layout12->addWidget(Start); Quit = Qt::PushButton($LayoutWidget_2, "Quit"); Quit->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, Quit->sizePolicy()->hasHeightForWidth()) ); Quit->setPixmap( $image3 ); $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 ); 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, 72, 211, 24) ); dRadio = Qt::RadioButton(buttonGroup2, "dRadio"); dRadio->setGeometry( Qt::Rect(5, 99, 153, 24) ); ScandL = Qt::SpinBox(buttonGroup2, "ScandL"); ScandL->setGeometry( Qt::Rect(158, 98, 56, 26) ); ScandL->setMaxValue( int(7) ); ScandL->setMinValue( int(1) ); ERadio = Qt::RadioButton(buttonGroup2, "ERadio"); ERadio->setGeometry( Qt::Rect(4, 22, 211, 24) ); ERadio->setChecked( 1 ); 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) ); tabs->insertTab( ScansTab, "" ); languageChange(); my $resize = Qt::Size(713, 547); $resize = $resize->expandedTo(minimumSizeHint()); resize( $resize ); clearWState( &Qt::WState_Polished ); Qt::Object::connect(ScanSeq, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()"); Qt::Object::connect(Help, SIGNAL "clicked()", this, SLOT "OpenHelpWindow()"); 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()"); } # Sets the strings of the subwidgets using the current # language. sub languageChange { setCaption(trUtf8("TrimSPGUI") ); 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") ); Help->setText( undef ); Qt::ToolTip::add(Help, trUtf8("Help")); 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.")); 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")); ERadio->setText( trUtf8("Energy") ); Qt::WhatsThis::add(ERadio, trUtf8("Scan implantation energy.")); 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).")); tabs->changeTab( ScansTab, trUtf8("Scans (Disbaled)") ); } 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{"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"); 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 if ($All{"ERadio"}) { E->setDisabled(1); # E->setText(""); } elsif ($All{"SigERadio"}) { SigE->setDisabled(1); # SigE->setText(""); } elsif ($All{"NProjRadio"}) { NProj->setDisabled(1); # NProj->setText(""); } elsif($All{"dRadio"}) { my $LayerName = "L".$All{"ScandL"}."d"; my $LayerAttrib = child($LayerName); $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. $All{"FNPre"}=FNPre->text(); $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{"NProjRadio"}=NProjRadio->isChecked(); $All{"dRadio"}=dRadio->isChecked(); $All{"ScandL"}=ScandL->text(); $All{"ListRadio"}=ListRadio->isChecked(); $All{"LoopRadio"}=LoopRadio->isChecked(); $All{"ScanList"}=ScanList->text(); $All{"ScanListdz"}=ScanListdz->text(); $All{"SFrom"}=SFrom->text(); $All{"STo"}=STo->text(); $All{"SStep"}=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{"NProjRadio"}=NProjRadio->isChecked(); $All{"dRadio"}=dRadio->isChecked(); $All{"ScandL"}=ScandL->text(); $All{"ListRadio"}=ListRadio->isChecked(); $All{"LoopRadio"}=LoopRadio->isChecked(); $All{"ScanList"}=ScanList->text(); $All{"ScanListdz"}=ScanListdz->text(); $All{"SFrom"}=SFrom->text(); $All{"STo"}=STo->text(); $All{"SStep"}=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{"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"; } 1; package main; use Qt; use TrimSPGUI; my $a = Qt::Application(\@ARGV); my $w = TrimSPGUI; $a->setMainWidget($w); $w->show; exit $a->exec;