From bf99cb74c11b740d27e2816ad4576664ebf65c9f Mon Sep 17 00:00:00 2001 From: llea <llea> Date: Tue, 12 Apr 2005 19:49:39 +0000 Subject: [PATCH] Handle error messages - Handle refused calls --- src/Makefile | 5 +- src/audiodrivers.h | 2 +- src/audiodriversalsa.cpp | 26 +- src/audiodriversalsa.h | 6 +- src/audiodriversoss.cpp | 28 +- src/audiodriversoss.h | 5 +- src/audiortp.cpp | 7 +- src/configurationpanel.ui | 62 ++- src/configurationpanelui.cpp | 890 +++++++++++++++++++++++------------ src/configurationpanelui.h | 6 +- src/error.cpp | 137 ++++++ src/error.h | 54 +++ src/manager.cpp | 45 +- src/manager.h | 8 +- src/phonebookui.cpp | 2 +- src/phonebookui.h | 2 +- src/qtGUImainwindow.cpp | 30 +- src/sip.cpp | 47 +- src/sip.h | 1 + src/tonegenerator.cpp | 4 +- src/tonegenerator.h | 2 +- src/url_inputui.cpp | 2 +- src/url_inputui.h | 2 +- 23 files changed, 986 insertions(+), 387 deletions(-) create mode 100644 src/error.cpp create mode 100644 src/error.h diff --git a/src/Makefile b/src/Makefile index 776c7ea509..2590f1e1f2 100644 --- a/src/Makefile +++ b/src/Makefile @@ -42,6 +42,7 @@ OBJS = \ configurationtree.o \ dtmf.o \ dtmfgenerator.o \ + error.o \ g711.o \ main.o \ manager.o \ @@ -66,8 +67,8 @@ OBJS = \ volumecontrol.o volumecontrol.moc.o \ stun.o udp.o -start: check prereq all -#start: check all +#start: check prereq all +start: check all check: ifeq ($(CONFIGURE_CONF),../configure.conf) diff --git a/src/audiodrivers.h b/src/audiodrivers.h index 2a82e88618..4daf9956d3 100644 --- a/src/audiodrivers.h +++ b/src/audiodrivers.h @@ -47,10 +47,10 @@ public: virtual unsigned int readableBytes (void) = 0; AudioBuffer audio_buf; // Buffer that the application fills + protected: DeviceState devstate; // Current state DeviceMode devmode; // Current mode - }; diff --git a/src/audiodriversalsa.cpp b/src/audiodriversalsa.cpp index 799641a8f4..812df6cc26 100644 --- a/src/audiodriversalsa.cpp +++ b/src/audiodriversalsa.cpp @@ -35,10 +35,11 @@ #define ALSA_DEVICE "plughw:0,0" -AudioDriversALSA::AudioDriversALSA(DeviceMode mode) : AudioDrivers () { +AudioDriversALSA::AudioDriversALSA(DeviceMode mode, Error *error) : + AudioDrivers () { + this->error = error; audio_hdl = (snd_pcm_t *) NULL; initDevice(mode); - } AudioDriversALSA::~AudioDriversALSA (void) { @@ -59,7 +60,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { int err; if (devstate == DeviceOpened) { - printf ("ERROR: ALSA Device Already Open !\n"); + error->errorName(DEVICE_ALREADY_OPEN, NULL); return -1; } @@ -83,6 +84,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { if (err < 0) { printf ("ERROR: ALSA/snd_pcm_open: Cannot open audio device (%s)\n", snd_strerror (err)); + error->errorName(OPEN_FAILED_DEVICE, NULL); return -1; } //////////////////////////////////////////////////////////////////////////// @@ -95,6 +97,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { if (err < 0) { printf ("Cannot allocate hardware parameter structure (%s)\n", snd_strerror (err)); + error->errorName(PARAMETER_STRUCT_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } @@ -102,6 +105,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { if ((err = snd_pcm_hw_params_any (audio_hdl, hw_params)) < 0) { printf ("Cannot initialize hardware parameter structure (%s)\n", snd_strerror (err)); + error->errorName(PARAMETER_STRUCT_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } @@ -109,6 +113,8 @@ AudioDriversALSA::initDevice (DeviceMode mode) { SND_PCM_ACCESS_RW_INTERLEAVED); if (err < 0) { printf ("Cannot set access type (%s)\n", snd_strerror (err)); + error->errorName(ACCESS_TYPE_ERROR_ALSA, (char*)snd_strerror(err)); + return -1; } // Set sample formats (Signed, 16Bits, little endian) @@ -116,6 +122,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { SND_PCM_FORMAT_S16_LE); if (err < 0) { printf ("Cannot set sample format (%s)\n", snd_strerror (err)); + error->errorName(SAMPLE_FORMAT_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } @@ -128,6 +135,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { &exact_rate, 0); if (err < 0) { printf ("Cannot set sample rate (%s)\n", snd_strerror (err)); + error->errorName(SAMPLE_RATE_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } if (exact_rate != rate) { @@ -138,6 +146,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { err = snd_pcm_hw_params_set_channels (audio_hdl, hw_params, MONO); if (err < 0) { printf ("Cannot set channel count (%s)\n", snd_strerror (err)); + error->errorName(CHANNEL_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } @@ -145,6 +154,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { err = snd_pcm_hw_params (audio_hdl, hw_params); if (err < 0) { printf ("Cannot set parameters (%s)\n", snd_strerror (err)); + error->errorName(PARAM_SETUP_ALSA, (char*)snd_strerror(err)); return -1; } @@ -163,7 +173,7 @@ AudioDriversALSA::initDevice (DeviceMode mode) { int AudioDriversALSA::writeBuffer (void) { if (devstate != DeviceOpened) { - printf ("ALSA: writeBuffer(): Device Not Open\n"); + error->errorName(DEVICE_NOT_OPEN, NULL); return -1; } @@ -189,7 +199,7 @@ AudioDriversALSA::writeBuffer (void) { int AudioDriversALSA::readBuffer (void *ptr, int bytes) { if( devstate != DeviceOpened ) { - printf ("ALSA: readBuffer(): Device Not Open\n"); + error->errorName(DEVICE_NOT_OPEN, NULL); return -1; } @@ -214,12 +224,14 @@ AudioDriversALSA::resetDevice (void) { printf("Resetting...\n"); if ((err = snd_pcm_drop(audio_hdl)) < 0) { - printf ("ALSA: drop() error: %s\n", snd_strerror (err)); + printf ("ALSA: drop() error: %s\n", snd_strerror (err)); + error->errorName(DROP_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } if ((err = snd_pcm_prepare(audio_hdl)) < 0) { - printf ("ALSA: prepare() error: %s\n", snd_strerror (err)); + printf ("ALSA: prepare() error: %s\n", snd_strerror (err)); + error->errorName(PREPARE_ERROR_ALSA, (char*)snd_strerror(err)); return -1; } diff --git a/src/audiodriversalsa.h b/src/audiodriversalsa.h index f96e4060ca..f2b857297d 100644 --- a/src/audiodriversalsa.h +++ b/src/audiodriversalsa.h @@ -23,6 +23,8 @@ #include <alsa/asoundlib.h> #include "audiodrivers.h" +#include "error.h" + /** * This is the ALSA implementation of DspOut. @@ -35,7 +37,7 @@ public: * Constructs a AudioDriversALSA object representing the given * filename. Default is /dev/dsp. */ - AudioDriversALSA(DeviceMode); + AudioDriversALSA(DeviceMode, Error*); /** * Destructor. Will close the device if it is open. @@ -50,6 +52,8 @@ public: unsigned int readableBytes (void) { return 0; } private: + Error * error; + snd_pcm_t *audio_hdl; void closeDevice (void); }; diff --git a/src/audiodriversoss.cpp b/src/audiodriversoss.cpp index 88e353ce95..5fb9477799 100644 --- a/src/audiodriversoss.cpp +++ b/src/audiodriversoss.cpp @@ -35,7 +35,9 @@ #include "global.h" -AudioDriversOSS::AudioDriversOSS (DeviceMode mode) : AudioDrivers () { +AudioDriversOSS::AudioDriversOSS (DeviceMode mode, Error *error) : + AudioDrivers () { + this->error = error; audio_fd = -1; initDevice(mode); } @@ -73,24 +75,27 @@ AudioDriversOSS::initDevice (DeviceMode mode) { } if (devstate == DeviceOpened) { + error->errorName(DEVICE_ALREADY_OPEN, NULL); return -1; } // Open device in non-blocking mode audio_fd = open (AUDIO_DEVICE, oflag | O_NONBLOCK ); if (audio_fd == -1) { - printf ("ERROR: Open Failed\n"); - return -1; - } + error->errorName(OPEN_FAILED_DEVICE, NULL); + return -1; + } + // Remove O_NONBLOCK int flags = fcntl(audio_fd, F_GETFL) & ~O_NONBLOCK; fcntl (audio_fd, F_SETFL, flags); - + // Fragments : No limit (0x7FFF), int frag = ( ( 0x7FFF << 16 ) | 7 ); if (ioctl(audio_fd, SNDCTL_DSP_SETFRAGMENT, &frag)) { printf ("ERROR: SETFRAG %s\n", strerror(errno)); + error->errorName(FRAGMENT_ERROR_OSS, strerror(errno)); return -1; } @@ -100,6 +105,7 @@ AudioDriversOSS::initDevice (DeviceMode mode) { if (ioctl(audio_fd, SNDCTL_DSP_SETFMT, &format) == -1) { printf("ERROR: SETFMT %s\n", strerror(errno)); + error->errorName(SAMPLE_FORMAT_ERROR_OSS, strerror(errno)); return -1; } if (format != AFMT_S16_LE) { @@ -111,6 +117,7 @@ AudioDriversOSS::initDevice (DeviceMode mode) { int channels = MONO; if (ioctl(audio_fd, SNDCTL_DSP_CHANNELS, &channels) == -1) { printf ("ERROR: DSP_STEREO %s\n", strerror(errno)); + error->errorName(CHANNEL_ERROR_OSS, strerror(errno)); return -1; } if (channels != MONO) { @@ -122,6 +129,7 @@ AudioDriversOSS::initDevice (DeviceMode mode) { int rate = SAMPLING_RATE; if (ioctl(audio_fd, SNDCTL_DSP_SPEED, &rate ) == -1 ) { printf ("ERROR: DSP_SPEED %s\n", strerror(errno)); + error->errorName(SAMPLE_RATE_ERROR_OSS, strerror(errno)); return -1; } @@ -135,11 +143,13 @@ AudioDriversOSS::initDevice (DeviceMode mode) { if (mode == WriteOnly) { if (ioctl(audio_fd, SNDCTL_DSP_GETOSPACE, &info) == -1) { printf ("ERROR: GETISPACE %s\n", strerror(errno)); + error->errorName(GETISPACE_ERROR_OSS, strerror(errno)); return -1; } } else { if (ioctl(audio_fd, SNDCTL_DSP_GETISPACE, &info ) == -1) { printf ("ERROR: GETOSPACE %s\n", strerror(errno)); + error->errorName(GETOSPACE_ERROR_OSS, strerror(errno)); return -1; } } @@ -180,12 +190,11 @@ AudioDriversOSS::openDevice (int exist_fd) { int AudioDriversOSS::readBuffer (void *ptr, int bytes) { if( devstate != DeviceOpened ) { - printf ("Device Not Open\n"); return false; } ssize_t count = bytes; ssize_t rc; - + rc = read (audio_fd, ptr, count); if (rc < 0) { printf ("rc < 0 read(): %s\n", strerror(errno)); @@ -201,7 +210,6 @@ AudioDriversOSS::readBuffer (void *ptr, int bytes) { int AudioDriversOSS::readBuffer (int bytes) { if( devstate != DeviceOpened ) { - printf ("Device Not Open\n"); return -1; } @@ -227,7 +235,7 @@ AudioDriversOSS::readBuffer (int bytes) { int AudioDriversOSS::writeBuffer (void *ptr, int len) { if (devstate != DeviceOpened ) { - printf ("Device Not Opened\n"); + error->errorName(DEVICE_NOT_OPEN, NULL); return -1; } @@ -258,7 +266,7 @@ AudioDriversOSS::writeBuffer (void *ptr, int len) { int AudioDriversOSS::writeBuffer (void) { if (devstate != DeviceOpened ) { - printf ("Device Not Opened\n"); + error->errorName(DEVICE_NOT_OPEN, NULL); return -1; } diff --git a/src/audiodriversoss.h b/src/audiodriversoss.h index c1c8cfcc9a..622ee6961e 100644 --- a/src/audiodriversoss.h +++ b/src/audiodriversoss.h @@ -25,13 +25,14 @@ #include "audiodrivers.h" +#include "error.h" // TODO : a mettre dans config #define AUDIO_DEVICE "/dev/dsp" class AudioDriversOSS : public AudioDrivers { public: - AudioDriversOSS (DeviceMode); + AudioDriversOSS (DeviceMode, Error*); ~AudioDriversOSS (void); int initDevice (DeviceMode); @@ -46,7 +47,7 @@ public: int audio_fd; private: int closeDevice (void); - + Error * error; }; #endif // _AUDIO_DRIVERS_OSS_H diff --git a/src/audiortp.cpp b/src/audiortp.cpp index c5742779a6..6adf102b45 100644 --- a/src/audiortp.cpp +++ b/src/audiortp.cpp @@ -154,7 +154,6 @@ AudioRtpRTX::~AudioRtpRTX () { void AudioRtpRTX::run (void) { -// AudioCodec ac; unsigned char *data_to_send; short *data_mute; short *data_from_mic; @@ -328,10 +327,10 @@ AudioRtpRTX::run (void) { audioDevice->audio_buf.setData (data_for_speakers, manager->getSpkrVolume()); - // Notify (with a bip) an incoming call when there is already call + // Notify (with a bip) an incoming call when there is already a call countTime += TimerPort::getElapsed(); - if (manager->sip->getNumberPendingCalls() != 1) { - if ((countTime % 3000) <= 10 and (countTime % 3000) >= 0) { + if (manager->getNumberPendingCalls() != 1 and manager->ringing()) { + if ((countTime % 2000) <= 10 and (countTime % 2000) >= 0) { manager->notificationIncomingCall(); } } diff --git a/src/configurationpanel.ui b/src/configurationpanel.ui index 17670ec9c5..72fdbc9845 100644 --- a/src/configurationpanel.ui +++ b/src/configurationpanel.ui @@ -908,7 +908,7 @@ <cstring>RingPage</cstring> </property> <attribute name="title"> - <string>Rings</string> + <string>Ringtones</string> </attribute> <widget class="QComboBox"> <property name="name"> @@ -1204,32 +1204,33 @@ For more information, see http://www.sflphone.org<br> </p></string> </property> </widget> - </widget> - <widget class="QWidget"> - <property name="name"> - <cstring>CodecsPage</cstring> - </property> - <attribute name="title"> - <string>About Savoir-faire Linux inc.</string> - </attribute> <widget class="QLabel"> <property name="name"> - <cstring>textLabel1</cstring> + <cstring>pixmapLabel1</cstring> </property> <property name="geometry"> <rect> - <x>85</x> - <y>126</y> - <width>291</width> - <height>131</height> + <x>50</x> + <y>40</y> + <width>312</width> + <height>91</height> </rect> </property> - <property name="text"> - <string><p align="center">Website: http://www.savoirfairelinux.com<br><br> -5505, Saint-Laurent - bureau 2027<br> -Montreal, Quebec H2T 1S6</p></string> + <property name="pixmap"> + <pixmap>image0</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> </property> </widget> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>CodecsPage</cstring> + </property> + <attribute name="title"> + <string>About Savoir-faire Linux inc.</string> + </attribute> <widget class="QLabel"> <property name="name"> <cstring>pixmapLabel2</cstring> @@ -1243,12 +1244,30 @@ Montreal, Quebec H2T 1S6</p></string> </rect> </property> <property name="pixmap"> - <pixmap>image0</pixmap> + <pixmap>image1</pixmap> </property> <property name="scaledContents"> <bool>true</bool> </property> </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="geometry"> + <rect> + <x>85</x> + <y>126</y> + <width>291</width> + <height>131</height> + </rect> + </property> + <property name="text"> + <string><p align="center">Website: http://www.savoirfairelinux.com<br><br> +5505, Saint-Laurent - bureau 3030<br> +Montreal, Quebec H2T 1S6</p></string> + </property> + </widget> </widget> </widget> </vbox> @@ -1257,7 +1276,10 @@ Montreal, Quebec H2T 1S6</p></string> </widget> <images> <image name="image0"> - <data format="PNG" length="3470">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000d5549444154789ced5d5f685bd71dfe0952708619cad8431ccab0cb5a7006a5f2dc07796bc9357d99e294546e1f626f7d90e28cd8db4b9df6c5498aabe6c17554c86675b8b30261560bc6ce83a378106665a8c885649687871c48c11ede908b198e31c61626f0ede1fed1fd77ee3de74a4e9d46e7e54b7ccf9fdf39f777befb9ddf3de78a4044634454350480550000720a620fa87a3b357c66b162074d3f2c020002a3b3a02b000d4e32514a01fd770a0080efbae3357c7ad153c1c2ba4ca0fe781a0480ae4c0aa31f40641a3507aea1308a150020dd70675451945240716ba726216ac8855c19b12733a2174615c158b65073dc1abaa26b86c2fa0e02c9ea32ab130646676b92a1868ee89801eb80ff0930ac19fdf174cd716bc844e685c2fa0efc710f8c99488392008dce829240e8e63c006072498e32f0d6e31f9aacdc71018c8c8e2172be17919e5e0523889cefc5707c1800502c169f1e4902203d5ddd09bdb3b583e13810e9e945f08484484fc47bfdfb609f1d568761876443b105c7945bc613615cec00d8039a5b0340ab8c81d620f3ff0383b1a782d90706639afd55b377d53a1efdeff77b9ac8fb629f0d5a67de1e841996274566e63d695c2f8c1b39df6bb811a18e304646c70000e3a949200e481d21ed7aa03588f9fcfcc1675cd5fe6a39048c0e1b680d22d2d35b11d356d53e065afe208930ac826e293891ab48e34a3772fc0e0523c362833d807828db979e493bd6afe6abd4412abaee645fd1837d00822724cb13c8a91e3c84a7892d6a9f5b7edf181145892849445100be8fa6880e75123de6c348204fc95fb5102b45ff9aa7eb0b2ddcf5b170fcd41a75bf7ccc97d4db6b83f9fc3cce9efb1d95a84475544741a98d12c371d7720604d0d9d54d2bdfac68f5e8312485a8af274a4d2fbde06b3b21a1b45da2bafa3a9abb9ba1a4cfe7d3d797c9e670f1f245dadcdea4407333b5ffe50b9f6a67cb972dd476bf9d4adb2543fd81e6660abc12a00bef5d30d617078e7fd942755447573fbd4aedafffc297181d43f2cf49adbcffe811dafcf61195a8444bf7f3167b5454edb6eb9f560e40fba9935a7dfa7c75f57534276568ad678d1a8e29f785c3bebafa3aadbffa76129f2769e6d60cad7cbb6268c77ff40865deba4dbbefecd2e11ffec09724d3ccf3f286cb29896a58b737685c7b1860d568a18eb06c4f36c735e3d5f2c11392dc118569fbdfefd71829f88604ec0078a3dc5ea82364b5efb4f5fa707cc46adf2a1039df6ba8cfcc7cb68c68a349d5ff0f0cc6d8e30586e6df80dc2f5d7beaf8cde7e7b571d0f29faed03e33e39f2eaf31c267ba8ce3ad30bdc6b4d1e9795cff970746fc718670aedd9665fb88e83341e676c2d8e54e6a60308799298fbfda626110335334373753fb2fdba9bbabd3c84800f20b796a69f9b985a18fb706a067a4c4e749d233c9ede9a932f398ec58ba9fa7dbb76ed3a58fae50894ae4aff7535f4f1f7577bfed73b25f65a4446b106a3bd19e28f5fdf6ac2fdad38b8585050b5377bdd34527dfecf0a55293e8fe67274537a34487eaa8e59516ea3b17d5184edf4ef854989a3ebce43e0ed5b2efd4498a9eeb23f57a480a51f3f015c3fdbd3818c3ccad192a518982af06a9ed4f9ff9640db157593c56dd8b6049ebd5635ae1680280e1f808b0c4194570a85765985047d8501e79684c61a70907066356463a5db6677c6292cd847b65fbd4d5bcadbdab260d6fea875d7fd5769187b53f0ee3aaf637d41132d4a72e6245edc34363fbe1335d0646471696fb070032d3425ccbea3178b993e66cb996e8ead72bf4fedda6aa30adac6d57a8fbe517c4342a11ad158b686868a0cc5773d4fe4d1b75fecdaa59f51aabef830bb4703f4f9bdb9b4cc656f33f8a03d7152da76adb956f56a8fb5c542b1fbb3c4027dfecf099999aa53933d91c2ebc774163e4e8dfef32982c828585079a5d7dfff8dac2546bdfae113d26a2434475f58729f1c9555ba6b5d823380ec2f6713c11f5e8aff7d3ecf46dd9e303a39533a2531a9eab1ee372332d07a667d206c6181b1d839ee1344dabac66c727266d190645b0195cd5846abb36e5dd34a75a9e4b330af47f3e3f6fdb1f3343aa9a563f0e760c2d6a9fb97dde78b9afb8b583637f3c5c31034ebeb5469dcd0d0cbe259a7ab0466fdf6a202a55ceb8b8dcc9642883160bb4b8e6d3cff4c8993c9919d35cbebd2304bbd5b95e7b5998e87c9e9251399f5ee3d96938153bcf74417d122c9dca53f2433ecd68665a11edaf7fd2a87fb71d07463961fbdc989e4c4f4a65ad40a8060326661d99564bca1bb34adb1b5f04f7aa181b0a4302f2aa184a1461cfc400a701641d341e4cab669beb769a598b3238d867887fc266d55c2c3399ab6614605a96a6d53f81826f48460636d927ac691dee97fa64d3ec53ee97ba66d0a20711af510315fdb709bd27990ccb4abecf3344ff6bf7d46effe54e6a66ccc8ddad1d9ced3b4b0b0f1e706ba54073337d7ce9636a7ab189ccf159ffd12354dadeb5d574166618048edf326a349571cc0cc78a7feab1e968138d7c7a959a5e92357cf28404d50e3bcdd874b489c2e99b5561da36c9183fe619879b1d61a871563bfb546d6eb643bf26608d47d38b4d34f5458a923e9faf22a60d2b9b61bca6814cc1e31b3207a6d5cde0e1f8305871422c31f61c406166356ebaaac467515ed58e29af840d0caa32c35eb9dc707cd8d1cef44cda90bf5c6ec46a979a5f678f6aaf5a2e97157873a8ebafda1fdbbfebec52c74b8d2298cbb9d9e7f8e6d1a6bdc8f95e39369f358e3379daf77aadbc6babd2945bde0025c4daf7c70ffee6961aee1f92a72881cb6e2ee1e441eb3a6a35e5a445ff1d4042f93065ed54f0f703f99976886f3757a589d71ea78e3532983b90ac9ca1779409915bdd00c0a84f773db7ba51d589b2c398786a7bb16c013128a7a4abd0dec8bd6544a06c5a02505837f627fdb00829255f97711631783ff35758df400cc6fac2a6faf89836f144fc554b9532add7725c68ae0f562db82ff16594f786044661d4d25bb0ed6f6e1515f577e49eb55e3f677f09ca134ea07f6187dd80faf17367da27c4b0e65409d37a2dc7f56832d5673e8c199ec831ed9652008b2979188fd90fc678c550597f638c7af50eb4b3074829f678739df903d0782dcd1c37737957a6dd8fa4ee55482f39e73b884cebc6a06efb91036aff45db77e8476ed59e6963590fede83096156070b077093aee197128d798b02f474e1e1ef4e6935c497fa66c18c086cde22e0c7bbbdcb4e977c9b43cdf85f0c7c5b56e2c5b10665aa6a3884c14917ae1fca5a1c6445973f7df2980b5f6a02bce5f2272d424ac2841f8a632038794fc373c38ad5dbb8ad8d71243ab8527706099d6693c85deecd93910a31f60326d65df918865ede3e870d1ca2c86e6413f47fd9619ac62c8f4e2a03f53005d63cf3c61a765cd4893860edfb49e2db3388ad9b1be53a6656b5a3b8c4cf39d4df3c2b44f42d3b230b7ba217cd63090e4d3fc8eab5dcdc112b38e33c44d9bda3aad437d96f60557c50749d30600a4f567cc203bba7eff727882e34485433f0e84a6b5419153dd8d00771c9dc94c6587656bde7d615a93a636e7f30fb93bde41d2b42ce6d8d9336a76b75576ff9da740d37296b7c3c66bfc1bfc0944149eb0ce280020ce33639e9c96a35eaff1ce83a269b94e11dbd4872d9da303b08b971a18ed80695ad56ed13387bc9fc4aafce4c2f3738477db483479dde595fbcd236afbc98f1c4f2e9cbd02b0ca177fbf4b0dcaa94e91930f2afa0627a1af2ff6da125d7cfd675a7ded3772b8fbdf36a2c75324fdb493babbf9ceb41df9648a361ff38fc3d880717fabddfde33e53c7c00700e236f53aed67dedd030e3f47e4d59ffc87a6e8d107cefba5350f6eac80f99e14d372edee2272665a8e995c2d4dcb6baf1766d2972f30cee209b56f838d097b7b981a761570f2a3c0a87cef6359399cc5aadff689a3bfbfea3fc6178b5cdac32dcac0edb482ed886829b77a2270d93be034210434ad9412ff8006cf17d5edb4392bdeee552244a6edbf08641bed801c57758a0ab0e2d223f7969951067f1c18b9b76c2947c601f7f62518e1e4e17b0892808379796238cdf8b4ee6441d535adadc3b88f8f08534b6a1cdd6575aeee8e6331a0ade674c8cffb64c3161070e8af6abf51d392f72fcca81a4724897e0fc15fdf494b3dfc5ad449d37a455543ba695afdf723b835ad0da61697f1eb5bec53cc064dabbb7f4d7fb84dffde3ec92c273d3f4747de6da3c0574b44af1d27fa6a8932ff394e9bdb195a70586348cf6728f36ebba63577f7804bcf11d9695e5e6d6ac63900d739ea735dcdf2e040a62044b4bc51091585de1c91121eaa12d39a57e1e638ac13d3f6df11b3db4e23da31506074d6b1def145659cabf4a461ed3560332347dc998570d6f600605b300241cd39249f40e049a25f4fe47d636446f3be57afc81a58b7eb55fd0d09b35d02e5c617970dfb5359da37303a0b2925bfe8d0f6e33a38def8a2bc8fd63f2497976ee4104695f6f142d6b252aafc1b1f8dd7d2da6f7330b58d93c660616ed9d96145bf7fe05513d6f0fb8d8e4ce5e5b71658871d0329b177f25caf366bf84ca27b460f8c5b297a9504357c36902f23cadac54b7c9517fd7159831d8481a9e1c145fe028ac6dc2f869500e61b901ad6508fc20572ab1b8e678244b1a2f0480d9f49f45e01e43864a3076655cffed498b5865eb03a1501185f94e37ae1899ce51c7c18e54d12b5dfc0ad61a5f87f436b14a98cd921cb0000000049454e44ae426082</data> + <data format="XPM.GZ" length="58862">789ced5d596fe3b8b27e9f5f114cbd0d0eea6475625cdc878eb3b4b34ca72799e9745f9c07c74b76c776363b07e7bfdf629194488ad49249e4f40151109292488a923e7dac85a2fff9dbc2e9d1e1c26ffffce5fea1f370d95de85e74260bbff51e6f6f67fff7affffdf72fbfae2c2d2f34971696165717967ffdc72fbfe21f0bdd05682c37d61a52ffcc7a87f40eebbb4a6f2a7d47e93da57f17fafa4aa3b7be2274e8487d7d49eab8a4f43575fc96f533d2cf58df547a53e953a5f794fe22f48d95f5de866caf2df58d25a9c34ce96beaf8b9d4cf96cf56f9f890f5333a2edb1b2bbd29757c547a4f1d1f495dd7c78b44efb13e507a43e9db426fae6ef49af27c7da93797943e50fa9ad4f145ea49fd65a577947ea8f5ee1ad7df557a5f1e872dadcbe3f8c47a97daefb2fea0f4a6d2ef95de53faa5d4757de849bdbbacf496d03babcd5e47f6ff52ea9d25a583d2d7a48e7da927f59f125d5ecf27a537947ec47a97eacbfe4c94de51fab1d2fb528767a927f5af94de913a74b5de93e7df577a5f955f14fad96aa7af9ee758eac9f36d28bda1f0b22775dd1e9e28bdaff403a9f79695bece7a2f799e23a5ebe7f9ac74f5fc7045eaba3e7c4af43e1f5f557a43eac0f8eaae25cffb4eeafa7ee354e90da5f7a4aeebe3b5d23baa3d7e3fba3d7d3fe14ee9ea7ee250e9eafec195d4757dfc5debfd06eb6b4aefabf62fb42e8fc367a9f79795ceef5b6f2db99f33a927f7734fe90da57f937a52ff20d1657fba4a6fa8fefc99e8f238bf2fd43b7d3f51e9fa7a6e95aefa8f9b52d7f5e14ce91dd5de86d0fb0d7d7df855eaba7fd854baea0fec285dd587b6d607f2f8b5d2fbaafd2f5a57c7f97dee27fdc153a5ebf6264ad7f5ffd2baac8f37521f2c2bfd4ce90da5ff10fa20391fee4b3d29df52ba2edf49f4019fff46e91da533df0c06fa3882d2d5f1af0f4a1f683d4a94fa24622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b22e6a2d42d7f177308d821399bf77544f979e4b598c32ef6b08f033cc70bb55de2155ee3cdbcafe8e30bdee210ef7084639ce03d3ee0233ed1df09e9cf38c519decebb87ef2bd53147ac768d2f8cb601612dfbf7136ecefbaa3ea2600bb70855dbb883bbf8b960dbc5366171847bb83fef7ebfbd54c51c1e58dc16da0e3f0eeef81df91dbfbc4bdbfb848b23622d282cf99570f4c7abb6e379dfc1b7962a98c31b1a3ffddce6fb7b52aac53f091107344a5ff2d87c42e8f8eb2daf0fbf25fd7973d4e1293392e0a5eff8a3a0ec6221b785b6a5b7eef7bca53ce6e8e915f39bbd2de7f916c43f57c17a2b7ebb903c966f6447ae166c6b29be08cdbaddde5bdf3b6c187c342a28bbe4e1b0255c278edcc0267e05c42d00e8f8b80ef0ad7b3e5f298b39465c96cb06849b2b42c8359ce1267433c797b1e36d0d88db2e0ab8f2c41db108a56539f602bfa9f324fbe1cd31077d838f724740ea4786bf60e02b07e7597b0fcedfbae7f3957298f372dc00d7ac327f911597e5ac818fb108a7699915dc14c8c40e9cc105f48cba874ead9ea7fdd0c67da3676df8d56f7defc8df4cb928b7751a855deeea602b507694e1bac5b7eef97ca50ce6f08b974baecd32c47321cec93c0db2e0521f37c38364e3ad32838ae3dfac73749df69709bb3d204e931bc915fd774dffabbec14d5e3ffeae900f9a72513ee6006e1d9edb0a9786a1c373776fddf3f94a29cc2dfbb8c4ba4b6730cae19c15abb52fc9fee073a267744163ab331a1242cd7657a13016581fcf6151d99151760727b9656fd9fa53e561f8d6fd9eb714638ec63eafdd649559ceb7afe0dadb5ec5f8b1652f96b2ce98e7743fde97e7c685a587e42734b3f13698900771ef29dfa211f9166790d766618c46956bc2234ee9fca76f7d0f5e234598a3912ec45f3725caa80d9e8c7bfca4f62f57ed2b3c57e5ac6a3c87fb70477e64533c49dcc7198ef101a6f81d66788477d9676ff1dc1fd2d2a7e7fa0c973084195c12b70523bad4b3676a7da6f90c3a30a61acd40e91f7847e567844260940e71421ecc928e1e877009f7e40bbfa49c293816c80dae7ae7df568a30079fcac4df380b96ef4b265137b6d5c4fe4f55fb6ad87307256b54b0e70861a94fd9f1c6ca1c5bdee439e6ba4e12af4bda8147efb9a6b0e9cf3f402bcb4584c5cf057ddbf58dd6701eb80eb204ca32e47b4821cf0d82fc3548fb4dcfd66bf319db956a2fe144c8b1a2037d49ec39b82859a302cf116b14e604888b8c676bf35cb0ceb6739e0d62a6dc3a84310311706ff154f83cb6853d8171ee39a64551ecf7937ccc4149eee2d859418e425bfc894ffa37ecb9b29833edb97c8cc343b9bc00f99f498cc3e539ff465c6322085d2ef46e064e7156a65fcca98955483ed8b0b04e7b5e5c5780b96e0e772dbb1126f20ef2b84e656089add27c43a5ab4eed3928392e97e7395f3e1436c9f619e13d8f50e9fe84e9caf11c6d897f41c8dec91cff4ee36cb64edab359e9dc6ce2e11253da1cb8497bc66401dad7f72131c7fe68c817ddf194ff421e4288eb5655995563ff7295b900863d57d287b0ecb9c3dc92599e3347d16d63ffae1e95b23c0703c2e83159edf6fe84b518a5d639a4f5c6734edaceb199aa93e1397811ef029dcbe52e957f33f2c09f79144d7c06f2904d3bf27b282efdbe92873908fba397e18c395c046cc0849bac5cc33969d7e5f2ef567ceeba548dd7f39ce32fc038cb412ecfe9d82db6c0e226d00c3fb4b8a7a351a5fbca2832b849ed77788ed84af11379d98e1da86a3c18fb3fdb769b7d9daead598fe4610ebf0438ab2036a66c3bb75e12d123241c7a8ef7b1879b79715e279fbb92df0bae61c6e772633336cfd93618f779cb3caef6d93c67645c9969b2e56d2ef5cc0ae051362dc3fce4f09cc54d60e571a1aff6764c4ecc9c636a5c67e6681d928bb96e96af60b7242765e78c185164c2c20a86e6e1898cd6375f9b467c4ee57269cf09b1a42d9be96c1693e7f27d0887e71a9eb34f8de3724434796ed78ec5391cc8c74c5b0ebc36059c5b9cc628b679ce9e1940bd36cb735c86fc629b17ad5929ecc398c7e71025ce1d5bcf325c5421a606570e9739f32838bf15f6750fb3a36726df1afeab50f76a7bce1335b5388547c5bc3c04581c28222c840593af02790b93a3a41de8f09c937b25de73cb8f1c3b8fd80cef69ef049f4c8e53dbccdf8ff7945c9edb7478a56214173edbf5bde7001ac1d788ad2e3dbce7ccb374f2ad79db4dd27aba2f17738e9de3cb45ad1bfcf0cc7bcc7925ce1be5d85a6453c1a3c55781f94966ec0ea6bcc7b6e79cecabe5f34a9e9b94f673c5f6fc1628aa26b93cd7b6b8a354ae8afcd6d574ae0878edb990e00d95bfb238cb9a7f97999f774863ab98a3796d6e84f4c4267c9d3d07de397f8c22cd5b6ced59f69c930720567379cea8af6d35cf3dc8f4c3e1b90da757e30ccfdd67b82c67f3e749de577279cef65bd3b9b7c44df464fd3697f4493fe9a33c37d3f15bf385ce7a62d88f8615e6d873d725be427815cff96d2df23a537e38e23da6cde662ceb60f7f64e6c505ec28b8346d446ec9e63907ab561f183fe4d796e5b85d7a6be610a32b88cfa5398313b56713b59de68d3d305e64fcaec7333121c9af96f0339356560dae4bfc34d39e2b9789b0ecb9f27eab27f2e8f014fb9c16cfb9b195877c9e0bcd37b7da6cf31e8be7dc6cbe555ef2dc83cd6564cd1d1147cf5c216fe263c68493f9bc623612f9142f066f9c786b98b9089e73492894ba971773ceece42fac7c6bc95cadc573b963bbc34b9ef920786c1c67abaa22cfd97c159887697d3721f754e4393cb2ec46af9d305f29c0dcb5b68792586f9abff4320d5c383ee441e29b56fad69ff854b7b39ab49dda732539d3b2e7cef3de6b87973c2c0426dfb0556571cc716e7b82e79a165f79470998581cb5ce67a9ca730dab8dc2797df54b01e63a094f64e36dde6f02c907f5fb92157d5e6c2575137e34f2adaf9957720139b90bc76fcde484a83fd9785b259e7338cc6bd1d9795299d7a8cc73b7561b7e0b08e6397bb370fedc5e300ee6650d62466f79a8b8a289f18d57ea8526f65cd9d62c7bee22ef8b5b273eb7eb8eae3831b84667a52ad9733cea99e7c85eb39527d57da8ca734e1ee2366b27e0a2884e136fcf213627a4107367c118981f7327deb2b93ea3b79d6b6d131afbd2f85cc9595036cfe5f1a39b6fd579247517d0e21a9d4bafca734de71c1607e186fd0dace6daaa3ca7a2d7693b632b5b36219426b6dec7cbf1ababfa1488f5fba3584f5e4eec5a2d7e29c20c8d6487b23e18350d7baee437f98e3d27da7bc26bfe4aec0c76f026b5313df34a1e93f9235bc416296725b9d86af61cd77062678487a9980bcf2b99d8f3eabeeb79ead5790ef7ed6f64a9f777c4a12d7a73d6ad3cc72eeebd359eca4809cc75d03f4fe44f4fd91b1f278215eb861ecab973413f965a39d4fc68bda3697cae24e65c9ef36df024d8cfbf9e08bc40dfcab38a2dc9c556e539f12e79e7cae5e607aaf31cc7654a9c43e639ea9752df1afee9e52e8f756ac5d5923cab3d57c498537268e62cd4d18ecafecbfa16b68cf85ce9b547f025688f5a9c5d7a9ef0d8988d6bd671fc43e215b3debeb17fa9c479ccb97b95798ef717ae8f42e89fd3ecf492dff11f7839c2f10369b4cae44c61e4ceedc41bd8b2ca5c72066b8dc6bc7dec9bf1347b44b66276a5a39999b928be6d10e2b90cefb5cc33e3c4389659338e9ea93e66dd01f12d56ee7976ecd89df33d843b37fbd8386665897196c7a9e4417cd0ef218c2b58f172841127232bed30cb21bed9c41cc53bcce59e174260c6e6c3dfd5f10a1e49609d15fbef75a9ef2176325fd3fc20ab4b1e6b7bce7cac8e7dcfe6f3f1ab9527357dd5a32c16f029e1a6ec9a08a9afbbebe662bf8a6fd9be67cf43e79e8b1da7a5c2ba4c2b7e8e202611ab21f9befbbac89b794e185dc1cb6c7be4b3acf96b243c7a55e50af10b5c65e6d8a5f24d62db89cf6d8ad506f116ce0939c46770e7fff29438eb0e4710f2e167b01d5ef781fcd4291e93bdb8091db21bc70070e79bcfc2e74142cfc8df07f2b7ee704cfdf0f7615f7c718b47d4fe0c0506a7f3febab5e2fa73df8cfc6be15ff2154a45d1e89e7dc12e1c10a20af334342e1f54cba1951587e7d6dfe31c51a4545b67932cfcb273d856e77d65d5c4b1e7fecb57f49daf545f4f18ce3cebcc59f3e4b057cc581f4d2c9efb3ecfafdcfffbe575eba613dfadaa58b1c96dcb7812b2c53eba58f3e7e6f265cacf254994fb156b6cffbddf87c01659619bbcc666096bec230b790c29cfcdbd37957b7f1b9a1bf54ee79b605bcc3026ff7b884fc15253ff4c82f83b385ae025b1e77e8a95cac9537dd4cf148f0803019ff75dcedda7bbb52efa407f3d7122eed30f98fa675245cc6949e69ded64e35c1f51a08f6d9d8703a0ff6bf47b08ed7c6e62b2761073b774ccfbf646cca5c22b03ce7e8e5f01c12631db4b92d53f224ea9317b8adb74be06af36360dadb543e3ee4be4b9aa8220a2baf82c249d394c96df3eaf8ad8247c9a6b81006ee008c5bccb75f5053e582b324d6cfe34d6779af1d7a723dc4a66ac00b5b108e7380cc589517c952884bf06123c074311b9a636c4b70fd64a50740d47b84eef53c1db04f738c6276a690cad74bd46c2ce3936685ba7f6f5fcaa323c774ac7bcbf60103117161abd8e047a080153fdcee20f7a26e24edf132a1e04d7c84c83989706537af6e2c91fd3336b094b3bcd55c13d3dc9699a3d23dc3e0a1c93d5d3a2273862643cc240cdeedc127692380fb5ef99274f3d7a54fd78e49537c56a9a6dfebda60798d179fa12a9544eac43774c489ca2f82e312707c1f938d9c63db5a1381487b84d75c53b764af7635baf6020ed39be2f219e8310f746cc85c5e405badb6da103f38bcea0121bb465665d7872aebf4b8c933c0f40ae97cc04854769f513e2da3ac34a3ca34ac09d6431f20a037379457d3ece7599e7668a5d9b023bb28764a3b6d3160889399683b8428d4a14efceb6ea53bab2a5e895fc46a304cf718b5e8c47cc95131ecbf6388ed74e5732a7777906721d89470fe6c8e6d2775da09339418f4e13815562b7a9594bd86522064123aae0b87e78ee07f1a4e04048eb19ebe22d4aeb9d38746622826c84b66f25163ec69c9a9ffbc73d7d8d65ec3931c3c0bf3f62ae8c306371448a79cef8f681ac37f915ea3a3353c35979eb51e7f84539168dc16dc144b2969e1387fb0223e249499ecbff5d0818a4f612fbad49691a0fd9cee335eddae96a13c2560bc51e39da92fb8d188fad8a87cbf15c287a1331972fbc7afabde4288101c173e69a21642bb5d53aeb6c0d11f7b4d2df39c4b1b4e8041f12beee68ec92df729dca919af889ed3042e494acf47b14489ae9b857becd0f2de2448d6830ed3ee6e24bf9a6703bf41fa1f888da7e0afd2e19db0ea17b704a0c3911f6a8b01f794f097b2e2c117321c1167b09fcf536bde3438939e639e38b6ec154fa7fb27deea43f49a5e52a3a5bd25aa367ced8a3b148f2c4a2fcc2465873f42cd14597e4b982fedda74cc83c675a9fcc73b0adbcd912d11fb6e63c5fe4d01508bbe007db78e2ad929e45299e0b49c45c48c4334d474acef69c2b9e33ec7ab6d2adf71c26621c250e427e4ec2b34cd0c156d8808f4b5d708767652469cf15f58fb84dfb32c29e4b7a21ceca3c37947fcb5e6d766c657b33b100c5fb26cb94b3e7421231e717810ecbba9f04786e94c58688a7249ee391b2e3b46fda521ea9f47685e5e5fb6587923c67d973e6ac7969cf9d9a9e72416b23ee97b326077be3497e83af3df2dcbb094cf819682ff394b5a987e746ca9e33c625b6a75ea4b720d0435c90c6e59e9903d3b89df00492f9bf34864ba40ec379cca4ec84da51dfae727c2ec3733c86bfa4ab7d91b5300dfa98fb6caf6d2719dc0deaa988eebda416204764c6b2d7ca9e1be6d97310f855b388b990f00828be09ddc031fb93722685e00e234a4b969a8c9534e8dd5f17bf8e04d2a6532312790f633342c1f113834f84374825d6a9ddafb00d331561c6222f52fbd26a55b2a30ccfc9d8728bfde545dc00b16eec76deec059cb1cd3aa41a138ef08937e996e37e77e25de0b743c70f5b9263a5671c686f3fe621aa0bee894c02bdef7b34aaece9cc8fbd8616dd5995d1a2e313fe052f61bf19712ef1bcac1a5fed118cd8846a127300e156b10c79230d7745cdac48bb51b02e21d62a0d8f464e6e28fa457d1a17fdde35e1f252bc5d847cd01904eafdb6f88e82aeee2b217028475a7a0ff95706443fc3bf688c81bc47c4dccf2c345abef91783ef3fc721622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b22e6a2d42d117351ea9688b928754bc45c94ba25622e4add123117a56e89988b52b744cc45a95b7efdcffffcf2ff6d14cd7e</data> + </image> + <image name="image1"> + <data format="PNG" length="3462">89504e470d0a1a0a0000000d49484452000000ad0000003008060000006357fade00000d4d49444154789ced5d5f681cc71dfe1d38201751cea50f9609450a4d402e84acaa3c9cda04afc84bcf72704ec983a5360f77968ba5f62572f222db41b9f841912fe05697a2546730951210921fe4b30aa63a178553c0ae4e454532382015b54841145908211dc2f0f5616ff6f6dfecceec9d1c39be79f96cedfcf9cdec6fbefde6b7337b04221a22a2b22100ac0000902d20f680b2b753c167164b76d0f4c3550080323805ba0250ef1817d511a0fbce0200e0bbee78059f5ef45570615d23d060220d024057c6a43108203a818a0357501ae50a00506f7833aa2caa23c0ead64e45425450088532624f63443f8c2a83f1e9858ae356d0133d332cacef4049959759dd50199caa48860abaa26b06ac03c127c0b0560c26d215c7ad2017b91716d677104cf860cc641a940268700a9402c237670100638b5a9441b49e60df58e98e0b60607008d1f39d88767416308ae8f94ef427fa0100ababab4f8f2401909e28ef84ded9da417f0288767422744245b423eabffe7db0cf09cbc3b07d9aa1d8826bca2ee189302e76b4f6ea1b15a05143a531c4fd7f4f6ffca960f69edeb86e7fd9ecddb08f47f7fbddbe26f2bed8e780f699b70769861549d1c9595f1ad70fe346cf779a6e44b8258281c12100c0f0c8189000d496b07e5d690c6136377bf01997d95f2e8780d96195c610a21d9d25316d59ede3a0ed0faa0cc316d02b8546b325695cf54656dca12c0c8b3dfe00e2a1665f7a32ed5a3fcb57aa839474ddcdbe551ff601089d506d4f20b77af010be26b6ac7d5ef90343441423a21411c500043e1a273ad44af4580ca34a8e52bf6a205e8afd3547d7e71a84ebe3e1f0a9356a7ff9582065b4d70173b9599c3df73bca539eaaa88a426a1325fb139ee54c08a0b5ad9d96bf59d6eb3162580d5357478cea5e7a21d07442457e3b4f55d55534733743a9402060ac2f339dc5c5cb1769737b9394fa7a6afecb17016667c3970dd474bf99f2db7953fd4a7d3d29af2874e1bd0be6fa12c0f12f1ba88aaae8eaa757a9f9f55f0492834348fd39a5970f1e3d429bdf3ea23ce569f17ece660f4366b753fff472009a4f9dd4eb33e6abaaaea21935436b1d6b5473ac705f04ecabaaaed2fb6b6c27f9798a266f4dd2f2b7cba67682478f50e6addbb4fbce2e1dfee10f0229b2cc3c3f6fb8dc92ac86f57a8326b48701768d166e8968f64c6785663c2b1f3aa16a1d29306df7fbdd3a2385de50811d006f14db0bb784edf69db65fef4f0cd8eddb00a2e73b4df55999cf91111d3429fb7f4f6f9c3f5ee068fe3d68fd32b4c7c66f3637ab8f839eff7489f65919ff74718d1139d3661eef02d3eb4c1b9b98c5f57ff960c41f6708e79a1d59b68b883e93646e378c5f6ea51a0e735899f2f8ab0d3606b132457d7d3d35ffb299dadb5acd8c04203797a386869fdb18fa78a3022323253f4f9191496e4f8c1799c762c7e2fd1cddbe759b2e7d7485f294a7607590ba3abaa8bdfded809bfd8c91928d21b076621d31eafaedd940aca31373737336a66e7ba78d4ebed91218191943fb3f5b29b619233a54450daf3450d7b998ce70c67622a72254f7e125ef7128977da74e52ec5c17b1eb61354cf5fd574cf7f7626f1c93b726294f790abd1aa2a63f7d16d034c45e69f158b617c196d6cbc7b4d2d10400fd89016045308ae0522f6398704bc4541e39e84ce1a4097b7ae376463a5db4677874cc930995c690be9a77b477c3a2e12dfd70ea2f6b1739d8fbe332aeacbfe196b0a93eb68895b50f0fcded47ceb499181dd3b0dd3f00d09816f25ad688a1cbad34e3c8b54457bf5ea6f7efd6958569356dbb4ced2fbf20a75189686d751535353594f96a869abf69a2d6bfd935ab5163757d7081e6eee768737b93cbd82cffa30470bda0e598b65dfe6699dacfc5f4f2f1cb3d74f2cd968095a9799a33339dc585f72ee88c1cfbfb5d0e93453137f740b7abeb1f5fdb986aeddb35a2c7447488a8aafa30253fb9eac8b4367b24c741da3e8127a21183d5419a9ab8ad79bc32583a23baa5fe99f231ae30d30a607a326d628ca14258cca6690babd9e1d1314786c12af80cce34216bd7a1bc97e664e58534a344ff6773b38efdb13224d3b4c67170626859fbaced8bc6cb03ab5b3b38f6c7c32533e0d85b6bd45a5fc3e15ba2f1076bf4f6ad1aa27ce98c8bcbad5c86326931a5c1339f71a647cfe4c8ca98d6f2cd2d6138adce8ddacbc644e773948a69f98c1acf49c3316c3dd306f624583c95a3d487629ad1cab432dadff8a4617f771c074e3969fbbc989e2c4fcac25a81500e064c4eb932ad9e0a6fcc4a6d6f781ec2ab62ec151812007b53c6a2082606380d60da45e3c1b26a76b8eea499f528838b7da6f8271c56cdab4526f3d48c124ccbd3b4c62750e80dd5ccc016fba435adcbfd624f36ddbec2fd626b063d7a10f51b356018bc4de83cc965585e0a7c9e21fa5fb3af76bb2fb7523d6746ee6eede06cd7599a7bf040582b29f5f5f4f1a58fa9eec53ab2c66783478f507e7bd751d3d998a117387ecbacd118e358198e17ff3462ddd13a1af8f42ad5bda469f8d40915cc0e27cd5877b48e22e99b6561da26d51c3f1619879b2d11b038ab937d4c9b5bed30ae0978e351f7621d8d7f3142a940205012d3460a9b61fca69ecc82cf3764f0661440db14c389136285b3e70005666671d38d427c16c5552dd3be26063530032bd79fe877b5333d9936e52f961bb0dbc5f21bec61f6b272d96989378786feb2fe38fedd60171b2f1645b096f3b2cff5cda3437bd1f3da2b654c9bc7997ced7bbd56dcb5556aca2e6d809272ed0713077f734b05f70fc95794c063379774f2a1755db55ae1a445f71d4045f13065e554f0f703c599b64f6c3757a949d41eb78ed572985b4995ced03b8509915dd900c0a9cf703dbbb251d689b2c39978acbdf8f402e2289c922e437b03f796104561d312808575737fd20f57a18e68d7359c421cfecffc2dac6f200e737d114b7d624c9b7c22feaaa75299d66f3921b4d607bb16dc97f8328a7b43944198b5f4161cfb9b5d4149fd1db867af3728d85f42e10927d1bf88cb6e40e3f87933ed1362586b2a8569fd96137a3459eab31ec68c8c66b976ab23008f2945188fdb0fce78c5515a7fe39c7a8d0eb4b307a823fcf1163af307a0f65a9a3b6ed6f29e4cbb1f89ed55482fbae73b884cebc5a05efb9115d67fd9f65dfa915d7166daf8b48f760c189f966070f07709baee197129579b742e476e1e1ef2e79342c978a6ac1fc086c3e22e0267bbbcb4e977c9b422df850826e4b56e7c7a419a69b98e22335164ea85fb97866a9345cddd7d6701bcb5075d71ff1291ab26e1450922370b33b0af90ff860fa7756ab720f6f5c4d16a91511c58a6751b4fa9377b4e0ec4e907b84c5bda7724e2d3ce71747868651e438b6050a07edb0c6618b6bc38e8ce2c80aef1679eb4d3f266a44543476edacf96d91cc5ea58df29d3f235ad134627c4cea6f961da27a16979985dd9903e6ba8a4c434bfeb6a5777b0e494eb0cf1d2a68e4eeb529fad7dc955f141d2b40a80b4f18c19344737ee5f8e8c0a9ca870e9c781d0b40e2873aabb16108ea37399a9e8b07ccdbb2f4c6bd1d4d67cc13e6fc73b489a96c71c3b7b66cdeeb5caeebef314685ac1f24e587b4d7c833f818822a3f6190500247866cc97d30ad4eb37de795034add0296287fab0657074004ef15213a31d304dcbec963d7328fa49acd24f2e3c3f4378b7896493df5d5ed9df3ca2a69ffcc8f5e4c2d92b00affceaef77a9a670aa53e6e403c340ef188cf5c55f5ba48bafff4cafaff9461677ffdb44f4789cd49fb6527bbbd899b6239f8cd3e663f17118ea31ef6f75ba7fc267ea38f80040c2a15eb7fdccbb7bc0e1e788fcfa53f0d0383dfac07dbfb4eec1b52530df93625aa1dd5d44ee4c2b3093cba56945edf5c34cc6f20b9cb37852ed3b606dd2d91eae865d01dcfc4819d4ee7d7c5a0b67f1ea777ce218ef2ffbc7f0fcaa90f6f08a32083bad643b325acaab9e283cf60eb84d08094dab8ec87f4043e48bea4eda9c176ff72b11a213ce5f04728c76408babba45057871e9817b4bdc284330010cdc5bb29523f380fbfb128c74f2f13d0455c2c1fc3c31dc667cda70b2a0ec9ad6d161bcc74786a9551647f7589db3dd713c0674d49c2ef9459f6cd8021497fe32fbcd9a96fc7f6186691c9924fb3d8460752b2d76886b51374deb179986f4d2b4c6ef47086b5a071c995fc2af6ff14f319b34ade1fed5fde136fd7bfb24b79cfafc0c1d79b78994af16895e3b4ef4d52265fe739c36b73334e7b2c6509fcf50e6dd665d6beeee01979e2372d2bca2dad48a3300ae0bd4e7b99a15c19ecc8214d18a4625184abd39a24278a84c4c6b5d855be3b06e4cdb7d47ce6e278de8c440cae0946bbdc3f385712ed39386b7d780cf8c0271671ec25ddb038063c1282435679f76024124c97e3d51f48d9115adfb5efd226f60bdae97f53724ac7649941b9e5f32ed4fe5695f65700aea88f6a243df8febe278c3f3da3eda609f565ebd91450465dac70b4dcbaa23c5dff8a8bd96d67f9b83ab6ddc34060fb34bee0e2bfbfd03bf9ab082df6f74652a3fbfb5c03beca88cc8bd93177ab559c16712bd33fa60dc52d1af24a8e0b381621951d42e7ee2aba2184c681aec200c4c050f2e8a172868ccfd625815e0be01a960058d285d20bbb2e17a2648164b0a8f54f09944ff15408b43d6fa605676f6a7c2ac15f483e5a908c0f0bc16d78b8c666de7e023286e92a8fc066e054bc5ff032cfa164c4d8a1ec30000000049454e44ae426082</data> </image> </images> <connections> diff --git a/src/configurationpanelui.cpp b/src/configurationpanelui.cpp index d2a26a5e00..eb21349c3d 100644 --- a/src/configurationpanelui.cpp +++ b/src/configurationpanelui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'configurationpanel.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:08 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! @@ -30,297 +30,585 @@ #include <qpixmap.h> #include "configurationpanel.ui.h" -static const unsigned char image0_data[] = { +static const char* const image0_data[] = { +"312 91 104 2", +".R c #626562", +".H c #6a656a", +".G c #6a696a", +".F c #6a6d6a", +".Y c #736d73", +"#a c #737173", +".1 c #737573", +"#m c #7b757b", +"#B c #7b797b", +"#x c #7b7d7b", +"#z c #837d83", +".I c #838183", +"#y c #838583", +".g c #83b2b4", +"#n c #8b858b", +"#q c #8b898b", +".u c #8b8d8b", +"#p c #8bb2b4", +".h c #8bb2bd", +".f c #8bb6bd", +".E c #948d94", +"#e c #949194", +"#f c #949594", +".z c #94b6bd", +".2 c #94babd", +".M c #94bac5", +"#G c #94bebd", +"#D c #94bec5", +".v c #9c959c", +".t c #9c999c", +".s c #9c9d9c", +".i c #9cbec5", +"#d c #9cc2c5", +"#C c #a49da4", +"#i c #a4a1a4", +"## c #a4a5a4", +".e c #a4c2c5", +"#v c #a4c2cd", +".A c #a4c6cd", +".P c #aca5ac", +".r c #acaaac", +".S c #acaeac", +"#w c #acc6cd", +".j c #accacd", +"#c c #accad5", +"#K c #accecd", +".0 c #b4aeb4", +".q c #b4b2b4", +".6 c #b4b6b4", +"#J c #b4cad5", +".T c #b4ced5", +".L c #b4d2d5", +".7 c #bdb6bd", +".p c #bdbabd", +".w c #bdbebd", +".3 c #bdd2d5", +"#A c #bdd2de", +".4 c #bdd6de", +"#E c #c5bec5", +".o c #c5c2c5", +".x c #c5c6c5", +".d c #c5d6de", +".k c #c5dade", +"#g c #cdc6cd", +"#o c #cdcacd", +".n c #cdcecd", +"#j c #cddade", +".N c #cddae6", +".5 c #cddede", +"#h c #cddee6", +"#H c #cde2e6", +"#u c #d5ced5", +".y c #d5d2d5", +".J c #d5d6d5", +".W c #d5e2e6", +"#L c #d5e2ee", +".c c #d5e6e6", +".U c #d5e6ee", +".D c #ded6de", +"#. c #dedade", +".m c #dedede", +".B c #dee6ee", +"#b c #deeaee", +".8 c #e6dee6", +".Q c #e6e2e6", +".9 c #e6e6e6", +"#F c #e6eaee", +"#I c #e6eaf6", +"#k c #e6eeee", +".O c #e6eef6", +"#t c #eee6ee", +".X c #eeeaee", +"#r c #eeeeee", +".V c #eeeef6", +".l c #eef2f6", +".b c #eef6f6", +".Z c #f6eef6", +".K c #f6f2f6", +".C c #f6f6f6", +".a c #f6f6ff", +"#l c #f6faff", +"#s c #fff6ff", +".# c #fffaff", +"Qt c #ffffff", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.a.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.d.e.f.g.h.g.h.g.i.j.k.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.n.o.p.q.r.s.t.u.v.s.r.q.w.x.y.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.k.z.f.g.f.h.f.g.f.h.f.g.f.h.f.A.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.D.q.E.F.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.G.I.t.p.J.KQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.L.f.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.M.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.k.N.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.p.P.n.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.i.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.TQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.U.k.L.e.i.i.j.T.N.VQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.h.f.g.f.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.X.G.G.H.G.Y.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.1QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.2.bQtQtQtQtQtQtQtQtQtQtQtQtQt.a.j.h.g.h.g.h.g.h.g.h.g.h.2.3.lQtQtQtQtQtQtQtQtQtQt.#.W.d.4.d.4.d.4.d.4.d.4.d.4.d.4.d.4.d.5.OQtQtQtQt.e.h.g.h.g.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.6.G.R.G.R.G.pQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.1.G.R.G.R.G.R.G.R.G.1.7.n.8.9.Q#..D###a.R.G.R.G.R.G.R.G.R.G#.QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.g.f.h.f.g.f.h.f.g.f.f.j.j.3.k#b.B#c.h.f.g.f.h.f.g.f.2.aQtQtQtQtQtQtQtQtQtQt.#.L.h.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.T.#QtQtQtQtQtQtQt.a.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.WQtQt.#.f.g.f.h.f#dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#e.H.G.H.G.H.SQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.G.H.G.H.G.H.G.H.G#fQtQtQtQtQtQtQtQtQt.##g.F.G.H.G.H.G.H.G.H#gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.g.h.g.h.g.h.g.h.g.f.5QtQtQtQtQtQt.V.M.h.g.h.g.h.g.h.g.h.f.lQtQtQtQtQtQtQtQtQt.j.g.h.g.h.g.3.B.aQt.a#b#h#d.h.g.h.g.h.MQtQtQtQtQtQtQt.d.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.5QtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.G.R.G.R.G#iQtQtQtQtQtQtQtQtQtQtQtQtQtQt.X.R.G.R.G.R.G.R.G#a.CQtQtQtQtQtQtQtQtQtQtQt.p.R.G.R.G.R.G.R.G.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.O.g.f.h.f.g.f.h.f.g.f.kQtQtQtQtQtQt#b.h.f.g.f.h.f.g.f.h.f.g.f.iQtQtQtQtQtQtQtQt.k.g.f.h.f.A.aQtQtQtQtQtQtQtQt.l.4.f.f.h.f.WQtQtQtQtQtQt#c.g.f.h.f.g.f.h.2.j.d#h.W#h.W#h#h#j#h.k.W#kQtQtQt#l.f.h.f.g.f.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.E.H.G.H.G.H#iQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##m.H.G.H.G.H.G.H.DQtQtQtQtQtQtQtQtQtQtQtQtQt#n.H.G.H.G.H.G.H#oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.2.h.g.h.g.h.g.h.g.h.gQtQtQtQtQtQt#b#p.h.g.h.g.h.g.h.g.h.g.h.g.h.3QtQtQtQtQtQt.O.g.h.g.h.iQtQtQtQtQtQtQtQtQtQtQtQt.##h.T.dQtQtQtQtQtQtQt.A.h.g.h.g.h.g.4#lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.G.R.G.R.G.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.p.G.R.G.R.G.F.rQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.1.G.G.R.G.R#nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.3.f.h.f.g.f.h.f.g.f.h.fQtQtQtQtQtQt.2.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f#kQtQtQtQtQt.3.f.h.f.g.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#c.h.f.g.f.h.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.g.f.h.f.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.E.H.G.H.G.H#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n#..9.KQtQtQtQtQtQtQtQt#r.Q#sQtQtQtQtQtQtQtQtQt.C.X.m.y#tQtQtQtQtQtQtQtQtQtQtQtQtQt.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.9#u.x#..XQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.h.g.h.g.h.g.h.g.h.g.h.g.lQtQtQtQt.l.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g#vQtQtQtQtQt#v.g.h.g.2QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#w.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K#o.n.9.#Qt.K.y.q.t#x.Y#y.P.o#tQtQtQtQtQtQtQtQt.u.G.R.G.R.G.R#gQtQt#..w#i#n#y#i.p.KQtQtQtQtQtQtQtQtQtQtQtQt.#.w.t#y.G.G.R.G#a#q#i.9QtQtQtQtQtQtQtQtQtQtQt.Z.o.w.y.X.#Qt#r.n.r#e.1.G.G.I.t#tQtQtQtQtQtQtQtQtQtQtQt#s###z.G.G.R.G.R.G.F##.QQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#A.h.f.g.f.h.f.g.f.h.f.g.f.TQtQtQtQtQt.e.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.VQtQtQtQt.f.f.g.f.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#c.g.f.h.f.LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.h.f.g.f.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.q.G.H.G.H.G#a.G.H.G.H.G.H.G.H.G.H.0QtQtQtQtQtQtQt.E.H.G.H.G.H.G.H#a.G.G.H.G.H.G.H.G#a#uQtQtQtQtQtQtQtQtQtQt.x#B.H.G.H.G.H.G.H.G.H.G.G#C.XQtQtQtQtQtQtQtQt#i.H.G.H.G.H.G#a.G.H.G.H.G.H.G.H.G.G.rQtQtQtQtQtQtQtQtQt#g#a.G.H.G.H.G.H.G.H.G.H.G.t.#QtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.h.g.h.g.h.g.h.g.h.g.h.g.f.#QtQtQtQt#l.2.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.jQtQtQt.l.h.g.h.g#DQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.h.g.h.g#hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.1.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R#q#rQtQtQtQtQt.u.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R#EQtQtQtQtQtQtQt.8.I.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G#i.#QtQtQtQtQt#s.G.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R#gQtQtQtQtQtQt#r#q.R.G.R.G.R.G.R.G.R.G.R.G.R.G#x.ZQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt#h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.VQtQtQtQtQt.a.i.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f#lQtQtQt.f.f.h.f.g.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#c.h.f.g.f#hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.g.f.h.f#DQtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H#m.CQtQtQtQt.E.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G#a.#QtQtQtQtQt#..G.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.EQtQtQtQtQt.y.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G#a#sQtQtQtQt.##n.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.I.#QtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt#c.g.h.g.h.g.h.g.h.g.h.g.h.g.2.CQtQtQtQtQtQtQt.3.h.g.h.g.h.g.h.g.h.g.h.g.h.g.BQtQtQt.A.g.h.g.h.2.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#w.h.g.h.g#AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.G.R.G#B##.p.s#a.G.R.G.R.G.R.rQtQtQtQt.u.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.qQtQtQtQt#t.F.G.R.G.R.G.R.G.R.Y#B.G.R.G.R.G.R.G.R.G.tQtQtQtQt.y.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.nQtQtQtQt#i.R.G.R.G.R.G.R#B#i.q#e.G.R.G.R.G.R.G##QtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.2.f.h.f.g.f.h.f.g.f.h.f.g.f#FQtQtQtQtQtQtQtQtQt.O#v.h.f.g.f.h.f.g.f.h.f.g.f.4QtQtQt.4.f.g.f.h.f.2.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#c.g.f.h.f.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.h.f.g.f.MQtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G.H.G.rQtQtQtQtQt.E.G.H.G.H.G.G.ZQtQtQt.E.H.G.H.G.H.G.H.G#f.p.S#z.H.G.H.G.H.G.H.EQtQtQtQt.u.G.H.G.H.G.H.G.r.XQtQt.C.D.I.G.H.G.H.G.H.G.yQtQtQt.y.G.H.G.H.G.H.G.H#z##.p#f.G.H.G.H.G.H.G.H.pQtQtQt.X.G.G.H.G.H.G#x.QQtQtQtQt.Q#B.H.G.H.G.H.Y.CQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt#l.h.g.h.g.h.g.h.g.h.g.h.g.i.OQtQtQtQtQtQtQtQtQtQtQtQt#h.f.h.g.h.g.h.g.h.g.h.g.AQtQtQtQt#d.h.g.h.g.h.g#d.k.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.h.g.h.g.h.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.iQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.G.0QtQtQtQtQtQtQt#q.G.R.G.R.G.tQtQtQt.u.G.R.G.R.G.R.G#oQtQtQt.C#y.R.G.R.G.R.G#BQtQtQt.n.G.R.G.R.G.R#a.yQtQtQtQtQtQt.##f.G.R.G.R.G.R#BQtQtQt.y.R.G.R.G.R.G.R#e.#QtQtQt#o.G.R.G.R.G.R.G#iQtQtQt.t.G.R.G.R.G.H.ZQtQtQtQtQtQt.Q.G.R.G.R.G.R#EQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.O.h.f.g.f.h.f.g.f.h.f.g.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.i.f.g.f.h.f.g.f.h.f.fQtQtQtQt.#.M.f.g.f.h.f.g.f.h.f.e.d.B#lQtQtQtQtQtQtQtQtQtQtQtQtQt#c.h.f.g.f.h.f.3QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.g.f.h.f.2QtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G#a.#QtQtQtQtQtQtQt.D.H.G.H.G.H.GQtQtQt.E.H.G.H.G.H.G.SQtQtQtQtQt.X.G.H.G.H.G.H.GQtQtQt.t.H.G.H.G.H.G.pQtQtQtQtQtQtQtQtQt#B.G.H.G.H.G.H.QQtQt.y.G.H.G.H.G.H.Y.CQtQtQtQtQt##.G.H.G.H.G.H#eQtQtQt#a.H.G.H.G.H#zQtQtQtQtQtQtQtQt#x.G.H.G.H.G#zQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.c.h.g.h.g.h.g.h.g.h#G.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.h.g.h.g.h.g.h.g.fQtQtQtQtQt#l.3.f.g.h.g.h.g.h.g.h.g.h.g.2.j.WQtQtQtQtQtQtQtQtQtQt#w.h.g.h.g.h.g.h.f#w.T.k.k.k.k.k.k.k.k.B.bQtQtQtQt.#.g.h.g.h.g#DQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.6QtQtQtQtQtQtQtQtQt#x.R.G.R.G.R.XQtQt.u.G.R.G.R.G.G.KQtQtQtQtQtQt.u.G.R.G.R.G.R.KQtQt.F.G.R.G.R.G#BQtQtQtQtQtQtQtQtQtQt#g.R.G.R.G.R.G.SQtQt.y.R.G.R.G.R.G#fQtQtQtQtQtQt.Q.R.G.R.G.R.G.uQtQt.8.R.G.R.G.R.G.R#.QtQtQtQtQtQt#..G.R.G.R.G.R.G.X" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt#b.g.f.h.f.g.f.h.f.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#j.f.g.f.h.f.g.f.fQtQtQtQtQtQtQt.##h.i.f.h.f.g.f.h.f.g.f.h.f.g.M.kQtQtQtQtQtQtQtQt#c.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.bQtQtQt#l.f.h.f.g.f.MQtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G.QQtQtQtQtQtQtQtQtQt##.G.H.G.H.G.yQtQt.E.H.G.H.G.H#qQtQtQtQtQtQtQt#E.H.G.H.G.H.G#rQt.8.G.H.G.H.G.H.qQtQtQtQtQtQtQtQtQtQtQt#a.H.G.H.G.H.EQtQt.y.G.H.G.H.G.H.oQtQtQtQtQtQtQt.Y.H.G.H.G.H.EQtQt.p.G.H.G.H.G.H.G.G#z.s.p.r.v#x.G.H.G.H.G.H.G.H.y" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.B.h.g.h.g.h.g.h.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#H.h.g.h.g.h.g.hQtQtQtQtQtQtQtQtQtQt.#.O.5.T.i.f.g.h.g.h.g.h.g.h.f.OQtQtQtQtQtQt.A.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.lQtQtQt.#.g.h.g.h.g.MQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R#sQtQtQtQtQtQtQtQtQt.7.R.G.R.G.R.wQtQt.u.G.R.G.R.G#fQtQtQtQtQtQtQt#o.G.R.G.R.G.R.ZQt#u.R.G.R.G.R.G#gQtQtQtQtQtQtQtQtQtQtQt.I.G.R.G.R.G#xQtQt.y.R.G.R.G.R.G.nQtQtQtQtQtQtQt#B.G.R.G.R.G.uQtQt.r.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.w" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt#I.h.f.g.f.h.f.2QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#v.4.aQtQtQtQt#h.f.g.f.h.f.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l#h.j.g.f.h.f.g.f.2.aQtQtQtQtQt#c.h.f.g.f.h.f.g.M#w.4.d.k.d.k.d.k.d.k#H.lQtQtQtQt#l.f.g.f.h.f.2QtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H#aQtQtQtQtQtQtQtQtQtQt#o.G.H.G.H.G##QtQt.E.H.G.H.G.H.rQtQtQtQtQtQtQt.8.H.G.H.G.H.G#rQt.o.G.H.G.H.G.H.QQtQtQtQtQtQtQtQtQtQtQt.t.H.G.H.G.H#aQtQt.y.G.H.G.H.G.H.8QtQtQtQtQtQtQt#q.H.G.H.G.H.EQtQt.s.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H#u" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQt.l.h.g.h.g.h.g.OQtQtQtQt.#.O#H.WQtQtQtQtQtQtQtQtQtQt#d.h.g.A.WQtQtQt.L.h.g.h.g.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.T.h.g.h.g.h#DQtQtQtQtQt#w.h.g.h.g.h.g.k.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.MQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G#BQtQtQtQtQtQtQtQtQtQt.n.R.G.R.G.R.PQtQt.u.G.R.G.R.G.rQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.ZQt.p.R.G.R.G.R.G.XQtQtQtQtQtQtQtQtQtQtQt#i.G.R.G.R.G.GQtQt.y.R.G.R.G.R.G.QQtQtQtQtQtQtQt.u.G.R.G.R.G.uQtQt#e.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.G.E.#" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.f.f.h.f.g.TQtQtQt.B.j.f.g.f.iQtQtQtQtQtQtQtQtQtQt.T.h.f.g.f#d.aQt.#.f.f.g.f.3QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.4.f.h.f.g.f.CQtQtQtQt#c.g.f.h.f.g#hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.h.f.g.f.2QtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.FQtQtQtQtQtQtQtQtQtQt.o.G.H.G.H.G.pQtQt.E.H.G.H.G.H.0QtQtQtQtQtQtQt#t.H.G.H.G.H.G#rQt.o.G.H.G.H.G.H#.QtQtQtQtQtQtQtQtQtQtQt.E.H.G.H.G.H.IQtQt.y.G.H.G.H.G.H#tQtQtQtQtQtQtQt.E.H.G.H.G.H.EQtQt.t.G.H.G.H.G.H.G#z.P#o.y.y.y.y.y.y.y.y.y#..#QtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.j.g.h.g.h#kQt#b.z.g.h.g.h.g.TQtQtQtQtQtQtQtQtQtQt.3.h.g.h.g.h.f.WQt.T.g.h.g.WQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.h.g.h.g.BQtQtQtQt.A.h.g.h.g#DQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.fQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.KQtQtQtQtQtQtQtQtQt.S.R.G.R.G.R.nQtQt.u.G.R.G.R.G.rQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.ZQt.y.R.G.R.G.R.G.oQtQtQtQtQtQtQtQtQtQtQt.1.G.R.G.R.G.tQtQt.y.R.G.R.G.R.G.QQtQtQtQtQtQtQt.u.G.R.G.R.G.uQtQt.P.R.G.R.G.R.G#aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.k.f.g.f.hQt#h.f.h.f.g.f.h.f#hQtQtQtQtQtQtQtQtQtQt#h.g.f.h.f.g.f.h.L.i.f.h.f.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.B.g.f.h.f.4QtQtQtQt#c.h.f.g.f.3QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.g.f.h.f.g.#QtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G#.QtQtQtQtQtQtQtQtQt#y.G.H.G.H.G.8QtQt.E.H.G.H.G.H.SQtQtQtQtQtQtQt#t.H.G.H.G.H.G#rQt.9.G.H.G.H.G.H#iQtQtQtQtQtQtQtQtQtQt#r.G.H.G.H.G.H.7QtQt.y.G.H.G.H.G.H#tQtQtQtQtQtQtQt.E.H.G.H.G.H.EQtQt.6.G.H.G.H.G.H.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQt.a.g.h.g.h.j.h.g.h.g.h.g.h.g.VQtQtQtQtQtQtQtQtQtQt.5.h.g.h.g.h.g.h.g.h.g.h.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.h.g.h.g.WQtQtQtQt#w.h.g.h.g#hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.h#kQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R#CQtQtQtQtQtQtQtQt.C.G.R.G.R.G.R.KQtQt.u.G.R.G.R.G.rQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.ZQtQt.1.G.R.G.R.G.G.XQtQtQtQtQtQtQtQtQt#i.R.G.R.G.R.G#oQtQt.y.R.G.R.G.R.G.QQtQtQtQtQtQtQt.u.G.R.G.R.G.uQtQt.m.R.G.R.G.R.G#iQtQtQtQtQtQtQtQtQtQt.#.XQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#J.h.f.g.f.h.f.g.f.h.f.g.f.#QtQtQtQtQtQtQtQtQtQt.k.h.f.g.f.h.f.g.f.h.f.g#bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.h.f.g.f.lQtQtQtQt#c.g.f.h.f#bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.h.f.g.f.h.TQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G.G.KQtQtQtQtQtQtQt.r.H.G.H.G.H#BQtQtQt.E.H.G.H.G.H.0QtQtQtQtQtQtQt#t.H.G.H.G.H.G#rQtQt.P.H.G.H.G.H.G.tQtQtQtQtQtQtQtQt.X.G.G.H.G.H.G.G.KQtQt.y.G.H.G.H.G.H#tQtQtQtQtQtQtQt.E.H.G.H.G.H.EQtQtQt#a.H.G.H.G.H#m.KQtQtQtQtQtQtQtQt.0.F.G#y.yQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#b.h.g.h.g.h.g.h.g.h.g.h.g.#QtQtQtQtQtQtQtQtQtQt.T.h.g.h.g.h.g.h.g.h.g.MQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.h.g.h.fQtQtQtQtQt.A.h.g.h.g.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.h.g#hQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.G#eQtQtQtQtQtQt#..R.G.R.G.R.G.pQtQtQt.u.G.R.G.R.G.rQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.ZQtQt.9.G.R.G.R.G.R.G#iQtQtQtQtQtQt.8.1.G.R.G.R.G.R#CQtQtQt.y.R.G.R.G.R.G.QQtQtQtQtQtQtQt.u.G.R.G.R.G.uQtQtQt##.G.R.G.R.G.R#q.CQtQtQtQtQt#r.E.R.G.R.G#a.CQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.f.h.f.g.f.h.f.g.f.h.f.aQtQtQtQtQtQtQtQtQtQt#v.g.f.h.f.g.f.h.f.g.f.cQtQtQtQtQtQt.O.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.M.g.f.h#cQtQtQtQtQt#c.h.f.g.f.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#l.f.g.f.h.f.g.f.h#v.k#h.W#b#F.l.bQtQtQtQt#t.H.G.H.G.H.G.H.G.u.ZQtQtQt.D#m.G.H.G.H.G#a.#QtQtQt.E.H.G.H.G.H.SQtQtQtQtQtQtQt#t.H.G.H.G.H.G#rQtQtQt.s.G.H.G.H.G.H.G#q.x.9.#.D.q.G.G.H.G.H.G.H.Y.9QtQtQt.y.G.H.G.H.G.H#tQtQtQtQtQtQtQt.E.H.G.H.G.H.EQtQtQt.K.F.G.H.G.H.G.H#m.o.X.C#..7#a.H.G.H.G.H.G.JQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.f.h.g.h.g.h.g.h.g.h.g.UQtQtQtQtQtQtQtQtQt.l.g.h.g.h.g.h.g.h.g.h#wQtQtQtQtQtQt#d.g.h.2.WQtQtQtQtQtQtQtQtQtQtQtQt.l.M.g.h.g.M.CQtQtQtQtQt#w.h.g.h.g.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g#v#hQt.Q.G.R.G.R.G.R.G.R.G.R#z#e#x.R.G.R.G.R.G.R.6QtQtQtQt.u.G.R.G.R.G.rQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.ZQtQtQt.C#B.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.wQtQtQtQt.y.R.G.R.G.R.G.QQtQtQtQtQtQtQt.u.G.R.G.R.G.uQtQtQtQt.o.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G#xQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.g.f.h.f.g.f.h.f.g.f.iQtQtQtQtQtQtQtQtQt.4.f.h.f.g.f.h.f.g.f.f#lQtQtQtQtQtQt.M.f.g.f.h.M.4.aQtQtQtQtQtQtQt.a.3.f.g.f.h.f.OQtQtQtQtQtQt#c.g.f.h.f.OQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.a#t.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H#q#sQtQtQtQt.t.H.G.H.G.H.qQtQtQtQtQtQtQt.X.H.G.H.G.H.G.KQtQtQtQt.X.1.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.rQtQtQtQtQt.y.G.H.G.H.G.H#tQtQtQtQtQtQtQt.E.H.G.H.G.H.EQtQtQtQtQt.0.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G#B.ZQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.L.g.h.g.h.g.h.g.h.g.h.kQtQtQtQtQtQtQt#F.f.g.h.g.h.g.h.g.h#p#FQtQtQtQtQtQtQt.l#D.h.g.h.g.h.g.i#w.4.5.k#K.e.g.h.g.h.g.f.cQtQtQtQtQtQtQt.j.h.g.h.g.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#w.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.fQt.Q.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R.G.R#C.#QtQtQtQtQt.r.G.R.G.R.G.mQtQtQtQtQtQtQtQt#B.R.G.R.G.FQtQtQtQtQtQt#s##.G.R.G.R.G.R.G.R.G.R.G.R.G.R.F.oQtQtQtQtQtQt#s.G.G.R.G.R.G.CQtQtQtQtQtQtQt.S.G.R.G.R.G.sQtQtQtQtQtQt.y#B.G.R.G.R.G.R.G.R.G.R.G.R.G#y.ZQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.3.g.f.h.f.g.f.h.f.g.f.3QtQtQtQtQt.O.M.h.f.g.f.h.f.g.f.h#FQtQtQtQtQtQtQtQtQtQt#h.M.g.f.h.f.g.f.h.f.g.f.h.f.g.f.z.k#lQtQtQtQtQtQtQtQt.N.h.f.g.MQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.kQt#t.H.G.H.G.H.G.H.G.H.G.H.G.H.G.H.G.F#EQtQtQtQtQtQtQt.Z.Y.G.H.G.IQtQtQtQtQtQtQtQtQt.S.G.H.G.Y#gQtQtQtQtQtQtQtQt.Q#q.H.G.H.G.H.G.H.G.H.G.G.P.ZQtQtQtQtQtQtQtQt.v.H.G.H.G#iQtQtQtQtQtQtQtQt.X.G.G.H.G.G.8QtQtQtQtQtQtQtQt.q.Y.H.G.H.G.H.G.H.G.H#q.JQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.3.g.h.g.h.g.h.g.h.g.h.f#w.d.4.2.h.g.h.g.h.g.h.g.h.h.BQtQtQtQtQtQtQtQtQtQtQtQtQt.O.3.i.g.h.g.h.g.h.g.h.f.A.5QtQtQtQtQtQtQtQtQtQtQt#F.f.g.h.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.O#j.k.k.k.k.k.k.k.k.k.k.k.k.k.W#lQtQt.Q.G.R.G.R.G.R#B.J.K.m#g.S.t.r#o.9QtQtQtQtQtQtQtQtQtQt#s#o.p#g.#QtQtQtQtQtQtQtQtQtQt.y#E#oQtQtQtQtQtQtQtQtQtQtQtQt.8.x.S#e#B#a#z#q###o#sQtQtQtQtQtQtQtQtQtQtQt#..q.p.9QtQtQtQtQtQtQtQtQtQt.C.o.q#o.#QtQtQtQtQtQtQtQtQtQt.K#..w.P#q#y.t.q.x.QQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.f.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f.h.f.g.f#d.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.O.c#L#F.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l#L.WQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.G.7QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.A.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.g.h.4QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G.R.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#b#c.h.f.g.f.h.f.g.f.h.f.g.f.h.f.f.d.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#t.H.G.H.G.H.Y.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.4.A.f.h.g.h.g.h.g.h.2.T.5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Q.G.R.G.R.G#zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#rQtQtQt.KQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C#F.B#b.B#F.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.H.G.H.G.H.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.I#uQt.Q#n.vQtQtQtQtQtQtQtQtQtQtQtQt.x.XQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#z.R.G.R.G.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#o.u.XQtQtQt.P.I#sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#e#z.7Qt#o#z.IQtQtQtQtQtQtQtQtQtQtQt.Z#x.qQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.6.G.H.G.F.8QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#e.I.6QtQtQt##.I.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQt.m.I.SQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.9#u.y.KQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.9.I#z.EQtQtQt.P#x.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.E#x.6Qt#g#x.I.#QtQtQtQtQtQtQtQtQtQt.Q#z.qQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.y#E.w.w.w#.QtQtQtQt.K.K.#Qt.9.y.x.QQtQtQtQt.#.8.p.t#i.7.QQtQt.#.#QtQtQtQtQt#r.8QtQtQtQtQtQt.CQtQtQtQt.y.p.r.p.D.#QtQtQt.#.7.0#g.n#o#sQtQtQtQtQtQtQtQtQtQt.t.I.I.I.PQtQt##.I#n#o.9.D.o.y.#QtQtQtQtQt#.#E.P.7#u.KQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQt#s.q.v.I#q#C.p.KQtQtQt.Q#g.6#g.7#o.CQtQtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQt.X.I.pQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#e.P.QQt.#.x#z.qQtQt.Z.I#x.I.s.7.t.I#z#oQtQt#r.E#x##.n#o.S#C.CQt.r#iQtQtQtQt#s#q#x#EQtQtQtQt.K.u#.Qt.Z#C.u.p#.#E.u#f#rQtQt.D#z.I#x.I#z#.QtQtQtQtQtQtQtQtQt.#.u.I#x.I.u.#Qt###z.I.I.t.t#y#x#e#sQtQt.#.r#q.S.D.x.t#q.QQtQtQtQtQtQtQtQtQt" +"QtQtQtQt.Q#q.I.I.t.s#y#z.EQtQt.n.E.x.#Qt.X#e.E.XQtQt.u#z.7Qt.x#z.I.#QtQtQtQtQtQtQtQtQtQt.##x.xQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.KQtQtQtQtQt.E.I.KQt#t.I.I#gQtQtQt.p.I.sQtQt.r.I.tQtQtQtQtQtQtQt.o.I.#QtQtQt#..I.I#eQtQtQtQt#u.I#sQt#C.I.ZQtQtQt#s.I#eQtQt#o.I.I.I#n.yQtQtQtQtQtQtQtQtQtQtQt#u.I.I#n.ZQtQt##.I#y.QQtQt.9#q.I#gQtQt.6.I.yQtQtQtQt#e#y.KQtQtQtQtQtQtQtQt" +"QtQtQtQt.E.I#q.QQtQt.#.n#EQtQt#s.#QtQtQtQt#o.I.7QtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQtQt.E.QQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.I.JQt.Q.I#nQtQtQtQt.##y#yQtQt.u.I.tQtQtQtQtQtQtQt.9.I.QQtQtQt.p.I#z.I.CQtQtQt.r.sQt#.#x.tQtQtQtQtQt.P#x#uQt#o#x.I#e.ZQtQtQtQtQtQtQtQtQtQtQtQt.K.I#z##QtQtQt.P#x.rQtQtQtQt.0.I.SQt.Z#y.IQtQtQtQtQt.w.I.6QtQtQtQtQtQtQtQt" +"QtQtQt.x.I#z.JQtQtQtQtQtQtQtQtQtQtQtQtQtQt.J.I.tQtQt.E#x.6Qt#g#x.I.#QtQtQtQtQtQtQtQtQtQtQt.qQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.I.I#uQt#t.I.0QtQtQtQtQt#i.IQtQt.7.I.I.6.ZQtQtQtQtQtQt.u#oQtQtQt#i.I.I.I.QQtQtQt.E#gQt.7.I.I#tQtQtQt.K#y.I.qQt#o.I.I#oQtQtQtQtQtQtQtQtQtQtQtQtQtQt#f.I.pQtQtQt##.I.oQtQtQtQt.n.I.PQt.D.I.I.nQtQtQtQt.v.I.tQtQtQtQtQtQtQtQt" +"QtQtQt.P.I#qQtQtQtQtQtQtQtQtQtQtQtQtQtQt.X#e.I#eQtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQtQt#sQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.q.s.I#z.I#oQt.Q.I.nQtQtQtQtQt.S.I.#Qt.K.q.I.I#z#C.n.#QtQtQt.q#iQtQt.##y.7.o#q.oQtQt.X.I.KQt.P#z.I.I#i.x#g.s.t#f.yQt#o#z.I.KQtQtQtQtQtQtQtQtQtQtQtQtQtQt#C#x#oQtQtQt###z#.QtQtQtQt.Q.I#iQt.o.I#z.I.t.o#o.P#f.v.pQtQtQtQtQtQtQtQt" +"QtQtQt.E.I.tQtQtQtQtQtQtQtQtQtQtQt.X.w.r#q#x.I.uQtQt.u#z.7Qt.x#z.I.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.7.t.DQtQt.X#n.I#oQt#t.I.DQtQtQtQtQt.7.IQtQtQtQt#s.o.t.I.I#n.wQtQt.D.I.ZQt.o#iQtQt#g#eQtQt.0#CQtQt#C.I#q#..KQtQtQtQtQtQtQt#o.I.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.I#oQtQtQt##.I.KQtQtQtQtQt.I.PQt#E.I#n#o.KQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQt.E.I#CQtQtQtQtQtQtQtQtQt.D.t.p.ZQt.#.q.I.EQtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.I.ZQtQtQtQt.r.I#gQt.Q.I.yQtQtQtQtQt.6.I.#QtQtQtQtQtQt#r#i.I#x#.Qt.#.I.u.s.I#oQtQt.K.I#f#i.I#oQtQt.q#x.wQtQtQtQtQtQtQtQtQt#o#x.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s#z#gQtQtQt.P#x.#QtQtQtQt.#.I#iQt.n.I#iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQt.s.I#qQtQtQtQtQtQtQtQt#.#x.6QtQtQtQt#t.I#qQtQt.E#x.6Qt#g#x.I.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.I.tQtQtQtQtQt.r.I#oQt#t.I.DQtQtQtQtQt.p.IQtQtQtQtQtQtQtQt.Z.I.I#gQtQt.P.I.I.I.ZQtQtQt#C.I.I.I#sQtQt.n.I.rQtQtQtQtQtQtQtQtQt#o.I.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.I.pQtQtQt##.I.#QtQtQtQtQt.I.PQt.X.I#eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQt.p.I.I.DQtQtQtQtQtQtQt.r.I.mQtQtQtQt#t.I.EQtQt.u.I.6Qt.x.I.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#r.I.I.CQtQtQt.X.I.I.xQt.Q.I.yQtQtQtQtQt.p.I.#Qt.CQtQtQtQtQt.Q.I#z.QQtQt#o.I#x.EQtQtQtQt.w.I#x#iQtQtQtQt#f.I.9QtQtQtQt.X#gQtQt.n#z.IQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r#x#q.CQtQt###z.#QtQtQtQt.#.I#iQtQt.0#z#uQtQtQtQt.C.x.#QtQtQtQtQtQtQtQt" +"QtQtQt.K#q#x.E.XQtQtQt.8.w.#.r#z.pQtQtQtQt##.I#qQtQt#f#z.7Qt.n#z.I.#QtQtQtQtQtQtQtQtQtQtQt#rQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#i.I#C#..8.q#y.I.I#uQt.X.I#.QtQtQtQtQt.o#yQtQt.6.u.7.y.X#o.t.I.6QtQtQt.##q.I.6QtQtQtQt.9.I.I.DQtQtQtQt.X#e#q.7.X.Q#E#y#oQtQt#..I#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.I.I.PQtQt.P.I.#QtQtQtQtQt.I.rQtQt.C#i.I.0.8#t#g.E.SQtQtQtQtQtQtQtQtQt" +"QtQtQtQt.y#n.I#n#i.r#q.I##Qt.m.I#y.o.X#g#f.I.I#eQtQt#C.I.pQt.D.I.IQtQtQtQtQtQtQtQtQtQtQt.K.I.pQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.J.r#i.w.J#t.J#o.CQtQt#..#QtQtQtQtQt.K.8QtQtQt#o.r.t#y.u.s.JQtQtQtQtQt.X#g.#QtQtQtQtQt.Q.DQtQtQtQtQtQt.#.o.r#f##.6.XQtQtQt#s.6.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#i.I#x.yQt.X.nQtQtQtQtQtQt#u.QQtQtQtQt.n.r.t.s.q#.QtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQt#t#i#y.I#y##.xQtQtQt.X#E.t.q#o.Q.m.n.mQtQt.8.r.XQt#s.6#gQtQtQtQtQtQtQtQtQtQtQtQt.q.QQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQt.KQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" +"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; + +static const unsigned char image1_data[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x30, 0x08, 0x06, 0x00, 0x00, 0x00, 0x63, 0x57, 0xfa, 0xde, 0x00, 0x00, 0x0d, - 0x55, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x5b, - 0xd7, 0x1d, 0xfe, 0x09, 0x52, 0x70, 0x86, 0x19, 0xca, 0xd8, 0x43, 0x1c, - 0xca, 0xb0, 0xcb, 0x5a, 0x70, 0x06, 0xa5, 0xf2, 0xdc, 0x07, 0x79, 0x6b, - 0xc9, 0x35, 0x7d, 0x99, 0xe2, 0x94, 0x54, 0x6e, 0x1f, 0x62, 0x6f, 0x7d, - 0x90, 0xe2, 0x8c, 0xd8, 0xdb, 0x4b, 0x9d, 0xf6, 0xc5, 0x49, 0x8a, 0xab, - 0xe6, 0xc1, 0x75, 0x54, 0xc8, 0x66, 0x75, 0xb8, 0xb3, 0x02, 0x61, 0x56, - 0x0b, 0xc6, 0xce, 0x83, 0xa3, 0x78, 0x10, 0x66, 0x65, 0xa8, 0xc8, 0x85, - 0x64, 0x96, 0x87, 0x87, 0x1c, 0x48, 0xc1, 0x1e, 0xde, 0x90, 0x8b, 0x19, - 0x8e, 0x31, 0xc6, 0x16, 0x26, 0xf0, 0xed, 0xe1, 0xfe, 0xd1, 0xfd, 0x77, - 0xee, 0x3d, 0xe7, 0x4a, 0x4e, 0x9d, 0x46, 0xe7, 0xe5, 0x4b, 0x7c, 0xcf, - 0x9f, 0xdf, 0x39, 0xf7, 0x77, 0xbe, 0xfb, 0x9d, 0xdf, 0x3d, 0xe7, 0x8a, - 0x40, 0x44, 0x63, 0x44, 0x54, 0x35, 0x04, 0x80, 0x55, 0x00, 0x00, 0x72, - 0x0a, 0x62, 0x0f, 0xa8, 0x7a, 0x3b, 0x35, 0x7c, 0x66, 0xb1, 0x62, 0x07, - 0x4d, 0x3f, 0x2c, 0x02, 0x00, 0x02, 0xa3, 0xb3, 0xa0, 0x2b, 0x00, 0x0d, - 0x4e, 0x32, 0x51, 0x4a, 0x01, 0xfd, 0x77, 0x0a, 0x00, 0x80, 0xef, 0xba, - 0xe3, 0x35, 0x7c, 0x7a, 0xd1, 0x53, 0xc1, 0xc2, 0xba, 0x4c, 0xa0, 0xfe, - 0x78, 0x1a, 0x04, 0x80, 0xae, 0x4c, 0x0a, 0xa3, 0x1f, 0x40, 0x64, 0x1a, - 0x35, 0x07, 0xae, 0xa1, 0x30, 0x8a, 0x15, 0x00, 0x20, 0xdd, 0x70, 0x67, - 0x54, 0x51, 0x94, 0x52, 0x40, 0x71, 0x6b, 0xa7, 0x26, 0x21, 0x6a, 0xc8, - 0x85, 0x5c, 0x19, 0xb1, 0x27, 0x33, 0xa2, 0x17, 0x46, 0x15, 0xc1, 0x58, - 0xb6, 0x50, 0x73, 0xdc, 0x1a, 0xba, 0xa2, 0x6b, 0x86, 0xc2, 0xfa, 0x0e, - 0x02, 0xc9, 0xea, 0x32, 0xab, 0x13, 0x06, 0x46, 0x67, 0x6b, 0x92, 0xa1, - 0x86, 0x8e, 0xe8, 0x98, 0x01, 0xeb, 0x80, 0xff, 0x09, 0x30, 0xac, 0x19, - 0xfd, 0xf1, 0x74, 0xcd, 0x71, 0x6b, 0xc8, 0x44, 0xe6, 0x85, 0xc2, 0xfa, - 0x0e, 0xfc, 0x71, 0x0f, 0x8c, 0x99, 0x48, 0x83, 0x92, 0x00, 0x8d, 0xce, - 0x82, 0x92, 0x40, 0xe8, 0xe6, 0x3c, 0x00, 0x60, 0x72, 0x49, 0x8e, 0x32, - 0xf0, 0xd6, 0xe3, 0x1f, 0x9a, 0xac, 0xdc, 0x71, 0x01, 0x8c, 0x8c, 0x8e, - 0x21, 0x72, 0xbe, 0x17, 0x91, 0x9e, 0x5e, 0x05, 0x23, 0x88, 0x9c, 0xef, - 0xc5, 0x70, 0x7c, 0x18, 0x00, 0x50, 0x2c, 0x16, 0x9f, 0x1e, 0x49, 0x02, - 0x20, 0x3d, 0x5d, 0xdd, 0x09, 0xbd, 0xb3, 0xb5, 0x83, 0xe1, 0x38, 0x10, - 0xe9, 0xe9, 0x45, 0xf0, 0x84, 0x84, 0x48, 0x4f, 0xc4, 0x7b, 0xfd, 0xfb, - 0x60, 0x9f, 0x1d, 0x56, 0x87, 0x61, 0x87, 0x64, 0x43, 0xb1, 0x05, 0xc7, - 0x94, 0x5b, 0xc6, 0x13, 0x61, 0x5c, 0xec, 0x00, 0xd8, 0x03, 0x9a, 0x5b, - 0x03, 0x40, 0xab, 0x8c, 0x81, 0xd6, 0x20, 0xf3, 0xff, 0x03, 0x83, 0xb1, - 0xa7, 0x82, 0xd9, 0x07, 0x06, 0x63, 0x9a, 0xfd, 0x55, 0xb3, 0x77, 0xd5, - 0x3a, 0x1e, 0xfd, 0xef, 0xf7, 0x7b, 0x9a, 0xc8, 0xfb, 0x62, 0x9f, 0x0d, - 0x5a, 0x67, 0xde, 0x1e, 0x84, 0x19, 0x96, 0x27, 0x45, 0x66, 0xe6, 0x3d, - 0x69, 0x5c, 0x2f, 0x8c, 0x1b, 0x39, 0xdf, 0x6b, 0xb8, 0x11, 0xa1, 0x8e, - 0x30, 0x46, 0x46, 0xc7, 0x00, 0x00, 0xe3, 0xa9, 0x49, 0x20, 0x0e, 0x48, - 0x1d, 0x21, 0xed, 0x7a, 0xa0, 0x35, 0x88, 0xf9, 0xfc, 0xfc, 0xc1, 0x67, - 0x5c, 0xd5, 0xfe, 0x6a, 0x39, 0x04, 0x8c, 0x0e, 0x1b, 0x68, 0x0d, 0x22, - 0xd2, 0xd3, 0x5b, 0x11, 0xd3, 0x56, 0xd5, 0x3e, 0x06, 0x5a, 0xfe, 0x20, - 0x89, 0x30, 0xac, 0x82, 0x6e, 0x29, 0x38, 0x91, 0xab, 0x48, 0xe3, 0x4a, - 0x37, 0x72, 0xfc, 0x0e, 0x05, 0x23, 0xc3, 0x62, 0x83, 0x3d, 0x80, 0x78, - 0x28, 0xdb, 0x97, 0x9e, 0x49, 0x3b, 0xd6, 0xaf, 0xe6, 0xab, 0xd4, 0x41, - 0x2a, 0xba, 0xee, 0x64, 0x5f, 0xd1, 0x83, 0x7d, 0x00, 0x82, 0x27, 0x24, - 0xcb, 0x13, 0xc8, 0xa9, 0x1e, 0x3c, 0x84, 0xa7, 0x89, 0x2d, 0x6a, 0x9f, - 0x5b, 0x7e, 0xdf, 0x18, 0x11, 0x45, 0x89, 0x28, 0x49, 0x44, 0x51, 0x00, - 0xbe, 0x8f, 0xa6, 0x88, 0x0e, 0x75, 0x12, 0x3d, 0xe6, 0xc3, 0x48, 0x20, - 0x4f, 0xc9, 0x5f, 0xb5, 0x10, 0x2b, 0x45, 0xff, 0x9a, 0xa7, 0xeb, 0x0b, - 0x2d, 0xdc, 0xf5, 0xb1, 0x70, 0xfc, 0xd4, 0x1a, 0x75, 0xbf, 0x7c, 0xcc, - 0x97, 0xd4, 0xdb, 0x6b, 0x83, 0xf9, 0xfc, 0x3c, 0xce, 0x9e, 0xfb, 0x1d, - 0x95, 0xa8, 0x44, 0x75, 0x54, 0x47, 0x41, 0xa9, 0x8d, 0x12, 0xc3, 0x71, - 0xd7, 0x72, 0x06, 0x04, 0xd0, 0xd9, 0xd5, 0x4d, 0x2b, 0xdf, 0xac, 0x68, - 0xf5, 0xe8, 0x31, 0x24, 0x85, 0xa8, 0xaf, 0x27, 0x4a, 0x4d, 0x2f, 0xbd, - 0xe0, 0x6b, 0x3b, 0x21, 0xa1, 0xb4, 0x5d, 0xa2, 0xba, 0xfa, 0x3a, 0x9a, - 0xbb, 0x9b, 0xa1, 0xa4, 0xcf, 0xe7, 0xd3, 0xd7, 0x97, 0xc9, 0xe6, 0x70, - 0xf1, 0xf2, 0x45, 0xda, 0xdc, 0xde, 0xa4, 0x40, 0x73, 0x33, 0xb5, 0xff, - 0xe5, 0x0b, 0x9f, 0x6a, 0x67, 0xcb, 0x97, 0x2d, 0xd4, 0x76, 0xbf, 0x9d, - 0x4a, 0xdb, 0x25, 0x43, 0xfd, 0x81, 0xe6, 0x66, 0x0a, 0xbc, 0x12, 0xa0, - 0x0b, 0xef, 0x5d, 0x30, 0xd6, 0x17, 0x07, 0x8e, 0x7f, 0xd9, 0x42, 0x75, - 0x54, 0x47, 0x57, 0x3f, 0xbd, 0x4a, 0xed, 0xaf, 0xff, 0xc2, 0x97, 0x18, - 0x1d, 0x43, 0xf2, 0xcf, 0x49, 0xad, 0xbc, 0xff, 0xe8, 0x11, 0xda, 0xfc, - 0xf6, 0x11, 0x95, 0xa8, 0x44, 0x4b, 0xf7, 0xf3, 0x16, 0x7b, 0x54, 0x54, - 0xed, 0xb6, 0xeb, 0x9f, 0x56, 0x0e, 0x40, 0xfb, 0xa9, 0x93, 0x5a, 0x7d, - 0xfa, 0x7c, 0x75, 0xf5, 0x75, 0x34, 0x27, 0x65, 0x68, 0xad, 0x67, 0x8d, - 0x1a, 0x8e, 0x29, 0xf7, 0x85, 0xc3, 0xbe, 0xba, 0xfa, 0x3a, 0xad, 0xbf, - 0xfa, 0x76, 0x12, 0x9f, 0x27, 0x69, 0xe6, 0xd6, 0x0c, 0xad, 0x7c, 0xbb, - 0x62, 0x68, 0xc7, 0x7f, 0xf4, 0x08, 0x65, 0xde, 0xba, 0x4d, 0xbb, 0xef, - 0xec, 0xd2, 0xe1, 0x1f, 0xfe, 0xc0, 0x97, 0x24, 0xd3, 0xcc, 0xf3, 0xf2, - 0x86, 0xcb, 0x29, 0x89, 0x6a, 0x58, 0xb7, 0x37, 0x68, 0x5c, 0x7b, 0x18, - 0x60, 0xd5, 0x68, 0xa1, 0x8e, 0xb0, 0x6c, 0x4f, 0x36, 0xc7, 0x35, 0xe3, - 0xd5, 0xf2, 0xc1, 0x13, 0x92, 0xdc, 0x11, 0x85, 0x69, 0xfb, 0xdf, 0xef, - 0xd7, 0x18, 0x29, 0xf8, 0x86, 0x04, 0xec, 0x00, 0x78, 0xa3, 0xdc, 0x5e, - 0xa8, 0x23, 0x64, 0xb5, 0xef, 0xb4, 0xf5, 0xfa, 0x70, 0x7c, 0xc4, 0x6a, - 0xdf, 0x2a, 0x10, 0x39, 0xdf, 0x6b, 0xa8, 0xcf, 0xcc, 0x7c, 0xb6, 0x8c, - 0x68, 0xa3, 0x49, 0xd5, 0xff, 0x0f, 0x0c, 0xc6, 0xd8, 0xe3, 0x05, 0x86, - 0xe6, 0xdf, 0x80, 0xdc, 0x2f, 0x5d, 0x7b, 0xea, 0xf8, 0xcd, 0xe7, 0xe7, - 0xb5, 0x71, 0xd0, 0xf2, 0x9f, 0xae, 0xd0, 0x3e, 0x33, 0xe3, 0x9f, 0x2e, - 0xaf, 0x31, 0xc2, 0x67, 0xba, 0x8c, 0xe3, 0xad, 0x30, 0xbd, 0xc6, 0xb4, - 0xd1, 0xe9, 0x79, 0x5c, 0xff, 0x97, 0x07, 0x46, 0xfc, 0x71, 0x86, 0x70, - 0xae, 0xdd, 0x96, 0x65, 0xfb, 0x88, 0xe8, 0x33, 0x41, 0xe6, 0x76, 0xc2, - 0xd8, 0xe5, 0x4e, 0x6a, 0x60, 0x30, 0x87, 0x99, 0x29, 0x8f, 0xbf, 0xda, - 0x62, 0x61, 0x10, 0x33, 0x53, 0x34, 0x37, 0x37, 0x53, 0xfb, 0x2f, 0xdb, - 0xa9, 0xbb, 0xab, 0xd3, 0xc8, 0x48, 0x00, 0xf2, 0x0b, 0x79, 0x6a, 0x69, - 0xf9, 0xb9, 0x85, 0xa1, 0x8f, 0xb7, 0x06, 0xa0, 0x67, 0xa4, 0xc4, 0xe7, - 0x49, 0xd2, 0x33, 0xc9, 0xed, 0xe9, 0xa9, 0x32, 0xf3, 0x98, 0xec, 0x58, - 0xba, 0x9f, 0xa7, 0xdb, 0xb7, 0x6e, 0xd3, 0xa5, 0x8f, 0xae, 0x50, 0x89, - 0x4a, 0xe4, 0xaf, 0xf7, 0x53, 0x5f, 0x4f, 0x1f, 0x75, 0x77, 0xbf, 0xed, - 0x73, 0xb2, 0x5f, 0x65, 0xa4, 0x44, 0x6b, 0x10, 0x6a, 0x3b, 0xd1, 0x9e, - 0x28, 0xf5, 0xfd, 0xf6, 0xac, 0x2f, 0xda, 0xd3, 0x8b, 0x85, 0x85, 0x05, - 0x0b, 0x53, 0x77, 0xbd, 0xd3, 0x45, 0x27, 0xdf, 0xec, 0xf0, 0xa5, 0x52, - 0x93, 0xe8, 0xfe, 0x67, 0x27, 0x45, 0x37, 0xa3, 0x44, 0x87, 0xea, 0xa8, - 0xe5, 0x95, 0x16, 0xea, 0x3b, 0x17, 0xd5, 0x18, 0x4e, 0xdf, 0x4e, 0xf8, - 0x54, 0x98, 0x9a, 0x3e, 0xbc, 0xe4, 0x3e, 0x0e, 0xd5, 0xb2, 0xef, 0xd4, - 0x49, 0x8a, 0x9e, 0xeb, 0x23, 0xf5, 0x7a, 0x48, 0x0a, 0x51, 0xf3, 0xf0, - 0x15, 0xc3, 0xfd, 0xbd, 0x38, 0x18, 0xc3, 0xcc, 0xad, 0x19, 0x2a, 0x51, - 0x89, 0x82, 0xaf, 0x06, 0xa9, 0xed, 0x4f, 0x9f, 0xf9, 0x64, 0x0d, 0xb1, - 0x57, 0x59, 0x3c, 0x56, 0xdd, 0x8b, 0x60, 0x49, 0xeb, 0xd5, 0x63, 0x5a, - 0xe1, 0x68, 0x02, 0x80, 0xe1, 0xf8, 0x08, 0xb0, 0xc4, 0x19, 0x45, 0x70, - 0xa8, 0x57, 0x65, 0x98, 0x50, 0x47, 0xd8, 0x50, 0x1e, 0x79, 0x68, 0x4c, - 0x61, 0xa7, 0x09, 0x07, 0x06, 0x63, 0x56, 0x46, 0x3a, 0x5d, 0xb6, 0x67, - 0x7c, 0x62, 0x92, 0xcd, 0x84, 0x7b, 0x65, 0xfb, 0xd4, 0xd5, 0xbc, 0xad, - 0xbd, 0xab, 0x26, 0x0d, 0x6f, 0xea, 0x87, 0x5d, 0x7f, 0xd5, 0x76, 0x91, - 0x87, 0xb5, 0x3f, 0x0e, 0xe3, 0xaa, 0xf6, 0x37, 0xd4, 0x11, 0x32, 0xd4, - 0xa7, 0x2e, 0x62, 0x45, 0xed, 0xc3, 0x43, 0x63, 0xfb, 0xe1, 0x33, 0x5d, - 0x06, 0x46, 0x47, 0x16, 0x96, 0xfb, 0x07, 0x00, 0x32, 0xd3, 0x42, 0x5c, - 0xcb, 0xea, 0x31, 0x78, 0xb9, 0x93, 0xe6, 0x6c, 0xb9, 0x96, 0xe8, 0xea, - 0xd7, 0x2b, 0xf4, 0xfe, 0xdd, 0xa6, 0xaa, 0x30, 0xad, 0xac, 0x6d, 0x57, - 0xa8, 0xfb, 0xe5, 0x17, 0xc4, 0x34, 0x2a, 0x11, 0xad, 0x15, 0x8b, 0x68, - 0x68, 0x68, 0xa0, 0xcc, 0x57, 0x73, 0xd4, 0xfe, 0x4d, 0x1b, 0x75, 0xfe, - 0xcd, 0xaa, 0x59, 0xf5, 0x1a, 0xab, 0xef, 0x83, 0x0b, 0xb4, 0x70, 0x3f, - 0x4f, 0x9b, 0xdb, 0x9b, 0x4c, 0xc6, 0x56, 0xf3, 0x3f, 0x8a, 0x03, 0xd7, - 0x15, 0x2d, 0xa7, 0x6a, 0xdb, 0x95, 0x6f, 0x56, 0xa8, 0xfb, 0x5c, 0x54, - 0x2b, 0x1f, 0xbb, 0x3c, 0x40, 0x27, 0xdf, 0xec, 0xf0, 0x99, 0x99, 0x9a, - 0xa5, 0x39, 0x33, 0xd9, 0x1c, 0x2e, 0xbc, 0x77, 0x41, 0x63, 0xe4, 0xe8, - 0xdf, 0xef, 0x32, 0x98, 0x2c, 0x82, 0x85, 0x85, 0x07, 0x9a, 0x5d, 0x7d, - 0xff, 0xf8, 0xda, 0xc2, 0x54, 0x6b, 0xdf, 0xae, 0x11, 0x3d, 0x26, 0xa2, - 0x43, 0x44, 0x75, 0xf5, 0x87, 0x29, 0xf1, 0xc9, 0x55, 0x5b, 0xa6, 0xb5, - 0xd8, 0x23, 0x38, 0x0e, 0xc2, 0xf6, 0x71, 0x3c, 0x11, 0xf5, 0xe8, 0xaf, - 0xf7, 0xd3, 0xec, 0xf4, 0x6d, 0xd9, 0xe3, 0x03, 0xa3, 0x95, 0x33, 0xa2, - 0x53, 0x1a, 0x9e, 0xab, 0x1e, 0xe3, 0x72, 0x33, 0x2d, 0x07, 0xa6, 0x67, - 0xd2, 0x06, 0xc6, 0x18, 0x1b, 0x1d, 0x83, 0x9e, 0xe1, 0x34, 0x4d, 0xab, - 0xac, 0x66, 0xc7, 0x27, 0x26, 0x6d, 0x19, 0x06, 0x45, 0xb0, 0x19, 0x5c, - 0xd5, 0x84, 0x6a, 0xbb, 0x36, 0xe5, 0xdd, 0x34, 0xa7, 0x5a, 0x9e, 0x4b, - 0x33, 0x0a, 0xf4, 0x7f, 0x3e, 0x3f, 0x6f, 0xdb, 0x1f, 0x33, 0x43, 0xaa, - 0x9a, 0x56, 0x3f, 0x0e, 0x76, 0x0c, 0x2d, 0x6a, 0x9f, 0xb9, 0x7d, 0xde, - 0x78, 0xb9, 0xaf, 0xb8, 0xb5, 0x83, 0x63, 0x7f, 0x3c, 0x5c, 0x31, 0x03, - 0x4e, 0xbe, 0xb5, 0x46, 0x9d, 0xcd, 0x0d, 0x0c, 0xbe, 0x25, 0x9a, 0x7a, - 0xb0, 0x46, 0x6f, 0xdf, 0x6a, 0x20, 0x2a, 0x55, 0xce, 0xb8, 0xb8, 0xdc, - 0xc9, 0x64, 0x28, 0x83, 0x16, 0x0b, 0xb4, 0xb8, 0xe6, 0xd3, 0xcf, 0xf4, - 0xc8, 0x99, 0x3c, 0x99, 0x19, 0xd3, 0x5c, 0xbe, 0xbd, 0x23, 0x04, 0xbb, - 0xd5, 0xb9, 0x5e, 0x7b, 0x59, 0x98, 0xe8, 0x7c, 0x9e, 0x92, 0x51, 0x39, - 0x9f, 0x5e, 0xe3, 0xd9, 0x69, 0x38, 0x15, 0x3b, 0xcf, 0x74, 0x41, 0x7d, - 0x12, 0x2c, 0x9d, 0xca, 0x53, 0xf2, 0x43, 0x3e, 0xcd, 0x68, 0x66, 0x5a, - 0x11, 0xed, 0xaf, 0x7f, 0xd2, 0xa8, 0x7f, 0xb7, 0x1d, 0x07, 0x46, 0x39, - 0x61, 0xfb, 0xdc, 0x98, 0x9e, 0x4c, 0x4f, 0x4a, 0x65, 0xad, 0x40, 0xa8, - 0x06, 0x03, 0x26, 0x66, 0x1d, 0x99, 0x56, 0x4b, 0xca, 0x1b, 0xb3, 0x4a, - 0xdb, 0x1b, 0x5f, 0x04, 0xf7, 0xaa, 0x18, 0x1b, 0x0a, 0x43, 0x02, 0xf2, - 0xaa, 0x18, 0x4a, 0x14, 0x61, 0xcf, 0xc4, 0x00, 0xa7, 0x01, 0x64, 0x1d, - 0x34, 0x1e, 0x4c, 0xab, 0x66, 0x9b, 0xeb, 0x76, 0x9a, 0x59, 0x8b, 0x32, - 0x38, 0xd8, 0x67, 0x88, 0x7f, 0xc2, 0x66, 0xd5, 0x5c, 0x2c, 0x33, 0x99, - 0xab, 0x66, 0x14, 0x60, 0x5a, 0x96, 0xa6, 0xd5, 0x3f, 0x81, 0x82, 0x6f, - 0x48, 0x46, 0x06, 0x36, 0xd9, 0x27, 0xac, 0x69, 0x1d, 0xee, 0x97, 0xfa, - 0x64, 0xd3, 0xec, 0x53, 0xee, 0x97, 0xba, 0x66, 0xd0, 0xa2, 0x07, 0x11, - 0xaf, 0x51, 0x03, 0x15, 0xfd, 0xb7, 0x09, 0xbd, 0x27, 0x99, 0x0c, 0xcb, - 0x4a, 0xbe, 0xcf, 0x33, 0x44, 0xff, 0x6b, 0xf7, 0xd4, 0x6e, 0xff, 0xe5, - 0x4e, 0x6a, 0x66, 0xcc, 0xc8, 0xdd, 0xad, 0x1d, 0x9c, 0xed, 0x3b, 0x4b, - 0x0b, 0x0f, 0x1e, 0x70, 0x6b, 0xa5, 0x40, 0x73, 0x33, 0x7d, 0x7c, 0xe9, - 0x63, 0x6a, 0x7a, 0xb1, 0x89, 0xcc, 0xf1, 0x59, 0xff, 0xd1, 0x23, 0x54, - 0xda, 0xde, 0xb5, 0xd5, 0x74, 0x16, 0x66, 0x18, 0x04, 0x8e, 0xdf, 0x32, - 0x6a, 0x34, 0x95, 0x71, 0xcc, 0x0c, 0xc7, 0x8a, 0x7f, 0xea, 0xb1, 0xe9, - 0x68, 0x13, 0x8d, 0x7c, 0x7a, 0x95, 0x9a, 0x5e, 0x92, 0x35, 0x7c, 0xf2, - 0x84, 0x04, 0xd5, 0x0e, 0x3b, 0xcd, 0xd8, 0x74, 0xb4, 0x89, 0xc2, 0xe9, - 0x9b, 0x55, 0x61, 0xda, 0x36, 0xc9, 0x18, 0x3f, 0xe6, 0x19, 0x87, 0x9b, - 0x1d, 0x61, 0xa8, 0x71, 0x56, 0x3b, 0xfb, 0x54, 0x6d, 0x6e, 0xb6, 0x43, - 0xbf, 0x26, 0x60, 0x8d, 0x47, 0xd3, 0x8b, 0x4d, 0x34, 0xf5, 0x45, 0x8a, - 0x92, 0x3e, 0x9f, 0xaf, 0x22, 0xa6, 0x0d, 0x2b, 0x9b, 0x61, 0xbc, 0xa6, - 0x81, 0x4c, 0xc1, 0xe3, 0x1b, 0x32, 0x07, 0xa6, 0xd5, 0xcd, 0xe0, 0xe1, - 0xf8, 0x30, 0x58, 0x71, 0x42, 0x2c, 0x31, 0xf6, 0x1c, 0x40, 0x61, 0x66, - 0x35, 0x6e, 0xba, 0xaa, 0xc4, 0x67, 0x51, 0x5e, 0xd5, 0x8e, 0x29, 0xaf, - 0x84, 0x0d, 0x0c, 0xaa, 0x32, 0xc3, 0x5e, 0xb9, 0xdc, 0x70, 0x7c, 0xd8, - 0xd1, 0xce, 0xf4, 0x4c, 0xda, 0x90, 0xbf, 0x5c, 0x6e, 0xc4, 0x6a, 0x97, - 0x9a, 0x5f, 0x67, 0x8f, 0x6a, 0xaf, 0x5a, 0x2e, 0x97, 0x15, 0x78, 0x73, - 0xa8, 0xeb, 0xaf, 0xda, 0x1f, 0xdb, 0xbf, 0xeb, 0xec, 0x52, 0xc7, 0x4b, - 0x8d, 0x22, 0x98, 0xcb, 0xb9, 0xd9, 0xe7, 0xf8, 0xe6, 0xd1, 0xa6, 0xbd, - 0xc8, 0xf9, 0x5e, 0x39, 0x36, 0x9f, 0x35, 0x8e, 0x33, 0x79, 0xda, 0xf7, - 0x7a, 0xad, 0xbc, 0x6b, 0xab, 0xd2, 0x94, 0x5b, 0xde, 0x00, 0x25, 0xc4, - 0xda, 0xf7, 0xc7, 0x0f, 0xfe, 0xe6, 0x96, 0x1a, 0xee, 0x1f, 0x92, 0xa7, - 0x28, 0x81, 0xcb, 0x6e, 0x2e, 0xe1, 0xe4, 0x41, 0xeb, 0x3a, 0x6a, 0x35, - 0xe5, 0xa4, 0x45, 0xff, 0x1d, 0x40, 0x42, 0xf9, 0x30, 0x65, 0xed, 0x54, - 0xf0, 0xf7, 0x03, 0xf9, 0x99, 0x76, 0x88, 0x6f, 0x37, 0x57, 0xa5, 0x89, - 0xd7, 0x1e, 0xa7, 0x8e, 0x35, 0x32, 0x98, 0x3b, 0x90, 0xac, 0x9c, 0xa1, - 0x77, 0x94, 0x09, 0x91, 0x5b, 0xdd, 0x00, 0xc0, 0xa8, 0x4f, 0x77, 0x3d, - 0xb7, 0xba, 0x51, 0xd5, 0x89, 0xb2, 0xc3, 0x98, 0x78, 0x6a, 0x7b, 0xb1, - 0x6c, 0x01, 0x31, 0x28, 0xa7, 0xa4, 0xab, 0xd0, 0xde, 0xc8, 0xbd, 0x65, - 0x44, 0xa0, 0x6c, 0x5a, 0x02, 0x50, 0x58, 0x37, 0xf6, 0x27, 0xfd, 0xb0, - 0x08, 0x29, 0x25, 0x5f, 0x97, 0x71, 0x16, 0x31, 0x78, 0x3f, 0xf3, 0x57, - 0x58, 0xdf, 0x40, 0x0c, 0xc6, 0xfa, 0xc2, 0xa6, 0xfa, 0xf8, 0x98, 0x36, - 0xf1, 0x44, 0xfc, 0x55, 0x4b, 0x95, 0x32, 0xad, 0xd7, 0x72, 0x5c, 0x68, - 0xae, 0x0f, 0x56, 0x2d, 0xb8, 0x2f, 0xf1, 0x65, 0x94, 0xf7, 0x86, 0x04, - 0x46, 0x61, 0xd4, 0xd2, 0x5b, 0xb0, 0xed, 0x6f, 0x6e, 0x15, 0x15, 0xf5, - 0x77, 0xe4, 0x9e, 0xb5, 0x5e, 0x3f, 0x67, 0x7f, 0x09, 0xca, 0x13, 0x4e, - 0xa0, 0x7f, 0x61, 0x87, 0xdd, 0x80, 0xfa, 0xf1, 0x73, 0x67, 0xda, 0x27, - 0xc4, 0xb0, 0xe6, 0x54, 0x09, 0xd3, 0x7a, 0x2d, 0xc7, 0xf5, 0x68, 0x32, - 0xd5, 0x67, 0x3e, 0x8c, 0x19, 0x9e, 0xc8, 0x31, 0xed, 0x96, 0x52, 0x00, - 0x8b, 0x29, 0x79, 0x18, 0x8f, 0xd9, 0x0f, 0xc6, 0x78, 0xc5, 0x50, 0x59, - 0x7f, 0x63, 0x8c, 0x7a, 0xf5, 0x0e, 0xb4, 0xb3, 0x07, 0x48, 0x29, 0xf6, - 0x78, 0x73, 0x9d, 0xf9, 0x03, 0xd0, 0x78, 0x2d, 0xcd, 0x1c, 0x37, 0x73, - 0x79, 0x57, 0xa6, 0xdd, 0x8f, 0xa4, 0xee, 0x55, 0x48, 0x2f, 0x39, 0xe7, - 0x3b, 0x88, 0x4c, 0xeb, 0xc6, 0xa0, 0x6e, 0xfb, 0x91, 0x03, 0x6a, 0xff, - 0x45, 0xdb, 0x77, 0xe8, 0x47, 0x6e, 0xd5, 0x9e, 0x69, 0x63, 0x59, 0x0f, - 0xed, 0xe8, 0x30, 0x96, 0x15, 0x60, 0x70, 0xb0, 0x77, 0x09, 0x3a, 0xee, - 0x19, 0x71, 0x28, 0xd7, 0x98, 0xb0, 0x2f, 0x47, 0x4e, 0x1e, 0x1e, 0xf4, - 0xe6, 0x93, 0x5c, 0x49, 0x7f, 0xa6, 0x6c, 0x18, 0xc0, 0x86, 0xcd, 0xe2, - 0x2e, 0x0c, 0x7b, 0xbb, 0xdc, 0xb4, 0xe9, 0x77, 0xc9, 0xb4, 0x3c, 0xdf, - 0x85, 0xf0, 0xc7, 0xc5, 0xb5, 0x6e, 0x2c, 0x5b, 0x10, 0x66, 0x5a, 0xa6, - 0xa3, 0x88, 0x4c, 0x14, 0x91, 0x7a, 0xe1, 0xfc, 0xa5, 0xa1, 0xc6, 0x44, - 0x59, 0x73, 0xf7, 0xdf, 0x29, 0x80, 0xb5, 0xf6, 0xa0, 0x2b, 0xce, 0x5f, - 0x22, 0x72, 0xd4, 0x24, 0xac, 0x28, 0x41, 0xf8, 0xa6, 0x32, 0x03, 0x87, - 0x94, 0xfc, 0x37, 0x3c, 0x38, 0xad, 0x5d, 0xbb, 0x8a, 0xd8, 0xd7, 0x12, - 0x43, 0xab, 0x85, 0x27, 0x70, 0x60, 0x99, 0xd6, 0x69, 0x3c, 0x85, 0xde, - 0xec, 0xd9, 0x39, 0x10, 0xa3, 0x1f, 0x60, 0x32, 0x6d, 0x65, 0xdf, 0x91, - 0x88, 0x65, 0xed, 0xe3, 0xe8, 0x70, 0xd1, 0xca, 0x2c, 0x86, 0xe6, 0x41, - 0x3f, 0x47, 0xfd, 0x96, 0x19, 0xac, 0x62, 0xc8, 0xf4, 0xe2, 0xa0, 0x3f, - 0x53, 0x00, 0x5d, 0x63, 0xcf, 0x3c, 0x61, 0xa7, 0x65, 0xcd, 0x48, 0x93, - 0x86, 0x0e, 0xdf, 0xb4, 0x9e, 0x2d, 0xb3, 0x38, 0x8a, 0xd9, 0xb1, 0xbe, - 0x53, 0xa6, 0x65, 0x6b, 0x5a, 0x3b, 0x8c, 0x4c, 0xf3, 0x9d, 0x4d, 0xf3, - 0xc2, 0xb4, 0x4f, 0x42, 0xd3, 0xb2, 0x30, 0xb7, 0xba, 0x21, 0x7c, 0xd6, - 0x30, 0x90, 0xe4, 0xd3, 0xfc, 0x8e, 0xab, 0x5d, 0xcd, 0xc1, 0x12, 0xb3, - 0x8e, 0x33, 0xc4, 0x4d, 0x9b, 0xda, 0x3a, 0xad, 0x43, 0x7d, 0x96, 0xf6, - 0x05, 0x57, 0xc5, 0x07, 0x49, 0xd3, 0x06, 0x00, 0xa4, 0xf5, 0x67, 0xcc, - 0x20, 0x3b, 0xba, 0x7e, 0xff, 0x72, 0x78, 0x82, 0xe3, 0x44, 0x85, 0x43, - 0x3f, 0x0e, 0x84, 0xa6, 0xb5, 0x41, 0x91, 0x53, 0xdd, 0x8d, 0x00, 0x77, - 0x1c, 0x9d, 0xc9, 0x4c, 0x65, 0x87, 0x65, 0x6b, 0xde, 0x7d, 0x61, 0x5a, - 0x93, 0xa6, 0x36, 0xe7, 0xf3, 0x0f, 0xb9, 0x3b, 0xde, 0x41, 0xd2, 0xb4, - 0x2c, 0xe6, 0xd8, 0xd9, 0x33, 0x6a, 0x76, 0xb7, 0x55, 0x76, 0xff, 0x9d, - 0xa7, 0x40, 0xd3, 0x72, 0x96, 0xb7, 0xc3, 0xc6, 0x6b, 0xfc, 0x1b, 0xfc, - 0x09, 0x44, 0x14, 0x9e, 0xb0, 0xce, 0x28, 0x00, 0x20, 0xce, 0x33, 0x63, - 0x9e, 0x9c, 0x96, 0xa3, 0x5e, 0xaf, 0xf1, 0xce, 0x83, 0xa2, 0x69, 0xb9, - 0x4e, 0x11, 0xdb, 0xd4, 0x87, 0x2d, 0x9d, 0xa3, 0x03, 0xb0, 0x8b, 0x97, - 0x1a, 0x18, 0xed, 0x80, 0x69, 0x5a, 0xd5, 0x6e, 0xd1, 0x33, 0x87, 0xbc, - 0x9f, 0xc4, 0xaa, 0xfc, 0xe4, 0xc2, 0xf3, 0x73, 0x84, 0x77, 0xdb, 0x48, - 0x34, 0x79, 0xdd, 0xe5, 0x95, 0xfb, 0xcd, 0x23, 0x6a, 0xfb, 0xc9, 0x8f, - 0x1c, 0x4f, 0x2e, 0x9c, 0xbd, 0x02, 0xb0, 0xca, 0x17, 0x7f, 0xbf, 0x4b, - 0x0d, 0xca, 0xa9, 0x4e, 0x91, 0x93, 0x0f, 0x2a, 0xfa, 0x06, 0x27, 0xa1, - 0xaf, 0x2f, 0xf6, 0xda, 0x12, 0x5d, 0x7c, 0xfd, 0x67, 0x5a, 0x7d, 0xed, - 0x37, 0x72, 0xb8, 0xfb, 0xdf, 0x36, 0xa2, 0xc7, 0x53, 0x24, 0xfd, 0xb4, - 0x93, 0xba, 0xbb, 0xf9, 0xce, 0xb4, 0x1d, 0xf9, 0x64, 0x8a, 0x36, 0x1f, - 0xf3, 0x8f, 0xc3, 0xd8, 0x80, 0x71, 0x7f, 0xab, 0xdd, 0xfd, 0xe3, 0x3e, - 0x53, 0xc7, 0xc0, 0x07, 0x00, 0xe2, 0x36, 0xf5, 0x3a, 0xed, 0x67, 0xde, - 0xdd, 0x03, 0x0e, 0x3f, 0x47, 0xe4, 0xd5, 0x9f, 0xfc, 0x87, 0xa6, 0xe8, - 0xd1, 0x07, 0xce, 0xfb, 0xa5, 0x35, 0x0f, 0x6e, 0xac, 0x80, 0xf9, 0x9e, - 0x14, 0xd3, 0x72, 0xed, 0xee, 0x22, 0x72, 0x66, 0x5a, 0x8e, 0x99, 0x5c, - 0x2d, 0x4d, 0xcb, 0x6b, 0xaf, 0x17, 0x66, 0xd2, 0x97, 0x2f, 0x30, 0xce, - 0xe2, 0x09, 0xb5, 0x6f, 0x83, 0x8d, 0x09, 0x7b, 0x7b, 0x98, 0x1a, 0x76, - 0x15, 0x70, 0xf2, 0xa3, 0xc0, 0xa8, 0x7c, 0xef, 0x63, 0x59, 0x39, 0x9c, - 0xc5, 0xaa, 0xdf, 0xf6, 0x89, 0xa3, 0xbf, 0xbf, 0xea, 0x3f, 0xc6, 0x17, - 0x8b, 0x5c, 0xda, 0xc3, 0x2d, 0xca, 0xc0, 0xed, 0xb4, 0x82, 0xed, 0x88, - 0x68, 0x29, 0xb7, 0x7a, 0x22, 0x70, 0xd9, 0x3b, 0xe0, 0x34, 0x21, 0x04, - 0x34, 0xad, 0x94, 0x12, 0xff, 0x80, 0x06, 0xcf, 0x17, 0xd5, 0xed, 0xb4, - 0x39, 0x2b, 0xde, 0xee, 0x55, 0x22, 0x44, 0xa6, 0xed, 0xbf, 0x08, 0x64, - 0x1b, 0xed, 0x80, 0x1c, 0x57, 0x75, 0x8a, 0x0a, 0xb0, 0xe2, 0xd2, 0x23, - 0xf7, 0x96, 0x99, 0x51, 0x06, 0x7f, 0x1c, 0x18, 0xb9, 0xb7, 0x6c, 0x29, - 0x47, 0xc6, 0x01, 0xf7, 0xf6, 0x25, 0x18, 0xe1, 0xe4, 0xe1, 0x7b, 0x08, - 0x92, 0x80, 0x83, 0x79, 0x79, 0x62, 0x38, 0xcd, 0xf8, 0xb4, 0xee, 0x64, - 0x41, 0xd5, 0x35, 0xad, 0xad, 0xc3, 0xb8, 0x8f, 0x8f, 0x08, 0x53, 0x4b, - 0x6a, 0x1c, 0xdd, 0x65, 0x75, 0xae, 0xee, 0x8e, 0x63, 0x31, 0xa0, 0xad, - 0xe6, 0x74, 0xc8, 0xcf, 0xfb, 0x64, 0xc3, 0x16, 0x10, 0x70, 0xe8, 0xaf, - 0x6a, 0xbf, 0x51, 0xd3, 0x92, 0xf7, 0x2f, 0xcc, 0xa8, 0x1a, 0x47, 0x24, - 0x89, 0x7e, 0x0f, 0xc1, 0x5f, 0xdf, 0x49, 0x4b, 0x3d, 0xfc, 0x5a, 0xd4, - 0x49, 0xd3, 0x7a, 0x45, 0x55, 0x43, 0xba, 0x69, 0x5a, 0xfd, 0xf7, 0x23, - 0xb8, 0x35, 0xad, 0x0d, 0xa6, 0x16, 0x97, 0xf1, 0xeb, 0x5b, 0xec, 0x53, - 0xcc, 0x06, 0x4d, 0xab, 0xbb, 0x7f, 0x4d, 0x7f, 0xb8, 0x4d, 0xff, 0xde, - 0x3e, 0xc9, 0x2c, 0x27, 0x3d, 0x3f, 0x47, 0x47, 0xde, 0x6d, 0xa3, 0xc0, - 0x57, 0x4b, 0x44, 0xaf, 0x1d, 0x27, 0xfa, 0x6a, 0x89, 0x32, 0xff, 0x39, - 0x4e, 0x9b, 0xdb, 0x19, 0x5a, 0x70, 0x58, 0x63, 0x48, 0xcf, 0x67, 0x28, - 0xf3, 0x6e, 0xbb, 0xa6, 0x35, 0x77, 0xf7, 0x80, 0x4b, 0xcf, 0x11, 0xd9, - 0x69, 0x5e, 0x5e, 0x6d, 0x6a, 0xc6, 0x39, 0x00, 0xd7, 0x39, 0xea, 0x73, - 0x5d, 0xcd, 0xf2, 0xe0, 0x40, 0xa6, 0x20, 0x44, 0xb4, 0xbc, 0x51, 0x09, - 0x15, 0x85, 0xde, 0x1c, 0x91, 0x12, 0x1e, 0xaa, 0x12, 0xd3, 0x9a, 0x57, - 0xe1, 0xe6, 0x38, 0xac, 0x13, 0xd3, 0xf6, 0xdf, 0x11, 0xb3, 0xdb, 0x4e, - 0x23, 0xda, 0x31, 0x50, 0x60, 0x74, 0xd6, 0xb1, 0xde, 0xf1, 0x45, 0x65, - 0x9c, 0xab, 0xf4, 0xa4, 0x61, 0xed, 0x35, 0x60, 0x33, 0x23, 0x47, 0xdc, - 0x99, 0x85, 0x70, 0xd6, 0xf6, 0x00, 0x60, 0x5b, 0x30, 0x02, 0x41, 0xcd, - 0x39, 0x24, 0x9f, 0x40, 0xe0, 0x49, 0xa2, 0x5f, 0x4f, 0xe4, 0x7d, 0x63, - 0x64, 0x46, 0xf3, 0xbe, 0x57, 0xaf, 0xc8, 0x1a, 0x58, 0xb7, 0xeb, 0x55, - 0xfd, 0x0d, 0x09, 0xb3, 0x5d, 0x02, 0xe5, 0xc6, 0x17, 0x97, 0x0d, 0xfb, - 0x53, 0x59, 0xda, 0x37, 0x30, 0x3a, 0x0b, 0x29, 0x25, 0xbf, 0xe8, 0xd0, - 0xf6, 0xe3, 0x3a, 0x38, 0xde, 0xf8, 0xa2, 0xbc, 0x8f, 0xd6, 0x3f, 0x24, - 0x97, 0x97, 0x6e, 0xe4, 0x10, 0x46, 0x95, 0xf6, 0xf1, 0x42, 0xd6, 0xb2, - 0x52, 0xaa, 0xfc, 0x1b, 0x1f, 0x8d, 0xd7, 0xd2, 0xda, 0x6f, 0x73, 0x30, - 0xb5, 0x8d, 0x93, 0xc6, 0x60, 0x61, 0x6e, 0xd9, 0xd9, 0x61, 0x45, 0xbf, - 0x7f, 0xe0, 0x55, 0x13, 0xd6, 0xf0, 0xfb, 0x8d, 0x8e, 0x4c, 0xe5, 0xe5, - 0xb7, 0x16, 0x58, 0x87, 0x1d, 0x03, 0x29, 0xb1, 0x77, 0xf2, 0x5c, 0xaf, - 0x36, 0x6b, 0xf8, 0x4c, 0xa2, 0x7b, 0x46, 0x0f, 0x8c, 0x5b, 0x29, 0x7a, - 0x95, 0x04, 0x35, 0x7c, 0x36, 0x90, 0x2f, 0x23, 0xca, 0xda, 0xc5, 0x4b, - 0x7c, 0x95, 0x17, 0xfd, 0x71, 0x59, 0x83, 0x1d, 0x84, 0x81, 0xa9, 0xe1, - 0xc1, 0x45, 0xfe, 0x02, 0x8a, 0xc6, 0xdc, 0x2f, 0x86, 0x95, 0x00, 0xe6, - 0x1b, 0x90, 0x1a, 0xd6, 0x50, 0x8f, 0xc2, 0x05, 0x72, 0xab, 0x1b, 0x8e, - 0x67, 0x82, 0x44, 0xb1, 0xa2, 0xf0, 0x48, 0x0d, 0x9f, 0x49, 0xf4, 0x5e, - 0x01, 0xe4, 0x38, 0x64, 0xa3, 0x07, 0x66, 0x55, 0xcf, 0xfe, 0xd4, 0x98, - 0xb5, 0x86, 0x5e, 0xb0, 0x3a, 0x15, 0x01, 0x18, 0x5f, 0x94, 0xe3, 0x7a, - 0xe1, 0x89, 0x9c, 0xe5, 0x1c, 0x7c, 0x18, 0xe5, 0x4d, 0x12, 0xb5, 0xdf, - 0xc0, 0xad, 0x61, 0xa5, 0xf8, 0x7f, 0x43, 0x6b, 0x14, 0xa9, 0x8c, 0xd9, - 0x21, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, - 0x60, 0x82 + 0x4d, 0x49, 0x44, 0x41, 0x54, 0x78, 0x9c, 0xed, 0x5d, 0x5f, 0x68, 0x1c, + 0xc7, 0x1d, 0xfe, 0x1d, 0x38, 0x20, 0x17, 0x51, 0xce, 0xa5, 0x0f, 0x96, + 0x09, 0x45, 0x0a, 0x4d, 0x40, 0x2e, 0x84, 0xac, 0xaa, 0x3c, 0x9c, 0xda, + 0x04, 0xaf, 0xc8, 0x4b, 0xcf, 0x72, 0x70, 0x4e, 0xc9, 0x83, 0xa5, 0x36, + 0x0f, 0x77, 0x96, 0x8b, 0xa5, 0xf6, 0x25, 0x72, 0xf2, 0x22, 0xdb, 0x41, + 0xb9, 0xf8, 0x41, 0x91, 0x2f, 0xe0, 0x56, 0x97, 0xa2, 0x54, 0x67, 0x30, + 0x95, 0x12, 0x10, 0x92, 0x1f, 0xe4, 0xb3, 0x0a, 0xa6, 0x3a, 0x17, 0x85, + 0x53, 0xc0, 0xae, 0x4e, 0x45, 0x45, 0x32, 0x38, 0x20, 0x15, 0xb5, 0x48, + 0x41, 0x14, 0x59, 0x08, 0x21, 0x1d, 0xc2, 0xf0, 0xf5, 0x61, 0x6f, 0xf6, + 0xf6, 0xdf, 0xec, 0xce, 0xec, 0x9d, 0x1c, 0x39, 0xbe, 0x79, 0xf9, 0x6c, + 0xed, 0xfc, 0xf9, 0xcd, 0xec, 0x6f, 0xbe, 0xfd, 0xe6, 0xb7, 0x33, 0x7b, + 0x04, 0x22, 0x1a, 0x22, 0xa2, 0xb2, 0x21, 0x00, 0xac, 0x00, 0x00, 0x90, + 0x2d, 0x20, 0xf6, 0x80, 0xb2, 0xb7, 0x53, 0xc1, 0x67, 0x16, 0x4b, 0x76, + 0xd0, 0xf4, 0xc3, 0x55, 0x00, 0x80, 0x32, 0x38, 0x05, 0xba, 0x02, 0x50, + 0xef, 0x18, 0x17, 0xd5, 0x11, 0xa0, 0xfb, 0xce, 0x02, 0x00, 0xe0, 0xbb, + 0xee, 0x78, 0x05, 0x9f, 0x5e, 0xf4, 0x55, 0x70, 0x61, 0x5d, 0x23, 0xd0, + 0x60, 0x22, 0x0d, 0x02, 0x40, 0x57, 0xc6, 0xa4, 0x31, 0x08, 0x20, 0x3a, + 0x81, 0x8a, 0x03, 0x57, 0x50, 0x1a, 0xe5, 0x0a, 0x00, 0x50, 0x6f, 0x78, + 0x33, 0xaa, 0x2c, 0xaa, 0x23, 0xc0, 0xea, 0xd6, 0x4e, 0x45, 0x42, 0x54, + 0x50, 0x08, 0x85, 0x32, 0x62, 0x4f, 0x63, 0x44, 0x3f, 0x8c, 0x2a, 0x83, + 0xf1, 0xe9, 0x85, 0x8a, 0xe3, 0x56, 0xd0, 0x13, 0x3d, 0x33, 0x2c, 0xac, + 0xef, 0x40, 0x49, 0x95, 0x97, 0x59, 0xdd, 0x50, 0x19, 0x9c, 0xaa, 0x48, + 0x86, 0x0a, 0xba, 0xa2, 0x6b, 0x06, 0xac, 0x03, 0xc1, 0x27, 0xc0, 0xb0, + 0x56, 0x0c, 0x26, 0xd2, 0x15, 0xc7, 0xad, 0x20, 0x17, 0xb9, 0x17, 0x16, + 0xd6, 0x77, 0x10, 0x4c, 0xf8, 0x60, 0xcc, 0x64, 0x1a, 0x94, 0x02, 0x68, + 0x70, 0x0a, 0x94, 0x02, 0xc2, 0x37, 0x67, 0x01, 0x00, 0x63, 0x8b, 0x5a, + 0x94, 0x41, 0xb4, 0x9e, 0x60, 0xdf, 0x58, 0xe9, 0x8e, 0x0b, 0x60, 0x60, + 0x70, 0x08, 0xd1, 0xf3, 0x9d, 0x88, 0x76, 0x74, 0x16, 0x30, 0x8a, 0xe8, + 0xf9, 0x4e, 0xf4, 0x27, 0xfa, 0x01, 0x00, 0xab, 0xab, 0xab, 0x4f, 0x8f, + 0x24, 0x01, 0x90, 0x9e, 0x28, 0xef, 0x84, 0xde, 0xd9, 0xda, 0x41, 0x7f, + 0x02, 0x88, 0x76, 0x74, 0x22, 0x74, 0x42, 0x45, 0xb4, 0x23, 0xea, 0xbf, + 0xfe, 0x7d, 0xb0, 0xcf, 0x09, 0xcb, 0xc3, 0xb0, 0x7d, 0x9a, 0xa1, 0xd8, + 0x82, 0x6b, 0xca, 0x2e, 0xe1, 0x89, 0x30, 0x2e, 0x76, 0xb4, 0xf6, 0xea, + 0x1b, 0x15, 0xa0, 0x51, 0x43, 0xa5, 0x31, 0xc4, 0xfd, 0x7f, 0x4f, 0x6f, + 0xfc, 0xa9, 0x60, 0xf6, 0x9e, 0xde, 0xb8, 0x6e, 0x7f, 0xd9, 0xec, 0xdd, + 0xb0, 0x8f, 0x47, 0xf7, 0xfb, 0xdd, 0xbe, 0x26, 0xf2, 0xbe, 0xd8, 0xe7, + 0x80, 0xf6, 0x99, 0xb7, 0x07, 0x69, 0x86, 0x15, 0x49, 0xd1, 0xc9, 0x59, + 0x5f, 0x1a, 0xd7, 0x0f, 0xe3, 0x46, 0xcf, 0x77, 0x9a, 0x6e, 0x44, 0xb8, + 0x25, 0x82, 0x81, 0xc1, 0x21, 0x00, 0xc0, 0xf0, 0xc8, 0x18, 0x90, 0x00, + 0xd4, 0x96, 0xb0, 0x7e, 0x5d, 0x69, 0x0c, 0x61, 0x36, 0x37, 0x7b, 0xf0, + 0x19, 0x97, 0xd9, 0x5f, 0x2e, 0x87, 0x80, 0xd9, 0x61, 0x95, 0xc6, 0x10, + 0xa2, 0x1d, 0x9d, 0x25, 0x31, 0x6d, 0x59, 0xed, 0xe3, 0xa0, 0xed, 0x0f, + 0xaa, 0x0c, 0xc3, 0x16, 0xd0, 0x2b, 0x85, 0x46, 0xb3, 0x25, 0x69, 0x5c, + 0xf5, 0x46, 0x56, 0xdc, 0xa1, 0x2c, 0x0c, 0x8b, 0x3d, 0xfe, 0x00, 0xe2, + 0xa1, 0x66, 0x5f, 0x7a, 0x32, 0xed, 0x5a, 0x3f, 0xcb, 0x57, 0xaa, 0x83, + 0x94, 0x74, 0xdd, 0xcd, 0xbe, 0x55, 0x1f, 0xf6, 0x01, 0x08, 0x9d, 0x50, + 0x6d, 0x4f, 0x20, 0xb7, 0x7a, 0xf0, 0x10, 0xbe, 0x26, 0xb6, 0xac, 0x7d, + 0x5e, 0xf9, 0x03, 0x43, 0x44, 0x14, 0x23, 0xa2, 0x14, 0x11, 0xc5, 0x00, + 0x04, 0x3e, 0x1a, 0x27, 0x3a, 0xd4, 0x4a, 0xf4, 0x58, 0x0c, 0xa3, 0x4a, + 0x8e, 0x52, 0xbf, 0x6a, 0x20, 0x5e, 0x8a, 0xfd, 0x35, 0x47, 0xd7, 0xe7, + 0x1a, 0x84, 0xeb, 0xe3, 0xe1, 0xf0, 0xa9, 0x35, 0x6a, 0x7f, 0xf9, 0x58, + 0x20, 0x65, 0xb4, 0xd7, 0x01, 0x73, 0xb9, 0x59, 0x9c, 0x3d, 0xf7, 0x3b, + 0xca, 0x53, 0x9e, 0xaa, 0xa8, 0x8a, 0x42, 0x6a, 0x13, 0x25, 0xfb, 0x13, + 0x9e, 0xe5, 0x4c, 0x08, 0xa0, 0xb5, 0xad, 0x9d, 0x96, 0xbf, 0x59, 0xd6, + 0xeb, 0x31, 0x62, 0x58, 0x0d, 0x53, 0x57, 0x47, 0x8c, 0xea, 0x5e, 0x7a, + 0x21, 0xd0, 0x74, 0x42, 0x45, 0x7e, 0x3b, 0x4f, 0x55, 0xd5, 0x55, 0x34, + 0x73, 0x37, 0x43, 0xa9, 0x40, 0x20, 0x60, 0xac, 0x2f, 0x33, 0x9d, 0xc5, + 0xc5, 0xcb, 0x17, 0x69, 0x73, 0x7b, 0x93, 0x94, 0xfa, 0x7a, 0x6a, 0xfe, + 0xcb, 0x17, 0x01, 0x66, 0x67, 0xc3, 0x97, 0x0d, 0xd4, 0x74, 0xbf, 0x99, + 0xf2, 0xdb, 0x79, 0x53, 0xfd, 0x4a, 0x7d, 0x3d, 0x29, 0xaf, 0x28, 0x74, + 0xe1, 0xbd, 0x0b, 0xe6, 0xfa, 0x12, 0xc0, 0xf1, 0x2f, 0x1b, 0xa8, 0x8a, + 0xaa, 0xe8, 0xea, 0xa7, 0x57, 0xa9, 0xf9, 0xf5, 0x5f, 0x04, 0x92, 0x83, + 0x43, 0x48, 0xfd, 0x39, 0xa5, 0x97, 0x0f, 0x1e, 0x3d, 0x42, 0x9b, 0xdf, + 0x3e, 0xa2, 0x3c, 0xe5, 0x69, 0xf1, 0x7e, 0xce, 0x66, 0x0f, 0x43, 0x66, + 0xb7, 0x53, 0xff, 0xf4, 0x72, 0x00, 0x9a, 0x4f, 0x9d, 0xd4, 0xeb, 0x33, + 0xe6, 0xab, 0xaa, 0xae, 0xa2, 0x19, 0x35, 0x43, 0x6b, 0x1d, 0x6b, 0x54, + 0x73, 0xac, 0x70, 0x5f, 0x04, 0xec, 0xab, 0xaa, 0xae, 0xd2, 0xfb, 0x6b, + 0x6c, 0x27, 0xf9, 0x79, 0x8a, 0x26, 0x6f, 0x4d, 0xd2, 0xf2, 0xb7, 0xcb, + 0xa6, 0x76, 0x82, 0x47, 0x8f, 0x50, 0xe6, 0xad, 0xdb, 0xb4, 0xfb, 0xce, + 0x2e, 0x1d, 0xfe, 0xe1, 0x0f, 0x02, 0x29, 0xb2, 0xcc, 0x3c, 0x3f, 0x6f, + 0xb8, 0xdc, 0x92, 0xac, 0x86, 0xf5, 0x7a, 0x83, 0x26, 0xb4, 0x87, 0x01, + 0x76, 0x8d, 0x16, 0x6e, 0x89, 0x68, 0xf6, 0x4c, 0x67, 0x85, 0x66, 0x3c, + 0x2b, 0x1f, 0x3a, 0xa1, 0x6a, 0x1d, 0x29, 0x30, 0x6d, 0xf7, 0xfb, 0xdd, + 0x3a, 0x23, 0x85, 0xde, 0x50, 0x81, 0x1d, 0x00, 0x6f, 0x14, 0xdb, 0x0b, + 0xb7, 0x84, 0xed, 0xf6, 0x9d, 0xb6, 0x5f, 0xef, 0x4f, 0x0c, 0xd8, 0xed, + 0xdb, 0x00, 0xa2, 0xe7, 0x3b, 0x4d, 0xf5, 0x59, 0x99, 0xcf, 0x91, 0x11, + 0x1d, 0x34, 0x29, 0xfb, 0x7f, 0x4f, 0x6f, 0x9c, 0x3f, 0x5e, 0xe0, 0x68, + 0xfe, 0x3d, 0x68, 0xfd, 0x32, 0xb4, 0xc7, 0xc6, 0x6f, 0x36, 0x37, 0xab, + 0x8f, 0x83, 0x9e, 0xff, 0x74, 0x89, 0xf6, 0x59, 0x19, 0xff, 0x74, 0x71, + 0x8d, 0x11, 0x39, 0xd3, 0x66, 0x1e, 0xef, 0x02, 0xd3, 0xeb, 0x4c, 0x1b, + 0x9b, 0x98, 0xc5, 0xf5, 0x7f, 0xf9, 0x60, 0xc4, 0x1f, 0x67, 0x08, 0xe7, + 0x9a, 0x1d, 0x59, 0xb6, 0x8b, 0x88, 0x3e, 0x93, 0x64, 0x6e, 0x37, 0x8c, + 0x5f, 0x6e, 0xa5, 0x1a, 0x0e, 0x73, 0x58, 0x99, 0xf2, 0xf8, 0xab, 0x0d, + 0x36, 0x06, 0xb1, 0x32, 0x45, 0x7d, 0x7d, 0x3d, 0x35, 0xff, 0xb2, 0x99, + 0xda, 0xdb, 0x5a, 0xcd, 0x8c, 0x04, 0x20, 0x37, 0x97, 0xa3, 0x86, 0x86, + 0x9f, 0xdb, 0x18, 0xfa, 0x78, 0xa3, 0x02, 0x23, 0x23, 0x25, 0x3f, 0x4f, + 0x91, 0x91, 0x49, 0x6e, 0x4f, 0x8c, 0x17, 0x99, 0xc7, 0x62, 0xc7, 0xe2, + 0xfd, 0x1c, 0xdd, 0xbe, 0x75, 0x9b, 0x2e, 0x7d, 0x74, 0x85, 0xf2, 0x94, + 0xa7, 0x60, 0x75, 0x90, 0xba, 0x3a, 0xba, 0xa8, 0xbd, 0xfd, 0xed, 0x80, + 0x9b, 0xfd, 0x8c, 0x91, 0x92, 0x8d, 0x21, 0xb0, 0x76, 0x62, 0x1d, 0x31, + 0xea, 0xfa, 0xed, 0xd9, 0x40, 0xac, 0xa3, 0x13, 0x73, 0x73, 0x73, 0x36, + 0xa6, 0x6e, 0x7b, 0xa7, 0x8d, 0x4e, 0xbe, 0xd9, 0x12, 0x18, 0x19, 0x19, + 0x43, 0xfb, 0x3f, 0x5b, 0x29, 0xb6, 0x19, 0x23, 0x3a, 0x54, 0x45, 0x0d, + 0xaf, 0x34, 0x50, 0xd7, 0xb9, 0x98, 0xce, 0x70, 0xc6, 0x76, 0x22, 0xa7, + 0x22, 0x54, 0xf7, 0xe1, 0x25, 0xef, 0x71, 0x28, 0x97, 0x7d, 0xa7, 0x4e, + 0x52, 0xec, 0x5c, 0x17, 0xb1, 0xeb, 0x61, 0x35, 0x4c, 0xf5, 0xfd, 0x57, + 0x4c, 0xf7, 0xf7, 0x62, 0x6f, 0x1c, 0x93, 0xb7, 0x26, 0x29, 0x4f, 0x79, + 0x0a, 0xbd, 0x1a, 0xa2, 0xa6, 0x3f, 0x7d, 0x16, 0xd0, 0x34, 0xc4, 0x5e, + 0x69, 0xf1, 0x58, 0xb6, 0x17, 0xc1, 0x96, 0xd6, 0xcb, 0xc7, 0xb4, 0xd2, + 0xd1, 0x04, 0x00, 0xfd, 0x89, 0x01, 0x60, 0x45, 0x30, 0x8a, 0xe0, 0x52, + 0x2f, 0x63, 0x98, 0x70, 0x4b, 0xc4, 0x54, 0x1e, 0x39, 0xe8, 0x4c, 0xe1, + 0xa4, 0x09, 0x7b, 0x7a, 0xe3, 0x76, 0x46, 0x3a, 0x5d, 0xb4, 0x67, 0x78, + 0x74, 0xcc, 0x93, 0x09, 0x95, 0xc6, 0x90, 0xbe, 0x9a, 0x77, 0xb4, 0x77, + 0xc3, 0xa2, 0xe1, 0x2d, 0xfd, 0x70, 0xea, 0x2f, 0x6b, 0x17, 0x39, 0xd8, + 0xfb, 0xe3, 0x32, 0xae, 0xac, 0xbf, 0xe1, 0x96, 0xb0, 0xa9, 0x3e, 0xb6, + 0x88, 0x95, 0xb5, 0x0f, 0x0f, 0xcd, 0xed, 0x47, 0xce, 0xb4, 0x99, 0x18, + 0x1d, 0xd3, 0xb0, 0xdd, 0x3f, 0x00, 0xd0, 0x98, 0x16, 0xf2, 0x5a, 0xd6, + 0x88, 0xa1, 0xcb, 0xad, 0x34, 0xe3, 0xc8, 0xb5, 0x44, 0x57, 0xbf, 0x5e, + 0xa6, 0xf7, 0xef, 0xd6, 0x95, 0x85, 0x69, 0x35, 0x6d, 0xbb, 0x4c, 0xed, + 0x2f, 0xbf, 0x20, 0xa7, 0x51, 0x89, 0x68, 0x6d, 0x75, 0x15, 0x35, 0x35, + 0x35, 0x94, 0xf9, 0x6a, 0x86, 0x9a, 0xbf, 0x69, 0xa2, 0xd6, 0xbf, 0xd9, + 0x35, 0xab, 0x51, 0x63, 0x75, 0x7d, 0x70, 0x81, 0xe6, 0xee, 0xe7, 0x68, + 0x73, 0x7b, 0x93, 0xcb, 0xd8, 0x2c, 0xff, 0xa3, 0x04, 0x70, 0xbd, 0xa0, + 0xe5, 0x98, 0xb6, 0x5d, 0xfe, 0x66, 0x99, 0xda, 0xcf, 0xc5, 0xf4, 0xf2, + 0xf1, 0xcb, 0x3d, 0x74, 0xf2, 0xcd, 0x96, 0x80, 0x95, 0xa9, 0x79, 0x9a, + 0x33, 0x33, 0x9d, 0xc5, 0x85, 0xf7, 0x2e, 0xe8, 0x8c, 0x1c, 0xfb, 0xfb, + 0x5d, 0x0e, 0x93, 0x45, 0x31, 0x37, 0xf7, 0x40, 0xb7, 0xab, 0xeb, 0x1f, + 0x5f, 0xdb, 0x98, 0x6a, 0xed, 0xdb, 0x35, 0xa2, 0xc7, 0x44, 0x74, 0x88, + 0xa8, 0xaa, 0xfa, 0x30, 0x25, 0x3f, 0xb9, 0xea, 0xc8, 0xb4, 0x36, 0x7b, + 0x24, 0xc7, 0x41, 0xda, 0x3e, 0x81, 0x27, 0xa2, 0x11, 0x83, 0xd5, 0x41, + 0x9a, 0x9a, 0xb8, 0xad, 0x79, 0xbc, 0x32, 0x58, 0x3a, 0x23, 0xba, 0xa5, + 0xfe, 0x99, 0xf2, 0x31, 0xae, 0x30, 0xd3, 0x0a, 0x60, 0x7a, 0x32, 0x6d, + 0x62, 0x8c, 0xa1, 0x42, 0x58, 0xcc, 0xa6, 0x69, 0x0b, 0xab, 0xd9, 0xe1, + 0xd1, 0x31, 0x47, 0x86, 0xc1, 0x2a, 0xf8, 0x0c, 0xce, 0x34, 0x21, 0x6b, + 0xd7, 0xa1, 0xbc, 0x97, 0xe6, 0x64, 0xe5, 0x85, 0x34, 0xa3, 0x44, 0xff, + 0x67, 0x73, 0xb3, 0x8e, 0xfd, 0xb1, 0x32, 0x24, 0xd3, 0xb4, 0xc6, 0x71, + 0x70, 0x62, 0x68, 0x59, 0xfb, 0xac, 0xed, 0x8b, 0xc6, 0xcb, 0x03, 0xab, + 0x5b, 0x3b, 0x38, 0xf6, 0xc7, 0xc3, 0x25, 0x33, 0xe0, 0xd8, 0x5b, 0x6b, + 0xd4, 0x5a, 0x5f, 0xc3, 0xe1, 0x5b, 0xa2, 0xf1, 0x07, 0x6b, 0xf4, 0xf6, + 0xad, 0x1a, 0xa2, 0x7c, 0xe9, 0x8c, 0x8b, 0xcb, 0xad, 0x5c, 0x86, 0x32, + 0x69, 0x31, 0xa5, 0xc1, 0x33, 0x9f, 0x71, 0xa6, 0x47, 0xcf, 0xe4, 0xc8, + 0xca, 0x98, 0xd6, 0xf2, 0xcd, 0x2d, 0x61, 0x38, 0xad, 0xce, 0x8d, 0xda, + 0xcb, 0xc6, 0x44, 0xe7, 0x73, 0x94, 0x8a, 0x69, 0xf9, 0x8c, 0x1a, 0xcf, + 0x49, 0xc3, 0x31, 0x6c, 0x3d, 0xd3, 0x06, 0xf6, 0x24, 0x58, 0x3c, 0x95, + 0xa3, 0xd4, 0x87, 0x62, 0x9a, 0xd1, 0xca, 0xb4, 0x32, 0xda, 0xdf, 0xf8, + 0xa4, 0x61, 0x7f, 0x77, 0x1c, 0x07, 0x4e, 0x39, 0x69, 0xfb, 0xbc, 0x98, + 0x9e, 0x2c, 0x4f, 0xca, 0xc2, 0x5a, 0x81, 0x50, 0x0e, 0x06, 0x4c, 0x4e, + 0xb9, 0x32, 0xad, 0x9e, 0x0a, 0x6f, 0xcc, 0x4a, 0x6d, 0x6f, 0x78, 0x1e, + 0xc2, 0xab, 0x62, 0xec, 0x15, 0x18, 0x12, 0x00, 0x7b, 0x53, 0xc6, 0xa2, + 0x08, 0x26, 0x06, 0x38, 0x0d, 0x60, 0xda, 0x45, 0xe3, 0xc1, 0xb2, 0x6a, + 0x76, 0xb8, 0xee, 0xa4, 0x99, 0xf5, 0x28, 0x83, 0x8b, 0x7d, 0xa6, 0xf8, + 0x27, 0x1c, 0x56, 0xcd, 0xab, 0x45, 0x26, 0xf3, 0xd4, 0x8c, 0x12, 0x4c, + 0xcb, 0xd3, 0xb4, 0xc6, 0x27, 0x50, 0xe8, 0x0d, 0xd5, 0xcc, 0xc0, 0x16, + 0xfb, 0xa4, 0x35, 0xad, 0xcb, 0xfd, 0x62, 0x4f, 0x36, 0xdd, 0xbe, 0xc2, + 0xfd, 0x62, 0x6b, 0x06, 0x3d, 0x7a, 0x10, 0xf5, 0x1b, 0x35, 0x60, 0x18, + 0xbc, 0x4d, 0xe8, 0x3c, 0xc9, 0x65, 0x58, 0x5e, 0x0a, 0x7c, 0x9e, 0x21, + 0xfa, 0x5f, 0xb3, 0xaf, 0x76, 0xbb, 0x2f, 0xb7, 0x52, 0x3d, 0x67, 0x46, + 0xee, 0x6e, 0xed, 0xe0, 0x6c, 0xd7, 0x59, 0x9a, 0x7b, 0xf0, 0x40, 0x58, + 0x2b, 0x29, 0xf5, 0xf5, 0xf4, 0xf1, 0xa5, 0x8f, 0xa9, 0xee, 0xc5, 0x3a, + 0xb2, 0xc6, 0x67, 0x83, 0x47, 0x8f, 0x50, 0x7e, 0x7b, 0xd7, 0x51, 0xd3, + 0xd9, 0x98, 0xa1, 0x17, 0x38, 0x7e, 0xcb, 0xac, 0xd1, 0x18, 0xe3, 0x58, + 0x19, 0x8e, 0x17, 0xff, 0x34, 0x62, 0xdd, 0xd1, 0x3a, 0x1a, 0xf8, 0xf4, + 0x2a, 0xd5, 0xbd, 0xa4, 0x69, 0xf8, 0xd4, 0x09, 0x15, 0xcc, 0x0e, 0x27, + 0xcd, 0x58, 0x77, 0xb4, 0x8e, 0x22, 0xe9, 0x9b, 0x65, 0x61, 0xda, 0x26, + 0xd5, 0x1c, 0x3f, 0x16, 0x19, 0x87, 0x9b, 0x2d, 0x11, 0xb0, 0x38, 0xab, + 0x93, 0x7d, 0x4c, 0x9b, 0x5b, 0xed, 0x30, 0xae, 0x09, 0x78, 0xe3, 0x51, + 0xf7, 0x62, 0x1d, 0x8d, 0x7f, 0x31, 0x42, 0xa9, 0x40, 0x20, 0x50, 0x12, + 0xd3, 0x46, 0x0a, 0x9b, 0x61, 0xfc, 0xa6, 0x9e, 0xcc, 0x82, 0xcf, 0x37, + 0x64, 0xf0, 0x66, 0x14, 0x40, 0xdb, 0x14, 0xc3, 0x89, 0x13, 0x62, 0x85, + 0xb3, 0xe7, 0x00, 0x05, 0x66, 0x66, 0x71, 0xd3, 0x8d, 0x42, 0x7c, 0x16, + 0xc5, 0x55, 0x2d, 0xd3, 0xbe, 0x26, 0x06, 0x35, 0x30, 0x03, 0x2b, 0xd7, + 0x9f, 0xe8, 0x77, 0xb5, 0x33, 0x3d, 0x99, 0x36, 0xe5, 0x2f, 0x96, 0x1b, + 0xb0, 0xdb, 0xc5, 0xf2, 0x1b, 0xec, 0x61, 0xf6, 0xb2, 0x72, 0xd9, 0x69, + 0x89, 0x37, 0x87, 0x86, 0xfe, 0xb2, 0xfe, 0x38, 0xfe, 0xdd, 0x60, 0x17, + 0x1b, 0x2f, 0x16, 0x45, 0xb0, 0x96, 0xf3, 0xb2, 0xcf, 0xf5, 0xcd, 0xa3, + 0x43, 0x7b, 0xd1, 0xf3, 0xda, 0x2b, 0x65, 0x4c, 0x9b, 0xc7, 0x99, 0x7c, + 0xed, 0x7b, 0xbd, 0x56, 0xdc, 0xb5, 0x55, 0x6a, 0xca, 0x2e, 0x6d, 0x80, + 0x92, 0x72, 0xed, 0x07, 0x13, 0x07, 0x7f, 0x73, 0x4b, 0x05, 0xf7, 0x0f, + 0xc9, 0x57, 0x94, 0xc0, 0x63, 0x37, 0x97, 0x74, 0xf2, 0xa1, 0x75, 0x5d, + 0xb5, 0x5a, 0xe1, 0xa4, 0x45, 0xf7, 0x1d, 0x40, 0x45, 0xf1, 0x30, 0x65, + 0xe5, 0x54, 0xf0, 0xf7, 0x03, 0xc5, 0x99, 0xb6, 0x4f, 0x6c, 0x37, 0x57, + 0xa9, 0x49, 0xd4, 0x1e, 0xb7, 0x8e, 0xd5, 0x72, 0x98, 0x5b, 0x49, 0x95, + 0xce, 0xd0, 0x3b, 0x85, 0x09, 0x91, 0x5d, 0xd9, 0x00, 0xc0, 0xa9, 0xcf, + 0x70, 0x3d, 0xbb, 0xb2, 0x51, 0xd6, 0x89, 0xb2, 0xc3, 0x99, 0x78, 0xac, + 0xbd, 0xf8, 0xf4, 0x02, 0xe2, 0x28, 0x9c, 0x92, 0x2e, 0x43, 0x7b, 0x03, + 0xf7, 0x96, 0x10, 0x45, 0x61, 0xd3, 0x12, 0x80, 0x85, 0x75, 0x73, 0x7f, + 0xd2, 0x0f, 0x57, 0xa1, 0x8e, 0x68, 0xd7, 0x35, 0x9c, 0x42, 0x1c, 0xfe, + 0xcf, 0xfc, 0x2d, 0xac, 0x6f, 0x20, 0x0e, 0x73, 0x7d, 0x11, 0x4b, 0x7d, + 0x62, 0x4c, 0x9b, 0x7c, 0x22, 0xfe, 0xaa, 0xa7, 0x52, 0x99, 0xd6, 0x6f, + 0x39, 0x21, 0xb4, 0xd6, 0x07, 0xbb, 0x16, 0xdc, 0x97, 0xf8, 0x32, 0x8a, + 0x7b, 0x43, 0x94, 0x41, 0x98, 0xb5, 0xf4, 0x16, 0x1c, 0xfb, 0x9b, 0x5d, + 0x41, 0x49, 0xfd, 0x1d, 0xb8, 0x67, 0xaf, 0x37, 0x28, 0xd8, 0x5f, 0x42, + 0xe1, 0x09, 0x27, 0xd1, 0xbf, 0x88, 0xcb, 0x6e, 0x40, 0xe3, 0xf8, 0x79, + 0x33, 0xed, 0x13, 0x62, 0x58, 0x6b, 0x2a, 0x85, 0x69, 0xfd, 0x96, 0x13, + 0x7a, 0x34, 0x59, 0xea, 0xb3, 0x1e, 0xc6, 0x8c, 0x8c, 0x66, 0xb9, 0x76, + 0xab, 0x23, 0x00, 0x8f, 0x29, 0x45, 0x18, 0x8f, 0xdb, 0x0f, 0xce, 0x78, + 0xc5, 0x51, 0x5a, 0x7f, 0xe3, 0x9c, 0x7a, 0x8d, 0x0e, 0xb4, 0xb3, 0x07, + 0xa8, 0x23, 0xfc, 0xf1, 0x16, 0x3a, 0xf3, 0x07, 0xa0, 0xf6, 0x5a, 0x9a, + 0x3b, 0x6e, 0xd6, 0xf2, 0x9e, 0x4c, 0xbb, 0x1f, 0x89, 0xed, 0x55, 0x48, + 0x2f, 0xba, 0xe7, 0x3b, 0x88, 0x4c, 0xeb, 0xc5, 0xa0, 0x5e, 0xfb, 0x91, + 0x15, 0xd6, 0x7f, 0xd9, 0xf6, 0x5d, 0xfa, 0x91, 0x5d, 0x71, 0x66, 0xda, + 0xf8, 0xb4, 0x8f, 0x76, 0x0c, 0x18, 0x9f, 0x96, 0x60, 0x70, 0xf0, 0x77, + 0x09, 0xba, 0xee, 0x19, 0x71, 0x29, 0x57, 0x9b, 0x74, 0x2e, 0x47, 0x6e, + 0x1e, 0x1e, 0xf2, 0xe7, 0x93, 0x42, 0xc9, 0x78, 0xa6, 0xac, 0x1f, 0xc0, + 0x86, 0xc3, 0xe2, 0x2e, 0x02, 0x67, 0xbb, 0xbc, 0xb4, 0xe9, 0x77, 0xc9, + 0xb4, 0x22, 0xdf, 0x85, 0x08, 0x26, 0xe4, 0xb5, 0x6e, 0x7c, 0x7a, 0x41, + 0x9a, 0x69, 0xb9, 0x8e, 0x22, 0x33, 0x51, 0x64, 0xea, 0x85, 0xfb, 0x97, + 0x86, 0x6a, 0x93, 0x45, 0xcd, 0xdd, 0x7d, 0x67, 0x01, 0xbc, 0xb5, 0x07, + 0x5d, 0x71, 0xff, 0x12, 0x91, 0xab, 0x26, 0xe1, 0x45, 0x09, 0x22, 0x37, + 0x0b, 0x33, 0xb0, 0xaf, 0x90, 0xff, 0x86, 0x0f, 0xa7, 0x75, 0x6a, 0xb7, + 0x20, 0xf6, 0xf5, 0xc4, 0xd1, 0x6a, 0x91, 0x51, 0x1c, 0x58, 0xa6, 0x75, + 0x1b, 0x4f, 0xa9, 0x37, 0x7b, 0x4e, 0x0e, 0xc4, 0xe9, 0x07, 0xb8, 0x4c, + 0x5b, 0xda, 0x77, 0x24, 0xe2, 0xd3, 0xce, 0x71, 0x74, 0x78, 0x68, 0x65, + 0x1e, 0x43, 0x8b, 0x60, 0x50, 0xa0, 0x7e, 0xdb, 0x0c, 0x66, 0x18, 0xb6, + 0xbc, 0x38, 0xe8, 0xce, 0x2c, 0x80, 0xae, 0xf1, 0x67, 0x9e, 0xb4, 0xd3, + 0xf2, 0x66, 0xa4, 0x45, 0x43, 0x47, 0x6e, 0xda, 0xcf, 0x96, 0xd9, 0x1c, + 0xc5, 0xea, 0x58, 0xdf, 0x29, 0xd3, 0xf2, 0x35, 0xad, 0x13, 0x46, 0x27, + 0xc4, 0xce, 0xa6, 0xf9, 0x61, 0xda, 0x27, 0xa1, 0x69, 0x79, 0x98, 0x5d, + 0xd9, 0x90, 0x3e, 0x6b, 0xa8, 0xa4, 0xc4, 0x34, 0xbf, 0xeb, 0x6a, 0x57, + 0x77, 0xb0, 0xe4, 0x94, 0xeb, 0x0c, 0xf1, 0xd2, 0xa6, 0x8e, 0x4e, 0xeb, + 0x52, 0x9f, 0xad, 0x7d, 0xc9, 0x55, 0xf1, 0x41, 0xd2, 0xb4, 0x0a, 0x80, + 0xb4, 0xf1, 0x8c, 0x19, 0x34, 0x47, 0x37, 0xee, 0x5f, 0x8e, 0x8c, 0x0a, + 0x9c, 0xa8, 0x70, 0xe9, 0xc7, 0x81, 0xd0, 0xb4, 0x0e, 0x28, 0x73, 0xaa, + 0xbb, 0x16, 0x10, 0x8e, 0xa3, 0x73, 0x99, 0xa9, 0xe8, 0xb0, 0x7c, 0xcd, + 0xbb, 0x2f, 0x4c, 0x6b, 0xd1, 0xd4, 0xd6, 0x7c, 0xc1, 0x3e, 0x6f, 0xc7, + 0x3b, 0x48, 0x9a, 0x96, 0xc7, 0x1c, 0x3b, 0x7b, 0x66, 0xcd, 0xee, 0xb5, + 0xca, 0xee, 0xbe, 0xf3, 0x14, 0x68, 0x5a, 0xc1, 0xf2, 0x4e, 0x58, 0x7b, + 0x4d, 0x7c, 0x83, 0x3f, 0x81, 0x88, 0x22, 0xa3, 0xf6, 0x19, 0x05, 0x00, + 0x24, 0x78, 0x66, 0xcc, 0x97, 0xd3, 0x0a, 0xd4, 0xeb, 0x37, 0xde, 0x79, + 0x50, 0x34, 0xad, 0xd0, 0x29, 0x62, 0x87, 0xfa, 0xb0, 0x65, 0x70, 0x74, + 0x00, 0x4e, 0xf1, 0x52, 0x13, 0xa3, 0x1d, 0x30, 0x4d, 0xcb, 0xec, 0x96, + 0x3d, 0x73, 0x28, 0xfa, 0x49, 0xac, 0xd2, 0x4f, 0x2e, 0x3c, 0x3f, 0x43, + 0x78, 0xb7, 0x89, 0x64, 0x93, 0xdf, 0x5d, 0x5e, 0xd9, 0xdf, 0x3c, 0xa2, + 0xa6, 0x9f, 0xfc, 0xc8, 0xf5, 0xe4, 0xc2, 0xd9, 0x2b, 0x00, 0xaf, 0xfc, + 0xea, 0xef, 0x77, 0xa9, 0xa6, 0x70, 0xaa, 0x53, 0xe6, 0xe4, 0x03, 0xc3, + 0x40, 0xef, 0x18, 0x8c, 0xf5, 0xc5, 0x5f, 0x5b, 0xa4, 0x8b, 0xaf, 0xff, + 0x4c, 0xaf, 0xaf, 0xf9, 0x46, 0x16, 0x77, 0xff, 0xdb, 0x44, 0xf4, 0x78, + 0x9c, 0xd4, 0x9f, 0xb6, 0x52, 0x7b, 0xbb, 0xd8, 0x99, 0xb6, 0x23, 0x9f, + 0x8c, 0xd3, 0xe6, 0x63, 0xf1, 0x71, 0x18, 0xea, 0x31, 0xef, 0x6f, 0x75, + 0xba, 0x7f, 0xc2, 0x67, 0xea, 0x38, 0xf8, 0x00, 0x40, 0xc2, 0xa1, 0x5e, + 0xb7, 0xfd, 0xcc, 0xbb, 0x7b, 0xc0, 0xe1, 0xe7, 0x88, 0xfc, 0xfa, 0x53, + 0xf0, 0xd0, 0x38, 0x3d, 0xfa, 0xc0, 0x7d, 0xbf, 0xb4, 0xee, 0xc1, 0xb5, + 0x25, 0x30, 0xdf, 0x93, 0x62, 0x5a, 0xa1, 0xdd, 0x5d, 0x44, 0xee, 0x4c, + 0x2b, 0x30, 0x93, 0xcb, 0xa5, 0x69, 0x45, 0xed, 0xf5, 0xc3, 0x4c, 0xc6, + 0xf2, 0x0b, 0x9c, 0xb3, 0x78, 0x52, 0xed, 0x3b, 0x60, 0x6d, 0xd2, 0xd9, + 0x1e, 0xae, 0x86, 0x5d, 0x01, 0xdc, 0xfc, 0x48, 0x19, 0xd4, 0xee, 0x7d, + 0x7c, 0x5a, 0x0b, 0x67, 0xf1, 0xea, 0x77, 0x7c, 0xe2, 0x18, 0xef, 0x2f, + 0xfb, 0xc7, 0xf0, 0xfc, 0xaa, 0x90, 0xf6, 0xf0, 0x8a, 0x32, 0x08, 0x3b, + 0xad, 0x64, 0x3b, 0x32, 0x5a, 0xca, 0xab, 0x9e, 0x28, 0x3c, 0xf6, 0x0e, + 0xb8, 0x4d, 0x08, 0x09, 0x4d, 0xab, 0x8e, 0xc8, 0x7f, 0x40, 0x43, 0xe4, + 0x8b, 0xea, 0x4e, 0xda, 0x9c, 0x17, 0x6f, 0xf7, 0x2b, 0x11, 0xa2, 0x13, + 0xce, 0x5f, 0x04, 0x72, 0x8c, 0x76, 0x40, 0x8b, 0xab, 0xba, 0x45, 0x05, + 0x78, 0x71, 0xe9, 0x81, 0x7b, 0x4b, 0xdc, 0x28, 0x43, 0x30, 0x01, 0x0c, + 0xdc, 0x5b, 0xb2, 0x95, 0x23, 0xf3, 0x80, 0xfb, 0xfb, 0x12, 0x8c, 0x74, + 0xf2, 0xf1, 0x3d, 0x04, 0x55, 0xc2, 0xc1, 0xfc, 0x3c, 0x31, 0xdc, 0x66, + 0x7c, 0xda, 0x70, 0xb2, 0xa0, 0xec, 0x9a, 0xd6, 0xd1, 0x61, 0xbc, 0xc7, + 0x47, 0x86, 0xa9, 0x55, 0x16, 0x47, 0xf7, 0x58, 0x9d, 0xb3, 0xdd, 0x71, + 0x3c, 0x06, 0x74, 0xd4, 0x9c, 0x2e, 0xf9, 0x45, 0x9f, 0x6c, 0xd8, 0x02, + 0x14, 0x97, 0xfe, 0x32, 0xfb, 0xcd, 0x9a, 0x96, 0xfc, 0x7f, 0x61, 0x86, + 0x69, 0x1c, 0x99, 0x24, 0xfb, 0x3d, 0x84, 0x60, 0x75, 0x2b, 0x2d, 0x76, + 0x88, 0x6b, 0x51, 0x37, 0x4d, 0xeb, 0x17, 0x99, 0x86, 0xf4, 0xd2, 0xb4, + 0xc6, 0xef, 0x47, 0x08, 0x6b, 0x5a, 0x07, 0x1c, 0x99, 0x5f, 0xc2, 0xaf, + 0x6f, 0xf1, 0x4f, 0x31, 0x9b, 0x34, 0xad, 0xe1, 0xfe, 0xd5, 0xfd, 0xe1, + 0x36, 0xfd, 0x7b, 0xfb, 0x24, 0xb7, 0x9c, 0xfa, 0xfc, 0x0c, 0x1d, 0x79, + 0xb7, 0x89, 0x94, 0xaf, 0x16, 0x89, 0x5e, 0x3b, 0x4e, 0xf4, 0xd5, 0x22, + 0x65, 0xfe, 0x73, 0x9c, 0x36, 0xb7, 0x33, 0x34, 0xe7, 0xb2, 0xc6, 0x50, + 0x9f, 0xcf, 0x50, 0xe6, 0xdd, 0x66, 0x5d, 0x6b, 0xee, 0xee, 0x01, 0x97, + 0x9e, 0x23, 0x72, 0xd2, 0xbc, 0xa2, 0xda, 0xd4, 0x8a, 0x33, 0x00, 0xae, + 0x0b, 0xd4, 0xe7, 0xb9, 0x9a, 0x15, 0xc1, 0x9e, 0xcc, 0x82, 0x14, 0xd1, + 0x8a, 0x46, 0x25, 0x18, 0x4a, 0xbd, 0x39, 0xa2, 0x42, 0x78, 0xa8, 0x4c, + 0x4c, 0x6b, 0x5d, 0x85, 0x5b, 0xe3, 0xb0, 0x6e, 0x4c, 0xdb, 0x7d, 0x47, + 0xce, 0x6e, 0x27, 0x8d, 0xe8, 0xc4, 0x40, 0xca, 0xe0, 0x94, 0x6b, 0xbd, + 0xc3, 0xf3, 0x85, 0x71, 0x2e, 0xd3, 0x93, 0x86, 0xb7, 0xd7, 0x80, 0xcf, + 0x8c, 0x02, 0x71, 0x67, 0x1e, 0xc2, 0x5d, 0xdb, 0x03, 0x80, 0x63, 0xc1, + 0x28, 0x24, 0x35, 0x67, 0x9f, 0x76, 0x02, 0x41, 0x24, 0xc9, 0x7e, 0x3d, + 0x51, 0xf4, 0x8d, 0x91, 0x15, 0xad, 0xfb, 0x5e, 0xfd, 0x22, 0x6f, 0x60, + 0xbd, 0xae, 0x97, 0xf5, 0x37, 0x24, 0xac, 0x76, 0x49, 0x94, 0x1b, 0x9e, + 0x5f, 0x32, 0xed, 0x4f, 0xe5, 0x69, 0x5f, 0x65, 0x70, 0x0a, 0xea, 0x88, + 0xf6, 0xa2, 0x43, 0xdf, 0x8f, 0xeb, 0xe2, 0x78, 0xc3, 0xf3, 0xda, 0x3e, + 0xda, 0x60, 0x9f, 0x56, 0x5e, 0xbd, 0x91, 0x45, 0x04, 0x65, 0xda, 0xc7, + 0x0b, 0x4d, 0xcb, 0xaa, 0x23, 0xc5, 0xdf, 0xf8, 0xa8, 0xbd, 0x96, 0xd6, + 0x7f, 0x9b, 0x83, 0xab, 0x6d, 0xdc, 0x34, 0x06, 0x0f, 0xb3, 0x4b, 0xee, + 0x0e, 0x2b, 0xfb, 0xfd, 0x03, 0xbf, 0x9a, 0xb0, 0x82, 0xdf, 0x6f, 0x74, + 0x65, 0x2a, 0x3f, 0xbf, 0xb5, 0xc0, 0x3b, 0xec, 0xa8, 0x8c, 0xc8, 0xbd, + 0x93, 0x17, 0x7a, 0xb5, 0x59, 0xc1, 0x67, 0x12, 0xbd, 0x33, 0xfa, 0x60, + 0xdc, 0x52, 0xd1, 0xaf, 0x24, 0xa8, 0xe0, 0xb3, 0x81, 0x62, 0x19, 0x51, + 0xd4, 0x2e, 0x7e, 0xe2, 0xab, 0xa2, 0x18, 0x4c, 0x68, 0x1a, 0xec, 0x20, + 0x0c, 0x4c, 0x05, 0x0f, 0x2e, 0x8a, 0x17, 0x28, 0x68, 0xcc, 0xfd, 0x62, + 0x58, 0x15, 0xe0, 0xbe, 0x01, 0xa9, 0x60, 0x05, 0x8d, 0x28, 0x5d, 0x20, + 0xbb, 0xb2, 0xe1, 0x7a, 0x26, 0x48, 0x16, 0x4b, 0x0a, 0x8f, 0x54, 0xf0, + 0x99, 0x44, 0xff, 0x15, 0x40, 0x8b, 0x43, 0xd6, 0xfa, 0x60, 0x56, 0x76, + 0xf6, 0xa7, 0xc2, 0xac, 0x15, 0xf4, 0x83, 0xe5, 0xa9, 0x08, 0xc0, 0xf0, + 0xbc, 0x16, 0xd7, 0x8b, 0x8c, 0x66, 0x6d, 0xe7, 0xe0, 0x23, 0x28, 0x6e, + 0x92, 0xa8, 0xfc, 0x06, 0x6e, 0x05, 0x4b, 0xc5, 0xff, 0x03, 0x2c, 0xfa, + 0x16, 0x4c, 0x4d, 0x8a, 0x1e, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; @@ -332,11 +620,12 @@ static const unsigned char image0_data[] = { * TRUE to construct a modal dialog. */ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool modal, WFlags fl ) - : QDialog( parent, name, modal, fl ) + : QDialog( parent, name, modal, fl ), + image0( (const char **) image0_data ) { QImage img; - img.loadFromData( image0_data, sizeof( image0_data ), "PNG" ); - image0 = img; + img.loadFromData( image1_data, sizeof( image1_data ), "PNG" ); + image1 = img; if ( !name ) setName( "ConfigurationPanel" ); setSizeGripEnabled( TRUE ); @@ -702,17 +991,22 @@ ConfigurationPanel::ConfigurationPanel( QWidget* parent, const char* name, bool textLabel2_2 = new QLabel( DriversPage_5, "textLabel2_2" ); textLabel2_2->setGeometry( QRect( 20, 170, 371, 121 ) ); + + pixmapLabel1 = new QLabel( DriversPage_5, "pixmapLabel1" ); + pixmapLabel1->setGeometry( QRect( 50, 40, 312, 91 ) ); + pixmapLabel1->setPixmap( image0 ); + pixmapLabel1->setScaledContents( TRUE ); Tab_About->insertTab( DriversPage_5, QString("") ); CodecsPage_4 = new QWidget( Tab_About, "CodecsPage_4" ); - textLabel1 = new QLabel( CodecsPage_4, "textLabel1" ); - textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) ); - pixmapLabel2 = new QLabel( CodecsPage_4, "pixmapLabel2" ); pixmapLabel2->setGeometry( QRect( 130, 50, 173, 48 ) ); - pixmapLabel2->setPixmap( image0 ); + pixmapLabel2->setPixmap( image1 ); pixmapLabel2->setScaledContents( TRUE ); + + textLabel1 = new QLabel( CodecsPage_4, "textLabel1" ); + textLabel1->setGeometry( QRect( 85, 126, 291, 131 ) ); Tab_About->insertTab( CodecsPage_4, QString("") ); layout17->addWidget( Tab_About ); @@ -843,7 +1137,7 @@ void ConfigurationPanel::languageChange() textLabel1_4_4->setText( tr( "4" ) ); textLabel1_4_5->setText( tr( "5" ) ); Tab_Audio->changeTab( CodecsPage, tr( "Codecs" ) ); - Tab_Audio->changeTab( RingPage, tr( "Rings" ) ); + Tab_Audio->changeTab( RingPage, tr( "Ringtones" ) ); Tab_Video->changeTab( DriversPage_2, tr( "Drivers" ) ); Tab_Video->changeTab( CodecsPage_2, tr( "Codecs" ) ); Tab_Network->changeTab( DriversPage_3, QString::null ); @@ -872,7 +1166,7 @@ void ConfigurationPanel::languageChange() "</p>" ) ); Tab_About->changeTab( DriversPage_5, tr( "About SFLPhone" ) ); textLabel1->setText( tr( "<p align=\"center\">Website: http://www.savoirfairelinux.com<br><br>\n" -"5505, Saint-Laurent - bureau 2027<br>\n" +"5505, Saint-Laurent - bureau 3030<br>\n" "Montreal, Quebec H2T 1S6</p>" ) ); Tab_About->changeTab( CodecsPage_4, tr( "About Savoir-faire Linux inc." ) ); } diff --git a/src/configurationpanelui.h b/src/configurationpanelui.h index 62b1fdd94f..42d617251d 100644 --- a/src/configurationpanelui.h +++ b/src/configurationpanelui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'configurationpanel.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:08 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! @@ -118,9 +118,10 @@ public: QTabWidget* Tab_About; QWidget* DriversPage_5; QLabel* textLabel2_2; + QLabel* pixmapLabel1; QWidget* CodecsPage_4; - QLabel* textLabel1; QLabel* pixmapLabel2; + QLabel* textLabel1; public slots: virtual void saveSlot(); @@ -165,6 +166,7 @@ protected slots: private: QPixmap image0; + QPixmap image1; void init(); diff --git a/src/error.cpp b/src/error.cpp new file mode 100644 index 0000000000..19f6234c30 --- /dev/null +++ b/src/error.cpp @@ -0,0 +1,137 @@ + +#include "error.h" + +#include <string> +using namespace std; + +Error::Error (Manager *_mngr){ + this->mngr = _mngr; + issetError = 0; +} + +int +Error::errorName (Error_enum num_name, char* err) { + string str; + switch (num_name){ + // Handle opening device errors + case DEVICE_NOT_OPEN: + printf ("ERROR: Device Not Open\n"); + mngr->errorDisplay("Device not open "); + issetError = 2; + break; + case DEVICE_ALREADY_OPEN: + printf ("ERROR: Device Already Open !\n"); + mngr->errorDisplay("Device already open "); + issetError = 2; + break; + case OPEN_FAILED_DEVICE: + printf ("ERROR: Open Failed\n"); + mngr->errorDisplay("Open device failed "); + issetError = 2; + break; + + // Handle ALSA errors + case PARAMETER_STRUCT_ERROR_ALSA: + str = str.append("Error with hardware parameter structure: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case ACCESS_TYPE_ERROR_ALSA: + str = str.append("Cannot set access type: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case SAMPLE_FORMAT_ERROR_ALSA: + str = str.append("Cannot set sample format: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case SAMPLE_RATE_ERROR_ALSA: + str = str.append("Cannot set sample rate: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case CHANNEL_ERROR_ALSA: + str = str.append("Cannot set channel: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case PARAM_SETUP_ALSA: + str = str.append("Cannot set parameters: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case DROP_ERROR_ALSA: + str = str.append("Error: drop(): ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case PREPARE_ERROR_ALSA: + str = str.append("Error: prepare(): ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + + // Handle OSS errors + case FRAGMENT_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_SETFRAGMENT: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case SAMPLE_FORMAT_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_SETFMT: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case CHANNEL_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_CHANNELS: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case SAMPLE_RATE_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_SPEED: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case GETISPACE_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_GETISPACE: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + case GETOSPACE_ERROR_OSS: + str = str.append("Error: SNDCTL_DSP_GETOSPACE: ") + err; + mngr->errorDisplay((char*)str.data()); + issetError = 1; + break; + + // Handle setup errors + case HOST_PART_FIELD_EMPTY: + mngr->errorDisplay("Fill host part field"); + issetError = 2; + break; + case USER_PART_FIELD_EMPTY: + mngr->errorDisplay("Fill user part field"); + issetError = 2; + break; + case PASSWD_FIELD_EMPTY: + mngr->errorDisplay("Fill password field"); + issetError = 2; + break; + + // Handle sip uri + case FROM_ERROR: + mngr->errorDisplay("Error for 'From' header"); + issetError = 1; + break; + case TO_ERROR: + mngr->errorDisplay("Error for 'To' header"); + issetError = 1; + break; + + default: + issetError = 0; + break; + } + return issetError; +} + diff --git a/src/error.h b/src/error.h new file mode 100644 index 0000000000..b58c089615 --- /dev/null +++ b/src/error.h @@ -0,0 +1,54 @@ +#ifndef __ERROR_H__ +#define __ERROR_H__ + +#include <stdio.h> + +#include "manager.h" + +typedef enum { + DEVICE_NOT_OPEN = 0, + DEVICE_ALREADY_OPEN, + OPEN_FAILED_DEVICE, + + PARAMETER_STRUCT_ERROR_ALSA, + ACCESS_TYPE_ERROR_ALSA, + SAMPLE_FORMAT_ERROR_ALSA, + SAMPLE_RATE_ERROR_ALSA, + CHANNEL_ERROR_ALSA, + PARAM_SETUP_ALSA, + DROP_ERROR_ALSA, + PREPARE_ERROR_ALSA, + + FRAGMENT_ERROR_OSS, + SAMPLE_FORMAT_ERROR_OSS, + CHANNEL_ERROR_OSS, + SAMPLE_RATE_ERROR_OSS, + GETISPACE_ERROR_OSS, + GETOSPACE_ERROR_OSS, + + HOST_PART_FIELD_EMPTY, + USER_PART_FIELD_EMPTY, + PASSWD_FIELD_EMPTY, + + FROM_ERROR, + TO_ERROR + +} Error_enum; + + +class Error { +public: + Error (Manager *); + ~Error (void) {}; + + int errorName (Error_enum, char *); + inline int getError (void) { return issetError; } + inline void setError(int err) { issetError = err; } + +private: + Manager *mngr; + int issetError; + +}; + +#endif // __ERROR_H__ diff --git a/src/manager.cpp b/src/manager.cpp index 4dd80c15c4..523bf052e0 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -46,13 +46,13 @@ #include "audiortp.h" #include "sip.h" #include "qtGUImainwindow.h" +#include "error.h" #include <string> using namespace std; Manager::Manager (QString *Dc = NULL) { DirectCall = Dc; - bool exist; for (int i = 0; i < NUMBER_OF_LINES; i++) { phLines[i] = new PhoneLine (); } @@ -67,9 +67,9 @@ Manager::Manager (QString *Dc = NULL) { sip = new SIP(this); tone = new ToneGenerator(this); audioRTP = new AudioRtp(this); + error = new Error(this); sip_init(); - selectAudioDriver(); // Init variables @@ -90,7 +90,7 @@ Manager::Manager (QString *Dc = NULL) { gui()->configuration(); } - initVolume (); + initVolume (); } Manager::~Manager (void) { @@ -117,7 +117,8 @@ Manager::createSettingsPath (void) { bool exist = true; char * buffer; // Get variable $HOME - buffer = getenv ("HOME"); path = string(buffer); + buffer = getenv ("HOME"); + path = string(buffer); path = path + "/." + PROGNAME; if (mkdir (path.data(), 0755) != 0) { @@ -134,21 +135,21 @@ Manager::createSettingsPath (void) { } return exist; } - + /** * Call audio driver constructor according to the selected driver in setup */ -void +void Manager::selectAudioDriver (void) { if (Config::getb("Audio", "Drivers.driverOSS")) { useAlsa = false; - this->audiodriver = new AudioDriversOSS (AudioDrivers::ReadWrite); + this->audiodriver = new AudioDriversOSS (AudioDrivers::ReadWrite, error); } if (Config::getb("Audio", "Drivers.driverALSA")) { #ifdef ALSA useAlsa = true; - this->audiodriver = new AudioDriversALSA (AudioDrivers::WriteOnly); - this->audiodriverReadAlsa = new AudioDriversALSA (AudioDrivers::ReadOnly); + this->audiodriver = new AudioDriversALSA (AudioDrivers::WriteOnly, error); + this->audiodriverReadAlsa = new AudioDriversALSA (AudioDrivers::ReadOnly, error); #endif } } @@ -173,7 +174,8 @@ Manager::sip_init (void) { if (Config::gets("Signalisations", "SIP.password").length() > 0) { sip->setRegister (); } else { - errorDisplay("Fill password field"); + if (exist) + error->errorName(PASSWD_FIELD_EMPTY, NULL); } } } @@ -203,7 +205,7 @@ Manager::ring (bool var) { tonezone = ringing(); if (sip->getNumberPendingCalls() == 1) - tone->playRing ((gui()->getRingFile()).ascii()); + tone->playRingtone ((gui()->getRingFile()).ascii()); } // When IP-phone user makes call @@ -231,7 +233,7 @@ Manager::notificationIncomingCall (void) { tone->generateSin(440, 0, AMPLITUDE, SAMPLING_RATE, buffer); - audiodriver->audio_buf.resize(SAMPLING_RATE); + audiodriver->audio_buf.resize(SAMPLING_RATE/2); audiodriver->audio_buf.setData(buffer, getSpkrVolume()); delete[] buffer; } @@ -261,6 +263,13 @@ Manager::transferedCall(void) { void Manager::actionHandle (int lineNumber, int action) { switch (action) { + case REFUSE_CALL: + sip->manageActions (lineNumber, REFUSE_CALL); + this->ring(false); + phLines[lineNumber]->setbRinging(false); + gui()->lcd->setStatus("Call refused"); + break; + case ANSWER_CALL: // TODO // Stopper l'etat "ringing" du main (audio, signalisation, gui) @@ -300,7 +309,6 @@ Manager::actionHandle (int lineNumber, int action) { case CANCEL_CALL: sip->manageActions (lineNumber, CANCEL_CALL); - //sip->notUsedLine = -1; break; default: @@ -334,10 +342,14 @@ Manager::isNotUsedLine (int line) { } int -Manager::findLineNumberNotUsedSIP (void) { +Manager::findLineNumberNotUsed (void) { return sip->findLineNumberNotUsed(); } +int +Manager::getNumberPendingCalls (void) { + return sip->getNumberPendingCalls(); +} /** * Handle the remote callee's events * @@ -405,7 +417,9 @@ Manager::handleRemoteEvent (int code, char * reason, int remotetype, int line) { // if error code } else { - if (code > 399) { + if (code == 407) { + gui()->lcd->setStatus("Trying..."); + } else if (code > 399 and code != 407) { qinfo = QString::number(code, 10) + " " + QString(reason); gui()->lcd->setStatus(qinfo); @@ -548,6 +562,7 @@ Manager::dtmf (int line, char digit) { void Manager::errorDisplay (char *error) { + gui()->lcd->clearBuffer(); gui()->lcd->appendText(error); } diff --git a/src/manager.h b/src/manager.h index 50d3b6595b..a34e79d6e1 100644 --- a/src/manager.h +++ b/src/manager.h @@ -32,6 +32,7 @@ class SIP; class SipCall; class ToneGenerator; class QtGUIMainWindow; +class Error; class Manager { public: @@ -42,10 +43,13 @@ public: SIP *sip; PhoneLine *phLines[NUMBER_OF_LINES]; AudioRtp *audioRTP; + AudioDrivers *audiodriver; #ifdef ALSA AudioDrivers *audiodriverReadAlsa; #endif + Error *error; + bool useAlsa; ToneGenerator *tone; QString *DirectCall; // from -p argv @@ -62,7 +66,8 @@ public: void quitLibrary (void); int outgoingNewCall (void); void actionHandle (int, int); - int findLineNumberNotUsedSIP(void); + int findLineNumberNotUsed (void); + int getNumberPendingCalls (void); void handleRemoteEvent (int, char *, int, int = -1); int startSound (SipCall *); void closeSound (SipCall *); @@ -100,6 +105,7 @@ public: inline int getMicVolume (void) { return mic_volume; } private: + bool exist; bool b_ringing; bool b_ringtone; bool b_congestion; diff --git a/src/phonebookui.cpp b/src/phonebookui.cpp index db2ed159d2..10f12d5c1e 100644 --- a/src/phonebookui.cpp +++ b/src/phonebookui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'phonebook.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:07 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/phonebookui.h b/src/phonebookui.h index dd24d47aa9..2a9affa4f1 100644 --- a/src/phonebookui.h +++ b/src/phonebookui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'phonebook.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:07 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/qtGUImainwindow.cpp b/src/qtGUImainwindow.cpp index 8fdbf856ad..317f021c60 100644 --- a/src/qtGUImainwindow.cpp +++ b/src/qtGUImainwindow.cpp @@ -42,6 +42,7 @@ #include "audiodrivers.h" #include "configuration.h" #include "configurationpanelui.h" +#include "error.h" #include "global.h" #include "jpushbutton.h" #include "manager.h" @@ -682,14 +683,15 @@ QtGUIMainWindow::dial (void) { // NOTHING } else { // If new outgoing call - // For new outgoing call with INVITE SIP request i = callmanager->outgoingNewCall(); if (i == 0) { // If outgoing call succeeded if (!choose) { // If find not used line noChoose = true; - currentLineNumber = callmanager->findLineNumberNotUsedSIP(); } else { + currentLineNumber = callmanager->findLineNumberNotUsed(); + qDebug("current line = %d", currentLineNumber); + } else { // If choose line currentLineNumber = chosenLine; } @@ -713,8 +715,21 @@ QtGUIMainWindow::dial (void) { void QtGUIMainWindow::hangupLine (void) { qDebug("HANGUP: line %d", currentLineNumber); + int line = callmanager->sip->notUsedLine; - if (currentLineNumber != -1 and + if (line != -1 and callmanager->phLines[line]->getbRinging()) { + // If the IP-phone user want to refuse an incoming call + int tmp = currentLineNumber; // store currentLineNumber + callmanager->actionHandle (line, REFUSE_CALL); + setCurrentLineNumber(tmp); // set currentLineNumber + if (currentLineNumber != -1) { + // If there is current call, put on-hold this call + callmanager->phLines[currentLineNumber]->setState(ONHOLD); + callmanager->phLines[currentLineNumber]->setStateLine(ONHOLD); + callmanager->actionHandle (currentLineNumber, ONHOLD_CALL); + } + } + else if (currentLineNumber != -1 and !(callmanager->phLines[currentLineNumber]->isOnHold())) { // If there is current line opened and state line not onHold // set free pixmap @@ -1135,12 +1150,17 @@ QtGUIMainWindow::pressedKeySlot (int id) { pulselen = Config::get("Signalisations", "DTMF.pulseLength", 250); callmanager->audiodriver->audio_buf.resize(pulselen * (OCTETS/1000)); -// callmanager->audiodriver->resetDevice(); a = callmanager->audiodriver->writeBuffer(); if (a == 1) { pressedKeySlot(id); } else { - lcd->appendText (code); + if (callmanager->error->getError() == 0) + lcd->appendText (code); + else if (callmanager->error->getError() == 1) { + lcd->clearBuffer(); + callmanager->error->setError(0); + lcd->appendText (code); + } } } diff --git a/src/sip.cpp b/src/sip.cpp index 8be9fe0ebe..10569b43f2 100644 --- a/src/sip.cpp +++ b/src/sip.cpp @@ -31,6 +31,7 @@ #include "audiocodec.h" #include "configuration.h" +#include "error.h" #include "global.h" #include "sip.h" #include "sipcall.h" @@ -351,11 +352,11 @@ SIP::setRegister (void) { qDebug("from = %s", from); if (Config::gets("Signalisations", "SIP.userPart") == "") { - callmanager->errorDisplay("Fill user part field"); + callmanager->error->errorName(USER_PART_FIELD_EMPTY, NULL); return -1; } if (Config::gets("Signalisations", "SIP.hostPart") == "") { - callmanager->errorDisplay("Fill host part field"); + callmanager->error->errorName(HOST_PART_FIELD_EMPTY, NULL); return -1; } @@ -398,7 +399,7 @@ SIP::setAuthentication (void) { } pass = Config::gets("Signalisations", "SIP.password"); if (pass == "") { - callmanager->errorDisplay("Fill password field"); + callmanager->error->errorName(PASSWD_FIELD_EMPTY, NULL); return -1; } @@ -442,11 +443,11 @@ SIP::startCall ( char *from, char *to, char *subject, char *route) { int i; if (checkUrl(from) != 0) { - callmanager->errorDisplay("Error for From header"); + callmanager->error->errorName(FROM_ERROR, NULL); return -1; } if (checkUrl(to) != 0) { - callmanager->errorDisplay("Error for To header"); + callmanager->error->errorName(TO_ERROR, NULL); return -1; } @@ -571,19 +572,38 @@ SIP::manageActions (int usedLine, int action) { assert (usedLine >= 0); bzero (tmpbuf, 64); + // Get local port + snprintf (tmpbuf, 63, "%d", call[usedLine]->getLocalAudioPort()); switch (action) { + // IP-Phone user want to refuse a call. + case REFUSE_CALL: + qDebug("REFUSE_CALL line %d, cid = %d, did = %d", + usedLine, call[usedLine]->cid, call[usedLine]->did); + + callmanager->phLines[usedLine]->setbInProgress(false); + + eXosip_lock(); + i = eXosip_answer_call(call[usedLine]->did, 486, tmpbuf); + eXosip_unlock(); + + callmanager->ringTone(false); + + // Delete the call when I hangup + if (call[usedLine] != NULL) { + delete call[usedLine]; + call[usedLine] = NULL; + } + + break; + // IP-Phone user is answering a call. case ANSWER_CALL: qDebug("ANSWER_CALL line %d, cid = %d, did = %d", usedLine, call[usedLine]->cid, call[usedLine]->did); - //callmanager->setCallInProgress(false); callmanager->phLines[usedLine]->setbInProgress(false); - - // Get local port - snprintf (tmpbuf, 63, "%d", call[usedLine]->getLocalAudioPort()); eXosip_lock(); i = eXosip_answer_call(call[usedLine]->did, 200, tmpbuf); @@ -622,6 +642,9 @@ SIP::manageActions (int usedLine, int action) { // IP-Phone user is parking peer on HOLD case ONHOLD_CALL: + qDebug("ONHOLD_CALL: cid = %d et did = %d", call[usedLine]->cid, + call[usedLine]->did); + call[usedLine]->usehold = true; eXosip_lock(); @@ -702,6 +725,7 @@ SIP::getEvent (void) { callmanager->handleRemoteEvent(event->status_code, event->reason_phrase, -1); + //qDebug("status-code %d %s", event->status_code, event->reason_phrase); switch (event->type) { // IP-Phone user receives a new call case EXOSIP_CALL_NEW: //13 @@ -913,15 +937,14 @@ SIP::getEvent (void) { call[theline]->usehold = false; theline = findLineNumber(event); if (!callmanager->phLines[theline]->getbInProgress()) { - // if (!callmanager->getCallInProgress()) { // If callee answered before closing call // or callee not onhold by caller theline = findLineNumberClosed(event); call[theline]->closedCall(); } else { - // If callee closes call instead of answering + // If caller closes call before callee answers theline = notUsedLine; - // If call refused, stop ringTone + // Stop ringTone callmanager->ringTone(false); } diff --git a/src/sip.h b/src/sip.h index aca763f7e9..57d1963268 100644 --- a/src/sip.h +++ b/src/sip.h @@ -49,6 +49,7 @@ using namespace ost; #define OFFHOLD_CALL 3 #define TRANSFER_CALL 4 #define CANCEL_CALL 5 +#define REFUSE_CALL 6 // 4XX Errors #define FORBIDDEN 403 diff --git a/src/tonegenerator.cpp b/src/tonegenerator.cpp index 694a02ec65..47c9063008 100644 --- a/src/tonegenerator.cpp +++ b/src/tonegenerator.cpp @@ -252,7 +252,7 @@ ToneGenerator::toneHandle (int idr) { int -ToneGenerator::playRing (const char *fileName) { +ToneGenerator::playRingtone (const char *fileName) { short* dst = NULL; char* src = NULL; int expandedsize, length; @@ -278,7 +278,7 @@ ToneGenerator::playRing (const char *fileName) { // read data as a block: file.read (src,length); - + // Decode file.ul expandedsize = AudioCodec::codecDecode ( PAYLOAD_CODEC_ULAW, diff --git a/src/tonegenerator.h b/src/tonegenerator.h index 693afaf5c2..6a1a787e4b 100644 --- a/src/tonegenerator.h +++ b/src/tonegenerator.h @@ -72,7 +72,7 @@ public: void generateSin (int, int, int, int, short *); void buildTone (int, int, int, int, short*); void toneHandle (int); - int playRing (const char*); + int playRingtone (const char*); short *sample; int freq1, diff --git a/src/url_inputui.cpp b/src/url_inputui.cpp index 3209c47159..a592ff6732 100644 --- a/src/url_inputui.cpp +++ b/src/url_inputui.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'url_input.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:08 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! diff --git a/src/url_inputui.h b/src/url_inputui.h index ec7a3698f6..aead30a40c 100644 --- a/src/url_inputui.h +++ b/src/url_inputui.h @@ -1,7 +1,7 @@ /**************************************************************************** ** Form interface generated from reading ui file 'url_input.ui' ** -** Created: Thu Mar 31 12:04:22 2005 +** Created: Tue Apr 12 09:35:08 2005 ** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! -- GitLab