diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 00:43:50 +0000 |
commit | ceea23677c61f20759ae986bd77b0d5c4d673edb (patch) | |
tree | 3fcec1702eaf9c14d1dd736e594f5df08dab4001 /configdialog | |
download | kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip |
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'configdialog')
31 files changed, 11006 insertions, 0 deletions
diff --git a/configdialog/CMakeLists.txt b/configdialog/CMakeLists.txt new file mode 100644 index 0000000..c65e04b --- /dev/null +++ b/configdialog/CMakeLists.txt @@ -0,0 +1,57 @@ +SET(kbfxconfigappsrc + main.cpp + kbfxconfigapp.cpp + ) + +SET(kbfxconfigappui + kbfxthemeinfo.ui + kbfxconfigdlgbutton.ui + kbfxconfigdlgmain.ui + kbfxconfigdlgthemes.ui + kbfxconfigdlgabout.ui + kbfxconfigdlgstyle.ui + kbfxconfigdlgtooltip.ui + kbfxconfigdlgfonts-old.ui + kbfxconfigdlgplugins.ui + kbfxconfigdlglayout.ui + ) + +IF (NOT USE_KDE4) + KDE3_AUTOMOC(${kbfxconfigappsrc}) + + KDE3_ADD_UI_FILES(kbfxconfigappsrc ${kbfxconfigappui}) + + KDE3_ADD_EXECUTABLE(kbfxconfigapp ${kbfxconfigappsrc}) + + TARGET_LINK_LIBRARIES(kbfxconfigapp + kbfxdata + kbfxcommon + ${QT_AND_KDECORE_LIBS} + ${KDE3_KIO_LIBRARY} + ${KDE3_UI_LIBRARY} + ) +ELSE (NOT USE_KDE4) + KDE4_AUTOMOC(${kbfxconfigappsrc}) + + KDE4_ADD_UI3_FILES(kbfxconfigappsrc ${kbfxconfigappui}) + + KDE4_ADD_EXECUTABLE(kbfxconfigapp ${kbfxconfigappsrc}) + + TARGET_LINK_LIBRARIES(kbfxconfigapp + kbfxdata + kbfxcommon + ${KDE4_KDECORE_LIBS} + ${KDE4_KIO_LIBS} + ${KDE4_KDEUI_LIBS} + ) +ENDIF (NOT USE_KDE4) + +INSTALL(TARGETS kbfxconfigapp + RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + +INSTALL(FILES kbfxconfigappui.rc DESTINATION ${DATA_INSTALL_DIR}/kbfxconfigapp) +INSTALL(FILES kbfxconfigapp.desktop kbfx_theme.desktop DESTINATION ${XDG_APPS_DIR}) +INSTALL(FILES kbfx_install_theme.desktop kbfx_prepare_theme.desktop + DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus) +INSTALL(FILES x-kbfxtheme.desktop + DESTINATION ${MIME_INSTALL_DIR}/application) diff --git a/configdialog/kbfx_install_theme.desktop b/configdialog/kbfx_install_theme.desktop new file mode 100644 index 0000000..9406742 --- /dev/null +++ b/configdialog/kbfx_install_theme.desktop @@ -0,0 +1,22 @@ +[Desktop Entry] +Encoding=UTF-8 +ServiceTypes=application/x-kbfxtheme +Actions=kbfx_install_theme + +[Desktop Action kbfx_install_theme] +Icon=kbfxconfigapp +Exec=kbfxconfigapp --install %u +Name=Install KBFX Theme Package +Name[bg]=Инсталиране на пакета KBFX Theme +Name[da]=Installér KBFX-temapakke +Name[de]=KBFX Theme-Paket installieren +Name[el]=Εγκατάσταση του πακέτου θέματος KBFX +Name[es]=Instalar paquete con el tema KBFX +Name[et]=KBFX teemapaketi paigaldamine +Name[fr]=Installer le paquet des thèmes KBFX +Name[ja]=KBFX テーマパッケージをインストール +Name[nl]=KBFX-themapakket installeren +Name[pt]=Instalar o Pacote de Tema do KBFX +Name[pt_BR]=Instalar Pacote do Tema KBFX +Name[sv]=Installera KBFX-temapaket + diff --git a/configdialog/kbfx_prepare_theme.desktop b/configdialog/kbfx_prepare_theme.desktop new file mode 100644 index 0000000..f510fc5 --- /dev/null +++ b/configdialog/kbfx_prepare_theme.desktop @@ -0,0 +1,23 @@ +[Desktop Entry] +Encoding=UTF-8 +ServiceTypes=inode/directory +Actions=kbfx_prepare_theme + +[Desktop Action kbfx_prepare_theme] +Icon=kbfxconfigapp +Exec=kbfxconfigapp --prepare %u +Name=Prepare KBFX Theme Package +Name[bg]=Подготовка на пакета KBFX Theme +Name[da]=Opret KBFX-temapakke +Name[de]=KBFX Theme-Paket vorbereiten +Name[el]=Προετοιμασία του πακέτου θέματος KBFX +Name[es]=Preparar paquete con el tema KBFX +Name[et]=KBFX teemapaketi ettevalmistamine +Name[fr]=Preparer le paquet des thèmes KBFX +Name[ga]=Ullmhaigh Pacáiste Téama KBFX +Name[ja]=KBFX テーマパッケージを準備 +Name[nl]=KBFX-themapakket voorbereiden +Name[pt]=Preparar o Pacote de Tema do KBFX +Name[pt_BR]=Preparar Pacote do Tema KBFX +Name[sv]=Skapa KBFX-temapaket + diff --git a/configdialog/kbfx_theme.desktop b/configdialog/kbfx_theme.desktop new file mode 100644 index 0000000..50b3b37 --- /dev/null +++ b/configdialog/kbfx_theme.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=KBFX Theme Installer +Name[de]=Installations von KBFX-Themes +Name[el]=Εγκατάσταση θέματος KBFX +Name[et]=KBFX teema paigaldaja +Name[fr]=Outil d'installation des thèmes KBFX +Name[ja]=KBFX テーマインストーラ +Name[nl]=KBFX-thema-installatie +Name[pt]=Instalador de Temas do KBFX +Name[pt_BR]=Instalador de Temas do KBFX +Name[sv]=KBFX-temainstallation +Exec=kbfxconfigapp --install %u +Icon=kbfxconfigapp +Type=Application +MimeType=application/x-kbfxtheme +NoDisplay=true + diff --git a/configdialog/kbfxconfigapp.cpp b/configdialog/kbfxconfigapp.cpp new file mode 100644 index 0000000..ac17881 --- /dev/null +++ b/configdialog/kbfxconfigapp.cpp @@ -0,0 +1,416 @@ +/* + * Copyright (C) 2006 + * Siraj Razick <siraj@kdemail.net> + * PhobosK <phobosk@mail.kbfx.org> + * see Also AUTHORS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License version 2 as + * published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "kbfxconfigapp.h" + +KbfxConfigApp::KbfxConfigApp ( QWidget* parent, const char* name, WFlags fl ) + : KbfxConfigDlgMain ( parent,name,fl ) +{ +// m_KbfxVersion = tr2i18n("<p align='center'>Running KBFX version: " APPLICATION_VERSION "</p>"); + m_KbfxVersion = tr2i18n ( "<p align='center'>%1</p>" ); + m_KbfxVersion2 = tr2i18n ( "You are running: <b>KBFX " APPLICATION_VERSION "</b>" ); + m_KbfxNewsBrowserError = tr2i18n ( "<br><p align='center'><font color='#ff0000'>" + "The connection to the KBFX News Section on www.kbfx.org is broken." + "</font><br><br>" + "If you want you can check the latest news for KBFX from here:" + "<br><a href='http://www.kbfx.org/'>KBFX News</a></p>" ); + m_KbfxLogoButton = tr2i18n ( "<font size='+1'><b>KBFX start button</b><br></font>" + "<b>Tip! </b>" + "You have 3 options to select for your KBFX start button." + "You have to select <i>(Normal, Pressed, Hover)</i> images. <br>" + "Down below you can also see a preview of the images you have selected." ); + m_KbfxLogoAbout = tr2i18n ( "<font size='+1'><b>About KBFX</b><br></font>" + "<b>Tip! </b>" + "Here you can find information about the KBFX Project and all the people involved in it." ); + m_KbfxLogoFonts = tr2i18n ( "<font size='+1'><b>KBFX font settings</b><br></font>" + "<b>Tip! </b>" + "Here you can set the fonts of the current theme.<br>" + "If you don't have any 'kbfxfontrc' file don't worry about that.<br>" + "When done just hit 'Apply' button and KBFX will save the 'kbfxfontrc' file." ); + m_KbfxLogoLayout = tr2i18n ( "<font size='+1'><b>KBFX Layout</b><br></font>" + "<b>Tip! </b>" + "Here you can configure the Look and Feel of your KBFX menu.<br>" + "The most important settings that are used with the '<strong>Make it...</strong>' buttons are marked with '<strong>*</strong>'<br>" + "Have in mind that the Layout of the theme also depends on the sizes of the images!<br>" ); + m_KbfxLogoPlugins = tr2i18n ( "<font size='+1'><b>KBFX Plugins</b><br></font>" + "<b>Tip! </b>" + "Here you can select what plugins will be enabled and in which panel of the KBFX menu." ); + m_KbfxLogoStyle = tr2i18n ( "<font size='+1'><b>Menu Type</b><br></font>" + "<b>Tip! </b>" + "Please select which kind of menu you would like to use." ); + m_KbfxLogoThemes = tr2i18n ( "<font size='+1'><b>KBFX Themes</b><br></font>" + "<b>Tip! </b>" + "To keep it simple place all your themes inside one folder.<br>" + "Then create different folders inside that folder with different names.<br>" + "KBFX will then read those folders as themes." ); + m_KbfxLogoTooltip = tr2i18n ( "<font size='+1'><b>KBFX tooltip settings</b><br></font>" + "<b>Tip! </b>" + "Here you can configure the behaviour of KBFX's own tooltip." ); + m_KbfxNewsBrowserAddress = "http://www.kbfx.org/news/"; + InitForm(); +} + +KbfxConfigApp::~KbfxConfigApp() +{} + +void KbfxConfigApp::InitForm() +{ + lb_Main->clear(); + + /* initialize Themes page */ + lb_Main->insertItem ( img_themes, tr2i18n ( "Themes" ), THEMES ); + KbfxConfigDlgThemes *pageThemes = new KbfxConfigDlgThemes(); + ws_Main->addWidget ( pageThemes, THEMES ); + connect ( this, SIGNAL ( KbfxConfigDlgThemesChanged() ), + pageThemes, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgThemesChanged(); + connect ( pageThemes->KbfxGetMoreThemes, SIGNAL ( clicked() ), + this, SLOT ( KbfxGetMoreThemesClicked() ) ); + connect ( this, SIGNAL ( KbfxThemeDoInstall ( QString & ) ), + pageThemes, SLOT ( KbfxThemeInstall ( QString & ) ) ); + + /* initialize Button page */ + lb_Main->insertItem ( img_button, tr2i18n ( "Start Button" ), BUTTON ); + KbfxConfigDlgButton *pageButton = new KbfxConfigDlgButton(); + ws_Main->addWidget ( pageButton, BUTTON ); + connect ( this, SIGNAL ( KbfxConfigDlgButtonChanged() ), + pageButton, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgButtonChanged(); + + /* initialize Fonts page */ + lb_Main->insertItem ( img_fonts, tr2i18n ( "Fonts" ), FONTS ); + KbfxConfigDlgFonts *pageFonts = new KbfxConfigDlgFonts(); + ws_Main->addWidget ( pageFonts, FONTS ); + connect ( this, SIGNAL ( KbfxConfigDlgFontsChanged() ), + pageFonts, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgFontsChanged(); + + /* initialize Layout Page */ + lb_Main->insertItem ( img_search, tr2i18n ( "Layout" ), LAYOUT ); + KbfxConfigDlgLayout *pageLayout = new KbfxConfigDlgLayout(); + ws_Main->addWidget ( pageLayout, LAYOUT ); + connect ( this, SIGNAL ( KbfxConfigDlgLayoutChanged() ), + pageLayout, SLOT ( ChangeForm() ) ); + connect ( this, SIGNAL ( KbfxConfigDlgLayoutLeft() ), + pageLayout, SLOT ( LayoutFormLeft() ) ); + emit KbfxConfigDlgLayoutChanged(); + + /* initialize Plugins Page */ + lb_Main->insertItem ( img_plugins, tr2i18n ( "Plugins" ), PLUGINS ); + KbfxConfigDlgPlugins *pagePlugins = new KbfxConfigDlgPlugins(); + ws_Main->addWidget ( pagePlugins, PLUGINS ); + connect ( this, SIGNAL ( KbfxConfigDlgPluginsChanged() ), + pagePlugins, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgPluginsChanged(); + + /* initialize Tooltip page */ + lb_Main->insertItem ( img_tooltip, tr2i18n ( "Tooltip" ), TOOLTIP ); + KbfxConfigDlgTooltip *pageTooltip = new KbfxConfigDlgTooltip(); + ws_Main->addWidget ( pageTooltip, TOOLTIP ); + connect ( this, SIGNAL ( KbfxConfigDlgTooltipChanged() ), + pageTooltip, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgTooltipChanged(); + + /* initialize Menu Style page */ + lb_Main->insertItem ( img_style, tr2i18n ( "Menu Style" ), STYLE ); + KbfxConfigDlgStyle *pageStyle = new KbfxConfigDlgStyle(); + ws_Main->addWidget ( pageStyle, STYLE ); + connect ( this, SIGNAL ( KbfxConfigDlgStyleChanged() ), + pageStyle, SLOT ( ChangeForm() ) ); + emit KbfxConfigDlgStyleChanged(); + + /* initialize About page */ + lb_Main->insertItem ( img_about, tr2i18n ( "About" ), ABOUT ); + KbfxConfigDlgAbout *pageAbout = new KbfxConfigDlgAbout(); + ws_Main->addWidget ( pageAbout,ABOUT ); + pageAbout->KbfxLabelVersion->setText ( m_KbfxVersion2 ); + + connect ( btn_Default, SIGNAL ( clicked() ), + this, SLOT ( btn_DefaultClicked() ) ); + connect ( btn_Help, SIGNAL ( clicked() ), + this, SLOT ( btn_HelpClicked() ) ); + connect ( lb_Main, SIGNAL ( highlighted ( int ) ), + this, SLOT ( KbfxMenuItemChanged ( int ) ) ); + connect ( btn_SaveApply, SIGNAL ( clicked() ), + this, SLOT ( btn_SaveApplyClicked() ) ); + + m_KbfxPage = THEMES; + lb_Main->setCurrentItem ( THEMES ); + ws_Main->raiseWidget ( THEMES ); +} + +/* process help for each page */ +void KbfxConfigApp::btn_HelpClicked() +{ + if ( m_KbfxPage == THEMES ) + kapp->invokeHelp ( "kbfx_themes", "kbfxconfigapp" ); + if ( m_KbfxPage == BUTTON ) + kapp->invokeHelp ( "kbfx_button", "kbfxconfigapp" ); + if ( m_KbfxPage == FONTS ) + kapp->invokeHelp ( "kbfx_fonts", "kbfxconfigapp" ); + if ( m_KbfxPage == LAYOUT ) + kapp->invokeHelp ( "kbfx_layout", "kbfxconfigapp" ); + if ( m_KbfxPage == PLUGINS ) + kapp->invokeHelp ( "kbfx_plugins", "kbfxconfigapp" ); + if ( m_KbfxPage == TOOLTIP ) + kapp->invokeHelp ( "kbfx_tooltip", "kbfxconfigapp" ); + if ( m_KbfxPage == STYLE ) + kapp->invokeHelp ( "kbfx_style", "kbfxconfigapp" ); + if ( m_KbfxPage == ABOUT) + kapp->invokeHelp ( "kbfx_about", "kbfxconfigapp" ); +} + +/* process default options for each page */ +void KbfxConfigApp::btn_DefaultClicked() +{ + switch ( ws_Main->id ( ws_Main->visibleWidget() ) ) + { + case THEMES: /* Themes page */ + { + ConfigInit().m_SpinxThemeBasePath = ConfigInit().m_SpinxThemeBasePathDefault; + ConfigInit().m_UserSpinxThemeBasePath = ConfigInit().m_UserSpinxThemeBasePathDefault; + ConfigInit().m_SpinxThemeName = ConfigInit().m_SpinxThemeNameDefault; + ConfigInit().m_SpinxDudeBlink = ConfigInit().m_SpinxDudeBlinkDefault; + ConfigInit().m_SpinxDudeImage = ConfigInit().m_SpinxDudeImageDefault; + ConfigInit().m_KbfxWatcher = ConfigInit().m_KbfxWatcherDefault; + ConfigInit().m_KbfxShowOldThemes = ConfigInit().m_KbfxShowOldThemesDefault; + emit KbfxConfigDlgThemesChanged(); + break; + } + case BUTTON: /* Button page */ + { + ConfigInit().m_KbfxNormalButtonPath = ConfigInit().m_KbfxNormalButtonPathDefault; + ConfigInit().m_KbfxHoverButtonPath = ConfigInit().m_KbfxHoverButtonPathDefault; + ConfigInit().m_KbfxPressedButtonPath = ConfigInit().m_KbfxPressedButtonPathDefault; + ConfigInit().m_ToolBarResize = ConfigInit().m_ToolBarResizeDefault; + ConfigInit().m_fadeTime = ConfigInit().m_fadeTimeDefault; + emit KbfxConfigDlgButtonChanged(); + break; + } + case FONTS: /* Fonts page */ + { + ConfigInit().readFontrc ( ConfigInit().m_SpinxThemeBasePath, + ConfigInit().m_SpinxThemeName, + FALSE ); + emit KbfxConfigDlgFontsChanged(); + break; + } + case STYLE: /* Style page */ + { + ConfigInit().m_KbfxMenuType = ConfigInit().m_KbfxMenuTypeDefault; + emit KbfxConfigDlgStyleChanged(); + break; + } + case TOOLTIP: /* Tooltip page */ + { + ConfigInit().m_ToolTip = ConfigInit().m_ToolTipDefault; + ConfigInit().m_ToolTipAnimation = ConfigInit().m_ToolTipAnimationDefault; + ConfigInit().m_ToolTipText = ConfigInit().m_ToolTipTextDefault; + ConfigInit().m_ToolTipAvatar = ConfigInit().m_ToolTipAvatarDefault; + ConfigInit().m_SpinxTooltipDudebox = ConfigInit().m_SpinxTooltipDudeboxDefault; + ConfigInit().m_SpinxTooltipMask = ConfigInit().m_SpinxTooltipMaskDefault; + ConfigInit().m_SpinxTooltipWindow = ConfigInit().m_SpinxTooltipWindowDefault; + ConfigInit().m_SpinxTooltipLogo = ConfigInit().m_SpinxTooltipLogoDefault; + emit KbfxConfigDlgTooltipChanged(); + break; + } + case LAYOUT: /* Layout page */ + { + ConfigInit().readThemerc ( ConfigInit().m_SpinxThemeBasePath, + ConfigInit().m_SpinxThemeName, + FALSE ); + emit KbfxConfigDlgLayoutChanged(); + break; + } + case PLUGINS: /* Plugins page */ + { + ConfigInit().m_pluginsLeft = ConfigInit().m_pluginsLeftDefault; + ConfigInit().m_pluginsRight = ConfigInit().m_pluginsRightDefault; + emit KbfxConfigDlgPluginsChanged(); + break; + } + case ABOUT: /* About page */ + { + KMessageBox::information ( 0, tr2i18n ( "No default settings here ;)" ) ); + break; + } + default: /* Default Action Switch should never be reached */ + kdDebug() << "Default action switch for default clicked..." << endl; + } +} + +void KbfxConfigApp::KbfxMenuItemChanged ( int index ) +{ + /* + * switch is used in case we want to add special code + * for certain page before raiseWidget is called + */ + + + if( m_KbfxPage == LAYOUT ) + { + emit KbfxConfigDlgLayoutLeft(); + } + + m_KbfxPage = index; + + switch ( index ) + { + case THEMES: /* Themes page */ + { + KbfxLogoText->setText(m_KbfxLogoThemes); + ws_Main->raiseWidget ( THEMES ); + emit KbfxConfigDlgThemesChanged(); + break; + } + case BUTTON: /* Button page */ + { + KbfxLogoText->setText(m_KbfxLogoButton); + ws_Main->raiseWidget ( BUTTON ); + emit KbfxConfigDlgButtonChanged(); + break; + } + case FONTS: /* Fonts page */ + { + KbfxLogoText->setText(m_KbfxLogoFonts); + ws_Main->raiseWidget ( FONTS ); + emit KbfxConfigDlgFontsChanged(); + break; + } + case STYLE: /* Style page */ + { + KbfxLogoText->setText(m_KbfxLogoStyle); + ws_Main->raiseWidget ( STYLE ); + emit KbfxConfigDlgStyleChanged(); + break; + } + case TOOLTIP: /* Tooltip page */ + { + KbfxLogoText->setText(m_KbfxLogoTooltip); + ws_Main->raiseWidget ( TOOLTIP ); + emit KbfxConfigDlgTooltipChanged(); + break; + } + case LAYOUT: /* Layout page */ + { + KbfxLogoText->setText(m_KbfxLogoLayout); + ws_Main->raiseWidget ( LAYOUT ); + emit KbfxConfigDlgLayoutChanged(); + break; + } + case PLUGINS: /* Plugins page */ + { + KbfxLogoText->setText(m_KbfxLogoPlugins); + ws_Main->raiseWidget ( PLUGINS ); + break; + } + case ABOUT: /* About page */ + { + KbfxLogoText->setText(m_KbfxLogoAbout); + ws_Main->raiseWidget ( ABOUT ); + break; + } + default: /* default action switch should never be reached */ + kdDebug() << "Default action switch for menu changed..." << endl; + } +} + +void KbfxConfigApp::KbfxNewsBrowserOpenURLRequest ( const KURL &url, const KParts::URLArgs & ) +{ + kdDebug() << "Starting Konqueror ... "<< endl; + KRun::runCommand ( "konqueror " + url.url() ); + + return ; +} + +void KbfxConfigApp::KbfxNewsBrowserCompleted() +{ + kio->KbfxKioDownloadEnd(); +} + +void KbfxConfigApp::browserInit() +{ + /* initialize NewsBrowser widget */ + kio = new KbfxKioDownload(); + connect ( kio, SIGNAL ( KbfxKioDownloadReady() ), + this, SLOT ( KbfxNewsBrowserLoad() ) ); + kio->KbfxKioDownloadStart ( m_KbfxNewsBrowserAddress ); +} + +void KbfxConfigApp::KbfxNewsBrowserLoad() +{ + if ( kio->KbfxBrowserError() ) KBFXNewsBrowser->setText ( m_KbfxNewsBrowserError ); + else + { + browser = new KHTMLPart ( KBFXNewsBrowser ); + browser->openURL ( kio->KbfxBrowserTmpFile() ); + browser->view()->resize ( KBFXNewsBrowser->width(), KBFXNewsBrowser->height() ); + browser->view()->setVScrollBarMode ( QScrollView::AlwaysOff ); + browser->view()->setHScrollBarMode ( QScrollView::AlwaysOff ); + browser->view()->setFocusPolicy ( QWidget::NoFocus ); + browser->view()->show(); + + connect ( browser->browserExtension(), + SIGNAL ( openURLRequest ( const KURL &, const KParts::URLArgs & ) ), + this, + SLOT ( KbfxNewsBrowserOpenURLRequest ( const KURL &, const KParts::URLArgs & ) ) ); + connect ( browser, SIGNAL ( completed() ), + this, SLOT ( KbfxNewsBrowserCompleted() ) ); + } +} + +void KbfxConfigApp::KbfxGetMoreThemesClicked() +{ + KRun::runCommand ( "konqueror 'http://www.kbfx.org/news/new_themes.html'" ); + + return ; +} + +void KbfxConfigApp::KbfxThemeInstall ( QString & themeURL ) +{ + emit KbfxThemeDoInstall ( themeURL ); +} + + +void KbfxConfigApp::btn_SaveApplyClicked() +{ + if( m_KbfxPage == LAYOUT ) + { + emit KbfxConfigDlgLayoutLeft(); + } + + ConfigInit().write(); + ConfigInit().writeThemerc ( ConfigInit().m_SpinxThemeName ); + ConfigInit().writeFontrc ( ConfigInit().m_SpinxThemeName ); + + + DCOPRef m_kickerkbfxDevelnterface ( "kicker","KBFXInterface" ); + m_kickerkbfxDevelnterface.call ( "notifyConfigChange()" ); + +/* +// m_kickerkbfxDevelnterface.call ( "notifyConfigChange()" ); +// DCOPRef m_kickerPanel("kicker","Panel"); + DCOPRef m_kickerPanel("kicker","kicker"); + m_kickerPanel.call("restart()"); +*/ +} + +#include "kbfxconfigapp.moc" diff --git a/configdialog/kbfxconfigapp.desktop b/configdialog/kbfxconfigapp.desktop new file mode 100644 index 0000000..bac0e2c --- /dev/null +++ b/configdialog/kbfxconfigapp.desktop @@ -0,0 +1,36 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=KBFX Configurator +Name[da]=KBFX-indstilling +Name[de]=KBFX einrichten +Name[el]=Ρύθμιση KBFX +Name[es]=Cofigurador de KBFX +Name[et]=KBFX seadistaja +Name[fr]=Configuration de KBFX +Name[ga]=Cumraitheoir KBFX +Name[ja]=KBFX 設定ツール +Name[pt]=Configuração do KBFX +Name[pt_BR]=Configurador do KBFX +Name[sv]=KBFX-inställning +Comment=KBFX Configuration Utility +Comment[bg]=Настройка на KBFX +Comment[br]=Ostilh kefluniadur KBFX +Comment[da]=KBFX-indstillingsværktøj +Comment[de]=KBFX Konfigurationswerkzeug +Comment[el]=Εργαλείο ρύθμισης του KBFX +Comment[es]=Utilidad de configuración de KBFX +Comment[et]=KBFX seadistamistööriist +Comment[fr]=Outil de configuration des services KBFX +Comment[ga]=Uirlis Chumraíochta KBFX +Comment[gl]=Ferramenta de Configurazón de KBFX +Comment[ja]=KBFX 設定ユーティリティ +Comment[nl]=KBFX-configuratieprogramma +Comment[pt]=Utilitário de Configuração do KBFX +Comment[pt_BR]=Utilitário para Configuração do KBFX +Comment[sv]=KBFX-inställningsverktyg +Icon=kbfxconfigapp +Exec=kbfxconfigapp +Type=Application +Categories=Qt;KDE;Settings; +DocPath=kbfxconfigapp/index.html +X-DCOP-ServiceType=Unique diff --git a/configdialog/kbfxconfigapp.h b/configdialog/kbfxconfigapp.h new file mode 100644 index 0000000..80f22ca --- /dev/null +++ b/configdialog/kbfxconfigapp.h @@ -0,0 +1,159 @@ +/* + * Copyright (C) 2006 + * Siraj Razick <siraj@kdemail.net> + * PhobosK <phobosk@mail.kbfx.org> + * see Also AUTHORS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License version 2 as + * published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + + +#ifndef _KBFXCONFIGAPP_H_ +#define _KBFXCONFIGAPP_H_ + +#include <config.h> + +#include <qbuttongroup.h> +#include <qgroupbox.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qmap.h> +#include <qpushbutton.h> +#include <qtabwidget.h> +#include <qtextbrowser.h> +#include <qtimer.h> +#include <qtoolbox.h> +#include <qtooltip.h> +#include <qvariant.h> +#include <qwhatsthis.h> +#include <qwidgetstack.h> + +#include <dcopref.h> +#include <kactivelabel.h> +#include <karchive.h> +#include <kcmdlineargs.h> +#include <kcombobox.h> +#include <kdebug.h> +#include <kfiledialog.h> +#include <khtml_part.h> +#include <khtmlview.h> +#include <kicondialog.h> +#include <kio/job.h> +#include <kio/netaccess.h> +#include <klocale.h> +#include <kmainwindow.h> +#include <kmessagebox.h> +#include <kpushbutton.h> +#include <krun.h> +#include <kstandarddirs.h> +#include <ktar.h> +#include <ktempfile.h> +#include <ktextedit.h> +#include <kurl.h> +#include <kurlrequester.h> + +#include <kbfxconfig.h> +#include <kbfxkiodownload.h> +#include <kbfxthemesdata.h> + +#include "kbfxconfigdlgabout.h" +#include "kbfxconfigdlgbutton.h" +#include "kbfxconfigdlgfonts-old.h" +#include "kbfxconfigdlglayout.h" +#include "kbfxconfigdlgmain.h" +#include "kbfxconfigdlgplugins.h" +#include "kbfxconfigdlgstyle.h" +#include "kbfxconfigdlgthemes.h" +#include "kbfxconfigdlgtooltip.h" + +/** + * @short Application Main Window + * @author PhobosK <phobosk@mail.kbfx.org> + * @version 0.1 + */ + +enum {THEMES=0, BUTTON, FONTS, LAYOUT, PLUGINS, TOOLTIP, STYLE, ABOUT}; + +class KbfxConfigApp : public KbfxConfigDlgMain +{ + Q_OBJECT + public: + /** + * Default Constructor + */ + KbfxConfigApp ( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); + + /** + * Default Destructor + */ + virtual ~KbfxConfigApp(); + void InitForm(); + + QString m_KbfxVersion; + QString m_KbfxVersion2; + QString m_KbfxNewsBrowserError; + QString m_KbfxNewsBrowserAddress; + + void browserInit(); + + + private: + QString m_KbfxLogoButton; + QString m_KbfxLogoThemes; + QString m_KbfxLogoAbout; + QString m_KbfxLogoLayout; + QString m_KbfxLogoTooltip; + QString m_KbfxLogoFonts; + QString m_KbfxLogoStyle; + QString m_KbfxLogoPlugins; + KbfxConfigDlgButton *pageButton; + KbfxConfigDlgThemes *pageThemes; + KbfxConfigDlgFonts *pageFonts; + KbfxConfigDlgStyle *pageStyle; + KbfxConfigDlgPlugins *pagePlugins; + KbfxConfigDlgLayout *pageLayout; + KbfxConfigDlgTooltip *pageTooltip; + KbfxConfigDlgAbout *pageAbout; + KHTMLPart * browser; + KbfxKioDownload * kio; + QString m_KbfxThemeUrl; + QString m_KbfxThemeFolderUrl; + int m_KbfxPage; + + public slots: + virtual void btn_DefaultClicked(); + virtual void btn_HelpClicked(); + virtual void btn_SaveApplyClicked(); + virtual void KbfxMenuItemChanged ( int index ); + virtual void KbfxNewsBrowserOpenURLRequest ( const KURL &, const KParts::URLArgs & ); + virtual void KbfxNewsBrowserCompleted(); + virtual void KbfxNewsBrowserLoad(); + virtual void KbfxGetMoreThemesClicked(); + virtual void KbfxThemeInstall ( QString & ); + + signals: + void KbfxConfigDlgButtonChanged(); + void KbfxConfigDlgThemesChanged(); + void KbfxConfigDlgStyleChanged(); + void KbfxConfigDlgTooltipChanged(); + void KbfxConfigDlgLayoutChanged(); + void KbfxConfigDlgLayoutLeft(); + void KbfxConfigDlgPluginsChanged(); + void KbfxConfigDlgFontsChanged(); + void KbfxThemeDoInstall( QString & ); + +}; + +#endif // _KBFXCONFIGAPP_H_ diff --git a/configdialog/kbfxconfigapp.lsm b/configdialog/kbfxconfigapp.lsm new file mode 100644 index 0000000..df0859a --- /dev/null +++ b/configdialog/kbfxconfigapp.lsm @@ -0,0 +1,16 @@ +Begin3 +Title: $APPNAME$ -- KBFX Configuration Utility +Version: $VERSION$ +Entered-date: +Description: +Keywords: KDE Qt +Author: PhobosK <phobosk@mail.kbfx.org> +Maintained-by: PhobosK <phobosk@mail.kbfx.org> +Home-page: http://www.kbfx.org +Alternate-site: +Primary-site: ftp://ftp.kde.org/pub/kde/unstable/apps/utils + xxxxxx kbfxconfigapp-0.1.tar.gz + xxx kbfxconfigapp-0.1.lsm +Platform: Linux. Needs KDE +Copying-policy: $LICENSE$ +End diff --git a/configdialog/kbfxconfigappui.rc b/configdialog/kbfxconfigappui.rc new file mode 100644 index 0000000..74cf442 --- /dev/null +++ b/configdialog/kbfxconfigappui.rc @@ -0,0 +1,8 @@ +<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +<kpartgui name="kbfxconfigapp" version="1"> +<MenuBar> + <Menu name="custom"><text>C&ustom</text> + <Action name="custom_action" /> + </Menu> +</MenuBar> +</kpartgui> diff --git a/configdialog/kbfxconfigdlgabout.ui b/configdialog/kbfxconfigdlgabout.ui new file mode 100644 index 0000000..034575f --- /dev/null +++ b/configdialog/kbfxconfigdlgabout.ui @@ -0,0 +1,727 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgAbout</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgAbout</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>697</width> + <height>578</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>Form1</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">People behind KBFX</p></h3></b></string> + </property> + </widget> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout5</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxLabelVersion</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>629</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>629</width> + <height>20</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image1</pixmap> + </property> + <property name="font"> + <font> + <pointsize>11</pointsize> + </font> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>You are running: <b>KBFX 0493</b></string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>20</height> + </size> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image2</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + </widget> + </hbox> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Here are the people behind the KBFX application. +We would like to thank all people who have helped with KBFX or have donated money to our project! +THANKS A LOT ALL OF YOU OUT THERE!!!</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + </widget> + <widget class="Line"> + <property name="name"> + <cstring>line3</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QTextEdit"> + <property name="name"> + <cstring>KbfxTeamInfo</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="text"> + <string><strong>Name:</strong> Siraj Razick<br><br><strong>Country:</strong> Sri Lanka<br><br><strong>KBFX:</strong> Author, Maintainer, Developer, Project Admin<br><br><strong>Email:</strong> siraj(a)mail.kbfx.org</string> + </property> + <property name="wrapPolicy"> + <enum>AtWordOrDocumentBoundary</enum> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout5</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout8</cstring> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>20</number> + </property> + <widget class="QLabel" row="1" column="2"> + <property name="name"> + <cstring>KbfxPixmapLabelEphracis</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image3</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" row="1" column="1"> + <property name="name"> + <cstring>KbfxPixmapLabelJohnny</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image4</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" row="0" column="1"> + <property name="name"> + <cstring>KbfxPixmapLabelPhobosK</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image5</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" row="0" column="2"> + <property name="name"> + <cstring>KbfxPixmapLabelNookie</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image6</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>KbfxPixmapLabelNathanael</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image7</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>KbfxPixmapLabelSiraj</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>90</width> + <height>90</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShape"> + <enum>WinPanel</enum> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <property name="pixmap"> + <pixmap>image8</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </grid> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="text"> + <string><b>Tip!</b> Hover over the contact images to see each personal contact information.</string> + </property> + <property name="alignment"> + <set>WordBreak|AlignVCenter</set> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>24</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>9</pointsize> + </font> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>SPONSORS!</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>4</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>We would like to thank swedish computer company <b>PC Agenten</b> for sponsoring us with a server and bandwidth.</string> + </property> + <property name="alignment"> + <set>WordBreak|AlignVCenter</set> + </property> + </widget> + <widget class="KActiveLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string><p align="right"><u><b><a href='http://www.pcagenten.se'>HTTP://WWW.PCAGENTEN.SE</a></u></b></p></string> + </property> + </widget> + </grid> + </widget> + </vbox> + </widget> + </hbox> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> + <image name="image1"> + <data format="XPM.GZ" length="32618">789cb59cc76e23cb9286f7f7291ab7761783bab42289c12c286f284bf9c12caa2a93a20c2947d9c1bcfb4446fc119945f5b2bb03c98340903c72f9f10f93f9ef7ffdba3cdafff5af7fffe375512c6eab5fd5b478f9f52ff7369b7dfdf7fffcd7fffee39f2badc1af56e357a7dbffd5fae77ffce39fc78b5fd5afac5bf4abc924f87906dfc12fd82f2d5ec2d77805dfc377ec5716f7f011af8ee14f109fb0efecf537f011f71df6bdc5a7f011af4ec41f3410bf657f62ef7f27bec5efe137e1cf82bfd2b0f8037cc4fd13fb4d8bcfe1235e8de1b71097e7b7ecfd1fe16bfc197e1bfe0bfb6d8b2fe023eef7e177107f65bf63cf7f83afeff70e1fcff7d7f0bbf87a4fd9efdaf33fe0ebfb7fc1c7f3f34ff6572cfe0d1f719fc35f81df60bf67cf1fc2d7f75b85afcfdf63bf6ff135f888e7ebf07bf8facfd81f587c033ee2f926fc3e9e7fce7e61f12df888e7dbec9716df81aff13df803f8bbec57161fc147dcadc32f1097df9fb3d71fc047dc0fe197f079ffad787bfe217c7dbf23f8fa7cf97b9a58fc183ee2f9097cddbffcf7da6b58fc143ee29ebfbe5ed3e2e7f0f5f567f0b1bf3dfffdf65a16bf80affbff12beeedf2bf6db16bf868fb87f85affb97ff9e7a1d7b7d13bec65bec772dde86aff18ef805f66f255fdf8ac5bbe25bfc12beeedf15f67b1acffbf0950ffcf7dceb5bbc075f5f3f808ffdeaf9efbb37d07896c3d778011ffbd3f1df77afd07896c1573ec8d7535abc808f7856c2c77ecc98d7bdcae20ebec63d7ce585fcbe9cc527f075ffafc0d7fd2c3f4fafcfafaee1e3f9d92d7c3c3f63def726169fc2d7f81d7ceccf8cf9dd6f58fc013ee26e133ef667c6bcee37edf533f8884ff8e7d16f59fc11bebefe093ef663c6fbaddfb6f80b7cc47d091ffb31e3bfe77ec75ebf808ff8847f9efdaec6ab067c7dfd1b7cddeff2f5ae58fc1d3ee26e0b3ef663c67ceff7345e35e16b9cf9deef9bff051ffbb3e2fdd51f58fc1b3ee26e1b3ef65fc63ceb171acf56e123ee76e0ebe73bef8f7e69cf5f83afefb70e5f9fcf7faffdcae21bf011cfe4f75f95d88f9eff9efbcee2f2f371165fc0d7fd28df8fd778b6031f71c7fcef4f2caebebe7e041ffbb1621e0d1a16df838fb86bc1d7fdc89f1783a6c6b303f8badfcfe1eb7ee4cf8741cb9e7f045fdfef18beea01fe7b1ab42d7e025ff76b07beee47fe7c1874ecff3786affbff1d3ef6e384f933e8daf3cfe0ebfb9dc3c7f32be6c560c5e217f0757f5fc2d7fd2d3fbf9ec5afe023ee27f0757f327f067d8d670df8aa0f985f8381c59bf035de83affb577e5f85bd7f1bbec6bbf0757fcacfb3b4f80a7c8dcbfb57ea577df8ba9ff9ef69e0ecf97df8ca8375f8d89f15efa781d778a63ee2057fde0c26e617f0753ff3df5fd1b078061ff1a284affb99dfaf685abc82af9fe723f8ba7ff9efad68d9f31d7c3cbf98c0c7f30bdebf45dbe237f0f5fde057d88f4ebede8ebd7e2abec5dbf0753ff3f75f74355edcc2d778055ff7ab7cff2bf6fc3bf8787e710f1fcf2ff8f3a9e8597c065f3fef0fe1ebe7bdfc3cfaf6fa397cddff63f8d85f057f5e15038d17cff035ce9f5f4561f117f888bb097cec3f273fefd25eff0a5fe307f0b1ff0ae6675159fc10bec6993785d378f1015fe3eff0b1ff0afefc29bcc53fe1ebfe3f828ffde799ffc5c49eff0d5fdf6f081fcf2ff8f3a86c98bf061ffbb3e0fd54362dbe015fe3fcf952b6ccdf82af7a9ef955b62dbe0d1f71d7818ffd59f0e74bd9d178b10b5ff7f714beee47e65fd9b5d78fe0233eb9818ffd35e1bfd772c59ebf0f1fcf77c7f0753ff2efb7ecd9ffef10bef2a10b5ff723ff3ecabebdfe18bec6f9efb51c987f025ff7277fbe9485c5cfe06bfc5c7ca7fb575e5f5a5c7edea5c68b4bf8ba7fe5e75159fc0abec6e5eb7316bf86aff153f8ba1ff9f3a3f41a2f9af0753f6fc3d7fdc69f17e5c45edf86af71fe7ba81ae677e1ebfee4df7fd5b4f80a7c8d9fc1d7fdc59f27554be3451fbe7e5edfc2d7fdc29f0f555be3ee163ee28ef95675345ee6f0112f33f8d86f25f3b4ea5abc848ff844be9f157bff7bf8fafa0a3ef65fc93cac7a16f7f011770ff0b1df4ae659d5b7d7dfc0d7fcfc1c3ef65b295fcfc05e7f0b5ff7b37cff85c5d5d7fd3c838ffd55caf753dafb3fc0d7cff30bf8d85fa5bcbeb2d7cfe1ebfee4bfe7ca59fc11bebefe09beee4f79bdb7f8337cc4cb57f8d86f257f1e54138b2fe0ebe7f7257cfdbce5fde01af6fc77f8fa7e6ff0f1fc9279ef9a16ff84aff12ff13df65fc9fc762d8b0fc5d7b8bf878ffd5732cf5ddb5ebf065ff373fef9bb8ec5d7e1ebfe7e84af9feffcf3745d7bff0df8babf8fe0633f96fc79e056345e6ec1d7cf6b89f72cbe0d5f5fbf031ffbb564bebbbec577e1ab7eff80affb9179ee06f6fa117cddcf2bf0753f32df5d61af3f84af71f9fe4a8b1fc3d7fdfa025f3f8ff9efcb55f6fa13f8aac77bf0753f326f9dd378790a5ff7b33cdf5bfc0cbec6afe0eb7ee4fdec26f6fe97f0351fff82affb91f79f6fd8ebafe0eb7e575ff72bef17dfb4e75fc3d7f76bc0d7fdc99f07be65f1167cfd3c3f83affb933f0f7cdb5edf81af9fe7cc5bdfb1af67015f5fbf025ff7bf7c7d5d8b77e16bbd6e065ff723ffbcfd8ac6cb3e7cddff3bf0753ff2e785ef69bccae16b3d9e3f0f7cdfe2057ce5c7a7f813adb7f1e7831f68dcbd89af713f87affb597e9e85fdff2af1edfd1c7c7d3eef1ffae969dcc3d7fafd04beee7fe619fdf4347e035fe31ff0b13f2bfefca09f9ee6fbb7f075ffb7e1ebfe65bed14f479f7f075fdfef1ebee6e3cc2ffa6e353e83af9fff7df85aafe39f177db7fafa47f8faf9cf7ca2ef4ee34ff095179ff0353fe7fd4d5fadbeff0b7c8dbfc2571ef07ea3af56e30bf8ca83267cadbff1df0b7d35ca976ff85aef7f83aff938ff7ee8abd1f8077c8d7fc2d7cf7bde9ff4ee1aff82aff5b66ff85a8fe3bf1f7a777dfe2a7c7dfe10be7efecbf7d3b7f81a7ccde7d7e1ebfe95d70f2cbe015fe303f89acfcbefabd078b5095febf5f2fb2d2dbe0d5f5fbf0b5feb79bc9f29aaf13df81adf87affb973f4f28aa7c59858ff8c4c3d7fdcd9f1714d5f73b80aff58235f8ba7ff9f3861cfdff1dc247fc7891676405ad32af7297fb7cc276934f794df3dbfc8eec3e7fc8676473b6c7fc89d663fe9cbf90bde68bfc2d7fcf3fc8c2e367fe45eb3b1f92adb2ad91ade71b6c9bf956be9defd0e36ebe476b44b69f1ff03ac80ff323b6e3fc241fb39de667f939adb3fc22bfa475955f93356835f356dece3bbc3a79976d85ac97f7690df24196c3c2bf82569955648ecc934d6037d934bba57597dd933db0cdb239d963f644eb397b617bcd166c6f66efd907afcfec8b5678fccabec98664ab646b64eb6c1bd926d916d976b603db25dbcb46b4f6b2fdec203ba475901d65c76c27d9383b251b939d65e7b42ed82e695db15d670db666d6226bb375b26eb642d663ebc30662455e6445f8473f8c8292c02208ed600474b21bb229ec96ec8ed75d715f3c1433b239af79f1c8eba9782e5ed85ec9166c6fbcde8b8fe2b3f822fba6ff0ec956c9d68af562836db3d8220b8fdb643bc52ed95e3122dbe715eca038243b223be67542362e4e8b33b2f3e20276595c15d7b046d1646b156db64ed1255b21eb91f5d9066265ce46796f29ff42025191f9b0d1cb1bb669795bdef1ba2befcb07b65939a7352b1fd99ec89ecb17b2d77241f656be971fb43ed9becaef7258ae966bbcd6d936d836c9b6ca6dd84eb95beed11a91edd33a203b2c8f681db39d908d799dd23a233b67bb282f695d915d9335c89af4df16599bad43d62d576875cb1e599fd6801e07156d74da06e1d7cfdf74a5ff484612b8c2ba619b92dd567764f7d5033dceaa39d923db13d933ad17b257b205db1bd93bad0fb24f5a5f64dfd5b05aadd6e871ad5aa7b5c1b6596dd1dae6b553ed567b64a36a9fd601ecb03aa2f5c72cd02ecf8877f8e513eb82f9ea98693709acab4e40bb603322de433eafc6c4ba2763dd0b916e91bf57a7605da0dd07b14e683764d2ad5567601d59754ea4dbe1b543bc13d68d9875817687a05db053b67336e1dd15114f6817ac49ab9db7ab0b615d75498f7db65e9687655630ef0aa3dda4baa275cdeb9679174c4837679b913db23d19ed9878552318512ed847d50ca6acab5a4cbb6f22dd30a1dd06d9166c9b79b72db4abda551bb4db67da1db111ebaa4ed54978775e759768771d6857ad10ebc8aa9ed14e58c7bcab9875d52018b32e27d2e5ccbacce546bb8a3947e6b2c03b57f0ba756571e72aa2dd03af9973609d1893ce795a13e65d20de879910ef937837e4b54aac5be5c70d665da0dd36f34e58273602ed0e130bac3b26d29d10e7c64cbb6017ee262c7aacb3ae09d6b5887681771d3705f1c03b77ebeef0071f5847cbdd0763de4d8877de3d8077b760dd9d9bd1a3f06eceac9b97733707ed02ef16b4dec9de88769f3061dd904807deb947f704de6d31ef94798175bbe05d30639d7ba6f5428f8176a74c3ab1cb483bf70ada09e95a4a3ab7700b629dd02e581f3620de15c43ba69d7b736f205d459cf3c23af74eebc37d10eba64cbb3ba2dd3dd16e06da3d89b94fa6dd8bfb52dab96fa2dd3bd3ee0bb45b251bf25a7743a35d60dd26b34e4847e656897523b74aff25dab9b53fc93ad0ae48785791b21353753735d6cdd8987641db11f11e610bb637a2dddb12edbe49d50da1edd669817544bbc83aa1ddbe5b67e605d21d827441dd09ed44db5dc0ae4ddd3559dd358977817442bcbe6abbc0b8a0eedc8629bbb0c94b669d6365c7eaaeba66de4dcd98766e937997d26e41a47b65cebd31eb82b27b775b443a221eabba4fa2dc97db6655c7e67688761be09dd28e759ddbcdc4466cfb6ccaba23d275443b5ea7a4e9c6acecce03ebdc9edb33da35847644bac8bbaeb2aeea577d3752755711eb8877c43ab70f6d571565423ca7c4337d77cbbcabab3bd1768178cf9178c23a77502cdca13b64d67d31e93edd11934ed5dd06d4dd26d4dd96293b5577b4dc71b14f4b59770c1b33ef9876ee2418f3eeca8d8576ee14bc5365d766da7544ddb93328bb7ea2ed325a65605d5985153817b41d5877ebce23eb40bb99bb08bc739744bbc7f29978f7ccb66053dabd83755ff4a8b4636d67ac13d26d9ab6db01edf67989b6536547c423da05651774dd29b4dda5bb82b2bb20daa9be6b91ba0ba423de05d6b15d1beb7a4abb2a67de1581748175cc3b27da8e38e74dd7dd10e5a6a6ed1e58d9cd99758f29eb40ba85fb26d6bd41d911e95c835917d69a6b12e7d688761b66c2ba40bb1d32683b21dd5fa35d5ddb795e09ed48db2d293b64b273f0ee456967acfbe225daee3bc963d7a1efb658db09ed7642264ba41b41db1d2699ec69c2bbf325dea9b20ba46b7326ab792ceb3a5ec106b54cb650de91ae23de057507da456d77cf59ec0394dd8c33d927e4b29cc706da09e9c4dc16d3ee938927baeedb881795dd06f258e1dd76b69b45de056db7e75ac864430e7b0cde8d59d929efce58d95d06e6a9b623ce4926db442e1bb45d0779aca9bb24930db4931f449d759cc992b69bd24741e1da41db31e7e4f12e90ce39a83bd577cf5077aceb88730b7e14da057527daee1bac0bb45b4bb41de7b1ae63bc536d37626d1732d923d735de8dd9288b0d9c0b8fa2ed8874574bea2ee8baa0ecda41d791b2eb1aed9878f4677e9b68bb403b269ef20eb49b22930df640b4933c3664b273ce611f1d130f99ecc288f76179ec17916ec8fa6e955857cf6537925c76d768b72b79ac5ba1c7635577cc3aa69deb9567612197bd2c8578174cba6b229d6a3b56765077ddb03897155d97d04e7947b413d669262bb4bbe13c36d83debba90c9ce5c1fdaeef1a7b213d6f1e307749dd06e885c764db41d3d92b27303e4b2bbb402ebf6798dfe0eeb6ab4cb40bbcaea76463be3dd03f36e1e389728bb17ca678577ef09ef3ef36f9f5b2ebbaa553be2dc468d759cc9b2ae2365e733abdb69d5ee04ac0beaee22a1dd3568d706ef3ad50569bb151848a7acf345c23b51764e4997dd42db057b40d56e399315d6bdfa327b21d62d44dff92ab08e18f76eea2ee4b2817435da7927bcf3be96c7ee864c1659ec9ee5b249260bd3ba5dd076c102e92e85757ea2b4ab7aa4ecb47217ab763d517592cb229335da85a205b3ae02eb8876deea769cc916a0dd3dd94c7857cb65857694c712f116ca3bcb659975a4ee4226bb4a8f81746b89b25baedbedf929d7ed3897257577505377a2ec4e82b203f158db29eb48db5dff50775dd576a8dc0dfc2d67b24abbc0bbc268e7cd621e7beb35930dc49b71262bbc63e231ed42cd4eeb76c13e4ddb11ebfc7dc863fd8369bb75cb65b78c773bb53c562a7707a0dd8b29bb5336ce6449d969267bc1baee8a699754ed44d9952baaedfccccf348f25d6655cb34326ebe750774e32d990c78278b7c86399749cc7861559176a7756b783b2536da7bcfb42d52e902e54eed659d7d1f28fa0ddae65b39cc92aedfe2cf18c7651df456517aa7637443acd66ef99770ffe496807de3d83756f4beaee0b99ec907359addbad5bd56eab96c98e6adaeed03f239b3d45e5ee3c64b3fe05a40b75bb867f45d5aec95d0aabdc31edfa31970dace35cb600ef349345e58e4c4837e52ec514bc9b817741d73d41dbbdb22d947651dba16e277d0ad57643f06e3d5b23de91b2f31ebcdbf28ba44bb16b75bb03b08e7b14fe8d59174877eadf8575a8dc5d32ed24930dfaaeb9a4edb47297e4b2cabaf0e8f6997715945d92c7fa9bc83bd6766209eba0ee6aca8eb5dd2264b28176c865bf34974dba14a166b75ecf6349d9ed8695f629dcb1e4b1c866a3ae3bd1aa9de4b164579ccbde80780da65d2be95274887342bb5a8f02996c507699e6b2d0764439d27613669de83badda719f8232d944dd599742ab760bce65857743a6dd2a580765e79edc63a2edb68873dbaaebfc07f72846d6a7b0ca9d6abbf214ca4e2a77caba2b683baddb75c440bb85693bed530cb86647cb7f0aed50b9e3aa1d912eaabbdba44b7107dacd6b953b68bb5add2e2ca61d67b25faced56c1bab5a52e85e4b23bc6babd50b50bbc736bc4babfd5a5c8628f82697713959da9bb59ad4b91d6ec84746f4cba0fabd97da3472199aca93baedb6d99b2db4d581768776099ecd8f2d8d3dff6641ba6efb827cbbceb6b8f82941d6887ba9d66b295f08e7b14579ac7d212da6997e2a1a6ed5e688174a17207debd8bb6b31e85b0eeaba6ec922e05b16e83b59dd04ef358d5757bc4ba7dce638f8c7527494f56d49de4b06ada91156dd74c3259d577d69365de15d695951f46057557abdbf147015817fa14c4babbb46647bc13d63d59a76202e229eba443a1d5bbefa42b1b2b773193ddfd6d57f630e9c9c6aadd89d08e74dd0f759728bb96b02e64b19ccb92b6935cd6456d97f1c23f68bbca32d9293259ed53a0239bd0ee9149f784aadd8bd5edeada6ed54c6957ef536c33efb6932ec501772902e98e7ed06e0c7577ceac23f35fd076d756b753e2b56b5d8a1e783748b41d77642d93459722d4eda0edb843e1bf413bd17692c93e998175692e0bd67dba0668b70ad60d95755cbddbfa0def82ae1b29edfe2cebb44b91f428aae5aa1decb64e3babd9056d675d0a746523ef86694fd6aa76328112ab76a4ee2893d5f993033fb45c76ccca6e9c74652f9875c2bb265b03ac6babb2ab2ef315bf2ab9ac5ff36bca3be8bb92ad325d3709992c2fed51c80cca9cd55d9ac772379672d9579e40418f22fba8f5643fad72b76aca2ed89ad4ed4cdd89aea347d27523d176ae9566b246bb137429987541db718fe232f6648576599b7b142dd376a15ec735bb8ab358bfae79accea0208f159b44d679eec9aa5926fb50cb64e7e8503c731eab5d8a348f0d9cfbf21bc86455dbad25acd33c767b49ddd5b358e5dd986750b41f1b3359e31d65b24d68bb763281c2fa8e48a73dd9fa044a91b02ecca030eb9876a4eeb84b712bca8e56aaed1ec5ac4bf18ccadd1bcfa0bca16ef76975bb3564b28f09ef88757eb396c9ee93badb65da4957d6e64fac72772a3328dca150d65da027bb54b963d675421e8b5cb6873e05b34eeb7681769840719ac95a1e7bc33dd93bb307cb661ffd56c8648345de11e5b84fa1cace7ab243e3dd1a67b1ebcc3ab16dd80e2a7723ed5210edfe70ed8e695762442368bb92485759d5ee66a92b2b95bb39f3ee09bc5bf0144abd4bf1c1b3769fd691157567b483bad3badd48bbb2a6ee6257769cb0ee0ceace7259d6752d54eeba92cb12ebfad6a1e841dd65605d663328aced8c771364b2776c5077dc938df376cf71fa44e7ed7ca5c4431eaba6f37643f46475da6ec3e6edb6631eab3d0ace6365d64ebbb2a7984189f376e7c864af58e13512dab5c0bb40bb76cc6403edb46a9759e52e2a3b22de92b2b379bb29f2d83bed5210e944df3d26864c56eb7644bc37d3765f3fba14f5ba9d64b2db495fd66a769acd523edb65de8d55d7a5b40b596c92c7728fc26f43db694f760596e4b2499722cedbf9403b225ddaa5887d8a7bee53c8b49d54eeb46a17b4dd73d293fd449f224cdb7d43dd255d59cb64b76a7d8a34970d79ec51ec5330f1c6e8528c2d8b3db74c56bb148d64022556eeea13777dbf8359bb3ce9ca0ae92abf8baa9d970914eecb2aebee316fc7d37644bbd8a5780d2ba83bb04e2a779f4b5d0acd63d7317fb2c1aa6eab96c9eeebf409b4ddc19fa69d4d1797cc3a671328cc3ace62a7365dfc90e4b2f3a51e4560dd1bd41daa763e0fdaceef61fe643d9db6a3c73d68bb34933d40dd4e67ed4e40ba947692c94a36cbac23ce859e6c1b1328cabb41ad232bff4ad4ed7ca05decc99ab67b4826eea4279b4edb2d947749dd0eea0e753bd576c3a579bbf5403aeb536cfd8676a2ec62ed4ea64fb4233b8ed3c53681d2f01354ed58dd253d59eeca8abae39e6c4ddb594f1613777ec4ac73491e9b255d8a7b4ca0d4e74f1e6db218ca0ef3c51fe8c9d669b70adead735f5678b7096547c40bdace4fb5231b265090cb1e71dd4eb55da8da09f1305b2cacb389bbeba589bb8ef463d1a500ef421e9b7429a0edb44bc1ca0e5d0ad27669ddee01da6e6eea4e33d95768bb7758acda0da3ba33da3d11e536307fa2d3767b367db29ff4280e6db6f88427eec6d6a5b8547597b04e94dd525f967359ee51e8048ad1aee0ba5d9154ee9c75656fcc629f02d37694c9ceb94ff124ea4e2650ac6eb7d04c96b2d8388342ea4e2650c0ba386fa7da6e573a143a6f17945d75f497ba14da93ad6ce2ae9ec9ea04ca5d328112d51d9bdfc7c45dd476433b4b81aa9da83b9b2dde62dae904ca419cb7439782ab76fec0b4dd79d291bd4297426750bab03ed45d3fe4b1e9bc9d65b2a12b2bc4d3e993d8a778902e05e9ba8724930d753bce66431e1b7bb29177492efb6d36c4fc09b2d83881e217769e22ce164b97623fe9539cd47817955d20dd25b4dd15945dc3ea761d18730eac63da8579bbdab45dc91377e9fc097ab2c23aeb52dc63fee4c1397f885cf69989a735bb8974299476e852688f224e17874c766db96a9764b1a6ed306f7790d4ed947563addb89b6e365553bce66ebf3762b463b3d4fc1592ce68b4b9db863da399db8336537f57756b7bbb7b3148fd0764f609d4ea0a4b4d3e96261ddbacc16ebf4893f62de6d27b3c53bacec46e85308ef96e64f388b8d3dd948bb58b76b30edda7a96c23a14dd3883c2e728c48876c9048a4bfa143ea15d3d8f15da3d2d9da5e0199490cb9abaabd38e7897d06e9d951dcfdbf9c7a52ec5c81f43df1d729fe28f6b3ba83be95254c9c9b11b23de2db2d8bb9ab27b626d271377daa57837da694776159d8a7563dd4692c96a4f761fb92cf7646dba98b41d687766d37697645796c926b4b30994be56edf2815f731bbeb04cd6e6ed94766256b9bbb74ec5ccb4dd13e7b14f5077a2eddea2b65bea5248263bd4ca1d65b2eb365d9ce6b19acb8e96d4dd514a3bebca8eb52b1b58c7a4a36c96955dc3b45d3c39d6b63c5672d981f629e42c459c40616577c2553ba755bbc03acd643173f7b0dca7281efdd8268ba3ba9393636f3849f1c9e7c6be6dba7858ebc96e26b4db4e5867b4b35c369d2d3eb36cf63c6a3be35da8dbb528936d2dcf16b3ae5bb12ec5dd721e9bf464431e3bb1b31477a8db3de011d3c5d0763a5dfc1232597fca3dd9d8a518f25a8d27c7dc63309bb7dbc274b17465f7a0ecf651b53bb6936351d99d481e4ba43bb34e45da936d492eebcf62e54eb51df41d4e8ec5693be19da9baaa36814279acf5288c76c4b979d2a778412ebb904e85cda0c45c761526bc5b3775b7892c56a6ed7663ddcee68bff46972268bbc2945d959ca598fee634c57c69e24e265002e916d6a3f802efa0ed924cd666eea0ece2fc49acdb49d54ea78bc7327d929fdbfc8954edae49db29eb3ac974713f3925cbbcb309145577aaec3cd7eeaeed2cc54dad47f1503b4911eb76af3fe68b4dd9c589bb8477e9c93199b8dbc674b1d26e94ccdb91b2f3e735da8d93baddb99d1c0bc4bb469f42cf8dc5f993cef2c49d4ca0fca8dbc52914a7cace6b4736aa3bcb63b96ea73d593949f194cca02ce7b2ef366ff79d746437c0bbad62d35fa4fa8e3259eb5298ba0b553bcd64a5237b1a67508874977a728ca7edae59d93599781d4cdb756a553b54eeec946c964c1893b6a3473e4b91746563e52e9e1cb35cd66887d9627f99a83baddb255d8a64b6384e17efa8b6b34c76c4792cd45dd2a3182767c7cead4f116877e5af92ba1d6a77bf3d4b211dd99ca750ca248f4dcf8d25b4e3b314b7384b1168f7184fc95a1e6b5d59abdabde39c6cd0764abb35992eb6d31469266bca0e79ec2acec9fe95ba5dd295753f68778793b256b3cb1f92793b3d4b81c9e2ead45f0beb7c23992d5e4dcf526002652bed5220973dac75294eac237b0a6577663d8ae5d314dd98cb2e4fa084ba5da2ed5c6213c963ad6ea77d8a786e4cce5248dd2e64b20b3b25fb1659873ec5a74e1787f962ebca0aef3497dd4cba143b4b5d8afd5a9fe2987b14a7b52ec552dd2e7629428762f9a46c9cb60b796c42bb4cd49dcba1ef64beb8d6a5d093b2b59add8c32d9797272ac7e2b00b259cb643f9269bb78726cb576728c3b145077bbb573b24c3b3e491127504ea1ec428fe24cb59d7429dc69c862692d6bbb0e4e52484f964f8eb9bbf49cac9c91ad4d174f2c97bdb37b01e2690a65dd93e83b9bb7d34cf6c3f258b08ee78bb96e17aa76acee36937363b14bb15fcb638ff4dc18af71ad6e47fa8ee78b2593bd48ce8d3559db75ec3c45d772d9e4dc98d6ede20c8a7565933c96bb14729622addc3da6f70230ef50b50b3d59dfd4b31492c926f3767a9662c3ba14da95ddb1b3b2239d41f97b3d59ce6403e9cae494ac4f3ab2f55b01e656b9136db7e05b0164baf803fa2e9db78bb70248edeedc6827ca8ee7ed780645b5dd11b4dd31ee4039af9d1bbbb473b2d736811279b7c2eaaeaff32752b7b3e9e282a74f1c2fafb3c5764af60e95bbd8a7783475f7c4ac7bc139d985dd0950ef527c572de35d3c37569fb7dbc27d00d076a8dc45d6c50994403a99b8b3693bd0ee0a27c71abfa15d37d175bd784a3666b2a6ec4a9b41a9e5b24cbbb66bdbbc5dc862ef7ff4299e45d9d9c9313d3b166f058875bb5533e9c96e24f327c2bb5d3e4991e4b24b77021cffae2b9b66b25cb36b42ddd9c41da68bfb3c6fd7d373b289b62b7ff06e82e9e2a0eaa67a964233d9a51e85cedb712e8be9e2a0ecdeece498f66357b5231be7edbc56eef4d4d8becd171fda498a675377ca3bc964316f979ca468241d0a54ed78da6ec52650a42b3bd0aa9dd2ceb748d6cdd1914d2750a6cc3be29c6f27ea6eb6dca560d6bd18f17e9ea540266b33286ba6ed3497d59314fb325dfc77cfc942db79bbf18996efe094ecd4668bf5a4ec43729a426e41d1badd1bf2d80f3b251bbb14b81300e728f42485a83bedc8ee43dda5b7029ceb743172d94b639d9ca568d4cec9aaba1bd4ef4021de15e05d65cace6713dff52b3837b67c07ca6ce9568057abda2577a0c819595576ca3aeec70e75de8e4f52ac87693b3b296b27c778da2eac7de3dd71726e6c6cb9ac9c913d4f7a1457e1922f3b29db462e8b69bb78e353aaee967ab272e353e8c94eecbe27abdb09ed90cbce64de4e4e52d07ae62c9627ee64de4ea78b6bf3769fa8dbd5ef05d0badde66fa7edeaf376474ba7644fe274b14cdbe9490ace64d3793b3e27cb73c5c865eda46c3a81c2f3c5209d56ee2676722cf428a676dfd31d7ab20fc974f1134e8ec56cf63d992ed62e453c39f658bbf549678b776ce26ed7ee40919eec61d2a738f1bdda2d28e7769ae2c2ee7caae5b17ca26225c9657bc9c9b19fdace219315936eec8dcda0dc837673cb6643cdee79f956005e1fc864932e856bda0ccaba293bbd012564b2f15e80913f1665f76759579b40d15fbfcea0dce8044a42bb999e9465d2cdedcea705aff7e49c6ce8c87eea048ad02edef8c4da6e3bb9ef694fcfc99aba8bb41b2737029ce3c6a76bd4ef02ebe2bc5d07a7c66cb638cd647de1fb3f32d9493c2b6bb702dcff46db857eec53cc63ad72c7ca4ece8dc53b50e28d4f7e909c941565b761b3c5dbb147615d599e3ff1e7f15600527527b5b3141736598ce9e2dfdcf7a46729d09565da0d34974d3359f464b52f7ba3f7db09ef2c8fb53b01a472c7c4930994673d47811b9fe29d00b127fbfd43ddc90d775b917746bb91dc8182b363fb56b7133bb15cf6c2eeb7bb4cee7cd2e99326e7b29ac5769319941eabbb9476f59314e939d929e64f6eeb77a00465e72eb92b4bb4e33b9f64e2ee3599b87b5baadaada61328c6ba8d249bddc3b4dd6eede458bcddee24e9529c2679acde0970850994a6ce9e949d508a4aa6ed94765ab3cb6397c2b72c9385b6637537e5d3148174b74bca2e3d37f6143bb293cc2a77aaed3e51b71baab25baada6d9ab64bef401911ed5659d9fdf9936325949d36a66bb44bea7677756d873b9f5e7406051328daa7f84c4e8eadd98d4febc91d28db51db71d56edfea768796c92637a090b2d369bb600d3e291b4f53681e5bef53e8c49dd6ed4a4ca04847163328bce436cffb64de2ebd13e0c9eeb67b4d2a77a2ed3897b5aa9d76295697ce8ea5992c130f373e29ebe2b4dd419c2e66d29d4e0af428ce6c02255ae09ddee629377a8275b57363fd2aed5124b96ced9ceca4764a766a2729eed0979d41d9c51b9f9e6502c5cecaa65dd9afa44bf16d79accca06cd52b77917693d2d4dde18fd31492c99e2bef64d68e6c5c9f2f86bec36c316eb7ab9da5b089bb427b14acefa4239bd6ed306f873c56e7ed12ded5bb14b8cdf3ad368192d08eb55dbccf739b73d91dee53c86d9ebb56b5d31e45c865b54f21553bbdf3e94c6f7cb29e6c3a5dac1d59d4edfc0cf7dbe9c931cb649373b2d552267bcb4bee4049ef05a857ed5e527d57bff1299d2ec604ca5a52b7d30914bd156084b363cc3ab1bfa1ed50b98bb702dca4137776078aaabbf9d2d931b913e0dd4e52c41994a44b61f3279bb55b014672e7537292224ea09cdac9b148bbaba5fb3cdbe8caaab68b27650761fea4d6a5a8cf9f784c17dfda0d286926cb373e4d2a3b25fb6237dcd568575377b59b8bf95e00659dcedce96c71729b67ed0e14ed529ce0a4ec6972964233d98be4ac6cd2935d3e39a6166f05a86ab47339d49d4cdbd9ad00a6eca6494f16b92c6e04485897f664933b01a46ef795e4b2e9ad0071deae7ee7d31ed34e58b78f5b0134974d4ec9c6f9e2d8a548ee406961bab8b33483d28be7c6c0ba524fcada7d4f51e14dd39363ca3a54eee6762fc03332d93871f766d376c325d6ad219705edfc51edfee2385d7c60d3c57c030aaf93a5aeec394e52484f3666b24dd4ee3a7a4e96b2d854dbe9c9b13ccd63f57e3bbf6bd9ec24b915209ea57848b51d912ee6b20bcb668575c6bb8993e962629d75656bb7db692ebb13cf52049bf8bf335d8c79bbe2c71d28762f00a68b677696229d40116df796dc0af0b57477f16afd5600abdcc59363f1a6f6434ca01cd91d28e3a55b0154dba51377694f369db84bce52a05351c6bb8bf5dc5872e7d31477b5c71b9f1e937b01ec9ef6c9a47607ca07dff80465f79b9b8b634f56cec9caad00db6e17992c138f4fc9ee65b5b31476c3dd1867292ef80e942bbecf33de81d2cce2690acd657bf10e94a59e6c91683b557655bcbbd86b57f6d6a68b6b99ac9d93959bda9ff4c627ebcabe2ddfe769753bd576ebe852589fc226ee82ed13f16e126d779c74294eb4271bcfc92ef12e9ea468e19c2c6a76dca380bab38e2c136f320de7c6a0ed2a9b2e4eef05b053b2b8df4eef69d79363f13ecffa1d2849ddceee4079fc716a2c906e1b3dd991cd9f1c9ab67b49ee04883328e9b4dd9565b2d7365d1cef4059ea51e849d91fe7642bee53b878df13df5dac75bb87e416943885f25c3da34ff12a9d59ce64df7ff428bef47ebb50b5c39d001b492eab55bb3dedc86202e58fda3fffef3ffff1ffdef98a26</data> + </image> + <image name="image2"> + <data format="XPM.GZ" length="1503">789c9594cf4a04310cc6eff314657b5b64d61554447c04c1a3201ed2f4cf4cbb330bba1e447c77933483d7766e3fd28f245f9239eccdebcbb3d91f86cf0b5c663438c187d9fbaf65f97e7b7ffa1976b777e6e6da1cefcd717735ec4e068d8d0f1163641c0521ba8a5651a38ba0dba2a0a85154f4159d206e51afa8d1a8182a0641bf45b3a246cf8ab1e22a18b6c749511f17457d3c0bc62d3a296a74b460c1a1f7244ff44df3d4f48939d60229bdcf21e49c526993aa16009de3bc99f3f6684f54348267b34287b4e65d488b5c35d5ccda4675f58a8a762cf599fa2da5c7ab4d1c327bd52aad794700d1462e3995d68e252f8cb5e698453ba70eade5bc484ef17c4b9a7bf2da45bd0a2b659e4a8fcfc0e345e9978beef14a6a96b4816794a68e7e4732daf146071e52a7cf5c34af55f4d5e8be9aa95f3986b052da46e9ff1d61bda39072e9bbdf456e21d05292b4f4cc887f1b283b4936e773e76ef02938f971b0576d4ad2fe3e0e7f0aaa12e4</data> + </image> + <image name="image3"> + <data format="XPM.GZ" length="19265">789cd55cc97262c996dcd757a455eccadae249cc585b2fc42021404c426868eb4504330249cc435bff7bbb7b5c9032d1abaa6d7192e1702fe071c2cf143794fffae3c753e3eec71ffffa6db972ab71f74777e4163ffee8ad67b3fd7fffcf7ffdef6fbf67523ff02f964cfe88fdfe1fbffdee333fba3fccc525457a5a7a8c223d263d4e911e979ea0487f919ea4484f4a4f51a45f484f53a45f4acf50a427a46729d2ebd21d85baa94af714e93de95d0a75db96dea3e878457a9fa2e30fd20714e9afd435dc0be9f7d275d3e7bbd263141d6f498f5374dc4b4f50747c283d49913e909ea248ef484f53a48fa56728d247d2b314e913e98e227d26dd53a44fa57729d29df41e457a5f7a9f22bd217d4091fe465dd31bc6aff168b81abf6d4ad74dfa527a9c227d253d4191aef9882529d265bf588a22fd517a9a22fd497a86227d233d4b91fe2edd51a48b5f314f91be96dea5485f48ef51a46fa5f729d2c5bfd88022fd99bae8acf11bd95bd31bc62fbe6bb861fc3be9ba49bf929ea0489f4b4f52a4cb3fe2298af4bdf43445bfa7f98f6728d235fff12c45fc177fe38ea2cf7f48f7149d2fbec5bb14e99aef788fa2f3e55ff13e45c7c5c7f880a2e3f237b96f987ff9bbe81cc62fffd5f46afce64eba064cdd69fc09dd743c2f3d49911e3e9fa2683c05e9698abe3f273d43d1f9e17896223d1c7714e91a7fc253a467a57729c27323bd47d1f19af43e45bf5f963ea0e8f70fd415ae347e2ffbc97d83ff6b3e45e710ffc4374d6f18bffc47c30de3173f92ba49171f93298a74f13199a648973f253314e9e27f324b91aef9493a8af4f0fb9e225dfe97ec528447fe92ec51745c7c4bf629d2154f93038af4227585e7c07fd943e12a8c5ff142eeabf13bd95f740ef14ff150d31bc6af78a1e16afcce4ad74dc7155f53698a8ecbbea90c45c715bf53598a74f131e528d215bf539ea2f94b49ef52745c7c4cf528fafe92f43e45ba913ea048977f2b1d69fc4efeaff01cf29ffc45e12a8c5ff155ee1be65ff152740efe2ffe6b7ac3fc2bde6bb861fc8adf69ddf479c5c77486a2cf2bffa6b3141d177fd28e225df6497b8abe4ff134dda5e8b8e26fba47d1f16be97d8a8e8b6fe90145c7157f957ec3f8155f958ec2fc2bbf283c07ff57bc54b80af3affc29f70df95ff6109dc3fc8b9f9a5e8ddfc9bf34dc307ecd6746377d5ff8fd2c45c765bf8ca348573cc8788a74c5d74c97225dfe91e951a4cb7f327d8af0295e660614fd9ef281ca8d307ed953e957e377e2bfd251f07ff14de139ccbfe29bc25518bff82ef70df3aff82b3a87f1df4ad704ebb8f06bb861fce26356379d2ffe651d45c7c3ef7b8a8e07bd4ba1de94bdb33d8a8e2b9e66fb14e9e267764091ae78a0f22a8c5ff151e54618bfeca5f41bc6aff9563a0af59fe285c27318bffc4de12ad47ff217b96f18bff8243a87fa4ffeaae9d5f89df8a5e186fc17ced74dfea1f1384fd171e54bd7a5e8f38a9fae47911ef0f529d2159fdc80225df145e56488fff20f955761fccacf2a3702ff353ea5df307ef9b3d291c6ef140f159e03ff854fe12a8c5ffe28f70df94ff94b740ef56ff83d4db074c5470d37f05ff5afd74dc715bf7d97a2e3cacfbe4791aef8effb149daf7ce507141d57be52f91ce65ff949e56418bfe291caab10ff142f546e84f1cb7f957ec3fc6b7c4a4761fe958f149ec3f855cf285c05fe2b5fcb7dc3f8c3ef8bd03a5fe3d3f46afc5efcd670c3f8c5e7ae6ed2955fba3d8a74c5f36e9fa2ef93bdbb038a8e2bbeaa5d08f3af78acf2398c5ff583cac9c07fc51f955761fce2abca8d30ffe283d26fa8ff845fe928d43f9a1f85e7c07fc57385ab307ed943ee1be63ffcbe082d5df150d31bfc5ffea8e186fca7fcd6d34de72bdef4fa14e99abfde80225df14eed51a8ff347f6a1742fed3f7a97c0efc177f544e86f8af78a7f22a8c5ff657b911c62f7f51fa0df5aff0281d05fe2bde283c87fca7f12b5c85fa5f7c91fb06ff17ff45e790ff651f4d6fa8ff655f0d37d4bf8a6f7ddd8457f1a83fa048173fd50e86fa47f8d41e85fc277c6a17c2f8e50f2a9f43fc577c573919c6af7ca2f22af05ff958e546987ff99bd26f987ff9a7d251987fc52f85e730ff8a270a5761fe357eb96fe0bfea31d139f05ff94ad31be65ff14ec30dfd8fe673a05bc817ff1c0978adf967c83f1aafb3de766dcff6edc00eed0832848c21e17982c757088f4da04ff538b633fb86cfbddb0f3bb70bbc5a4256f89e955ddb0d9eb77607d9db83bdb2399bb7055bb4d7f6c696ecad2de3b97292aabdb3353c56f158c7eb9fe51c6fc336214e78c7b62574f7b8b7ed03b491ede0c804a37a048e27205be175439fea427f06da17c805707fd84b1c9d62245b1bc3585e6cdc266cd2a66cda666c163f674e68ab2709286b903be3fe06dea930cf8c07ba01eef7f6de74ed83e9017307471bc0b0b071d3c7af266dda0cccd08c60b9bd19e3790b59d8ad99001bf17e600c3dbcb320663331437b30af668ab367e60d1626de8a501ea56e1c70d689d6bce3f967f9156f03b69b00f148361deab165bc107ba05dc14e73a0fc3073b3304bb3326bb3315bb3832c201bc912b2367b73305778ccc1ea8f18551e780ba668aecd0d6c9c3025e02c47788ff623da5bf34ecc782cebf98b9ce1f5403b02deb1a9988a1d98aaa98209e404d930c19ccecd9da901d9dad44dc3344d4bd234f7a66d1e4cc766cca37932cfe6c55c984b133371d833613f4cdf24f1c9b94d99a94999378c281db1f788571604ca5b21e673e62ff136e4477d30b70ddbf661d30731979ce858070bf54d166813b06cd1b49ca5006b1a5fe64c07c561d7f5ccd4f5cd0512c5d016dcc88dd1364fc09d0f8c91783102f7eaa666ee66427c233e44887fc1fbfeb39ce19d00157d7d4cebc2a3de81b14b4e60040ddb332393776fee1db35c771f6e6ed2a68dc7b60522a05d9847b784fd5eddcaad4dcc0dddc66dddceeddd01675c6146b6e6c1e55cde155c119fbc36f657c427bce44559afbfc819de81f1f2fe116c3a83878ce0f52ddb06e61122c0c626dc8d5901e987d05e41d27806175c89b68df01271ceddbab23bb88aabba3b577375ccc9ce1c9c377bd7704dd7321d58facddd9ff0d64efcbdd5ecff1dbcf7b0ea0c7ec5c8db07c2296304c6002ec0d37726072e14e147c5605d59f80177082c685c5b6c78701de07d04235a6e646e5c11367e720393c4cc6cddc2191377cfee0533f28a28517117f6c6946d0978eaf2b34f4e94c1890c7b423ee39c5ff17684b4a368d681a5a7e0c140af18453fe0691bd3701ff23420848f112f04686368edba40f3625ed05526d039a65cda6631f337e80ab32e0dbfacc3bad674bc85cfdd9b852d7ae3eec14bd8d296812e602d1f45fdeb4524787d867706b4b468178807c0cafc1070afec95bb42f44c9cf0126b8497686d1e68dbe61adc4dc0b60df0a1e09d1bc3b264700d983be07d5adf802ecd2cdc95efba7b6f60e17be0adc8aae560cf6053e20c3d9beff1f519deb1f2da003899379cec3c54847b84afe57c1ff62d42e86d8c0c6d5a19684b7e40f682b70f7ee86e15c752f0b7a91ff931f87b272b378171ee62868c7f361b9bf413f30e06dfc8beb588b327bcc1b67f86d7744ff898631dbcee41bef6665f10f1b3ee0d3109684fb1b74ddb9a2b4633795b1fbc250ff22eef5ffd14d6ddf8997f838577fe1d989bf600beacbd778ff88ea1b9f11ff2b40af032a77db1f091b97fca870779dc48596e0c263c284ff41119aecc1dd8b011527a1c62af69c2df1e80b6848918880f4bf3ac489677433f35253f43444bfbb99fc3f3eefcc2a59019afcc0efcce2926676123e55fc6023cfeca87bfc2db16de8e1d820943d63686b1ad8b6a208948b690750f6204735a4b31a214259f1838e191df9ec988e60a5c58da825fbab43bf8a529b9aa5f21ba7953848d63e079c1af310b9ba866806f9da2c14598fd207fca871ef0a27284bf299f4198edb6c8f65944cf357c859982f9825e7750662b2132185762345696032bfcd05b57f753efc0de6bf0a28928fce4b7e0f01471fa039f9ffa152279dc302393b965bf930d896f17492f7abd8748ff066f5b95c383f0cec005e68db8f90017e6c84ec44ad46b3cd78197f9cdcad66dc5613c027d9751c25b7ff057b06f0bf7b1dbfbad9ff89ccfbb077c5703b1f9128f2fb6e2bb7eef2ec807bf81ec3eed69327f072f10f7f0fc10ea49e0ee233264d126af51a36c8e48438e330bbc9b45e575e70b86d199155b4bb1d8bb17f0a2ec0f6e4a56f8b12f42aefd0df25a13513a895feb98badf203e548df37be0dd9ff01263ef64eb7f8fb722eb127105358e178b57f0e31a70ed4e68eb40b58095b2a82cfba87d63a8cfb7f619552faa7477e56e10f71240dd731d7219d502716f903baa7ee18bf0c331a2460915451bbf5af6c8bfe4b1305e7e72e2aff1c2aaaa1d81f61558c7ea283668c3cb8864a8cac4dc3d50bf812149604d98a1afa066ebc323b78822ec899e51738e513b6e907767e0e9d00f91a37b403e15e6ac5fd86b540e65075ff4557f67afe96bf6c6efa28aa11cbcec6fe06d4716267fd9f7b490372e18c980700bde6e70a76c510dde980f77031b0dcc1d32df076cfc8e7b0c6c1f993172770ee75d215ebca2427fc0289b880d53474fcc28da563c2a1db0a0a6585653859011e2236fffd2df7c1d157a4f2c0e3d650bb55adce6e46b1b75136ba1066f61f31bf40e97e0400cb6eda983dba0171a832577b07ed2d4301f6964921262f6423cdf22bf759b2b543955e4e16aa8787d8335bb6fda7a88b2b0ebdeb7c0e5fd5ffb9b2204f13ea82a1b200ff7157913514428e27903fc39d8146c007b7740cb731bb0ee12e74fec25b016f0a9b97b038bbbc0f8066bdff90abc72880c9ef7f7f6cedfe2f751e170d6d911c3e31cf132020be3dfb0afd8fbc9df0e18fc822c8faa012899292875f137070b0eeddc5790a51240fc6617260feccfb0367cce704e980d5fd1173de08c1d58d2077768e106ab065f058b19b0efe1713dd4103721aa85ce42f9b8fc9778878c09ea2f5fa3ae02de2e5f5bd1b28ab50746075f46ef9887208fc08ae0053b0fe04584c0bb1f38be70efb0a4f53353a30fc2f67333c14810d3d4adbf810da7ce22ca70517e3be6df53e688e40c2fe3ed7de8e165dfa5e52fef1057593720ab410e8c1066ebd7886835c81c79f5c62481f9803871c97806db221bba0fb0618d0a82916b849e3e2106778097fe56127ba37e387a1565e363fefd4bbcac7186b06b4bf56f8735af7c6dadfc5b8f3a21d6bfcc742bb314ea79c04eff83d442a4067fee515fbc226ee591abe90106b924ef52fec6a3ca818fd555e184a8103aca2f78bf93733ea83ee73ad352ab4949ccec5a780fb42f7b61f00ff52b9921dcab90f5103516b4aab8b30e1586fad0b65b23af0dd18f3eb906eac824aa9f9a7b0507c8841bd590017159ec2d872afdbcd6f9b65e67149bc0d3dfeddef491097260c35cf6da2bab355102cda31e281d7a37f59bc0af2a06568f3c93155c5a997981ee62a82e69edcae8f0abeed5b7e95fb07099b9f8b442125649be54c027ac513d7c8677651f296662068a57595ff67de50ada906b0eea84d851e8eb2736af5507a728dbc67868f360f926ceb218530715cf1c88f3c8cc2d64e2074b8f2b41e86d77aa7f6bd16adfb1432e87ec71447b9c8133bc97f0982bc4b067fa86d69d6ac2cbd5a68d66199d31ecf9a0eab124bc3333b3199b41f53b979543a509ae033f6b9f7673e51ffc9b2fa266dfba9d61f7c32ef32d5adde3fa5e45f6aefe09def277fd3c3102efc63ea31754fe0abeeede80999ca07d5bf2a3b6787c85f99e447db161d58633f651d559670f8de36dd4092370620bccefe83a8b4079ad3ef32e5aebab8635a9284abc477c38f51511bb6fcfd777dc0df03eda0ba0656799231f98a5907dd7b272b06f53bd6653eb51c0ac5e887c48e3bdbdf88bf3f1f9b0a6f600bc537670c07ce7b7e8e13bbe86fba3b167eba9b508f1cfeb25ef477e9fd91799095cb84226bae39a63e46d0bad3fee98019493599f37c55255eae405fc3facf5309b8415cb046335fafc0caaf7142adf3c3a8d313a4c66e227c82deb9dc8c2c7f5c9239fc34a5af9540395bf5fdf015f51d322e682c5bee0fbea2a8457d6dd699daf4e86caa30ee2aafc0f681f809c3162a76a6eafcccda89636f77ee05fdd931ba1ea7d476cb8c64fbd19e3ef908bc3fa595861e7e391d177217f9ce2dced777cb08cf63956b75cd943aeadd9039980d99d332b20d62634df21cf1523ef6a2a2a93211cd90d47aaf7b7d0939e35dd0e8c79b65954ea47bc308e7fe673b4aa1a2420ae059b9f5651eba72b03bfda17d91577722f47eb82cf3fe30d6bd475d53d5c87684588b9068c3e5f5d53165cca29f325516deee1b11b7c671bf1ac852eb9e2db40fa8422e5c916cff87b644845b88f2ca9455734aa6778979841d636095808968aa2d9420c5e889561e5bcf8156fc40fd6154bd66ea81af3b80f505f5ea17e2ca0a2804fbaa929016f11be5643467ef28fa8d46dc488c8bed16ae54db4ee5efb05ed195ecbecbbc48c2f5535283ec8aa0ba1dd00eff60bdea8c214239a420ca6b877cc4c4e7dc708cc28f3922ec6b54677bf84ac60dd9a2d22c73de27e2bdc2808c1e7373c921dc47a1badb256225e1fc7f06b7ff182e87b50f4dc187a4d01fe77886219b970c47b8818b117f656e06fc86db827d88b92fb3c8a8c11771b20bdf253d40e2b20ecb899e21979f1886c27b4122b0bdf9eae14dc2a0f96dc3d05a339c36baaa876d6c86e0544e2b88d6166c55df160291b3346ec554fd465e360e788c542bd52b6e00af5ccbce048015e76407470409df76dff8c3b5801bc8fbf88896c1d70978f382518cf19de0b7fe9ebe892b90675c1ea1b9dcd5c33ca6b3f0ba15d4778f7513ddc88b0921356eb27ac8c0eca2917e88def51373cf9a5cdfa2bd9b726b4cc198ac1471b1f39f10571e92b561efba67fab0271ccc751b33ff1ca5a88c2eae7b7b80b2d6bb020475f93bf314624a2f5c07a58bb747174c3715747e570704d3f721b540f45648ce073b7ee15360662f6f70117d19ed0db234fc2bb9073bcece77be8933dfb31204ea21fba893a865d64dd956af5956af24fa94b3ebd0f7d9ee2d88b5b994b603de03e669ef31320669eeb1cf192099fb8023788ef84f3f8deaf7c4800a9d6a45007bf80c1e86ee073397a9de25ae0c35112270e3393ade4890b60fc50f7fc01df5da1cf2c200bb57dc9872aa2e2af5d45350459711bc95310e17afaf24e60f5d3297f9fad47f9baf67c5da043ee21da271139f97b39ae3109f156fd445835d99c3ceeb80eb8037f2af0535d9df5157c0add1fc78cfaadee477ee2b2aec21a8251cd9cdd88e9f3d527cee3f16ffa0badf7016f1578d143e2f70b425c38e6ba13e64d5411d7655d460f6695da316ae3d8bdebb9b679368f8c2ce0f2ccd5fcb3cb8a0f6dd53d3710fa1e98416e2022778216f12442caa33cf6cdfa4e8fd704b8ca637bea7473c46cb85a53e02a25abcb2f88233e73850aefcf754e74451978dbe611e97f097f7bc10ce450ed4c9029663e877b17d86f91918b407e734258939cf07ec54a39bf7ec12bdbb07015996382fe82aba45943c479cc6a9e2b66acd9a26a6d17215f727d8a5124acaa72658d566625c218821ee4157ce8a05ecf499e61e51925a08850d6d887fe2c3f1dc75c9cf3973b07424cb3886611de0ff021cf2a2062b272ac3db087e76bd5427d30b5a6f33f8cea1c78db15ab3c8c63004e74dc23a230f82bcb3ecbae6df1e126624584e927f97c9767b7cff0566d1b1e57479c88db167d3bb2578e57d7c1e764c08c31646543c50e1c8f341dc3d8ec8799204bbedb6758bc865a676966c870597f1f1093118cc38ac57727e4b5c89e9ff27514dfe0f5097281ecc5aba199707e61c132585900de34e2f1802b8f56d822749442600cce4852c32beed5e0bcb0679ea0835ea247ae85fdae7e01095b1b7364865007ccb56fe5dfe3bd64ae80d75510273a76cb48a419af0943da8cb46b841d489271c348ecd127d1add29e5aa7fa109396f0b427f49c25d7f05bc8bd64a2b8960ddc003b4ea8a97d15fa23455c07ebbf890f1570e132ca184ffc7dc62620fe109a0aa2eb871912b356a9c51055bb6406afcaec1435785d43f53d22daa3bafd25b03d29f66e5143dccbcadd60e70833fdb07b269c8b45189dcb9eaff7810515b202d2b24bae3ab2768856f492a869b9ea336636206af0a30f86a49955c4f5a522022be6b9fc708b7c9c848557c8c313ff803aed9dd7eb9193ef235e7c7223f0e327d11c4c249a9933bcbc6adcd2d5215e1ff26608ebd5d46dd6c460221ed9392ab72be4b0116dcd3549ee7b2247985190e3d6810fdc2b0146c46163e0e5ce6d7162eb8a40bc921c112fbe30fbabfc62e133bc4bb0f6de5f006d07781fb996ab9e1ed642e4cdb1233363e0bdc29d8fcf668248f00c899b01f32063857a0bcc8419e1d516f5dabd9972e706b8f0ee2a147343113358fd6c890cef6789eb684b498415aff2e4fd377cf076a3f5ea292a34c7f829feaeb562cad58984ea0362ddd91862d68b76a175ed3bf770f15a118e73957da7b3625a9d2fba9e2fb9bdcb9c701ead4c14f77887b67e08568fac2f7c1c5ff80c3fe58ae7eb7ddce36037c86d3d70630aabdda9f6652e9bfb32e2d31dec162c1c03aa779cd7b033481f235d02ff02efadf0ea5d98375cc7403d34f5075f3cb3ae3c0fc856c0528934eaf9308e1045225ec8ce67f962e7e6a6092c0d58ccd906d72979ad9088e1757dc66154991f407c057b5ec0ba2b601d686fc7587b921a40ce1d351e76e75ec40b449283f7c816774091fb3923b306f6375a399979136a496461762077aa2deef8cc58860832f1abb3f533e78cd9eb5a0339c1fd668ca2f3e31a04b8acce1751788fecc71cd6033a5dcde7de0e5d0f1d68c57ba4bd984f60d71851e3d1a450ed5c9fdb17f6cb03fd3b7c911197eccd6b6f47258a257aa6b7faa23beb2f6c0a5c7b030317f60d51628c9e68c4bd7c81c166cebe977142bb10c98a0b206ac837830ca3dd1e0ea370da65f9841e70ceeb2ee891e75c81e0ae085496ad207e6c4aee0e957c1eb5fcd866dd356404c1333abeb91ffbb1ab824b63f426a3b37cd157d4ec036f0331a2611f59731fd727e973f0ff826a8984f64dc661e327ee668d76a6ccb49b91bb53df6c13479eec16e7ed5cd70d1021b85a4d996b07471538e6fe0dc89edcb4b9821567f0498976a46cdd1638796e11efcc9171a667782bbc9689b9e6b5a15770f3497ba27661bdcfbd29d3aaba948dfb8c5986be391113c6da9532c3a79b182b7d8e570fd388c16d57704d97e6feaea3f5683f770d4433d46dcea5e07323a13b5a99c7ef30a6b1c6d6f253373cf33756e449c426af2bc74d7b810855d015971db3b2aac62cab4b5e25246230796757389f577079c579a6fd543d59f849d74186e8a13bdc71060b7d326114494b984b2e0f2b566d9612d0f228777b40aae0c29b1b36cffc8d15827dd175ee31acd4834ff5b55eb90d1541a864b8da74c48bac1c471498cacf66f85413481bdab7f666e7bace99f3036f4dcc5f116d9023623f037b5bb0e12bf8f0c5b2c7b1401fc9ea4bb0a4ec52dfe4e3a1f63f205f00f71ed6e3be9d9d56766861d6e41f5eb51af12a1f8fed162827daa5d6411c5cc3ae5e36be0c6b58e8e152880f575c9f3cfa5bc08cd74bee86706593fa8273244fe439d77c05d46930236fcef0fa179f849f4d75ad3d6e5831e4a2eb9bb0303c4ed7348497578d13aad6c6c80c3dedf461dc659e6326d9f07a26f76d9825faa14b57e0eac3514e51624cbcc05337b18032e0a4ddb59aa911e2c8c1559b2b13fbb67f7336166a2e751135aeac026d8437f081fec6ddd5a8742eb5cec0bcc17de41bf8df00a388016f4c3b641a8890de25bdc3ef1ef8d76b5ca5fc44ae9d53d7b05d8c482394d111d97e29d683c99881eff6a75680f80588b8d65b3b5d695904bcec293186a89b081d9222db38ac39d0a2eecd31573f2112aad77413543b055bd05eb4a6a244845ab8d38e3e5570b7e27284339cc3b3f4893162c3b583179cf76f3ee95f80986bbfa1675f2853e81a06238422302d9cd4d5f96065d69239ad09f21acb1ee76b170f3aa1a5472784d8d0c42f12ed81eb6847cc9210e552de12e5096953c2f93884b5583732717fcedf3a574cd0cbb72dd7f5f7e18a76e8dfa38cccde28cb1e881d907c2e21e66cdd87499b2b73cfeb1bae844cc9eb1b8fe605d69dc2c30fa820c6c27b88d0045c1b77805d073e15e1fbc41acedc80f769fa2a66e03c3e70f7373be4187aa20d2c54275ed567ec6eb6e26f36ac4268dd3d6742ee2800af753133730beeac47dce30e840e38d7878507c8b7dc6dd4fa62e10ded8d1837f24439f043f81d7cf2283aae337416ea67133767d7bbb57256b50f40fc62efed12b3be858de7da47bbd1d52274cbc2bad52a70d44b601c6b743ece4ccd15a25b5c7d6902efc65cc2ad5d5dbc7488b1d320c81dace0c711375be06f038f9b937d39aa0d6deb4bbc730f1b62ccfa1bfe26d469b6803889d75374407b60ad455d672d42bb347beea835bc76b015bff7e601bef56812dc1913d61e2cd7a7ee5dc7d56921dc4bee5936e46b08505f417f754dfd470e69370d7fcff929c03cd5fdd96dc0dfb37c0c9bb6952d5a5c0556573f43d7004fd21a13f770d5b4b29a400dded45a7a51bbbb30fb60ec0c0c4b60b46bed9f6377f18267ee3b5c730fa510cbb6448d5765f1813923652e685fda5ec736813718d31058871ca94bbaf8f97a1457a374af026dcb0e904150333227333284b528ed533d68b7f2bdf0f28a46039533bc0be77265f399d7b22cb88c38dcb017888c13450059198c7de66a3b500c61c30250a6dc03f4d79f2c5cf26434f9e0827dbfe16f3df4c65a61ef69e5afc23d69e8e6c6aa856a810deefdf8d70cbcb6ad2b9e4db0f7d93cdb37c498a93a8f17e4c867ed9f9ba0a678312bfe5d0062d30836ab03cf15f728caf7c7f0c8b5ae208d8090f1a4e4b98fa6de5c7137a3f66ad75dce9cad9788030fdacfd5d6ba5f1a0ce9e03983775fb45e9985eff18a22bb5eee302986bf744174f0e6d5b19b239fd6da9bf888cfbcab0ade80177b33702b307508748fae612ee1411d78e30a5adb19d838a7bfffee98174615f36a9e81917f19b1e2de149b71e7fd3157522fe4695cb54ec0babcf6f2aae74b3b42e44aea6f8736b2e81cf6dd6b5f04f7ab4ef0fddecee8a9daa5c2bf73ea89c9fccba31e9077519d1e80a0c39970fccb11cc3130c580b9078ba610272879485d32442679d57e51c7587e86f71f20ff54bcff1cf9fdfffef3b7ff077a0d4a88</data> + </image> + <image name="image4"> + <data format="XPM.GZ" length="67522">789c74bdc79603b9b2ae37bf4fb1d7e5ec2c2d5e9ab4030de8bd7755a5a5417a3293de93f7e585c4ff03bdf79174f254777f3b0d0281402060f9bffeeb5f3fd3d1bffeeb7ffd8fdbddbbef827f055beffaafff0a1f87c3e7fffabfffcffffd3ffea763fd4bfc7fb56297ff55f99fffc7fff89f9bc5bf827f154a5649fc5fce4951b257f24ba6bc3f921c94ec5224ef07e4a8e4e69c1e248782e5fbb1abd992cffbe4b8e4e57c467a9160f97cf6d56ccbf71be072a954cdf954911cabfba72a58dc97f2c72dcd4ece8754b34cef50269791debea9597eff50d20c79bb9a839c770fcdc87f815c29f952fe5acee2e3ccdf29068bff457eeff0472ee3f9a4a5597e3ff6c8959221b9a959e6f7f0965c161a2c4bf957e418f9df0760f1bfc8f288dbe40ae4d9163487327d8f5c457e8e91e48a2851e82724c7d0e7de07abf2487fc94afe02b90a7b499a9a657ae9916c40beec8f6c42fe4346b690fe16f25595bcfbba66c8db241b787fe76896f74f06d9a43df71497251fa57d89a76394c701f931547eb62ed9447ee39a66591e494331be97edc9943ff6354bfded8a9a51fe1dc565599eb16255bf42c5f8fe662cd914f551ca779c9359df4e916699de99f785bea4be931ad92ccbfcec1b640be9ed06641bcfef909ea5f297f63543de2fd9827dc51fcd52beb448b6690faee232eaabbaef523f4fc5b8bfdf48b6557ddeafc906f4173b6407f2edee9a65fe766fb2cbf2eb923dc87f44fd146f43bec3875c46f96ebb64e67f5b24bb65593fb35fb2578a735e9f24bbc263c25f4ec811fd41192cd293f2ef6cb283ef2575b25796efc78a7dd8ff26268715a98f05bee7955cd8fff28fecc37fac9b9aa5ffd9c19e3c551fb74332ed2b3d917da4bf73c901f495b435433f077288f2d9ee15a3fc96d25f0ae95de8a37b267b288fc6911c505f53cdf0efb0575fd8af4c7f3324bb15999f4b9dec217fdb1d593c21f3a39e0f68df37c5903fb2c8947f05fb094afcde3221539f3bc82bde867d65193980fee2b76699ffc824872cefa162eaf7458ea0df0df41b088729d35ba03cc4dbd0c7a044a6beda2f7284fb1bf8ff50b7773f6483e5dd233b90ef5223b33ea46732f5930ec84adeab66d43f931c41dfb14a3fc6f7b60bcdf007237085f56d26dbf372a4e28bb54f0e501e7d971ca23cea7732dba30dfc5ba4dad37d44a67fd8f6c92eca6bab9e8f20cff64b56f2d634cbfceff87e85fadc0c1457647ddf34c92caf19fc572ce497f2ae86e410feb4b723b3bc6ab0973c3e81bf8dc816fcc9ee4066796d07640ffe62db21b3bcb294ccf2d86ec97159967f8cf28f4575427df535cbfc259166a9bf88f25754bc322257f0fd7d8b5ca57e141b5529cf4afa27a13dfabfe695ccf23b5fc065c69bc73a99fe69e79163c8b31b8145c001f96c7285ed75aab88cf2516c56a5bc9b99e4b2d27756277bd0efce2007d4cf881c41bff10b2cfe17b4677dcd28af02b9427d7e35a3feadc806e4df7414435f3bc897c743f2f9e382ccf67517936dd8eb3521b3bdcc7ec831d377c04abe2dbf2ffe0ffeca265729df926c507f5bc5d0df4ed69f4a1e7f49fdc416583c2ffdeba64f36ab883733b2c5ef7515e37b494a66fbb36e939d2af4b3d32ccbf72beb67258fbf647a872f99f1d2ea44762ab27e5cd47dbf2cebe315f931720d4bfb5b920dda2fdf17f221fd1ed9467e360db20b79d667cd527f6b595f2a229e823e575db25391e5733e933db427e71999f5f7b02347b0bf5d00163540a677ad902b28ff9da919f53b24dba89f9b844c7d2663b28bef5ff07d4bf587d236d9c5f7d75fc5907f7d207b687faf6532dbbb0cf25b423cd85348b62bf27b2bcdd0df6a4476a0bf13d2b395bf890cb2057fb7b314439eeb8e6cc35f6e0332f53dbd2846f92d4b9a657ad188ccf621192886fdac43c555d8f7871c18525fd3a266999f139e77543cb5f821fbf8de2e23476c4ff7e498e50dfb73440d437eda6403fa4bde641bf98b0db25b81fcb16699def44f31ca7fb9d50cfb7c68467fa34266fcb9aa2aaea2feaaf43d03ede59aec23bfc95031d21fd515a3bc1717cd486f42667c3971151b32bd8f6c4f736bc5fd7989ecc2be573f8a91ff5d4a0e189f259aa53c29f4e18afa84f87542a6bf5854c81ecbfba859ca331c917dfa83b362d8c398f25502e8775ed72cdf3f81bd3c2297e9a5641ffe78d8270788e7176d7208f9e67772047f3bff23c715c44ff0e79ef0d832bdb447a6bd4c5a641ff26d0e8a21ffe6420e50be9bbb66a9cf0de5af847cfe4b8e717f72d48cfed0145c2d419f4dd8bbaffa63639fcc78fb7d538cf21b3dc98cbff73f9a11cf27e408fe7d8dfa28b459c1fd0999fe22f990e9bfa201d9477ac3bb62e4271e9143d8cba6a6d8c078d94b33e2bf393936256f287fb564c8f4665bcd52be6941b129f5b944fe83bc879773eb4c667bb15b6896ef8f6764f60f265fcdb27e2cd78ae13f1a3b32fb0f2b5f31fccd3224c715f9fe1af14320f429d35f5e35cbfabcec92cbb0b7dd945c857dae078a111f6fc764faa7bd4756fddda766f9fecc2087b4c73d39a23dde34cbf7c73139a67f863f0a847ee5f3b38566f9fc94e9e7034252de0bb962c29e50fe61de2397f98d34cbfa3b7f907dd8c7744f0e108fce7e14c3ff2ca0ff504434327f377ebfc2f185fd92cc7865d0538cfcc44332eb7f6228863d278966d99e446372ccfe595f31f4bfc914c37e370fcdb057ca2bf483f664ac59de9f9cc822a490fae2f7ab55e87bb5d42cf5bd6c6996fa5acaf19d4ade3f437fbb47f6618f53759ffdf7e799ccfe6886784cf4c7c0830a3960fc1991e38ae4f98f62e477c4e7f30142799fe9898056d6bfd95433fcff4a31f2333f6896f91977c855d8d3a4a759ea639d6996e531f5c906f53bd20cfb8b3463bc07efc7f98887e48e66696fe33999fa5ad714c35eee7572c8f183ab6629cfecac18eded0af523efcfc9f24d999e8ae7571bc5e8bf2c57641bf53ded92198fcd7fc96c3f976d72047dc7f017b1e860c8f7273bc5b0c7f945b3d4c7e89ffbf27bd3896294c76c46aea03c562dcd685fcae42afdf15431ec61bcd38cfaf0d52cd31f2e344bfdcda93f515e32bd69a819ed6f57b3ccdfeaa059ca3f19914dc8bfa86bc6f7a57fac96547f665ed68cf1ab1e99e5dd37c921fcd1e8a519ed47a0599667e742667f3d6d9163d4af5b0856fda784df57f52bae82c5ff22e549b6e44a05fe31500cfd0d26e42aeca1bf508cf67530d60c7bb828a63ecf9ae5fdfe51b3d4cf34211b5594b792cf80bd0dfa9a65fe17b16294dfe01f96f20f979a65792c469a517e57b209fb9c469ae5f3e3ae62d8dfa4a319fef1ad59b62f8321d9823d0e379ae10f22cdf007321eac9655bcbc8cc92ecaab7b2407a8ef6bcd681f66bfe410f6b53a9323c4a78f3b588d1fdd86e432dab7c10fb9caf1d40e99fd8bf587ecb1ffb726c706c663513ee52afbbb2b5731ca679b90196f2c341be8df9c35a3ff59275710afcc999eaaafa303d9403c315b6a467ba2d237183f7c34e37ea219f6f1269bf027fd9962b62f7bcdb06f5333ea83a119e5f90fcbfccd32b2057b9ace34cbe767a962c83b7c6946f9ec35a3bdfde73ee239f53d1bf9991b9ae17f9a9aa16f9bec9a187f81fd55d4fcc8ea42f6d8bedf35cbfcced47dc6df931a39803fea25e410fe685d504cfbf82547688f1efc5e85f345b735b98cf8ec362773fcaa7ed42cf3f77e900dd487458bec61bcaab622331e5def354bf9174d32e3d1c55a33c6f77cb28a47e02f44b88cef2d178a612f49955c417cb76a2b867d6d6332e3c9d54a31ec6b44f9843d633ce8aa19e537570c7b9ba9e74dd4d7b6fa9e09fbe936354b79fa27cd529fcb8a66f9fe28235bf0a7cb8266a9af41a419fe71ab59ca379c6b96e5dd576cd37f0f14d3ff679a118f389ae5f3cb29d961fbbdd60cff3dd60cfb7a913d13f10ed2ab961dd8e7f24731fcede24066ff75d5d78cf6483deff3f95fcd182f0f344b7d9caf64b6cfe385628cb79d4a60e18fe5f3df2699e36ff72eb9c2f1a51dd944fd996dc816fc7b1fed7155f85b94574733da275f33c6132d7205f6d767fe557cbf6d900dfa6bcdb0efc54ab3cccff04b3691feb8a719e53fd52cd35b9e14c35eba0ed9c2784bafa418f56f962886ff6eaf35cbfbddae66d4ffaa66f447e6641bf1c928550cfbebd5344b7b1a6c3523feea68c678b1497620cff0a919fdbf50b32cbf794b33fac736d9c5f7562a7f3eedb5aed892fa5e399aa5fc3dc867e433d2f2fe55b3bc3ffb23fbf0e7f39766d47f8bccf9cfe94133e67ffb9ad19eedc91c4fa9ddc931fb2b686f0d353f714cc8069e5f6cc81c4f4c284f1e51c8fb5bc58817974bcde84fbd35cbf77bbfe40ae2b5dd852caa98ccff4ab3b4af9e4a8ffdb138229b187f6bcd15c3bf2d3dcd885f995f619fe83f9e14c33ee64bcd189fa6feaa36f4373a2a867f1e198ad1fef76e8ae99ff79aa5bcdd9666f497166407fdb7de5731e3cf54b39467116a96e9f7ca648e270f468a11af2d6b8ad93fd6cfa37e2d2dcd182f54fa752df89f8cec417fc38966f82f4733da3f95df80efc35f9b6a7dc8fc4d663c3c5e9239ff3d2b6946bc7725071c5ff825b37fdcf735a37f5fd72cf3d7f7c811e7b7c69a65f92cba9a617f4a9e18f5a70efb30f319d39cb3985c457df87cc906fcfd8ef2576cf4ff7665b283fab43a92395ef945fd36457dc0f88d45ae703cadaa597ebff724b33f3aac91ad2afae37dc528af6447b6319ed853e9d9f0dfe38a62d8d7fca819f7d5f71cc42fc38f66699fa3a662faef8666f97c67aa593edfa77eab9cbf9bc68aa18f85cabf8bf66871d70cfb7b6846fdba6896df1b4e35637c7ea119f6add8437d1ca79a51bfdb8ae1afd7fa3efcf52023fbd0d764a219fe7e4b0ef1fc4aa5175968ef20bf9edf9b7f34c37e1b64ae67aa5fc99cdfe99e34cbef37027288f9c3fa991ce17edfd60c7f3c24737dc518fec452e377cf0399ebefbe0fcd529fb51a99f363bb3fb281fa7375c90ee6cfcf0532fbbb4bca2bfa9bf00f283f4bd8bf94a73e235710cf27945f6850f23c23dbf0efd38a66297fa7af19f30b1332ebdfe4a618f636fc534c7b596946fc7227bbb097de43b3b4976e4733c6ffda640ff5a1f7d10cff6c6996df1fa8fcd1de1663b28ff4fa57cda8bf75cda87f2dc5f0b7eb9d66a98f09cbbb1a307f0dc58c47589eda3e915f5badc7e83b64da5f634fe67c6123d30c7f7dd38cf90dc55cbf517b90633cdf42f9dbc2fe309f53d08cfc07e432fcf5473d5f41fdd81415c3ff9e4b6417f69a6dc911c6bfb28d668cc7c37e6c11d1c8f71b43b209ffd6b5c916e293f14131c79fbb641bed6d73a918f6d952ecc07fb5169a657eba75cd888f5d32fdd5ca508cf26aabef79f4af13cd90b7ad19fe2925fbf49767cd523f839d627c7f38d30c7b9a9303d8fb52c913c0bfad9f9a31be417ba986907f5e558cefad682fd5d8427f0cfecc51f6d6ba92391e512c6a96fa6eaae7697fb52799fdb1e65933da933e99f3fb6dd8a323ec09e5f30f63fce148e67ae746aa98eb4dd79a118ffc6986ff52dfe3f8c561a35996cf7b4e76607f9f5f72887874ccf445874cdeaf4fc91c2f38bcc816e613e38766f4f7d4f3e27f91f61069c6f8424d31dad74b83ccf9b5f64631ecb133d32cf5d75c913dd8f7bcad98fe64ac19eb190b64ce8fac978a614f9db166797fd2d78cfe95490ee8ffde9aa57d8d7a8a196fee34237e50ef87a81fab58b185f683e525fc1ffcef5533daef2f39b6b0de81df334af09763d883abc6132e8a03aeb73b2a86fd8cde6465af0772047bac5f3463fc8aefabf185b5a719feff4be6f85ae746e6fab7547115fe7338d08cf1b72799eb5bae3199e3131b9fccf9a6dd96ec633e69572173bef35b22c7b0b709ecd115f60bfb1a93391e350834a3fd1e925d94d7f4aa59d6c77e4a66fcd6ed6996fa19a8f47cc4c35375df87bd4fcb8a612f19e5ad72fe7d6e2ae6f8d78f66dc9f9343a43f192886fd8cf79a613f4fcd88ef0c72c4f1dbaa62f8cfe5881c23bd31ea9ba7faf39d2b99f3afa30f99f6f37d9163fa3fe4cfcb57584a79fe6159beed27b90a7b6a1cc8f45f971e99fdb301eab357ad707ce7876ca0ffd2e8932df4576a4bb28dfe7e67ae18e5d1e1f7957fe974c91edaabce4833de1f90e93f261639e0f8cdaf62e87f5926878ccf1272047b99bd35a33c3e8a515e4b5333f43921c79c3f7234633ca9a419ed774331fcc57aab59d6d735e513fe04feb3a019f680fcf8aa7f3b3d9255ffb54766797f21bfafe2f9494333e28b07b982f26e5ec806ebbb4736e93f9a641bf7cf53cdd23f7f50febe1a2f6c2b66ffb2b9508cf1c6ee97ecb0fd28905d3c7fad92b9fe64db54ccf6aca698e3d503b28ff981de5531e74f8ae480e3771dcd18af0ac821ec6dd455ccfaba22478ca732cd184f1d9263d8d75aa51fd3fe28bf51e2f877aa19e36d7f8a51fed312b90c7b9c203e0c54ffed0b7b0d543c3c3d6b96f9f93ec98c4f66657215e5d750cf1be80f5d4b6407feaf6f90e96fba2639863f7d231e08f2190e59bfd79ab13ebc4ae67c48d7229be8df1dd5fb1cefee868ab1bea63e21737ea1ad98fdffd64cb3cc7f6b45f6605f8d8166297f7b4156ed7f448e393f82fa1188f2c07aa28a668ce73615a3fe4ef97d513ef0cf889742b51e7ffaab597eaff622abfa5326b33e77f1bd50cd77f6779ad13ff4c936dacb4e4a76b01e64db22bba81fdf5fc5686f3b6dc5d05f7b4666ff34fe2373bd687b4e66fb373a9143946f1c93397f369b28e6784aa618fa1aa03d09853e515f6e8ad1fe4e289fd027c6132dc5e81f2cbfe40adb53ca671816fc0bec3daa985c5f17927dc45f2dd86724e269cc67189a657e3b4db205ffd3bb90191fb7a764c6c3dd0f99f1efac4ef6d9be7514b37fd7d78cf9ae3139e2f835d928737d775531f33b215b96b4c70ffae7b18adff63199eb4dae4732c7f7bbf06fb1a89f58bfcef7f3192829ef826c401f53759ff335ada16669df6dc5f4efdf1fb283fafbd990b93eb93d520cfbdd9dc98ccfe23239c4787f1ff6116bffb82657d81f9d91abf4b715b281f672b523db96bcff91df334a6a7cea7d225bd0cff74bf6e0ff2e7d32c7833b3b703ee320f3f3ab18f1cef54036f1bdd6984c7baa2dc82ef4d76991399e3ea77cc27eb03ef60136b8de334e3463fee45731fbdf7c5fe41fe36b2ed9b210efbdc9ae2dcbe72df52faccd647ff7a219f5e541e67aecdd8aecc17fdd8a64ee97b89e34a3bf9a92b95ee032508cf6e8b005abf54933be2fec11f3759ad91e8cc9b4c7e69cccf19636bf2fec4fd68fee9becc2de5a1372c0f1982999ed7d54011b5c4f9b7dc865f4cfe7337295f1a64d36a1ffae4bb6507e0f944745d897ccdfeba859beffb8921de8ebf30f637ca043e6f8d96da119fb014be06a19fdfdcf8a6c62fc6a32538cf8bcbf550cfb6bf4c85caf529f936d3c9f5ec82eda97d640319e6f8d344bfb7e4fc91ee6af3e6bcd182f6d2a467935d4fb3ec6338e2139447e7a0db05141fddf527f8609fb9fecc936e2e7d587ecdab27cefa85f55b5ffe675d02cd3bb37c91cef38d6c85c9f7dbf91395ffa6e934394e76709ce57e049ffb12173ff586d4e663cd39c69863ece64dae7a04a66fb19419ff98428f6b73f1523be9d303f8663c9e7ef90cf10f623e57d1e354b7b7eedc91ef2df7928867d5fcf64ae7fe85e15237e7b2b0e90df7b83ccfda7ef1699fb1db34831e2bb1ed3cf572c49fbe2f744fc87f5f57d32edabbd23fba88f034f31e2bb01f36770fde2b04836183fc46413edc50de595efb792f2b6df8a614fb70299eb793f0f7288fd2cef0f99fb55df4d32f7f75d86e07cc59fd4e75533d683dcc91c4fe9bec86c4f5f73b28dfcb6ba8a315fdeee911de8a7cfef89f611ed01ef8bfa80f5d9f09f965abf7ff3c801f2ff596896fabff9e02ac793de5f7219efb7b7e40aece51690d97fe817c816f2d763fa6a3ebcd523b37c63f82f4b9428c6cf5332e75b96137280f63b837fb045f948792f8a999feb851cb1bea23edbf90a5a69af1dc5b0df779dccf18fddaf62b477e70a99febaa39e57f17483ecc1ffb5fb641ffe6d3420733f5a734d8ef1fc0cf5d7ce3520cb8ff2a9f639c9c83edac7695f31e2e1554a8e6dcc87c0bf384a3fef1799ebf15e280fa7ca78e2dd23737cf0ddd58cf1e51ab94affb6d62ce5ef6c15a37d684ec8cc4f734ab6d15ef73664ee7fecc78ad15e4ed5f7fd0ac6db0ae418f5fdc2ef8bf619eb3128bfe1225e98988ab95ec3217b906f5452ccf118ea4be80fed2fca371fbf94f6f87e9363d8f71be5edaaf5b0a9e2329edffd902bd4ef93ccf8baeb2b86bddf566403fea53922337e6e7435633e1ff9730dee3f99458a315ef081fff0843f46ffa0a118e9a77532fdf1a74de6fe931af4e1a9f503df32d9467b531f91395fdaee9219cf5e14c7dc2f82f6cc33b85ee18bf2f2d5fe980ffca52fec51caf7e99059ff3e2d32dbbf669f6ca0ffd2a9912df4976b1bb28dfe6f537ddfc1fa9cd696ccfd89cdb162bc7fbd91b91fadff508cfcbee0cf7d83fbd956686f7c11eecbf7bfd04f20f207f9a7e418f1c4b7af59e6e78eef05ca1f7dba9af17e5333f4c3ef0bfda07fdf2257b19eafa119e5751b900df88ffa906c627dd09bf254391ed154cf733d53f7a918f6d7ee9059fe2dc51eeed73332e773cf686f0283fbff877572087dcfc6648eaf7ef1bd50cdc77e619fa1c83fdae30159e57f45aec05f348be42afc59a3a918f6f0a9912d945f83e989fca13fd0223be8afb654fab48f1af41789fa24bf97d6c83ccfa1de558cf6fb4b56fd9bcf845c86fd7d079ae17ffa64ae2f4eef64fadf469b6ca0fc7a47b2c3f541277284f288f97e6e11b27dd99023b42f19da9f285fc024e5413c102bff57477d8dabb4f7ef98ccfec677a819f2abe7595f6b75cdb2fc6b53c5f0c78d06d944f9bc997ebe0244d6ef2fd986bdbd0764eecfed27e408ede9e74ce6fedb1eda9758d457acbf2f91b93ead26e5354b2abfdf2539a67d4d34c3be3b9ad15fea83ab25c8fb1993b9bfe63bd58ce707e42ae2df469dccfd305d83ecc0ffbe166497dfff2373bf46af45667bf01e9263e437e27db38cf70f157205ede7e241ae229ee8c66403f1e68af29bae23bf5f93fec72c0b7d617c790e16f681fcce34a3bd686bc67c528d5c457e9b3d32fd735b3def22fd0bd353e31dd7146c72bf494dd62f335fbf8ffd00c86f45c9536b90cba88fcd36b982f6b736218b1e9c94f74536a1afda91ccfef7feab18f78f4b720cde237fa27f8afef3f98fccf6e46c91038c1fd5600f55e5df6a7d32e3eb5a47b3d45fab4ee6f91f8d2fd9447eba0f32f5d76a923dd84784f211dd7fa4df5f29467c5ac7f70cd53ed5915ebe9e17e3d763cd580ff1d28cf26893abd477876c23de6b76c9dc7fd46e2946fcb75b933da437cdc006f72f3622b2c3fe0ce5111e0bebf97ec0790748e6d725b3ff5d833e4cb5ffa8de2273bd4f5bdde7f847ab41e67903a32dd834505fd60fb26b637d9eec1f9a96f287ad1a99fd9b2c209b1c5f6f9079be49b345b6f97c93ccfc9dab60d1c3c17aa831d9c7785654068b37a47e22be6fdaf0278b25d9b1a5bdd6219fadf5d1201b6c1fdf8a19df37c95c7fd7f9905db49fbb0d39c4fbbd03d828a1bf342c93397f51c7f79c2acf47a8bfc955fa8b87668c0f7cc9b4df6683ccfadab8906db62f1fb2cbf106d88763d2df9c12b2077d37647b69ba3a9ea893e91fda8a4d7cafab9e77789e44400e91fe0ee9bb26c7bf1a32de13c4fad17a6b86be9f6403f969bec836dbc3b766c46fd0af27226e29dfb9083639feb775c83c3fa385eff96a7f48e346a6fdb73e6413faedaafb6c5f0e0999feae8bf4fd3ca295f6057bf2cdd046f9a0bcf27813faab91b9de7e6c820dae07b8f8640fe9dfef64c62f03f8afc00cb9be0efa0895bdb6bf8aa1ffce8bccfdd05db48f61dec396f6e891395e7c199363c8d7843e22515fe10f9e6417f25c36e410febb45163d32ac8f427ee37c059794e749f651df1f093982fe4fb0e7d860fbff3d91391ff16a9123e8f3f5d28cfd3a28afd8f431de7f827e63ab8cf53787bd66acaf7a90b91f7b59241b36c6df64fead921acfddff82853fc6faa405d9477bf3fa92d93ebeda64dacb84df33d97f5bd960cb71903fa91fab6cb0febceae03c8292fcd68cf9a987628c7f9d0d32cb7f7d070b8787f51c63b2edc8fcbc70bfa2d37b9023e4af57010b7395efafbb6403dfbbcaf2b2aa559efff8aa81457ed15fbc81f38846f2875c41bc3be8927d8cdfa67bb0f802d663b7c86ccfd609d971713e14f46d186c8f3b67b0c978faec93d97e4690371f6ec2f8f2966ca2ff90943563fdc35931e63b5f785fb47ff87e94822d0bcf6748cf32180f749664c6e767132c6a24faef19d8e2fa8fab6c0f2cd1fb447d7ae27bb6c1f8edb524f3bcaa179f37395ed12c90d9ff7f65648e37c5280fdbe2fcd182dfb71c5bea6f0a7d3816d717ad6372e8c2de71dfcd4720657d4fc801e469ff8145c40a7bee90b9de728ff2cffdb57cfff447e6f93ee71b99f3eb29cac313ee18e7b1a0fe7916fbdbd18eccf993838c9f04717fec674b663cd780fdfb26d7af8da7605143a57d9cf6649eaf96f2792b447a099fb74be04cfa4f2b30d8bf4b2be410e98f866093fbffa312d8e2f868d42687907f3c540cf96e90275f5f80f613e515e62372d25e2232cf0f89501ea115a13d79e1f948bc2fbfff84bc91c1f6fcd42273fe2145fdcffda97cbe0efdc6cade5f5d728cf6f43d52ccf359a0ffd87231ff3ab7c076c9c1796c32deb6457f0bf1d2714b3611ffde1f608bf39d5106b6694f57195f08e2fecd5b1f6c727fdde543ae727e694d3650ff9e7bb0c5fd44ed0b99f3fd0f69ef76c5e07920d11fd8ae60fcf52cfb4b79f887fc0ece64aed77bc7e408fe3efa8285fb4179d7c9dcaf7f92e52f3af716ea773b019b9c2fdff3be6d71ffda91eca2bd78431ed3e27e9b3bf26389f05ae667ec8185bd61fd8e05b6234fa61fc9feab2dfe8ffb47ba640ffefd81fc39aa7e9d517e8ecdf9bafe9aec617d4b17e9096de07eed04b678de585dfa2fdb33e92f3b0999fb9ba21ad8e67e922826733de31de5e7abf2affd804d97f14b44f6e0df0e7532c7dbaeb09740e9bb5b059b5cbfd1803e038beb295a27728cefbfc78a713f2a80c517305e05fb0b4deec74d9f648e4f65783e52edff3524f37e6f457621ff634b8ed17f78cdc0a2c4d1fe2fc901c6b3ae0699eb69e653b05376e1df64bc6ac7b603ff107dc831d60fdee57d477837e8376b812deeafee3fc955d85b73438e30df36d982ed18f639bb83f34bdab32c6f27af7f586f6681c51730ffd423737dd34de6c7c9e3119c0f792333be98ccc1a28542fb8cf7f3fa8af9eb1a99e7990c1b602101e647f6e40acbb34866bc3392fe4874a7b8dff91c90b9dea98efc1826fb3f8d2939867ebf15b0c5f9d9574ce6790dcd0c6c73fdd989ec9420fff54916976ccfde641130487d40bfa6c9f36aae7f64a65f4479c80e9fe48266f97e31d62cd32feec8a2ca4bff2cfd976359f4bffd102c24c0fb01d9827c454fb37cbf9868c6fc3cf2276a1be47d47e03cc291e9adc8dc1f54e47d21117eafc026abf442b24d797ccde8efce35637fd384ccf9af26f4e598dc2f9c2dc116cf5b3a35c926caa3f943e67eb127be2732047b89a16fc7f1309eff863c6e3e0220ede7410e58df9764ee7f4d5f60d1fe617de45d33f627b5c99c2fb8cdc036fdd119e5e93a26e2e984ef8b37307f027d796a7ce49b9169bffd21d8e2fea906f2e3395c7f5298915df46fa32ed9477b7f91fd7bc757f1c2734ef6195f75c83caff4f22687680f86a82fbec81ffc17ecc9775c17f175991c223ff14233ce47fe23c7f02717945760717fc521d62cf5f7299179bec6f80c161108f6578cc8b68df5a528bf40a487f3603d7284f1b01bec2534391e74799199bfc68c1c737d6b1f2cfc2bce9f77c92ecfcb813f0b1daedfd80fc84c3f8dc911f27b857e23e110305f55250788e75ea8af91c5f1ceef112ce259ac0fdc9139bef0ea9323e8e7ea808547c07ad094ec59f2f998df1329c8fa9d599a713ec2921c43bf1d19cf3ba2f541fffa067b14fd71b437ef2599fba767f87e2c6a18e2c33539863e12945fec96d01ecd468a3dacdf92f621ee56e06fb20599f1d6c927331e4aab64fafbeb1eec703fe971440e696f4db05bc6fd70a619f3ff457205fdadabac3f6ed9e47cc6f94be67992b71639463c9bbec116d7e3eeffc801b87e00abfade88c9dc1f1b42fefc7843997ee8922b28afa04eae427fcb06d9f6311f28eb8b5b11fd57f9fe63428e60df57e8af62f13cb3d78accf3a55a3bb0900fe33357728cf8c547fa15d7803da51ed9c4f36f70351f3193edc98accf8eef2005b3c7f6fb0018bf292cf5f3a64d6d7e8172cf481f3193f6403f5bd2bfd919086e7a9d432b283fa715c9363c417e11c2ce4857f88344b7d14268ab13e6f619345c02dbf2feb939b0f98633dd55333ce9b1990196fde7a9ae5fb0fbeafe297179f172d2acea7e3f744fae89f5e34633c07dfb394fd9d6b64ee4f1fa07c2c8bfd9ffd96ccf5a4fb3739443cd347fdb1720f2bfdcd8d4cff700ec95c1f7f467958aabe9c23cd52bec2986c63bd8137d08cf5b3fc9eeb7888a750bf448788f6d02033fe3d1dc12ed70f4f578a6db4b773b28df98dc294ec407f5187ccf6309d91d91fdafe6ac6ef3fdc35637cfa87ccfdc2db9b668c5f21bf8eb02f8cc7e37b8e886f711eff8eccf57ec33399ed718cfa25aa1bead374a7d891e55918901dc85fe86bc6f9ad2732e52f8c1443ff6944f6217f3cd78cdf776968c6ef212879d87e77f1bc2bea2be28132d982ffefb5c122e0437c02ffe92a7f7f82ffca5f90f92d0cc92ee4cb2e64a69f303da15fc40f7bcd585fbad08cf900948f6733ff4fe4d773781edef042b6e0cf3fd097273c1ec6d352c5a85fe309d980bf1b8fc9167944f6501efb3e99e72315ba8a617fdd44b3cc5fd8220790373e68c6ef55a9f74394976f6b96e515a69a717eda9e1cfb386f0bf5dff34a3ece7b80bd8bd690f14e85ccf5e8d75f32fd53562487ec3fad34633c84cfdbdcef3542f9faa20660ffd74b31f27fec935dc87f30c91ef29729667b5de828c6fb873399fb23f73dcd52be70aa18e5132d34cbe7c38c1ca2bd0c77e408f614ac3463be1aed576045f08f17b4cfe26ba8bf75e83bc82b80ccef5b31eae3ac41b65dc42b6732d73f1f0764ea635cd48cdfe7ea923dc837ba69467be028c6fce8c120fbd0c7e1aa19e5632ba6fdfd91e9bf0a3dc5984fc9d4f7687fd18a1cc13e83b566f8dbb6629457a8f2cff3127c47b3ccbfef6a96e985b0d7c0e37eb517f4afe3eb0cdf0f6d9e9fd543fd0e557bf3de934d946fbf4266fcd273c8f4f7c7a166999fd15533e2850e99f31ddd1d99f636ec6846fb3e510cfb0b9be410e5f7bd68867f6e28a67dabfb3ccfc4ff92197ffb35c5fc3eea5f28f405fb5d6a46ffaea559a677413c18e9f6b447f639dff121333ec8e07f457f03fabea0fca37c4424e70efc67944734d27e0b64b65fa33bd9a53e999ed2e7e9a218f9d91734a37eb4c901f2734a35e37cb1b5668cc71ec9b4d7c14a33fa6f65cd525f614933fa8f1bc5881fa21b99fddbaba519eb5fae9a65fa859662d49f704ba6fd4707c568ef02d4f7c82ba1fe863fe432ebc75bb3fc9effd18cf671af18ed4f1bf535b6381e79447e629be78d5f5b9a71de0ade8f45048ef9dc13d9417aaf54337e2f91ef0b7da13d6d6b96ef371332edb7676b467c3223f33c8af34633ea435d31ea43a1a919f345944fd833da8faa6694e74231f411d6c815a4e75735c37e64fdca6b0be2975b83ccfdb89f884cff3fdc9363eecf8ac1b68bf2eab96061ef888702b207797b3e99ed77e7a019e36d1fcdd06f5731ea4793f228fdf67f14dbd8bfa7be477b6b6e3523be2f69463c7cd78c78ed5731ec71b0d02cfd81ff02e71a92f6e268c678534d31da97c391ccfe816f6996f9f5dae40ad2f3ba9a657a5e5f33daa32ab98af4a3ab66f4b7a47ff1f29f8b94ed7d0dfac8c7a7e5f7da67b0cbf8b475247bdc7f922986be3bea3edbcfd34731ecf1999295fd6bc6fbed1399f1c5e3a819bf37b7508cef3577648e870d969aa57cc39662f8c7460256f6ef9b9a618f9e62c43f3d7d1ff563d8548cfe85ff24b33ded1514c31fdedfe40abe1f2c344b7bf27a8ab99e4d3f0f790b1fc5180ff23ae42afb336fcd32bfc18c6c409ee0a519e791e17ba236a33dbb1fc91c5fc9f07e45d803e697566475be30ea53c509905e2f04abfed33b2373bee47b550c7b6d1fc88c679af00715551eef944c7b0f6a9a51ff2e9ad19fcf14b3be19e40aecc17f68467bfda398eba3df9a511fbf8aa1ef934dae22fde0ab19f5794b36d03e159e9ab15e6aaa18e34b5b253fdbffe0ad19e7971d15a3fe3ee0ffaa963a7fb9468ed8ff80bde6cb0971bf49e6fae701ecbfead0ff4ca19f6adea397fa38911dd85b3723b33fd94dc921f25fbb9123d8dfe748667cf5e1fbaafc9e3b32edbd76d10c7fb4d48cf5227bc5a87f6ff57e95f1da4733c6f7be9a114f3f1443ff27f5bec17839d18cf12b5f31f47db2c826ebd74b31eca157d58cf3f1cf64eed74fa78ad9bf3890399ed381fd19167fafe982ef1922bec0fecc22d940791e1a64ce7f5f618f868a5f5e3b32f5dbca34cbe79f5b32ed35396a86bfb234637eb9ad18f5a9abdf477bf9d9930dd6cfa766f40fd78a610f3d4331d6479cd57d8e1f6e4f9ab1ff4fb185fc057332f73bee6a8af1fd3bec335f1f20e5ed37c821f7e3a1fd366dfeded3b54036a1cfe181ccdf77383f35637d09fc9de954311ff61a825dce973c4ee400e5fd86be4cd59edca66496d7634f663c75782a86bd364332cbabffa718e9b533cdd82f43f9953d6767cdf0ef2fcd527f5e4b31e4f19a9ad1df2c934dd88f7f574cffbdd72cf55dd0f7d11e3e943c16d28fce9a515f978a217f1dfedf52fda56146e67aa2fb99eca27fd256cfb3ff3282be2c4795c78e4c7f74877fb0543cd682bd58a23c10ffedc9b4bf34d48cfe6349b3d487d7508cf7fd2b99e35bfe4d33c6b334c3fe0b17cdb0ef0799f61d3a8a11df240732c72bbdba668c7fcec82ed2fb227fb6c5fde57d3c6fabf545cf02d980fd5f5cb2097befaafbecffbf60cfb6f2d7c74031f2932ab6685f35c5684ffc0ad986fd14ae8a315f5f386bc6fe4acaebb1ff14dc3563bd86fa9e8bef7b5fcd52bec25e31f41b531f1ec773f71d32c7c76ef077f9f832e259e4c771d85e8c2db285f8fc89f6c351f17393cfe71e46a6f743e678699c91997fefad19fd2fc50ecaef6a6ac6f8d24e31f2533869c678e687ccfdc451a019ed914ff6a0af78a719f1d45133fa934a5e0fe511aaeff9906ff7d52cf31f4fc91cffeac9f139913a7f4f63f026f3f79fb22999bf57b0df91797eef21d28cf5de1532cf4b3d7ec82ec7334b649e0ff750ef73bcfe9892795e5feb97ccfe5d9bef3baccf4fcae784d0d717f6e9aafe4408ffe38af2417dffd32ce5f13e9a116f6cc83caf223a6946bc78548cf51cc18dccf1c928d48cf331d4f77cdafb4131ec21189303c6c347cdd88f8ce7853560befd3c22f37cc44e4c66fff68ef6c9cb0ff093df9f925dc8174c34a3fff9d28cf1831399e3fd6148a63d793772007b2da48aa18f2becc9b7f9fb5fbd0599e78b9f3c32cfcbbd75c91c0f1fa0befbf98c899407e5e92b79bca766a94fefae19fd878cec23fffe5e33eaef4ab3fc7eba518cfa53d86a467bf14b66f984137288f4bc8b66f8bf113962fa07cdf27bde951c437f37f88f40add7a9fd92d99f6ec21f041ec7db43c51ef31391995fefa1597ecfff21077cffa519f69828c67a287f43e67e91507d2f627ecf9aa5bd851e99fdf516daa3d0e2f9f343d887a89d88974f3f64ee8f6f3864f6573e7c5eb5cfcfab6247a65f3b936dd697353964fbbed38cf1f9a766f8cb4831d65f05eafb2cafa4a498fe7a4c66798523cdb2bcd38962f43742e6df2f21bd23f21bd921fa071fe83b5f9f82fedb4831be3785bc916b623fc113f53b52fddf47463690ffe04c0e587f2f64eac33b69467cb824476cef53cd187fdd6ac6fca8ad18f6518835cbe78b884722bf84f5b98ba7621ffde521b9ccef1734637d0aca3fb6793ec47b45e6fcce1ef62ab4cbf9872a99e36da941aeb2ff3a23bbb0f7e189ccf1ae26ec3516fe11f583e909fde0f705fe14633e31b890a9afa2a518fdc980dff7389eebc79a616fa16207ed3bca2f16fa823e3dcd88c7127219f19aafee737d4e43ea4f5817db835e9fccf3765397ccf36d2f0958e9eb5b25b33ff3e27dd51ff72332c7ebfc0599f90b879a115f1f14a33f111cc1b944f2f9a266f8e74433c66f02c5c87fc0ef09fb807e7cc5d0b7b72357108ffaea3ec7d31ef89e781bf634843c6587eb753a2b32ebc3b54ee6792d6fc857f6d83f0907609feb85bda366b4879966cc5f4fc965ea2fd02ce529da8a919f89a1d8c77ce39e5ce1fc404131fc811793ab48af05fd56d4fa9f16ca4ff44eb99e05e5557138dff82993397e737e93395e365a835deaf3e28145ff01e3a72138b730c97332f3eba58a513ede5e33d6c39a8a5da9bfe24a33be372357d8deb89a11cff515a33c8a8e62e827b991ab68bf0b45c52e7e4fecab38407bb92573fd7003f917bd059e0f087babda16e3ad3f327f1fe01390f97b3cdd2939423c7c3f811d8eaf8d3c32f72b5f7ec9ecbfb6cb649e8f18f6c042bfc8ff9d4cfd84b662da63a819eb910dc5d82fe539e42acbafa819edb9a518e57db86996f78b55c5d0a73f211b28ff5d5731fcdb03f93584bfc27ae33a99bfcff25a9339df3c7891b9be7304fb371c9eb79975c8553c7fe6f30ec7a786f007865b41fb9d3dc13ec76b32974cffbfb5344b79bc4031ec2118900de83fde2886fda50bc5b0bf5d5333cac3269b28af624531cae38efc9b367f4f62b823f3fce27e8dccf55687a562e4bf0b7b31457dc6fa43de17f683f5906332fb9b23c86f7a2594e709fa3345fd44ffe240a6bef6337295eb5b7f34a33c1e6483fe7dac19ed99af18f6e8459a65f96ccb8a5dd447936cb27d311443be34510cfb0b3b9a61df1699fdf9e29f62acd7de56c92ee46ba07c2cd55e36e6e498f68af2b71c9ec771f9d38cf5cc9166ccb7403f96e8c161fd545d337e3fab480eb1bef288fa63a9fa9ba6e42af479f41443fff14533d6e3ed14c3fefc11d980beb626d9843e824c33f45b50ccf1838362e82b70c916d2f7879aa5bcf14931fd795933ce27ed906dc6cf5dcd525fc59262947f1ff5c7b679fef309fede76b81eb2b32173bfd108f5d5762b8877472332fdff05fab67dceefa52bb201798e05cda80f77c5b0af20259bc8eff645b6d8dfb315333ef03463ffd55a33e2c75fc52ec60f1cb28df2f2aa9a61cf65cdd81ff7500c7b2ffe68c6face0ad9617b71d38cf98fb762f4a782866294b7a7f4e522be3fa03c1cc782bf79a0fc1d35fffd803e1c617ff2fe93f7557bba9f904dc8731c2b86be821ed9427ecf2e99f691fc6946bcdd510c7ded8b9ad19f6b931dc6cf03cdf03f15cdb0ef1fc5c8ff4ebdcff343025331e42db89ad17e3614a33cb33bd947fa4fb40fae8abfb209b942fb2d92793ef23123dbecef7414c37f4f91be2b7adcf2f919ef8b8815fb0bba64d142cbef2764c3c77ee729d962feb68aa1cfa3af19eb457ec82c0fafa418fa3c3b64da577855ccf2ed6b467bf1d28cfee34631c67b0283ecc21e829d66b40f3f9a11df2d14237edcaaf73df6473cc52ec69fc79ad11f6d93397e55873ff76caec7bd5cc8fcbd881bfcb9f83acaabbe2657c1bd1ed9447d19f964cea7dfd1be786a3dcb13f2785e087b7a8dc8ec6f3f50be9e8a378e5332cf4fb8f7c916eadf9eefe71e5396cf5eb3d4ffc125b3bcbc3fc5acaf4332ed3dbc68863e13cd980fb034a3bfeb6846fbbb568cf2098f648ff5f15733fccf4633f65bd98a03ac67df9159bfdef0dfbe1a1f7e911dae376895c99c0f3ca9fb06d7177dc9dccff444fc9cafa795f28e117f0971609fa3981c7a986f4179f8a2ff82f8604e66795ddf6435dfd6d50c7f39d08cf1de5f32db97fd98ece0fdd35333fabf7dcd28bfb966c48b0fcd68ef8a6496afdfd38c78d926b3fe24bf9ad11f3e6bc6fc86a919eb030dcdf83dbb50b18ff967957f8eb70615cd18bffbe73efc81450e90dfc5427180fe19ea5760f3f7811f288f408d17d5fec855d66783ec72bd0bea47e096183facc88c57c6b08fc0e3f8d6b4410e3dec27bc9323c8ffbc9163e8631229c6fe8f07f41de43d18f9fc88ccfafc689339dff8686a467b909055fdcec82ecae73ed12cdfbf6dc8ca1f5635a3bd72c8ac4fc94633c6bb4f9a313e6e6bc6ef91468a7d9417f52d348cfabcd60cffbbd40cffdb2247b49f9266f43f507ff3fd86989f7a6a96f93b84640bf178674de6fad307ea573e9e0b7d3fc831fd2bea4f28f48ff38dc664c65f8f9666ec0778931dd8f7c1217b78fef4d08cf1e495668cd79b641fe98755cdd85f35d38cf9e41f72c0f9e79266a9dff8ac19fa2b2b467f2088c921eb574733d6b3ad34c37f57c811e2f985a738c4783d9e8fd4790867e82fca7720cbfc6fc89c8fde3fc95c9f949a64ceef4f909f48d427940f9ff74b90ef3e25333e7f34c8dc6f7e1f9119dfdd07649e17714ec93ee797d79ab15ef71fc6ef0bb734237e36c801e4b9be3463bfeb5633d683dec921fd5b5933cabfa219eb9faa8ad9df50e9b3fd0f42cd98ef9a6b4679ff9263b4ff0de85f6817e30557f813e18d107f8ce03f6397eb252f64553f2e681f63d11fc57af00f99e341b73f32e3f7679fccfdf98f9a66acf71d9219bf6d9f64ea337a9143e42fbb6986bd2c35a3fffa4b8e60df851fcd323f41931cb3fdf035637c72a119eb59653c1494d4faad5785ccdfdfbedb64febee1ed0b764a189f1a3cc80eda97d42173bded23540c7d1f7fc95c6fdbef6a467bb100bb01ecef3e038bf281be5f60513e589ffb261bd0d7f0aad8c7ef3194c9a687fa53273bb0c7c757b3ccdf437d8ff15ba2be17a23ca3a7628e47533e618f38bf62a319ed7fa0d8c77eec1599e5e34d34a33efc29667d88c04243e8af069ab1fe43fa8fa06cf3f7a1ef0999e70fdcce6015ef5d0e640bf1c1d720733fc0eda819fa2d92b95e67fc01bbacdf37e8b7ec71fc6bf247f65cc9d33a39c6f8cfb30656edfdf3a359eaefd923339ef6a664a59f9562c49b05e8bb2c2c46ca37ef932b81bc3f7734e37c2d976c84d8df2ee3fba0a2ce67186ec9dc7f3574c9b4cfcb9eccfd3fdd0999ebc3bb4532e7cb2efc9e8aaf6e64d121c1fa26d85f45f873946783ec82cf47c5b0b7d74433f6d7b615fb88973e640ff6e537c1a2c4d05f596b463cb32457505ef38162f4371ab0afaa6da3fff736c9fcbdb903ea6b3e5e8ff83b2573fd5b2b2473bf552722733e2d857fa9badc1f935ae40ae6dfaf3f648e4f7f0fe408fe7882fa5015d9853d525e353f7ffd2a867f9f501e9fe70fbcc66417efcf5a8a7dfc3e1ff45dcd0f7894fa803c86c82ecaaf4ae6fcf61bf2e7e7c540de1d99eb55af33b281fe56a348b651dfba0bb28bfedce04ee67ed8fe87ccfd62177e5fed171f2dc90ef8c6fb1ec7e79ea88f868adf9e5db20ffb9aa3fe19e292f71773b215221e44fb60aaf99d960756f311a73599fb05b32e99f276a16f53eddfbec21f986a7dd86549a6ff9ca2fe9abe81fee603ed87a5c6239a8662e8f383fa6a89fe2fd6d75864eeb7bcefc86c9fba2572087927fcbef05ff83dbd1a397651dea84f96f0ffd89fae19fdbb59012c3c14ce63833e6c55bec73799fbc10f0139e0fad996669cff51d18cfd210999fb4746281f5bd59f738fccf3ff274b32fdf5c4077b06cb1ffec316e52fdf9ff3be287129ef17f239ca5e4f4532f737765c72ccf61dfed171795e4baf4b3631bffcec80457c2e9f9f415e47a487df5b89c95620f5b37893ed00e739a17dd1ebe51a6532f7433dc90e7fafb25121b3fdbbbdc8fc7dacd786ccf6afe39003d8c3a145e67cf21ef18eabe2c7de9cccfd1463c8eb7a9c0f1f5cc815e877aaeebb981f78f2fb3ecf739c439f22fc09d0ff6e2a46ff633123fb68bf1694370842ccff417f7abffb7543e6f8c96445a6ff9cc29f78dade515f3cd11dc37e4fb4475eee11e4fbfc7e600658df0d7bcfc797107f54c91ccfad79640bfabf079a711eba62ee8fbe8e35e37cc8aa66fc3e9d4df660ffb71399fee6a1e489d1def6866075fecc6945e6faf4c708ec713e60fa2247d8cf3d657abeeb61fd09fc83a83090f703fd076abcbaed69c6fed12d99f1efed0676b93fab59269721ff3022f3bc95a1a318f5bbdf2173fde7f841e6faedb17ade453c765d93d95f1ebfc85cff31b6c91c0f98f07961bfd21ec71732e7bba7684f03bfe462bd13ec47fc5f88fe12ea83f08e90271b93b95e7f7023737fc9d82573fdf0a4480ed07ef5df9a719e1df41b7a8c1f273f649ff11fca3b14f2c09f259af17bb7881fc2b012a1bf06fde7fd77ecd7f434e3f73bab64f6e7ef3199fbcbbfbe66fcbeb9629ffd1fe42f52f1df5131f777dd6a8ab9bfab47aea2bcbb7f9ab1bf774836115f8e66648be309b0ffc8e3faa9c9866ca37f39833f8944fd85be2b64173ceb9343e86b36204721e2e9ad668c4f8f35433f88af62557ff7f87eaccef3c90664aeb7cafa64ae471f3fc95cdf7ac9c801fcd507fa8fbd2afbd70b32fb6f53f8d338f003e4d723878867deb2bcc392f227b58266cc275864eee77d2ec9dceff9f1c911ecf5be21733f6d630156e7896443cda8ff57cdf87dd43bd944f9f6db9a715ece806c235e1e523e515f705eeb1f99ebe5674c4f5c88e777e44a887849fa87303fdf11ebdfaa649e5751ff23d3bf5e905ed9e5feddc39cccf9fe4e4866bc39b4c93c7f677c25abf6c604e73d6c292ff45916124a7d2e8a9a713e23caaba2c60bee5bb0f2dfc71799fef251540c795a1532fd633622733f433b24733dc4d02473ffc550dde7fad97700f638ded0eb904dc4536f3eefb1ff3afa05071caf9f337d9143ec7f437a5515dfd58a649ebf717b82953fad879ab1ffc027b37de8049ad11fcbc8dcaf59df90b97ef8ba20fbe81f2ca0cffc0795e1df0b9ad17f837c86f28f8f19d8e57eb137efbbdc0ffc52ccf2e894c83cdfe8782053df3df53d1ffdbdd1941ca0bcce5d32dbaf01eccb10fa873e61af82600feda262eaaf44e679148f1f32f7ffb60cb08817b09fa0a218fabd7dc83c9fa1c1f4d4f95d873699f3d5437ecfe37acd29ecc50ccd08e757a2fc2d151f740a64aeb7bf1b64ee6fa8c39e2c55de17beef723fd1e548a63f18dfc9d4df15fecc12f260fe2e2473fc750af92d2121cedb97ed55680bff87fdf6f01fb68a7f6bbcaffc43dd2673bf5dab4ab659deea7d87f67923733f4f6f44e6fafcb1bacff5e67dd8a7ed05988facedc17e05eb0f36280f3b7423f9fd4d44f6a0ef8dad19bff70376d47ebc2ffc8be372fd69c7225751df1a0699fb11da3e99fee4e190797e7bad44e67aecd104acf66b5f57640be35bb714ecf37ce00dcacb090dc433b380ec44b8ff4bf610cf6cd6643fc2ef0db4c84184f97dd40757c55f6d93ccfd14dd2599fb074e8a23e87f34067bec2ffef07bb94665fa0ed985be5715b28ff437a666699f9b0d39407935f1bca7ce87e9fe6a467b04fd781e7f9f619280c517246f7ec84a1f7fe480e95534cbfcad27e410cf3751debec3fd0375b2286fb4178a5df0be4a56f1bdad19e77ba0bc7c2120ec11f5259f9093e5bf3134a3befe917de8635ed30cfd95c921e50f34637f2aeee7fd0bccffda64c613b50ad966fce290e92ff67b32f7d31c9f64ee9f39da9a315eae19edfb0fea43a0ecf5a740b6d0be6faa641ff20f87e400fa9f5535633f0dbe9fcf6762bd21395f1024e5f7c9ec1f1c666496dfd7d48cfe3bda8b509d7771bb2bc6f8c810e987be81f58b4be43f14ed1ffa135fb281f1881f8f6c225e1e94c9f42f137e4fe407e3dfa8ef91f6175532f787d65db2cff5fc1639e0fa950e39647f6044e6fe9b1edacb3cfe97fe6171068bf240fff0876c623c61139239be577f906de477532247b0af36ec2556fd8fc71f99fef0e391b95eea3127737f612d21737d59ad4c56e5732073fcbce56b46f9aaefc7f0076dd87facce37391ec9dc5fd352f72b28df19da8f58e803f1ce806c22ffaf33d942fe6b1fb203fdb564f94425757ee05731f7377eaa64ee1feaaec01ed7af9f3b64ae0fbf55c0c2a1c8f79b37b09007fbf3ef641be93fa5bf88cacabfd44dcd383fd821b3ff7c53ccfd2ac713d8e37e856389ccf5162da45716f9873f8bc80ee4f9bc34435fc8bf8897a1fffb0f99fb01af53b0c7fd12f58266ac3f5e92d57aeb0b99eb7dbf0d707ec0b2fc7e8fec42becf4733c6db8a64b67f17a62f2c18e5077d887818e9bf2b64eaf36383957f3874c93c9f687fd48cf8cf548cfab93f91b99fe06829467e6e0fb28578b5f605abfcd551be793c2cdfff16c921f4f7de90190f754cc55c6f89f23044fdc778c3834cfd76ca8a298fab19fda93399f32d774f31d713abfb5c2f72e5f7730f29e595f53b325daea7b94764ee1faca17e98a2fc11cf068a111fdf8b64ae8fdf9fc95c3f56ffd18cefbb9a71fea449e67adad382ccf18106cac714eac4792417720cf99fb0074be9bb6690b9bfab0efbb1847ef1fb6305b25abfdb2673fd7007f5c952ed5ff34166fafd88eca37d38c3fe2c611138af06dfcfc7ef91df5fb0c7fd5877934c7bdd1b64b57efe4e56fae2f784bc383f6648e6fa8d2ef4610bf9b07f39233be80f3ea04f47f9930ed2733cee77ba97c95c9fff30c926d7534fc9d4d7c52673fdde517d8febf17a63cdf83d17dc7795bdd64ccd58eff52673bd462d2473fd521de59b8f7f233e42fdf4843eb15eaa4466f93e969ad1bfae92b93fe6eb91591f0e3d32d7171f2f64aeef3c96c95ccf52c7f77c615f380f13f6e58bf430feb42633bff73f32f7933c369a317e3e21737df2d722539f872299eb7d8a284f3f0a42ecef599243cc2f6c4b9ab1bf14f2056a3f72a742e6fa9700f615441c2f2c4e35235e407ef2fdcc587f1092b91ee35ed22cebebd3d68cf59c1332e53f29a6fd1e6f64aeef3a4dc95c9fd19b68c67a6d944728f28ff3c32ccd385f27d18cf5da737284f1b522bf17c518cff1869ad1bf86fc91281fc4cb2b32d7bb3effc8fc7d8ca7a919f9b734e33c39755fadb71b81d5febf10fe2752e5559c6996df2ba23e457189f9696b46fd46fd8a3dae1ffbda64eafb087bcdf7ebe23cc93999fbeb8a9027160922bd2139867e8b7d705c467a2f995e5c12f6299fdf5be400faf9189a71bef20f99f3c37b17ec737dcc694c2e431fe79666eccf198055f9149be0b842ae6bc6fcabac2f7159cd37bc2cb28df45e3f6407fad93be07c87add457855ce17eb39962ea0bf29595fe8b1dcdb0af1e99e385c59b62f40f0b737205fdc9e2975c0db1fefcad19eb7d65fd8c2b1ed757be4be410fa3c5ec1425ecc0f5fc0425fd8afd4000b79205f97acf4f7211b78de1b69463c23c7efe3aac7f52def2ad9a33ff4c95cff7546f9e4fb37517e35b0480ff97b6a86bcd21fc686c7f5a4758fccf5735dde57dfdbdbe42aee5f4e8a513e873199fb1b1f48cf10f9877c5bb292e745a6be8b0fcd583f83f44c9ffb0f0f7d7299f68bf235d5fbd9954cfd051bc52cefbb66ec07803d5a1ed74bbd4cc518af39a3fcf2fd66e88fafc0a23997f6f0817de7e369987f5a93b9bff080fae388f7d1bf0fc0f90f56c9f4511f3dbf84f18ec388ec21bde2122c2eac4781bcbe2a8f5a4c36b0bee93024fb18df2b421ff90246294f4dc64f7120e4c3798c7f641bef7f4c32d7073d65fc14876a3fe408f6140a0785f950dc17e60e2e66e42896e5f31369c67c645333de57f763f00bdf8b853c904fb103f9be9166f89312d9c5fceadb21fbd83ff2fa2307989ffec25fc5425e9cef74d72c9fff0935c31ecfe428c67ace5833fcff4333dacb5433f47122c731d60f5f34a37c8e9ad1fe1c34c33fec35c3dffdf33eea4faa99bf57562c14bda2cf3faf181443f9ef7f2e5fffdbd7fffd9f57242ef5df81bc42f9cf9c637125e252dff8f7ef07c5adb882e24e5c857f7b3fe4bbea9212ceee527eaf9816b3e2be7890d7515eeabf0ffabf0fff71ffa8ef1dff3fae13fff0d4f9fff5e67f7ffaf4ff7b4fc9b217575af428efa5782dde8af7e2435c4ff1f7127f6ff1f7117f5ffeafeaaa89eb53ac8beb2dee3dc55fe33fae9af86bf2af5e6c15dbc58ebc5ac56eb127fe995f7dfd3710ff1c8a6b24ff6b2cfe3911ffadaefcbfa7c559715e5c1497424a25ef5e48bb2aae8b1b79fd88ebb7f827fe592a968b15f1572d1ae2328b56d1169753740bc542a1e015fc4220fe1916a2422cae445cdbc24efca5854c5cfbc2a17014d7a97016d7a5702ddcc4dfbdf0283ce5dfabf02e7c0adf42ad502f340acd42abd02e740add42afd02f0c0a43f1372a8c0b13714d0b3321f15ecb7b28cc0b8bc2b2b012d7bab011d74fe1b7f0572815ca854aa12aaeb2bc0c7199054b5cb6f8b753700b8e302dd393a751e51bc03c39ac2d5c67e26dbd5d7e468b977a99b7177fa977f08ef2efe49dc5dfc5bb8aebe6ddbd87f7f45ededbfb785fafe6d5bd86b89ae26a796dafe375bd9ed7f706de50588596d71b79e3c2da9b78536fe6cdbd85f85b7a2b6f2daefcdf1b71fdf09fbfde9fbc4af989bff929b3f9c998f96980f9896e9e2baa63fe4fb95fcd0ff2416ce1b8137feb4b07eeeffc545c99bf177f07ff28fe7df2cffe45d0555c37ff2eaf87b89efe4b5c6fffe37ffd9a5f177671a4bcbb5c5ebfe137859c0b29eb5cc8b8f25b7edbeff81d21f3aff7e3777319fd9ef7e7f785ac7ffec0abfa43798dfcb13fc9e5f5a7fe8cd754fef7d49ffb0b7f99afadf75742cea5bf167f4b7fe3ff88bf5ff9ef93b83642e63f2971293fa7243ffb41c86ae67bbaf37db141d1af07857f93f7e88d02aff017e49b80026f11c8c16ed1bd58fb9d2096f2e6ba155a0d12716dc5bf7790d6ab06a93f0e32ead781acc13e3888bfa3947a119c8484abe01c5c84746bff27b806577f23fe7ec59509697f839b90f62fb8070fbf143c8357f00e3ec137a809799d7cdfb37070ff2eaf27e56d0879a3c017128642ea3068062d6a575cb95e73ad0a69db4127e87abf42e2bfa017f4838e3fceed4168d8c9cf100c06fecc7382617ef987e028a4161a15b22e44a9e71267c128184b1985bcc144685668389806d3fc8413ff2a249d05f360915fbe152c7d275805ebe0dfed41d86fb0097e825f21651cfc796b21772cae5250cee5952b9bab42e25c5e43c86b0656b013f6500a5221bb2dba91aeb407931a0ec26258c8e5155dcc93d06e6e03a9bf0ffdfc9f42e2a3283ef97f42e2731809696fc1348c85359485bc4fa1dd7998e4e70184db7027ae34ccc2bdf06cff266ff1111e0a9b5cbb42bebfa025fe84e4e151fcfb2f3c8527bf27241e04bbf02cae4b7815b2f6c4950659d0096ff9d99a9e13dec3bbd0ad2be52d0a9b9de6d206c75038bcf021ae67f80a5f52e22cd76d2e6ff8f64f6118dcc28ff8af725ee3c26ff091522fc25a580f1be26a86ad701fb6ff43de67d8097ef3f2cf2d5648d99517feab149e44fdeaf903217192cb9bff53c8da13baed0459d8f5ac6020e4edf9c5b01f0ec2a17714ff1c099f20ae701c4ebc6f380d67e13c5c844bef13aea4579032435a21ef5bc87b0dd7b977089ee146c8fc0c7fc25f29ef5f5812f296ffdd7e8bb5b01356c26a68846678129650155757eab79b4be7e7daec086bcdaffcdf89f8a723ae763008e44fb178f9f27e5b48ea84ae08260a91978f98883ef552f4ace32889b6d12e4aa32cda4787e8e8bd2329b1d4ec273a0b59dfb9370bd742b39fe0135d7c23ba06cbdc1ea25b74ff6ffa3d165fd1237a8646f4fa475e216d379759e832c9eb9b90b14f49a5dce12dec0a691dcfccb52bfc6e18bda34ff48d6a513d6a44cda815b5a34ed48d7a513f1a44c368148da349348d66d13c5a44c2f70aade6ff27e5cdcf2392f50df22e85ffcd7fd271e7db61335a45ebffa6df5cde8dd4aea1f52bec57c81ce7f62bace0a425ed88ab9dcb2924cd7fa666ec8fa21f21ed6ff41795a2725489aa9111999115d9a28b9fffec4c31cefb0bbea8c4324a8f93a8156fe35d9c8a9217d610dce34c7ade5c5a7109effb14d75be8370d56f13e3ec4c7ff2e6f7c8acf41596a58c897fb835c5a79e52c359bd736296d5faec695120b99b3e827bec4d7f816dfa34afc889ff12b7ec79ff82ba4acc5f5b81137e356dc8e3b7137eec5fd78100fe3513c8e27f1349ee5d28a8e451667c143f8dfb294f8934b1c2c85377385bc7321ef225efea7bcd27e8d7815aff39d3fa28e9d4589e7dee02474dc965226d2223aa23d1b899a66c71b11ca0e3c33de7885f827fe8dffe2523e4a207aca86e82de6fd3d47c8e98ad0b79078892f5e0f9328899324d926bb244db2649f1cc24d987784447b9cb717d1394c9263721412bf600f611acf9353722e4e93cbbfc92bfd4310c6ebe49aefcc91369140a3425e239736cf412ea7f463b668d38c78130ce24dd84f6ec93d79c48fe499bc9277f249be494d5cf5a4913485b4ada49d7492aef8eb89ffb59f0c9261324ac6c924997a1751cffe84ef15961b9df34bb46b5fd152bc9299d0aeeddbc93cde278b6429f47bf84f7943d12e24ab649d4b9b6cc24bf293fc4a9985bf1597f867f21798a28e89f641f85d7909db2d8676524aca4925a9264662265662274ee28a6e4321696cbda4299c5ab00db7d136de26dbed76b74d93c136dbeeb787ed313a080dbfc38fd0ed7d7b8acedbf3f612bca5f53e453b916eafe2ba6defdb8794b720e52de4feb7582efc85e6f6a9e44d7e85ccb9463bc9dff62565be247fe14db46e6e6eb3b98603db1f87d6f6bdfd4493ed775bdbd6b78d6d73dbdab6b79d6d575cbd6d7f3bd80eb7a3ed38796f2789bd9d6e67dbf976b15d6e57717dbb8ee2ed069610dc73ed4a795fd1d57f45b7bca66d7fa4bcbfdbbf6d4968d5ff47de6d39f80dcd649dacc2b390f537d76deec9644db373df90fc09c92bdbead6f0acadb97d893f4b78b1686b6f9dad2b3a6085ad082a76fe2ec89de62ede25bbed6eb74b77d96ebf3bec8ebbd3eebcbbecaebbdbeebe7bec9ebbd7eebdfbecbebbdaae2eece021a53d0733199b497b0877c93c996fafbb06e50dfe69df76cd5d2ba8266be9bb2ee212ff16ad6e5fb711f6f695fceddabb8e67855d216b7e59a1b5ebee7abbfe6eb01bee46bbf16eb29bee66bbf96eb15bee56bbf56eb3fbd9fdeefe76a55d7957d95577c6cedc593b3b7177cece4d8b6921f5527f7b4e83348c72ddce832fbdd90bde378db63fc9228dff4dde44c85b4b93742b2cc1ccad21ddc93a96c7361dea58782fa9df97d4ec2b973d4db796e7a759ba4f0fe9313da5e76d2fbda4d7f496ded347fa4c5fe95b5c9ff49bd6d27ada489b692b6da79db49bf6d2fed64b07e9301da5e374924ee34cca7b0a1edb5398081de7beb729ae5d1aa5332dafac6fe95ccabb4897794426fe2c2daf21dbb33eda87ff905768375df9a3749d6ed29ff410b7d3dfed28fd4b4b6939ada4d5d448cdd44aedd449ddac283a735e2602c92ccc22e168936c9bedd273966659b6cf0ed9313bf9e55cdee89c097f26fcc3ccaf0a4fd60cffd2c8b7e3797649e37f6b2ffce231bbc6a7ec266ad926f91106774f778199eeb606bc8294544828ea9b886db2c7f625feccec913db357f6ce3ee921fb66b5ac9e35b266d6cada5927eb66bdac9f0db26136cac6d9249b66b36c9e2db265b6cad6bb5db6c97e84c4bfd95f56caca99688b73bd4667e179853fcbaa22366be4b143666466320fb3cc92f2c21e02d1ff17edb190f727b3b37c1f8d25757cdb1ac9af921836107685ed8a7f4b795d7fb42fee0b7b6fefef837db88ff6c255eeb7fbdd3edd67fbfdfeb03fee4ffbf3feb2bfee6ffbfbfeb17fee5ffbf7feb3ffee6ba212d6f78d7d73dfdab7f79df00bef2bf59b47922232db77c5d5dbf785bcadfde0dfe4dd0a79853d8455a9df4d2e73eecd327b3fdc8ff663f137117fd35c4efa055ac47eb69fef17fbe57eb55fef37fb9ffdeffe6f5fda97f7957d756feccdbdb5b7f7cede3d880ef8c13b88eec6213c44875838dded6197d50e69dc386487fde1107ea1df48da836f1d8e87d3e1bcef1d2efb5e661eaed4aff78f7e0f376f7eb84b799dcc163afd15ff7684b4e3fd545c42e2f00a1d4bcf20e5f54787c7e179781dde87cfe17ba81dea87c6a179681dda87cea17be81dfa87c16178181dc687c9617a981de687c56179581dd687cde1e7f07bf83b940ee54345f47fcbb95e655dfba22774a81e2e997110f67090f21e2c51cb305f664bfd26b188150ecec1497e44cbf09bfc1ddc63916ddb55b619e2dffb49ba92320b798f85a377f445072d3c46c75834fadbe3ee981eb3e3fe78381e8fa7e3f9303d5ef6eef17abc1defc7c7f1797c1ddfd9e4f8397e8fb563fdd8c86a71f3d8fc7fdaf88e25d7951ddb79ff86e60a79133da2374966d224494933794fef23debf3f40aa7d4eed7bbb1034a26816910b0b005955f76eaf1dc61f26609d33c33e28566235d6623d36623326b115db80371d5e7fe3453d7b834731b7a102e3a32b58cbbf99edc35ec0fb727e54621ed398c50ee075632ff6631e07711847f126dec6bb78148fe3493cfd3c369bc5f378112fe355bc4e86c920d963830945dff9b14d2eef71724d6ec73ab943cf866821531c9ae4913c9357f24ee22449d2244bf2a10ba7bafee1435224e5e396542f8a1e7ed1a4061e582feb9339f2af01e22d46de11ca01c0cd8ecfa449daa44bfa4448c4444ae44449d4444bf4c448cc842456622734618993b88997f8094f82244ca264936c935d324ac6c9249926b3649e2c8e5db23cf6a70d64e229a05d25eb74980ed27d7a488f50729dd34b7afda77e00bc9008ef8fdb254c41643ef602be66cf25f83443a45f4efcd43c37f816fc7c5ca6ef344e93344db3344f8bb44cabb44e9bb44dbbb44f85544cfc544ae55449d5544bf5d448cd94a4566aa73465a993baa997fa294f83ebfbd8a7e173fa9c1e9b639346e926dda6bb74948ed3493a4d67e93c5da4cbbff1827f39f2217d60bc21e60f4298d255bac6b553f6652efa16d75e2c1b66836c9f1db2230cc339bb64d7ec0676cf1ed9337b65ef2c4e9c2cc9d22ccbf2acc8caaccaeaacc9daf725eb5227eb3321133329930fc5b14f96b70cf0fa5737533235d3323d333233239995d919cd58e60c5f3f786f5fff66eef1fa17deec5b45a6eb74f5478371f9472b5e76e6657ec6b3200bb328db64db6c978db27136c9a6d92cd5b379b6c896ef21ccb36c95adf3613ec8f73994633058e7fc925fa158bce78f1c6af5d335b91fdde7f4b038807f33357fe5ef3cce933ccdb33ccf8bbcccabe12baf3f784f5fffe60d54bcd1b7924c1f10775bd409c0bb4a57a068f64f5599c33ac5c8cbdbbccbfb5cc8c55ccae55cc9d527cbb55ccf8ddccc496ee5764e73963bb99b7bb99ff33cc8c33cca37f936df25bb7c948ff3493ecd67f9fc744dc334fc3e2339d4f9225fe6ab7c5d0c8b41b1073b60c35f9c8bcbbf7cc078c3fcf6cd18d76dfa044cd9d730ee102f7af807af0373bbb8e65d712beec5a37816afe25dc44552a44556e44551944555d44553b44557f48550888554c88552a88556e88551980529acc22e68c14e21e205fffaa8c18726560aa7700baff0012f071b144111fe8d17fdbb7721da3e7ebd6ebe7cc01c57449f47f2ebf71a729c8dbc2d366f6048b129b6c5ae1815e362524c8b59312f16c5b25815eb72580eca3d3ef8284fe5b9bc94d7f256decb47f92c5fe5bb8ccba44ccbaccccba22ccbaaaccb067d8b0c4e96657b98975dd9974229965229974ac14bb5d44abd347ee18d93a2344b525aa55dd2925dc292a52fa8dba397fdfee438e0f5b3a4e90b94cc41fc7817ef75e9946ee9957ec9cba00ccba8dc94db72578ec0c6e5a49c96b3725e2eca65b92ad7d5b01a54fbea004df0a93a63b357ddaa7bf5a89ed5ab7a9fa0152d5bccc247a18aaba44aabac94aabce05551aa0fa92a4ba3aafec9c77155574dd5565dd55742255612cce54aa95430add2f2b6d2c10c98e07371055f6355412bb3229555d915ad58e5546ee5557ec5aba00aaba8da54db6a578daa7135a9a6d5ac9a578b6a59adaa753dac07f51e4af2637daacff5a5bed6b71ada8d779c2cdfd373563fea67fdaadfc500280549b14e1e529d1667c0fb8f7febacceeba22eebaaaeeba66eebaeeec1845aac2530b9566ab5d6c0f4daa8badaacf49ad4566dd7b466b553bbb557fb35af833aaca37a536feb5d3daac7f504d06feb693dabe7f5a25ed6ab7add0c9b41b38786e7d89c9a737369ae5094dc116fd942cef0cf0516facd13ca9257a934ef2686294159ff072ff46f4dd6e44dd1944dd5d44dd3b44dd7f48dd088605223374aa3c25c6bf4c668cc8634566337b4618dd3b88dd7f80d6f82266ca27ad66c9a6db36b46cdb899345340eb03ee69336be6cda25936ab66dd0edb41bb6fa181684fedb9bdb4d088b6776c44106fd99e8bf6d9beda771bb7499bb6d9c7f2b668cb7ff0ee87afd268abb66e9bb66dbbb607135ab1956092c194566d95e2006b5aabb7466bb6a4b55abba52d6b9dd66dbdd66f791bb4611bb59b76dbeeda51396dc7eda49db6b376de2eda65bb6ad7ddb01b74fbeed01df1115f77e9aeddadbb778feed9bdba37f001ca85d3ed2477719774699775203f1d045f9b7530a45df3076fd70eb3aeebfa4ee8c44eeae482744aa7765aa777466776a4b33abb93e113ed58e7746ee765a7ceef7817746117759b6edbedba5137ee26ddb49b75f36ed12dbb55b7ee87fda0dff70768184eedaa3ff797fedadffa7bffe89ffdab7ff7719ff4690558d3f0eb5ffc9fb97dd6e77dd1977d0584844106e7757ddf0b6dd98bffe2eda55eee955eedb55eef8ddeec496ff5764f7b069f1d5877c1bcdeeff967a27dd0877dd46ffa6dbfeb47fdb89ff4d37ed6cffb45bfec96fdaa5f0b436100d35e380847e1249c854bbd10aec24db80b0fe129bc84b7100b89900a597d4b96f5fd076f23e40208766608a550091040fd8798422b747ffc9bd75525f48220888224c88202b8b8a00a5aefc25c1674c1104c8180016af8640b54608223b88227f802170221142261236c859d307a3bc2589808536126cc8585b01456c25a1c8a03712f1ec4a37812cfe245bc8a37f12e3ec4a7f82a1b216b1f5f3b0a87f9d54da33e17df622c26622a6610f0392c0bb114ab7fe30df18ab5d808b2d88a400ab1170558174549c4b9282aa22a6aa20e66809922112dd116a9c8444774454ff4452e06622846e246dc762b71278ec4b13811a7e24c9c8b0b7129aeca91b89686d240da4b07e9289da4b374291bec2f511ba42bda51784f63b5cfa59b74971e420d057d2d419327bda5f8b73e54959448a99449b95448e5d720dc2a90b2466aa54eea25411225fc91254552254dd2254332252259922d5189498ee44a9ee44bbc5c4981144a91b491b6d24e1a496369224da599349716d2525a496b79280fe4bd7c908fcf1494f7269fbaa77c962ff87050bec977f9213fe597f490dfd07c24422da77226e772f12f5eb9942bb9961b10830ea65e06e7ca922ccb8aacca9aaccb866cca44b6645ba632931dd9953dd997b91c48961cca91bc91b7f24e1ec96379220ee5a93c93e7f2425eca2b79ad0c9581b2570eca51392967e5a25c959b72571ecaf3016d2fe26dee80f7827895376663255612255532289c73199a00e9a914504e819efdd4671fbc4aa5d472a7344aab744aaf088aa8488aac288aaa688aae188aa910c5526c852a4c711457f1145fe14aa0844aa46c94adb25346ca5899285365a6cc9585b25456ca5a1daa0375af1ed4a37a52cfea45bdaa37f5ae3ed4a7faba25c91d74ecd63ea4abfa060f5fd5584dca4e4d552828d5424ed552ad0073aad66af39b0f88576dd54eed554115554995554555554dd555433555a25aaa2dfb2a5599eaa8aeeaa9becad5400dd548dda85b75a78ed4b13a51a7eaec7d54e7ea425daa2b75ad0db501d81e5f396927edac5db4ab76d3eeda437b3e5bed853d1b6662e9da3e5468a410aff6d6622dd1522d83420e8a53b5929e72aa15ff89572ba14ca8b5466bb54eeb3541133549b13559533455d3345d33145f3335a25960b64635a6869aa3b99aa7f91ad7022dd4226da36db59d36eae7da589b68536da6cdb585b6d456da5a1fea037daf1ff0058e7ed62ffa55bf1dca6b8c3519fee776e5addf81bd67fda13ff597fed66325d37239d6a11944ffeadf7cfcf3bc5a2ef54ccff5422fa1aca9f546257aab777aafe9baa0b9280bbaa4cbbaa239baa2ab1f83af60ddd04d9de8966eeb5467baa3bbbaa7fb3ad7033dd4237d530ef5adbed347fa589fe8537da6cff585bed457fada181a03637fa80eb3a32f64a869186d06be363b1967e3625c950c1a80d2b8e98998298571ffed5fe3613c8d97f1366223315223539991ab916e188551ea280515e0538cda68c0a78ed11a9dd11b8221aadc900cd9500cd5d00cd8dd30d599410ccbb00d6ab054351cc3353cc337b81118a111191b636bec8c91313626c6d49819f37473e6c6e23047b46a6c2c8d95b13687e640cbccbd79909e22362f2ff368dcb17e304f7ff09a67f3625ecd9b79575cf301380b35349fe65397ccd7c7afaaae986f333613cd315333831488536e16666956666d36666b76666f0aa6684aa66c2aa69a10533375d3304d939896699bd464a663baa667fa26370333342373636ecd9d39926fc80863698ecd89393567e6dc5c984b3d3157a868e6d15cff8d970cc980ecf1852b8ebdf9242772068409fa915c0c4173c8150dd066e446ee303dc893bcc89bc4242129c9484e0a52928ad4a4212de9484f846c44442211992844251ad189414c4288456c4209230e718937a8884fb839320e243096a71d094944364249b6d253adcc95b9126ab223a3bfeac907199309996a06b05532300183f700d10c709dc91c2698837763d8de9205e05dc2b72bb8abb535b406d6de3ae0eb78eb6c5dacab751343eb6e3dac27347e6f2bb6122bb5322bb70aabb42aabb61a98b75667f59660891648b8a558206518ca3104836558669a9b0bc05bca09e2b588b9fe85776f3c2ccbb22d0a1404a69a99c52c87dc2dd7f22cdfe2866005566845648eccb036d6d6da01e23b6017d540e6d6c81a5b136b6acdacb9b5b096d6eaa95b6b7b680fec3dbeaab34ff6d9bed857fb66dfc11f3272cc7ed84f6807df766c27766a672fdfce9347acda855dda955ddb8d79c048b35b73657776ff17de812d005cd1966c5957cdd4e8ad903c2cc7566cd5d62c8edeb522c48becb536b66e1be0dd05ecd919956dcabe4d6ccbb66d6a336b1ebf6dc7766def55dbbecdedc00eedc8ded85b7b678fecb12eaa21b9620cdb1362da537b865eb6e7f6c25eda2b7b4d877440f7f4408ff4a443669313bb85a9ff5b1fe8d9b2e8855ead061074045f2c38964391a70f7a276760b1481f6642aed68e3ee9cb7280d54fdc17e250a46f1ad384a634a3392d68692d69456bdad09676b4a70215a94465aad877aa4223ffd218944c4faa511dbd4c0d6ada3125d41a38d4a69432ea50977ad4a75c7a9a2b1ad09046c69d6e7ee1ddd21d1dd912390177bb0fd207b92166403f473ed3316885a2eb7402885fb6018c09e12e5a60c7c628e894cee89c2ee892aee89aaed9900dd89e1dd8919dd8995dd895ddd89d3d546ebed893bdd89bc52c212ff3c95296d96396b38295ac62356b58cb3ad633c13c508efac0441a30c95cffc27b6332dd3185a9740c63bf000598232ed43034a6314806cc004fcf75959946cb08b398cd2863e40e2d48aaf8cc612ef398cf380b58c822b6615bb6632336661336653336670bb6642ba3676b67083670f6ce81cc9da3193b27d375cecec5b93a37e7ee3c9ca7f3ba73e78d7c909e4eec244efa973edc860fba73325b324432b7301ff41fbc9ae638b98e5835b0043cddeb1a3319315aa7b042c04b81c90ba3b365953aa55339b5d338add339bd2338a22339b2a3382aa418dd311cd32180d2827898931733acc0b161a20e2317e7e4388eeb788eef7027704227a2beb3c1ca016ab35cc99dad9ed2cd9f7e08f50cf0ee9c1114e3bd33a62fb2007d78a0f662dec57183a896e13ac893fb072370c4e2163733cc1e1a7326eac6993a3367ee2c9ca5b372d6eed01db87bf7e01edd937b762feed5bd21df4023cf568063452e308e77f74e2e387aeec37dba2ff7edc66ee2a66ee6e66ee11643f8514bb7726bb7f99d8f2d8b292eb4bec0da1de20506dfe0dc67e406d3cca7db9133b21ab0ded1f05edc1e7d056b3d70a47405577425577615577541b65cc3355de25aaeed5297b98eeb42169a5bdcf55c9f62be99e1f93f76a17730dd1ebbdc0ddcd08ddc8dbb7577eec81d215a3976c7eee46fbceed49db9734007fe73211f30e62e71bcdd15b9d13bd3c1173332735746fb932f4039d03b70dd85bb66a6c6bca137f0f6dec13b7a27efec5df0c5af7707617b784fef45d6a063677af7dede1beef2e6c55e0215934e661fbd9cbb1d4bbdd4cbbcdc2bbcd2abbcda6bbcd61d799d92038bdf64e4f5ffe60b7af6044f745b5057e001f8f7ee498c7a324c0a6014d0b7e099a527c1e8a750cce0cb0207a2c52237dbf0546bcb4c4ff37476f30ccff4886779b6473de6399eeb7958291b15a82178d7f23c1f3c70f3b81778a19920a77084741deb152ff236ded6db79236ffcc5ab567222e664f7979edde899ee3cd19b9829e2f0a69e84f810afbb729768788d2f4e640bfa9f81a27990af3f9f1f9eeacd4dc75b784b6fe5adfda13ff0f7fec13f2a1ef0e0854c80d1e9ddde3f91a57f8666ea646b6eefbdc90c994766889dbcfc8b7ff56ffedd7ff84fffe5bf29875cd1c9891ffb89ff1ffae0678817aebd7057de14fd0c90e80f2b96784ec48be36f43b9e8e77e6e31c03bfb307a062d47e1977ee5d77ee3b77ee7f7bee03dc99aa5e60b551251e1e4f9fec95dfa22647a0fb1d2cf56f4b27384c85bfb922ffb8aaffa9aafbb3bcaedce37e4d837012ff98d17f9eb5bc0df057a18ab073044a6591e22064edca0c659a27f7ebe3118f5cfbe0d5b504d6e46e7539ff98eeffa00cae7fe450dc80bf30f980091aaf9270fbec2f3a1873df98b14ee55f6c58f9781c57ee0877ee46f00efd647bc2d0dd4d21ff963e4c34fbff9c1eb4f604433c86d2f8ca58fd7202be3f99117101333cbf3a75fbc9f3b5a204f601b7202cc10fcb9bff097feca5ff3211fb81dbd63ae44b67cee7e89bef57c5bc3fb47c41f75442ec8701e8e7aa4cb7c8fbf1cca4ffccc2fee48c9311b235e7efd9d8f8d8727f01be28548f031d6f8dd3fe139b046fbdcfb83defc195c4df514f270d7c81bac33f07a6effad7ef8833ff98bbf79cc9fc0810b1cb780fb837bf9418d062384fef4def493efc1eba03a9e6c719e60a5ed763ce519cf79c14b88b612f0064aae15bce2f5df7ae64f548ec783602a8c812f6ce4309eef5305e3553dffc41bdea2df31e6306f20133e31f3e01defb9c0452e7119eaa6feabd3160af077bf1956241867fe992b7846d83e431fc0f9801574823a4cae5ce51ad7b9c14d77c4090dcd955a02bd2b3ffd6fffe2f8830fa18e041ef89f9a07f8f0a97b7a33c5252a8627590e0724e863a83855bc075b230ba7e036a79c7187bba084d287b78b4f75e4201340d3571e3eb638c3b73e7ada0259c39183cce37cc6097a02ee73ce031ef2886f00e9564e941cf0eefe8b0f233e467ff2099ff219fa01bb1e88a78f5f5023713c11ad37658cdff91c228ef1055f7a0a5f81e02a7eced7c13018b82b54147769b4a8d5384a70a7e0674f7297bce50dc603461f1ca3d1099d38147308aa1d8cc115f066f8cbe8c1d12db49c6f910f4aa136bf9e57433de909c1293823dffc5370e18b4f4509e3696be0718807e4d84789578cd91a6ee510417cc6587045bff1c656835b700f1ec13378a182db06ef406b5cb86fe031c62d1e0f7841d13d3978076fde324a6f50f15898e5fc997f767bf46f10074990065990cb09139928c7411194bff46c8ffe0d2aa38411c678003e7c62cd417ef827ac1b4133cf1ffd12215a661f1503750b6a603a6003746ad000de36e8823e1002319002399011273205d696fe8c37be18bc3d05759d37b02643b69f391472fdc5ed21d2657a0f94400db4400f8cc00c889cf02ddf2ab96f0616f2f747cf2e1fbc40c44ffd00638ee7c1b56f0ce378629ec30c0d584fe82b085beac56489e38c73387819b0c009dcc00b7cc07bb1dce0826ce510999f1c78e32df874c5578817cff2e18de7bd1d3be09f989d915710046110059b601bec02a824f119cf70188c82b14f8cc7f0fbf755177a0e26c13480be07bdea49a8df9fc8ff28196a11f2e0731fcbafea0733c8ff3ca05fc4b005c62498078b6009fe5d052b0e9e056c0b345412bc6b88cb06f122ff21deeeee0a1a3da8d5ac88d998ffc9459783b52f8743ff110e102fd6666a391ce22ffcfbe93f78a17f0b8fe109e2edfecd97216607e79b2b310621d7439c21628c12d435cc71e067d70b1033aaac6d0483f0125ec35b780f1f1f5c700f1897b82f4466133ef90ae30cbdf051c4334ba0f633a0d7cabcd083facd7c4169f40adfc1218cfd1dd4652fec8f29e756f8bb7e18a07fc3d49f930544d123cc401fefa8301fbc1f0e62a4e1f87de2cfff8317725610ccf05984e5847958846558853558f3c13a039fd741fdcd6e889fc3fd7ebc806c3b3b03ece198465ee4cc1350b6b951846dd8857d2884a2bf03febeed2e948c1be095ffc56b9e8c47a884aa3f87ee12c62ecc98ed4da1c6c1e7248f9f2c76fbf6a098b35083dcb5977cf2c6e38737789c16ea21541ca8dfc18b4f4167eebc837a53fae615dc1baaf41e2b0a33637a68025a3d50304f589cde741dab879084566887a23b0a08be6fc1276821057d48fff4431fbc2c7442d79bf0310c8c6fe6380f79189077700ecededc9b8710089f25f7e67c0cfbf13f5b3f9f42588fc24db8f58b70178ec231efc349380da790a51f6c05fbf1ef916e0beb33aa86739f12e238decbaab860e3a37bd515c245b80c57e13a1a722b1a5824da939df48e0ed1313afd7e1e159da30bbd44d7e816dd023bba478fe81ed8b0f68c5e60cfe81dc5d19b8fa204b6e194c2b7d32885e5143e65604f6317e55111955115d5510356c0d4465dd44742780a4f7864788a44384e8ae44889d44883a51e19703513965a44222bb2231ab1c8e13b3997f3c835d7521c79911ff161f6f3bc6f0f788328b4ac288a36d136da815afc983bc5291ab953e8403e16ed40fb26b84fb4fbee89dbe0d31862f6184dfeb1693483f93cfaec877bfc391e6c0bfb6fa305ceffbd56b48c56d17a33dc0c36fbcda1491be889bff3e804c9f9b8390dbfffffa71e3e984ccfc6e33bfdb6efb6df660bffd73eff6d7ff6a7675bf87bcbffbd3fdaf08106ba950db3ead70f7ede9cfffc3da45bfefc45e7e0670e4bb887c12fdbff5ec2777f9683ef7e79ddb55dfbd71160e6c93cfdd9ef9fe3cfdf6dbfb6fce7b560ffffdcf2b327febde9fffbdffff9ff2f1cdb0e</data> + </image> + <image name="image5"> + <data format="XPM.GZ" length="46834">789cc5bdd992e3c892a6795f4f71a470d732c2e6bec8c85c8074d2e94edf77f791b9c0be0324888d6c99771f83fd3fcc232223332babbba7c28e47c6e7240135355535353503cf7fff6ffffa78b8fdd77ffbefff762c8c22b0fe65f946feafff66974972fabfff9fffeb7ffcdbbfcfa7ff12ff1b2c66f37f0dfffdfff8b77fef6dfe65fd4bebcb3f929f14cbd7b558f1b8e5f8fbfd13f9fe47f2009fb7ae14e3f389e2917c7da7585e6ff5a5585e2f78553c6b39bc50bc90bc526ccbfb4fc843ca7fa57820aff7a658ca63db8aa53cdab562797fb3248f703db3522c3f6f4c154bf9ad6bc5d396a3816229afd1c937c6f5bc27c5f2fec64631ae172996f2687dc5521f81419ee0f528542cf561acc953f6d7502cafef7cb394d7e8f43b238fc90b8eef8be481b28f0fc5f2faab4fc5d05f43a63df4b68ae578f41e14cbfe9fd7648e9fa62b96f2da966229dff982ccf1e95d2b96f224ddfbc7d07ff0a218fa09c8135cbf2a14cfe5f5607fc3d6c2240f154b79ed2bc5181f8dccfeeaa662296fbc562cc7af7743eeec75a718fed8572ce53b6fc8ecaf36502cefef988ae5f5f317f218f23b578aa5fc7e499ed2df34c5525f9a2b79d48db7b1550cfb9f2b96f2f53aa6bf1b978ae5ebe63b99fdd50dc5d0c7983ca2bed78aa5bcbda962d8e3824c7fd2868aa5be83ee7e13c8e3198a116f3ec8b3be213f0f7b1d77fdd51cc5521ee34ab194270a14cbeb659a6229df2a27d31e8267c5b0af1999f1c73514633c2dc5523f5a8fdc8dff56b194cf2fc863dacf40b1944f3314233ef5155b329eaec953c6c34fc5521edb24db78bf564b9e74fa726cc5b85fc7ecbf1692192f8d9562c41b9fdc8d67a018e3e79227b4877bc5f03f53b1d497b3254fa19fd59b62a97feb86cc7897e17ad3ae3fe152b1b40fc323b33f89ad18f7f7c95dfcca15cbfbc7978a113fb6648e67342433def73e1563fc0f64f6bf1c9019cf7b978a657fb44cb1ecaf3e22cfa04f2b201b7d53fa27ec67d6f53ffa522cef973f91bbfe56e4aebf97e4ce3e8f8a118f1df204f2f5468aa57cc64c31fcd12373feaa3ec933deffac58ea277920cf619f06e68f79d71fcf2777f65892196fb525b993ff4466fc34768aa53e960bf284f1ec823c653cfb528c78fa419e71fc4ac5b23ff9b362297fafbbde1cfad122f202e3658564abefcafbc39f165dffb21e99f1f370a118faebdedff95ba118f3c52599fd5b1d14c3bf2df20cf299b56229bfdebd3ee7fbf78ae5f89b1fe405f575ab58ea4b5f930dcabb53ecc8f186bf1addf8ba2699f668b8648ea7ae91bb78b8264fd05fed5631fca3e32e1ede90e7906f9991991f9543c5b23fe6896cc09e7347b1d4cfea9d6c221f7130bf9b6abe1d91399ef18562d86bc7f40f6da418f276d79b31de2e15637e8cc873ce671d2f20eff9926c309e5c914dd89f0fffb694fe3532f51f3e92a9ffe32599f694db64c6a760429e613cec6bc5c88f43c598bf37e439f4ad77d73321afbb265bb4c7eefd36ee97c33eed4efed50b99f2af9ec89c5f570f64fa8bed9269dff551b1b407ef93bcc0fdce5bb2c5fcfd836c63fc3de8cfe9e4318f64ea6f75a118f2ecc99c1f0d874cfd7a1e99f6a9dd2996fa39edc806e429478a61dff764eaabe8e473e07f25e285dbc9bbbc23533fab6732e75f6d4ce6f8e93dc590ef8d4c7b3bdd90a92fdd213bb04fcf22bb887f7b391f0ed4fad5ccc9f49fba63fafbea95dccd873199e3b75a2b96f2380e79c1f58a45a67e967bb24bffb9522cfd25adc06d93fa7c230f07521e13f2a8f5d5ea9e3c05577d32c7afacc916e3a50b161790f6be1f9207b8fe41c6fbc1b0bb7ef14aa67e5619b9f3d782ccf9ae6cc80be6f33d32eda779269bd05f3124db9cffee154bfdc45b70dba47e713db5de087532d78bfb8c4cffcceec8dd7afa91ccf89d9664eacfd1c806ae577f914dceaf13b245fbbb25d3deaa2fc5723ccb8aec42dfb9af58fac7d9060bf5caf79fafc943bc6ec9783850eb0dcb27d37fcd37f28ceb87846c329e478a610f63b205799b17b2cdfcf11ddc5aacb417debfb52029df8e3c823f190bb268523e194f062adfb7b6648e87bd235b187fe346b1bcbfbb213bcc4721ef444828efe7c9f83a50f977d023f3fa5143b6608fe6994cff333fc91c9f33fc75da8e98bc9e49164dca0b7954beeb5e90a9ffb349e6fc686a6407f65c17648ebf36050fb85ed01ec81cefe581ccfe069f64d1a4fdc07e55be6a5f9269afc6904cff6a8e64c69b0af63eefc6f77c431ec3fff5097982f8e35764d1a43c72be1b2c943e7a64c603ff8a3c677e72261b9c9f6332c7d7be21bbb44fdc7fd1f983bf218f21cfd9254f21af5f934593f100f753f99eed915d8c8709ff343a7b0e62f208fa58e6e409ae7fbe250b0b91af3f9067884781ac670ccc362390fac5fc6276e3eb5ae421fa53978ae5fd4e1e798cf13fdd91a7b8be67934593afa3ff5617af6c8dbce0fc7e4b76995f223e5aa2bff2f346421e421fe755c7d0af36238f980f4dc933e8a38815637ebb538cf9da230b0b92f1fb8a2c9a8caf886f7637de01ae6f0f586fab2ac5d2feb547f204fa581ec973eadf228bd67202799c2ede9b0678c07ab0959039deab4b32ed7d7524b3bffa96bc607fef15437e872c9a945fe66b0395df783d32e345bc22d33f6c8c973b60bdc771c91c9f72aa58da535d913b7bb92753ffda1399fa593d920dc40f57ca3b6cf30d393ec72bf080eb77e38e3ce0fd6a32f5a5cdc9138c4ff8449ed29e7d32fd439f9117d0e7e94131d61faf6413f2e9be62a90fef1ddc36a91f996f0963e57ce7786021bf1c8f7d431eb11e939259bf3a6ec9538c777922cfa04f7d4e9ed3ffbbeb73bc934770dbe4f8c9f11d0ed57a05f71302b21eed93c7ac9f2cc9acbfeb0bf21cfaf42fc90bdab7cc6786a301ebdfce4e31fccb21b33e669a64fa539190278c773332c7ab6a14a3ffd764dacf29202fa02ffd8a6c301e3e922de8279a80db26f50179547e62dc83bbfb37afe419fa5fd564da4731221b1c0f9f6ce27eda0bd942fc5f16641bf127e2e7db26f523f3e3e1a41befe68d4cfd6b0bb2017f3a3d914dfa5341b660afda33d981bd46d0f7a46dd2dee4fc369caafc7c0816e303fbccc8bcbf17902df4fff448b6d1df558feca2bf1ef43b6d9bbc9f8c5fc399c87f10af311eb3ce7e5c973c62bcf1c913c6c73bf214f6523764fa83bb25d31e629bccf1c96332ed410f14637dfb40b6319ff92b70dba43cd097983d307f794332d7ff76a058ea2f199367b02773a558ead3bd22cfe17f7a777d93f1fc49b11caff323d9a63d956417f25bf0ef85b89eb41fd3ea18fa30f664dacb2924733cbdbe62e4e73d32ed670979166d8494f17543164df607fe29a239f7ab16e439f4519e15a3bef9405e401fe7806cd2be23b2c5f96e47a6ff181a99f6b6acc06d8497f6c8d7458494f78f62b2682da7886766379ed63d79c1f1ba201bd05f9e906dcaf74c7668ff180f53dc5f5e7f659087b0a7684a164ddabf49b687587f211e5803ee07d821b9ab976664d60feb7ec7902fdd904dea2b26d33fcfcf8ab17e89c89dfef87a1b31a57c7c7d3847bc0806640bf2ba987fec6ebc0f2699f5c1d30bd9c5fd9764a11fcc9fcf64d1e4fd10ff9db68228e305c6bbcd8f90bf774c7bb21ec806ecc7be23b31e690ec816f4b3ec916dd87bf34e76a0af25e2bdd3cea8523fa162e4a72679c47cee852c9a945fae8f866dbd07f33fecd9edc6cf8b1563bc876493eb996bb285f1351ec936eb2bb662e443bc9f901ffbaba162ecd73e935dce0f888fae88c7a847ecc9a2497965be37ea77f2ba3b32c7b31e906dce0711d9613c89c92efc53bf538cf30fcfe0368390fe3006b74ddaef893c18a1fe22e513e944b77e3e9139be76a418f588eefd0ef469aec92ef47530c06d4628f53f208fe80fb78a31ff75ef9f22bf0b8660d103793f9ff2b44dea4fea7f24bc1dfab3efc91ccf6a4476319e410a6e330ac936b86d72fce47c381a75fa361db2cbf883cf8f447fa0ff843ce07c119187e8cfb2264fb11e702fc90bf4afb0c0e28f942f7115a37e26f3c391c877e0efaeaf18f69d90590fb61f144bf94b9dccf1b11e15c3bea1df719bc14bff2cc803f4af189387183f23572cc7ef70431e419f2b8b3c1bc8fb17d0df5834ece7bd2996fa2ce5fc3c9a0cb81f111cc826e28d73a758fa8337223bac3fc1fe276d862eef6f92e7d0af61910de47b1ee499b44dfa878c2723915f419f4ea458ea737f26b35e6cc71d437f35ec71dad983f1441ec2ffcc0d7944fb78518c789f92c7f4877bf204f16fd990e7d0a76b93178827de17d91ecacf67bcbed02ff25d5ebf6df2f3323e8e665d7fdd1b32f7e7b34f70d79f604f1ec09ff50732fd77a991a7e8cff29dbc80bd2fdf3ac6781c61cfb35642e9cf0d5934694fe8bfc8b7988f76ec603ceab362ac0f609ff321ebd579461ec25f9b0ff204f67bb8558cf565a218f1ff48667f923d7986f9c7b0c92ef45da0bf73d1b0de992bc67e11e45b74fdb1601f8b768525edeb449ec17f4eaf8a518fb0c922a391f109f3c3a26d52be906c8cb09e2dc9e608fb87f02763c0faa37b4b66fdd1463c68f337d8f3903c627c70c963c89b456403f279185fa36d521fe8bf58bdf3fc5c4ea6bfba9057e46bdcbf4a15633e8cc903c4abc31d790c7bb413c5a8b767e439e78f82bc807ccb13d986fe569562ec075e81c5fc82f1a63c228221bff8209bd077e02b96fe53e1fa229f637f30de9658f0e3f31999fb35a73732fddd3a9027ccaf9fc953d843fc4476b19e8bafc16d93f7c3f5ed21eb97ce0379087d362599f5eba54136114f96e78e114f12dccf6e9be40fb233463d13ef7706ac1fbb181f91af313f999059cfdcebe411c6b39a2896d7332fc963f4bf1e91596f3d5864d6bb97ddf52cc49315e657478c9f7cbd70c90ef4135e2ac678c8f5c0c81d72bf2bdf93278817a647667ddb28c926e76b8cbfdb5d3ff8228b26fd03feea8efbd05720e3c9b8df8d8f7fa358ea27ec91e96f6e4466bdb3d6c9ac775acfe429f4d154e405d75fd76031bf21df9c921dc8e7bd82db26e591f1403817c7cbdb2b96fa3a3c9047ac572fc9ac8f1e6c32ebeff6137946fdbd90e98fab062cc60bfb675fe0b6497971fde190fb2ff10b99d73747e419ecf9784db660cf46457661cffe19dc36e97fd29ec76d7e86fac73d99fb09ce2379cafdab1732eb974d4d9ee3f3e65631ecf3132ccc1bccfb891bcafefa7cbf98b1b1bfd407b74dfa9bf48fb11017e391f5c9d4b777502cfb67e5e419fc274bc8942ffb22b35e79ea3e6f707df54ab6a93f8ccf588c0fe2514d1ea07eb73a9147584fe71e58080cf93b167fa4bcb0bf49377e794e663d263a93e79c9f978a511f4ac8cc27b2986c22de379f64d6934e7b32c77fc9ebb52b0a29ff0d798e7c3484fd4cda26e559906763c8037b10f919e6cffd4a31ea5577e429eb2969c7d0afdd31edc77d508c7ade3b790eff7012b2c1783826b3be693f2bc6fea54fb638df75f2399cef1cb0c880b15e08c973ac3f938cbc40bcf060afd3b649ffc378ce84bcd85fd71463fffd894c7b6b1a32eb676941b6a08ff36bc7b0a725ec7326e443fd72409e623e3e5e80857f60bceec963c4b3fc9d2c9a94f78e3c1f4bfb08707f91df617cb20199f566f791cc7aa6979317f0ff834336385f8dc9acf72e4db0100feb9f4431fceb44667ff69447b807ead936794e7ddf2896e39bc23e1743d6ff235d31f6135ec8b417f38a6cc13fcc80ecc03ef4b463faf71bd9e57cba038bfc42ca53c0bf16a2e1bce4b362e49fbcfed818237f82bf1b43ee1f84af64caa73f925de65f182fa3cdb864ff615f4677bf704736309e994336c7b23f39e2a529ee87fade5131ea618aa1affd0599f5e1c31399f5d1d0e818facebbcf2f783e2323337e3a2999f5536fa618f5bf37b20d7b37afc92ec627c47c60b64d8e37fa6b0d594ff68e64ee7f1c5c32eb6fb1df31e78357b2057d5b47c5529f29ee67b513a0b4df3e790a7b5ddd925dacc7f673b0b0478c075f170df25f29c67ad6203b189f13fcdb1e723f323990b9ff17be91b9bfe23c93592fb73332ebbff54cb1d46fbd22b3de6522bed96d854cdaf73bb9ebafa518f992473611ff42c4675bf457deff70495ec01fa3926c818bbe62a98fe3896c633c135fb1d44709fb76baf9234bc9ac2717b962c41f8f6c723ff0be638cefa97bbf8dfedaaf6487f16042a6bde9d0679b2fa39ef3491e231e44d0afd33639feb29e377685bd215f353b86bc4149e6fe8993916dce77b162d47b2ec894e7fcde31e6ab14f6e48a040ae3f7411ec37f8c3e7981fc69e5926dd4cb8ec8275cd1a4bcd14131f20d990f4cc46a8fe729e6649bf5803d58e807feba230f103feb2999f53d33228f605fc71a3ce9437f81d7f104f50f19ef4432cffb3b2f64d6978fb78ab13f528047dc4f59dae411f2c9e580bc403d3f89c1ddfdc31bb268723ca53d4f84f563ffe554768cf1496fc81cbfd3a76279fd3820b3fe5d5f8047dcffd19fc9038ca73925733fa69e9039befa1399f3a7f94276389e2bb0589ee1fc934b164dfacf93623c4f83f113da41bd65bf21b39e7ef0c9ac7fba8962e4cb4332ebe9fe83629c775d2bc6fee81b78d4d51fcf6061ae72bc7ce847161ce5f8bc932790b7c1fdc65d7e15adc8ddfe6041a63c35ec55e4e7cc8ff7e401f46926e419fcd93c80853cf2fdb149b6399ff7c14222ec0f7f91c7d0af71ad18f3f32d7932813e20cfa4f3ef2c030bf9a4fcf1ab62e4af7bf200faacd764d613ad5231fceb863c417e62c6e429ec6b7941a6fd1f30deed07a43c51419e40ff87b562d4bbd1ffe990fbbba145a67dc7a162ecc755e04e7eeb9dcc7ab8392373bf6a057b9b0afd233fd4c913d4570ac48769275ff24a16ad652d558c7cf04c3626a8dfc2fe679d7d3418bf9998df709ee84066bda980ffce5a85caf17a20cf309e995c5f4fe643d6dfcb2bc5787e6246e6fe4e88fecfbbf12d378a71be2825737ccd7bf29cf1fc8bec70fe457c9cb7124affd715c31f3b9e431fa5cc37268b2e5e790b32f73f0fe8ef62c47a76c9d7d5f87d90c7e44a31ce474ec9acc7db6fe4295e3fc13f16623cb1bf0dff5d080fc17af7933c81bea33d5934c9321f9b18439e1f2f6ab2cdf53efcc118717f299f92593f76f6e409fde5963cc37c64a664eef72ed76407eb5f939f17cb11e47b88cf46dbe4787f929d09e22fe46bf357e44788f7e688f5f6bc20b37e69cec9dc0f32efc873faaf4b36907f463ed9e2fc067b33c723c817f1fe2282213f29c953d8cb9eef17f622f59376ef37e12f7be8db1af2bc7584f821f261faff0799fb35a1ad18f6fc4ca67dd83979c2fd10f88f351e60fd746ec843ecc7ac42f21cfebf8a15a3fe32202f907f1664213fea0f07b268d23ee10f76679fcd893c837e8b0579cefd18876c63ff7705ff10f92deaa3fb2358dc4f5e3fcac8a2497d36647782fa1ce477863cafdd2cc98c4731fc457837ecc3ef91879ccf368ab1be70c923e6438fe431fae766e419f3c70f32cf73e807c5e8ef18dcd9b77e265bd0ef8af28af950ca73803f3b9d3d0523b20dfd6726d941ff8f8817ceb40fffc8707f77c47a7f32578cf89e2b96f7ab9664c6c7d021b35eef558a616fefe439f4a1bf9117c8e7cb19d940fcd78f8a11df0c32ebfd4b4f31e2db82ecc23e62be5fd803ea97723ca6fd2efe446b32f72fca4bf214f35f3e23cf20af5593698fd6277981fe3907c5723ccd0599f29e4bb285fac1720316f141de3f1980857fc09f657e351d0cb95f91e07a8311f71fd25b32f71faa1e99fe1c34648e47dd7d9ef1cc7d21cf21ef69d531fccf792573bf6ce993bb784cf9c653ec279d676417f6b84cc1229fc7fc1d926df8e791f289df607d73ec782af515c9f95b244bdcff6bcee011f73b7d8dcc786d1fc93c3f9f978a71debce818f6743e902de4ef568fccfd36fd55b1d4ffbe0f1e73ffdd7c24cf50ff3133f21cf952f60e16f11cfb41ec8fe83ff63779fdb6c9f1c6f88f467c1ea5d2c8dc2f4cefc8dceff19fc8dc4fa9e68a613f9f64d6a3ed0fb2017b75f78a31fefd8e619fd58cec20dfd173f0b88ff1dfc31f46229f91f21f376407fdcb5ec92ec6bb94f1693aeeecb768c8dcbfc86b32cfdb1fefc916c6c3eade6f233e2cb7e031cf0ba417e0764695d7fb22f3fefe12dc36298fcc97a7edf201f6b621737fc6abc9f4e7bc22537f4549e6feb69393f97c805e905dd88f85f19c8c59bf385d28c6f9b367b28bf87ed6c1225fc0f906f8df444408f9fe20208f613fde0b593439fe78ff74c4fd09df20335eb9af64fa773e27f3f98c66d031f29933ec63daeed849fe240f508fb74c32ebc7964d36303ea705d9c4fe9d7e22bbd83f3b9345bcc07e10fc4bfe91e305fdcc860b9e3fc67889f502ec273992b99f1ef6c9dc5f8c23c5b23f8dde31c6afdc92b95feabc91f93c848bf8381b5bf06ff3896c23ff8861af3321aebc9ebf268b26c70bfd9b0bfda2de5891b99f607d9159afb0baf7733f48e7fbdb1d22a9cf59c7587fe81f8a51ffd890a7c8ef9797e439e2f5724276a87fc43fe1cd585faf22f218f5f29cd717fdc1f81864d1a4ffe98ae11f907f31e27e4b5290198f8e4f6493f1ea8bccfd16af518c7aec92ccf30f76773d87faecd8457cd7e10f0bd17f7cffcb82bc803ecc07b2817cf7b425dbc86775d88f58ffa03e7a3e2b463d86ef17fe86f807ff165743fc4e7b64da5bb5229be88f7b20bb988f8f90c718f33cc069421ed2dfbec8638cff322473fed13fc93cef51bc90791e62c5fb8bfc02f9e1182cc613eb69976c60fc425c5f5c8df5ef5231e2eb82cce75dfc67b28df1083d32f76fdc37c552fe43777d97cf53c17f4574607ed5ef18fe78ea9107882ffa3b99e3bb0c1463ffdb229b18dfe53599e7299653b0984e512fe1fbc50c8dfa36e59d8a0195fd75c9a2b55c63bcad11cf77943699fb45d55ab11c8fca2073ffd73b91a99f66d431ecbbe92986be1b72777e7fa018cf4f551d235edbb0074be813cf471ec98ccf67be5ff803f6b76ab2897adb794cb6614fcb1d58c467d81be5691f6895efa73e2673d43b63c46f4b6400727c6359df9b8af51de6dbf89dccfde0664ce6fe6fa329c67e02ecd91ef37902bb24b37eb8bc22331e9f6b32cfbb9ce14fb6886f88975fe411f62fcf53f20cfe7e80feed368390fa8fc853d8c37e44164dfac797623c4f067b14d686f1ae2fc92ee2bd8df73ba23f388f73568cfcd6548cf365ef64d6eb4f6332c7f3a491391f9c07e439e787926cc03f4e98ef1da10fe8979f17f938e27d489e225f8a7b64d1e4fb319e62fdc57ada4831deffa118eb8f1e99f1bc5991996f1f5fc83c8f7e7c26bb980f0ed0bfc816f079ff4531d633ef1d335ed48a114fa7e405e6c73decdf15f11bf5738bec62fc72e99fb3be9047ea23d514a3de7349a6ffd935783c64be909347e8df6948eef2a315d9e27cbd568cf3a811d9857f2d63b0988f11cf6ec873cc47e739588c1ff2ef67b068a8dfc9f8371b8cf8bc4ee992b91f991a8ab15e3b83c7ddf317df8cf5c9a263f6af210f11afec8adcd9eb803c63bed85d6fcefc58271b5c5ff0fa2282e03cea1bb86dd21e64fe3a1b76f6921d15e33c2ac66fd89e8092d7bb228f611fa5a918f9d7903c41bc297be439ea09e79cbce0fe4ec7dcbf3b998a115fbbeb39987fac0bf0a48f7ace2a058b7c1ee76979bdb6c9f190f9c06cd4c5fb069f6fd75fd8afeb9107881fe9bd62c40f8bccfde3c6508cfdea823cc2789ecee431e60f6b449e623fe6047b1f890507f2bd0579cef57e42b6b95f087b1e097fc2fac5038bfe217e8ec9a249fbc2f88bdbd39f3fc8f41fa7e329e43f17648bcf1bc8f96926d65b18ff12f713eb2bd8471891b91f19e8e411e3c588ccfdd9337932843f9eaec80efa97a0bf13e171a82f62fcc5fa08d72f6fc87c3ea8beee18e351e864ee2f3a25798cfefbaf1de3fda5439e20fe55171d637cec3e99cf9f5853b20d7fd3e17f5391efe1fb4402b20dff8a616f53e171d82f86bdccba787b7c258f206f5229c6fcb5540cfbb3c9138edf2779067f3be9e405e473614fed80a03e89fbcfc77c7e63bf23f3fef9993c66fef845e6f34aee5131fc7b4ceeea578897f3b64223f501fd2fc6aca707178a715eee9dccfdb1ea5231cebb5e91a78837f680cc7ab6fba918eb973199cf7b5813329f0fb3a0cf85d0079e2f433c59087b83fe3b1ec2bf72cc2762fdc0e71f3a1ef3fce1944cfbb14f6483f508e8db98f0bc5a0e7b32c4f5519fabc833c4a718fd31c5f571deb3204fa08ff491cce7871ab363e8a79990e7980feb2dd9e07933c447b3ad784b7dc0fecd691fe7230abcdf1a73ffe69091598ff62ec8ac17d63b32f75f9d8a3ce779db37c5380f784b66fe5bc25fec31ebc18794dcd583614f76bb2328df8f782cf235ac0f8a6b32eb79d59562d8bb49eece475be419e271ae9317d06f36211b90d77714633f6e49663da3992ac6fa35265bb4d786ec603ed6793f11bff1bc14ecdf1db3bee87f90a9bfe31b99f57b6f4936615f41089e39333c5f9b9345939f97fe3b17f912f39390ccfd92d22777cfe3bc9359bf3cbc91596f77fb8a71bea7630bfac972b203fb6beec09311c6affe24db580f2411b86d72fce4fc3217f90df75b778a51dffe2073ffa3ba568cfcb97b9dcfcfa44f649ea7ad4df202f122a9c906fa57998a61af57640bf1ad89c936d677cd0d7832407e629fc97c7eaf3a8245fe887a00e5133338ea1f0bf218f97f2aed733eece257b525d3fee2946c42fe6c46e6f30fbeab18f11dfa11f911c783ef6f4f0c49799764aef74fbcffc4c579351fe33112fac278d764d683dc2fc5c86fd6e0e988e7336fc9539cbf38caf82aa697aebe6e910dc48f7c493619dfb664eedfb90599f7b779bdf644921c7fd863bbdd8efda75bb2c57ccd26737fb059931dcc97de8aeca23ee40cc0133e9fa043be8988d8d0afcc17e7227b633e6291395ee933d9427ff63764aecf8a0bb0b83ec6734c1ec37e4e0eb8ad3049fd417e31bf73fd7b43e6f37e05e49f4df87c41734de67cd72cc80bacd76b8cef7cccfdf510f79f4f0688574d44e679216748e6797f7b44e6fae304f9e66d454fca0bf91763d667c2a4638ef70599ebd760d331ec39b5c95dfdc2550c7d7c9259cfadf8fe099f57b07532eb7716ec7f31ed9e4f80fc8b9935c37937b9fe9d1b9d3cfe57c7b0ffe380ccfd12df27d31e1b4731f23bd8833161bd2d8c15637c3cf210e3dd0464ee5f3a27f204d7731a329f17c9c0e698e73dc32999faaa6fc92ec6ab827ce684fb256e45e6fab9d974ccf836275b582f370fe0cebf53f88f29e61f7cff0de4b5c63cbf593e2a96faab317e56178fea7bc558cfccc903ce279562e897ef17e387fd962579867c26c5f5ed31ebfd878362acafbbd7f9fcdc01f6235657b09fac568cf5cf83629c6f8cc8dc9f89f764aecfdd923ce57cb1239bc8ffec09d942bdc886fddbed03be2d2f315e769b914af9607f227fc0f826985f9c4ede604d1e215ef99f8a71fe7d439eb07e89f8e0b43baed21fa00f47cc3ff83e1ed89f335fcc71de1ff2b85d3c4e7432ebeb15ecdf15fac0f3c60bf210e357df9147d057d9f118f1c59e916dd45f4af4d79d0eb03f62417e57ac80b17ec478bbf3fe0ce7e3a53d2ffa9dbd04978a71bd88cc7a45b423f3f917674c5ea01e614fc92ef295e6092ce66b9cb792fa5eb45f3786fdcd1b32c7bf7c218fd0bfea4631cee73c2ac67c704be679ebda274f301f7bddfd185febeef373ecb734976403f94713924decb7386732edad49c82ef49dcaf5e76228e4c7fae3a018fbe17d32cf1757b7e431ecbb761463ff614f9ef0f9d48162f9f9fa89bcc0fabfc9c1b309f6f3f672bdd41eafe3faef81cce7a71b9fcce79b9d1199f50a4727737dd1409e91988f70de59dadf623ce1f73d45b78ab11f7045e67a2b3b750cfdf80199fe5ddb1d237e973179c6f816760cf9dd01d9407dd29928463eda904dd8a373019e3a3c6fc4ebcd67c8ef53999f8bc996f5c0434e66fd221e2ac679aa943c857dfaa162cc0f0f1dd3fe2ec973d86fdc271bccc76ab285fedb73f094e747238f3c873ffbddeb26f283c404cffad83f3b63fc27f3f10cf11ce33d9db0feb1bf27b3de78382ac6f3c877e439e47787643ecf51078af13cf51799fe114ec836c6a77e21733fdd5981a763ac970f32de2d6613d607bd0d99f5e71ae3339bf279d32625b3ded7833fceda26f581eb8b8413e3997a64aeaf93a562c8bb508cf56f429ed13e3b76d0df0af63117f684fb43fff3b6c9ebc15fc400713e1990799e3acec0ed092f196f1fc853ec6ff7e02ff28f1c7fbcdee62b789ee49e3c677cc815633dbe21f3fba1a20ff094cfd334884fc68cfbc3cd237986f9eb80f86e881942da73ef19dc36693f90c714f793fa0bae14e33ca8495e405e3f26f33c5c9829c6fca75e873ef61a99e79fcaa463f873582b463e1990b9be299fc83c8f5bc0ffcc29d76bc59accf3a3f573c798cf9d257904fb726664ee6fb81dcff8bc77c7f4cf949f17fa929f7f2cc8a2497dda647b01ffc4f85813aea7f7b662acbf52c5a8270cc806d71b33b20dfff4c7643e8fe89e3a467ddf457cb4da137752ff7bc5723c7af0174b3439debd4831feff101cb2b340bd0bf1c216e38ff5f73bd964be70a718ebe188ccf18931dfd8533e3fd1c03eec2e9e3973f200fb11f5077984fd703f27cf711ec75990593feeb960d1a07f4331feffaa7cb2037f8b311f3a42bf781ef382cc7a516428467d562773fd979d15633f1dfee1087fc7fa2a508cf1989007b4d79d629c77bb270f715ea27e25f3f9568fafb71531d91fcc478e1821f48ff7133d94fde9bd934593f604fb14f9239f67be064f079c9f46e431e65f3f234f110f43d8579b5fe2ff4f04feebb64dea43fa83d19f707d9d5f82a7fcbeaca34fe6facddb9247d89f72a6e409d69b914be679eefa9decf2f900033ce3f328f69a6c613dd08bc16d93e32de73f6330613d235b911d8c7f3c568cfd991d99ebc123e469bfbe18fe37548cf32c5bc558cf4764d65bbc3bf06c86fdfc5e0a6e9bf427b91e3186139ed7db3f2946bd17f20da75cff150f64d6d38a2b32f35d7fda31f4e7eae0199f67abdec936eaf9ab11b86d52ff32be1b223f843c614e76b99ebe004fb93edd5b8a11bf4664aeffc23999ebf572af18f58384ccef8ff176e419e3774ab6904fc4b0b7f67821be9f00e321bf5047de4fce7fc6b8f3477f44e6f934774c9e415fd6023c1fa1beb1ea83db26e303ec6b32e5f9c3fd2379c8f9e8b5637e1fd384ccfee45b32f3c5a3479ef1fba5a66403eba9ea856cc2ff7de86b321b60fdeedd92c7889ffe81dcd917c6433e9022e591f501633a613d28ea8185bcf2f36940e67a2bb826f3fbc78e23c5521fc50d79c6eff389c873e47f09e49bcef8bc430ffe260f78c9f191eb7f43e47b8837c5bd62e4431a79c4f963421e339e648aa5be8f3199e74fea8e4dcc37ee996c63be77618fb3199f07ab643c35e65303f12745bc98cffba827ae06e0b6c9d7d1df85187fccef7d32d7efd11b99e7d30f4332edb9cac826cebf64b02f43f5af4fe679a2f240e6f3b847d8af39e57ae9382573ffe75092179cff9fc826f21f0fe367cec6a85f5707f21ce77beb8c6c61bf36c6f5ac4ebfd12399e7b722c4136bc67a53f54676e09f89cc570d7bcaf56f7043e6fae23823333f081bf08ce7d7ab57329f5f4b31be8e9007cf7fbe28c6f3e64fe439ec35bf558cf3c947b209fd04ddeb3c1f5ca5641bf6e0c3fe9c59775eefac18eb33836ca37e9f60fe73a7dcdf882bf204f2ec11ef5cb180c1ff9f8a8c0766bf3d512ce5bd06cf18dffd94cc7899e66403e357efc162bd8bf948fa93d9ce3778de4c07cf799e2abb21cff0bc432cf30391fcf07c71fa4576111ff7cf8ab1ff8deb8bf903f12796e367aa78bd7f232ff8fc6c433620fffe85ccfa431a9299bfe63b32eb4b09e41dcd1cf4670ff946427ed4a3e7640bf5a7e0916c73ff41da8f08a6bcdf614e76204f70079ef17c6db623f379f858ae47cc497b8254de6f40b6206f3c558cf8e580857f61ff4e23cff83c0af439999b33e80bef9fcefafc3eba90ccef934976e419ec2f85bea7733edf9d4a7b32679d3fed7dc5384f58935df437b2c1ed8922e90f05b9fbbe988a4cf9ab67f202fa2f3fc1f33eeca73c82178319e2559f3c9e633e803dcfdb1378f2f577b0b801beeff291bc807f174f60b1fc453e8efb2f665cbf946fe429ecbfcc1423ff989299ffd407f06231c7f32f186f6366e1f37bc863ce789ef4d090c7e4197982eba5723e342da15fc4ff21b83da127fbdb23f3fb9c228b3c81bee31399ebc93df469cdc7dc0f5a901deeb7c0ff6d615ff07f19ff4da73d01283f1f922790f788fe3a6dc55fea27ef18e7d752e8cb9df1fbc392ad62e4dfafe4399e173d4ec806ce1fc5d27f2c118ff8bcc4864c7d1df9fa7c8efbe70fe085b020f97e191fad61a79fec8abc00ef5d32e7ab634276602ffb183ce7fc1d4b7d09675c70bf654f36309f941f60b19c427d133c9e71bec96fc8fcfe95e8132c32429c2f91f66bb5e510e85fead76a1f78c0fedb943ca17c323f10c33bc5eb8733783140fde528c7d36a0b5898bff764ceb707691f9631e7f38309f463ce78fe2b97f66559733ecf9a6b609170603f598ea7e5ccfb8c0f72fcec7e276f213f6f0fcc3ed68f7b99ff89c51bf79f7bb27ff2382ad67bd2dfe47109d4af647fdc79db24cb7c5c2e07713e5ac633d7689b7c5dfa9b6bb64db2f42fd76a9b64698faedd36c93ad975913fcaf8e53aa2e1fdb962bc7e248b3f9265fc1260f3f592ecf2fe8562dc6faf587efeb1e8693da367f6acc782fffe67cdee39aab93d4ffca0f9a205a285bf34f79716fdd27ebdbe26a4327a712fe96952feb49789b6ef1dc4cf5efc2bff87edf8432b7e68a56c45affaa5d5bfb4fd2fedd7eb37ea15e8ff247eb7ef9de56f9a3f7cfaef9b2edbf1a73bfd953c7f27df1fdfd16a72297e5652de486af7a2b7ee6d7a97e267fb0fdb9568d7a2ed446b7927db0d7f76fff87abfb64def56fcb4727fdbc39df80d7e7f2ffff54fdbf7b5bffffdc09fc71fda7fe6da6bf977debb7b2ce86fadecddefffb97e7f778fa71fdad50fed3ff2f95f5f5fcb51da0b9dc652bfcfd2cb76eabdffb4ff2fbd57d51e847c0fbfb4c75fdad32fed3f76973721e5b394f75ddaef464afccfa56de5fd6ebfcad2b6ff7979d742aeeff860489fdc286977fcf9d17a7ed7bad1fce87d8a9f8fde97fcfbe3070db7ffea0b4f7c94fe084f5ccb4f4252bc67a3c6f6fbef5fefb49171c4f8adbc9bde40fdfc95be7f9477485947e25fbf6a6fdc9bf013df5ae88b36150defd8fef0ea5fc9fbfe27f2eed495d77f72851fe57da0aedabbcfa435c3365e7b7369d32fbd85d66b7fa3c93f8c711ba9fbbef8fb5bdeed5fcabbff5379bba8b6a68eb77ff8f48ff20a69354333e57fad1fe47dd16ccdd15cd13ccdd77a5a20646d7f1bd2c6602d53718d0125fd96f7e7f8b1a5fd6a7f226ffbdf0bd1dfdb9fe4fa96f22779b5488bb544c89a6a592b8db6d70e5a2eda512bb452abb45a48dc889f9390fa441db751aa8d53adffdd6b67f660fb8ba4987da0f9bf927720ff3d90526fd51cf5abecbca2903616d2ea9a21fe0ea9d956abb5b61412af44bb1052afa5cc1bed52db4a79b7f2aa8f22265f8abb0c7e23ef8e6dabe2c39fdbc340f6ea426baff6c739f55779afc5cf4e486b6a3742d6a368b7da9d76af3d688fda9368cfda8bf6aabd0999df85cc1fc29abbfb5c6b9fe2ea973fe877f38bb46d4419c8f9e2cffc0db62b6c41fb92efdefd41e24e5ef95b2dd1fa42de813614ef7d15839d0bad8eb4b136d1a6da4c9b6b0b91146a8661988665d88623d26e4fb30d5f8cc54e7c56ef3d1a818876ed15e7d2f67f94772da5bd97f2662a9eb5bafeb614cc81f7f4b4c11f2cea9726eed9b681f038317708af3a1aa11119b19118a991197be360e4c6d1288cd2a88cda688c93713674d196c6aa1d1be3c2581b1b4d372e8dad71a53942e21b11035bcb16b21a220333dadeb43afdbdbcd0dd9a31ed6ff3ab565a610bad16b6bd176327b43b366e8c5be3ceb8371e8c47e3c978365e8c57e3cd78373e8c4fe3cbe81b0363688cb4c6b8ea3d196363626c8ca93133e6c6567385bce3de42483be9091d487917329edd297ffb9dbc5d34fcfb7cf041c6d09d1c0921af119a3d53dcc8344dcbb44d472cb33cd33703333423333613333533736f1eccdc3c9a85669ba5583857a2c7b1598bf9e6455c69dcbb311bf1df7b31667df32423eb8ff6fb477be8fc77277df3efe4ed634484ed36daad90f66ceae6d25c9917e6dadc9897e6d6bc32afcd9d7963de9a77e6bdf9603e9a4fe6b3f962be9a6f5a63be9b1fe2d3591b67445bf7c642da8d94d71057df49ef172b09e4937f2aef96def677f2e2931bf35dc86b6b23f3d3fc3252b36f3c98037328b43b32c7e6c49c9a33736e2eac9e25d6ea966959966d396249eb59bed0f2521339851558a115696d3468a3e25cd8c3a09dafa586db9c2cfa537bf8b6e1bf97f65b5e5f2bacd8fcb212e3de4aadccda9b1beb60e5d6d12aacd2aaacda6aac9368674bb796d6cabab0d6d6c6bab4b686ae15bd9d75655d5b3b113186d28e5fdbf8217e7723a3441b1ffecc7e11b3da7158ff66c6f9b56da00f2db76e85b4c2168cd4bab3eead07ebd17ab29ead17ebd57ab3dead0febd3fab2fad6c01a5a236b6c4daca935b3e6d6c2eed99a59f41e6dc336b56bdb12f25e094f14999e7565db5c95ec6d87f9fa1fe545ec1b8838feb7d1ec07794fb66b44b6671ab66f07766847766c27e6c84eedccdedb073bb78f7661977665d776639fecb3addb4b7b655fd86b7b635fda5b11272e2c21af7dd5ca6b6c95bc17bd8d9076ff27faed568d1b31af7fcf3d3bf5df9d5a99f2b7e27d2f6296f5ed6b7b67dfd8b7d69d7d67dfdb0ff6a3fd643fdb2ff6ab90f7cd7eb73f84bc9ff697ddb707f6d01ed9637b624fed993db7174ecfd1da18e6188ee9588e2d62f1b6d7d774ab5dcb627edbff497cd8d01630d3dd33aa21a358cbd76f85845be9073b196b3690d6714cdd711dcff19dc0099dc889cd919338a923f4ebec9d83933b47bb720aa7742aa7761ae7e49c1ddd593a2be7c2593b1be7d2d93a57bda994b7b50721aff03778fddfc9bb8624722efcfeedaeb7656ef243b6a65d095fbbb45d7b671aceb5b3736e9c5be7ceb9771e9c47e7c979765ea4bcafce9bf3ee7c389fce97d37706ced019396367e24c9d993377166ecfd5b44a5896c8e35d43e4fdc2dfe4daa4cbcffe2cfeee945d42de0bbe82f96e2de7ea0b562a448c94facdb5c6355dabad89b9aeebb9be1bb8a11b592f76eac66ee2a66ee6eedd839b3b1feed1e9bb855bba955b8bd6b827f7eceaeed25db917224e2c7b731175a722a6bf2a4dfdbabef859de357d08368a4c622d7f7e8c7603b79bb1c57b45d6b57237eea5bb75afdc6b77e7deb8b7ee9d7bef3eb88fce8bfbe43ebb2feeabfbe6bebb1feea7fbe5f69df6eb4c86eec81dbb1377eacedcb9bbf07a9eb89066f7069e21d77b5b39cffd9dbce851abb7db5eb72a4246dcc68b8d677a96677b8e0bff13beeb896cd7f33cdf0bbcd08bbcd84bbcd4cbbcbd77f072efe8155ee9555eed35dec93b7bbab7f456de85b7f636dea5b7f5aebc6b6fe7dd78b7de9d77ef3d788f5a2de6894fafad5b6cdb39e81fcabb535e860877e93d0b695fbc57efcd7b177f7fc83e7c0a79bfbcbe37f0864ee08dbcb13711f24ebd9937f7167ecfd77cc36b7cd3b77cdb777cd7f77cdf0ffcd08ffcd84ffcd4cffcbd7ff0737be38b9cc22ffc52c83b311b315f3632a3f87bfb853decb4b35f49bbb89431e1c2affdc63ff967efc3d7fda5bff22ffcb55801b9fec6bff4b7fe957fed0b6b701efc1bffd6bff3effd07aff41ffd27dff09ffd17ffd57ff3dffd0fffd3fff2fbfec01ffa237f2c249ef8537fe6cffd45d033f4de20d002a37745795fffb0bef8dd7cdcadb0588108ccc012b2d6811d38811b787e13f842ee93f71c04411844411c24e65b900659b00f0e411e1c83c2790ecaa0f2caa00e9ae0e49d8273a007cb60155c04eb60135c06dbe02ab80e76c14d701bdc05f7c143f0183cf9c7e03978095e83b7a05d8db83283ff6b7be8729d35f57d2fa4fd686342f0e99fb4afe04b48eb06fd602064ae8361300ac6c1249806b3601e2cecfbe010f6422d34823234432bb4432774432ff4c3200cc3c8bb08e33009d3300bf7e121ccc363588465588575d884a7f01ceae1325c8517c6265c0b796db10ee9d617bfcf777e5c3bed647c103384907720fcec2ddcf87a78196ec3abf03adc8984ea26bc0defc2fbf0217c0c9fc2672b7382f0c5cac3d7f04dcafb1e7e849ffe53f815f6c341380c47e1389c84d37016cec345d48bb4c888ccc88aecc889dcc88b7c4f8b82e0250a8d4d6f22e4cda348bbd2ce3fad8f7f2f6fa765f15b77edaefd2a8aa3244aa32ce87bafd13e3a88964679748c8aa88caaa88e1adbb7b2e8e4dc47e748f78ed1325a4517411dadad41b4892ea36d74155dbb836817dd44b7d15d741f3d448fd153f41cbd44afd15bf41e7d449fd665f415f5a38198895b799d6848fde67fba1eda2a3bc66f6fcd53348ac6d1249a4663ef233a045fd12cf002d7d7a379b4887b62496fc4666cc576ecc4ae736fbdc45eecc7411c867650fb4fee7b1c79e7388e93388db3781fa6f121cee363f41017711957711d37f1293ec77abc8c57f145bc8e3742defbf852d8ef4c665df99fae37ff506588b7d128be0a2fc5b2a68eafa32cde095bb80ebcf8c67b0977f16d7c171de2fbf8217e8c9fe267fbdeb98f85bcce73fc1a5a5e19bf0527ff5948fb1e7fc49ff157dc8f07f150483b8ac7f1247a8aa7f12c9ec78ba427168246625a9e88109f89d5ae341291f7248eb086c15fdac3565985acf488c8d078223e041f891bf842af7d5f0fc4a410a589ef3d2741122651122749922659b2b7efdd9bf8c5bf4b0e9037c9936352f85652265552274d724ace899e2c935572113d25eb64935c26dbe42ab94e76c94d729bdc25f75a98c8caa5ccd25ea564f95ff8db777c905998b108db35ea2079f43e82afe4c95f27cfc94b7893bc266fc97bf2917c265f493f1924c364948ca1df64924cdd2499f9bd649e2cd25eaaa56291945aa99d3aa99b2c532ff5d3200dd3288dd3244dd32cdda787344f8f699196c20adabaf1ae3d5325f2b4aedea771bfa5fdf7774d72cb1cb2cb7744f69856bd4d3409af5bfd464721e7735ab79af62fd2263da5e7544f97e92abd48d7e926bd4cb7e9557a9deed29bd67ad3dbf42eba4cefd387f4317d4a9fd397f4357d4bdfd38ff433fd4afbe9201da6a3749c4ed2693a4be7e9c23f663d29ef7d2616a1c6a594ecf7f305ec764059656c10128bf92dde8ae953c4b0ccd0be3253586f3ff192d7cc4a9e323b733237f3323f0bb2308bfc5d16674932c9d22cf3ca6c9f1d423fcbb363566465566575d664a7ec9ce9d9325b6517d93a1d649bec32db6657d975b6cb6eb2dbec2e6b35f6d85b1bf33f913757f6800c176b4dc82b2c22b0bc67e1635be16b37c973e06722ee06fdec217b4cfcec297bce5eb2d7ec2d7bcf3eec20fbccbeb27e36c886d6879477149cb37136c9a6d92c9b670b71636d6feccdbdb5b7a3479118bb7b6fefef837db88ff6f13ed9a7fbac9557e468ebde87b088bf9217f5aaae5a089bb8f46cbfdeef5b0f8b6f8cebfd41c8f8180b79a36c9f07fd78b73fee8b7db9aff6f5bed99ff6e7bdbe5fee57fb8bfd7abfd95feeb7fbabfd7536d9eff637a9bdbf8d0ffbbbecbcbfdf3fec1ff74ffbe7fdcbfe75ffb67fdf7fa487fde7fe6bdfdf0f84bc0f42dead90f752f85b67bfc66fe55d3396b1669856fb611b79c50cfc15dea4757cb31f855bed2bdca6f57ebc9feca7fbd97ebe5f1c7a07ed601ccc8375b00fcec13d7807ff1084ee2114134b7c480ee9214bedc3fe7038e487a3b088f3a13894c28e83e4e2501dea4373381dce07fdb03cac0e179a29f2c98d9077f597f276339bb005b13ae3ca27de8a25d949c4afd97ee27d08ab75a383711db887b5f675d81c2e0fdbc3d5e1fab0f3fa879bc3ede1ee707f78383c1e9eb2ecf01cbaf6e7e1c5290faf87b7c3fbe1e3f079f83af40f83e83e591e8687d1617c981ca687d9617e58e4bd5ccb8ddcccaddcce1db1929b08593f38ce3fcbfba3bfc1d3ee3d4bae8d65b4481e93d756c3c25e5f0febb4167142586fee267eeee57e1ee4611ee5719ee4699ee5fbfc90e7f95124eb455ee6555ee74d7ecacfb99e2ff3557e91bee6eb64999dfd38dfe497f936bfcaaff35d7e93dfe677f97dfe903f3a9bfc297ff68c1c7b0b9b5fe4fd359ed10e5cd4895b792fc38d8865affe397fdd8f849c6fe195c87c76e25feff947fe997fe5fdb606950ff2613ef2d27c9c5ee7c77c924ff3593e0ffd7c71ec1db5437a348ee6d13ada4727df1cdda37714a9e3313c46c7f8981cd36376dc1f0fc7fc783c16c6568b6545b5ad0843aadfebb79b2fbeb3c9adac2f5cec87f9abf6752c8fd5b13e36c7d3f17cd48fcbe3ea78715c1f37c7cbe3d6c88e57c7ebf0e5b83bde1c6f8f77c7fbe3c3f1d1ab8f4fc7e7fc747c39be1edfb2d9f1fdf871fccc16c7af635fb4c171781c1dc7c7c9717a9c1de7c745d1b32e8d915873ea622dbf6bf71054fefbd7f27ee768a27785e657c6229a174661165661174ee1169e58b80445584445ac4d8ca4488a34bd2cb2625f1c8abc38164551165551fbcf45539c8a73a117cb62555c14eb62535c16dbe2aab82e76c54d715bdc15f7c543f1583c15cfc54bf1ea9a22f24effd3f26edb35651be7dcb57355bc15efc547f1597c15fd62500422e3bb2f86415c8c8cac181793f0a59816b3625e2cca5ea99546929766699576e9946e299646a5488ae37e19890c785ac6f1b94cca342ccbacdc9787322f8f5eaf2cc49a7e605d6b496f2be46dfe43f26e7f9016f68c58f1d8aeaa7a6331877c9465ef456bcaaaacb5a7b2294f46569e4bbd5c96abf2a25c0b7937e565b92dafe2a8bc8edf8365b92b6f84bcb7e55d795f3e948fe553f95cbef8fdf2b57c2bdfcb8ff2b3fc2afbadb769476da8f585bc1b21affd1f94f7c77ade8095a9818831d7e5a07723e415fd2e87e548bb2bc7e544b4a9d937d7d1c9bd11c1e2f5785bceca79b908edaa5769959194f147b0aacccaaaeccaa9dccaabfc2aa8c22aaae22aa9d22aabf6d5a1caaba3a7b5d959552879eb7f2c2f347b4ffdb6f5a1b190b8ddb93a688d115665555575d51899f1d8ae8dab5375f6ef83d22bdca74aaf96d5aabaa8d6d5a6baacb6d555755dedaa9bea56b4bbeabe7aa81eaba7eab97aa95eabb7eabdfaf034ad6ab52bede13f27afca7db4b3acbb6caacfb6eaa28945b7d6545f555fc83b682bead5b01a55e36ae24dbc99f35c4d9d7d35f3aa6a5e2dea5eadd5466dfa5e6dd576edd46eedb58bed3aaca33aae933aadb37a5f1fccd73ad7022b12d2b6f2befe03fbfd6eebdef77e51bb1f79d36ada2fdafd6b63591feba22eebaaaeebc678b01eea537daef57a59afea8b7a6d19cebeded497f5b6beaaafeb5d7d53dfd677f5bd90f2a17eac9feae7faa57eaddfeaf7faa3fe0c9e8a57b1b6b817b6d0caab9bef5afd1b79dfe5de5657a7eebcedc75affb7ec57d2dfdaea7fa369e6bbb113f27e999aa9d775abe1ba5f0f84c4c37a548feb493dad67f5bc5e343da126a3311babb11ba7711baff19ba0099ba8899ba4499bacd9378726179157d7721179fb52e244c86bcb7d819ff7e735b5bff95d23fd9de47f9057fc391a61fd65dc34c76ad0ee03081b7eb0ef9aa2299b2afb6aeaa6b18ae6d49c1bbd5936abe6a259379be6b2d93657cd75b36b6e9adbe6aeb96f1e9ac7e6c97c9579ef4c445e21af6df7aefe445eccc73875b275d75c15ef7e8ac5bf91177b16daa8ea37cfcd8bd0f19770bad7e6cd4a9bf7c36df3518d0f77cda779dd7c35fd66d00c9b51336e26cd54b459336f16a7de493b1927f3649dec9373728b57b330c4681ad376f750dee95dce17bfcafb4cfb6db3f4cbf88af2aad9b8f75daf96f1e127796deda4dd696fcd8b363d7927dfbf3c05a7f0149de253724a4fd9697f3a9cc4647c2a4ee5a93ad5a7e6743a9d4ffa69795a9d2e4eebd3e67479da9eae4ed79e266ca1e9bd7a8659b5adadf6998d3cefb1fd455e83fa1d2077fc49de9f4f3cfc51de463b9d76a79bd3adf670ba3bdd9f1eb4a7d3e3e9e9f47c7a310ea757a33cbd9dde4f1fa7cfd3d7a97f1a9c86a7d1697c9a9ca6a799bd38cd4f8b73efac9d8db369e8594fd6d6dbb33e134abbed0d45fb555eadd79e43dc7067e5e7facecfa74994bcf26ad4ef6977b6cef6d939bb4262d1ceded9377aa7e773700ecfd1393e27e75424e7fbf3e19c9f8f6791489ccb7375aecfcdf9743e9ff5f3d23c9e57c221575ad67bf28cf3456f725e9f37220e89f5857d25cfdcfd28efbb90369333c2656ff393f5fe782601bfbbeae4edddb4a75b5a79cf97e7edf9ea7c7dde9d6fceb7e7bbf3bdf6727e383f8af6747e3ebf9c5fcf6fe7f7f3c7f9f3fc75ee9f07e7e179741e9f27e7e979769e9f1786aef774adf7a11b5aac0d9d2b21ef63efc57c37dfc5f563ddfc83bcc64ff16cf78bb4dffb2f6dddfa1afe0679db88a61d744bb775477785c437baa7fbdaab90d7d7033dd4233dd6133dd5337daf1ff45c3fea855eea955eeb8d7ed2cfbaae2ff5955668ae7ed1ee77db963c0d78f337f2beff90afffb843f1e3f9a2adda3dfcb15a256611cfd5d7fa46c8ebe8976757df9e1ef42bfd5adfe937faad7ea7dfeb0ffaa3fe24e47dd65ff457fd4d7fd73ff44ffd4befeb037d6878da5e8c137cea414ac66b8bf9a895672acf23fd3a5ffc2cefaf6da72ce2e7595acaeb17fa48df9caff5b13ed1a7fa4c9feb0b7d9727faedb2b7d496c6d25c5a4b7be92cdda5b7f497c1325c46cb78992c53a3dd837df96936eaee87fac7777de177f3f19fcbfb3d6ffcf1fcc6ae375e66cbfdf2707697f9f2b82c96e5b25ad6cb667912d29e97fa72b95c2d2f96ebe56679b9dc2eaf96d7cbddf266796be6cb3b6da9d962d4ff98af747ba7df5afab3faceeff39deff3313f9e06926436bab5bc3f3bcb077dbb7c5c3e2d9f972fcbd7e5dbf27df9b1fc5c7e0979fbcbc172b81c2dc7cbc972ba9c2de7e66b9b359a858886b9dc4df9b9b573d6ba9bbffe46dedf69b69377ade2dbb7bc6d7b592e8ae1e96ef9b8eaadb495b13257d6ca161afe58392b77e5adfc55b00a57d12a5e25abd4daee07ab2cb95fedb5d1ead0e6fcbfcaab9d63ac68bad390ff54de1fe3daa6f77dc280fea8b9ab5c8cec5b55ae8eab42485cae4cd75e552261a857cdeab43aaff4d572b5caee8cd43f0a492fcc62b5d69ad546db8a08b0ffc3ddd6ee9ae7c97ebcf7efeb51bfb7dc1fe3c4baf7639c13ff6af762e509becabe363f5797abedea6a75bddaad6e56b7abbbd5ddf2252d57f786be7a308bec7ef52866865de2b427ebf48b68a8ce6ffda89def33b19d0dfe95bcbfc633eeb9fe6147b6935bcc73f1a5587351ea4c58e6ea49fc3c878fab97f6e4d6ea35bb17a12214afeeb5f6b4084e884ec5e767bdf91ff52beb1e90f47b6ffdafcff7fd55fb9db57cfc700ed19572b70b0aaf95b6edc312275437abb7d5bb15c9fc7620cfa6ce45fbf53cdeefeffa3f27ef8ffffef5bcef074fd3b667fd9c76452366c19e98b5aeb4c48a561fd675dbc45cd66af9f537fafd5f2defafeda93df1d9b5ded3ea539daf6ef3ab57791eb5b552b1c2b16deb4aae75e4193bd15e38b7fdb99cff1be4fd59e2d5d7ea4bc9f3247528673159617a12f2263fbcfaa2ea637fd7fed7c94b99bbc6f394dff27e6bbb6d573fe9f3499e0dfcff5fde6fb91f85a4573f48fb2df1a63da3d61b8bacae912780dbf73ffc17c8fbf253fb8de68555b7eb84f6fc7aeb7bae3cb728cf86ff9c93fd6f92f7d708fcf2f712cb98d17a9edbc6bc761da59ed778f8dbc8f0abbcddfab83b07fe9fd1f17f7c2cbe7fbe7bfcd7b242aae6a7fc7729338cff9af61fd1d04eae318d9f9e77bae52bff75ed3b57fdb1b5f57dd843f4c3fa622fadf8ee1f3f5df8bfbfb592b54f3b35ab3eeb25edf36fadbeef7a7ff72ce07f45c3338fedf385783e2bee99ab414f137f0fc5bf7f7dfaf3bfbea5bd532f5a8dc47fad7fff7fffcf7ffbff00ab5044c0</data> + </image> + <image name="image6"> + <data format="XPM.GZ" length="95682">789c44ddc7722a5dd6ade17e5dc51745afe204854d92c66948026441202f9d388dc4c93bbcf4dffc9f30df31b4b55b4fa459b9cc5c260dfffdcf3f77fdee3ffff9efbfe68b6cf13cfa67f494cdfef9cf78f9fefef3fffefffffd9f7ffd3b4dfec9ffd7aaa5d23fd57fff9f7ffdbb3839fe67f44fa15429e5ff76f0740a544ae5d8e26807556ff1d8002a823a500526a7863846a5050ccbb1c5e87a07b5bf5d4e0cb1cbfb85a11209ab0035b6c84686d8e2ed12a8039b6c07f5edd5ec60d10474da2c33c4419f8e0db14b36047cda8921b678b905eada626a882daeaa802ebf7f6a885daa17c008981cee2071aebf5f024afad389217679ae18e2b48f09e0a48f0db1c5700628a5ef5786a81f1ff740020c8f0db51d7c960df51d4c75da06bb4c1b4013b82d18a69141756028d0b58c816e0b989477292d14df8069390efa14f5b4e1c21e0a94639bd410f9f1786a885d4657404df5a3606097ae816af96d8874bc5d00aa0e8f0b43e458f603284f473740832dbeea405a4a76705d02b2d22432a866880caa291d1975ac7a6388749ceab4438e71ba31c431aa6f027619dc03a3d238ce32177096dab52176a9770c7171374ac7985dcecf0cb14bd230449e565f0c54981e306197febd2176b9be03a66c91960d91a7f57743e46956dc41fa170c360682411550e98f2e0c71dae75343a4f4f5d710a77d6d03aa0e4f3303f5f4dbc0310a8638c650c7481493cf0c44a93d403568da0452416a8866faa8cb6f02df354323a2f6a1214abf710ea88ef50680aad4e0c11055eab2216097a46d20f4bd1ae25a9a4b43e447bf04a8165e248638ed656a88d3f6950ed5d38bba214e7b796988d3269f8638ed838a4131a8a7cb574dbeb934c4416fae0cd4e45b431cf4eec010e57273618862383b06269cf6fc46a006746da0cd1d19e2b4fd3b439cf6fade406b50d94e39e865dd10c7a82d0c34e481218e51bb3144d2eb354334b1e6b1218dfc201de512074d5b86386895922b97e3a085e299218e51a389952bc05be469d30d797469a0cd6d00b5caec1150ab1c760cc4f52f435ccbeb11a036f7b831d0357e19e22ca33b436450a507a86b1c7e1a6297a7a2217679bd0552f5a60503d1e1d410bb5cbe1b8671d00468b2cb630a6434f5d3b5212addac040c4b91c9974d43b4b95edf10bb9cfe0aa852571f86c8e4fb2f436461e5c81009eb1e036ad9e7b7065ac39580b39cb50cf4737b8638cbcdb521b2f052f9a1967da674a8659fcc0d71d0eedf1671d0d37d03cd2333c4b5245f8628978b0630e1e2ee9474b7ec4b03a73d30c469bb6d032dfbd610a7bddb37c469abef86a8c9b599214abfaf63a8ed9fb50d74c0a78638cbed9921ce92a486384bf5ce106779a06abbeddfff18e2a00fb706925e3270d08a210edae42c797420a0540c71d0d2a9210efa7069e0a01f8638686d6d88caff400dca434e1ca3bc31c4311eae0c749e2706425f15a8ea183543ec5288269679eab529001a7f0ce780a2d4e39981807208284a3d9f18628b55c940c8591a22e232b1da02a1efc71029fd38021a3a4bdd1067f9ac19e22c2f0f80e2d87762208e7d182283c63aa846289f554324ec7405e47f91a70f866862d32230649787be21da7ef94da0807260885c7f18008a41a72d8146171786d8e5fcc4406f7a6b88cb6ffc01f574df10573b6f00632eeefac1402cbc13286ccd0cc4c2b621d271db3530b8fa834847b96c887434fece12a57fa52d14a5cebb06e247c7c0b067cf1067e9f50c7196b46a204add1b1a3110780734c4af5c1be2b4bd530381be6620c2248638ed55c9c0691f0c71b537478668c8b7242c8f41d48f1743a4e3ae6788740cee0c918e7edf10e928750cd4d31b43a4a3746448233ffeced28c5ac8d53a16d6ab06cab66ee0b42786386de5d8402c5c19e2f22ba7064eabb35474967b439ca5b631c459caef06a265c71067691072f2e048c2ce0cb14bbd6e885d9299211236b8026a1c631d653bf4ca55a106683eb72a001a174e4f0dac90b40d91c9cf178022ee6bc7105b3cfe18187e2d0d9141cf0340f1745d32c4317e278638c6bc698863ac8780e2e9fbad21e27a616a88fc18be1b224fd765402b35ab91210efaf1b70541ba6a60a9e2d930dac14c5b640af46f86d8e5a36488748c6e0d51b6677b8618d2ce2ac050d3d9cc10071dd70c113f0a8f02a2e5c38581d1d609a08966a925608bde31a0107cb210b0c5ddaf81d167df10799a9c1b08063d0311f7ef18712d6fd7c0840c5a160dd1379c1d0a38ed43c310a73d3d30c469cf7b8638edcdb9214e5baf18e2b4e535a010dc3b3170b545439cb67b6888d35edf18e2b4f74d439cb6f16d20f27f199802fe18a2a9af28fd7289fce85d186220d0bc17a8e33b3390b02703097b3744c24a6d0331f9d8404cfe3634033e01c5e4d29581d35e1be2b4835b439c76706388d35e940d84be6f435c7e4907554cbebe327096bf2de22c975503ddfcbd815c2f1bb2b8b85343b4ca1aedc563dcd2a181303e3250a52a06aea56988b2ad370c7171d51950e318496660ac7d6588635c960d91d2f4cd1051aa4e4d2ed739463d31c4316ac4f572c2691b45436cb18ede63e4f1fa2205d49dbc770cd15e3e0e0c513fb225a0b5be978e81db1c6d43ecf2726888c29e7401f51ed5c4400f3437b0cc503444416dee008dc65f0f0cb1c56a0ca86ff86a1888c94d43ecf2a30c5257b01c1a9846fe6d11993c7c3544b9bcdf008afc4f1f86d86278028c38c663c1105b64bf8628b97b659002fd780f18738c936f8106bda7862897932f0353d17b432ddacb8721f2e358bb6801a079698883de370c9163e99e81867c66888326234324fd7e03284877f70dac5da40696f6ee0cc4c24f03e3e4a5818162c910797a4de9e7b190fe3635b0aaf060a0273c3730472e19e2b4f77fc788d3562f0db4fdb221d2d1bc0514829b178638edd5bb8115b41b0303d6aa214e7bfe778c386dff6f9738edb376a9300e4af705a4e3a262600a583470f99f06ba824b43a463d033908e6b43a4e3d6e9207c0e068688857d81a276fdd8c064a46988d35e560c71da8b5b03d1b268e0b47d439cb6fa6c20046b178dd7cbaf06baa43b03a7bd3430e63f37c46953c2671ec6e31869cd10c7480b863846656c8863dc9e1822e99509a0ae207d3570da4343ecf21a3076e4cfd60616762f0145fee99981c8df32b0ca726460eab532101c1786c8d3a73ea0a9c6d3998109cddf1671d0e7bf2d98ae1c035acba9ed1bb8ebd532c42ecb0c70df303390b0b921f2f4696d609dff0670675134c4316e6b8618c0ffe8b49a1524bf06e2faa7217619578031a77db93744fde829d715f99bd706725de998305d393b317083fb4da0b85e32b032f1608874dc340045edfb0f03f7929a863846af6b88cb4f87062a6e746b6307e9db92210e3ae81a58a9691be2a0773f06c6741f069ad8c81059382183ca6532e8e5ce1019745b16e8e20a06baa47d43a4e37c60605dfbca40dff064606c393744bb7da58ee5519b35b6738126341d0363dc0343a4a37766a06bbc3210b6ee0c849cb62186d63caa31fe1b5a2bc7aae447e3cb10e9e85f18e82c4e0cf495bf066eeadc1a221d49cb10f991cc0d918ea46f88a87d2df0e07b6e88833e9c1b38e89d210e7a716f888356540c0ad20faf863868e3cd1007bd2c1938e883215a765d755de3f5fab9218ed17c30c4311a05431ca34a3c2d3714e853c36e8b42515ba4e598797ec4d54ef240bf6b6285c291a11c859d1922a07c9f1ba2d22def0d2cff2440a2871756061e4b3a3210d7bb8022ffe38581877d5a06ee12f70c51c7b20590d247fd8e0c74055503c7681a18d42c0d2c3328619a4854eb86d8e27969889afcf300649c36f931c42e135ddc505dd2be814595cc4050ba04465a422a1bd8e20ad0ace0b96660a14a6751df502f19221d4d1d43e3f5135ddc34424e2153e92bd0df750d9185cd1b0371fdc1c04889fae1f58f6a4340a04f5f0c7196dea1817b7c45033730af0cdc7d5b1858b6ed191806b60dd15e26d40f47fee443a04713ca066638a70686a35d03339c370331e8da10a7edeba08aeb8d8d40bde9ab81a9c6af8141efb581307e63e06aeb86386d435b286aa7cf06d6faba06c6301503538dbe8121fea581d366067a8f1743c4d34be28747d297778638e8ddc61007ad2e0d712d777dc330ce3231c459ee75f91a6bdf9c1818c31c1b18af5f1858b92a18a27e5cdd1ae22c35028ac378e9d6c002516aa08efd6dc15cecc8c0a34daa850d0e9a6e0c742725431ca3b167a06f5819a2cd355471d3d8a5507832c416e93bd0e42cb368c8537516c545c34067313430803f07bc62746c88aabd57041a7a627760e01645cf4023fc3230a43d34b09297018afcc9dac02e2b0323fa4f435487a72ed0e45a2ae78648c74f19d098bffe69a06f5819e22c9f3ac65013ab9981bb4d434314f6ef13a0c87ff16c6019eac51075eca50da82b78aa1be2e2d6caa02991ae722fd03a4cd4a0a943f0ddb9210e3ae1a08e9693c410b5f0fb6f8ba8859f15a002ccca86a874c9be809073716d60a67505548996c981406bf49f069eeee819e218f72f06d6607d508dd81e0c712db7d43107a5fb9a814897180817370656153686b8fc2b5d9c6250f9c5c042d5c01007ad4c0d71d066c9100db93833c459d286814ca68ee51186d0d735c4596ece0c7196eb4b43e447b569606c796ee0aec6c6100595fe008a63c9bd214e5b4b0dcc2c1a86386d7360888b6b560c934847df104396e25c508908d350d25345cb2303d1726d886b299d19e2a005e2988263a1f828a870bb7617d8f2318e42df53cf105b4cbb866862f3be81dba403a0a16597be81875b7a06028a76493592ee1b788477cfc052c5c6100de8f10850e89bf40c2ceb9f1922a56f3f06d661168628ecf925a0f5f59f922176792b18e28e55d633c4319e7e0cf4955f806fb5fe1a58219919a28e3dbf1b98475581911e476e198874d78638c6545938261d635d8bee790e9f80a9b6d80ff05dc0496a882d4a97069ae98380f1d8a40138e2560ccc4dcb023ddb5330c469dfb91687e03413d02a37234001b67620d040b16e2016560d8c507e0d712d3fb486724d8b4c37028d939f0ddcf77832f08cd185212ebfa4a42b5ade1e198896b786d8e5e6d4408edd190828654324fd9ec2fe9b781f1ba8858981d9fcccc058aa69e075066ab2435fe3d51067b93d3690d24703e3c217034149a0b0754303caa31491ae616018583330f750b5cc941fc48ff2b0c27dc2681e653fd2fc5d057427f1e3d0c0232345402b028bc44060bb3030ea3b0714e9960f06d60cfeb6e0a1d69581b77dae00c5c2e90da038b62c1b58b97a3430a63b333079d76935bd9f0c0ccca25b066e4f3e1aa2aebf6d0ccc4d47805604922b038bc34b431ce34b3936221d5f0303d3b7a9218ef1fb6ce0e6f4b5211ad0cb2930d6312a060657878648fae3da10c7183e1ba2d24d4ac0842d1ef70d51d79fbf0decd204a644cb51db10bb1c6b17bd24704395da46e56862df86a8ebe303a04c3a3e1e0c51f9bf740c0d47cb770246c1e7f74095d39e760cbc97543244a54bfb0666af7b86b8b8790ad438e86668e035a43d43e4fa15f54391ae50fc03e247c740db7f37c4c55d53933d0c4cd78638c6c39b8149e21f101dea06467d7fc720a0d0801cd8ca3f067aa0998163d40c0ce12e0431842b144f0cbc527509783afb6c205a2606c67477069eb6fd15c4410b45da5c1e1c7984f7cbc0907625606cd9d4b564ba965760483aa611932b1e062eea40935858fd323084bb364474f86d1a18c25d1876cdb490750d849c2320d398ae6f6085f5c4c0db933d0367b934100b6f812107ddcb0c0c47eb06de6e79361061c6066eb6b50d512df786c048af421e19e2a07b8f060e3a3110b6fe8e11f9f1b230b052330014fadef60d2ceb3f19885237c044a72d1b88b863435ccb8a746cc79f112d1f0d0c145b800679dd534354ba3119940fd0629765c11095ee5707ad69907700d435473e31308621a579bb658bba8185aa1b0373b19521a68085ae21d2b1a19ee60db91a5bbc1a18f63c1b08285503f3392a5dde4cb9ab313030f3fc03dadcdc403335d04ceb1f809a693931c42e75e57ac62ea97619b24545573bd2164b435c6d910a539e54b83312795af538e8b36488b6ffdd033c9f3b073486793d0518c314b23fe02668cfc07cee1250db5f570c54dc0743ec321f006ac8d9938191d2818163940c718cbd11a011caf4dac013bbc70692fe07bca57760e0aec6ccc0d8e10a50bb4dbb066a72cb10c7f8d6c5a9ddbe4e0d4cf0be0d71963d6d31e5a0a34303cf05770c718cc7e8b3ab1e7f4cca40992d2a578668514fef86d86544d23d20395919080637408d63d0c4aa9e698d6f813ac1e0776a60765214d07966f780fadbc20940d7587cb80334b3482f0c849c2b4334e4c2a981e98aae96ceb3904d0dac273f1a184be9b46aa64d253dd3314a0646e309a0769b2c04b4dbeaa7212eae796ee0630d918535bffdb45700349118f701759ebfa921ead8de1850034a4f0cb1c5d7a9213a8bd205a0f6325c1862979faa819b6d9f061e04ed006e0d6d032d6a63887eeefdc7c092c91e30a106ed4d00b586e6be210eda8e865cf372c743ddc053154f86a8419fdaa5ac6597b581aef101a890d2e9ca1009eb75042c5564246cdbfae3185706660577408d848daf0dd464a554cf7e35bc0523faf13d50e76aa9da35b7b9b35381be32a284256aa687400318ed09ca54edbe213abe4c094ba39e160a6740535b28c73c3e7d03684085ac22a0aed7046a2ff554a0637c01238d935f0d747ccf066e0a532dcbd30acf39760db1c52ca0aed97c213b03fc88d500c86884afd7c090db4fc51f4394fee6c11067595c1ab84bdc30c4595e4f0035b14adf40133b35708c0c18ab659f196297af3fe0ad81a2815b9c0343d4f5b90e3ad1aac2c410079df500b5b9e737819ee727e9dba5dd682f5f066e60be1ae2b48f2bc00f3f3d1ba2265f3f0215b6a8bf0998464ed7809b5807a801c73301ade16d68e06a5f0cbb840d1614a53aadc1a26298069405facac8a361185b9480842dc63d038f569f036e739706d6a4a97479138bb728b23b039da772ccbdd80d90698baa21bac62c35d02a752d99dacb37a056992e04ea1a6f010f47af0d348f170399fc6ee0f5632a5d79a2c9fbbd405d63cfc0f38531694ebcb6f57c09684ef876686062f56888f0f97a0c68a0f87865e03de00b035f5eb837446bf83c34f068f50fa07161b360a0d31a1b48fa9181459515a036d74c0ddc59ed18a2791c0d00bac642f1da40b8681ab8fc5743b4a8f7918199567405c9f63e4fb4ca39a0aeb1341450b5e764a19b69e9dc10297d1b0bd865ba0f686d6bb8046a746b9bb1214e3b3a30448579f914e869fd2f43168d9092fb6bb73520115405a4a3f260600e343230fcea020db5ec13038b2abab8544f882883dc909b02b55b2a9dda6d31bd014654fefb6f60acd67062e0b50aaa76de5ea8411fc054107d43522955a2a0bea2a01a5ef99ed780a6668d6780e6734f03c06dae63e086dd0d30d283182706d6d75f0c4487a18106f4688840bfb802c69ca57261e0182303edb660889abc9802eae7defe202add4cbb4c75d0a981267663a0792c0ddc6cdb18a2289fe70686b45171f3faa3a7180b0692be36308d3c35c4590e2f0c3c58ff6ce0de3ce9f012f4f3dac0acf1db102d6af20bd4a8fca363a0ce59a6730343496fa1863c36708c7b20a1477ef912b0c5903ab62d8838e89181b3780bb5b953039fa4fa3570da1f032b02ca8f54af85f70d7171bd4ba0c9c7d5b25b205343a6f2e75d239f2e69036aa6b53d604ccb2ef4007ab1c250853d5543e65a2ae50a813e7ae45483cde2fb2130d23acc8981e9fd25a0d6b0b80626b497fd8521b658bd19a26a17ce0d918ed7170315f70b50f3584c0c54dc3b438c3eb34f4334e48f7d0373f5c8d35475bd907d1918e4b50dac39ce80327d65e7ccc0a0f7d6c023de6f866895af4f061e181a19e22c1997ef29e0fbaf81b727cf0d718ce114d014f0f140a071720f50b7f6a0a4eb764b46616fc73901478638ede2c6c0eb1d43400d689a1968400990028fda25d50b0fba160de1864560a23eaa61a0a06ac094115b15a8542abcc44ad956aa7438aba8da4d47feaf3ea08afb3b07547197cf86d8e27b6488ce62f364e0c1d8bf5d1849170cdc163c06a65aa67c3530171b18a235fc2e0c71711bce92574b569c3f0c4c348b069ad8a78197f1af0d91d2c2952152fa3504ca3ac6858162f836708c2f03cf6baf0c84e0bf5d581fbb04aaea2c7e0c5161a64aba2656cfbada1a8f8c1496803a8be1c410c778d7b5d419b1156640426b588f0c51b5b38e8156790234384b766ca021d70d71da858ac1bdc7ccc08704f70c3cb34985717b79bd13708c590dd04700476b40dfeb1bad0c512d6f6e8111539e79b4b9cc1389f905a0d6d03e02dc1a4a061e6d7a3144d27f878082f4b4666025efd9c0074138862beee60f628bfdb9818afb6d88a4ef7d008ac9df4303bbf40dd1800ef6810a4dacdc30304e9e1ba2b0974f4055c3af8d8178fa00d448d8feab8165863d4314c3fd8180922b2c00ad5a4f96024d134a065e0efc32f0519101a0303ebc34444a871786a8b80ff70666383a8b2aee686320a56b20e518ef778638c67322e018931f03370e55d84d0dbf068638c6dbad80631ccf0d8cb632406f1c3e2bd7337dd5eb0da0791486aa1f13d61d1a5487bcf7e0b60f07add4d47b44d90efd99d18f5b40b7af977706de79af0113bd6f3a37d0c40e0d348f3760ca597e5e0db1cbe1c0c04767fe7689d3cee3e2866e51f76b40613c9b19a27e2cc640855d3a5d03eb744540957ffd6ce0a3440503bd4706d4d8e2e7dd4085d918a2b0f775d07a89e5b01b43d48f0259b89d9ec51677061e6e490155bae135d0d4a0e6d4c08de58a218eb11c09f4f80b05b50d07119333031f681b1b22e40cb5c58401c90509abe851f3ebb2403775ea4045c39e04a8b272f51d716ce420fdd90554a53aa786d865d80234dc180d0c918ee39e218e71fcb705d5323268e42a755a05ca1a6e64063e4df16a88cbef9c008ab81f4d03f5e309501ddb175061068b818128f52ba05cca2950d74277622026bf18a2f40f5a8638e8f00ad0a07754337077e5d34090ee08484761056864505e18e22ceb77010381c206d037430bbf0696a1aa0606246780aaf6746a88637c0e0524ece9c5c092c91fb03ca85df4f4f1746288d33e3e1ae25a56aa1f1a7ffc28c7f4f1bdf1dcc08d65e5875ed81ecd0d3c75f300e8fdec59f45163cf4d8ffa802affb14035f9226ad0d8cb1d27b7802aeef215502dec26405513de85815755be0175f30f25038b7f3a8baad44b034838cb77d3c0ea68dd1045b9ff6820d73f05aa633f40430fea6486a874374301bb4cbd8b56267496544b48430323e91b03672918e22ce70d43a474d83730057c13104f5f9b8628ca93b58127fef70d3c07ab8b53d47ea91b221da38a214ebb51d9aaf20fef007dc3ec6568e0e254b69932e8c040b56c01fa64d9f8db40805d1ab81330327023f50b50f3287c1a58e95d1a681e3340efac8e740cbd80fafc62608d8d92ab94d425918e4a994559e673e34a93b37cc42e132f97ceabc0586deedc10bb9cdc01ee3dce0db1c5799c76fb222ccf7d360c71b527f78638c6fdcac0ac405b94f5a0ce17a0df1a98560db1c57bdd1081edec17d00ac9c31350e32c77670686f88f86a8dab31301a5bf7a07d4e18cea06de5ef830b0d4a9a46b99b2dd01140c16234314e5d3d410e958eba0ba7930f93444c2964a7a83831e1c18187e350c0c9d0a40ca2ea3c44030b835d0adcd0ddcced741d5038d5203f77054946a9585aa81098d2e5fdf949d8c81a1baa45781c2c5b38105c48d812e9a7a5af6f7a57e0d3c91f966a02b5075d09be48f5f063e37a6a4ab553eed016a84df1194a66e40dd3aa0f672167de5f6f541a609df86a8c96725439ce5ac0aa8aedfd40d51938fbb40955d06992192fea6d3eaaed7eac3c0b3c58706d650b48bc6529d63039dd60c503fb7f76ee0d1fb04d01a4a61cfc0935d8f06c6fc4f06d6833a02cae5e5c710a77d9e02ead6b2ae81d3ee1b88fc2303dd5a62a0136f09541d0e0d5194e322e0cadf34d0696506faca7bc03dd0c410e998140d3cd9a53cd50dbb9702a00fc33fff41ecf2a9d3aabd706b605ad6f7933f8a06e2986aa1be61b6a11656f48ed5d96efe5229fdd5e44a80c3784c342b25d7e4cb5743d4d3db3b4015f7b46288d3c62afe76d2a4837e009a89cf4e055a2129025aeef83a11d0f6dfaa80ead8e242a0b26d19221d877d4035e8f1c9c0b27ecd1025f7f4086878fe323130fe1819a8fc5303a3be67404396f834c50ef8b849c3c08de5ba80fc78fc3070f3b169e019349d566f0b0ecb06ee242a3f1460dfb4857e27e051c75095faea1ae8a26f0dfc50cfda405052c929c01e2f007f32f5c1c0d76fffb660c6373190eb5c7e3eab8e94d60e8184d59eeeae8faa943d473e89b3945d714f6b86d8e5f20550c59d5600d5d3f3a281cf49bd1858a73b00f4ede3f3a181aff16586d8e585947a41a4dc0414604f6e00f5fbab174314e57b62e07724947445cbf593217679fbdb8208330654b51f5f0c04d803431c235e73dd41348f8fd410076db70dbcaa321368f5bc00285a0e1f0c71d042db10077daf1ae2a04f1381864e3303f781be0055fefd918125f93781a6094b03a3f14740c38dbd6f03cfc13e1b18e528c7f4f5cab7d4c09d914f035de329a08f9af55550fa20d97064e06d3040ab4ec5176a50455f6e79fa35b0dc7169e065852e5061fdf42b9ac7f605107ee7ec3dc0c3f3f3828184ed030ae38f2786c8a06ecdc0070eca8046c19f4503a3cf33409fc8b85f1ae2e2ce9b063ebd583444619fa706e6955d402f8ebf8c0db1c56bd51009db1f1a58c67e12501da602358fc91fc441f70b0646b0730105d5d369354e2eb40c3c33f16ce09ed6c0c0f8a304a8aec7e3b73b60fcf16ca0d21d19b8381f8340ff7d66e065fc0a40df3088376377c0833a6b0337973e0c3c183b3110615461c66afbc706da7ec510298dc71ab7a080f26ae08ed52f30d5e08afa51d11300d981805d3ea7067af53703e9a028b7e789267609e89b6e05aeb6a25bf1a34f03cf6b934115bdf49dd11a6aba75b4899456dd69751b8067059f0262d0ec0cd02dace12fa0af9cb54f004d34fb05405f90b97c36b0c23a3550933303378626802a7faf6c885d8e2f0cb428efa292fb30f0a6df23a0ca3f1e1ae2187ba981fb0d6301b5f0756ee0d72a46809ac73833444a070503f5e3d2c0bca12620e94f63439c767f696045a005f84798ea06e6402f028db68a0622cc87210afbbd09a83b795006e9dbc7f1d0d10e1827370c1182c73a867ff37164e05b6a113faa15fd14c7d99981e9fd81216af2dbd2407ba13a6cc75b017b404ddfa3a78ee543b828978f68d935af5c5d4475a8fd8db6f6000dae1e6a06d6d8fa807e706cf803f8e7c4ce0dfc1ecea98135fa1ea0b7f3bffe20dacbf119a0c1d55e136872b59f0503cf2a7400d5e4d958a05f01d0b5e801ff878a8131ccb781aee0c24057f0b74bd4b1bd06e0496202289e3e17055ad82d1b1808dc1898abaf0c3c34f009a816be5401bdf3fef86a60b4c5e5fb56dad1a981e7a4b5853ede395e19780fe704d0f794def60cf4a625801751068b6895b5aa3e6c348bd9ebf6dd047e14335a43dd9380fe1050a59b960ddcd2eb1a22a51f53404385872aa06fccdcd40c7c1df9d640777208a8c28cc7069eba9908a863077b802accb06a205a1605fac5cf14d03324e3912132e8f0dcc08fda35050a395780faec56db10bbfc3c0a541dde0dbc81f90668147ca9abd537dc9f9e0cdcf33c34f001f24f4344baf7a221f2e3ee0850b52c7f1bf871bd8581458489818f77de1b58a68c3a56774deedd1bf89d8037433d6a61c340c4dd18f84d8ca68147cec853dd581e2ca8637f95ffd7c0b7c2a9a78ab883c5d8c0d39443018fe0bd68177d35a1f000f08183e2f335a037965791d24437db8ac30da06faa9c3d009acebe3f020a7d6fcf06ee782780ead8b066885d2e5e0c7c92aa67882cecd581312deae1d1c0a4e8c9c0b0f8ccc05d2fefa25e6c66882c3cb906f47384b4cac43579980a742d0d03f7c5da06964c4e01d5d37e6ae07713aa063abeb2811b4351d88907bd77c7023db37969a0077a30f070febd819f7b490c3c807968e05d8dbf2de2f22f8a8006029fa981634c0dd48fbf2de82b755045fe672a9d2aff603131f0f3155d03377429ca8ade8d9cb40ddc2af9db8215b473405f6d7aa6e42afad2c0d3ab81d92bd5b2a22fb6bdad04ccb35f94305e412c9ec770b4e13b01cb26a006f45b30d0df6a178d617e8b86a8fc7b57807aa09e0eaa9714e3134c39683031ac0ba81feb47406d6e3634444a0f7e01b597d5b38063ec550d712db391815b8bc7067e17b004a8bd7c8f0d848b07034fa7af0c51a5f6df0c7c4355bb4cf5552f1d544decf6cac0b7a1ea8648fa2031f00317e4875bd451cfc0ef238f0cfc524dcdc042d5d21055eaee04d06b15df9980ab7d2f1978aaa261e0f9d3a68195de9981cf26de017afdf8a502a83b79da37f01ae31340ef315850d8157d13723a3270df54c7a8d3bf8c740c7d77e3f51ed0b7c346af063eb37124e021ac21ada1a237855f5e0d3c2ca883eaddfbd107a0370e3fa33aa41ef5c5ab5d95ed23effc326d19d072fadda981a1e48540cb833a8616cb378f807f59f2cac02e898119f0bb81db82254095fff4dec07da011a0aa3d9e0af4a4dba7214abfcb41b7377ee2a0770252fad934c469afab8648d8556a600c7309e8c5bedbbe21ead85dc7c02f2b5c19989bbe1b78c84667d1ab7f8386818f120d0ddcc2ba3630916819b897d431f0e1bc8a8171323956d1a7b1961303bfe9f768e006c48d81db605706eed02c04d4c2d323405f163c3937c4e58f53031ddfaf40c3c037407dd45490f082d088eae02636ec19f87607ada1a2cfd2bc2a4f53da5c81d6903731ee6747706c7abab27f2f881c1bc42b4495a6bb938b2930627672f56c601da6282093db07807f89f5c110177735324431f412406f1d5d14047a83fbdbc017ca2600ef1415bb0f86a80e83a640bf6e7b6ba079648648d8f189813b010b03df521b19b87118b9de74abbc9f0b38cb77c1c0f4ad6260c1fd0e50ef51d02e1a7ef51b8638c6e5c4c0f8e3cdc07b5a998135c7634324bd4be957f4b197bd57817e32f7c2106739ec1af866e88b813990b65023ec1c1ae8092706ee13ee1b782e984a57d1d3a5c7c70606ce2543ecf2a383d6d9a2f26488faf1fd28a0217f53713d6d1a51b5ff9a980eaa8fbc8d94c9fad0d37461e067aa75507dc26dac92d3a7a00a2a7d7df969a4c2d627dc9eb48bde19c9d8a5aaf1fa4744a9cc2bced312a08f55fea480bec2fbd304f419a78731a0a5ce8709a071e15e454031f4750cf562ef5303bfa4f804b889150c54fea18135b6c8b1cc0de8e65ea0767b678883dede18e2a0073f06de91e81a98efcf0c71b51719a08eeff7c340946a1a78cae4d9c0b3e75f0656e0056a40b3d4c0b3e74503ddeba1817b054b033ff8313044e95f92eb157d1372f564607cfa6ee06505eda2f7e6377fc00ac99d215ae5d78b8127fe5f01755ac71d03b3359d565f7c7c1c1b784feb51c083f54f2da0a1aef1174835afbc37f015aba181833604749edf027d2ceaab69e065c9a1818f101b48d850a066faa40aa34f643ca96cdd4c75160d58879981d7f563ec90554b55eecf9d01e54a5ced77f4d943b7ec420a68a566af0ee81e5fb70aa88b3e6808a841b7d7801af2ef8381dff5d259f485d4f958a0476727807f822b5ad4d04b15ddb2409f4cad1a0806750313aba521aae5354977c777f568207e240686b453a0c22e3f7fc02e130359f862e0f5d2134314e5610fd0c42ade80d80281fea80ba801bd360ccda8c93a8b7e12e43535f0c2d4a1800af3b167603cf601a8457d6482a85283c527a0e7a546234334e48f8a81d33e197870e91b4839c6d3b3816964dfc0e46c08e8d73b1e755af573594b10a3cfc14249573f17eface6a0efc334fa06de8b568ee90318e31f60aa577722280dabd50af7e7a26a8f3c273cbb07349f7bff36c4696fca8056260a91d2916bf2c5c8404dfe03767906f4baedc550c02ead962112f6303530305a0bb8da8b09a0aaddde0314e8cf6e0c8cc7de0c51fae31740b7af59521b5512d5d32f400f71562a02e60db343034be13320d53302770662726288fcf8d269530abbdb05f454c5b069e04bbe7b061ef47b30701fa86ee096efbb80b3bc6b17ad2a1494523d9f9cb501d5c2c22da04a37d241f5d662bcb09d833ee7f0183936f6e2df4f03d0d76f7b024d57aec702aac3699c76ec4a775d33b0aac0593c64b9181b185d4c015598ab27436c713b3070ff253310c73e0c51613a4780ead8e61ca893a7271740a2e71ceb0622cc126868196a0ea806bd4c0d51b68b02a080b2d4d5aae43eaa0262724626abbf2dc6abf639387e6c007dbee02d9ac7dfc3e897514f27ee3dbe4686c88fcf8e212ebfbd0fa8b3f87e31f049cc7b036f81770524ece80cd042f7f2dac0bdb50c5077f23d31f0835229a06fec7e3e09d4592c007d2cfbfb18d042f7f111a027543fda06d6fac6808ae15d973fe26a571303b79f9430ad9ecf7496318b7fdfcfc094c70ae25df3caa45aaaf0ac0229add62bfce443e4e9dfcf01cdcb80bf30f40428ae77a3014d1dc6af8680aaf6f2dd10797af40528d7bfda02faec5e0950ae676f80e2e9ac2350f85c01aafc5f1301d561aa7434a9c9af6b03c3f32320e39da25111506be857013de778553444e9afc702aee5f00ce04b36c59f918177241203b7497767a9963cf37cb902f4edd2f73ec0c7a206f195c41c34493c043c0c7c7d0734b13abd0134da3aaf012a97931f0323a52740df932e9f0a34dad22efacafbd109e0f9be7669eac74b7a0272fdf41ac8b440a463647a75f8c8105b9c1e03433dcfdf35f0cde10ea04c2ee8f2e9810af1c5a57c4a9054a996510c65df8f9add025516cbe715405f797f2c03eaa3fa6360aac5f22b011d4eaf6d88cb3ffa0ed0f874b05803cab1f58580b67f3200320aeabc6488cb6fbd19a2e4565360487ebc2f8111f163ff0350c55d5d1a22a587a7c0a4c293903f0043c962bc05be03568baf0c54a949409eefec5203ca0ab05da05ae1eefdd0407eec626175fb20281f022b01fa7ee1eb15a00fa3bd9f037add762f2eaee21b323f7d0119b4fc0034e6efbc01a9467d1b403f3ed0bd05f460cae1978137c93f0d04c7a5218e715030f01af48180827a110c2997fd774031e8e8071893f4bd270165bb9e18b86ffa0ce843e81fa463db62e26acf801a45f97e04e453ef68d9bbc056adba5ce27b9fd5ede38404b66b404fbaad9b06dadc95811750fb80be60b74c0dcc3cef0d7c052f9a58d5ab4eef9f80ee481caf0085bea30b40bf0a79a85df44b689d17408b2aed4740cdf42033449b6b691795fed1dac043033a8b3a9cf5c01065db7a07d4e12c7a02b54a5dcb98d3febe0a38e8e2dc40957a06f485c3f88e51b55ae5eddac1e214a8d1e67e77e3c2eadfc7905729a0b25d6b0b15e5c7a58162e8012acaaf92810a5301d44ca78701153dc27bf86a88c23efc30c4c51d2d004ddedb4f807e9ea0f56a885d0ee706ee14ad014dac3aef86c88fd6b381c1d5978046387f3430f37c01dcf6678638c6c99e211276303244c23a3a8b3abec399816f531e0b68a6074340639883892176996b1775056de5a9aa54ebd31015b72d98728cced2c0e373fb061e8e5b18782573256038da89785af31a7dbf06e86d8ef82c6f0ef40dc5838d81178432a05ea53ba1d255532a7fd2317050aa83e3587c84b85a7777129f3badd6ffa2d435a09abca91b7874f601504dfebc31f03b783a8b5e416c45c2ea1ea0b55243e4d8c702d052d6d11c505d6f3d028a52ad2703ade1d9401d2b1a28b97740757dbf6988631cad0c91ebc76bc015770c0cd9e2f01b502d6c7d18f82cefc64084b91010a50ea6c058677934b06cfb62e086ae4eabd0d7ed017a34f2e0c910e9387836c4318e5a020df10f00d5f5b3be815d28caaa1e06fb9e0aa8744787801ef57ae2a0dbe144549889819b07e7003179b03801920a23c76320659cfc195d63e2b7f45e2e0155dcf868f70ea896027d3aeded1cd037773a91418957d0a69cc541ba3531c407c98a19a0f95c6b6aa07bfd30705f3d0554713b3303b1f01550906e4f0ddc5df9317013e34d404cde6f001ea07d1be2b4c71b03916e6e88749cfc020ac1ed774075fde4c010bb1cfd1a7867e40fa8417b80aaf6e1da400d3a307077f650405d6f7d01aaeb476d034dfdd710f5f44067d13add690fd0cdfaf69781f6f26de0182a28cd0ad6978688daade82c1207fa9313817ec1706e8872396c016a2f074b03cf5b36013d65f2f16ba09f3b1344df501c54013d063c3f051a6c7145fdc85b148d700464cc5f862b605aa501456b68b8b358350c4c571e00f50daf9780ba829f1849372a7a55b6fd0a6861b7fd06a8161e2e0ce4e93ea0107cd236c416a7a7800602a75d0385fd6da09eee19e8b3755ac5e4939681b1c3cc40857935c4310e7f0c5194dd3ea08adb591998d0cc0c54870f03b5f04b407558faa054ed8f8d21aa6547e950d53e393490d23d439ca5a584a9ae2f4e0d71d059dbc0b544136bb8f2b7fe805f103a36702d0b817a200eead670726a6097b9805d26af0646175c7edebfc416a52f03977f0668c9f553a74dd8a2451dabea19c50fd251abb0a8129f29ae36eafa7ed026c674a97ba0f72ee0d67061e006f71da01ee8832d2afa58c35e59c0a24a7b026845f1f00dd0e0fb70698872393d01b428db3d0754b54fcf0cb1cbd9df167c5246c71893c967034035f9a463a0357c1a7824b12fd06c7e1f50089e3f09a8c98b3fe0536131354ff31a44439e1b68fbe7061af22f502616b6fe8017fb5606e6736301b1f094abadeaf9c23699fc1793d706966d5f0d7cc84707ad72d00115260fd20cadb9da7c9cc3dc94b2dd469008d2874093b154fca241351f06b092d78ab334bd0030db0734ba687d030a7dadb9806b39eb01aa1f871b0365fb06a8b08f751695ed77db10997cf76988847507804affbc6ce03ee18b800c3a8ccb6fba374d7a0606df3f80a2437b61e0a3665d4045d9d913b04ba76d600de518a86a79b009d4b8b8f9a1811b547d201fe546c747b96c070b718c23a049273ebe00a65516ed4f0c51a596d1df660e17b34b03cb50718caca22f62ac13406ff8b767800afbedd5c023bc77808ab2770378061c4d3d73183f3a126889606260687d00b8cdad0d3c3d780c54d8e273cf10f5635001eaecb2d159f4be69fb0768e8c6d0dcc067bea2bd64b51a4decb30f24d5b8b8ef98bd6ebf6ecacbb4378032f9e443a0a78fe3a0dba75dd8e5d6c0dbb5da424fee7c74047a37e105f0342101741fe8e01dd060a2a7b368a8d0bb06d4ab1f1f186297e318c30cdd80ce2e002d449cd605dae2d210e5727804e816e7eb424060ab90415ecc585e013516446653a0c1cac4eb0a48ab343132c8916ea97434b5fed106320efac516b5bcc5c459a2e4b61fdee4ce59b4a8bceaeb57980780dacbfb99211a61f702d098eefd4ba0c83f07540ca7da450da813c17194e73a4fb83f1bb8c5d931b0e07e0528d7bf5f0d7c1bfbd91025b7e45ab6dd56246c0c0ca9ebf505306612f0fd64883a368f7a3af608e52bead8d8f9f17d0728a0bc0c003d83d6fd05f4cec8e118f0ddfb574031a81b25377640b92f02badab70f4031b9de161060e74740022c2f8011f1f427aaf6b8a65e7d13b3a4bc98e83cbfee0c2c11f400d58fef5b40af0ebf3f036a95ef4fc08478da3f01a6d4e40f76d9deb1dcc16d66e093876ba0aaf67200e816c5e73ed0d0b5f481945d1e3b804aff350a6aea6b99b700fd56c94d94dcd42b352b76d92eefeca0f40d8c39e8c10a9868a9b32320d7571194a6b552955f424b8132b570becbd35a69fb3bc491417d4075ecf51cd0eb728f77803e4a349b046c2b4494feaeb0b73fc6a85b9c7780bebbf12c50c5fdbc0628db42f117d0ac71f618a018542ca54046fff2ba04864c13a69c250f4adc19d98d3ff281833e81f07d03e8e26617803e70f0d103f4f982e707401fbf79ba06f46a792c986d5f9ba7c2ccdb4095087359041ab4a8782471077cbde15140e93fec014dad27732ddb5a165d741d98921f9d968072798cc2aed44635dadcae57af551da43fa2b0ab15bd8cbfaa03758a729918b8d3fc0ca8cd7dfe04b8897db5000d04ee2f055c5cac39e690f2f8ed2150d30dddd60150ad46067d5f00d31a63fe28ca5a5e72c48f3303d1b20fe889888f19a05fb8dc8f0a53dbdeb588e8d036103edf80ba4639020d7b2a55405de3fb22408db0f8be9bced6ea158d729ecb807e33f6e630c053e2ca2740175d6c3e031929edd781b1c2564b407b39af000a17a797c094b374af059ce5ec2a206fec8c61da0295cb9e81a63e35501d224f93b27ea36c360870957aed03fe86c825a0fce8640155fd96cdfaca40cb7e0734ecf9fc05866a40fbc084f0d9de005392fe1955aa51d14f6e7f5d034da5b46760707503e826d7f32da0dff33c1f0754f504c0e71b9091f4f93330a4f27fbe022372fd63058cc9d313d2b1edd8223ffa029ac7bc1390b77e9e2e3d031a352667bf405a639413812df56df48f8830a95bd4e71590ea37db4e01fd7cf8cb39a01f71fb8eab4d9d8e721148345064977a52e35b6a918ea697a1ae7b40938abb3c0746e4c7e60d50d5fe5d01aada9785801a77f08a4f57c0b816b08ac096b727c5f57b60a2df188a069455f5d244a727a06cd775408f8b1d3f034afa490950b5ac4460cbb6613a4a2e2a5d56cfea944ba4349f8c686deb23c0cb1d9d2150a7161e8e0c71dacb0b8015e7e2770b183103fe7e07b4e2bc8e9033ccfb53de577f02aac4b14dd710bf3a5c3c04c635965d22b08d3cf5fabe06f4f6d36734c2d1f61ecd0eae2e01e5d8f52130a4e46ed7c04883ef4f60424abfde81a916dca3f4477903e1699728b9513d8fd35b182ca2184689c2f87437a4ade5d194e9ca2c22dd787b4f33fadb6360a440ff62e0c9d0ae808455de012d33ac22e9db617164507500d4e8a29f23c28ceb25eae97b748d938a9e65398cfa31d9de3cdac1411bd04fa1c74f82d426b592fa8667a05ae537b9de8009bde97be4473e6cd61bbab580aa7ed0f22a2e6e3b94e4d72a3e810ab99e4e803115a611fded34bf1622ee2e5ad64b157d1de8e833c0afdd7cbc0263dacbb21650d36cad7a00e8fecbaa0f28c2dc6e800631687e0368b8717f0534098e85dd6a4fbd5cd16fc814ea01557db3fc730d3468403f170135bd42f475002414f6db49404ef1037df18b5bf5eda88f5f56380ef00a492c54ed20925ebb34f0a5c56e806a72317e6aa1beed4c79f133f2b49a5f2d3f67fa08e86a97b14b6dfb205f54ba1290e91b33510cdb2febf1026a1d48c8f5ca1ba0058078e7ac5edf4eaca36c9f8029d772f21cb01dd446b9bc000d52baac06e4630576892d12a7e3e32c20bf1a967f22e98daa86f8d36340dfc87c8f94363c153d4800f5511703a04e2cacd400256cd607c6ecf21535a8915708cec269f31ce105f6ddeca49ee603345ea53e0dd88e51769024c0309a7a219e2ead6f7b31de383c0fa825945cf90c18d778dcf40398d0abaf220b9b49a3ce3b01bb985ccf14720ad912a850fa971f802accfa1c18d5d8a5088cd59023c7b2bcecf87e5054fe61ded3711ff9129850712bcf065ad4aecfae8f9c41d751d8a33c1d743891f45192712d835dc757cfa32531e8e11d608e5c889fbdab8febc37a246c1d45394e4609e1223279e2d670f7016454cbf56e2050dfced519d345ab9ce625c76f2db68021575b6d03632eaeb7db229f89d4e91bdedf8126756c751e90d7647e847a0234eb91d2e35d034aca79fd609efd05a8b02b82692d92de6d06e401344efbf00bd408f4f1225b3e80192b18f402f246c6b27e1ca39af7a7d4b1fd80fca071b5576702eafa1dbbe4718af75f8e803a092b1f038d5ae4e97d01c82b5554fe2c20cf003e13b8ab0e492d4f070f72b5037496427c153087a4166dbf340234e8fdd8ada124792a14832ac08494eeaf03b6913db67812d0011f5e1b580f7a076ae458fd01a85394f1d980641bc7a841511d92ed5358d15e5e81bafa8631909263dfbb16953763cd80ef2f808c2d92d8a5910c89fcb328ecd4fdedcd0f50233fba71b5cdfcb4dc173b001a356e4fee7ac224cb5b0353c0cb80fcf2196ded0155aa434fd0608bef0f43a4b4a42d32068a716f2d8721d5a115a71d6ebbad1dfcde01aab85f9fc0905c6f1e02a39848141b6b413dde498c4f4224c33c57793c2a0a6a54d3f74fcf228346799f1cb5303edb9c078b841ea8b00bd2c9b8a69fbefaf8023262d06f29605b1f76d03907540bbb2b03993c0352aee5f81a182ae9c580a449d88ad74b93499e85b1cb7d0b18d2080782115b543bc0984c6e5c0153a61ab36862936d148aaa1d253775c2ee2e8029496fef7ab146c9857d740334a321177bbfc0885d6a23604a3a8ed965bb02b083ec21a091712d47bb114aa39c47297ef06315a070513cbc0154fa87bb6b696c031b6fa61c04788bda1898d6f8046424ac921737e16237546854f3ce20ea47e535601b63e218c7409d1c2b35802675ec38929eb70e862c9b41808ba1df0ac8739d30fe023468c84701c9b643890af31d90a7232a5d7d08a47416775f40932d4ab3803c9b79a07d571d1a8dba7a8fda24601bb7231ddf4093b0557a00f28e3efaa8386d9a5f0b4b26bf8026128771f9e9b6538acb3f03aaa4f4760cd4eb7c00230a2a6d94133e66ba6bfb8d3c156cb13707a634b1bdeb80bc77e0a9ac7d0167b9fe04ea754639674083a22c6b97519dfbeabbe6d1c8f20ac36a603320ef3eb9b17c0954b8b8b33550072ece80619d75edc8f52caf21513fea05a041b97c473a8609bd47f1e611c828864eec3272335d7e03d53aaf984d0c5183923720e5f2ab8740c616b7da6554e7f75e3f80498cb60af1dbd7394c197e9dc731c68982f4e997804ab712a4a4f4ba033429cada0930a418d26940de2e192a1480840c4a4a016929e1d719a2f42779c8e1a99b24c095bf7e098c09e367da62427e3cfc08a2ed178abb3eaa31cd2f8e5f6659012929fd7807861ca3143936cd2308af52ef0e9aa7b34abb3d48819482ba1901a33846a1d80cc8db031f7bd945dcb4ec90f3bb06d47b9c3504a4a35207b89662b91bb08d53b14ba4a3921f94afd07c010d12d63a045245ed293025b07deee60d69f5afd21d034d02eccd149824d15eeaab803c4c47d9d64e0db486355027e9b523206fa8113f76b99ecf9a325af6c70730a2b08f2e8129a7edf403f22e87ce6217b6f272546bd87f004664f2b20b8c49d8fa0b989263c7bba094e69532a254a1580234625bf580898e21987271c963c07675384a6e66e095ff04a82791b0fa08481808b4e3b4f9ec952960bb0ca404c7935a403269f07afa2b3025c05e9c046cbf7819a76d0035b6281f0179671065bb07a40903d6269045ab2c0ca7804e9b91d2263d72218bea90e699cc6d9f4940dee3f2e5b813202fdda80e674083ea70baeb0ad2663e5927042f0564d0ddbb812c7c05742df7d7c09494ae7633be34cba75e2c437d06e44d9d5f9a88969de54d3d925e1f032941a97c0b0c49fadd6e08970ef34900cf8dff00aac9d5c8e4615ed8849c1190501d9229a0cbafdf0179d2a2e4e6c090fea5dc03f2e017bb0c02b6f91e2517bb6c233f5f5c2a1b780e3662d028af96712d371b4059f8700aa424ec7e608884d5a7c088840de26ab7819e7baf3f804affee5ac0e577974042ae0ff60d918eab2fa0c12eb547a0195018be00438e71971a785443bb8cb8dafa041847d20bd921a00a53bf0ac8c32303b438e8b63be1c9ae42405e6158eabc06ea9cf67c1f509e1ede011915b711793ac92348e4696f37524af30e876e2d9edcc9a196f022fd2990502de3a3223928832a29a0665a8fb29de6dd059f5b6f01d506eb52bbaadd2ce5f13412d63f02ea54edd63da072399f00aa0eb52e30043e3f81892accbe817b383d60aaca7f6be087e09e02f2fe94f1fa42d0889456a740b91111b734072a0dc652bb10dc2c3bf41d3d0209c590bc029cb6103fb1d42ce767892cac1e1b220b6b9f80f2b4fe0354396d27929e4f4628cad65d40a23c3de804e4991c977fd10734373d790552527a9b0243e5d83d30a16a2727c09456f91d29adf85a9217a04c9ed67a025d0b49cf2b3f9df80da08bab67408d5c2f0bea0d3e2fbe0b8ecd6d37cf4f917e0053527a1b2557cdcb96b31c00151256df13a826ff02754abf7e0d244037ea474d9d56f176088c691ef71d0107bd6e1b9836c5e5d7f2d306dc6740adc17258e4c7760d9a57bb16806261ffc010d772fd258836574ca24ad57df947f702ce52ee0065723d79066a1ca3d234c42efbd180fe4617dd0c50bbed8d8106c570a62d52b6b8fe0032ba93e23ec00a6b21db8de9f2ee761c6729144780c61f490483c6f623aa712d87408d82fafa02f201475ccbd2c0a29ba0a98eef1cc81a3c25bf1b0834d33c26f31af44380fbdbab0530a2a08e1f0d745a87c084a45f9e025332f926225deae6317f03ea6c71bb34b04c99004983a5df1498a47cf97a17f99bcdbc21f324f523a0e0b89c1bf8ce555498a6abc3fd2140e9178a63a0ce16b56740cda32ed064a43c143478a02cda5c33d35936bba14233cbc32741a90e24348ff31720535ff90928280d46c0b4c18fdb9403b613a73846c7c0dae729d0d0d5f681a622ff892176a9160d91d2bd4303bd58a46398a4e4fafe26a0c194b8781f091be63946b4ac024a47a964e07dc207a09932073a07b20613ef0e3004e25383398c4869e9ddc04d9ddd78bdf937b8baba00a61a05472d1c6d87ce51b62d4019548aca3fdaf69691d2a81f7924a4aeaf225c8c3dbf3d8b4a3776c4fde919f850fec6c04ade15d02093931a90523f923340094b8e0cdc8a7f0586b4ec9b2703bd874eeb0c8a7219e7519957008a40fe17d7b21ba035278d1ad7d2ba012624fd3c7aa089236e770e68ec70dd05aaf4b7371d03abf87b063a9c1690a847ae000dc245ed051835f8767aa4749a68e8b4172537cd7bc208b005414ded650f50c8e9ef0309d561a02d144fef5640aa38b667e06ad706566a0e808c9496a3114eb7c3aba80ebbde232b7960d49f02658eb1fa06540cbf1ba04e06dd3f024d8e71df36f015cd1ea0c87fd700c634c2cdae6cb372a245b7fd3a30045ab7018d21bb9c35812967e9160c9185fd97000f362fce01cd5ef76e041ca3b7365072778086f8a70b01bb5cad0c3c55b104328e916d80211974d503265c4bfd0298d2150c234fcbdbf1561c740ed42897eeaebd64957c40c22fc2260179c9453a8e1f0055a9cb13a04931341640c616376b03ef686e80a1ae7669607cfa052816defe005305c771403e2f60cda00f9481ca0aa8502ddbbbe890553dda3a8dc2aea6daa57d0f5414c6cf80a646b0fbc09063b42e80514ab4dc0063b6386f1bf8ce6624ac9aa7945b36a74085987c16c5506b2883da7780c6c9179f01f9e09bd5d16f206397fea181b5f116a068d9a900e32631b90e4ca2b00bc3e7807ce6c0f2716288785a2d08521e1a680335aea5b71b4c64f53c4fa3bddc7c025572bd730fd4a9853fdf404a3fb7f91050d7970b406dff7a038c394b23caa59e677224bdf62a60b4d5190015a05d016acd7234d316504f196edc00f990358e11ad21f1b47a104d2cd92e88c51655a099d203cd808c92bbfc149063d7af803abefe1e3002ce7f8131c57071044c3946e332a0a9767b20a83020e98c802a5b54cf04b497eb1550e36af78e0cfcb8dea921964ce289aa1cc8a042b16d6041358ab2918c29cabb08c18d867ac283a8850d8f4f2f678648e9f90f3022934bec92972d7779da4025651cf40224ec521b08b8daf2c810bbdc452f960f8a695137918e74bb5217d5e1d8c052f81898502ebfe702ead8d5898175a92b60aaa28c769be6bd295f13ef0234b1e2550ba872da7e0750182f0f8024f2a3307c02527649ca40468edd46066d271254cb3ea0fee5f31b18695a3d33f069bd0f039df8113026e4f456001954281e00d388b8856234c2e676112932e815d0d5d6de80843c7d68034daee520b230cb9b18b7398e80b1c641d180b2ed12515c2d5b38932f8f812a15f7f01ea853b5b31f20a1e46aef4046c955330303b4880e430fbf3e17404adfd01b0143726cd001c8a0623f923ef468eb822df246485172d03ca571d0fb73c08df01e1837f9d4cf6efe926de70d7ca0fe1418d3e64ea680aaf6f20c98b2c5efad21b6b88a5a38ca6310370f96408dcb6f5d0a0828372ba0ceb57c7e012aecbb6f4001f64b90727195b521726c3f0a6aec1eb9750de85a2ede8029bbfc46e51fbbb3e8738cedaa52849c095053b43c03ea5cdcf501901250ae04cd94c177020c5561bac0982d6ea3f26f672791d2dbe89127eec4bf3680eac74d34c2499e749ea89a0255fa86874fa0468e5dff004afadd8b80cb1f788bb89642fc5c540e8906680780667ca537a01973b162356ae1643b648d661a839aa9c3e7e50a1893638388a7db990537c9db404df9d100528aa1b2018629f3ec5f60c4414b4b034f20fe016b9f1780d2511d1ae8f88e813c47223f12604a4a0b71b5d3618d2c3cd8e5d8b0a40580e26f051893f4cf59800757ed5b4031e8680ad488528715439cf67c035050c5872f40ddda606388fa717d0c8ce82ce2d3f1398c29a8da47403eb56286b3cbb161394f29f1231170b53d6da1f672d103122aeee52190b2c5a00d0ca9a7774b034bae4303cf90ac8151935be04fc04403810b4324bd4a3af25ac8ca04e9c86b6a9c656f170b87dbdf7aa2275c030dd2715407528aa1ff1890d75346b057801ae1d5dac087d1384b5e0c7c28ae0d34b8fc9b174314c36a06e8b4a5b28151f03ed0e4a057c7069e1f9b02cad3cbb921f2e3fe16504d2e8f035cfad53e5049797c6e0fa846032a141b403e0d88fcd80d9c87f96485b1c31ac8b390cfd224c0985878fe044cb9daee7780fab942b10a8c3430da07265487fb1230d5ece420603b6f8c3ab68b41c3edb23e6b4a7196ed8486fbea6f806af2aa0bd4085bf72740423a3a7706decfce0075c06b1d43616bb6019a348f9ba540177764889152610538c7767dc3309fbfa817fb0112cd2cde81065bdcce019de5a20d8c487aa90a8c29dbf875db1cd4c41ee2f2eb9906dfd51150a7f46f230bf39ace1687754049ef140334602d5e7d1bb82f760b3462aa513cd3162929bde62cf9b5302019007405c5db1930e2b4ad2b03cf39de089a0c25758c29508ee0986479548ed32e0c04a50e401d2b14b8dabc35f0dcc53e5067da94091272ac3a061a04a5ca1e900277110bf3de56d3d968d90de7e9411454c39d45ff15502dbc5818a80e4f8026ab250e9a8f6023d76f1f8121c1e0a80228045ff581b12add29e0294f1dd068eb225a434335a8506c1958427a06aa4d3af15f4075bd7c2950164e80a4c9ef46760c2c10fd000d76d9c431f2f11a5978177d769a476d3ae0c41015e66209682cd5ae01ea6f7fba80c6a79b4fa049dbfffe05b400b09e011a179638685ec7801540c42d762e809a062407806a50f91168029d2886a6e70d0747404a95daeb024d4aff6a0e684273f365880af33303861a386f8009c5305803532a4cbb6be0de5ab486a6fa97e2d1838063dc8f00cd1beeb585a2c3c3b1805d4a3f802ebff20b6454a9f235306452b489e890a555fa86d51dc048a9d88ff6924f0139cbfe2f9051d73fe7c084ea70fc0a4ca941a7ef06227f54fe2cef6f59887836700bab27200b6fde0dbc81f90d9435b1fa03865fe740454385b6815bf1fb80c6967797405db94e7e6c5795a2ddd6808606131303b76b0529292d5f1978ab35ae368f2fd4b1fe17a080d2895e7dd81c5294ad634061fc706ae0d6c003a091c13c0a6a98e76914e5f58981215cdbc074f61cd098ee6661600ea4835675da19a07a7ab73030f79803792f15f5740d34e94eca3740a61e888bdbcee7a301456bc82f9e0ad3ff0446ea1ba25c46798e5193e780067983270135f9204e3bcaca9c257ea52a872a25b77f616085e40148d8e5fadbc090a50434a885f76320a55c1e0e8121575bda00235a6527e2583e9bd7f43e52ba9d34338dfc1228ae9f00ea704e26069e715e0ba852fbd1ef8f1d716f0e800a75ec7229e06a0f4a00cbc7c59f0ea018747f0fa86c1f8e8011c7388a99561e2c28977674f379b5d598ee0618b1c5610dd02afef92b30213f0e1bc0b449fc88de63e2bade1903658dd8be010583e32a50557ecc014587db3d20214fefb48582e395b7a0031e44d89ae6436bd6c73e008d500613604c06f59f0126dec5aba830d3ed5dade8915b4095fcf8bd30f0ecd7d2c02b773503c1600fd088ed686288d35eea2c49935b7a6b6024d807c61cf47cd72a47a5edc32b91d27740d7725c37f041b25a405e0b230b8f2786b8969f334081be5506aaec723107ea6aa60580a85d6c5f03f9f822a008502d0b05a56342c9fd06e427a5f4fb1f01f9d88149f306c8a80e0fb3803ce9fc7ec31cd04cbcb7002a94cbde1950a5e22e4f01c5d3c3a6802dee4a8046d2bf3a464a80bdef014dca65f6066464d0deb9817b8dafc02863445f06c66a51c7c034a3f7d8758da34aca6cadd81a021a3b5c457e6c3f2aca73066ce1cb3f6a18f872ed0050d59ead018d825767065eea15d4095b9b6320618b7653c041ef4f810609fbbd3430a4d5169a8c5cff1a68845f06de9cd6d5aa17bb7903f23e39aeb626a016eeebb493264f306f80691465217ecb7754d92e55c531aa828c3b787b40b9c9d7c413a0d2e4a726771ddf68bb22c024f11da86a6dbc0ea8edf72686c88fdf5f80f95cf16b61e08ef7978096fd7b0da89e0e56066ae12dd0c878e5ee1548b5a872023455d7af0055dc9b5703af445481bc0b8e0c02f22c8c945efd0ad8a2c8e56f9788a24a45c2f27916c1b133019ac0e0035007fc1517b77d7992ef90fc0009e162f325a04a951e0d514f172d205526af0dcc811201a73db836f04c4d0d1892c99d4b20efe9224a29a579671019444ab74b8801bf4055b13032a89ef76291c97723a0415def451dab7bfe72f161e0ab5e534007fd5a02cae4fd3e506797836320a1cd1d570c512de73f4083a6fe3337448e95b44b83fa71d501341a3f1b1a78eda60834a963fdb5819f8b5a006aeab75f80c674976d431c74af6fe0a37757c084cabfb71b5b8eb637b8593d8fc2cec7165cdce577409ea73c22b102d47b0c5e01b5dbe3c4c0679bc7809ae9de1ad018e67b03688673f60534c9c2cb0e90718ce509a01592afb921f2e3ae6ce051af5341c614f009186bfc7120205a1ea6063e7ff20e4cd8e27a0650b58bad81819ff18ae691cfd59848f4a2116e1755186b970d3c89f00530c42f7eaf01d5b1deb3802d5a27404a61af4f812699bc5e18e26a4b4f063e6db30234ba58e91819f163736460a4d4324406ed5f1be25a368780ea69bb27203aac94f411075d0bc63acbb18161f1a78146a8b34c81fda8eb8d6199826aed568b4779d0e2f207d157a61e9e9f8d010d58cfdf01ad7edd698b86c2c509d0a41836df80863dfb7b066ed91c18a26aaf8f0165d07c03a86a2f8f0d3c62f566a07ff911500bef1e010df1efa6c094d3de451f95e67d545498bb8a81dfd5b815640c9ccb40de9423d7a3b0f346aaa81d57dbf4e5ff2c005ddcdec6c0db6073038f9b8e01c685c5c11250d89abd032aecbbe82b9b1aa1146f3f8032f991b0c576e01311378e916535ced29d006a40fd7743e4c7d50618aaa99f02236af26c0968eeb1e900caf583aa805de2e359f9cc5c03f8d5b18171e111a06bb93f032ac06109c8074f71712990f7c9510be3b4dbc51d0e7a0b280bf762683dccd45e4e0b404ac99d66c090467836051460bb9f028ae1771f186b0beda200db2a1ae80a56c044eb30e7022a5d2be2e9302f6c5615ce0dace33e1bb833c259b63728e32c33409380c33250555d6f0235f59527063e011907fd5b98399b004d607f1f5006cd16803a9c9fa5810c7a34f0fae0a9816f888c812957bb896b196def35477b7911b0c5c3dcc08d324ebbbdc71b95ee0fb8499e0ab8fcb34f03df2e251d792d24aef7811a7d65fbcac0e71c1a067e64b80e28a074a21846f95482f7b363d4377685e97f03ea6fbb2303f5239ac7d8577bb10f9481e511a0d9c9fa0ff804e41aa812a54e5201797afa6ae045d82e50e32c7bbb75a9d1c48f031d45d49eb85c0ece0cb1cb41d7c00f491e006afbfd9581e65100aae47ae70650ae1f698b3a55fb6266202855800607bd5c18f85ae3159002fb4afa70c80ba851c7a6db4720e2f27f0cbc8fdc127096bd3d40e572be32f0c4ff12a8522d97daa24adb9f0bb454b13a32f0b0e081802cdcb4015ded51d9c0a3b3d7400a1c3581d1308ed1dec5c27129af963ce2fd11905f1caf97ce001554f709a870b5973f061e365e01badacd5c4023bcd833f095229dd657db1170b5bd1703c39e8581b75af701cd81beb54542c9b5aa40835d1e1606966df70ddce2d469536a61a70134c9b187a58137862ac098831eef3ae07139efa2f97ad42330253f4e9a018e41676ce10c6a750d84e019a0b1f66a65e0a311bf028e71f1074c0296409d637ccf0dfc64cc50409b3b191918f51d0209d7d26e00caa0f6a56018a1ef380d1895098eeb5d9f3daee47b4406f5df02f2fca09b5f012afdfdb6811bfe1f401dd8ef010930fb04349d9d1b68843f1b03dfeb9b00f9002cae6560885d4ec740c616c74560a85d12c0d5212eae9a0f04e2e2ce015fed7a0da83bf96d1ba80e3d4314d46f0b50d23b4d036f714e0d911f2b9d25a5891d8d0c2cebff0137860e8126853dff0032eac746e91871dadf6873355fedfc2b60fb8c48b4db25a01a745c36b02ab9001a348fc1dc40517e0329c758cc0cd4a0b5814f951e1822a5836743246caed336c9a0c5dcc0b078dfc05d9e9e80001bef46e690d1ef2f0f0ddc6f581b28b9d4c087c00a06466c2f026ae1b2036844bf3930d03764065eb81c01238eb1df05a6c3c8e4e3a841b57c0cc30c78d79d8ceb5945139ac8e4ba8ba1fb0ea45cfeaa0da8c2ccbe0dd1d4675f0606353f06be757368605cf8778ca8fcfdb98008d3f31634c2c502c83457ef1828868d81b25d19f822a8123624c7da17061e183a37b094b5074cb445146592877156267e808c5a78be1428c24c0dfc467b11508459b7809186c56d43a463b33490855f02d520ed32a65c16bf066e3f95800999dcea0353c2f825bb8cf2ee330e1ad0f0c5eded0bb896f91c18d22a8f330117773e33f0adce16a08b5b770c44989981a0b4364451fefc1a18180d0d7c4cfd0718b3c57a63e06e42e4476394078c289728dbd45d417f69e0f39ebfc050853d17500cab0da075ba9f3d035f353f127096de9b810fc30f0d91418b1f60427eac7f0dacafff011f32de3730e5d1415593fb3303f72c4e8129701e8d30cde3076f8444d86a3a3fce042adb930c50d24f9f0d2c97b6005dcb6265a0a00e8029b0df11504f1791c9cd5189a2fcf911502dcf9e0c74389f06aa947629d31a2e360656475f818a20826396b7390679af0626deda623c8c72f93d0626dae5d9c01def8581cfaf3d1ae218bd2f600aac2283b2ff6de7cc965c65962c7ddf8fd171ff99e6c1fa4ab384241068d61d20a17946a359bd7bbb93f99fb62aabec1738b577980c2108c257b82f5fe140ea1ddc1f5b2affdaf1fbb7f5ff3922fd1b0deff73f3b7e27aae6fceec804bf6aeb47f406fa6acacf641f7e772c7fb3477ffbbb230a7e9cbfbbf9d78edfa7e57ec23490abfcdeafacfceec8fcc352d5df1dd9df89f2aebf3b72bfe3a80d7e7714c39ff0e8ff801cfeeb2a8f9f4e4399cadfdcf0fadd91feedf4f5cf11995f3f7d557f77e47e77546affdaf15be7ffb176299dfe3e3212ffeef807a0aff5bb23fb7bcab3fabbe39f4eed1f2db592537e6be33f4e1785b95f5b2a8ddf1dabf0b7e09ea4c6552a0cc3dfa568121eab742806ff1cd1fed9b194637487fbb34a8ad2abf0d77c93201645d1f267e6dcd8fcee907f3f3bf8376fff42c1fc1bb7ff41e1bf43c177e3c08d43375ebaf1ca8d23375ebbf1c68db76ebc73e3bd1b1fdcf8e8c627373ebbf1c58daf6e7c73e3bb1bc76efc70e3a71bbfdcf8edc61f37feba7145c2d38d6b6e5c77e3861b37ddb8e5c66d37eeb8b1e5c65d37eeb971df8d6d3776dc78e0c6ae1b7b6e3c74e3911b8fdd78e2c653379e256deec60b374eb971da8d336e9c4d36726e9c77e3821b17ddb8e4c6650c1883f1310126c42c312b4c84596336982d6687d9630e9823e6f4dfa38039632e982be686b96362cc03f3c4bc306fcc07f3c55430554c0d53c734304d4c0bd3c6743016a68be961fa181be30827615c8c8719624698316682996266983966814961d2980c268bc961f29802a6882961caf8e01b7c1f3fc00ff197f8ab7f5a84bfc6dfe06ff177f87bfc03fe11ff847fc6bfe05ff16ff877fc18ff81ffc47fe1bff13ff85ffc0a7ef50f14fc1a7e1dbf81df5414fc167e1bbf836fa9fd7e17bfa728f87d7c1bdfc11fe0bbf81efe107f843fc69fe04ff167f873fc057e0a3f8d9fc1cfe2e7f0f3f805fc227e09bf4c008121f0090282906049b0228808d6041b822dc18e604f702038129c08ce3afae0427025b811dc0962052278103c095e046f820fc197400eab12d408ea0a41d0206812b408da041d028ba04bd0fb0385a04f60133804039df9c025f0088604238231c184604a302398132c08520469820c419620479027281014094a046542080da14f181086844bc2156144b826dc106e0977847bc203e191f0447826bc105e096f8477c298f041f8247c11be093f845fc20a6195b04658276c1036095b846dc20ea145d825ec11f6096d428770a07084aeda1f7a8443c211e198704238259c11ceff40215c10a608d38419c22c612e890219449eb04058242c119659c2d2b0f459062c43964bb57cb96219b15cb3dcb0dcb2dcb1dcb33cb03cb23cb13cb3bcb0bcb2bcb1bcb38c593e583e59be58be597e587e5956585659d658d65936583659b658b65976585a2cbb2c7b2cfb2c6d968e7c157650149603962e4b8fe590e588e598e584e594e58ce59ce582658a659a65465d609955e75ae658e65916fe4061596429f69459c1cab0f275fe578186c32a64b564b5d2585845acd6ac36acb64a3f32ffab1dab3dab03ab23ab13ab33ab0bab2bab1bab3bab98d583d593d58bd59bd58795745861556555635567d560d564d562d566d56165b1eab2eaa9274bfcaffaace4a20eab012b9795c76ac86ac46acc4a86376535633567b560956295d6685a65586559e558e5591592afc5644f895599082243e4ff8142141085444b9db46845142904d15ae9405c4018512c8f361a08d1561d21da292f447ba283124a74243a119d892e44d2c38de84e14133d889e442fa237d187e84b5421aa12d588e4ac065193a845d426ea1059445de542315ee97049d423ea13d9440ed18048aee8110d89464463a209d194684634275a10a588647819a22c518e284f54202a129588caac616d58fb8ac23af8038575c87ac97ac53a62bd5608c417242ee473bd513a586f59ef1408c90eeb3deb03eb23eb13eb33eb8b7af8facafac6faae81b78e593f58cbce17eb37eb0feb2feb8abae8bacabac6bace5afa69b26eb16eb3eeb0b674c2d75dd6bd0405194f9fb5cdda613d487c41365c0565edb11eb21eb11eb396e14d59cb1565840bd6d27f9a75867596758e755e13cdba907c1659975897d9c0e60fbdc0c66713b009d92cd9ac34236e22f50889086184cd5a23423c424861b361b365b363b36773607354dede9cd89cd95cd8c8f64d3949f87c736713b379b079b279b179b3f9b0f9b2a9b091fe6b6cea6c1a6c9a6c5a6cda6c3a9a1a85cf37169baee6c84d4fe75fcd1eb0e9b3b1d9386c64db65e329349b219b119b319b099b299b199b399b059b149b349b8cdabfc9aa5b49a06d726cf26c0ac2267fa1506423d696d9c2d668146c7db68172c43664bb649ba0b08dd8aed96ed86ed9eed8eed91ed81ed99ed89ed95ed85e75e6b737b677b631db07db27db17db375bd9ff655b615b652b5dd5d936d836d9b6d8b6d976d85a6cbb6c7bea0eea113db67db6365b47e1d80ed417b6d23cb643b6238d88ed98ad7c4ed9ced8ce1585ed826d8a6d3a3926a3f3a1bac3280adb2cdb1cdb3cdbbfd8715b645b625b66073bc3ce6717b00b3529882fec96ec56babd8bd8ad35a4771b765b763b767b760776477627766776177657763776777671d21eec9e1ac0bb17bb37bb0fbb2fbb0abb2abb1a3be9aa91444d4f51102fd8353522c4ec5d8b5d9b5de7f753e0109a1088e573278775d9c9469f9dcdce613760e7b2f3d80dd98dd88dd94dd4b9445ceca61a14c2bbbb19bb39bb05bbd41f28ecd2aaed761976597639d59ebbbcb65f140aec8aec64a3ac24b787bd61efb30fd887ec97ec574afefb88fd9afd86fd96fd8efd9efd81fd91fd89fd99fd85fd95fd8dfd9d7dccfec1fec9fec5fecd5efa94d32becabec6beceb0ac1bec1bec9bea5b84853e39bea08fb36fb0e7b8b7d977d8f7d9fbdcdde613f60efb2970386ec47ecc7bfa25322629d10cd7ea291bb9fb29ffd81c27ece7ec13ec53ecd3ea359609f659f53b1b8cfb32fb02fb22fb12f738083e1e073083884ea0e87a572fe61c521e2b056c23b6c386c39c84f7b0e070e470e270e670e170e570e370e774d2b8798c383c393c38bc39bc34733dfe1cba1c2a1ca41faac6bfbb1ffd050a710d610140ef255ae221b1d0e16872e871e873e075b83e2e070187070350ac4fe83a7be70187218711873987098fea59a64d072fe9cc382438a435ad5c121c321cb21977ce639485f450e250e658e68601f0d479f63c031e4b8e4b8e218715c73dc70dc72dc71dc733c703c723c713c73bc70bc72bc71bc738c393e383e39be38be397e54ea1dbf1c2b1cab1c6b1ca5ff861a7f4c1c41184110512ddce2d852052d7ae1d8e6d8e16871ec72ec71ec73b4393a1c071c5d8e9eae3b0488e390e388e398e384a39cf5972f1ce71c171c531cd31c331cb3494680638e639e6381639163896399139c0c279f53c029e4b4e4b4e214715a73da70da72da71da733a703a723a713a73ba70ba72ba71ba738a393d383d39bd38bd397d387d3955385539d538d5554a9d1a9c9a9c5a09293455449cdaca1ab2a12b889646c4499ac5497eea71ea73b239399c069c5c4e1ea721a711a731a709a729a719a739a705a714a7f4df289c329cb29c729cf29c0a9c8a9c4aaa9a4e65552067381bce3ee78073c879c979c539e2bce6bce1bce5bce3bce77ce07ce47ce27ce67ce17ce57ce37ce71c737e707e727e717e73fe70fe72ae70ae72ae71ae736e706e726e716e73ee70b6387739f794057ecd6e6bfbf92adc7996667376380f38bb9c3dce43ce23ce63cd97a21ace13ce53ce33ce73ce0bceb227cd39c339cb59ccc9ff81c2b9c0b9c8b9c4b9cc05d58517c3c5e7126882b8845ce473c525e2b2e6b2e1b255efbdecb8ecb91cb81cb99cb89cb95cb85cb9dcb8dcb9c45c1e5c9e5c5e5cde5c3e5ce4940a972a971a973a9706972697169736970e178b4b974b8f4b9f8bcdc5d15838261c291944032159204afab80cb8c8083d2e432e232e632e132e532e332e732e0b2e292e692e192e592e3945e192e752e0524c5ae90f142e65ae70355c7d5d208a234852b8065c43ae4bae2ba546218e6bc475cd75c375cb75c775cff5c0f5c8f5c4f5ccf5c2f5caf5c6f5ce35e6fae0fae4fae2fae6fae1fae55ae15ae55ae35ae7dae0dae4da4a3a6c73ed70b5b87635b35e7b5cfb5ced4441b82a93242eae8eba834832d151d70485ab348feb90eb88eb98eb84eb94eb4cd3c475ce75c135c535cd35c335cb35c735cfb5a0aae94f5fb816751d2111712d694408355ecbdce066b8f9dc026e21b725b715b748795e16a0b735b70db72db71db73db703b723b713b733b70bb72bb71bb73bb798db83db93db8bdb9bdb87db975b855b955b8d5b9d5b835b935b8b5b9b5b879bc5adcbadc7adaff9526b244fe54821058908217c114b1211be5cdae6e6701b7073951a6e1eb721b711b771f239e136e536e336e7b6e026034e73cb70cb72cbfd81c22dcfadc0adc8adc4adac0afa0e77c3dde71ea8d9f790fb92fb8a7bc47dcd7dc37dcb7dc77dcffdc0fdc8fdc4fdccfdc25d0ebe71bf738fb93fb83fb9bfb8bfb97fb87fb957b84be735ee75ee0dee4dee2dee6dee1dee16f72ef71ef73e779bbbc37da0da799d6407890b710d51eb7797bbc77dc87dc47dcc7dc27dca7dc67dce7dc13dc53dcd3dc33dcb3dc73dcfbda039e25ee45ee25e5677f87f75c6ff82824a8612b14f1ca85e8843e225f18a38526a88d7c41be22df18e784f7c203e129f88cfc417e22bf18df84e1c133f889fc42fe237f187f84b5c21ae12d7d41de23a7183b849dc226e1377882de22e718fb84f6c133bc4036297d8231e266b275b13c78f70f841211e118f75a11d4f88a7c433e239f18238459c2696c1678973c4796231b8482c769579c0c3f0f079043cc23f50782415a187b4482b488f358f0d8f2d8f1d8f3d8f038f238f138f338f0b8f2b8f1b8f3b8f98c783c793c78bc79bc787c79747854795478d479d47834793478b479b478787c5a3cba3c7a3cfc3e6e128ac8f010f9787c763c863c463cc63c263ca63c663ce63a162e9f0a32393da992fd74df148f3c8f090a1e678e47914781495111e25a5c647592178a2283c8d169a9e3ecf8067c873f9372f3c573c239e6b9e1b9e5b9e3b9e7bf585e74123e279e479d2c2d1f3ccf3c2f3caf3c6f3ce33e6f9e0f9e4f9e2f9e6f9e1f9e559e159e559e359e7d9e0d9e4d9e2d9e6d9e169f1ecf2ecf1ecf3b4793a3c073c5d9e1ecf21cf114f19ee84e794e78ce79ce7425190b890eca8112107a7746e9e695d443c333cb33c733cf33c0b9a26443b3ec5ec12cf32af048297f92db7adb2bc7c5e81bac3eb2f5f782d79ad78458ac26bcd4b3eb7bc76bcf60afcebc0ebc8ebc4ebccebc2ebcaebc6ebce2be6f5e0f5e4f5e2f5e6f5e1f5e555e155e555e355e7d5e0d554b27cb578b579757859bcbabc7abcfabc6c5e0eaf012f9797c76bc86bc46bcc6bc26bca6bc66bce6ba122e29552145e69cdf61211af8c2eae5e62588e575e23e255e02536977895f5f38dbac0db68e9595078fbbc03dea1a220aae9bdfccb1722de2bde090aefb516542410de1b25c8f796f74e6b2a6fd973e02d1b27de67de17de57de37de77de31ef07ef27ef17ef37ef0fefaf02f1aef0aef2968d3aef06ef26ef16ef36ef0e6f8b7797778f779fb7cddbe13de0edf2f6780f79cbd0c7bc27bca73aff87444a0bb1bd67bce7bc178ac23bc55b4ccaf0ce2a3bbe73bcf3aa1adf7258917749cbf9925cc56c5950becb7ce063f8f87cfeaa357d423e4b3e2b3e119fb566cacf86cf96cf8ecf9ecf81cf91cf89cf99cf85cf95cf8dcf9d4fcce7c1e7c9e7a5107cdeea119f0f9f2f9f0a9f2a9f1a9f3a9f069f269f169f369f0e1f8b4f974f8f4f9f8f5cc8e133e0e3f2f1f80cf98cf88cf94cf84cf9ccf8ccf92cd4ff850e3f293e693e193e592d3d7d727cf27c0a7c8a7c4a7cca7ce16bf8fa7c03bea13abfaccabe4bbe2bbe11df35df0ddf2ddfdd1f287cf77c0f7c8f7c4f7ccf7c2f7caf7c6f8a82b0d1575accf7c1f7c9f7c5f7cdf7c3f7cbb7c2572e53e35be7dbe0dbe4dbe2dbe6dbe16bf1edf2edf1edf3b5f93a7c077c5dbe1edf21df11df31df09df29df19df39df05df14df34df0cdf2cdf1cdf3cdf02dfa2166065f297727a49ab6c5a56906ecb5a68a940c56801aee25309544448b044632a2195a596ea2b2b5d71c8fe4aa442abb2d6fdabbf78a122c76da9eca8eca91cb4d65e395239513953b9fc1252e54ae546e54e25a6f2a0f2a4f2a2f2a6f25177a87ca954a854a9d4a8d4a934a834a9b4a8c8503a542c2a5d2a3d2a7d2a361587ca808aabee50f1a8881962928c7e42654a6546654e6541254545ae9ba192a592a392a752a052a452a252a69a28fdaaa1ea530da886549754577abbac1a696540d6c4b202326baad23654b7547754f7540f7fa0503d523d513d53bd6889bd7aa57aa37a578294d554355677a83ea83ea9bea8bea97ea87e759950ad50ad52ad51ad536d506d526d51957174a85a54bb547b54fb546daa0ed5015519b74775487544754c7542754a7546754e75413545354d3543354b55ae9ba75aa05aa45aa25aa6063543cda716500ba92da9ada845d4d6d436d4b6d476d4f6d40ed48ed44e493b53bb50bb52bb51bb538ba93da83dff40a1f6a2f656bd50fb50fb52ab68c5b556d51c21bc20408847d46ad4ead41ad49ad45ad4dad43ad42c6a5d6a3d6a7d6a363587da809a4bcda336a436a236a636a136a536a336a7b6a096a296a696a196a596a396a756a056a456a256a60e7543dda71e500fa92fa9afa847d4d7d437d4b7d477d4f7d40f091072cc91fa89fa99fa85fa95fa8dfa5d8dafc7d41fd49f6a79fda5c6d7dfd43fd4bfd42b7fa050af52af6944d4ebd41b7ad3212ca94c90a0104750dd7e57b2dccbe59bd45bd4dbd43bd42dea5dea3dea7dea367587fa80ba4bdda33ea43ea23ea63ea13ea53ea33ea7bea09ea29ea69ea19ea59ea39ea75ea05ea45ea25ea6010d43c3a711d008692c69acd4fe46a4f6376463937c95ed1d8d3d8d038d238d93fa42e34ce342e34ae3a693afdb770d61710131be11d378d078d278d178ff8142438efbd2a8d0a8d2a8d1a8d368d068aa7c6eb4543234da0a44a343c3a2d1a5d1a3d1a761d370680c68b8343c1a431a231a631a131a531a331a731a0b1a727a9a46864696468e469e468146914689469926340d4d9f664033a4b9a4b9a219d15cd3dcd0dcd2dcd1dc2b10cd03cd23cd13cd33cd0bcd2bcd1bcd3bcd581da1f950209a4f9a2f9a6f9dffe647b77f50687e6956685669d668d6ff40a1d9a0d9a4d9a2d9d69b8ec240423ccd0e4d8b66f71708e1c8668f669fa64dd3a139a029c77834870a447344734c7342734a7346734e73413345334d3343334b3347334fb340b348b344b34c0b5a86964f2ba015d25ad25ad18a68ad696d686d69ed68ed691d94145a477584d689d699d685d695d68dd69d564ceb41eb49eb45eb4deb43eb4bab42ab4aab46ab4eab91b426ad16ad36ad0e2deb0f145a5d5a3d5a7d5ab6561f5b8e16605b03cd972d57f3a5a0a0025e46e6d11ad21ad11ad39ad09ad29ad1925316b4524a84ad34ad0cad2cad1cad3cad02ad22ad12ad326d681bda3eed8076487b497b453ba2bda6bda1bda5bda3bda77da07da47da27dd6f25cfb42fbaa06b76fca086dd98875bb2d3f3d69bf68bf697f687f6957d417da55da35da756507898876837693768b765b3da2fdff41a16dd1eed2eed1eed3b6f591044996c20ec79cae237e5443dba13da0edd2f6680f698f688f694f684f69cf68cf692f68a768a76967686769e768e76917681769976897e940c7d0f1e90474423a4b3a2b3a119d359d0d9d2d9d1d9d3d9d039d239d139d339d0b9d2b9d1b9d3b9d98ce83ce539d4248a1f3522c3a6f3a1f3a5f4541dc413684203b158540fc4250e854b50947766a74ea8a42a7f1070a9d269d169d361d39c8a2d3558e148fe8f4e8f4e9d84993af033a2e1d8fce90ce88ce98ce84ce94ce8cce9cce824e8a4e9a4e864e964e8e4e9e4e814e914e894e190b2c83e563055821d6126b851561adb136585bac1dd61eeb8075c43a619db12e5857ac1bd61d2bc67a603db15e586fac8f5283f5c5aa6055b16a58756547ab81d5c46aa9470835586dac0e9685d5c5ea61f5b1ec3f50b01cac01968be5a97cb4865a68b3465863ac09d654d38435c39a632d942cac14561a2b8395c5ca61e5b10a5845ac1256992e740d5d9f6e4037a4bba4bba21bd15dd3ddd0ddd2ddd1ddd33dd03dd23dd13dd3bdd0bdd2bdd1bdd38de93ef4e665f749f745f74df743f74bb742b74ab746b74eb741b749578e69d3edd0b5e876d517048b6e8f6e9fae4dd7a13b5077900dc91a8242d7a5ebd11dfe814277a4b7edbb63ba13ba53ba33ba73ba0bba29ba69ba99a4ec2b5d67e9e6b48cd3cdd32dd02dd22dd12dd3839ea1e7d30be885f496f456f4227a6b7a1b7a5b7a3b7a7b7a077a4785a377a277a677a177a577a377a717d37bd07bd27bd17bd3fbd0fbd2abd0abd2ab2510c8d7c4f89eb426bd16bd36bd0e3d8b5e975e8f5e9f9eadaaa9e7282ff606ea08229c04889eab895350e879f486f4467fa0d01b6b2008fdf6262a19aeb267aaf5e8de8cde9cde825e8a5e9a5e865e965e8e5e9e5e815e915e895e993ef40d7d9f7e403fa4bfa4bfa21fd15fd3dfd0dfd2dfd14f50e84b3bd23fd13fd3bfd0bfd2bfd1bfd38fe93fe83fe9bfe8bfe97fe87ff57676bf42bfaa1121f32f28f46bf4e5b3415f7e6ad16f2b16fd0e7d8b7e977e8f7e9fbead4aa1efd01fd077e97bbf2953bca03fa43fa23ffe0385fe448b8efda9ae23fa33fa73fa0bfa29fa69fa19fa59fa39fa79fa05f585be1c59a25fc606db60fbd8017688bdc45e6147d86bec0df6167b87bdc73e601fb14fd867ec0bf615fb867dc78eb11fd84fec17f61bfb83fdc5ae6057b16bd875ec067613bb85dd5614ec0eb6a55e6077b17bd87d6c5bf9c276140b7b80ed627bd843ec918a6b7bac2888a09688b027d853ec99f2c29f1161cfb117d829ec3476063b8b9dc3ce6317b08bd825ec320e3806c7c70970429c25ce0a27c259e36c70b6383b9c3dce01e78873c239e35c70ae38379c3b4eac0b4d2105e781f3d470705e386f9c0fce17a78253c5a9e1d4711a384d9c164e1ba78363e174717a387d1c5b23c27170064973713c650a678833c219e34c70a638339c39ce022785935605250a422050a69073337fa0e064f54e8493c3c9e314708afa389353c229ebb32c03181806bea23008921632583258318818ac19c8315b063b067b06070647062706670617065706370677b57f103378a8b30c9e0c5e0cde0c3e0cbe0c2a0caa0c6a0cea0c1a0c9a0c5a0cda0c3a0c2c065d063d067d06360387c18081cbc06330643062306630517406536d82d160c660ce60c120c520cd20c3209bacb2643c39cd1d83bfea8e838216a025f70c8aca8b8392b6539e411917bd91ed1a5c5f75e4dd53ed2059f39ac10d7043dc25ee0a37c25de36e70b7b83bdc3dee01f7887bc23de35e70afb837dc7bf21cf603f789fbc27de37e70bfb815dc2a6e0db78edbc06de2b670dbb81db5c7b570bbb83ddcbecebf6be33ab8035c37d9f07087b823dc31ee04778a3b4b28a3833bc795d353b862820c388b9bc3fd0b05b7805bc44deed0b9653cf00c9e8f17e085784bbc155e84b74e24838db7c1dbe2edf0f67807bc23de09ef8c77c1bbe2ddf0ee7831de03ef89f7c27be37df0be7815bc2a5e0daf8ed7c06be2b5f0da781d3c0baf8bd7c3ebe3c9251cbc019e8be7e10dd5ff05026f8437c69be04df1667873bc055e4ab1f0d27819bcacb2869753df112a1542f5f27805bc225e09afcc10867f3dd7744ce98272e8330c1886aa9a864b862b8691dead1205315c33dc30dc3294c3f60c0f7ac9e191a1fc7466786178657863786718337c307c327c317c33fc30fc32ac30ac32ac31ac336c306caaac1ab618b61976185a0ce58a3d867d86364347ef620d070c5d861ec321c311c331c309c369d2660ce70c170c530cd30c6524d25b4ec3619857b3954ae4f88212e7b0a87263586258d6a7474730fa0b85538e91cf286014325a325a291c62fc2862b4567790f439da30da32da31da333a303a329203ce8c2e8cae8c6e8cee8c62460f464f462f466f461f5d688fbe8ce4f255463546d24f835193518b519b51875102c1485a8f519f91cdc861346024277a8c866ad268a42c201e311a334ab0105f18499b319a335a304afdea88515a2d97c421596394619455fb7fa4d7486ccc332a302afe81c2a8c4a8cc18c64657d6cf2d639f71a0459771c878c978c5385205355eebf5c61bf54fa1a5b11cb963bc677c607c647c627c667cd1191e5f19df18df19c78c1f8c9f8c5f8cdf8ca5cf2fe30ae32ae31ae33a63e9b0c9b8c5b8cd584eb4187719f718f719dbaa0bc60ee301635751187b4a04e30494f188b1ec91614c5556cafc8f134618cf93acd1533f1250c60b4d1c4210e39462314eff81c238a3d33e4c5ce0b556d5a8286419cb3979c605c645c625bd973f2e33415198184dda139f49c02464b264b26212315933915fb74c764cf64c0e4c8e4c4e4cce4c2e4cae4c6e4cee4c62260f264f262f266f261f265f2615265526352675260d264d262d266d261d2616932e13b9629f89ad404c1ca580c9405583a020a9417c61e232919f864c46c9d892b8d07028291093896231f9eb899ec94c4b2ce20b933913392ec524ad5130c930c92a234c724cf24c0a4c8a9ab726252665a6e8144d0d539f69c03464ba64ba621a315d33dd30dd32dd31dd333d303d323d313d33bd30bd32bd31bd338d993e983e99be98be997e987e9956985699d698d6993634294c9b4c5b4cdb4c3bc9a7c5b4ab8973da53cb4559aa9aac69936439ed6b444c6d2508d5dd6d7513f91420445609534e9d3f50988a3172318fe990e988e9588110f92c11319d3095ae675a8c9dce93cb2c98a6148b699a69866996698e699ea95ca0c8b4c4b4cc0c668699cf2c6016325b325b318b98ad996d986d99ed98ed991d981d999d989d995d985d99dd98dd99c5cc1ecc9ecc5e9a23c57261c4d95b2362f6512f901430fb32ab68bc0810b36a222893f0919db39aba83a458a549eb577acfea091003667fadac67d2514b6fc9ccdaba821220661d6696d2c4accbaca7abc97545158b5c6cd6575f98d91a143387d9400962e632f3980d99c9b93256d9336526439f335b304b314b33cb30cb32cb31cb332b302b32937ecacc616e98fbcc03e621f325f315f388f95a9f7d1214e61be65be63be67be607e6479d6d59628afd321ed18ef313f3b3c6a9a0a001324fa263a81ca129a6a488cc2fea1dba71fdeb9ef54123429c7f7e637e671eeba7310ac7fcc1fcc9fca5ec3a7feb5545934882987f9499e65f4d63f30af32a73194d9d79837993794b2973de66de616e31174b7accfb49b3993bcc07cc5de61ef32173e941ba9a309f329f319f3397b1a698a799673441ce656039e6792508f108f10289f6b9b4a29a2d5e392fe9b24265a5745bd6ac294dc629835ca088c857a109c16e6158fcf54cbca050bdb00858842c962c569a1d17118b358b8dae26175b8560b1d39a873882a834d127727959db2df6ca558b830e77bf65716471d2a77b166716f27965716321978f593c583c59bc58485732be2f8b0a8b2a8b1a8b3a8b060be9adc5a2cda2c3c262d165d163d167612770cf5838cacd8b010b9785a70b6df1023711ceb2d05a0c598cd45344352dc6ca1d62bce0b298281cba91a8ecc55fcfb8090aa29aaa32c4398b058b140bb13cc322cb22a7cb87455e2fb628b028b228b128934a3285a020f393324a60295f47900a4885a496a456a422526b521b525b523b527b52075272cc89d499d485d495d48dd49d544cea41ea49ea45ea4dea43ea4baa42aaaa8e20c23155530e92b593c4b9909c107eaaae760a0b4c132f10c71411916a909291b448b5497574b65256a2a9a7c97e695d527fbd31244931d5d767dcb6557d752a65937248c9b55d529ede984a0d950852239d7f71b0d4384993460355501055939a90922bcd94ba5273520b5229526952195d35a5a4ff1ca93ca902a922a912a93269481bd23ee98074487aa928a457a423d26bd21bd25b4d78e99d46417a9f4803d9795015282b4861447101e17f99def451275f86276b8df4497584d82f82526455faac1bb2be10383464e480cb5ff7290fdad257d237d277d2b11bcff40587f4431fc64ccbc64bbb48bf93e5ca2c59deba2a57641923c952ec1f274a26fd21fd551e4a57485749cbb975d20dd24dd22dd26dd21dd216e92e69194d9fb44dda212d3dbba43dd2d283983d263d212db6cd34e0452088af89644acf75f2c511d20b6544499342fbc211e9948e4ae4633aadb39dcea8abcac0c46c11d7e96c02c79c748e745e9d25fdd733f195486f01a78baa8bd225d2653290317a8737e3930974492be1900993b8182bd388f34b93cb64e498950e543832139159eb46b74e6643664b6647664fe640e648e644e64ce642e64ae646e64e2626f320f324f322f326f321f32523fd54c9d4c8d4950e840b320d65874c535d23d322d3566b655b165a9211c47ef92a1e9ae928046e3237194b9bf8886091e992e9e9e902877044a6ff070ac1411fbacfd8fad44846ae3a20e3eae33c198f8cf43852fb756ddfd360938b65c6499af8aabc173d9799e8aa4efc363355619399291cc24c9939990519e9334d46f0ca92919d79320268914c894c992c640d599f6c403624bb24bb221b915d2733df535fcb6e7423bb25bb23bbd7f9d08d83aa00dd3eeaa7fa4246cb0d62aa582ebc903de97e090d45a1ab482d1207c99eff62c720793de3a30fce445d7d61e1d05044b61db217b257b2b7242f1613079b687c3a8e865cf64e364eb2d79bec83ec93ec8bec5b754ef693ecf992ad68b6cf56c9d6c8d6c936c836c9b6c8ca31d2bf0cab4b568cec93b5c93a64c56c97aca702293b243b5252cc8e559e652764a78aaf6c881cc8ced44ef1f3ec5c03568d97de169a0bb2a9e457393eadde91cde84f12d159e9e4afe71db3d251419ff9f8797c46dff7415f40dcdcf4a1986c5173b5d82fa9581cc1b5355c653525bdabf125f50551b8b2cecd9635658af192de65670e72869caf9a42482417900bc92dc9adc845e4d6e436e4b6e476e4f6e40ee48ee44ee4cee42e6a98067c3fa9a04c3528e46bee4aeea6e227772717abb3e41e3a2aa12a1995c47cee49ee45eead7326939ffb245e6069f0e6be0904d2c95ff7ac85050502997cf93ce7f425b0e09cbccb2a17ab92abe984e4ea9a11b49e3326d7d08810de163d2728e49a9acc64c123c241be0aab4ba40816e29f42a2c3b1964624c5e65ae4dae43ae42c7262402f01a24fce26e7901b9073c979e486ba0496b99d243128068834ca8d940e7372694173aa6b07593ee57eda5c3d426c962395b9268a850884dc825c2a61444b93682ead9518d9cefd5577fc414122e215e81354b9acbeb022deb1b5747f2ea74b7a013b974f56d3232561b14d12b8b87aaea0d32e66cbfce7c45401a5ace8b8961eec65b4469847137eaf45de90f7c907e443f24bf22bf211f935f90df92df91df93df98352dd229186828518635dd4077b0923e68f9a1a443588b3489c8b58101d25eea0bc9055a520b80b794910a94648584c80f8a9c4c8ac085fe6ff7adb3c7fd6474cf3176d62bfa0f0f09526c52f8293da20442d2609105ade982b0a425a626afeaa7a41e5ed5739227f535e949585c4b056c4d249ec4c7526f3775dd5e663f20ff24ff22ff26ff21ff25ff215f255f235f2328606f966a2822649c5d5d10582d355bf9065b29082ac11f282665bf70b5292327f2493125626a94a0eb5693a18aa830885c976be43de52761306cd77ff42a197787e56395236f27dc5226fab239cd27ab24caf5c435090ee44c94a2c684690697414a061828b84c0a4ab69729c148885d88547259885e18447657c62497e40de252fde31242fd08cc94fc84fc9cfc88b7902538a7c5ae73f9f5114c4480907d1ffa211bb3f8b455f95925898cf6a9acce7941dc454997399a745c2237239a5092bc99ab632743e4fbe40bea87393ffebcd80ad4c4e591d419f14f6158202bf28148cceb6f8bc88796f48c15741269f82852cf54653d50b02d3cf0d02519085400f164f91c9115714a22a84ca5be211024af745614941ba8d28ac296c286c29ec28ec291c281c75a9523825f50b27a90b3494080a67ad204838882f08298ea75a7a295c345968d56ba648493a1027151f2c5cd5312522c413654fe1a6fe2b2ea083bfeb5c16e23f50283c283c29bcf415aec25b5346e1a3b8887714be142abf3259729e3bd04ec511246b683a2c292916aa146a5a1a167710fb0bf5dff89ca694b17e062a8b4ea19242834293428b8298d1a120e77629f428f429d84a7bc226e23ea285c5db7fab263dad9d8917885812fba589238817141c85c6b1150b41411751331d9bda3fd3d42014a0ce7bd7542543924f99b3820cefafb74a15054f5fc3111484230a02db48c3447029c8d06536a6bf4ab630d3f89785937c2dcc35358ae562bfc02ffca75580bc52a940205321042eb32ad425095ce64abc43e0282c28a428a429c8b408ca390a027a41794e7c4a664f49fead0e2f460e92db708282b883a0205f0b450a255d44081cf293ec191d9444e689cd6e920ec4fe1f1d2ddb129885b286ad0cbb084543f1af957531d0874b4f16c590e292e28a62a4d014d7143714b7147714f72ae68b0775042d0176291e159de249a3a378a67849ee170d950b0514492582c2cf4415af6a9b30a5ec71e4e01b4519534c512ef1a4f8a2f8a6f8d15306a344264c95f0ecaec6bcdeaaaf6a38489a146ad0228a0ce9ab21238ee024f525bb9f2c10327a75f9541d6d69d84a529326ba7698d68810cf2d5628fef5b738c46c997f45a1a62f6c16eb141b149bfa573f8a2dd5c8c5a4e657eca8532916728ca0d0d3d4287428ae21aaa9d8571e12a92b1b6289ce4f5127ff27ab0b7b156d1d6ed1a138a0289d781487144714c73af9c589de7af3920281caf3b2cef9c4535e2c4e357174df9a20c50b8a8964941c2188084cb2314c5850a647048b182fea469adeb9c8e84e6faeea5bbc40e74c7afbebaf506492e76b8b8be4334531ad8bab628662569d6234a198d325a3f87f31af66170b148b14e5e032259275d48492a1e42b0a4201325d628616d1273aab227e4a81268b52a8889496945694224a6b4a1bf591d296d24e4f94c3c4425184ba8e9e2b5388dcea57552feafd95aa8222c68b23687db1aa28e882baaf932f7320364bd896f63aff85a42a533ae8a7e4b2d251674ef25ae92fbdb06924af275afa670b0485d2599f9a1607295d92764ddca140e996183ca574a714537a507a527a517a53fae83c94125f50522c2abdcf657f45e74a97610d3552c84259134a62704d795ebe4a280910220d24474a5a11fde326fa577e1581384b6ed2a6aa5a50d6e2baff1b14a57a82f24603a7d4d0145e6aeafc4bcc965a0a81ca96b6d2962ecc87dac4174aedbf575325e9c2d2a7a63f594ad2a94c5d5fb1900029d99404c8a48850722989a932a5234a634a32ffb2739610474791ca256b389dedb9c68252e389d242cd28a512359d552c0485144a01421fb2649a2e7ecb84a202273f2aebfd2b9c4a694a3f0ba1b4fa8278472959ce88bfc8294a37b3a4f472fe8dc7524e8d9738954f59bc94f21ac2a542d28a94c4e9ca94ff7a6faa2ccda71c500e292f29af284794d71a29024d59da96f24e557a794ff940f948f944f94cf942f94af946f9aeab492fa52e27b940ebc247f564f155f1859fd0d05a889c182b2242845aa719ebb6f88b78756aacb53cb14d6cfed5bfc9032b82cb4f0a283f54320a28728cc82a3bf111f11d81550015392f6a45ae2e66979feab3a324af955f89e7ca08dfdac4a3ff46e1a35e50feea4b9de208379b72857295728d729d72837293728b729b72475dab6c51ee52ee5196cb489ecf5076280f28bbcac3658ff250872e33561e511eab474c6412260a8a2ecc2794a71a3bf2b53ca33c579756fa18e89a4f8c97e5702929eda8d02827fb172a1f2447885814c9944bee4d6af96cae4256225f02a1bc482048514e6b93f917a728cbd8b23a304973e51ce53ce5bf6a4d62b9a250d4bc502e69c5b15cd6bf8725fffd6df2671c02a37f806869f40f53c8a25898702d7462f46f56ec0c7b452135d3a84b1f0d079c89e1982c876cc329d1f3138d14cd1d639d7699432d048d0ce764c9a43f192e49c92c5917fd1cf953599773059d89abb5bcacf47f55012228fc30882822097e1532c25322756f49f01675b624b5956e465ff98935d30ba3a58ce1f1972f9492a090239eb26df4adab77e21162f3c7e81b2815a3af22d48c3eb1de30fae872cbe893ac1d8325d9c1202be5a741e4cdccd0d73fb524cbf35e5dc96c9adcc5c9253c374d38c24dea343f825f1c418c940cfa5329902353ba9a32d849be3c26ec5051192e9ee50cb543891795e4331591fa50cf40b5404666c8d1e59cb8802780ca44e68c3e7de2e9fea98c736818a9ea2f797fd71dc51d840eda72dad86875591608b22d26cd8ddeca907ed3464b9159a3951359210bea92824b3fe019fde71b1318131ab3346625481a1319b34e9e4daca95f8819ca0e63cded8285d602863adbc3644524ea400e90fc27332c532dcc27a68af3ffe45a95d596a6831f6a10d6d025d358c5b2a020e120032cbbc6c8b26a6dccd6985d4201392585f44702c198bda060ccc198e3dfbef0949f4fc69cd511cc8574d198ab561f5f7b636ec6dc8d898d791823c4b332468e791bf331e66b4cc598aa3135b2b63175631ac6348d6919d3d6d742b305bd8ff47337519ade5c1e24e5908e52baaefc9a7a43c5cb256592737207a594d07e4ac5afd6cb7a6ab0080dd92f40c85a53efcd6fd4fe9f5abb90a2644475f899319d04024b4c155d604c57ddc1f48ce96bc94bb5b94cd81fcfbe1ae3e81b735fb176608c9ce619333446901bf3de193331666a8c5c636eccc21889adb4311963b2c6c8e8051141ba608c0027b151d63fad276ee1fb8282f103e387fa048175d302c10f16e21a32ab32c3b26af8b9cba0b7e1fb7a4b52eb3713d5578e6bfca5f157facc8ac6fc571d473092c019d87ad63079a827bdd3f4ac1420a61e925c90357e64fcb5f13746484d40f1e5988cf1f7c63f18ff68fc3f549386807f36fec5f857f505ff667c99fc8b62e1c7c67f18ff697cd9ff36fec7f85fe3578c5f251b1abf667c2127dff80de3378ddf327edbf81de35bc6ef1abf677cc90275e3dbc677347768dd6da6eaa8289793d0bd1a5facf58c2f171a197f6c7c19c9d4f833e3cf8dbf108563fc94f1d3c6cfe81e61be6152e912fe4bcb48c4e09cf1f3c62f18bf68fc92f1cbfab70d252e03df04810942132c4db032416482b5093626d89ae08f77e8fe5ddbffa0f09f51f8b76efffb3ffecffffabf5955f19b</data> + </image> + <image name="image7"> + <data format="XPM.GZ" length="95529">789c44bdc7722b418f6e3befa7f8a339ebb8c166f9aac11dc81bca515eba710765e5bda5cecb9f24b13e6ced3d5a51ac744800894466fdeffffce7f268ff3ffff3bffff5f1597fdeb5ff696febf7fffc4ff7f5f434fffffefffff7fffcd77f97f97fc2ff34aea2ff24fffdfffcd77f8f6f7effd3fe673459fe2dc1f6cc41b404f7a5837809eeae1cd83b36361c140b30fbbc0644f6d2d967eec05e7afbecc05e7a7fe8c05efa70ec205d822a75902f41b70f8855cab9032ba5be7160a5bc270eac94bb0b07564add38c896e0f9d1c1b271e3661d90d063f5ad032b76b4ea801edb7760c5d69d032bf666eac08afdcb1c586b6bd523a5d8d199032bb6f9f784153b6a1d506cefc08a1dcd1c58b10fa70eacd8fb7f4f944b30fb73d05bb112878c8a358d0324e8c88155acfd7060151b8d1d58c5bada01153b7360c3d08d00b98abd74407fec39a03f1e1d242630950386e1df4facf9930b078cbefab4a0d876d501c5d60e28f6c101ad2d1d58b1f74f0eacb5ed9d03abc7e8df13360ca7370e2a7b87e64b49c5860f070cc3c881556ce81c58c59a730756b1c33f07568fcd4b07d61f675f0eea25787b07541a976b07568ff6c18115fbfce100b1cc1c30fa170eacd8ef37404d5bb27f00091a1cd83bfacc416360452062e47e008daafeeb00c17d76602ffdd13b5a7e72b3edc05eda6f38b077dcbe3ab09ab6b903ebe48b7fefb0d61edf3bb039f726c1ed28f6ead2416b2f7510d913c70f0eaceadf1a979e773c660eaceac7fb0e067b42537d90ac970eeca5a37b0756f5d1b383a5e08eeada810dc3e1dc4167c51e38b062ff18ca604dac94eed6819532db1360289fe9a048f6a5993b40d1af38b0775cee3bb062bb99005db882728c645f4eef05226636362a4a78c74c2f4d22abc70716284a99b7ef0c54246df98eac4768a9f123332a92ba78403ea20a8189514a5113997c5c3150511b99387cd0a751cf4f9e2307568f6bf5581f5b3d3ed4fc819ffca18362b90a5748501cc54ce41820e379674a2972efe261d58195d29d39b00e7add76c04b2f1d58f35ff71c601aa7007737ce1c6091bf1c58294f730798826307c8c7b7036b4bfde3c08a6df601ee7f5c39a0d81307566c7de0008b3c38a0d8d68115fb3a7560c5b6b700f91fa30d0791d5e3d2416c2072809cce1d50eccc0153ac7560c5aefc7ba9cd979d73073691db17807b285b0ea8d8c401a6b17140c5fe1c600a561c58c586cc81556cebdf3bcc34fe6918e490d46b0e1897750768872707d4a37360f5b83b7780a67b77c0f4c81da0b5330756b1e602200f6574ed80818a1d583dfadc81d5e369e400b1fc05c821f9fa072865cf01fe7ae2005bb9e6c05efad139b0c63dfe39b0b60c830353399f9275b91bcd960384bf7060f578e91d583d867fc0eaf1b4ef009fbf73609dfc70eec0f4d8fea7037348ee6b80fc8f7ad381552cbe7460f578691d58b143eac04a194e1c58297349504de36e5f1ca436b68503466ed78195921c3bc0c7d5e837d296db0e9840570eacd88fc8018afecd818ddc71e1c06cc3e33d401ecadf8d037be9f7bb03d4c5aa031cd63f07d64137eb0e4c3b8c24da9d9ccdc141661d543ab09a7e340eeca5a7770ecc5538fb76605258abb53d5d78b3e1c0de71f40ff0134d42b92c47eb0ecc88a79a1e03667e8d7744326b375b0eac0b8f4b07bc63550047a04605473227c3bd036bfee8c88175e16cdd8155fd68d3819532429223198bba74608dcb3b0736fa477f0254ec4df5906d28de0470aeae4b0726fc2d631b4905dfa2e82329c773553d8bac1eab58c248ba70762540271f1f3ac0e757c5a4a5ea3f0736b6e71a972232b0820a8e4a2a76792c10197864f4234dc237e65ca4f9d27f3ab01e1ba19422b9c56ff447f003ac3f3e18b938073c23eb89fcd339354d34b61f870ef0b5ad1eb1bb4eb7d70eec1d5f7f0e6ce4ba5307ccdb470718cf2920d2ea757080d67e75602ffd5a73803f76e580b99f0062d9fd6f07d8fd5307a8ad1f07d8db5f07d8fd6307564af3e10053700250d8a539724029a70ef0a4cf1c50caae033ae8d801dec5860393c2f7312095d79739c0885f38b062875d0738f033074cd327805c96d1b6031a77e380c6ed38409f3e3b20aa503960a0ee1dd0858d039b2fb7aa87822ab78f0e58bc670eac1ebf130718be3b07ac6f3f1d583d8ea60e882abc39b04e7e5c7160153bfc07302711405ece3076c03afbc18155eca97660155b7f7460157b6b1c50b15f0736911f5b80a22c6f9903d6fb2f0eac1e2f3b0e90c22f070cd4d801cef78d038cb8645d41956ecf011eecd481bdf47770804fd73ab097aeab83144359691d1022787660e392ae3bb06178d907c84379fe7280077be4c05efa7eebc05e7a77e2c034eec9a5031bfda70380bc8b3e7560e3b23f7760a6b1ff7360fab411e8b47cdb7560f5b83d7760f5787e7560c5de1d3940af7f3a30db707aeb0013fdef09abc78546aec314fc6abe28ec727be9c0eab17aeec0eab1bee1c0ead1e909add5b37707e6297d52acc7509a8903fbc947e6c0fae3e9d001fd81058a640abac881bd74e5cc81bdf43b7560efe87a072641eb5b0eaca647ff80f5d8d19a003d369b3a30c1fd46d623598fcf7507568f932b01b95fc86930c9c42d19ec483a399d0b10306b550f69cb51e2c0063b5127673846cf0540cab17d74604f9cfd08e0e53c970069a9c7ca817550a73ed5447ed34b6b2ad65d39b04e2e304951433ce88db91fb58ccb85065be19f026d190d11c5a20c8295b7976673017ed2a3c663f996c3ab031bca099a2ece6216cd342ed67265a062718783f647e31259e4677a3df1b0ad8d4be29ed2fccf012bbed8818dfef39d031b97d53307d6eb7fa90344fbc201a2fdefa52c35be0072ae6e5b07d463e400293c76403ce8c881d5e36bee8090daa503e241aaa9dcaf7ac301c5d60ef01d460e70bfa60e90f577806f72ad3ba0d7371cf0d2350784d44e1ce0f6cc1d5829ebdb0e6c368c0a800244ed8a03ccc9bf27eca5f35f07ec151c39b071f9bb07c8b9eaf71cd0964d0756eccfaa033aa876403c68e6c08addba7560e3f270e280ad23098cef58ad38202072ebc04ab9bd7040d4a97760a53c6d3bb0525afd448ed1ce8e031c922d0756ec7dec80d1ff7160a5ccb71d58295fea207939cf670ef0b6c60eec275ba903d30e377a873c94c7b903a6d8ab037bc7ebaf03d30e1b19a0a6b56fdf0ee8f5ca0151383da118cafb9d032224d70e4cf5dd3f03e47facef3a30c1ed9f1c9872dcd350ca55186e0422dce22b8096915b125cedae74990384ffd5014ae9dc01bed49903ab47f9ef27d696734dd3014b78670a367133ff4e4d8301b6819a6d0b48e3528a8208232c6100d8ca033a39ac67adea6f2f00cddb1fe69c8708e263818870184a299846bc3e7a3d5210b2291cd0c9ccecb0de2726cdb8045b696df9d43b642b3fa70e78c7a500adfda30b23d9a85c3d266bfa892e8c140edbfb12c0787e31a3a28e5e3fae1c58b1512b10b39a67de463ddb4f87df0ed8283b766012748c520a36db1c92d3070784a1687e30c9d6b874ea00fb82f0c70aebaf340ed85aa462b13200920b01de11950099f9c19ccd24691187017d9ac654ec069b9d16b1f5c7ad159bba551f660e90c23707e8a01b0758d357072c68120756b19b6f806cf668e200a7e6df13d8ec130768ba7f4f60b3d71de019fc0064a2fb7d0756cacd9b032ba5fff713568da70eeca52f1140267a2b77409069eec05ebaf9ecc05eba953940f3ab0bb587d36d3960a179e800a55439208a7f0490bdfdda7440a8e2de81fda42f1d101079716053fd2d062810f1fe0f1088b87180cdde7480c6bd7660adbd1d39b0625f761d60e72441329ef595037bc77de68075e58903b2a152802ce1da27408bf7db7b070cc39b039cbc7307f68efed9817550ab9a2a90b979eec07e32bc3bb09f7c6d38305df821b1d46afebe7140a8a27380b775e08018ecaa03d30ef72d409b07ddc481bde3a573c0e6c1ae03d341471f02a8cf467daafdecd71f07ac5ef71cb0c0d37c91f16cfe01b4d4ad00a51cfc3820a06aee57ea8be6fd2f07189c02a0e5ec7524c04b9f9851c1785ac5d6371d10e7df11e027b7884358ac5a07b51307f693f7c101367b5780aa3ffd01527ef2f6e6c07e926c0b50ecd1aa03564953801ce7b7ce017b272b02380217fb0eacb50df32522b4376263287533ff8792f6b07eb72e409ec12dba309879b31e792d1059e31a7461a40dbb7b66a5c7f947170e6ca00a9481e74cd41a06d9ec936b07f69367952229fc8b1d58b1c72a5626fa4bbd3e6828b71d58071dab71434cce04f5881532799e38b09a76470274611c0bd063d19d03742152e86bf5df6b0756d3c2013f49502871027843d6e3820eea5e1c60e6af1c10d865dec61ab9612480d77783d18a2b7aac4592630dc32d4217f7f2a411cb58d3f415c59668c76ad7242873dfe1fdc1012bbe0d07e49fae38b052365207e88f55807c87e1cd011eca8b03acc7a1038ce71420cfa0397080117f7640f38f01b2fb3b7b0e30f32f0eac94cd5707ecdf9e396061a5aacbaa17670eb0956307848f77005a34af1d3bb077fcbd39b077ac6d3ac0cce700d9ece70b0756d3edc801f9b8e70eec1deffb002d78ebd40116390168b1baf1e980c6150e487b7d74800bb7ef002d750790117ff873603fd9ff7160f676e5ca81bd63fbdd814dc2a9444a598cf5b3033c94c60133eac7819532df7260a5bc685c14927ffc76400eda08a084c34735aea31edf2f0e4c4bfddd02a4fa5e32076cd69f383047a053e3b458fd6e1c60f8340907963c6b34ce37da3f260e18973507a62eee98d91e606e4e1d60e7f605a43f7a807461ac9f28afafa183fe99d72d019e38fc05c856de20ebc134d2b84b016d70f70e587922fcc1345a8fb535a0e01db702254facee0294dcf2dd39c0415b73d098bd65e4c2fa96f0f113a0616c574f1d589f7ea20b3d5adc460e788259f96f7d2ba095e70be210149d55fd692a80ab705239b0270ebf1c60e69f0458bde6d70eac4fdf29d66d65b72b80484d620736949b0320a671e59e00cbd915555dee57d108288c4d7fc41aeceecd81b5e52315b05e1f110bcee2026b9aa31de28a15708776885be47484f5089690ed5a15dbd3eb03202918db11e6249163f44c3dd2545915d6a7b95bc2e6dd01d6b405c846bd6c3b20b0fb019049ba7c03684db83177609d7c7000902bf93375c00af8cb0193f0ce01bb3c7f00055457af015a9c6dde39404bcd1cb09d7f0290e6af1307f6447deec0baf0e11020bdbeba0650eed7c6970316890f0eeca5f31d80a7698d1cb0bcdf7380f5c81d90b13b7160eee8e60540795b8f9d03d6843f0e6c46456aadb638cf8e1d98e0eeec02b4b0ba5a738029e8019e043e38b097feec3a20272f77607d3a290598a6b34d07241ef04450f4d6da4925c04f8ee60eacf967f46998fad8b93380e7271f38b0d6eeed03a4e84fde04d88f6af50e45bf6eaf1cb05f7924c04fee558a9441de0b6847f3c20119888c6d242fe766c781bde3784f80a9fe51030aeab1a6620b4a39ca1dd83064cf80125dd83109652cc603b2ee3b898deaa1e8e8ea85032ce18f03b64999846e4e9ab1808cc523a0459fdea083229d5ea82b076c4f1e39c0ac4d1c987c3468a948127475ecc09e985d0b604e8e694bb00d0454cf0478e287e6c709462b8e0450e31ffa891c81f250c01a371ad3b838e327d5dc81bd34993828ac712f809c7a547f0eac94abd8818d6d4a07c565cc2a9a61080b2bb65bf4d25acbc82701c6e542efa8631bfd47f458dcd0a7ef087fa2d6d69f0025fa7d32919396629fcdff28dce03c7d39b0d1ff590328a07a7be280d4c81c2093f47cea00352ea015cef631c073aeee005a9dbceb277ef0a20778f0efc101d3f4c8017b8d0700a5037dce1c506ce6005320a0cc9dd77707d6eb895e2a73d21e3aa84da49e010d3fb9a900f2d87afda4933b7ae6803323330784e45f01ca43f97d724036d42f406afccad6d98587c3ceff1c988cbddf3bb049b84727ffcb10b906c81b5fdd04689778e5c0813d9157028865e73f412cb3cc01a9d5fa89d6b7e78f02e8d3ae0028c3fd251540298dce011e86422c5df5ad201f9182a131921cb5f8b8af5b0069bad981036bdcb1dea178d0c58103e61cef8865f8ae630756caf70d403935678f02f2b53f05d030510788515b1c410ceeaaa9ad1147bb8aa0a5ac62f9c881d52341c6828f6b9d9cee39201f574f946898ee12a0fc8fc4416c02f3c1440e3eaebd74ce60070d436cdca4b0740db372e800777413a09049730bf01d89030756cae71ca0fd868777809f041d3bb0b6ac260025fabdbe3a20ac3f7280b6dc0728f0ff7cefc09abf1a01e44ade150e4ce856638082f6eb2b0eac4fb76a07f693e70780e2eb2b5380b2f5eb4b07a437bc38207deecb814dd3d9dc01a9e67b0e964237fb5407f9d1bf5c807a1c5a44a07475714f6b3dbe7e39156002bda700add6f21b07568fe77707361b361018cf5f7f3d70604379b125808679532919ad8d22019eb8a4b5c141b36138564d150cbdfd0094da57ef00958e31be38b0fe284e1d90ee41274732af9daadea1c77e6d8a95714c079d8c1d587f1c7e08d8441e615e17c04a39a4c7829763f5787c03a48a9ecf04d01fd99f03342e621956c0568fa205e4288372df816d0d8c55b18262f7be1de04b7d024a7ca90e918ae58ebe470eac1ed5aa0015fbdc01348a9e4f04f0a5ce371db0e1cf3084a5b9c947ac1e1b126bdcafb99265a270c76424109bd09d2041c144b1bd903860e18d58265a9d3c670079f41fd6a795ebb1d92f402ecbda194007958e270e70f177008a396e8d001e0ffa066807ef64e680dd951ea015df903b30f9d8b2c655be38bbbf0728ec72f30990999fa700796cb9dea10c91a343804cc1d1af037634694ba4d360c757029a40fa4945c5ce771c60e72207e8b199036b5c9e0124740dfd1191ef301a170e5867d70ef061fe3d61835daa1e447b469c5aacdc3398984eae1669aea65018ec30b3ad71859ed0ca22a2629a62e3cb53408101fe3d07d44cd3ab8900c23fa71eb19ccd41c53636f747a31b0736b6d1e08008ab69ba2a99242ceff700296bd3fe1d90d3c97fcf0005bb9e694b50c956ca0bad4d9585f4695abbcab4ebf562aaaff6fd178efdd6bebb72b80af0a8d32740fdd11e01343d5e0e01ca1bbf4f1c90253f756063bbf904e8991e779503a20a2a56d93fbf1140bef6da4c00a15bb77109f564126e7c3b60cbb705c856ee3c03641a373a800277fb0d20e72777a7006dfa5d6c3ab09f9489031b86820e0a738ef8e91a404bd156c5ca4f6e0f04742a4d356d49391b3f0930fa3395d2333df63f1ce09eabd8812790d33ad6e6c1c5a9003fe97e01f4d868bcebc06abace40c509557f7c052840145502189c832f8066e5eb1c902b4f3a11a071832a264f3aba758042514dab988088ea213bd73294c1ced93b2afa23b8d6d61f7f36d5eb444afa2407c4095b250c7652322b876b4087dd7fb9020c547dd7c6b6f1b5fada36407b7cb32f40cd13c79b004f3b4901adce59c4808e75f6ee8603424807809e9f3cbc0264a3a61600687cebe8859ff895105b3b00b92cb37380826edd0aa0d222f146804ece4b07388a170039247787008d4b74e4c07ef2657a2ca857fbc968cc4b63a5cfad5e02121c92a1052811a3980ab0388bc70e38de5103bc711b02b82c3523176c83b5b65a11e01df1c881f57a310134b67c1b8dde002d06274e1c10d86d1cf4d6da6f40cf4bbf19b97840a19ca894413fb12064e3de564e07b973f5f501d01edfcb354031836d9a9f64a88b27c43251f3bb478036b9b6cd836d7d73fa7717a0e04e7defc07a6c473f51e0bfbe00c8b9fa3c00681df5f006d0deebc79e038e77240005dc5728c5a32cab63809f03e6a51ea4de3b11a03f2e36004ad548130756caf60fa0c61474254061dbdb77807237aa1f07d6fc89d9b9361864b4c31a4029ab7b9f80045dc88e661ba7bcf4fc5b00c7e8e8c70127865a8066f6e9a3004f54330011d6d148ef60ed31dede0468f9565c0920da2523279d3c2e8e1d9038dd38b05e3f1368f8c9a79aaf40f7f80bd0b33ac918175f7b744850a2f04fb50e887822a56241af5b6b23c4324950f429cd4f5240ff01c890f5934c202122a05294e4bb828c25ba72e8d94c411b3c3626210395ca1dfd31f9e8dcfdda34dfb28b74b6fa78c38109ee790b8878e2e9c88175e1df0540db3e7bbf028cfef5b5031bcaf5038092e362d5430180bb1707d6417b37805c71cb2b011601dc72d6b963f47e0cd076feb92a56f2d23c06c858e429a0016c6f017ad986ca0119ff3f00b93df7a60cba587711bc0c0eb051e7023a0d7602504677f7099087d23f000a44aa9d0174d47e4800caecca560032166f1380f458ab9acaa72b6dce7561dd40cad907004b381aff0af044853804d166939cb10d4b0d7be9174217f4ba35ff750dd0284384814a5a14caab2d13bab4a6931f4cd177d904e5f8f8084898c83fb6c0ebdd0f3ade05e82cf1690a5048edf00c20358ef1ec3dff746bdd8149d0caad00a2fdb105500edafb01400eebf3d8017ed026403957d31b075c707029a0d5c98b0322f05f00852aeeef0092f5bb7b402563f103f07c4b7326fa5841fbd57d40c9b2296e04e8e4cb1300bec3b8a48382b6b427b6cc56f6891645ddab808dfe889b7dfac5b1347bc7392049d89f8b0029a0a5d844a93cd5062097726418125dd135c402d8b97e07a0387fbfe9800c777a3dac6f4d5b3ed0965491efc704d0e3f37f9be00e1e609e1d39b05979bd0d5086d9d70bc00f4a7f019895b34f1bca41cbc8d9e71340fa7423062456caecf34d20e24a881f07dc9af00b48051a07660a765701f250e23f8034eefde0c02479e7430091fa55c5b47addf875c095879b0079392f394001a23735bfa694692fa065c2b3035ca75d8082b2c98a0393e47dda123c14fb497eecc064ecf21090a1932f0f1c701c7b0ec8b12f6b0c7650b0a8f10e2057e1c0d4f8e07e72c94f3c2a99ee03121ce772e6804b33e9e444994c0323976a97e7690da080d9cb05a043707f1f0138f0e31eb1cc32bc9cb5e5045a1c52d3355f7b0025b73c3c03065dc4f169e09f9cbe3b400a6f01b2fbfd3d80cd83d9e7870002f3ba0f90586e7e0324635b9b001d749c9c032a2ce1e9ba0376df1e010d4f6c6f035a0466e301a088d1f44f803e3d3a066831d2f1442c6f6b3306e80851ff0b904ff74a6b5d82ca16506a27e0cd818d4ba9975636d8a3f19a039cde57801689ad5eaad04db52b6052381ad11f416bb37c7b16904ede30e0825bec0af0c439a31f060e77634d00d1be8a1c90f43c006240fee680bb90f413cd862276604f9c2141c136b0097a05902978453e82e66753e70ed02638ac2f06d28cb1fd3805c8ce7d221fa95ca7f7094013e8911ecb222202b7d43457071dd8e8470aaacc3e7b8092b0ce3b031e51dc9c0338aa32fbfc1240f8d74e1d70edd90dc0157d0bd031930d019df55aa91c90e53a1188385a3e77c0b578fa49aecbc456003a8a70af7a94346ef3de016aab00c8219908c8d79e9e0074be72cfa658e48ef3dd13402731ee9e1db090380024ccb98b7501ecfeea1e8084b299a5d02c002fddda05b8a23f04d47a073555487e7c52025a04265f05745aac36803e218a7f0d1898b7c58b0041fb1ce013e8841ef309f486487950e58d9726aca34623fd244b709dde0139d3342e1db0f0a6c79242cbd96307ec7b248032b11e9baf011af4e9492c90587f9cdd01bac4c6f6c7a65894aab5bbd6c97eebcaec730068be9c583dfedd9872f5eb80a1ec0464810e006ea30e1d70457909d014bbde02e05c8da7a70ec811180968127e03522d455380e21f1fdb0025b7ac740ed819b905c8817fbb14400a930f8036a707555df1a077015dd3331d0430c0d9cc81896514039410927e38b0b1cd06079db5d6443bf6ccf2df1ea00e3a3b14c075bad80168a7f9ecc901e1d277074469a969b08484c3186ccf96db9a0214ec3aff12d006f78d03a4f0013010201a9b250c35d7bc1d0bc812220e6186a1b65a808c564ed57dfd52d01f61ce91c548178629c64169063bf874188b0f01a6d8c11ba04c883bec38b0819a2041499590a5a69736cccaa200b44cc28e7109b693902b43e996f0f70a50e36cbe9b42893375d08b795b71aed8c5a62903bfaa63f6697d9ab8f5b83e70401adf3e20971bf82780fed83d12a01ef10ca0d4fbed0f40a5b9ff0c9039d9da0690bb311ab70eec89780da040f7c5a70072fa5e1b08b26e4f441340a4d9b0054895f6ba02c0b59ed9f50501143c91d1b8e0c27137c39e034af901b480d51d80b638bfb6051886c9b503e6ed93032bb634e72a717372b10a8819dbecd0017ee18a80243905a4188bfc15a030655c0172a647f5e98010f4002805e8e420c96488140ecc68d5aaba7cbab575408b3ebd3f05286baf3c1648d84a43e8d28976f03e0452567c178028e5ca76063bd5403d234169ab334566a243ebe9b117ea91a50cc3d632c814f9450b334b598dfe1d1dbe780028c3fdea0fa05ca79b434029ab9e0194c9f4f60320b77834ee008daeb7d872c05ed22a40a94d6b4f00ed26dcdf3ac0ce6d0394e27d62639bc6133aa85c03284fe9f0d281b5366d00caa48ee8a020fc6ca49e02142f3cd63bb4c2c96e009a1e13535be9e2160d7b62d5012b0b7e120497bbf6e85317cbe811208d5b8f1da04f2b408deb74f0ee00c1ed1d70efa8398aa9abcf7b5a9bc558b1870d408286795d01283dea9171090b60eefd12e83105a5b536f3c866623296f9c18b9343804e9267df02ca75ba7260e2b0bb0690177c75e1806b68738002eea34f0704771207ac9254ac727a5f6201de916e3bb09a5e170e4ce822152b3fe8454f2862f4b423c04bafa700459c5f6a07d6eb3b7a42b3e16a05d003eec68021e2e2891d072c46ccc75d1ca8b30e3aa42d9ecd70f42ec0f4d8ef013a0cb74f0705f78244611aa7f30de3932d803ca5ab0340255f6adf018ee239a06695b4c34085f50b5adb144ae65eced91c10e39e9f7c01a4e9b247012d24e853b70d19150b530c97e50650f0c4154319a618bb091f0eec89e8c601a6f101a095c536721a343f978ad0b84c092177486196312e4f1b808ed67ed1b8b078b72efc314f3af76db08b5b80ae84f8ae014a6a5d7b76c01180538066d4f611405ecead5eaa94d5e618e0e973df0ec822787280033f05c814340f0e58bfac013c23620f20db70973be0d6840ae0cb844600b18caf00ec9b8e775e00da695eb90128812a3971603fd97c74c0f96cfa2326a832fb7c0524ccfd3b5eea491418f1c5391c8e10fd01b4143ddf06f4f84157d423b8f86c0d3c3a206d7e0590229697ab0eb062112003448c4b7059acf9e519400bdef212d06b157defc014fd550618002791030277ad001eca95f963799a52ca8a800288aff447da33d55710dc601c4826a5f9599f90f56b435978b6dcd133c02f46b397167e0168f603d0b81ce80989360bef42b9a3b3cf7b8064fd3875c051953140925c1c0074b63aaa1dd813df13071c115907e848d5d6960372151e1c905f1839600beb1be0fb408503ce68fe03d8b912d003ce4d9f161ecadabd0344b4e57acf01f9eb95036bcbf7254081aabb5b80ec6d62a1acc2f76f9f19b9249283b62d805e3f7c05c853ba5c0348f8ab2f80d4f8e535a0d082f7d90107b6f58466657402908b9fad3b40f813408d5e4f6240c313fbef00e2b8a3d19a0376027a4087cfdfaa146d4fe6df0236a3c697e702cca862db81f9dae30d801612f985404afc03494e2768a96a5340ef983b20fe710348521297685cdad3eb77cc862c2790f9608abec8e53b0cf47aded2a7eb3650ff4ed9bcd5001d8879e3094ff17edd05e4c869d5396039fb09d039adf71e208faddc7560f271de009403dfcc0494507601d0ed408f9702546cbee280048835075c57380168836aed4440c1ae0f80ee849cae38b077ec3e00e4e4bdee0006eab16f6aabf479bbdf02941bb87727c0dab41f031259a05d07ac1af59384054dc2b87810e1e11790e339be5d01b4287afc70c08e0403150c1f7b8d3f800e3fe8948af9a64ebc0d88308dc92d4001e68b6300abf9d1887a24053fc9f605d00ec9b50356c07a426905652dc04f2a3ad927f2c5cc81d5f4e015d0f1c4f4d701a1ce39a007143b022cef6b0426f1e09f9a3ff0930d0bba956944273fad083050d59e804ab915407f9c0d8014edf0643aa8cca5605fce001d2af8d58c45e53902f304a05cdac43aa8f264c1eb1ce0dbe8230736e7ea7d80e6dcef2d401388f5ed02909951033a9d353f07c841bb3a72408f998c55beff92538aa7136e7f0352c4f27257202654d1004a2650bce5c004f7ed03a0f5dcc7d401927c2d80585e537517fec904a058f0afb9e75542246f7c710288d9e39b4d04b07397eb00797df91c20c357e889929fe47f0ef0619e00ee284e1cb0c23906288890d3fc600999408c5c981ec4726e1c601a0707d6daf4c481bd2355b13d4f9cd3eb7236c727df028876695abb4a27bca33a70c06c402c8359b3d13f431cd28cd9d09a35ad3205cb7f2836cb307c35adcde5c37c9b3f562f56fcd61ff70089f6c6074019dded9703ebc2a74f80ae3c3c1d0474c46c0ee89951b54df5da15fdef3340925c6500856d5fbf017a693e13c01bdf34f559273a21b33d0148e88a07402da1bb72c046c808d049e3260eacd8e9930394b45e3ae090d887e0a23a8c1cdba47301462ecb01114f14a9003e0cfb4075aa44e1f4478027ca13408697736fb3b2ce06fcb17bb3fb753ec144ef98696cfc50cde608a05b46d60f013a1bb9b20ad059d19f75802efd7ffb05c865393902281e7475ee80f31e9f009d063b4d00da6dda9b3bb0275e6dd9d4f87197d50d80ce8bbd570e589d5c0312deb1f10790ac5f5f39e09397b500223552b14a90f93c72c0b501ab0eacc74ed70035ef484e013249dbf458d0966498d1a7c177603772cb81096e1a0b1083dda62d2edaddb100727af804487148a25301e6fe05354da41d2eff1c10d87d04d4e8d3780a5080a844827c7ac46f0eec896aea00e53806e0f38fec9b4b4b8073c5b8840944aaf95c006d997f01345faa7d40cc142b4a40c24bef4c19341efaddb0c6b53a5e3ab2ef672f4e6921eba9c958abc0fff8e400a07b26a6b900e2b06e7ddabacd5e190092d38f7340c64f56bf1c1082ae1c588fad4f01b9b27e571c10763904d4315926aa4747dcf270c7010b4d8141b7ae0082d06181de00110a657bee8071b90428e05e7d039400d1cf1d90ec3303e8e0455a0ba071b33d4005484f017247af0a402f8bfc0b9004add86c68539d9ebca4a62e0ee71f801409baf87560a6c0bec41a801c81877d40a7fbc66d56b699b66c1e01854cf4a64961e7b735be9a8c2d92f309559c0294db336c00f425e7ec0ba0e8f9790dd0a704b7ee005a58ad9b52eab4913afe4d0012babbc601d38397faa268bf1340824ef5848eed1d0c805232f600d006f7d9b303e230aa478d1e3b1d01b4917ab0025054e1cdbc9c2e51d07e750b404d47638afd67912d44d07944608d97a63a6791dc0898488d46f498f4c7684c292e1ff939204b3959ff0e28522ecd7c0394e68f8dd8b2e9d28a9fdc508faca4b53da5e415a2fd6abddefb459373d330bd47f2ee37008ab1dd8c013d2b8b874b071cccf900b0d4987d5a8ff57e5674a500e8f6a8951ea0e0f0e53740c673f7de016db901284c797d0b900b57fe027457d6b539bdbdab9cad4380ceae64bf0208cc11f57093544e010da0d24fe4af8fdf1cf0d22dc0c0d8a6e62af4ee6b67db02293bde7a421edbe10b20c624ed3f01240ee714eba37f6b2e6d1fccad95726d608815db7a2d003a16fef4e3c07eb2bb0250e46aed1ba00488dd478066e5e603a09277a19fb42cdf8ef61d900ad80324418509ff103c03acfa0ea0a3f917544c01f7d1785520e5f8f11d6090274de3fef9c902110b9aac7240eaca0b40b33219003951fcf19f408a9cbe020adeb1ff0c2853ebe4b3165031d8e7fa499372b8d8d4f8904d309e0f9b004de47b7359865c0a766b39948b0986d65e3d34e061a8cb2f80b67cf3015060e65fee01ca81df1b1c10c814d039f1437e92784d7f008a6c1e51acefab9f3f015a86f26015d0c9fd2a05345fae00b2b7e9990177d092312066465dfc0968c1fb0648e5d37d3a201fe6159069b0371c70af136df9a782f5138d6db5e58010e30ba0423eca53400d786e0c64f293ff962badc59cd49715f61db0a07937109c3c1bdbc32b012572e9094f033e022849af3a06283073f20a5022f9b5757294643a31b40d5032e937c5269aea179900ca71ef03d06a6c2b0175726a409ed268bc2ec0f4b8b800a4ac3ccb4f40c613d9bd03a25f2b0026e168bc092835728f008dcb2e350de382a3f8ed808b8d2e010d4fec7e3a2025b107f429c90bbb00ed02ae2cfdd3c59a91b8f6c513405bad1baf8041df9cb6391788be35c0136166b3acbe1590eb140174c6aa9f39b097de8d00ad52340f01ca60beb6d606838c92de3d01a09367f67da07891f8c83ef206a064e559dd01240eb35540a3b558ef801d8923402b6feb1ed0699747a5f42894f2db012fed0cb879dd5f01c4f2c6696d903193e4eac681553da91c709fd22340a6202b0172d0ca0f40ce13d36780d4c5f4c501b13ebad0f5c7f4d501f79ed363692f1f97c665139ef8b4c1fef739b14debd3c527963830b50f908cdd6f01067d78c4a6c72235928b8dc6005dbcb9f30a5096ebf45080c5fbd32fa044a42adef1efdc89809c9afc01106be37004d0516ad44592e85e85490ad09e783500b4e97761e2b04805c4ffa03f7c282f270e5802c6801c9b5de92785a99cd178c50103f50e90a22fe8d3a050885dbc006ad456b2e680fb0c7e000d205907b42894dd3707ec579e003a94d20ebd1ec689ac8a0cd0d1638fc84711a32d7fac83169f0421fd7607a08b6aefb701bafbf8deda92febbed751da030c3fa3d4067bdd6761cd84ffe3e01f2e84f05e4906c7e010a7dd0b20568f17ea5274aed37e400c51d0aebd3d485eee016a0a8c2d1014089b1d7a7808475c3e99703c261ef8014c576f000d02260a2273a24798f273cbe9eef3bb0976e518f5497edef5353d752e513c00d1f150b2ac78add612883d0715cffc5019f249b011a9df5d2132d42b7ab974aa4566240cfcec88acdca34d7b6e0fd35409756ddda7c498b226373daa6fabf2bfd77ae00bab9e5b706e83aeded584039246b009de34bb704908fbb57c0807c4c4d392e2ea82742722280f18ccf01baef62671ba06bf176de005a9df40340e1e3fc0ea0eda704e0e1d2f74340842e2ce780849f9cd0fc307159249a52ca5c3ef25f4084041573074458bf01928ffc0790038a3f07a4f23c024aec5c7ee80065b002a811fee99b00f2b1fb0e9097f3580206c987796c59900fec8b0de5229f8e6f818f1c70ed6a06d0e8afff021466d83f77604fec9a76c87d3bffe21ea023aa373380aea0de3e047844601fa08caaa31b07e4163f0074b6a97c71402cd86643fe6ff4694bd0307c927dd70179d297800470da001477281f1ce0c0536c70bfec89bd1f8092f337c7809a3ebd9c03a4a5aef61db016b381ca7d0b3c59056895d4ff036c94dd02b44a3a587360f538dd061498c68317076ca59d022474572540de78fa05e8b084057d1a848ecbf64db4f32ccd98c82b0e4c6076a87a9601fee8d34c3b23c7cbf0605ce860f0ecd36665f1ef3bcd3da0c6d73e7b0334312764f601ba9db07a06484e8f4e00836e6eb17129929897269f022883837b80d684d99503ebe48b2f40a73550035006620508739f1cc515802213d3470001c4f1e4d601a9c402951ca36d076cfbd0da604ed8e24c1c98da5a5b052873e7642e80485dd0b8a0940d6cdad82e528a7004c6005d98fb63be76e9e7d6f65200e18e917db87971e28c71793c7760127450001a5df0f80390afbd6f9abff47305f13aa0c1347eec0006f4c79959f5d2edfeee9f0372ad2936cc286e7cfc026802e57a87d60dbbcf0099f9e81fb062f7041a7a7d4a078561a0b54f804133cad651a5f7face1c9003b6973b2371e53795acdd01f449c38d2d017613b64c702bb7b7c7ab005da1b2d701b40171f90950fec7fe2f4031fab31780769ad76dce2db23bb893e91a90627072aaeec7f62e79695848b026cc055006fb0700bfdef304a05c96833b0126e11d6d496a2428de0468125e580ca54a23a6e9195577055b3e023c98113920e5ec1c50f0447a09a8b47eb973c085977f0005edb34400913a7816407d4ebf00f20b27770eac71fb02d2c97baf0ed89e642883922653f6c881fd64cd8c4595695676084cae684ff700e8a8e9ad4dc2aa2c328efc2f23f08b5b8b75aba8598f3ad864d6b7eb007dbd63cd7abd0eab026ee5b900c8005fe4006d0b5e6d002ae4e3cc647d9100c146d9d40123d739e012f34f8056af899e903f965075377c3b5f809aa97efe0c68643ccf0052b0f10ea05388f1dd01b9b4f7008d4bb10918f8c99e99b53a9ba02ee6ab808609b46a4f2cd21bac71073340a513ba578046695a3940ced587a9f126d136693602686571d7024add817801a89873c71d40b9c5193f597c7bd36c540d909dcb7a40c9b85c460ec8514c01eaf5f4dc81c9c7650cd030ec3f00fa8c8f0d9ae7d8143a90bb6aa3dffa0a67cbe66deb9b293bef005d2c106d037a56277f3ce1f1f5c314a0fbe9b6bf00527d67af02091b21670e5028534086823d3d0568180e8e00f21cd32700e70ac6bb00d763d7032067364cde000a995c56000dc39580843f19015a7a3dc900d21f7b4f0eac0bdf54ecc014db7b1760a092dc01e1b07b01fcc24bfa74f109329342938fb6a8b5e16faaaff38fb6cfccbc767ead44f6095020e2e608d07329e2f8da01094366a3ba60c5b8c9e6d301896dc700797df10a4021f9e71f802e3789f601ad4215370e48f0374bf86fa7b9ca011ab9f30340c913abdb00b773cf0045be9302a0c8d54502e818fdf319403ae87ae480b3802f000d54f4e980dd485bf076c1a873b79c4df5deef3d7fbb00e80a84551387c5d6331e4a09d0b6f1ac00e863503b67024a6f6801cac79d8e1db0d27a05e8186334026833656a2669b1f54c908997263a2df87709d097f26e670065104def013a24909899ef3d6a9d5d035286f27405e0366a0720c536fd06c85824b503c22ef4a94fc25d13ba3e180b06ead5011e3df5c8229ed859039419e11f539f7dd131b64736b307fff682dd72b6d88f208454ae00743df07e09d049f2dd4d80d4e7f9c80101119b1e830fc3392f0d2609c3b70b503effc12140ebeceb1340c5d83e7f031432c95280927c8f695c18280ec2de00342ec52a2057d47a0e706d3976c0798f2f40a583d2bb023c71b60dd05ee3c53940cb845d3a390cb6f5697e04d0345dd3133ae917df0930722b4bc76861a1f85ee3e818e0f9da870602e230fe2d40172a5709a0a2c77a3da1cb5da33d077c8ae30e30e81cdfb301dfd4495f009a0dd508a04eae0a80bbd6af00f5fafa13405f3448df0478c7fa1ca004cc9509408bc4cb1220d7fae40fa090ebc72e800b85c6e767028c5c7cef808d9007033ee76e96ebfd45c491f972782a4004cdae395f04c271e1ced6003a0c77f56dc007aa6f01fa665b9f00f42592970780f691578f04885d4cce0095ae2c3b00f8c9fa6b8006bbfc03e8e6ebfd1b036eb4ca6780f22ecef600b5a6d818a0f54b760b5008e9ba3610cc092e0b2fcd32f974a981a266bebc2d2750b2b82fc7066ae709a08cccdd5b8072cf672685b1f7e916eff0cbd5fa0690d085f1a10012347c02740c7a720a68d041ef0540129459e362d730a7ab000587935f80c23f316df195454ab11e33b8880d04a123e7db643d0ef387dc51ebf524d2d73af7ad1e8b93e55c5ec11361ee730ffc1d402bf1c9314022b55202b408e8f5522983c907c0cfdf9e3a207a6ef21174034f44078048d6f407203fe8e419506871b60928a550260069dce9034053fd3233e02ecb9d0d431ae91bdc7f56d334d669f457015dc5b0b202504edeefd480c793ff8e00f21dfa0ea07b25f70e00b52279a650826a948d6a01da4d3879016839bbd103745b631509204167530756cae4d581d5f4ed06c00999917da93700cddbb31d807ccbcb4d40cb1349eb80cf46984e4e175f4b37f0018898c8eb023ab6f763e3b2f87033b970154061db5fab5816eb5ce3dea900cbb7ded45696c4389bd116407774ff1d0a30d5d7be0072cf57d61c7009cfba036b7e3f02e8b2b9f1858120a7f68eeb1ea065d3fe2aa067e4cea97a98b764aa9c0062a9be27408e83b6628a3e0b42c8e7194dd6171fe6a54f4de872dfae5dd900e87282436b4bee3772bde6007d7be1fb02a0ab5bf308a02ce83d13fe3ccc0f94d223408aed6a1390634e362825d597e14eff004d4aa8e21c20db70590006ba70dbc676b19b60f55837d3b8f82c225b58a70005325fac6285db86fd3d8036b8cff70df8c8cd22800277931780bcf1f85100d18e4dc31441d649a06a001143796b2357946d666dd9b29f94b13e5d337f04e886f6df06d0e02afccd007ea190cdec7fe73c8f6280bc9c0d93e4e038a1948e32000180d1e80820d7e96c17a08caa6bea11a4906d0e9bd94159600aae77010d336ac3e4a30aca903bdcf700a952cece013a1350c500c5722e6dde5661b942f253eb8074c208a0348bc923a0ccd88a5f070c842957ccbc2e3ea1c375b8664e6affb2e44f0ec87515e51f4097dfdc6d00340cdb7a876e57ff3b06f464555c9a04d5611ad2c96380eecca8ac7141dfd296eb0e208ffe9c976609be65f40e48d10e3b542cab0127b436cf7262f426858b13547c89e40ca07c878d4301a4f06f049025dcaa00fa42cce1e080e5bd39df4d32d1bda323015d57f80c5094e5f40da0e4b8add6011f3d3c06e8a6a37713cb609074bed2d467f3cfaa9bf0b7c133e28632ab58abcb3bc72737023af2ff0bd0ad1ad513a0c7cb39e9008a6d55e6072de2635c1962b2deba5ebfcc0192d38d7b4042a862dbc6a58b75bbfa8d497297b43a1b9902b468eecd41eb529d9039fe16c0229fce01525b07361bba30916d18b64ca1f47e47e6db31803bffc6eb665ffa201f54ec1c90113f9dbf03b41f751c01b459bfb26dc0c561ed0390eb9b07bd80a6c72a40b92c573f00ad3dce4d7d2eb2f5b9be806253ad70f6ee018a5c5dd096d07c1ba8dd39a0c69c9c504a5ee4f693b9d574f08fc91d5c0174eff9ba89c3e0c6f3e20ea0e32e5b37805697ccda6264083e2e39df2d20661df5c74b831b88c7760228f1935f968b8074e2f7c3bcf600dde5ba7160c0bf10f35502748bc4cd314079e3d333038936dabf9e01ba49eff7c88115bb730b4819a8fe1cd012fec927067cc77b751d5092de307b02b438466b7303b95235b6961a66b126d0a5998f001d23b8de34906af976740a88e9e48f1ca0c35fa74f001d2dcf5e01f293d3158016129747809a81bada023454fd5da5a82d67542ccc7d34dd3720c546bd583d62bf44e3e8d2409862dc9d7e0450ec73e71aa0914bad94d056966fb73f007d9de1c0e463917ecbb5345340c64aeb641fa00b634eb7005a67cf7969dad0a7677f02b84ee93f80bb91001482bedf037049d368742680e778940206a6e9666420536077dd4012ebcbb46b8f007db9e70890e80ccdf0079024af6c02943a7b740bd095871b0da0575aa34961e25db8b707d00ecdcb722191a6fe51ee0d9b62a9eb8ff599812492eab3c14e7df57a5400e48f9dfe1af055c1f6d2db4a333f48ff63c566defc3b9b6259a253cff30aa05df3ed1380ae73b830e1cf526d73e40d20c51b8f32806e1a183601054237d1133ac876cc3bc21f996e266379ac4fa4bc6c184874806cf507e0eed72a806118dfd87c092b0b146cf60268718cd66d5c829ae74e95712d800e3abc0044fce484976645c6e81bf877f1d5eb00d0d5cfb7363d165ffa26492f05f4f83073d3b8857f6c70e700d0312b8f4c928b5457979c760e383e78026894f43c050c547de3dd40a61cb46d7ba2d4b523e3b713803ec6b01e1b887519d0ab8d5c99684366af74c041833380bea0bc4729890e3cbce909ad1a676f00250a3f36004fd134492e3dabe2f80f2009da3e0028361e5d190872c9c9e96380c283a73f80322394b534e26915e9937533ebb1c5fa05477113a043bdbfad01bf70ea6c03a06b472607809ab97f633d5665ca22d834a1ab23dd09b961733fcc38a6e9b78d4b9de803f4a736098375c19ace5f00fe15b33380e2749b1f007d9f709c01e48e46294071ed751b973ae72308e3758acdf9d0d778d5544e93e8fb1eeb7706d208077e5e001443b9de00687765eb4200fd71b56d20cb52f2faa6800e03bc6536bbf5fb3e376d5c5aff4ee2a6cdb97f5f865b6f003a187c383290ead6845d7e12943012b403d0c1cfeb4303a162dcb95301061dbcb081eafc73b76bf64417eb9eabf56b80be1a7a67be4397e85eebdf11409702ecf6002d79bef5846e9cbe390368e76cedd50159150e3049f7d6b8ce15cac32740d7479fdf017226e1bacdb92ed37746fe3e00f29476b6000551a78d55802e115db719d5e5723677ccac75455260094df3877ad21f87370614731c9fad035add8435030c0adb0282d6265fbb0164ca51b461080ebc96b3e6c12ebe86c4391c1b9721e1fb1ee3f5dc016a7c0cd0a9e7ef6f8052df4eccc71dfc6281c91140e92f8fab006dd7fe9a5e1f329dc25a5f6aa96ce2df9e5c01c4fa9ef8e68681447765addd02745fce6c0648b1d9d31ae029562f005de433ac003a7dc68b625de51c6f01326a7a3372808fbbe7807aa4002983c70b8032991e6f0c64bac46b96003294d2c923a0275273b563209f10ccd83b0634b9557d6da9c716af647a3c3c39b061385e0148c3c44702149bb606c29a90b4e80d80b29036ad71b1df74b4b96d20d16185bf7303ee909cf7028a165f0074aff5e587013f2ff6fb0ac0ac8dea0301f3fa46f535a0cd71256d6ce3426bb197e5240cc3a64baab7ac4f175eb03db1fa0ad0a78d3e360d789cee78c701678ac60642e5b9e9f9d8019f212e0024a38fea12a0a8755501946a7e720fa8f10b7fadb5a9cfb9b512203770670290cd3e3c01e8c2dcdb6d07f6d2c33503e1ade4d365006dd8cd2a80d209e7af801a4760fb0aa08b8c7f7e1d7037c3b7814c7711ccacd7d320b85c2973259033940520cff98e660b5072fea90d435a4e4a13984d7b22f3cf116e5a8f6589c07606f08cdda9001db46efa63e1e213ca3a01c899b830095aec4898b67cfe0528243f8b013e4d29252f722b656af2116c4589c65d2ad82cf7dbf7371b803e5fb1750cd0d718f74ce5e4a9128577f949984084a05f009ad9838d7e9eb1173daa4de5e47995330c364df3b088c675b26128227ddef5db64bd70dbb0b90328f4e1229bd945d0fc6cb7f00ef72ef67847aa3de013fd44b1f1590ed0271e6f6a0124e8c61a57848289908c002511f8fd35c08045bee21d41c66c3faabe044412ba1f4092b3f61800a9e4f40250aac76e01756e7b0576876a006dce6d6b4bb3962d5616f6d2bf5d037ecee27ed580c771bff6009a51473672a507bb7e7e00ca725de1a59e8891d8b894994eb69db4809afe38793090c72c028e6b406ecd1fd531a0cc6dfba9d64fba1cdf6100e0068eea44a040b46dce55fef5d2cd7503414b919c7f0fe85128ebf6d2cabf81f97d0e907cf4361b2a5facee25803ee3fbd9a672aa30a5d8ae3d05240a64ae0282b82f9f189b62ab6385b1f74df5d561b98ad76753accef87ac7785807e87ce57403a0349c33b3a67590313ae80ed0ab0b6d6c9b5467686e7f01b295fd29402901336b5c93e99c457c01a8887f9c98d16a42e3f8625f04c8514afb05a0345b39b2af96674d98fbd8a8274066fee9a83e0354052bf103408f0adeb3d63655db587fbc98ffd1fae708d7acd8d6077bd304b7f5db4dd78f1d7073cb3b40df9edca801ca1dddb911d0cd714f005d5f70630aa5cdb4bb72f96c2058205a6b26a95ddc1f6df5e089a2e5271b362b3baffabef57ae76ee0da3920d7490cf33ebb4c9ee346042874e78ed9ec2e681842049f068a24436072800fc3332054cdccab4dd33ed199f7ad17803cd82f1ba83ee5c6e9d9a7b5a5cf63f4e9f10fa040f59d1e1a08fdc1f1526b6d18ea92ef139ab735f8452dabd6eb43a27df5ad0f80aec4dc7a05687176689a7f487591e0c7860023d79b67105605baf1c074d0106c2301911140e675e30ea0cdc78d657fe413bf9a73e5db40accf027cac1848527a6cebcd40aa3bcbcf6f004a79af7869a6b4f9e92640dfb09b4f0de41c601fd58780ca54ce789397e6837623b70d1471c1aca41e61ce615e979d9c473eb6dfa70652e529ad5f39b097de4c00fa7ac7c639409f99bddd01140cc3fc0dd022b83f9581a0a6599a0bd47226286591ce60a29d0232346ef10e2872020053000b89d13806f448e1262f2d14fe99ce0c5443c39955ebb1d88fccac3e1bf0ef78ef4406dca73bcd01fa78c9ce3da046e5dcef1a082698e4fc358022f0d5a340c677bd1203798d35ddb27a24bef4da3b032819ecd73a3959e88725b85e37109c093244ac1e8b4c0cdc8d534045cc60cd246811fae64b2456b145609b585f06d0d7190ef7004a7e3a32495e78e3e4b1ed0332c4726dd701978876060ace368dea54a000f0d245e285a90b1bdbcc33bb56ed89cc35ff5a0e5016d2fa0d40572ffe7c1ac822dc9e4d40ae44f2eb1920c31138b1999d15758183f6016854d36f4057981efbb2291656a6f2c66df4f35429ef37170e88e4bd0332964d7bbb007d3b6ef71c50e8eae7b1814c173e1c4d008976ab63015616a7254061ecf35b803e4cf3f06520d74560c99100f6653203c419f3360254f250060341c6e8a0cc017bf33700dd89706093b048b599323d07e8fec2c13ab9d0da63bcbf01d099c4e10bd0282fd88a0dfe3a2ae7770f40078d6a1bfda2180a8cf8ab8160a348acb7d616555493eb64b372e149a32e3e00daa1d9b83690e9fea0539e0815630d0408f385f4b931408a6d6de96be78bd83841d95540ac6c861140f9c91b36fa8b2ba86dbef427805217a4984805db41aceffb07d010ee38b691ab820b4710e1ce01a76c7e0149c16d7cd64155d5d456d33513ba3ad595a9bf3b8012c1ddbd0168fb7a6d70c027a6cf001d6279730be0d6fbf15e6d209b602b57570012edc85a5b4b9f8e6a938fda15caeeb181aaa3eaebcbf55cdea4da9e7c9b013a74e1af29b6c6efa7db3c066822af9780847acc4e0015c3f0b3075006d1dc2a160641769f27825222dfc1ec5c534c58136edc02b43bfb6bfa2338bd88e5ce234047100fb60cb877f17320c02260d32c729b0f18cfe33b013913d69656ba70bc6103d585b1257a9e0174d6ebc0066a11f9e698c92720a783565380b2d3b74c82baa0a6c8c50704734b00b104d4051e5b61a0d4051853535b5d104b3299acf9c1c7d57d8e66817a37e26b0940fefaed264047998e4c29f599be80baf50b50ccf1d53a28b8c5f8967be6b1f5555f1374336d39a40aba6de7804ed78d5d0094b6b6d63b2028cb139962e3bd096ef060517db78700cf537a013444377e4d7087428918f3a53814138fc3ac3506424df9b6f10050387d7f17a03b00364f0c643a98b33172400ce5d3403005c8e9d21b2f227fe9760fd0fdc95b7f06325df830ad0ce44acfbe783410a607f91ffb06aa49858cd9137130af56d3af0a201d747405d0e26c6b0250e3d6520399dc8df36b03e11f19552b808c09346c01f28ccb09ac4f179fde6463796a20d317ea6e057400f5e8cc40aecb09ae00455e60807701ead3bd55408d1abf3e02349ac89452c666f8c61ff6937f49f12feb009dc1dbae013adbf4f903e8758ad3e423f4311668da022a24f9e801a08fd8df5907a5c138a22d7969101993f5cf0b40c154bf4e01250b9a031bca2040859dc2aa8f1d709d83f57ae64a69bb03e85e859dd8807f01f5e802a061d8b3fec8dc99782a01bab4eaa60568a3fdf2dd4040f6c4d70ea0c478ae998c2d9c3cd24eec1db90788d67b8092b04eadb579ce19ded1786c20cc07a2815340aa54e20f404eb11b56f5e0b370d5603d03642591cd23405e92ad1f017a64ec65e98f1545aa7b9dec9a9e00326d1bdbdc0f7dc8c27bfd0490eb4b35634087ba985ac58a30fa0466ec1d6518285e6ae3520685c241a55d80b606d62b80629f0736d8a5bbb4d303404b295b6b00ed241e26060ab576b6346b4595ebe289bb1dc04027ef59175675d4e0d22e8d7851bb1b38bd00c8006f1e027424e2b001e893a89bf6d23a081d67acb60129e0e601a0f3fb9ba7060a1ded3a3519abcb09d19ed7e5eaa458382456f59b1b03b92ee0fab5d606659111d91c014a427ba30d03da3b19d9774602086365adb57109fe071efd772ec004fa329ddc663aebb5b103a830af7f3540f7b19d58e3dac5e2dc9e3803c81b3fba07a4baa09e97e6da483d1f00f2c7f66d66b7a10358592ced7ed165fa56daf69b815cc74c6e4d82ba4269e2d73b808a29766623d7850e22c5db9ee8536d0b3e6f02b49f3d35a3d52fe25fd61f2630bdfb851b570005dd4e0b4082386cbf0074d46dba05d021a3d92b40b27ed30374e0f2cca67aef7ef2a90d655f273531d8a5bb510caed77705a42d7777005a78ef594d875c77421e59b143d950cac6b2947292e9bebef57303a1f96c4e57808c9a1e8c00da03defa0128d1eff5d040680dd93f3d60c07aac2d8df8e25b7268982d402eb1dc3d009444376eae006acbf7cc405018646595804a0babb981303d505b4700f681c6a76780aae4f4f589817a68ec89afa5522a635f584d770c648a3a1d1e00642cd6eda571e8427aec1a90a00bb756019946ce8621c92a4ad92e003aeef26abdbe38ba64c56e7506c26c2058ce4fc233d6fcc91e2043079d9d1aa8869a0b63963aa85c6cf9e28dd7067c39fbf90d6818dbf553c00038b47a2c7678b947601d50e15ddcf093e04ca2c6b7015586736503b5f01dc8e7174891d34313a92cd3f5af7b26a799f7e9eb15a022d8f5f36620f8a77c78640d50518ff972ee978b694b14ee15a08490db0d0102555b2b805ebdfe6c20681036ecac943c4c316e7e32a10b9aaf223fc8401156af1c307c37107e42a07bb9362d435591a0e9a5813c62ceed9c0234e7beac83ca222608b966fd5165ba7c6faf3190eb92fb2debe42a380fac4df7010daed3610118e8c25d938f2ad48c4c841c10acb69924de51b6b46567e96e94ff6ef6d92e0112ba1d9b620bf38a93f761a0d011b36f7e122a465cdbba70b195c6cae2c140f0d8c92d7e0728267db0091872ae94b197863e273e76fa0c680b1b976d537dad3b357b26b80b4b88d1ba0428bd214d0d5451c535926780b8e27293a5992f3b89d4a8ae002dbbf71b97004db183c601d6c3144a5728f4bb7308d0a599776f02f4c78d55ac2bd541d126a02fb9f6dd9474efdef8d76020d494e96142d7077793cbd57280528ad66c1806776a36f70135eee88d356e08fe274bc03b8014fd8e153b0419e34a197e12448acb097e0d5451c92509f780ac62d5b807a82a822a5f80ba2208b9f4f9ab49a254c09bc840f040ac94a7c640153391cf6240c2d83e2fb543b55812d31f5b007d22f6e4cc40e8314e72dd1b0842c72d67c706dab4e304c4b24fab38d75ef4dea681429ef45e0bd0f26d2b02f4cc97611530600a6eacd838281dceef3f011a0cdff13ba0abc8dcb162174752990de700cd86e799005ef0ee95037cfe6d03852ecd3c68014a69fefd01e42c9ab73e010572fab314dc2ad56ed3f8e31750d1c9afe7008ddcaef5c7c2e0584d0ff70125e1f42dabe922e799b587552c73b15cb56158980224f9c8405828d813ef5303414eb9396ea94fab62b10ab28a5d027af4e98eb525ac8118db9f1740a7f41793a0320c3687486ce4aa444776f7760ce889f1f40a90d0413727800e2fe7e6ce40c95ec1381b1ba8fa8aaf42760ea8e9524b55b58fedcfa1005d7864f508ca530efcc840f0ea48b0db06548ced919552575d856d58da97aa29b4d7b89e0274f9deea52a154ad2f020eacd8d667c3ef37809c89f1770128b1846f47808691bbb1891cd489a6c7e080a32a4b7facea8202e5e303d663dde29f75a18d6d57c715fb734bd358056d4a0ce5c17ed257498932b029d6d7596d8aedd9067bc80b0466f7da40a1a8d3fe18d0d141173706ea09f5385afea49e14952ead9a0810e8fe7c35103c32d2801f008385b2c61fbd812020261f339e0835e57cf67228eb28d76185b591814217f84da700cd97bd0b408b68dfee19289542f3551808624756e77228ebc58dfee8e404502063536b5c98b748f2dd1fa021ff63be9cfb61b9af4346fb57067c66e756d3ac0ec26cc3b0948f3acf6b14cad4fa345f2c8b4c4e79a2cc996273eba0a2d065a6eb35a051b07c02506ad3b6f54751eaececa755ac0c2e3c8b112ba5acb549bebf94f560b122d4e7bb40498c6d7d394debc59cc3711e1b08f603d5c7134dc44b77adf94d218f7e6fc340296ffc76df40d551b17d7b4753f7b581f8c30197232dad58dd06f79b036497804a427706a8e9b1997ed260097feda55d9ea0c6bf0f0cb8f5d8b73eedc24f485cba020c64bbdc74068244e1282e7dbaba5fc47bec1d26c97d290b64333b808ab5c7cf527dd643309e36fa07265283cbd8b6356ea8c8421a9fdb3b86266e88f42e67543389e5f4ee5f1b0882cb9c9b1ba8b4e9b753032a6239d777069aa461b5b694a0260a4a89cc8c6f034dda583c68b414cb264e943cf9151b0826c98afd9901e46cbebc1a582ce04cc63600258d9b4606822247197c01065cdaf9d2363449d052848fdf0d043f87648ee5603769a93cb6df2f40c142e2f7d740a535d0ed1a6060f17e581aa8f38a4cc83d034dd970612ea5b449cbe7b2ed1d59585b5829e5bd81f013be42b403181af2fa963e6e58675448f28f408799bfb697e6ed84527697f3a5294ae58ebea60682147263fd312038b556ec6020282e2eecaf0c3461da99485d02c2df129c2580b63115fcb4549fc17fcbe8d3a9f54759c900af2dc5b2a94a3243c7af268555952be2bc9c2f4dbdb8d87bf9c4caa781527be2ab05a002cc1a03cdd0729987fd24d48ca3e5cfeb06428f7167c68981856bb404d59581f0671944b58d7ed7462d5b7acbadd6a60f55b79f3c6f033a5b688e4f4c4efb366618fe96d6b409d314fb52da30847ab626b8c7cf80aa2533c37a6ce80a9cefefe550b69352f9743b330315a9c4e39fe550b60b079e4befae0c7411ef389c00da9e48ded23f0df50c2b3c2b6529fc6d12f4389ef4dcc042712dc1fdab812698606bed87812074d61fbf4bff7471972932b6b907509ae7f6bd81f052f61aad6259584872bfd489818a49381a9f1a08e57024621550b5c49397c2dfe6c135229df00330e0077d8e0c84050ee7a2570025db82997561eec3f0646d092e0c4ae9f8cd407806d3780da8f9c9550b183a16124bf908f626468fddbd1b0806d664ac59ce8636580614ca4f6fa0226366bc7a0f508ae6db8681857f614f2ca7695b871ee388fb0fa0e427cf3b06ea8455e3ad75e1c2be6281acd7eb3e1ad8265d2ab636cc53eceddb26a06571f66902d384a1e42b33b181a00ded89c71a50e05bae02da099aeecd64ac0dbdcec5138d81c52d1a56ca727ab45da5b493874703758f04ed5ab15db05268079b1e5d37e988f46e0022c6e57ce2c04a995b27f78b15ae159b000aeccbc114d0b26f3ab259d987ca5b9f3ecd003deae2a230d0654cc20f1ba821b8e77cf6ee0f505768cbcc407807cac05eba5006dc596eb361e8db8188e2d20077934a11e7bf4d800bccd2127651a340c44e0768b15117a5812eef6cb0cf2e016567795bcd72e4ba78b18d61a2bd6520f8f4f693c36b03e12716cc689673ae4bf24ad6b43050aaa65fad814a7187f9358015ce7877cf409df2c4c39581a085b00d77800a7dfab35c8c74c166a393e7f6441a6a8a2bf967a0c911cbfd08d0e139eee606bab825f9691da00efab10eca2a32ffc65fd780815d9eaf890382a1564a16560e6c0bee027c9ada402d72efa9c7d840982f6c40581766411cb811a303d41d17d7d850864e47a1ccadc7425b19b99f0490f2c4f70e20634df8f40e6888c26d7d0106e2305fc7069a98b5d8c71fa045b47f96ce4417bc0b7afdd95a5b844e66033335d0c634eeeb08d0e2f6ec66808eb19df00e378da75303433cb0d2b271296bc5e8bff700158dfb89010deaf3efdb40d01fdc59de002a14dbf61da0263bec2b05b4ac3da6805053ebd3b3ca405899b365632fad820a36f0f904484baefb3802f4ac3cff7e0c047d6a2ffdba01d4c8e9b680166787566cd5ca0f3ab7d1afbaa623e56c69f7bb3a686d0e9f5be36a9f0d9b534089f1dc33d1aedb029fffeac340d72274fba7068252423b980e6a82c010eafc35d04fa8c76104e8f8c99749725bf5f86373ab691b6c251eca14d0f1d2e73503c1eb47f3b7808291fb28010d32767666a06f06eefeb199dd8535300ec905a0463ee6b7809e1efbde75805eff010c38132fd6da3ebc9430f69503f6d5adea7d589913748b001a86df0a20a1fbfb75c0f906bda3d352c3d456e8d28e0b1fee0df451cfad2bbcb42f7a76cd97a6b10b1608b1fcde06344ce4f919a0a73f7e4c7083c8310cbfab0e08cb75809890da7c00244cb19f07408efef8fc34d066ccfddb15408568bfed1be8b4c279e189a0fb49485d030c92b1a5f1ec27b57ca97967a05132d8f7274016f9ef0f50a3a5765a036dcedeebdb3a409bb1f1b78120da36b63f4b81e9a3d085f4c7a381a0d7b9f1715380d19fdf007204f7e75e005ffb6f05d032f7dfd701035df8b665a05550e57d1530e0e2dfcd0d04cbcf51844800d7faaa37d0a7bdfd646539d5fbb86ed152bf568fb88958f07e3e027252027e37002555bf7f07a8eacf2b0e980deb0eb8f38f62dd58bcbc186827fce4fe0d90341c88d93110068290da362046f85facf989cbe9f7162062cecd7b4086e0fe4c004a69fee51d6d4412e72b4f042b46ba6902e85823eff0d2a082b992bb3010fed94f1eee00656f8dfb5b4a729f7a27ff5c396002dd0112467fde027249f21c50312eaffa494d88f17b1dd000e6365f52efe4876b40daa0938f013911818f2f077c92ac02c8883fa506822f4552eb0810d649f6c433a0a283222a167a84af339c38e0dae61740ca1367a503f4a9553d0bcd47b1d96c58e41bb2789f0232d2b4b66f013546fceb1f404b592767410731c5d60031fefa7e026859599cdac8655eb1f3ca01d79edd00b21e49fe0314bdd5f46be9d4f4b93b02df1b809ee9b16a8a2d6f6326d0f32a20c7f07d3c001adaf268c3907b5bdef60031cae0f90090e1053fbd3ae0c3237a22b868263029a0ec4c709f9e0c8491c3cc2f17127d11b403119255408bba98db601741f3e33a4d05a8e94e09e819cad7d84017b32a78de17605c1e678004c7e8f51190b2147ddf15a0839e12072cf05e0039ad7d3d06548027d5a3c3027d57809e1e7b180c2c24c48afd71c06723c6023dd79cef0002b2522240c9130fb78006ab7ece13438497b36a4f948be08d89c3b703de513be023f60d20458f7d9d0072c05c4f5472e0cf013512f4b80e68b0d9af11a0477f7c66063a05cc1ed7001912f4be0250af3f1e01a43f1e0f05d01f0f3da0e689cf3b40dba1b61e018ad4bcff1a08bd8ee03e3ae0fb626780b2e70b0fdb80e0d62d9f38a20bfb819fcc976e715f8559c937413f00deeb1340a64e1e014a84ffc1a4b00a269ad9700648e8a0af31205507096408ee1ea5787f7c9845ae8269c40265808269faf1e60067f3055022858f53079c8adf72c0878b9e0115729ade3a40c64a0784e5e6805ac5be3ab02766346e98b06e38bb0624036bd3a503dfd761d1cc57bb7a400278ca004d632af8a11540c33cbd013a2d4513c0c040bdde3b2067d3e67e1d8681cd944f07a8cf4b4081c3fa5901aa8e27a87a1828038f078046e1b00e3000debf1d58e3de561c108533fd5107ff1491aa0424eb0320416d3dee01b44c384801253f797f01d498b587dc810df6d3830376890707c4937f0518ca8702203df670036879c7d9c401a77c8f011d4fac98c1090a8709b43a0032067be515900b3c3ba058d3524d9873360c0f314086ef7113d028b4f7016889d37ddd0306c0672980cbf264daa1e963de71ff2da049485bc2b860c5f60518868f0290f2c453ef0083732f40e07f760ba81886273d51f3c4e3ae03ce8b65808627269f0eacd7e32f077c64a777c0b9b50aa010c1590ae8717a8fcc9c34c30409fa353fa80d2b1c6e3636a16b83c1619f9027c20ac7faf4c1a647eb0b9ad707408638dc7d01643dee054acda857075cf4b40a509cffcb64bd75a7e6f3d601072f7e00525bf90ea041b1159f00897676ee802f18de38e0f38c9d037be9e925202cf94d054f01fdff6def3d9a96c7d577dff9f91847f35f118c317546e41c4c3633e340ce2656edef7e2423586ff76af65a7bfcdfdd2acaef852c4b976edd49328f6e237dfc02fa04c0480361a87fdff26d3cbd30a55794d03d0d8d401f9b7feb425f5a31fddb0c0b0d983a1f146d34e0ea0574eb6a20d481667efb013edee7db83f5a572d401cd510319bd13b01b6920d4766efd9e6c3ff8ec6945590da4f48a8a420d7c344ccfd3c0470aada5063e36db30bf80ded1cc7e01fda7162c0d7c28ec090d849a31f7f90142bd81f956c17ef8d94c39bf290cfca4f6502e250da474687e1d6ae0a361ea730d989ed61f6b0d64b555dfd634f091d36df50b68b738ad81cf16c5f9a58140d738bf1d8140ea20fd0b65fb2fa0cfe43d35606859dfad346069e0686b20a75dda6be6036857a195d280a715ca4cf7e34bf2ed0b680ae968e0c3ba137e01fdb7b00a5f40fff99bea17d03f226a7e81f7f073630d849f55f996c2404e947eb7e9cd8734f2fa24d3e5cd7ae8597aa2a2b7da0afd8496f575a481a476bfce570d7cc2a6cbea0be8b0a9a9816fdce06b20d006b8fd662c94365b1f29ba7d017da0aca781b49ea8534d0386af83d585063e3a68f6d4c0878fc4e796503336997f01fd0b65de17d06fb7bc17b2d41efa96553cfc30f1b595f98d06d29f386aac014f8ff6d4d080af9defc8fc02da242dde801cad4e222c35f091d328d0c02701d0bf68c0d33db53f6d689162aa3bf61dfe2caf81cfe00eb9372021fdabb3952fa06f797c01fd92c0f903e8a5ee9c3490d435ba290da43e14de3560e846c79f1a56a89574bc6e650b1f5fbb6d68e06391a76b0d04bad1e94a039fb1d81af8f6d40a3e80ee69a2ac814f4fa7db0fa019738e1a48e99e3a0b0da43590196ac0d0fb2fb39b0632817e3daca50153dff28c1df830e5bb7af6778e06e61f0fb6a081503bacbbc41b906afcdd31cbd440a0c7921b69e023b889d21b90ffeb3f006b7f017d2ca9f105f40fa41c3490d68dce761af84cd4ecfa013e8df6be803e1e156920a3dbe8595f40ef9d6c35607e1ebbd44056c7eacee60be846ff05e863d1872fa0f791df24a7a539d19c0edec077bd9c8a1ac8bd93d482b6067c3dfbe78b0602ad507a6820fc18cfec1b50b2fcbe65af81d4477fb81f400fcef63590d64f49143f8096b1f4ee0bbc1bcd5ebe8026e8f31443df929b7c014dd0e716f3b3d4c32fa0595f6b20ab1b9dcebf80aeb1d280f591e4cf2db950676ade73abdec5d76f3fa101435bf5db4303c127e07daf39e33bfcd9fe03e8a758e117d0bf6d5bd080a1f9982ebec0fb96f4f60be8aeef3490d1b798952fa0ff7e76fa0bbc05c6ac6ac0d435a6ee17d0ef790e3490d5923c687c01fddb619f9e5aa1368d6f4e55865507566f0ad5cf8be98d105703f3cf363a1af0b50f73aabf011549bd197bebd38ceafcbbc64b03193dd946f805f41e5fe60b684ef35f409f203a7c01ed901cbfc07be6a681063e2295b87d01fd2ecf440359ddc6b0a2819c267934d6c05cebf5fb9b20f39b51dc6c34e06bd378b535107e72e3fd372023712dda6f75617e25a8ff010cfd94d959039fe1dbc117d0d6c3d780a9e7d6b2be807e87b7fa05f48b39af2fa0dbf034f0515b89d717d07f44e5fe05de22e5d634f05962b9a906721ab8be17e1bf529d9606beeb36f1f802efa724f35f40ff7e61f405f4d9c0f517d07f1d4a7c81376389a7063e92dc3f7e01ed5b5e3590d38da64f1a70f52df7b705b2a45fa81db477c75402511fc47035f03943f2145f40fb520f0df8daccdfde1db3a4c6d57f95dad0c0471964af1ad09c0ab7f205f44f2094bf80564a992fa07fbcc2d2402ed47fec27ab0137d431d04a03be6e63f3ee7a4eae5b9d429abd816f027175d780a7a7f2b2d440a09308b9b7ef90fbac6c414b03df89e20be83f63bed180a5453b33d1404e87b36ef10be845f8a931ffc8c7fd0be814f47b2ad5b1719de7f734f089b3c76fc6dcaf0b67871ab03441664303ba1f0c9a5f40bfda55d280fb11ba4f8db91e9c91d3c0e764d7f8ede5ccbf3a595434e085fa4f6eef34e0eb7e64061a08748dce5803f2bff768df52287df18f4e7e4fa5279bd0e71cdf06c7539d7f5b755d433df8bd2a335f40ffc67f59039eae71ec6920f8b8b4932fa04f64bed7be1fceb573d57faf5b1904e99e1abe0642fd94fb7b5e42a92df54f51be59973e9f5e409777d7651cae0df025fc023a7dacdb90cdea30f2a901fd14fb7d543406f4ef5bf23fbc7c5910ff83cbff65e19f5870ed686e479e1df97614d851181779bdb0a3a51dade2cf77597cc0bf95d5a7aced686347db3f4079b1b3a3bd1d1dece86847a7bf36728e3f2f76147df0eb3f3dee16b7b98d2f24728fcbc38e9e76f4b2a3bc1d15eca86847253b2adb51c58eaa7654b3a3ba1d35eca869472d3b6adb51c78eba76d4fbc5826d477d3b1ad8d1d08e467634fe94891d4dedc8893ffff7e55dff7d3dfb5c24ec28f9b94ed951da8e0c3bcac465121733fe2a6b47961de590216e3441887f6f1fe17e3a3389ebcc115e5c7c448008110bc412b142ace36f37882d6287d8230e882342b2ef20ce88cb3fb3808810d7bf8ee7cf51fd596443b798ac61dcb93be28178225e71c9c75d2c7c6a16e30e95106544252e55440d514734104d440bd14674105d440f6123fa719b833f3af337aee543877f7cca39cb22c608f95cf94ff9d01922814822528834c240641026221bf7cd42e47eb0e02279fdebf8c7ff4807aeacecc69ff2c661dce3be2aee1cd78b8b8f1ba822a97143dc05ee127785bbc6dde06e7177b87bdc03ee11f7847bc6bde046b857dc1baea23596be3f9f3bf94316de65a49eae7af2c0950f7ae1e6710bb845dc126e19b7825bc5ade1d6711bb892f1413cc61c6eeb170bedff9285b7087c2e643f3a1f89908d74717b9fc1cb62c7732b3b27391ae0caca23dc31ee0457b2e9c4b7cf7013b849350c29266eea23ff83cf9279cfbfbc258d6bfcd10d8964704ddc2cae859b630e73c1dc652ea56fc4dc63ee330f9887cc17cc97cc57ccd771d9fcd20beb780dff8735af9a90039e6fd563549933df31dfab39991f981fd52a50d727e667252fe2150f49aaabb162677e611e31bf32bf31bf2be99d3f984bfcc53ccfbcc0bcc8bc14af9a3f59d07ae16fe2c0bcccbcc2bcaa16c2bcc6bccebca12850c555eccc9bf1678b799b79877997794f2dd2b9fd4316e6fdcf62fe5b99fc9d85f980f990b9245b2219e613e6532581420e4c8e6ac63cc13cc93cc53ccddc602eeb98cc656f2ce6393cf0049e8b37c7f3f07cbc40b5e985780bbc25de0a6ffd57e1ffd7a2f812212720fe2ce16df0b6783bbc3dde4191283fa56af48e78a758ef5415e29dd59c7917bc08effa8305eff68732ff47163e33e0ddf11e784fbc789ee5c8e552f7f27805bc229eec4419af82279f5dc3abe335f09a782dbc365e07af8bd7c3b3f1fa7872f043bc11de186f12f75e5ecb473878b37f232266c19bbd8990022855839a6a2f8197c44bc51a413e288d672865ac44c0559ad2cb2822a48078269eac6fe1fdd28e3eb1cafdd73afc63f07f5020b9f76565177f8eefe1fbf8017e88bfc05fe2aff0d7f81bfc2dfe0e7f8f7fc03fe29ff0cff817fc08ff8a7fc3bfe33ff09ff82ffc3c7e41c98e5fc497ed97f12b1f53aac53096d3849267bf1a4bf5508dd6afe1d7f11bf84dfc565c7ffc99b9f82ebfad56a55a38b2d90e7e175fb660e3f77fb2f0cf33af2877be08fe207efc107f842f1f33c197a0833fc34fe027f1e5606405033f836fe267f12dfc1c010482c025981378043e414010122c0896042b82b55237c186407eeee2277ef5d4500973b0578220d547702038129c08ce041782486999e0fa1dfca7e75bf519c8afee4ac48207c193e045205b28fc602128fe55278fff20e55fbc282b1094940a08ca0415822a418da04ed0500b2f682af52667206811c8cf0e81acdf23b009fa0403822181ecd098604220bbe810cc081204498214419ac020c810986ae6a5fc07d98f8f24af2d821c21ca2e8682d0259c137a84d2c11dc4dec7fc4f674f8aad328a5e5e9128f577181086840bc225e1eaa776fc47ebf087f7a2b8905640393ce19a7043b825dc11ca071c088f4a2149eb109ede2b4ba98ff0acdc95f04218115e096f84127c10ca61bc08f38405c2226189b04c5821ac12d608a5cf3b8b6570a8fda2b021e9881b6f2af519b608db841dc22e618fd02694aaddfe7bcfa564b9c5cf101cd56638201c128e08c7ff672cfc5b49114e0865cf1c42d96e82304928c134a1a16c619851fe52681266092dc21c0b5808162e8b390b8f85cf226011b258b058b258b158b3d8b0d8b2d8b1d8b338b0901637a916bf1cbfd288d2e3e8b038a9014b9bb738b3b8b088585c59dc58481533f8a1da871f4136593cd4725e3c59bc58e4ff1b16926f532475526cbdcb6a0694cd9fb228b028b228b128b3a8b0a8b2a8b1a8b368b090ce991c708b85eca8ec7497458f85cda2cf423e7ec862c462cc62c242b6e3b098b148b048b248b148b330586458c8ee6659582c72cab02f6129940591f22c959c64419ae4a5ab94a2b2d389d867a92a3a967396d24deafd4b16e4986571dd98d08232644b9f65c03264b9f8c1c272a97dd27809c8c12bf95fae58ae596ed46a5cca567672c52a0779b98fa32053b5be3cb03c2ad77579627966796119b194ddbab1bcb37cb07cb27cb1ccb39475e4c04a2ce5482a2cab2c6b2ceb2c1b2c9b2c5b2cdb2c3b2cbb2c7b2c6d967d9603e5682d872c472cc76a3c725d2c272ca72c1d89c865182b0e5961162fc69b921a1ddad495cba8020af9b804cb24cb14cb344b8365e6170b663cfea15a3fd281594ab524d9b558e658c14ab07259cd5979ac7c5601ab90d582d592d58ad59ad586d596d58ed59ed541f1b83ab23ab13ab3bab08a585d59dd58dd593d583d59bd58e559155815599558955955585559d558d55935583559b514cbab36ab0eab2eab1e2b9b555f09e96ac06ac86a1487a1b1fb24a395d5582d462992729e561356b20f8ed24aab19ab04ab24ab14ab342b83d52f1656a65a81ab2c2b4bf991ab9c9acf35ac056b97f59cb5c7da671db00e592f582f59af58af596f586fd5bd32645aef58efd58cad0fac8fac4faccfac2fac23d6b2b51beb3beb07eb27eb17eb3ceb02eb22eb12eb32eb0aeb2aeb1aeb3aeb06eb26eb16eb36eb0eebaea24309ff40794af27add530eabb285a9d8168cd5b0d7b6726154fcd2893bd3673d603d643d623d662d2b4c593bac67ac133f5858cbaea758a7591bac33dae5589bacb3f1234bb1735e52ab606da922958dfc948e83943d3945eb9c8af3d554c809bcb2818d60e3b299b3f1d8f86c0236219b059b259b159b359b0d9b2d9b1d9b3d9b039b239b139b339b0b9b888d6ce4c6e6cee6c1e6194728ef58fe6bc5951723bbcae6f5b1e23d367936b10ad814d994d894d954d854d9d4d8d4d934d834d9b4d8b47fca42ecae39ef048972b6371da5ea375db546644c1ac78eca046ee4c36c36525ee4828c63eacd80cd90cd88cd988dac3065e3b099b149b049b249b149b331d8c81ecb06b36c2c3639b6b0156c5db673b61e5b5f691fe9ed4ad7701bb00dd92ed82ed9ae627efb9f40de8b95a21787c903654794357554c7a41d95eb65bb66bb61bb65bb63bb677b5088ac290de7f6c8f6c4f6ccf65796651bb1bd7e38969f065ba9de5631fd4e5cccf833c1f6cef6c1f6a9d68ba82b8fc55b2b0ab62fb6792523db02db22db12db32db0adb2adb1adb3adb06db26db16db36db0edb2e5b39609badecfa4005c2db2bdb21db919a4c6911b763b613b6d3384c964eda5db120d5449cbc88a3f2be0a6455626aaca2b8adc3567eca1e26d9a6d8a6d9ca516462416e2bd19676641bfb63dbec2f162cb6b90fc7e5d86f1f7f8cf0e41f021be914ed6027d46c48cdb4eea925ba73150bbb393b8f9dcf2e6017b25bb05bb25bb15bb3dbb0dbb2dbb1dbb33bb03bb23bb13bb3bbb08b5460b6bbb2bba9d527e322d5947cca438549ca4e0f63a53088f35a4fd5c9dd1357ad14762f767976057645762576f2ab0abbea5bbad582ddd59423236d879268f994fa0f16760d764d765221c9feb555910192b48bd275574ee8df5870145f5203c959921a71d761d755da48065abb1e3bf9d43ebb013bd9bf11bb31bb09bb293bf9f819bb04bb243b49599a9dc12ec3ce64976567b1cba919936a45dce378b1a9feb987bd88b5e3205e9b37e517b86535a5ca1c286dc5de653f67efb1f7d907ec4315daed17ece5e78afd9afd86fd369eaaa1ca7dec773f58d8efd91f54e2607f642feb9d957d92be8a0a63ffe6503bb1e2b8282dbdbfb08fe2fa57f637f677f60ff64ff62ff679f605f645f6b29765f615f655f635f675f60df64df62df672901df65df63df636fb3efb817296f671164ba546648591f259a4b8edc7ec270a5109b55852f6b2038eca71ec67ec13ec93ec53ecd3ec0df61234d967d95bec735248639d3253eec6010e3f32f11ce4d7730e9e9a5b698d0fbe8a736353fc4f6ee99843a0b20c8790c342d53c2c39ac38ac396c386c39ec38ec391c381c399c389c395c38441cae1c6e1cee1ce4bd4f0e2f0e790e050eb285128732870a872a875a9ce09d297193537da87368706872682971935ae3d0e6d0e1d0e5d0e36073e82bb74d2ae683ecf990c38883eca1fce79483c361c621c121a95693b4205b9343ea170b69a58abd4bec38eee2f1ff43f65df9a4aa7f49153b49c139181c32717da1264796837c4636beb038e438c251707439ce397a1c7d8e01c790e382e392e38ae39ae386e396e38ee39ee341392672c265847a3c723cc54f2c713c2b9754d22115fef1c231e278e578e3785711f7f1a1e64f7df5e4f8e298e758e058e4286f2c73ac70ac2a7b7face94e1e7fe9856343a58fb5c03bb1afdaf95c3b5f4662477df889529cb727a312c772891e6569716c73ecc44fea72940fb639f6390e380e398e388e394e384e393a1c671c131c931c531cd31c0d8e198e26c72c478b638e139c042757c551a739278f93cf29e014725a705a725aa9a4be4a82e6950a942c9c64d970da72da71da733a703a723aa96cd03b157e3a73ba708a7eb070ba2ab52457fbe9a654bd1a9b14f5766c2946b1ae5abc63954fc675f7c9fc3d63fade9b087d55f374e7f4e0f4e4f4e294e754e054e454e254e654e154e554e354e7d4e0d4e4d4e2d4e6d4e1d4e5d4e36473ea731a701a72924d8d39bd7737b29ca69c1c4e334e094e49b5344e294e694e864aba9f329c4c4eb29ac529c719e5809c85525e52c5beb3d26797f39cb3c7d9ffc1c23950f1d239e4bce0bc54690951fc64999c4fec3454abe6bce2bc56ba436a10a523b7ca633d6fd48ca98cb3c959b6b3e3bce77ce07ce47ce27ce67ce11c71be72be71be737e707e727e71ce732e702e722e712e73ae70ae72ae71ae736e706e726e716e2b0374964fe972ee71b639cb7f0e380f39cbb18d394f384f393b9c679c139c939c532abe3aa795299186f66c70ce70967dcb72b638ffca3b5ee0223f5d2e73c5c2c58bade3e8af79a7785fcc6d28222e3ec27a277362df29a562384f6dbd7109b8845c165c643bb2e69acb86cb96cb8ecb9ecb81cb91cb89cb99cb854bc4e5cae5c6e5cee5c1e5c9e5c525cfa5c0a5c8a5c4a5cca5c225ce235f6a5cea5c1a5c9a5c5a5cda5c3a5cba5c7a5c6c2e7d2e032e432ea338432fa3182b5eb6492e632e132e53a571e56abd38bf589871497049aa15286758394e833fb26f7fd92693abe3b35326594b29ad7e497331b8480a4c2e592e16971c11c8962317199e461e914f141085440ba225d18a684db421da12ed88f64407a223d189e84c74218a88ae4437a23bd183e849f422ca1315888a4425a2325185a84a5423aa1335889a442d356c95f26bc55b81f2ab366a93761287cb696532d586ed3fb210f588e21c86db546bfb2c23d0769cfffcfb0e55bc2eae8a639505cb204309e944aba647480b2ae545d691dfca474a69945a568a499446bae4524ce47a912b3cb290427485abe0ea729d73f5b8fa5c03ae21d705d725d715d735d70dd72dd71dd73dd703d723d713d7b35affd259be5eb8465caf5c6f5cefcab3925650bac9f343bc5132e5fa88530c43ae4fae2f1968c4dee7304e35ff230bd73cd742ec66cbd68b5ca5ef7d893de8f15f5da6691c3eef94c85ccb6a695c2b6a5fe45ae55a8b2fea5c1b5c9b5c5b5cdb5c3b5cbb5c7b5c6dae7dae03aeb24f23ae63ae13aeb2a30e57f9c404d724d714d73457836b86abc935cbd5e29ae30637c1cde536e7e671f3b905dc426e0b6e4b6e2b6e6b1986bc9557ec6ef5fe6ae0ff9cc2411c2eff62e1a6f651558c78db2aaff3b653eee76df7473a3cd60b3282beedb91de23df834b7a36241f27d3b713bab2577bb708bb85db9ddb8ddb949e4c9edc52dcfadc0adc8adc4adccadc2adcaadc6adceadc1adc9adc5adcdadc3adcbadc7cde6263b33e036e436e236e636e136e5e6709bc55bf237e53e8517652c9443e9c65dfdc74dc63f13d3ca15e6f62bbf704baaf8fc96e296567a7e2e7b6f286ff2afa706e2867c955c5691e55da577826bbc533255fea9f4f36e196e26b72c378b5b8e3bdc057797fb9cbbc7dde71e700fb92fb82fb9afb8afb96fb86fb9efb8efb91fb81fb99fb89fb95fb847dcafdc6fdcefdc1fdc9fdc5fdcf3dc0bdc8bb2c3f1e4f7555ac1edfe5bd437f994bf9dc598fc96857b897b59654d64887eaf70af72af71afc7dbc4938f37a51ff3deaad1fb65caab8f7330a11c70837b937b8b7b9b7b877b977b8fbbcd5db639e03ee43ee23ee63ee13ee5ee709f714f704f724f714f7337b867b89bdcb3dc2dee391ef0103c5c1e731e1e0f9f47c023e4a19c17b527eefa4a85a98bce67e4ff9b6df7cfba782c7f79d029359f321a7fac78ac796c786cd58182fdf8af3b5f139d1a8ff794e3cdb2d13b0dc563c763cfe3c0e3c8e3c4e3cce3c223e271e571e371e7f1e0f1e4f1e291e751e051e421ef2af3a8f0a8f2a8f1a8f3686863f668f268f168f3e8f0e8f2e8f1b079f4790ce2f0ff165bb1aa4a8eabe5b08c27e6bfa140b93fbf776b1f431e231e631e131e922d87c7ec3d4efbaffbc52cb3d25dd5db1e32f47e24941fe949fa923c523cd23c0c1ef29ff2ab2c0f8b478e273c054f97e79ca7c7d3e719f00c792e782e79ae78ae796e786e79ee54f2e6b9e779e079e479e279e679e119f1bcf2bcf1bc2b8e9e0fb50df17cc612515241879441d190c192d28ecf17f3e2dbd979ef21c45989ab8a4455ba65c0f3d77ec4b3c0b3c8b3c4b3ccb3a20c5270c00dff6dab4a0ea3cab3a6cc920c25a5a5f0d5d69ee2e25957dee7b3c1b3c9b3c5b3cdb3c3b3cbb3c7d3e6d9e7291f2fbb38e239e639e139e5e9f09cf194f72679a678a6791a3c333c4d9e599e16cf1c2f78095e2eaf392f8f971fe70413f1c6f440e55ad576c98457c02be4b5e0b5e4b5e2b58ee5e5aad3939282dd132f8ca9717ec794af0daf2daf1daf3daf03afa36ae5fafc9ba6552ca8345cac1da4bff0525e739cf0edc5e78b32bccebc2ebc225e575e375e775e0f5e4f5e2f5e795e055e455e255e655e155e555e355e755e0d5e4d5e2d5e6d5e1d5e5d5e3d5e36af3eaf01af21af11af312f39da292f471f1790167d7e56bbc7d25b7bcd7825782579a578a5556425031f69ef5e86fadc3d55e725652f59d3e4f52be3f6b278e5c8435e9077c9cfc97b84fd7fb337efe3138eda3b5381bdad0eda481d296521ef930fc887e417e497e457e4d7e437e4b7e477e4f7e40fe48fe44fe4cfe42fe423f257f237f277f20ff24ff22ff279f205f245f225f265f215f255f235f275f20df24df22df26df21db54520c3f97c57a9f37c8fbc4d5e5e0cc80fc98fc88fe3c30b0345417ec2de89cf56c9074dc93be4673f58c8cb6124c9a7c8a7c91be4336a7dbaf63f9cee5281d64b79d9174fe5daf2a6ca0ee5b3e42db528f2390a5010145c0a730a1e059f424021a4b0a0b0a4b0a2b0a6b0a1b0a5b0a3b0a770a070a470a270a670a11051b852b851b853785078527851c8532850285228512853a8284fe1588b8d65bcf552a852a851a8536850685268516853e8c4f9b8774a2a196f5815955a29fcf2a00b3d0a36853e850185a192ba50fe73f437167470edca518d294c284c29381466141214922a3b564851482b67bc6050c8503029642958147214a12828ba14e7143d8a3ec5806248714171497145714d7143714b714771af9c85e281e291e289e299e285a244ae146f2a612d559dcabebeb7aa6714ef141f149f145f14f3140b148b144b14e324ade4ab58a158a5282fea141bbfa229876293628ba2caf6c5fbdc4d152cbb6e9cea964b71f73e53103f550ea943b14bb147d1a6d8575656aeb7a51cc980e290e2484978714c7142714a51362e3b9aa098a498a298a66850cc50342966295a147394a02428b994e6943c4a3ea580524869416949694569cde6a5ce29953694b6ca10482294b310a84fa9984a3b4a7b4a074a474a274a674a174a918a1d4a574a374a774a0f4a4f4aaf5f7bd6b61295529e5281529152491ddb92c8a610e77fe353a67215a8adf4a162a154a654a154a554a3545759d35283529392ec659b524769ca529792ec9c4da94f49561852921d1a539a509a527228cd2825282529a528a5291994e45d26a52c258b528e3294056597f29cb2d45319f568e9328b3855ff0efc96fbf8b4a547d9a71c500e292f282f29af28af296f286f29ef28ef291f281f299f289f7fb050be289dff7c2a29284794af946f94ef941fb182d8c6bbf8fb4feac951867a1e6f9f969f6ac0ee83f28b729e728172917249c55ae5b252d14bd960857295728d729d72837293728b729b72877297728fb26ca74f794079487944794c7942794ad9a12c6f4f504e524ea9a45e391d1b88382babce72856affa26ca863b4928e7286b249394bd9a29ca3021541c5a532a7e251f1a90454422abf76ee2b4b2a2be587046da57555ae6d4a654d6543651b5fecdedb61b18d1851d953395039aaa394959312a2ca99ca854a44e54ae546e5ceda8e6d6a92ca83ca93ca8b8aac56a052a452a252a652a152a552a352a7d2a0d2a4d2a2d2a6d2a1d2a5d2a36253e9531950195219290d5f195399a84952a78a67ef43d3f151d3bbb2821559c1a132a392a0229f9ba292a66250915f9954b25462155ef9956baaa2763ec5506f01498ee538251d8b58af566505e53bb29c284190a09285b2faea0cd5b932c5558faa4f35a02aaf172a772ef2f1f94d892fa9aea8aea96ea86ea9eea8eea91ea81ea99ea89ea95ea8466a9faa7aa57aa37aa7faa0faa4faa29aa75aa02afb50a25a563b83d50ad52ad51ad5ba52132a14369574541b549b545b54db543b54bb547b2af15db5a9f6a90ea80ea98ea88ea94efe99053b5ac7eb7f1ee7144c25c65235c6daf17dba23f6144ab63e71e6c60ae27dfcdb53a454a7541daa33aa09aa49aa29a55cab69aa06d50c55936a96aa4535470d6a829a4b6d4ecda3e6530ba885d416d496d456d4d6d436d4b6d476d4f6d40ed48ed44e4a9a6a67b5366b176a11b52bb51bb53bb50735f9d58b5a9e5a815a915a895a995a855a955a8d5a9d5a835a935a8b5a9b5a87da2f4b59ebfdf585009d5691747c90a43e2c21c33875d847f145cda6d6a736a036a436a236a636a136a5e6c45fcda8259440d564cd14b53435835a869a492d4bcda296a30e7541dda53ea7ee51f7a907d443ea0bea4bea2bea6bea1bea5bea3bea7bea07ea47ea27ea67ea17ea11f52bf51bf53bf507f527f517f53cf502f522f512f532f50af52af51af53af506f5e6ef7dca7f62e1bb0111db4bd9682b76c54d15472a399c516f53ef50ef52ef51b7a9f7a90fa80fa98fa88fa94fa84fd5f90a1908d71deab27e827a927a8a7a9aba413d43dda49ea56e51cfd18086501bfc0d97c69c8647c3a711d008692c682c69ac68ac696c686c6574ac52e18d1d8d3d8d038d238d138d73fc79a111d1b8d2b8d1b8d378d078d278a9bc79234fa340a3f87fc882b4c6c15d6d90374af1db007da511e51268946954685469d468d46934683469b468b46974687469f468d834fa3406ea306e63486344634c6342634ac3a131a391a091a491a291a661d090e33769646958347234a12968ba34e7343d9a3ecd806648734173497345734d7343734b7347734ff340f348f344f34cf34233a279a579a379a7f9a0f9a4f9a299a759a0f95fb1f0899da4fcabbd69a15888b789e3806a48b344b34cb342b34ab346b34eb341b349b345b34db3a362ed6697668fa64db34f734053de35a239a639a139a5e9d09cd14cd04cd24cd14cd3346866689a34b3342d9a395ad012b45c5a735a1e2d9f56402ba4b5a0b5a4b5a2b5a6b5a1b5a5b5a3b5a7758829b8a8cfd69196fc3cd3bad08a685d69dd68dd69c5e7fd5acfffc8c2fbdd9cf127881c28161aa5f824a6ecc18b569e568156915689569956855695568d569d56835693568b569b56875697568f964dab4f4b3e7b486b446bac04a135a135a5252f66b412b492b452b4d2aa972d83568696492b4bcba295a30d6d41dba53da7edd1f66907b443da0bda4bda2bda6bda1bda5bda3bda7bda07da47da27da67da17da917a3fa67da57da31da727da8fffc8c2e473602166413aa7d20eb79fb45fb4f3b40bb48bb44bb4cbb42bb4abb46bb4ebb41bb49bb45bb4dbb43bb4bbb47bb46dda7dda03da43da23da63da13da53da0eed19ed04ed24ed14ed346d83b67c8a493b4b5bf63847073a828e4b674ec7a3e3d309e88474167496745674d6743674b6747674f6740e748e744e74ce71b9d089e85ce9dce233575565d13b77759ca3f3a0f34b163aaf3f5e8299aa3385ee525dc8e5d7c9d329d029d229d129d3a9d0a9d291cdd5e934e834e9b4e8b45550d8e9d0e9d2e9d1b1e9f4e90ce80ce98ce88ce94ce84ce938746674127492745274d2740c3a193a269d2c1d8b4e8e2e74055d97ee9cae47d7a71bd00de92ee82ee9aee8aee96ee86ee9eee8eee91ee81ee99ee89ee95ee84674af746f74ef741f749f745f71baa948374fb740575e94fe030befb33c6abbad5ba65ba15ba55ba32bffd9a0dba4dba2dba6dba1dba5dba36bd3edd31dd01dd21dd11dd39dd09dd275e8cee826e826e9a6e8a6e91a7433744dba59ba16dd1c3de8097a2ebd393d8f9e4f2fa017d25bd05bd25bd15bd3dbd0dbd2dbd1dbd33bd03bd23bd13bd3bbd08be85de9dde8dde93de83de9bde8e5d5e4f70af48af44af4caf42af4aa5c7c65e916b27e8d5e9ddeaf98325e11ea6461af49af45af4daf434ffeb347cfa6d7a737a037a437a237a637a137a5e7d09bd14bd04bd24bd14bd333e865e899f4b2f42c7a396cb0e3a30dfb2db68b3dc7f6b07dec003bc45e602fb157d86bec0db6acb3c3de631fb08fd827ec33f6257e17f88a7dc3be633fb09fd82fec3c7601bb885dc22e6357b0abd835ec3a7603bb89ddc26e6377b0bbeac8f24a5ef7b06dec3ef6e0070bf650858f1b5963843dc69e604fb11dec1976023b899dc24e631bd8196c133b8b6d61e7e8435fd077e9cfe97bf47dfa01fd90fe82fe92fe4a51d05fd3dfd0dfd2dfd1dfd33fd03fd23fd13fd3bfd08fe85fe9dfe8dfe9cbca4ffa2ffa79fa05fa45fa25fa65fa15fa55fa35fa75fa0d15b9f49bf45bf4dbf43bf4bbf47bf46dfa7dfa03fac3b88ce88fe94fe84fe93bf467f413f493f453f4d33f58e81b4a66fa19fa26fd2c7d8b7e8e010c040397c19c81c7c067103008192c182c19ac18ac196c186c19ec18ec191c181c199c18a8d095c18541c4e0cae0c6e0cee0c1e0c9e0c520cfa0c0a0c8a0c4a0cca0c2a0caa0c6a0cea0c1a0c9a0c5a0cda0c3a0cba0c7c066d0673060306430623066305131e560cac061306390609064906290666030c83030196419580c720c612818ba0ce70c3d863ec3e0070bc350e50e870b864b862b866b861b865b863b867b860786478627866786178611c32bc31bc33bc307c327c317c33cc302c322c312c332c30ac32ac31ac33ac306c326c316c336c30ec32ec31e439b619fe180e190e188e198e184e194a1c370c6507626c930c530adce220f0d86198626c32c438b618e118c042397d19c91c7c86714300a192d182d19ad18ad196d186d19ed18ed191d181d199d189d19fd3af5398a544271746574532b6a7467f460f464f462946754605464546254566fb48c2a8caa8c6a8cea8c1a8c9a8ce42d6d461d465d46bdb8419b519fd180d190d188d198d184d19491c368c628c128c928c548b66630ca30321965e36231ca3186b160ec329e33f618fb8c03c621e305e325e315e335e30de32de31de33de303e323e313e333e38b3296e388f195f18df19df183f193f14b85a44197f1affd885afc4ad6b8c0b8c8b8c4b8ccb8c2b8cab8c6b8ceb8c1b8c9b8c5b8cdb8c35836d4636c33ee331e3096378e188f194f949b389e327618cf1827182719a718a7191b8c338c4dc659c616e31c13f56826b2b84ce64c3c26be6261123009992c982c99ac98ac996c986c99ec98ec991c981c999c989c995c98444cae4c6e4cee4c1e4c9e4c5e4cf24c0a4c8a2a969b9498949954985499d498d4993498347f6b4719264f5a4cda4c3a4cba4c7a8ad789cda4cf64c064c864c464cc64c264cac4613263221f9364926292666230c9303199c891584c724c612a98ba4ce74c3da63ed38069c874c174199715d335d30dd3ad62418a8322c264ba63ba576a757a607a647a627a667a899188e995e98de99da9fce793e98b699e698169916989699969856995698d699d69836993698b699b69876997698fe9afb74a250bbeec5c5f8d7f3a603a643a623a663a613a65ea309d314d304d324d314d3335986698ca1e67995a4c7338e0081c17678ee3e1f838014e88b3c059e2ac70d6381b9c2dce0e678f7388cb11e784738e298889908c38179c08e78a73c3897d5e479627ce4be5179c3c4e01a78853c229e35470aa38359c3a4e03a789d3c269e37470ba383d1c5b297ba78f33c019e28c707ebd37e54c70a6380ece0c278193c449e1a4710c9c0c8e8993c5916de598c14c307399cd9979cc7c6601b390d982d992997a3d8dd93a2e1b665b663b667b660766476627666766176611b32bb31bb3bb72ab660f664f662fb522667966056645662566656615665566356675660d664d662d666d661d15e3cfbacc7acc6c667d660366436623666366136653660eb319b304b32433f994343383598699f98385997cbcc52c47021282844b624ec223e19308488424162496245624d6243624b6247624f6240e248e244e24ce242e2422125712371277120f124f122f12f9bf14b9221285b814499448944954485449d4e28b3a8906892689168936890e892e891e099b449fc480c490c488c498c484c49484436246224122492245224dc2209121617291df66d58a48582472242119bb7049f7070bc939498fa44f322019925c905c925c915c93dc90dc92dc91dc933c903c923c913c93bc908c540e2379257923792729af9ff120f3245f24f37179e9f21f58a8912cc49f4592259265921592559212a9936c906c926c916c93ec90ec92ec91b449f6490e480e498e488e494e484e493a246724132493245324d3f1c80d9299f850ae1cd72f594866495a2473a4202548b9a4e6a43c523ea98054486a416a496a456a4d6a436a4b6a476a4fea40ea48ea44ea4ceaa25850c38b079f8a3e447ce8f88f2ca4aea46ef1e79dd483d493946c274f4a7e5524552255265521552555235527d520d524d522d526d521d525d5236593ea931a901a921aa9cdfbd49854bcbd2283cbd494d4af937ea919a904a924a914a9342983544669ca94492a4bca2295230d6941da253d27ed91f64907a443d20bd24bd22bd26bd21b65fcff2508f9bf1391de92de7d5828c42c54340bb2a4f7a40fa48fa44fa4cfa42fa423d257d237d277d20fd24fd2b2913ce902e922e912e932e90ae92a69797b9d7443bdb2926e926e916e93ee90ee92ee91b6f591ea749ff4af38223d242d6f1e939e909e927648cf48274827958e48a748a7491ba433a44dd259d216e91c061802c3c5986378183e468011fe60e1df65a1f42915bd1c8c05c652b160ac30d6181b8c2dc60e638f71c090f809e38c71c18830ae18378cbb1207e381f1c47861e4554ec5286014314a18658c0a4655e5c483bb3a85239d43a3f68305a38ed1c090cdb530da181d8c2e460fc3c6e8630c308618238c31c604638ae160cc301218498c14461ac350edc8b1fd4d168c8c2a5fed20cb5f5828ff6b45182646562d07430e23470632828c4b664ec623e3930954a89209c92cc82cc9acc8acc96cc86cc9ecc8ecc9c86f8f644e64ceeafc5de6422622732573fb1c538b33c999fb0f16320f324f322f32793205324532253265250b7245642a64aa646a64ea641a649a645a64da643a64ba647a646c327d320332c3bfaac6ff9285783964464a2948a1c88cc94cc84cc938646664126492645264d2640c321932a65a9819d9318b4c0e134c81e962ce313d4c1f3350c785cd107381b9c45ca9370445fc16a264c15cff60c1dc606e3177ca46987bcc03e611f38479c6bc60469857cc1be61df3a128309f982fcc3c6601b38859c22c635630ab3f5990b8520adb3f9442f153621b2905c18ce930eb980dcc26664bb160b6313b985dcc1ea68dd9c71c600e31479863cc09e614d3c19435139849cc14661ad3c0cc609a98b2590b33a77692e6c7f8ecd32f16b290959f2ed939598fac4f36201b925dc42c5cc92ec9aec8aec96ec86ec9eec8eec91ec81ec99ec8c6a1b474fbb297789cf97f500d5f4b2915c7bbfccd4cbc9783741cb21159f9c41bd93bd907d927d917d93cd902d922d912d932d90a5959b346b6ae166cb641b649b645b64db643b64bb647d656d29ded939515866447b8294544e7d7ce7d764c7642764ad6213b239b209b249b229b266b90cd9035c966c95a64735860092c176b8ee529a7d3526f1c600558e14f16beda518fff4f6359d2aad15a28ed602db156586bac8d0ad8ad2dd60e6b8f75c03a629db0ce5817ac08eb8a75c3ba633db09e582f2c59bf8055c42a6195b12a5855ac1a563d560d43b5a566fdcab8594dac16561bab83d555c6d2ea61d9587dac01d6106b8435c69a60c9313b5833ac04966c3185252b1b58192c3980ec7f60415bcaf742f88305a50e46ea53b220f5826561e5c8414e9073c9cdc979e47c9501cb05e442720b724b722b726b721b725b723b727b720772477227726772177211b92bb91bb9bb7a5576151f50f9f96640ee41ee49ee452e4fae40ae48ae44ae4cae42ae4aae46ae4eae41ae49ae45ae4dae43ae4bae47ce26d727372037243722372637d173fed6854a29fc41815c32ff52077f8883f294aeda77dac811cad13ae466e412e492e452e4d2e40c72197226b92c398b9c6488f89097da3812eab77f7ca17ef82414ea271f9642bd25bf16ea65e7ad50ef7eee99cb8b83e0f8cf2c08f58ad259a83745d40179a10ea1df853a7efb14eabc615ea8135b45a14edd94853a1b51156aefb92ed4d66253a85da4b6505b085d81f4f9657d5b0df8cdc29fdaf1ef2cbc2fca5a10621684ca640e84ca938d844ab64c840ad165c42ac33819e4c86040bab7d28193be8ab4a5d23c48952697684e284ae47fae1073213c217c210221422116422c993f845809b116e2c7af5609b1156227c45e88831047214e4248e7a423c44508f9f555889b10772164434f215e42e48528085114a2244459888a1055216a42d48568685ba04d63fe370bc57f794dbbcdbf58104d215a42b485901de80ad113c216a22fc44088a1102321c6424c84980ae10831132221445288941069210c21324298426485b084c8c587762533ae70e7c2f584eb0bf747de51b8a17017c25d0a7725dcb57037c2dd0a7727dcbd700fc23d0af724dcb3702fc28d847b8dcb2d06efc27d08f729dc9770f3c22dfc6be44646b845e1963ea5f85e1dc22d0bb7f22e32ee146e35f6208a4a5fc88bb4ca3e08b726dcba701bc26d0ab725dcb6703bc2ed0ab727759c70fbc21d087728dc9170c7c29d08772a5c47b833e126849b146e4ab869e11ac2957d30859b15ae25dc5c7ce4400aca8f98f27f6af9bf2cfc9585ffd1e5fffd5fffdffff3ff03bed571c3</data> + </image> + <image name="image8"> + <data format="XPM.GZ" length="74946">789cd4bd4973033d92a679af5f9156bc958db1c9d8e33007915a2852a424527bdb1c6295b849a2289292facf7710ef03644dcdb459b7755fea53665a3e5f04230087c3e1703810ffe5dffef17433fec7bffd977fd97e67dff3e21fc55bf6f58f7f2b77ebf5ef7ffd7ffeeffff62fff9a44ff68fee3c77ef80fef5fffaf7ff9d7d9fc1fc53f5a1d3f08c2e0c8796db8f0bc6e7ee4e2d270d94dbb1d73ff9b3828a3d05c1f18aebc4ed73f72fd65b8ee763bc991cb17c7d591b3b6d80b3df3bc560a175d73bd2957c3dd4eb7d331efaf3770b763de579dc0be9e5ff51ca786ff1c9bdfe7af70d135bfcf0a7153bfda946f6fb8dbf5f4bc2c177b8167ee2f9f0d7bcdf5d23cff17f63bb1b9de716cde9f77e1a46bae174338ed1a79672d71f38fa97fe7dbb0df3c5ff5ff817d713182a38e296ffe06a7aa4fceef1bf99bf62b2e60e43d53fdfdd08fccfbeaade1a079beb9ffa5726c9e5f7fc3412732f5fb8443c9b37c8723b57731155b7dc92ee0e6df98f64dc47ed835f27de91b0eedfb5e7a96a55f2f5d3810971b38ec64463e91655d2faee1a85398f6b1cf4fd45ecb1b38557d569633b55719c0563f06702dfdc84ab11775cdf3670bb19f0446be1dd52fb2e57d291d77cdf51d1c8acb2e1c214f0f8e3baaef876353fe7c6e59ed9b4bdf22afabfe325bc245609eef499e71a34f6acf4fd857ffc93dc7eadf5770207d7e5b3836d73b051c4a7f57d7702cf9f907cbba5edcc089f4af3a855371fe22f6d2aea95f762ef6134fe5191b4e9af636fa92fb8e4dfb772f2ceb7df3398c3ee64b38d6fbe6a163f59f8565b557f7c1b179decb8963f3bce5359ca07fbf9675dd8f1d9bf6c94670aef6ae6e1d9be7e75bb8567fa8a68ecdf3b34cecf99e799ea7f2a4569fca2f3892fcbd396ccb5f3856ff7e84295fe70a4ed1a78d63f5f7039c7524cfd8b2e4555fc3b9ea9f0de142bfcf2ee14afd27977d49bdba6bca3b577fcb9af634fae6ef2dabfce5371c49ffcb9d63e98ffd7dacf678e9c089faefe209b6fab6b2acf277f68ecdfd9d08cec4a50fe7e84b6259f2cfbfe042f63dabc58dc135e599c161199aeb73d9ebdcd9cf27c7b2573f70247defae2d4bbeeb5b98fabecd1d9be7bd7ec189ec79b9756cae7ba79669ff12a6bdeb1d9cab3c8b47c792bf2d4faefbf3082e18cfaee00afdb7e5ad3de987da3ff74ad9ab4afa5358fbe12596d1c74f38517be51f70aaf275523893fc5ffee09cfe7406178c9f13b864bcba756cdabb86bd4ce3d75af6ab6cdac39467eec389dac7ffb3acdf571338d5f3477d38c37ebfc339fe897d7ec1f830864b95bf683bd6ef53d8ca57f6a274e3abfa67e9d792c793f4a96c065c539f0fd9dbaa919f91a7d7b7acf6bcb4d769ffe1b563233fefccb2ea7bf90c17baffe5c9b2faf7cb0f5c8a9f6fe04a5cdaeb35f633716ccafb24fb5a054924fb2dffa56edac3dcffb68419dfbd14461ff2102ef02f5ee052fdb3f30b57e2e75b18fbfb217b5237fe949197df776cea7bbf80bbb26f776f70e899f79f4770a2fa6633b8c0df957f5107916fe43f31fae5753ab5f4ebe2466cfdaffa034e642febcab129cfeb164ea54fcb5b3813bfdfc1d8b3eebb65e95bd9762cffdcbebf40dfaee192feb8862bd997975fcb6abf8efd3ded590dc4569ef58d63d39ecf7f8ecdfdf74bd843de2bd8a7bcbccf8b25cffb0c2ee4af172db8f4ccef2766bc685a8bf9c3600ce3df7ccce050f279b79ce8feba742cff7f0d33be745a30fa5f5e3936fa54d9f795b297974f70a5f70d6f2cabbdb2095ceb7d9d8365c9e329155b79551770177fe3dcb191ef4be6d8fcfe6e0127e8efdcb2fc8dfc59ece7e2ca8cefc7d6d0f38613b854f99f32cbaaaff70633de77eec5b6ffbc3c3b36f57bb0dc153f5dc19ef87e0efb9e69ffbb0a0e03d33e77af70ec99f678b3bf4f3dfdbe8473f5b7e20bc6dfbfb3d78bc094f73e872bcfd4e7debeaff6e59f8762bfabfadd71bf1f06a67c7b33fe7bbef55f3609cc78b7bc84938ed187f585638d376dc7a67ccb8163d3ff5fdf1c9be7ad4670da51fb1f60e637d53b9cabff3d7460fa6bbd876bb5e725d76d7f1dde3a36edff143b963e468ed53faee0aeea9f8d1d9bf6e90e2cf3fbc4b1f4fdc7b1b9bf9ec09ec62bbf07fbe8cbd8b1b9fffe158e349fb8e8c2b1ea3b5bc189dab348e14c3c1fc2e87fa1fee4fb1db577be839b19e191c7663ee5054d8734cf9f8470a0f16aec3b36fad1af61e613b565c6ab4f7b7f29fda8467085bf7109d792c743e5d8c8b356fd83664431f2184e2debfefb0fc7a63c4fb963f97b2db8abfbdfd6b0a7f7bfd48ee50fb51debf76398f9e4676059e349f509e3ef5733c7467e3ef56fec91ecbf7d5fa1fe7d5788fd6e60de7797c16960daef49e3491026b1ec81facb311e60fac775e4d8c87b308153b5df5b1bcee86fd7702ef9561f30f67c38862bc9bb5cc1b4cfabc6b3b0690fa33f0fa565ecdb1ac69e741f61c6bf871738d07877575b96fd7bc861e2690f3e1ca93f2c7670aef1f1be806b5fe3a5e41ffaa967dedf927e35d6cc577f7f82d3d8c867acf63cc62f4cfd4ebb8ecdfb26111c4b7fafde1c9be7fdf6e00cff650ee7f83fb78e4d79be62c7465ef3165cc83e968f9665af565770a9f65e0e1dcbde0e1c1b7d5cdc3a36ed5dade08af1ce3e0ffbf87c22b6f6e992f737ed659eef2d1c2bde95c3d8abce9363f90f7770a301a6fda8dff10d463e3730fafa36b2acf7f95b38d7783545de8d7a98fb1f35be46cd03cdf5a1ec6b6ce793df6d3895fffc15c1c42bd69770a1f6fe6e3936f75f9e3b36ed751d3b36f5ddbf3a567fcce04aed5dbf3996bd2f2c4bfe1f53cbe8b7f43fb6f1dbfb77d897fd78d939d6f85258d6ef2fbb30f6a8933b56fbfc3956fb3cc0a1e65b0ff6f7b4cffd9b63f3fe87398c7ffae03956fbbe39d6f30238211e7c0d67e2f20626be52daebd89f4cfa13fb99c6a30c7937fe9beca1da3f0ee9bf1fbabf999d48fecb119cab7fce9f1c9bf6bd0e2d4b3ff66f70493ca20557d28fd7856373ffc78363f3becf17b896be5c521ee7bf6e605ff57b9d3836edf5dc766cdae7a1b0acfacedee1007f73efd8b4ef7006879267f7c3b1dafb118ed43e4f154c7bcd2fe144faf6905956bca3e4f93efef9fb9b655ff1ad9163f99fc8cfaf7d23cf91fcd3d4c63bae5ee10cf96ee05cf6ec6d05e33fbce57049fb5e58967cd7e78e4d795f5f1d1bf9fef6e14aefffce1d1bf9ac8696656fbf33b8a67c2bc7a67d4f3dcb7afff99d63d31e6f3ccfc3bfbabc87b1a7cf3398fef8f06a59fde96e09877adee21b8e647f1f2f1c6bbe52c3b4d74308a76adfc78163d98718b6fdf116269e15d8f795bee2eff67995e61faff6feda37e519ebfa31be68da7f3d746ce437cf1c9bfeb38961fcbfc1355cab7dfaaf8ecdfbae13c7a67c7bd9a3ccfa1ffb05dc653de4d6b2faf7cf00663d67d0857dd6f7c670a0fe335b5bc6de9430fde979ea58e367cb32f62e732cfbd8766cdae36e05e3cf3cdbfbb1bf57bf70acf9e7a50727f46ffbbc44fecfe3259cb1be67cb57ea79cba563f3bcb1c6fb2c88e50f9de87a6ed793965730fec83c776cdafbbb80f137d6d730f6f064e5d8b4cf87ec4fde4c9035be3ec08c57179e6373dd3b8723f59fab8363d37ecf779625ef29e56fe465dae3ea07c69e0d1298f8f8d32b6ce5358119ff1f1696e91ff67dc4d776927fded83ba39fd3b9e540f35d8d4f85f5ff9663187f63f8eb58f6ad804be6bff6fe8a78cddcb1b9bf923d3dae679bf63b4b619ffaf7e040f2fb3d716cca3bf0e050f23859c091e4df99c0b1ecc57405339e77298fb327b770a678e1d31b9c6bfc7eba860bd9a7a7956373fd71e858f25fc2e8efd38d63fdfe9fd74df957155c6b3eb576acf9af4f7d9be1d7d4bfd8c081c6af620bb31e7a7f09c79aaf3d3dc06964caf3287d2e1af595fd45be519c18797cc8de97b6ff8cbb96351f795dc395fc8dd50466bc39687c283dd63b2f2f605ff6f1fed3b2da6bb48503e9cfd5091c4a5faff68e4d7f388fe108fbeb3b36efbfa37c4dfbca7e4570a6f67ece61db9e73c7e6f7de142e15df7aaee04abf7f5a3836f77fa83d4b3f91ff30eec1b9daa745fd8310ffa20d136fbeba862b5d5fe8fd4d6f55ffbb4e61fcf97901d79a1f2fd4be8d37aefeffceef9bf144eb0723d8537f3aedc08cdf8716cc7aeee5c0b1e6e3b730f9128318ce984f1d2c6b7cb8a7bc1ef1eb81e582f8c48965c9bf5b3a36e57fa67e478d30fa3a862be9df932d4fadfef3b4766cae079a6f54cdf068deb7e5fdbe17c81f9cc3d89bc737cbea2ffe9765b5dfd50d5c30ff3e580ee58f3ec2756cfaebb3fa67157435df5b4bfeb56dbfe504667e3b5fc095f477aefe5e37ed67da635ec3e4bbdc1696d59e873b38d4f5facab2c6a7ab5398f17abab0acf63a59c3b1fcc1abbe63238f431bce3cd90bcadfd847238f531f66fdf5bee5d894e7d2fe9ef5a73283f1579f4bcb6acfceccb1a9ffa37d5f2df6353fab7dcf57bec3371ca87dca3798f5875bca13f8a1916feb1cce7de9d7135c84b2979a0fd561159bdfbf9bf66f660f85da6370059792cff04f6ce3b1df25eca9bdfb9565d9aff13fd9fcfed6de1f4a7e03dee7915f74b88763e61ff67d09e36100a792efc93bcc7ad1b3fd7da1fe74d982f1072e7dc7e6f99b1c66bdf8e9ddb1d6f7cfc5c712197bb973acf67a756ceadbfd73acf58515dc55fb3cf71d9be7adcf604fcf2b1730fdb55a5ad6f33cead3b4bfe9ef5fa165f5f787133894fefa1bcb6aff4bea17d4cad7999bf6f7bb4dff34e5bf69c3f8f76f6aaf6e636f355faa60f2ebea77d8d3fd9bd4b1e97fbb16ec335f7f752c7dc861fcf7cf0e4cbec2856f59ed3b1c3a36bf1ff560fccffe1b4c7e4db9746c9ef77b0ab37eb95f3a36f53b2b2c4b7fae7630fa76985a963d19447026fdbab3f2c875bd837c3dfc09dfcaa3d4f5e707c7463fbabf70a5f1b8fbe658fe740dd78c1fcf8e15bfad1c6b3d6c263e96c0e8eb15ece1cf8d1c9be73df2fc663c30faf47e0d87f2d71ee770247fcd0b1c9bf25fddc2b5c6fb92f60ed0ef1bd5dfb3fab4b883bbc46b9e1dcbfffa80592fbd5d58269ebf75acf5ea111ccbfe9fdfc389ecfde5a56323ff8b294cbc6310c2b9f4e5ea1b26feb55c38d6fdf6f7a5aeef2bcb924769df5fc97e3df72c4bfe9799d8673dab1b5ba63d3f61fce1a719ec891f6f601ffdb21c6abc784be148f20f1696650f3ccaebc7c40f22c75aefeac289ecc933ede16781fc8727b8d07c6aa2f2fb36fe36577ff69bf656fb2c2c13ff7987599fbb0e604ffafe56c301f1a00a267fe9ca5e677e3f5dc3e4f7ad4bb8507baefec9cae77986e95f4f5398fef572e658fd71e658f122d92fdf271f637569197ffad5b1f213a68e154f7883a9efd3876353bee5394cfbbe5c38967f70ed58faf04fd67ae78965f5d7e71738d0ef9f3e1d9bf79f227f3f94bd7b4de158d75f6bc75aefb3f58ff5fc871e9cc89f7cdac3a5f255ef904f335c69be833c833050fc8bfa07b1d69766b47718868a1f1affd83fae2f9aebc38365d9cfea1b0e88172d61fcfb5bcbcc9f6e2b3895bf3ebc746cea3f3a716ceabf5fc1ac67970f30f952173398fca247fbfc5af27ad1f8131c3d1aa33f014c3ef6f31ca63d1ffee040fdeff1160ed51e5e1b4e7cf37ccf8753f907cfef9603cdd77f60fcdbe74fb8d47cd9abe14afd3ff8b21c187e8603f2b93f2d07eaff0bd5bf199d65afd75730f1dcb9fa5f68dbef2683c9bf9e5730fdfdf513269ff6b686c97f7db4cfcbe4bf1decf3c86f3bcbe152f21dbfc395c68717c93bb4fe5a87f71f4778737d00337e7578fff11746bfbfe088f8c3c6b1ecfddab26fe41d2ce144ebc5fead63f5977bcbd2f7c7059cc95e777b8e95df7201577a5ee7ddb1e6e3b25f6198f8f237cdfca2291dfed82e8359dfbb7d83c9cf7d8861d673ea21cc7ce7fc01263feb2c812bc5234ed49fa3c63ecabf492ccb3e79b7b027793f9f3a96ff7d09fbd2f7e11d8cbfe83996fe3f3fc221f3e3b965ecd32f1c69bcbba73e8d3d937f8d3c1af96a3de61cce359e77ef1c9bf26d22cbcadf795cc285fa57b0b5acf8e358fe7f1424b26f63fd3eb6f1d67917667fc9571bc6fff9f41c9be7dd9430f90c17014cffb89ac3f837f5dab2eebf75d765efceedfbc827ab0f8e4d7df7f6f7ac8f5e0e1d6b7de19fd74dfd4f35fec5d6bf197f5856fb9d8730f1b1ee25ccfce5ac03c7e427a49635be3c2fe084f1d43e2fa1fd288f6dbf873e5ce0dfec1c6bbfce00aed55e2f9437f0a45f575338145777702afdea208fa00c8d3c5ab46f98c8df7b97be27767d64a2fe90d8f950b583593fb8df3856fee50aa6fde69163ad9f179625dfdb5798fce973fb3ef261fb7398f1eaefd3b1e63f5bc7461e57b22789cf783be8c0e44f8d3f2dabff9f3fc2b4ef60e658e3e11b1c303e52dea38537e3ef294cfca65b58a6fd578e35de3dc1f827dddab2eeef2fe044fa7c3f8053e2df5bc71a1f0338c3be7830f1b1e78163737fa70b97b2b75ee958f6edc2b1f693f41d6bfcd859563edf4b08577a7eaefe910489fcd396f42d0989b77ea8fea9b50f5f094c3ee06d0667b277a36f987cebf79665e2df5c6ffaafe2f55d98fcb9cb028e99bfbe5a967cbc7b18ffa463afa7bade3971ac78f3b763cd37a730f9719d158c7c3b6770a5f6ef9e3a56ffbd75ace7d9df937ff4a8f12b6d1c46f3fb1bf90bc7f53bf9937b38537fb95dc1cc1f866affa674d2a703bff7c95febd530feb47f0ae32f5f8630f6e1e51d4ed1b773385379bdae63cd4fd68e954fbe84738d6f97f6fd25faea3b567fb9b48c7f679f4f7cfec196b796fe7ab163ed17d4fc290b3a8a27156730fdff656159f6d67b8519af47b730f99053ae47596cdeb790fe1cd723b5fe18c2ecffb9947f99fbe4b38d5796652f467f7057fefbe101f6648f2e478ea5cf154cbc633e8023b5efe0ceb1f2d99fe058fe4af707469f4f29af9f93dfd3b32c79bc5c3b567bde3836ed736fcb57483e8f33c78a2fbd3936cfeb6fe19af8d3d232fea2da330f3ad217af037ba1ae53dfc69d37cfeb7c38567fbb844371f10d47b2d7f514a63f0ee41fe78d832ffb487dc244f1e731ef0f33ad273c6a7e9ac71dadcf8d65bf0a1b0f5e4f61e2bd6fef96657f16cf70a9f61d9ec0e4b75fa93c854ffe5cff1b66fdffb28433e6fb2dcbb4cf0446decf678e757d09938ff178e758f9f02bc7b23ff78e357fa73e4d7f32ed17ac1c6bfd88e737fd49f1c008667e313e856bb5df44f22ec25cf3efb1fa6f69e39d570b3893ff7f53c0eccfb88860f2e7c67a7f69e3d3af63cbac3fae61f6078d3730e3f9d31d1c6bbe78613951fff372d8daa70e5ca93f3d0fe19af813d7ad7ff6b8b6acf950f7ccb1f63b057018683ef709c7e289fc4bb7fef758c0b5e2c167d28fe3fa99ecf71826dfebf008b39edb9dc219fdb50333febc8c1dab7fa93d2a5b9f4e1ff6d10f95b70a8350f3994b38d3fa5ca1fe524589fae758f6bff6d8cf7b2fffbef6c96ffa1d3bd6fad50c26bfe9e40093dff47b0693df315e3856fb2de144bfbfb887f147cf9fe08cfcd5c8b2fcada1bd9ff5b1f757b8263eb977acf9a1f4a16efa83fcad3fd857fdbb3caf196f94bf45f91bffdde89757c0c443475338d5fb3a1b3897bc3fcdf81874bc48f6e4fe0b66ffdddd075cab7ec39ed8277fbdb786599fdc6430f9300f0798f58233de17309e0d968ee52f0796650f5e3c1879bc5cc11ee389655ff27e99c28cc7dd051cca9e3c6fe128927c6e60fcb1f11fcc78f5710b137fc89fe05af62f2fc5cd7455f3d33bd857ff7b4960de77e7c365ac7819f20d9b1631f6e45c9c4699c67fd37f1bef83f8cf770db31efb903836ef3be77e9ff5e54ddbb1f235fbb02f7f6eb3b62cfdfcfb8103b5dfcf25cc7ae5e8d7b1e2b1119c2b9ef1915b96fe9d3fc3e4339d5c3836e5fda91deb793b98f1e685e71fef30faedc11efe86ef58f38b11eccb3fe89ec391ec67c9fb8252faf849f9c20efb9f787ee4c7da6f64c6afc0b3f19ef3164cfe79fd03335f18dcc3e42b5d4ee054f6c47f1137ff46f94b7398f2de0de140f6b4e3c1b1ec7d7705e7daaf71627f4f3c66b3874b5dfffd832bf59f9ce737fe8bf497fb43d6df072338d47a7b91c191c6b7abcab2f479d28329df53471c05f277f30b3855fca0e4fd51217d9f49ff7db73ebe84d91f7efa0657f27f965398f9fb40fae65b7bbe59c1c4c3ea4b3855ff9ccc1d9bfafd6de04cfa3ef9840b8def27962bd9abfad4b2c6bffa0cc61ef4297f407f3aad61fce9877338953d7a89e142feccf90cae94df55aafd8e0165ed37d8c381f6238f797f237fe51bf99623238f5909a71a4f8796d18f82fa45b9fce51fe96b60e77b571b187fc0bb8073c9ebf7dcb2f47df201d3bfaece1d2b7fbb0d57f477b55fd0f407f9af2b3850fbdc0d60d6f346d730f18207ca13b01ed02f61ceefe88496157f3e55ff6bbc0de95ff606878c8f1aff1a731119799dca1e1de3f546fe3dd983d0c66fc67318fd3ab3d7d93f305fc1d8bf89bd8e7cc65f30f2b87810dbf1d14f619ff89f0f67ea8f2f6abf3064be5a1630fe6b593a567cd67216693eb38591574bfa1d46f4e7a9ca1b79e437fd5ec1b5fcad83c6f3c6dbd0f5c902461eef014c7d2f3a30f929938d63e507aa7d1a6badf63de17a40be49f700e33f7e6430f335ff13aed47ea5ec5514b2bef8c8f3222f347c6ae64b4def643fe997ecfb31beabfd4a1730f9aaeff730fee1f014c6be4f5696d5de671f30f9be75dfb1ce93f985894ffddaf755924fef551c90dfd0cde050ed731ac1b17e5f509e80fcaed9c8b2ec873fb5acf9c68bec4d7c3c00c8c887e7654926fba2f727363e71217b951c17b88fbccb615ffec7f71ca67f9efcc0a9ea3f59c219fef8354cbeee251c109f1bf0bc80f5abee1e265eddddc091e4313a83d9bffc3080b1af37b24749d855fff9b980d1a7eb5f98e74d65bf93b84e4cfdbfd41f53ebff6e3e60f2bd4ee796d98f7109e32f9d5530eb7b93354c7ecd60e158fad2b32cfb34907d489bfea1fcf92f38607eff0d87f29fcf3c3861fff6182ec897f8854bb5ffb3f4256dec89ecf73dcc7af797da3bf3c86f7d847df6874cde60f6fbbe6770a1f1a2fe834be9bff70d13df9949be59403edadf17dc957ef83cafe90f9acf3fc2ec5fa8cf2d4bdf4ff6708cff3a81d1c7fe1acec81f5d5a56bca1a47e41a1e767b2bf59483c291fc1a9f46722fb9845bee479257b905bfb79bf85d9ff780afbe4c75fb461f23dea13b862bfc40026dffc5de35b7e9cc1197d2e60d6236bee0f588ff41ee05ce3e5bde49187e4df4de49fe551207fe053ed591c57408d7dce60ce3bf86cc1e48f4dd45e45c0794bdd5b98f58cf30e8cbdea0e61d6b7bc035ca87c97b2374548fce8620347ba7f18c1ac3fbfdcc1b5fc9fb1f4a1883ad2df990f573a0fe541fa56fa9cf7f6fd0663cf0e35ccfe84877798f1fcefd7b1f97def03663fd336b32cfdda485e65407ee5d7091c481e1fa965cd477f2ac71a0f285fc07eeefa0246ff860f7026be1bc1c4b73dd9e3a6b787cae78a60e2d52bea1bb2fefbfc0d171a4f277db892ff38927fd4cc2ed4fffb96d187fd3bccfac2aeb2cc7a8cfa4b65fbfbe00de6bcc0af3f38e4fa231cb11f40fa5135f65af90d1b3851fd8a1e4cbc2d933d6bbc03e9576b04471a4f66b29755ec45caa769c3bef6bfcfe45fd45ea9f8d3a9ec4bddf45fd9ab03ccfe9fd10f9cb21f82dfdbf9c683fd3df38b2fe9536de5713d87c9bfba7e736caeaf3dd8d77830dec2a9e627a7318cfd38a83fd621fee33e852b9d57e93fc275a4f3b8349ed611f9b817942f6a3c2a333ef2fb388fb5ffc7d8d3f098ef6bdebf6dc3a1fc87fe1e667fc0a082c9673ef91537f5d7f902af30f963973730f189b30c26fef03b8039fff2e2d3b2e6bf0bde1f75649f272adf31dea1f96f01b31ef239b7acf21e3e61ce0b1bed61cebbba68c1e497f7ec75f263876730e721ae3be2807cbaeb058cbf7abd86638d978b2d9cb31efc6c59fa5d5ec0369e62ef277e3e5889c354fecded18ce980feee052fec3d2de5f6bfe985f8923e225d35b38d1ef1f8670aefd134f5d71631ee4ff493e9e4ffef3dda76353dfcf36ccf8d63f1137f6c0b4df640ba7ac4f7dc1b5faff992f6e9ea0fd8e5770287b389ac185c68b69224e3a8a57cccdf81ffa763de5ea1d66bfd24502b39fefe71ac6dffee8c2acd79cd570adf179782eb6eb899bd2b1f6633dc2f4e7fb0bc7465eaf23c7b287af30fde19af2da78eff5079c91cf1f3a36f5fbdbc2c4a72f9ec421f97c275c0f3dda83e787e453df9cc1f8cbb71371d4657e1dc0beeccd534f1c2789f28ba4ff7e833a0f41f509ec7cf23183d99f72fa6599f8ca022e55ff8f08265fe72787c96ffd88c501f93a9357c7e67d1796d9cf3078813df5dfc313cc7ef9df8965c97765af076aafeb254cfe5cef6059f2bb5ec1aca7f8f679b9aeff048ed5def6f925f3c1115c4b9fcfa57f41887f31431e719e68fe207d0bedfc75bf81392f6f74806bc96725fbd2cc3675fd3383d1c7410d33fefd0c1d1bf9f7ce2dcb5e793730f1ba8b77d8e603daebac979da9bdc2668430e5b9fe8189cfdfa87f34eea0eccf7c0433fecf785e94291e3f9d3a36f279943e8571a0f33c6e656f9bd6517defbf61f20927194c7eedc0724e7e500e23bfdea7639d57a6f7476e7cab61cee33ae37eab2ffe02e6bc844d0197f2e7ba13b8927cbad78ecdf3fd3318ffef4af28a1a799afe301bc281c6c7a20f131f9df1be90fd35b9ec5314911f5bece158fe417102a71a1fae646fa2b42ca4efb2efb14ffec96a0ab3bf63aff68803f2cf3f1238943dfcfa71acf3905e61f255bbb2f771c87a63f006fb8a8f8ec630f90953c7d28f600d579a2fac4fc551ca79dedc1f158a9f4ce5bfc44994eabc0cf5a7c467bfced5079c936fd18639cf6facf22536def799c291e47ffd09b39fb8abf72721eb61a37398f58dfb6b98f8f2d504ce35fe7bb26749d489e4bfddc091e2cdab011c6b7d70c6f39af634d7976796e53fbd25702effe0fe16ae25bf278dc74963efe55f4b1f92a4abf35326ea2fa9cf7e860bd53f0d384f6bd0b2acfef453c2e4c3bdee60bbfe54c005ebdfeabf69a3ef8a9725702afd3f0be08c7ca22b98fda16bf5cfb49187e633bc3f4a942f5e2de042f66658c195ceabbdf813c71d5d9fc630f1a49d9e9fd978dff9dcb1f65f491e59c0f96397b796d57f26fcfeb88262ea77706ce473fa0793ff53b561e2f137eabf991ddf7b2b98fce1610897d2a70cb6fd3bd858d67cfb35812bd537f3c47157f2984ade59d249349eea7a1eb01f64f309339ef40f96d51f268563c9f703461f0edf30fba3ceedf34a8daf9eea9787c497cf3730fef7c533ccfe95750a939f7437866bc523eed57ff2c6dfd1fae10466bdecb5826bada7ddcbdee54947e7fd5f4bbf0b9ff5f589ee2f02f24bce5ee148e5bdd9c089ae571d9878e1c51a2ed59e67df30f3bf73d9d72224bed07d71acf9620a97e45f7d38567fe4fd4dfb2b3eb0839b1a1eb9cee05aeb7d934b71dcd57cfac9830bd9cb8efccba2b107e6fd531ff6942ff5740667a9c66f95a7f439fffda68273f5876d0b2e654f1edbb03d7f47fdb5b4f1c4d50b1c69be7a5e58667ff59f63539f871dcc7a6f7f0c27c4679f61e2ff375f8eb5bff70626fe7a3281195f6f787ea39f8ab7f6e080f1fa0ae6fc95730fc67ffcdcc215eb8194bf5147f5df082e896ff3fbc4d7fc6c1a3a36fa762bffccc56f0e927715902ff59559963ff319c2c4636f3ee15cf6e4a70bb39ff25cf6a00aed7e09d98faa996ee9bc009e1737ff98f23cc1e8db54f5a9922031f59dcbbed6d6dffad0ef9bd9affccdf7c2b2f479b38113f253d696d59e675b9878f5c50b5ca93ffea87fd621f987bd33d8d37c73398763ade79ff3bc90fceb731fc6df2f1e60faef90fa34f645e71970fdb80065e4318503e51fb6aee090f1378063d9db9d19bfa28e5d4f5a3dc09cd772bab4cc796a1f30f3f3dec632fe6b05b3be3db1cf4f658f6709ccfaf0fdb963f3fc9b2d5c101fb5efc79fad0371487fbdbb807dc6f33ecc7ef06bcad7c85bf383039ce8faf81bce359ef53fc591cd27f982239d1f90717f1c4bbed746df9bd6c03f3bddc0c44f7b3b98f5dffe155ca8bcaf1e4c3ce8e4dc32f9fc2398f331de7dc7d25fc9b7db5457f6e51bc67e575d187b35cbc5cd0443fa726559f6e0636159fecd54fad08d0bcd87a61db856bed2b4eb58e739dd88d3ac34e5b930fe6c748cd7687d750d63af2e3298f597d7a165e209d237cffa6bde16f6585fdfc1ecc75c1530f9c4c347f1b145ccef2d737efb5908b35f737202130fbbb98219af6fd41e5ed37d351fd4fb8f1b1eb57fb105d33fce1796599fc961ea7ff606b31e5efb30fbcbde2398fdb93de9fb311ea3fd691f7097f800bf0fc907f40630e77d9ded61e63b7de9b71fa12fb79770acf9cced4cdcd457fb131fe158fe4aab0fe7c47f5fc4492321a36f5d38967fff2bf90536dfe6f75adcb4bfece70dcc7ae84f07e6fc9dd35fb856ffbdfd13db78c0e60be6bc98d31f98f5c1db1ecc7efeaa05c77aff6ddf32fbe10298f5d2b303ccf87c2a7b774c2830e5bda53ecd78aa780bbf4f9a0982b157b20fa19dcfded430f1bd9b57c7e6fd077b3fdf1f797b81596feaab3e6148bee4a672acf5c477d8973cfab730fb2beb1066bce97660e2c5373f30fb7b82b6d88ec76796638d6fb3095cb37efc6339d27e0fb55f1877946ff27cb02c7d79dec3dd58f9ef6338617e7aef58fd51fd27b2f381af254cfb5e9730e3c9db8765f5f7f91a2ed5be1fd287c8fa5bb7bf30f1e3d31398fde7bd394cbefc99fa6bf340bd7f7a6559eb4be7df30f9d9b331ccfae50bef8f9a0e66da6b03272aefcd299c6afe7ebd83599f1bdd89634fe3fdfb044e949f777b0f93ef73a7f1f8984e2dff097925b5e2b133f5a738e0fb2bbb020eb1df35ccfae36b17667dfc3a77acef9f5cc2ac6fdd4a9eb18d1fbffa30f91a27df30fb49ce249fc6fa882f5f61e6e79353b8563e4fa6f1228e3dea7f07e791a9df770a975aff9d3e8b1b7ba5feecc14962fadb42fd2f09386f6ebd85a9cfdf9f63e527daebe4375dacc4cd78acf9c91e4ed4bf263b98f86da5f72711fdfb6a00b37ed19f5a96bde95dc191f4cde77d11e7c5ddf4e042e3fda5f43f8939effbe61aa6bfdd3ec08cffad2798f5f4bb589ce4f227ef355e246947f2fad2fbd3a6fd55de1fb8527dae0bc7ca2778b3acf65dc93ea44d7f34f2febb82393fa0ffe758f1b96f9878c0d7c1b1c6fb8d65d9433f87593f9b50bea8d2f8772d79a78d7f237f48f54f8f0945463eb22759c0feb6d3154c7ed785ec51d6b4b7e4790ab39e363d81d98f5b687ccd1a7baaf2fec029fb5b34fe6731fe5a710747d2ff8b1fc75a1f1bc0ec3fca7670a1fe716d9f57ca1e64eaef59d2d57aef94f22421fdc18723b5efec194e63f9f74f7026fff046f631b7f2787b86898f5f5470413ea8e4738cb7287fc5b3ccfcf80cc67f3dfb82c9d77cebc0e493bc0d2c4b9f6e7f1cebbc801d4cfbfb639878474ffe4a1eb11fe946e367ded80fcd0f643ff224623e4afd9244f2b8953dccd3aee6cf5ff2070b9bbfb17e80592f5c7ec105f15fe9671172bed1c98963ad97f0bc46bf8c3e9cbf5bd678f513c2b1e697f3299cc81f7f3f83995f9e4afe858def3e8f2d6bbef3770f678a07df703d4e15ffbcb9810be9cf8fae9776bde2e412663db2df87c9af5eed61ced73c537f2a6dfbf78770a0f6982730eb2337ef9625dfd31e6ccfffb986d9bff0697fcff93ffe1c265f653174acf348642fcb88f5c16e17265e78cbfd11f998c12b1c495ecf299ccb7ebeb461ecabf70cd7f2af6f347e97cd78adf3bb25ff3209e48fdfddc2a1d6d7efa94f9229fe317b844be9e7bde45b057ccfea42fa55859cc7d4fb81bb1a7f5e2f61e47f5ec2c493efcf60cea3587ec3e4cf4dffe04afecbb5f4bb6ae4a37cba019c69bc1a5dc015fa257dade24ae3f535e569ecb1d6f334de54c70f101abe8353d5f78edf37f648f18b27b84c759eacc69f2a8db4bfe35ef6ad6a0ca2f2b154dfdaae9f1e5e617bbedd0c265ef5f00db3fe7bfa6959f2fbe8c39c57b5ddc199f465f503131f5bfb96d93f7cea58e3df04269fe5e4d6b129cfb4e758feea0266bf66d73e9ff9e5f66059edbf81edf873f20093ffe93dc1b4cf9dfa571d77351ef9c8a77167b57f8fe7c5e4dfb7649feae307284dff798153e5573d6ee10c7f94f7a71db57fdfc8233ec68b8c3c9733f1f1c01da3df254c7b7c70bf9ddf4cfb96593ff5c411f3c56100c792c7ba80596f7ebe8659df799f8be358f3a3d92d9c6afde361246ef451f92ea1b8f197941f4379d26eaaf88ad19ff8f8794a9dc7db81c98fbee5bad5cfbd65f69fdd2c1cebfcb900261fe1e0c3f8db9b3b187ffe6f0cb31feed783895f4dcf60d6833ee088fd4427f730fb07fc73c78a471fe054f3a5e7095cc8bef5787fd3c29aff0c60cecbbaf88213f2911ee054fa3439b32cffffda32ebb9590cd7ba3f57fb1e3fe7a8f8c6079c683e7617c1b9fc9f7b7e9ffaa9cecb0f2c678a7fd05e6928fd7d3a85a354f95e928f77cc3835f599c3acefde6ec476fcffac61ce4be8dfc0cc3f773e4cbc742a797b11fbe5c6bfe2469e5a2fbf8643ad67b79ec54d7f94bc6770a97ca88df4d5b3fefdec058e129db77601a799ce63ed8ab33033e59baa3e7ec07962fd33cbacf74bdec703a94cf9fe068e951fd081590fec7dc3e8ebef0d4cbee3ce83c96f3ab5cf67bffba7bd9ffdb71fafe2e3014b46fe94cfaddf0530ebe937bf30f9d3e39db891aff263c630fbdd8a3f3893feb5b89e10afffa43e492c7bf13ab51c6bfff9a3388d32e58f529ecccb242f333e1eb783489efd5fcbe40fdfc2ec477cdd5b667cf261ced73e9b5b963c7fbb30e3d3b7ef58e7db6e61bb3e7406937fb291be0711dfebb8567d8fcb67b2178f30f93b9373187fd2ff804b8dd719e56bf455f9696f70a4f9cc97ae37b363f299ef61ceafdeabbca19d2fbc3f38d678e1c17ccfe2a2706cdeff3781d9bf73b3b62c796e5f60e2d177e730f9c78753b8963cbeb87e5c0131fa700b47d2d7d98965adffcc2e61becf554770aefc9bb72ecc7ed09b3e5ce9fa35ef6be4257f9cfa35e3afce7f1b8aedf8f4a7f68aec7a42ff128ee56fac6630fab4a961ce8f9a5fc085ecd7d71e667f6f6fe958f1bf0bc7f2af355e4411df3bd83cc0acef2c7730f950639edf8c50cac77c8303f2410e96d5df3e2730fd75c2fbadff39a57ecd78a1f3b4b8bfe9af463e33e9579476154fbbe3fe344894df730d67eabf771abf623bdf3948fe8d42a8ffde72dde65ffc9d3b563e6306339ffb3b716ceaffb9b02cfd3a7f85393ff17305dbf5367b3ff2ff5cc3b5c68f9eec71dcc85ff6fc17667efcfb09b31e37d9c3e41badecfd9cf774cdf5c6a3517c610467f2a7ee6ee04afe40a9f1366efabb294f3e8533f997db042e94df78db816be50f9c483f9290f37ddf9f1c6bbfdf1a663cf624ff2462fdf3cbb7acfacf7a30e77b4e2fe058fc51c29c4fd293be24478fd4d8ef4bd897fe5d2670adf9f44cf54b928eead7abe03492bc7fe18cfd09015c6b3c9ec9bea521e71f4fbf60beaf78d8c1e4cb6c73c78ac72d2dabfddf9f61bbbe699f47fef5df059ca9fd7f65afd388f599bf1466bde42b8033e98ff70eb35fec44ed9336e383fc9d191c315e5ec289faebb080f93ef8e795637d1f5cfd234dd8cf7e5ac2a5e25ba7d4af919ff6aff3fca682a6fc07dd9fd9f9eecd12269ffaf7d2b1e4f502e7e44f9fc2ec0ffff51dcbde9d3b567eb0ec6fd3baeaafb33fc7da2fc7fb22ce23d9f660f2f1be033857fbadd5df9ad930fd8ff2c49cb7f297c189fadb9fe60359c278747b6b59f21f50beb44a35ff55ffcfc3947ceb1798f9d67b07e63cf0cf18e67b10a77a7e1eb1fe36ebc39c2739cb60ce33dc058ee58f0c2dabfd6fcf61e2b981c6a33c66ffd7dfccb1be4fccfdb12ff9543ecc7eb2f70a66fe3d957cf284f585a7119c4a7f5a8f70adf9c39fe45fd8f5b8dd2bcc7edfb305ccfceafe00f3fd92d78165f24764af8ac6fe6a7cf880594fb93b83593ff2af60fcb96bd9872266fffb5f0eb3defbc9fb8e23beb1e7f2571beb1a4adecf70a9fcc533b5779192aff5a8f942d128a0e2b9924f69d75b3f2398f8dfd912c6febe9ec0ac07ac5f1c2bff6d05e3bfffc97e968d7d96fd98c2ece7faa82dabbe9fef30f96b3bf5a7f2f8414273ff391cb0ff7508279a1f7d9ec1a99e37e4fd4dff90ff7a0d77657fa6963dc9f383f227befc87a9e45fa689e2777dbdbf0a39dff5fd1166fd69750767b2bf872f98f3ad7eedfde493dc9fc2eca759a83f5611fb437ba796351eaff97d443ce5ab867de20f7bcbc4977c98f31ab7df70a4e7f905ccf73467f67db9e64b95fa7715f33d90cf298cbff6f700871a1faf4fe044f3d7e209ced59f6fecf55ceb597be475d43023ef095c13df1f5ad6783292fe574d7baaffb660ece5e70e4e353f69f560fc9516f7a77c3fe6e7dcb2d6c35befb0affc99f3a9658ddf97d2af2af352d96f95ff181f34effb7d8669dfef25ccfadadfd0b1f65f6c61daff6f6459edfba3f7d791c7f9b4b7704e3c710057ea0f431f265ef87d6959e3cfafe6fb758cbffe49791a7baaf3835b96e55fdfdec0c83f97fdabd38ee62777d43fad33ed3757fbd645596a3e61fcfba6b538dfb43fb02c7d3c3cc3f497bf33187b33ddc2cc577f9f1c6b7e3ab6acfafebec0c8f396dfdbf9edebc1b1be77dc73acfed981bbc4d76e61ce2f7aa37c51a0f7f5afe150f67cfa0347e417dec17cbf6a667f9fcb1f3db1d78977fe4d61cec7fcbc10c7e4fb9ff2fba3c53872b6172785f89bfaa785e25dc39d3823fe751fc165a1f883197f92633e9ad6c3747f3762bf5b3f85d1bfbf6bcb6a8ff7180e99cf0ce1847c9f1b98f329830aaee53f6c25afae8d4f9fb461fca16d078e157fb81dc0b5fc6f7f2d6e2462de17bcc3acbf5c533f1b2fcc12b8943d3850be34d0fcfa368423cd172fa86fe3d06afe2af91e3f8fadf3f066e2a22e15ef57fdbd90f3f56e25cfe30790b51ef308b33efeb0b52cf9bd7dc281f4e310c0ec9ff968c389e4e3bfc17caff3700e733eb0f7218ec9cffbeac3a9eabf19c399ece96f0597b2e77bc9cb4bc9b7b82ac55963d0cdfdaaaf6fd7f70e2f30f9baeb36ccf7ddeeb68e75bd25b6fdf3f701f6d45f4e7ab0cf79b41398ef93072a8f1f735e887f017bf8a70398fdd19fe77028ff737405b3def5790a632f3f478e154fe57969a2f580ef0e5c2b9edad7fb031bef3c7cc0c48f7b9ed8f69776dbb1bea799c2cc2fd64f70ca7ad2ccb1e215a770aef1d21fc17c5fc4dbc0ec673e957d0962d6fb365770a6f1fa53f23ec6efb4decdef935cfed227e569fa87ceb3a63e59586a3c7880ab5cf644fad49817d99373cbb4e7c908a63caf7f30f957af7d3896fde85dc2cc4f2fecef0bf99353d8ae37fcb5e14ceb3fbb10ced5bed73cdfc68f6e787ed383f53dda191cca5fb91ec291f2db874f70acdffbef702af98ceec5cd7829ffd4f85bcdafc9671e9cc19cc73a937e46b1cd8f1dc2e4f307fcdeeaeff4d232ebb37f7082bffb2b6e4644ed6ff7e0aedafbd08303cd97f27b987c9496fa7394468a6fb43ee158f1dc31e5c9f25ceb479e63b5b7f1a71be3cbf9205faf30fb77ce6b98f1f3f5d7b1f2576298fdfdef5dc7dafffe0413df9cee60d66366f67925feaee419c79cdfe05f3a56bcf002f6e44ff925cc7e5a7f6059fad70b2ccbde789f30df8b389bc2899ef7297d8b13e24b9309cc7a43b186735d6f65e23454fec137f54f53d99fdb082e94cf3235fe7d92d8f8eb491fe67b1caf178e25ff4b38953efe0630fb1fa607cb5a2f7c3d85c9575e27702d7ddda8ff25d65fd96ce142f1b5db0bc7da7faff649ecfad6750ff6343e152bb8d0f874a5f133698a6be499a57020f94c3338d2fc377b800badd7ec0bb8d2fadf5cfdf5180f537ef0374c7ee9bb07139f5c3fc3c4dfeefb7022f97d5430f1d989fa631a971a9f4ef8fd714668ca13c0b5dafb5af24b8f1235fab28773cd4f86295cca1eb564dfd2947847f103132f58e9fe2cb2f98d25cc7eb9c5973826bfe4f2c4b1fc6d7e6fdb33c861bee7b891fe66763e16649635ffba1ac391ec6fa1f6ce9af2299eacf6ccf2b850fe85da278fc89ffaeb59c63efcc0e4e3edcf60c6bfb75398f3f2a67bb8245f40f2ce63dafbee17f634fe2cdf605fed37fc70acf3e72b98ef796fedef73e29ff67ed6b337eaff7962f35ba54f79d3c0ca6791fe15767cfbfa86592ff8bb8599dfcccf61ce57bf937e1531e70ffbaf30e7556d8630fb07bc119cf27d5af5c7c2ce9f7fbf60f2a1373f96357efc7cc2b1c6b342fa50a4a9f275db219c2b9f62a2f1a4381ed865ca6bb92e949fabf62aadffb37c80c9c7d9bcc2d8b3cf25ccfad5dd37ccfee2b70d4cfc71b68389cfddf5e14af21b9c3a36bfbfefc1ec27d8aafd4aab2f7e0ddbeffd8d60e24dd321ccf94b9f2730fe63297b5b26e43f5c4a9e6563df15af55f9ab88fd5a275796f99ed6178c7fb9eac2ac672e2c932fb9bd85896fcfd49e554c3ec5760bb3fffeee040e89afb561e2459b4b98f1eceb11663d69a3f9d231fea2fdd992779575357ff8537bd411e7f9fdddc0e4effccce09af3a3555e17af18bec35db5dfeb19ccf9a4f3be63e573c4b0cffefa31ccf77747f679ac0f9d683e5227f8539fbf70267b3b1ec005e7af51bea6c4aabfe45da79ec69b2f0fc67f1c69bcae8f06cbd4d770e31da29fb33dcc7ac3ebb9d8d6c7bb82f9bec3d78365b567ff4e9c70becf6f6959e3c7e7012ed53e63cbc4133637702d7f6fb31337fe9ea95f3b8559efcaafe14acf5f5d88b38ef201f219dc957db8a17cc703fe8cbe1afd4abb11f91ffb6f98f5e7ed06e6fb0eb3035c339fabc431fb39b73398f32e2eaee052f1adcf3f7133be6a7c2b60d6f7066b71339e2a3fe41d269eb0907cba59a4f5843fa36fcdddace7cc5a30fb597ea730fb79ef7ae2a6bc3a8f2681990fdd9fc09c5fb8ce1c6b3f490a739efcf7084e94bfbaca61f6cb5dd9fb99df0ece61f239bf9ec409f95b9b5f38967d3aa7bc09df871bffc07c0f61792ace02f5ef1bde971599cefbbb17e79d4cf60d79141dcd0fbecc78d978738c7f3fcf30f6eaedcbb1fc2db5df71fe6eeab3953ef909eb25bd10e63c90d319ccf70ade6bb8503cb392bc8ec74569be7a6659f98c39cf4f135d1f0f2d331f0a60be4ffe21fdf0b350fbcb6ea84f166b3d6efe0827f24f1fbfe154f2993cc0b9ce77bd53fbf8455c697d52f20c6c3ec55eed1934f6d15c9f9f3956fe55e858f1b4b965c9e7ee07663fd4dd0e66bfd6660073def550f20b1a7ba6fd09a730f916fe1d5c481eb9fa77d0d803e97f17ae0a9d1fbf1537d5d57e75331e1e47438d5fdf2b987cc7f9295cc99f5edec3b5fcc5ed426cf395161b98feb0bf84c95f19df5996bff321f9848d3d543c42f26be6efd29780f2a589f64f5e5dc1e4cf660798fd1ba30798f32c6be9639875b51fe12d8653adcf55bc3fcbb47fa76e39d6faa1f4292cb24af6cef8abc7d9b9da67fe0993dfbdf060f6f36fa59f8d7b417fe3f7763e7b7780b19fefa963e9cb1e4e646f7f13cb92df9565be27b57cb5acdfffaabf1de3113a2fa5077bd2c7f31d5c4b7ee7926f94b23e376dc189e4f9c1ef53f2f1fd0798f3b45a1371c67a4e0b7964e4a3bfc6704e7f7d826be583bea87f1ed35f152f91bce288fd19dba5b831975acf08e158fd73fb05f37d94fb5f3895bcbeee61f2c3866abf637c40fb696630faf8f50cd78aef6c355e34eebcfced3a863dcd2fdf3c98f9d6d5080e359e7fa93fc6767c7e2d61e431be151759a97c1e8d8749447efbf6d5b2eab791fe2631dff378fb81c98f586530f9c6f31e9ca87f8e6730e7a5fedafb39af66f2226eecbdea7f0f931fb6947e2669807d0f60ecd3d7299c295e904b1f93aca3f1b3750207b2efd98f658d07ad2e9c6abda1f50de7cac77d1fc385ce537a90fe267947f19a9b4738caf47d16e9431a11cf9b7fc099e4b568c19cefb2ad61f2b5b6f27fd298f5aced04eeb25e36b32cf92e787e631fe57ff2fc98f3c5169f70a8f9e6b2762c7fed1d8ee49fbcf561ecc37b0293fff87507f37dd38dfcc3b4d16fad976b3c4f1bff4af109cbe43f0ebe61ce2ffa38810bcd97469770a978c3a80d571a6f3e906fa3dfe6f76dca9779ea2f99bd1e6a7da8e5c39c67d2eac099ec7d87e7e79ed683eea55f8df9afccfddfb29f99b3b7f28fb398efd1fddcc1ac071de630f911cb6798f9eedbc1b2e4bf52ffce12ce1b197dc091e4b9e6fea67f6b7deec2b1f227fee052fafda4f6cf324ff9f2d763384ee5df6ce04cfefc48f62dcbf35ce72baa3eb99dafec641f8ff1157d5f6103739ec36709133f3bec61f279d6ea8f79427ec156f63c4fc9b7db0d615fe3e7f8128e34bffaeac0b9fc8ff73e5c2a9ed6e2f94d7f567befe054fdf749ed9be79efae7bdec4b5ec485c6fb08ae4ad94fd5afb0f3d34506335fdb0f2dcbdebdfdc299fadfe419667ef0a1f62a9a0ea678dc0a66ffefcf3b9ca9fdcefb702efd7fefc115fea8ec5791b1be99dfc099fa476b0b17f23726b24f45d1517ce6fe0e4e0a9d472cfb5936f5517ec309ccfebab72dccfe9c65e558f90033c7da0fba8739afec4bf6bdb4f3cbed338cbdbefd869b3f531fe973d9f46fb50ff737e3bdce436cc1acc7b46fe042e729b5bee052f56fade14af91ef73cafa9bfbe9fa0eb959d8f6ed5ff2a3bfffcde3bd6fee71026febb91bf5e35f329eddff8837395bf277b71cc3fd17916dc9f123f1c7cc2a5e6dbb9c6e7aab15fe67a99c0cc2fda4bb852fd32e96b9577343eed54ffdac637676d98fcdb550bc61f7cebc19c4ffd1bc39ccff8b683f107d6ea2fb59d9f0dd5ff6a3b1e6f1e61e22b17d2a73ae3fc89ac03fbd8ff031c6bff60fbd4b1294ffb16ce651f6e5ee02a933ef3be2250ffdd9af66cde1630defa30f9698bdcb1f2496238963dfbdac2e43bccbf60be8ffaf66d59fabdb0ef2b640f7eecf34a5d5f45e2c6e130d7af5a702e7b301a89adfc7e3ee05ce353f10c33ff186e60e239637e6fe5bb7d823d5d1f0d1d4b7fa94fd39fb49feb040e88f7667022ffa81d3b56bcb307e38fdfdcc3f4dff602ae955ff7988a8baee6878f7f705598eb0763ff9ad913e3c96e0bd35efb1dcc7ae07605635f366f30fec8cf9363c5cb24ef6ee2693ef5c3ef9beae9fe354c7fbc55798ff122c5ab1e61f613071f70299eb6e14afefbbbe4d96dfc11c59bb83f0b757fd675acf9f78b65b5c7f0198e549e228663cd27f30c4e35de9dbcc285f4a54dfdb252fb3b7f4ec58d7dd0f71f795e4ebed0ce8c27d9319e24ff4fede325ecaf7a3b71acf58e0b71dad5f87dce753bbe6dbb70a9f9c8c516ae74fd9de7376f54bec8060ef1df9670c4f8760e1792e7cf9965d9c39cf237f6dee8c32f9c77e5cf7d2770a6f8d5bdf4c32b8a52f92dd2573fe67c909f7b18fdb9768cbf5dc0e427ff4696895f8d61e6533f0f96f5fbf98963e51fd8ebc433c7d2273fa9884ff3fe6344cdf4e74fb1edcf1f7b3892fcf21e1c4bbfb295658d3fed1cce99effcc195eceb492dcebbcac76f5fc39ed6b76e1238cfb59f9bf21761a9fdf12f70e351197b2a7b13c49c87748860e4b1dfc395fafbf7409c323e0c5f61e2dbc3ccb1ce73e57929f185cb37c7fa5e83e41564e4b7640b3893fdaa4a98f5adf5095ca4ca67557f099af99ef4ed0ceea6a63dda6338d0f536efcf43ede7ba9e890bbf503c4ef2391e6f68eab3d4fbc398ef25fd3cc2ec1ffb9ac2b5e6c743f5afb0995fe9bc42d9b7b099ef6a7de709c6fe57051cc8bf285e2cab7fb50338d1fca80ae15ce3496b0f17b2276dfbbc52f29cdc58d679f23dea9377946fd79ec381eccf616259f393470f6e14c6e80ff5cbab52eb4594a7a82ae54ba87f4731eb81db3e4cff996f61bed7feddb3ccfe66bdcfe5cfac2c07b277938eb8997fe8fc8e5f71d37f144fa8611b2f788539ffa07de658ebf73caf919ff2c7afe15af198934a9c3716d23c6f0507ca67e81596d1af091ccabe159163f5f70f384a75be05efcf1b0fd93c4ff26a66c3f2dfe60798fccd85de1f5bfb7f9bc05dc9773f8203c537be0630fb91beafc48d476beab757fbc5561f0f03c7ca7ffe837dfc95161cc9bebdffc0b1f46ffd01a7b4c703ccf7de73ead7e8afce73a47ecdf860cab7ee39563cf71966ff48bb74acfccc6fc71abf797ecef9b9ed35ec6b7cde4770207fe897f737ed217bd5856bcdb76f62cbf28f26b217715116d277f947898dbf7e5dc09c0fb308e042e3f3fc1b269ef42d7d4cecfea2af5b187dff3eb7ac7c9e9f040ef99e691b269ffc6709a78a5f6eecf3591fde4a3f92d4d77cf2fa114e647f4eefc4cdf8aff3f953d8577f1bb61debfb33bcaff197f47d9903ccf96d572f70a2f6f9d8c1c4efdabe63cd17915fd31f35bf38776c9ef7be87995fb52398fd6ac5bd63cd67a4bf49d35fb55e9bc3a9c6cb89ec7152448a373c22af222fb59f43bf3fc6dfe4eff6e198f6fb80f9be54ef0466bfe37c07b33f60aefe9226e4bb9dab3ea9b5ff7502a7e2f53bccf7843ed630fed6e8c5b1795eebdeb1fc01f5bf34ef2a1fbde8c2ec4f6afdc2ac9fb5afe048ebc5ed57987cec2284c987cb1ee14cf970238d276911e8fb06a3d8b191ffae038785fc09f91f998dcfece68ef5fdb10d9c4b7e3bcbe4172e4a98f3c7e792e771bf9efcb95fd897bc0f3f70aaf8fc41eddb1448fef050e56bbc51f14906e3ff8f5b70a1f5d7f6002e658f563bcbd2cf2bfbbc4af26d15708dfecade658d3facf59f9d63cdeffab0a7f65f9d59d6fae688e7e5c4e75a4bcb1a5faa0a0ed43ff6391ccafeb590471ea9fd7af67aa4f9fb48f62b2b3ab2870fb7702c7fe95bfe5b33fb67bd41f6214ff81ed2f7a963cdd7ff60f2c5f71730fb01978565d9cf1ffb3cd6e30fbf70a9f9f85ef2cfd30ef932bcaf99ff687f21cfb7f1bb1b1fe6bcecfd14c65fedc99ee4c703e88e3c788763f96fefbccfc6b7d63f30e7bd2d0f702e7b58509fa6bf693fc409ec4b7fde4796759e7bc5fb6d7b55a9658dd7d5031cb13fe20a8ee5affdf4e14cfeefa97d7fa1fbafd57e79e1c9de1da42f856dbfed27cc79367bd5a74858cf38c430f9e3bb5f98f3413ef97d8abf70a6f1a468e4a9f32ae7704cbc780157f80f6bcbea1f05e56bc677e5576afc2c9af9b2e28994afe92fb26725ecc93f6bbfc39ce7fe7ee558feef1446de1f5bc75a7fb98643c5efaeba30df676a3fc3a9de97d9f7a5ea7fdf6398f9d8a3faf731deabfdd64f30f679f702479a9f3d0670e37198f6bbb6acfcffc73e9ca83f8e168e755ed89d637d8fec1e4e75ff84fa37eebdfcc389659d5ffdf200172affb7de5736f656f659f52913ced359547017fdf886f9ded5620147b207cb1798f589ef5fcbc4a76f60f2697e52cb7c7fc45e277f7ea4f1a86cf44de3e3134cbc6cf806331f381fc3f81f1f03187fc3bf8739ff67d481f137da978e35be523f3bbffaa63c39f969edca32f61ef9e47c5fa03d8303ec450f0ea58f15e5cf394fb96e3bd6fad9b563e5efe696355e2f7b8ea5afc8a7b11fd2f78963e5b73c38d6f865df9faa3fec333853bee98dfa4759f8b9bee7fd6c59fa753d8503f4197936fe8029ff8ef75b7fecda3e2f56becae3c1b2e293f71dc7fa9e02fad8e8bbce077e71ac7cce1bc7da6f6e39557f7c44ff8a4ceb0f3bcdb72aeb5f7c6f1dabbfae1d2bfe29fb5225e4231c12cbf88fb2bf955b5f1bc0a5f4ed5bed511d0f3430f6720327f2bf2f17702afdbdf88633f98be7079878e96f6d59e3cd700e731e62aef1f2b83ea17c981798fcd1b727c7a6fd6a0f0ea46fcb8d63c5373fe0107de6fd8d3e6aff7ee158f996118c7fb9b2e5217feb7de858f924d4bfb1bffa9e6900e71aef0e63b8d4fde389e54cf9793e5c6bbd7122fb5835fa267b75ed58ed7f03c75a8fdb3dc399ecef5ee37f6dfdcdddc2b1fcd3251c2bbe714861be0fb93b3896bdf883d98fbfb4f7f33da983bdbf603ddf874bf2c5edfb39af7f29fdab53beb7b495bdaa33becf9469bcae9bf6977cef60fccfd5b96373bda63cd61fad9e2d4b3f1603c7a6feabad63eda7cb61e227ad0a667c6d8f1c6bbef80547d2cff69d63a34f651f4ed5fead399cc91faa6a38977e9d9470217bf5bb872badbf9ff2fe82f5ba8f6b98f8cfe7a365e9d383bb2e7d39431e45a0fd8927b44f11e5ca770e1c6bffcf2b8c3fbd7f72acf9ffb56323affdb363edc7b0e549645ff7be63c50bf68eb51e63afa77afffec1b1be875758c61ed2fe6547f1bd9dd1e7465bd8ffb93b858947ec7a30e7117c5d8a53bec7b68c61ce871ce5621befbe18c395e2059b27b8e67ba4b762eb4f8f4a187ffab5e358fb7b1f1dcbffb870acf3981f1cebfcdd2f18fd5cf61d4b3fedf342dd5f788e15bfb0cf8bf03f378e75fdcbb1d6e33ee158f7bf457022ff7431b62cfd6bbfc0c42fe6f79665ef96278e655f3398f94085fc9bf980ce4b469e8dbe9ae70d68af463fe54f2696a58f3b7b7fe3d01a9ec28d877ce49edaff98ffadf5ee7771a32fb27f2b98f9df228489afecce60ce0b5de6b08da7cde11c7d3b874bed07fa1a8ad35ccfdbf4e152fed786f2651ee7d11470aa7853ff1ece343fbcfc8259ffbfd83936d7071730f3959f8d639d1ff22ab6f39395654ffa57501febffbd6fe1007da13e8dbe283f6300c75acf5c9c5b967d6b9fc009bfdf3a967ffd00a78a0fbdb6e05cfe5f95c005fcea58df2768c3a5d69f5e67e2a2c3f87be558f94b6bd8d3f8da7f81d98fd043de4544fcfbc172aef9ffb765d9bbb36bc7e6f9271e1ceb3c8c6d6c59f67637b62cfb7a953bd6f955118cbdfcbe71acf521c71aefbf6fe18c7896f4cbb3f189450d73becefe1a66bfffe20db6fa7b6259e3f706b6f9ed5bb5bf97f9c4f76770227b397e8059ff39ff812be9f319cfcbf8fec8706959fa375c3936f2192ec476fe72b985f93ee5a80bfb8c8fef30f1d537dfb1ce33423e79acf2b69f2c4b3f7bb163e5d7fc5a96be2d3f61ece1c13e2f517ceaf20033ff6edf3bd6f9951b98f3c01707c72aff95658de723dfb1becf9ec1b9e64f650a17f24fbfedfb6abd6fdfb22cfff26d226efa83c6dfae65d9dbbf5738947effbe39d67ce6e058e7d7dcc191fc8bbf8e65e63713c7a67c7f73c71a2fd0c7a6bf68bdf6dbb2e6f7279165e5a38d9f1cebfc80104e949f30cee142fd7ba1faf86ebef307937fbdb35c4aff377abf9f32df3e485ffd8c7cff5125b6f389e2cdb1c6cb7b18fb38dac009e3eb014e65afb2b563cdc779bfd587c5155c305ffe73acf78530e7a7cfef1ceb7cc7be638dc7bf70a5f7ad7a8ef5bdbf7318fd99cf1c9bfefc165896bdfcb6efafb57f65311217f8effd9665e5536c7dc7cabf0a1ccb9f6cc35de9c329f52f7cf5bfc753cb8ad7f7ecfd81ecf5a37d7e207d192de190f9fec4b1e20bc8d3eadfc5c4b1d683a770adf30dee3a96b51fe01bf9941dd9f7bde41bd878e4f737ccfec9c31ae6fbd67bd52f48f97ed32a84c9ff1fa9bf07365f63f00167ca77f8953d0cecfce8700933dfd9c5b02ffff5fcd4b1c69327d8ce9f7f60fcc3d5278c3d6c7760e22deff63af1c5f60e66be53f88e651fedf373d9cfd3014cfee91af935faa578befa7fd0e887ee9fc09ec6f3cb3fcb8aeffcf41c6bfe34867df59fc3c8b2f4f1776999fd987f8e951ff4ee58e739d796150ffd39810395aff76c59fec2df8b65f9ab0f0f8e65df689f22d4f9b3f38963e583be38d67eaeb563c54f6dfd42d5f7f1c7b2def7d7752cfbfbe658cfb7d723cd3f7b1dc79a0fae1c2b3e7b6b59f2e92796e5af9cdf38d675fb3ce227bd47cb6aafde9363539e7eec58fb83d0d7663e287b2dfd0fedfef4ed29cc7ebf1f8d2f61ea29feba8c60f677fee9fdc77c149d4f7501d7f29f275dcb8a1f9c499fc2c6df50be501f66be77b973aceb7bc78a8f7dc3ccff5627702cfbbadac08c0fa7f796d59f6aca63fbcfebb363c5fbedfbf09717678ed51fff60d65b3eefe052ed3dbf822b8d477de493735eedc0d6b7d6f8b1fe73acfe7fe958f645fd392c6cfe606259f6f72a76acef472d605ffde16c0807b20fbd9665edc7fadd59967ff4f36319fdf61c1bf99ed8f7878aa7bcdd5a963e7f3e38d6f3e796a5cfbd191c69bedbef5a96fde87b8eb5bf62e2d8bcef676b59f5dfd8fbd1f7d3369c68fce8a5702afbb17b8273c96b217d8e9242feca40f53f7e4049f3bf031ce1afd470acf61d798ecdfbca7398f9d8ea03ce24ffb35398fce2f78d65d9e7fdbd65d9afd60dccfcec2a83c9f71dbd5996fd6a49be51e38fca3f1e3a967dbb83bb1aefcf2f604fe55b2f2cab7d4e3ab02f7dff2b2dcb7ffe7b8203ddbff52cab3f2c7e1d4b7e2bcbc4d3ae60ce1fdea596a50f7f9163c57b6e1c6bbde8cbb1f4b30b4792e7f2c3b27edff7e158fabeb3ef8f95ffb6d3f81b277c7f70df83f91ecc52f2685a9ff86d6659f6723f86397f6815c0ec273a577f3fe64799f2dc70bdb1673abf9df75b7dfaf88013c9ffe3d2b2fc81b73b18fd7affb22c792e4ee142f6edf5c9b1b1afef1f8e75dee5dab1f69f7a96357eb57f60fce3bae358e7f54e2cabfd4e6d79998f7ec796d51f3fe43fc48d3fa2f3d1668e8d3cca53c7daefc1fbec7a6a4dfd0b4fefab1f1d1bf99c14b02f7bb77cb72c7d797d8003f9cbbdccb1e66f9565e9c7d9a363f567f77bd9a3d5020ef5feb7a9637d5fe3deb1f673dd38d6fa98954728ffe9efd9b1d6fb1f1dcbdf7d71acfcae6b18fbfa175856795e1f1d2bfff9d9b1ea67cb47fc7adf71ac78b59537fbd9fed68e35de3c59c6bf6c59567bef3dc7f2efbb8e357e8570227decb72dab7cc3ad658d277be95be2d643f4be24e57ce381c6b7637e99be57b887d9cf7826fb97343d5cf9202730e709b5bb8e156f7d8133f5c7410f2ed55fb367c7da3ff00a57ea1fab77c7dadf6b9f5763afc796a57f63b557331b977e9c0ee1aefca5f5dcb27edf8f2cab7d5b5318fffe6de6d894bfb2cfa7bf0cbf1c6b3e780bfb9a8ff79f1ccb1fe95996ffdeb3ef0b355ebd5dc3f8c3672318fbf67a6759e5dd4bfe69c2f78ab6f2bf52779e84ec759a7bcae719fcc1ccaf06bf702cf99c9dc3e4079cf1bc9c7c9ecdb3659577f4ead8dcbf5ec195e435185856ff2d4ab8967dad9f1dabfd644f523b5f3f9bc05dd9d745cfb1f27322cbea7fa739ecc93eaee630e36f9ff735fe9dce4378b0acebf3b163cdb7de2d6bbe319e5a567ce92f86b13f3fbf8e75def2d2b1e291d730f6e17701d39fbfd4de59234e7dcf51f2cf9a16d6fce69facfe790a67f2bfde9730eb196763b8d6f856bf3836e55fad1d2b1ee93996bff5ee58f9f89563c59354dfccc6bb177dc79abfafe02efecd0fec491f3eef1debfb4f218cbf5d9e59a6fd02187ffac6de1f2adedd4b60fc97adbdce7cf1348363f98bbb199cabbdbf24afdccafffc172e15ffb8e8c17cef7e20fb981f57788cbc0770a6feb44be042fde330844bf923ef6bc792f70aaec827557be58d3c955ffceb58f9614bcbea2fcbb563f91b4f7057edb538817dd9afd5d2b1e4f30033bfafef61ecd105e5b7f6677707277afe23f2280a9dd7b050ff28ec7afbb20b87e2dd0ec6df5b0630f9a8db73c7a6bd2e34fe1cf3cbd43fb89ef33dc08b018cfe6f789ef5f7d76f702d7f6c055b7dbdb884bbe4f7dc3a36bf1f8f61e437f160fc9fea09e67c853fdfb1ecc1cab1fc638dd78d36f0bd2ab57769e7fb27295ccbde169a4f95b63fedee619baf247dab9af15ce7cdee61be87d293ff54e5ec673bbb844bd67755de3ae57b7b5f1398ef195ea87f1ff31174be83e20bb59d3fed1e60d67317a6fccdd540e7817c19fb571ccfb3d27ea210e63ccafe83d8ce279746bec7d158f9ad3b33fe1ea3abd2bfadd187465b53edcf6e1b7fa636ff1cf9f6fb3fcf9fcadb6efde7f8fb4f5ddeacf9cbdb85f92bdb55bb6ebfb6dfdaf3e66fd1fc2df95b99bf75fb9dbf0ffe3ecddfa6fd65feb6ed6ff3b76befdddfa1f9efcfbffbfbe5efdfffbbbfe6eff8bb93e689efed5ebbdffc954d79f2f6e97ffaf29eb5cf9bbf8be6bf83f6657bd81eb5afdae3f6a47dddbe69fe6c796f9bbf6379a7fccdda77ffaebcfabb6f3fb41fdb4fcddf73fba5dd6977ff3f65f5fec3dfbfbf76acdb77f39463898f6f3896d96f07ff0be50d9bbffff9f27eb4a376dc4eda69f3d0562b6be5ada255b6aaffd3e56dd5cdbff55baf2a6febad356f2d5acbd6aab56ebdb73e5a9fad4debabb56d7db776ad7debe0f481f2b67e5abfcddf5feba4d56bf55ba7adb3d679eba235685db686ad51ebaa356e4d5ad7ad1bdabf2963ebb6f99b367fb3d6ecff556e5bdea6c4adbbd65d23bbcbd67debe17fa1bc8fada7d673eba5d569755b5ecbff1f96376885ada815b79256da7486e38e91c669cbcaaccaeaec357bcbe6d9a2d1e8ff43e5cd96d92a5bd9f2b687d93a7bcf3eb2cf6c937d65dbec3bdb65fbec90fd64bfeddbec2f3bc94eac4e34ffbf97f5b3d3ec2c3bcf2eb24176990db351f377958db349769ddd64b7d9349b6577d97df6903d664fd973f6f23f2caffa1d253632e9b5ee1b59fec7f276b26ed6fdff2d6f334e66c1f16bab599c25599ab773335b309ad594373f9ea4d378478d0750e7aff95b3ecf17f9b2f95be5ebfc3dffc83ff34dfe956ff3ef7c97eff343fe93fffeef9737ffcb96f949decb1bedce4f6d79f3b3fc3cbfc807f9653ecc47f9553ece27f9757e93dfe6d37c96dfe5f7f943fe983fe5cff94bde39e60c993fffb87ad894346cfe3e9abfe818ed6b6654eda255347e7dd1b8a24555d4a6bcc7bfa6eca6bcd8b7e2d5d8bf43f156cc8f3a512c8ae57f2c6fb12ad6c57bf191adfe63798bcf62537c15dbe2bbd815fbe250fc14bfc55f7152f48a7e715a9c15e7c54531282e8b61312aaeccdf98f2ea7f3f8a49715ddc3433fadb625acc8abbe2be75f3bf5dde87e2b1782a9e8b97e3ba47e115c7f5e8e31ac0310e9496edb2d5b8c38dd358966555fef7eace63b9916c49b0fbf98cc61e1602d266155a6b1d3b00a1b55666f3ef730112f99864557675bfd5e3b1802048cb03875f77bf01646614c44112a44116e44111944115d40f25688236e85ef4afa8d6c1108c4feee7a00e2670ccc112acc11660011e100119501fbcbddf79f1f2050474403f8d816ff6dd37600236e0feca37e00321106f4a200572a0046aa0057a600466600576e0046ee0057e00019a00fef07cf39b6f0d1e4702343804c7e0149c834b70fd777cc37db80b6fe13d7c8441188651183feb59988469988579588465588575d8846dd8857d3884633881cb395cc235dc422cc4432224432aa4010c8005704111f2a1108a3739944239544235d4423d344233b4423b7442f7ed0c6e3bdff2e2575d0bbdd0ffe10b857088846878088fe1293c87975d165ea37db48b6e1118d6a3200ac1c01c474994465994474554465554474dd4465dd4474334465334474bb4465b844578444464444574c4446cc4457c244462244572a4446aa4457a6444666445f6270ec00578001f0045f0cbd78e90bff28dd0e8101da353748e2ed135dec7bbf816dfe3471cc4611cc5719cc4699cc5795cc4655cc575dc00daa07f88cf551577711f0ff1184ff11c2ff11a6f3116e33111933115d33113b33117f3b1108bb114cbb112abb116ebb1119bb115dbb1f3c1d7bc88ddd88bfdd87faeb918fae91bc33112a3f1213e4697188af7e1e5e57b8acff125be3e7d937db24b6ec93d79244112265102be95a44996e44991944995d44993b44997f4c9908cc994ccc992acc99660099e10099950099d30099b70099f08899848899c28899a6889fe89f1c1db3731015662274ee27ef74dbcc44fa0044e90e892a0c921393e7d9353724e2ec9cb178c96bb1434d5f49e3ed2200dd3288dd3244dd32ccdd3222dd32aadd3266dd32eedd3211dd3299dd3255d015b8aa5784aa4644aa574caa46ccaa57c2aa4622aa572aaa4ea07ef3c7efb7ecea15daadd7fcc934fdf547ffba6466aa6566ac78fd4f9cdd705be5eeaa7500aa7488aa687f4989ed2737a49af604cde65b7ec0e167390855994c55992a5d9f32bcf8aacccaaacce9aaccdbaaccf866ccca66cce966ccdb6b76f86017000012033eae99bd1bb306332f6a76fc665fcdb371332319332395332f5ab6fa681a145cf8cccccacccce9cf490b99997f91994c11992a1d9213b66a7ec9c5db22b183f779f80d6993ff2200ff3288ff3244ff32ccff362efe4655ee5f5dbf7e67ff469d0fd0230198d7903687741e8ffccdfbccbfb7cc8c77ccae77cc9d77ccbb11ccf899ccca99cce999ccdb99ccf855ccca55cfef0cd955ccdb55ccf8ddcccaddcce9ddccdbddccfa11cce911ccd0f2f8ef9293fe797fc0ab6263b3054dd8b47010a5d111571911469911539e0f955022a405d34459b584557f4c5508c7f353f145331174bb1165b3e175881174441165441174cc1165cc1a7fb4228c4b82da4274fdf422e94422db4422f8cc22cacc22e9cc22dbcc22fa0022e90022d0e2f8ec5a9381797e25aeecb5d792befe5a30ccab08ccab84ccab4cc4a10e6a7ea4e0513f233aecb237de66c59965559974dd996dd77dfb22f87722ca7722e97022bd7720baf2556e22551922555d2715232255b72255f0aa5584aa55c2aa55a6aa55e1aa5595aa55d3aa55b7aa55f42255c22255a1eca63792acfe5a5bc82316b57ddaa7bf5a8822aaca22aae922aadb22a07e12cabaaaaaba66aab0ed003866aaca66aae966aadb60aabf08af8ee5b91a95e51155d3115fbf4adb88aaf844aaca44aae94aff95ba995f6ac0f955e19955959955d39955b79955f41155c21155a1daa6375aaced5a5ba3e87f9faf61c7a404b0eeba88eeba44eebacceeba22eebaaaeeba66eebaeeeeba11e011360ae977a056c000c80d7f877df9aa8c99aaae99aa9d99aabf95aa8c55aaae55aa9d55aabf5daa8cddaaaedf45ea999513bb55b7bb55f43355c23355a1fea637daacff5a5be8216ba6b6ecdbd793441133611682c49933619583c4553365553374dd3365dd3374333365333374bb3365b833578433464433574c3346cc3357c233462233572a3fcf46dd4466bf4b76f633466633576e3346ee3bd7d1b1fb41b3f331aa8811ba4419b43736c4ecdb9b934d776dfeeda5b7b6f1f6dd0866dd4c66dd2a66dd6e66dd1966dd5d66dd3b66dd7f6edd08eedd4ceedd2aeedd6622dde122dd9522ddd322ddb722ddf0aadd84aaddc2aadda6aadde1adf7d5bb3b55abbd15ba7755baff55ba8855ba445db437b6c4fedb9bd3cfb31e86d8fb86cafddbedb75b7eede3dc0f8187651177749977659977745578234acbba66bbbaeebbba11bbba99bbba55bbbadc33abc233ab2a33aba633ab6e33abe133ab1933ab9533ab5d33abd333ab3b33abb733ab7f33abf833ab8437efa766877f86bdfeed89dbaf36fbe97eedaeffb5d7febeffda30ffab08ffab84ffab4cffabc2ffa122c9bba6fd22143fab6effabe1ffab19ffab95ffab5df7aacc77ba2277baaa77ba6677baee77ba1177ba9977ba5577badd77ba3377babb77ba7777befbb6fef3f7d7ba8879fbe3dd2a3fda13ff6a7fedc5ffaebb01f76c36db80f8fcc1e82211ca2211e9201e80cf9500ce5500df5d00cedd00dfd300ce3300df3b00ceb003af180bdae97011f88811ca8811e98811db8811f84411ca4411e944fd4411bf4c118ccc11aecc119dcc11bfc011ae0e1477c07b4b586df7c87e3701acec365b88efbb76f218f3b30fadec6fbf80083783846633c26633a66633e16633956608937633b76633f0ee3384ee33c2ee33a6e2336e22331922335d22333b22337f2a3308aa334fef21d95511db5511f8dd11cadd11e9dd11dbdd11fa111feee3b22233a1ec6e3781acfe365bc82d6bd9b6ed37d7a4cc1144ed1144fc9944ed9944fc5544e15283bcdd44eddd44fc3344ed3344fcbb44edb844df8444ce4444df4c44cecc44dfc244ce22401e44999d4499bf4c998ccc99aecc999dcc9fb15df4f267f82267842c0e328b8f77afcbb6f373d7da7c3747cfbf6e8749aced365bacefbb7efbc9b6fa0a5dcebf3fc9883399ca3198cbe7332a7733683c6087cf1b99cabb99e9bb99dbbb99f87799ca7797efbcecbbccedb8ccdf84cfc3bbe333953333d33333b73333f0bb3384bb33c2bb33a6bb3fef49d8dd99cadd90638b33b7bb33f43333c23333a1f7a7d3ecea7f93c5fe62bd8e0ee96db725f1e4bb0844bb4c44b3209f3bca44bb6e44bb1944bb5d44bb3b44bb7f4cbb08c6fcf655ae66559d6654be5055bf0afcfe1bff75d88855ca8855e98857dfb8221c3999d855bf84558c4455ae44559d4455bf4c558ccc55aecc559dcc55bfc055ae00559d0e5b01c97d3725e2ecb156ccb76eb6dbdaf8f3558c335faeebbc66b02c6e56ccdd762052df64fbea0fd356bbb76d371edd7611dd7699dd765a1d675dd566cc55762365772beadd44aafcccaaedccaafc22aaed22aafcaaaaedaaaafc66aaed66aafceeaae1e38fc155ae11559d1f5b01ed7d37a5e2feb75db6fbbedb6ddb7c7166ce1166df1967c926ed9966f45ec6c658f6c7ff4ddfe91efd66cedca6cddd66fc3366ed3366fcbb676b76ddbb00ddf888ddca88dde988d05a9cc6dfc26cce8266ed2266fcaa6aec74ddbf4cdd8cccddaeccdd9dccddbfc0ddae04fa00d59d60ddd0edb713b6de73ffa5eb62bb6c776d80dbb638ff18a05588845588c25580ac6fe1c0343105681e1a3c15aacc37a6c48196cc4266cc6166cc5360cc3708cc0488cc2688cc1588cc3784cc0444cc2644cc1544cc374ccc04cccc26cccc15cccc37c0cc2e054c1100cc50ed8113badf98261e7b5c02ed8f5e6e3fb7fee8beff01b7ec71f7880875f7df1088f414b4d407b4ac1c625c70bbcc42b303e35788b77788f0ff8888312812ff88a6f3886e33881933885d33883b33887f3b8808bb884cbb882abb886ebb8819bb885dbb883bbb887fb3884c3ffc4174770143fe047fc849ff10b7e25f6c48eb81177e24104444844444c24440a36563951102551116040225aa2237a62204662226662215662233002270882242882261882253882270442242442261442253442270cc2242cc2261cc2253c804f40044c2004fac98138860e7122cec4056449f257bec4f5ab2fb92777e48dbc930f32f8932f19921119930999921999930559921559930dd9921dd9930339921339930b09529fc43699c4498224498aa44906574996e4481e209022299132a97cf04f7c4995d4489d344893b4481b546b9f74883de9921ee99310099308899207f2483c374a27f24c5ec82bb5a776d48dba538fe7469c8aa8984aa894caa83c66a9822aa98aaaa9866a318ceaa89e1aa8919aa899028b98da288cc2298222298aa22906c0521cc553022502244a4ed5a59bfc2da1144afd6b5f4aa374caa05ebe9445d99443b99447f95f7d298882299828288442a90375a44ed499ba50577a4fefe81b7da71f744065744847744c27744a67744e17744957744d37744b77744f0ff4484ff44c2ff44a6f3446e3344193144353344d33344bb3ffc497e6689e1668919668995668f5138dd6698336dbcb4ad0166dd30eedd21ec0a7211aa6111aa50ff4913ed167fa425f993db3636ecc9d79300113321113330993321993330553321553330dd3321dd3330303861e666266666140816430066708860481a6198661196ea733fc9f7d1981118b8df9cd979119e5e9cba88c369b8cce1829cb98008bb1198771198ff1198881198441990373644ecc99b9305776cfeed81b7b671f6cc0866cc4c66cc2a66cc6e66cc1966c057c9f4365cd366ccb766ccf0eecc84eeccc2eecca6e2cc6e22c813dfee4cb922cc582dd1bcbb0ecb2beab08cbb13c2bb0222bb132abb02aabb13a6bb02615b0166bb30eebb21eebb3100bb3083850f6c01ed9137b662fec95dbbfd87137eece3db80010721117730997721938522ee70aaee42aaee61aaee53aaee7066ee4266ee6969bc7addcf6275f0ee3f0d6e188afbe1cc9516f5f0ebc041ccb711ccf099cc8499ccc299cca699cce19c0146111cee42cce06389ccb799cff02e2600ee150eec01db91377e62edc954bf93dbf03dcf83bffe0033ee4233ee6133ee5333ee78ba76fd5f0e59f7cf98a079b4cbe7d207cc7f76f5f7ee0477ee2671e0c38fcca6fb3f59c7e679bc7789c277872aa788aa7798667798ee779818579919778f9a6f00070a902345ee70ddee42ddee61ddee53ddee7211ee6111ee50ffc913ff167fec25f85bdb0136ec25d780881100a91100b89900a99900b8550fef4152aa1161aa1fd3b5fa103034eff612c0cc018f80aa3004645611156611330010731b681b10c2c81af403c01d6c05720054aa0054660054ee0054110054990054550054dd0054330054bb0054770054ff0054880054440858370144ec259b87cf715aee25edc95b578a315f1fef6151f6220866224c66222c6e9affd90988a99988b85588a9558031ab1153bb11707711427110ca32218ddc44dc4445c24441214555a644456e4445e144451944459544455d4441d6088a66889b6e8882ebf133dd117a19b2bc22222a2e2413c8a27f1fcdd57bc8857692feda4df7ca5bbf49002297cfbbef79b4f5f2992e2b7af94880d9b49a99449b95448a55449b5d400aa2200b75ba9937a6990c6e726439aa5455aa54dc224fcc357222452a2245a622456e2245e12b07b814ba22449b2a448aaa449fa775fc9904cc9926cc991dc8f0ef8f2f5245f8224584224543a48c7b87cd25ea59374962ed255decb3bf926dfe5871cc8a11cc9b19cc8a99cc9b95cc8a55cc9b5dcc8addcc9bd3cc8a33cc9b3bcc8abbcc9988ccb844cca944ccb8c0c16b3cccb822cca922ccb8aacca9aaccb866c022cd9961df9c7f975d9937d19926119f92b5f19950ff2513e3dcfaf3f7de573edca17f92a96ca5ebe2b3bb0b4eeca43099450899458499454c9945c2900a55229b5d228add229fd6b130c3671caa2accaa6600aae106060a0145a611456e19e49af888aa4c893a7288a0ad0145d3114f3bbaf6229b6e228aee229fec70e4f81c0012b88822a07e5a89c94b37251aeea5edda937f5ae3ed4001ca11aa9b19a3c4f8eabb95aa8a55aa9b5daa8addaa9bd3a00c0165d9dd4595dd455dd544cc5554205cdffd98c5456e540011154519554191c8aaaaa9aaaab866aaa966aab8eeaaa9eeaab90fa633faf582aa2a2ea413daaa70d7afaaa67f5a25eb5bdb6d36eda5d7b6881166a91166b0938522dd372add04aadd26aadd15aadd3fafd5e1bb5499bb5455bb54dc3345c233e21354aa3354663354ee3354113354993354553354dd33503782ae0a6a9599aad399aab799aaf411aac211aaa1db4a376faeeab9db58b76d5f7fa4ebfe977fda1077aa8477aac277aaa67609dbfd0f32f148052aff45a6ff456eff45e1ff4519ff4595ff455df744cc7754227754aa7754667754ee775e1b9bc7459577455d7745d377453b7745b777417e0e9be0ee9b08ee828e0a01ff5937e065cf4eb775f636fec8c9b71371e4660844664c44662a44666e44661946f5fa3fa174f5f110b07a3361aa3353aa337066334266336166335360333c0e6c1200cd2a00c3084188cc11a9c014ab1211a92211b8aa11a9aa11b86611ad60bdb700cd7f00cdf800cd8400cd438bc381a3fe26b9c8d8b7135f7e6cebc9977f36106666846666c26666a66666ee65f5d9f9885598203a0e76665d66663b66667f6e6608ee664cee662ae26d85a9a98899b84499a94090627933539933705533425b0fc1553353553370dd3342dd3361dd3353dd3372113361113350fe6d13c9967f347bf30afd6deda5937eb6e3dacc00aadc88aadc44aadcccaadc22aadf2bbaf557dd89ab955837b8dd55a9dd55b83355a93355b4b75b5566bb3300bb7088bb4288bb6c0e868b11667f19660899664c91658369666e920b8a66559b6e558aee559be0559b08558a875b08ed6c93a5b3f7cadab59da7b7b07b87d72073c000120fc7c9b37063cbe90fc466a67766e17766957766d37766b77766f0ff6684ff66c2ff60a001b791bb3719bb0c1b6c0a66dc666c188c4db822dda1271b1655bb1d50db6355bb70ddbb42ddbb61dfb47fd155733073e1ec0073c5d9fd75f7d21c0f3f6575ff813040083df41ed837db44ff6d9bed85767efec9c9b73771e4ee0844ee4bcdf284ec0963e753227770aa7742aa7761aa7753aa777066774a6e729246775360773708770488772e8efbe2f9fe897cf1ef0f846f0c9fb3ef899cf8c78568adc2c1ce61965877538870797bc2338e20bd034c13df9e50a8abca33aa06859bca33b860352d6b11cdb711cd7f11cdf811cd8411cd4393847e7e49c9d8b7375f7ee8fcf4fdaa17b03c71df0701f3f5ef7efbed187af1b7cf0ac6f2f5fc40dddc88dddc44dc191017240e11660902cdd0a50bb3568030da0753bb7779e256170477772677771577773311777099774299776199775399777851fbe2f17570448aef4b7317e13bd1efdc5678c3f314b577ea1b8aaab7d41ffe01963d7b0b7df62fc2a0daee5daaee3baaee7fa2ee4c22ee2a280837bfceeeb9edc33e002b8bad777fcfeced7db7bbb5fdcbcdb5ffb7a77c0c30bbcd00b9fbe5ef4490c48bc1434b2cecbbcdccb3f9cbdc22bbdcaabbdc66bbdceebbdc11bbdc99bbdc55bbffb7adb93f76bee61201fded17bc7fa5b3cbfe4ee377ec5f7c31a7f9ec279f9121fbc5a19e991201fba57843f63ec5180e7f69bf1588ff3784ff0444ff2640f0c353f7c554ffbf40575e0edeb8116e98186e399bff3bd2fffea1be5079fa6d60bdb733cb7e03cef1ddfb7afe77b3e8871ff8cb16378900703100fe1220ff50eded13b7967efe25dfdbdff63bd79cf41e8f6ddf7ef63f83da25f3d9fd7fedd7ff8811fbe88fcd84ffcf49dbfbffb82eef1ca620ff2b34f72bff04bbff26bbff15bbff37b7ff82b5f4f7dd5585065fd110c9520b69fbee59f5cfdd99f7fcf01f09dc55ffdcdc77cfce54b806bd2a7deae3e0d6000ec0bced1bc0c189b3eef0b3ed80cf9922ffb8aaffa9aaffb866ffa96ffe3f39ebff9469ff3c1e7abfcf4f97b9e86efeb4f5fc77741e87c1ff2e1cf08873efe25b6cf2c063ff08a31e05d274084111f051c5e994cf947ffe49ffd8b7f85f63f3e2f573e8176af5c78d55fe806ddbe4c8e5f62f985df9ecb478ca13bf48002105f1f5c0620b21f31c6bd97311442e1d3f7d9335e317e9e208aa018903c579d8f4029944139544025544135d4402dd441fddffa865f6bc3dfc5f25fbebfdf7ff90ed0084dd00c2dd0ea43d0234d419c9f1f1bdcbec6f7e9fb8af13387157b8530087fd50810638880488882688881588803070ffde8179e0a8990f4eac9c013927fe71d4748f9e0bbf73367dfbe3e9ea6900a69900e199009ad900552cc712f900b81120001f9f71cf1f6fd55d70ce8f50526a10f5f18422014dc3e403ffa0574fae5fb9ec39e39f1ddf7fcc19f7ca10b7485f7f00ebec177f80107700847700c2770fa3ff6a52112cee01c62e1e2bb2f5c022a3087fdaba785ffeaba7f9703efe7f35c974f6757866b68f457b8815bb8837b7880c7888227788617787df78bd79b41188c3dfb32c8dd17cf8c78fa822784bef201866018870998842938877fcc67ff9eef731dbe7d610666610ee6610116610996610556610dd661e3edfb6b4efbe6fb9c7e7ef33581b10983dbb0f537beff9a115e75ed35078319f1237ebff37d9dbd3a9a0d7c6dd8815dd0aafce71f0923300a1fe0237c82cff0e583a7dfd3154cee608287afcf8fdf2337640f611e85dcfd13f2b0414c9100ccf4381242341221f11f7c9f991b42bb676d7bfb7ec4ef9ff8220992221992230552221552230dd2221dd22303327ef57ded35568f4626644616644536e4f63ff1453004873ea64a3009230442c0957b037b34b0d3fc5a817ff7fb0ef025110aa111e6793a18e1110111110991110551110dd111e36b1e202662818d8983b860680065ccaf10d8831004e4ab0556198da0c80139222798407e9cef03be187241ae00e215ebf27fe7ebbbcfbfc681ded0e73f8016a0211aa1319aa0299a219a7f037b8c6fbe688e16688956688d36df7dd116edd01e1d601c1d7ffaa21360461774059713ba3df71bef5afccf7c510cc551c2615112a5501a655016e5501e15501195501955deaecfbc7dfaa22aaaa13a6aa0266aa136ea80d1dcf320d090219b4021008c22288a1e60f36f7d17f40838fdaf7dcfe8c5e1d1eb617fd81d9eff45dbe3101cc24374880fc921fdee7bc80ef9a1389487ea501f9a437be80efdd317b640fd05d5f7e97b180e23c8881f9f97fb4fe03fd5f73f87fffa7ffff7fffc7fb4a75040</data> + </image> +</images> +<tabstops> + <tabstop>KbfxPixmapLabelSiraj</tabstop> + <tabstop>KbfxPixmapLabelPhobosK</tabstop> + <tabstop>KbfxPixmapLabelNookie</tabstop> + <tabstop>KbfxPixmapLabelNathanael</tabstop> + <tabstop>KbfxPixmapLabelJohnny</tabstop> + <tabstop>KbfxPixmapLabelEphracis</tabstop> + <tabstop>textLabel6</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">qevent.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgabout.ui.h</include> +</includes> +<variables> + <variable>QString KbfxMemberTextJohnny;</variable> + <variable>QString KbfxMemberTextEphracis;</variable> + <variable>QString KbfxMemberTextNathanael;</variable> + <variable>QString KbfxMemberTextSiraj;</variable> + <variable>QString KbfxMemberTextNookie;</variable> + <variable>QString KbfxMemberTextPhobosK;</variable> +</variables> +<slots> + <slot>KbfxUnmarkAllPixmaps()</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> + <function specifier="non virtual" returnType="bool">eventFilter( QObject * obj, QEvent * ev )</function> +</functions> +<layoutdefaults spacing="6" margin="0"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgabout.ui.h b/configdialog/kbfxconfigdlgabout.ui.h new file mode 100644 index 0000000..7f4b739 --- /dev/null +++ b/configdialog/kbfxconfigdlgabout.ui.h @@ -0,0 +1,159 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgAbout::init() +{ + KbfxPixmapLabelNookie->installEventFilter ( this ); + KbfxPixmapLabelSiraj->installEventFilter ( this ); + KbfxPixmapLabelNathanael->installEventFilter ( this ); + KbfxPixmapLabelPhobosK->installEventFilter ( this ); + KbfxPixmapLabelEphracis->installEventFilter ( this ); + KbfxPixmapLabelJohnny->installEventFilter ( this ); + + KbfxMemberTextNookie = tr2i18n ( + "<strong>Name:</strong> Mensur Zahirovic (Nookie)" + "<br><br>" + "<strong>Country:</strong> Sweden" + "<br><br>" + "<strong>KBFX:</strong> co-author, Q/A, system design, web designer, bug hunter, project administror" + "<br><br>" + "<strong>Email:</strong> nookie@mail.kbfx.org" ); + + KbfxMemberTextSiraj = tr2i18n ( + "<strong>Name:</strong> Siraj Razick" + "<br><br>" + "<strong>Country:</strong> Sri Lanka" + "<br><br>" + "<strong>KBFX:</strong> author, maintainer, developer, project administror" + "<br><br>" + "<strong>Email:</strong> siraj@mail.kbfx.org" ); + + KbfxMemberTextNathanael = tr2i18n ( + "<strong>Name:</strong> Nathanael Dracor Gogniat" + "<br><br>" + "<strong>Country:</strong> Switzerland" + "<br><br>" + "<strong>KBFX:</strong> project technical writer, documentation manager, co-author" + "<br><br>" + "<strong>Email:</strong> nathanael@mail.kbfx.org" ); + + KbfxMemberTextPhobosK = tr2i18n ( + "<strong>Name:</strong> PhobosK" + "<br><br>" + "<strong>Country:</strong> Bulgaria" + "<br><br>" + "<strong>KBFX:</strong> package & release manager, Q/A, bug hunter, mandriva packages, project administrator, developer Qt/C++" + "<br><br>" + "<strong>Email:</strong> phobosk@mail.kbfx.org" ); + + KbfxMemberTextJohnny = tr2i18n ( + "<strong>Name:</strong> Johnny Henry Saenz Acuna (scarebyte)" + "<br><br>" + "<strong>Country:</strong> Peru" + "<br><br>" + "<strong>KBFX:</strong> developer Qt4/C++" + "<br><br>" + "<strong>Email:</strong> saenzac@mail.kbfx.org" ); + + KbfxMemberTextEphracis = tr2i18n ( + "<strong>Name:</strong> Christoffer Brodd-Reijer (Ephracis)" + "<br><br>" + "<strong>Country:</strong> Sweden" + "<br><br>" + "<strong>KBFX:</strong> library developer for Raptor" + "<br><br>" + "<strong>Email:</strong> ephracis@mail.kbfx.org" ); +} + +bool KbfxConfigDlgAbout::eventFilter ( QObject *obj, QEvent *ev ) +{ + QCursor kbfxCursor; + kbfxCursor.setShape ( Qt::PointingHandCursor ); + this->setCursor ( ( const QCursor ) kbfxCursor ); + + if ( ev->type() == QEvent::FocusIn || ev->type() == QEvent::Enter ) + { + if ( obj == KbfxPixmapLabelNookie ) + { + KbfxTeamInfo->setText ( KbfxMemberTextNookie ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelNookie->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + else if ( obj == KbfxPixmapLabelSiraj ) + { + KbfxTeamInfo->setText ( KbfxMemberTextSiraj ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelSiraj->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + else if ( obj == KbfxPixmapLabelNathanael ) + { + KbfxTeamInfo->setText ( KbfxMemberTextNathanael ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelNathanael->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + else if ( obj == KbfxPixmapLabelPhobosK ) + { + KbfxTeamInfo->setText ( KbfxMemberTextPhobosK ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelPhobosK->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + else if ( obj == KbfxPixmapLabelJohnny ) + { + KbfxTeamInfo->setText ( KbfxMemberTextJohnny ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelJohnny->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + else if ( obj == KbfxPixmapLabelEphracis ) + { + KbfxTeamInfo->setText ( KbfxMemberTextEphracis ); + KbfxUnmarkAllPixmaps(); + KbfxPixmapLabelEphracis->setFrameShape ( QFrame::WinPanel ); + return TRUE; + } + } + +/* + if ( ev->type() == QEvent::Leave ) + { + if( + obj == KbfxPixmapLabelNookie || + obj == KbfxPixmapLabelSiraj || + obj == KbfxPixmapLabelNathanael || + obj == KbfxPixmapLabelPhobosK || + obj == KbfxPixmapLabelEphracis || + obj == KbfxPixmapLabelJohnny ) + { + KbfxTeamInfo->setText(""); + + return TRUE; + } + } +*/ + + return QWidget::eventFilter ( obj, ev ); +// return FALSE; +} + +void KbfxConfigDlgAbout::KbfxUnmarkAllPixmaps() +{ + KbfxPixmapLabelNookie->setFrameShape ( QFrame::NoFrame ); + KbfxPixmapLabelSiraj->setFrameShape ( QFrame::NoFrame ); + KbfxPixmapLabelNathanael->setFrameShape ( QFrame::NoFrame ); + KbfxPixmapLabelPhobosK->setFrameShape ( QFrame::NoFrame ); + KbfxPixmapLabelEphracis->setFrameShape ( QFrame::NoFrame ); + KbfxPixmapLabelJohnny->setFrameShape ( QFrame::NoFrame ); +} diff --git a/configdialog/kbfxconfigdlgbutton.ui b/configdialog/kbfxconfigdlgbutton.ui new file mode 100644 index 0000000..3d63e75 --- /dev/null +++ b/configdialog/kbfxconfigdlgbutton.ui @@ -0,0 +1,1275 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgButton</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgButton</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>613</width> + <height>563</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Button</string> + </property> + <property name="mouseTracking"> + <bool>false</bool> + </property> + <property name="focusPolicy"> + <enum>TabFocus</enum> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="whatsThis" stdset="0"> + <string>To change KBFX button skin, simply browse to the image you want OR just Drag&Drop the images to their respective place.</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBoxPressed</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>"PRESSED" IMAGE SELECTION</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel8</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Please select "pressed" image.</string> + </property> + </widget> + <widget class="KURLRequester" row="1" column="0"> + <property name="name"> + <cstring>KbfxURLRequesterPressed</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="filter"> + <string>image/jpeg image/png image/x-xpm image/gif</string> + </property> + <property name="toolTip" stdset="0"> + <string>The Pressed Button Skin Image</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can choose the Pressed Button Skin Image</string> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox10</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>322</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Preview</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KbfxPixmapLabel"> + <property name="name"> + <cstring>KbfxPixmapLabelPressed</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="toolTip" stdset="0"> + <string>Pressed Button Skin</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can Drag&Drop the Pressed Button Skin Image.</string> + </property> + </widget> + </hbox> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout7</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBoxNormal</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>"NORMAL" IMAGE SELECTION</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Please select "normal" image.</string> + </property> + </widget> + <widget class="KURLRequester" row="1" column="0"> + <property name="name"> + <cstring>KbfxURLRequesterNormal</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="filter"> + <string>image/jpeg image/png image/x-xpm image/gif</string> + </property> + <property name="toolTip" stdset="0"> + <string>The Normal Button Skin Image</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can choose the Normal Button Skin Image</string> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox7</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>322</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Preview</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KbfxPixmapLabel"> + <property name="name"> + <cstring>KbfxPixmapLabelNormal</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="toolTip" stdset="0"> + <string>Normal Button Skin</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can Drag&Drop the Normal Button Skin Image.</string> + </property> + </widget> + </hbox> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout8</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBoxHover</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>"HOVER" IMAGE SELECTION</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel7</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Please select "hover" image.</string> + </property> + </widget> + <widget class="KURLRequester" row="1" column="0"> + <property name="name"> + <cstring>KbfxURLRequesterHover</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="cursor"> + <cursor>0</cursor> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="filter"> + <string>image/jpeg image/png image/x-xpm image/gif</string> + </property> + <property name="toolTip" stdset="0"> + <string>The Hover Button Skin Image</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can choose the Hover Button Skin Image</string> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox9</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>322</width> + <height>150</height> + </size> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Preview</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KbfxPixmapLabel"> + <property name="name"> + <cstring>KbfxPixmapLabelHover</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="toolTip" stdset="0"> + <string>Hover Button Skin</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can Drag&Drop the Hover Button Skin Image.</string> + </property> + </widget> + </hbox> + </widget> + </hbox> + </widget> + <widget class="KActiveLabel" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>kActiveLabel6_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="resizePolicy"> + <enum>AutoOneFit</enum> + </property> + <property name="dragAutoScroll"> + <bool>false</bool> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><h3><p align="center">Please select KBFX button's images</p></h3></string> + </property> + <property name="wordWrap"> + <enum>WidgetWidth</enum> + </property> + <property name="autoFormatting"> + <set>AutoAll</set> + </property> + </widget> + <widget class="QGroupBox" row="7" column="1"> + <property name="name"> + <cstring>KbfxResizeKickerBox</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Resize Panel</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel9_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><b>Tip!</b> This button resizes the panel on which the KBFX button is to button's height or width.</string> + </property> + <property name="textFormat"> + <enum>RichText</enum> + </property> + <property name="alignment"> + <set>WordBreak|AlignTop|AlignLeft</set> + </property> + </widget> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout8</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer6_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxResizeKicker</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>270</width> + <height>58</height> + </size> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Panel Resize is 'ON'</string> + </property> + <property name="toggleButton"> + <bool>true</bool> + </property> + <property name="on"> + <bool>true</bool> + </property> + <property name="toolTip" stdset="0"> + <string></string> + </property> + <property name="whatsThis" stdset="0"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer6_2_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> + </widget> + <widget class="KActiveLabel" row="6" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>kActiveLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="resizePolicy"> + <enum>AutoOneFit</enum> + </property> + <property name="dragAutoScroll"> + <bool>false</bool> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><h3><p align="center">Preview of selected images</p></h3></string> + </property> + <property name="wordWrap"> + <enum>WidgetWidth</enum> + </property> + <property name="autoFormatting"> + <set>AutoAll</set> + </property> + </widget> + <widget class="QGroupBox" row="7" column="0"> + <property name="name"> + <cstring>groupBox11</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Livepreview</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel9</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><b>Tip!</b> To see live preview, hover or press the preview image with your mouse.</string> + </property> + <property name="textFormat"> + <enum>RichText</enum> + </property> + <property name="alignment"> + <set>WordBreak|AlignTop|AlignLeft</set> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="KbfxPushButton"> + <property name="name"> + <cstring>KbfxButton</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>150</width> + <height>50</height> + </size> + </property> + <property name="cursor"> + <cursor>0</cursor> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="autoMask"> + <bool>false</bool> + </property> + <property name="toolTip" stdset="0"> + <string>KBFX Button live preview</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can see the live preview of the KBFX Button.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QButtonGroup" row="4" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>KbfxFadeButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Button Fade Transition Effect</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="exclusive"> + <bool>true</bool> + </property> + <property name="toolTip" stdset="0"> + <string>Check this to turn the fade effect of the button ON</string> + </property> + <property name="whatsThis" stdset="0"> + <string>This allows you to turn ON or OFF the fade effect for the KBFX button.<br>This effect makes transitions between the three images (normal, hover, pressed) animated.</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Fade Effect Time (in msec.):</string> + </property> + <property name="toolTip" stdset="0"> + <string>The fade effect transition time in msec. Valid values are between 20 and 1000 msec. Default is 75 msec.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can enter the value of the fade effect transition time in msec.<br>Valid values are between 20 and 1000 msec.<br>Default is 75 msec.</string> + </property> + </widget> + <widget class="QLineEdit" row="0" column="1"> + <property name="name"> + <cstring>KbfxFadeTime</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + <property name="toolTip" stdset="0"> + <string>The fade effect transition time in msec. Valid values are between 20 and 1000 msec. Default is 75 msec.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here you can enter the value of the fade effect transition time in msec.<br>Valid values are between 20 and 1000 msec.<br>Default is 75 msec.</string> + </property> + </widget> + <spacer row="0" column="2"> + <property name="name"> + <cstring>spacer6</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + </grid> + </widget> + <spacer row="5" column="0"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> +</widget> +<customwidgets> + <customwidget> + <class>KbfxPixmapLabel</class> + <header location="global">kbfxpixmaplabel.h</header> + <sizehint> + <width>-1</width> + <height>-1</height> + </sizehint> + <container>0</container> + <sizepolicy> + <hordata>0</hordata> + <verdata>0</verdata> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + <pixmap>image1</pixmap> + <signal>targetDrop(const QString &)</signal> + <signal>mouseClicked( const ButtonState & )</signal> + <signal>mouseDoubleClicked( const ButtonState & )</signal> + <slot access="public" specifier="">dragEnterEvent( QDragEnterEvent *mouseDragEnterEvent )</slot> + <slot access="public" specifier="">dropEvent( QDropEvent *mouseDropEvent )</slot> + <slot access="public" specifier="">mousePressEvent( QMouseEvent * e )</slot> + <slot access="public" specifier="">mouseDoubleClickEvent( QMouseEvent * e )</slot> + </customwidget> + <customwidget> + <class>KbfxPushButton</class> + <header location="local">kbfxpushbutton.h</header> + <sizehint> + <width>-1</width> + <height>-1</height> + </sizehint> + <container>0</container> + <sizepolicy> + <hordata>5</hordata> + <verdata>5</verdata> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + <pixmap>image2</pixmap> + <signal>pressed()</signal> + <signal>released()</signal> + <signal>clicked()</signal> + <signal>toggled( bool )</signal> + <signal>stateChanged( int )</signal> + <slot access="public" specifier="">animateClick()</slot> + <slot access="public" specifier="">toggle()</slot> + </customwidget> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> + <image name="image1"> + <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e0582c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44ae426082</data> + </image> + <image name="image2"> + <data format="PNG" length="1003">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b249444154388db5944d4c5c5518869f73ce9db9cc40f929cc30300e18129a50685268a28291982e1a2175212eaab1c49d3f8971e7aec6aedb54a32b435dd8685cb8c0c4b8b0feb421b7bd8186a069d23209144b18cb0c02f3732ff3c3ccbdd705a571941213f1dd9d93739ef37e6fbeef08d334d9d5d0d090c701c8344d2176c1a6697a5d5d5dd8b64d2a95c2b2ac7f05b12c8b783c8e6118d8b6fd685fdb753a39394928e2a7c55724d693a7e214104220242805520a84d8b9e4790f0b1302c7751958f1e30534be9fa41a0c60db362dbe227f64af91b6e7719c2dfc0117a71c603da591de2882a7d3d4ec27122b10acad50aeb88044d542b84de3af7ab44aa55274f4e449dbf354bc347aa096fbf37e7efa2ecbad1b36907d78b289de8120232f37726250c3f52cf0a026a0f6065b9645d929e038167aa096d91b307171059034b5f8e9e9eb44fa052b4b25eeccd9dc99cb71f6ad082fbea2e351c075bdbdc13b9109fc01b83fef63e2e232e03076b68393231a0dcd024daf502c1e66e67a89cb971ef0e5a74bb4b61e6378248094b92ab0ac024b70ca017ef8360394187b2dc6d8b89ffa500e4d4f93d9083275d5e6f9913ade3dd70ee87c7d25c95646a25415aadab152b09ed4f8c5cc130a853839eac3951b684a61e70ef3f9c739668c24eba912afbfddc6d4d506e6a6d7b8b7d082aa8eb8dab19482cdcd220e36dd3dc19df23545de0a71f952861923493456cfd3cf36123c54a0b7bf0e8064621b21f7712c040857071ca4eea0f40a99f510573ec971cb48030e811a1faded3e94be85f2fb00703d1ff26f96ab9f011a5b04d0c4f26fdb948a754c1b25668c2491483d5d5d611617d6b8f0fe32cb779b492ce65168b4c774a4701eefd8f3a02d56e6e8f13aeefe9a63fa5a89d1970e91d908f3d46003e1480d173e28b37827c9b977348ab92ce16890237d1ec907ee3e8e3d8f60d0e1f4583d009f7d9860662acff89bad1c1faad0717493f7ce7713ed8cb0995c255f2a317a26427b67198f6a70f51c0a41b902279ed1187f23cc17130b7c74de65eac77a7a8f05517e41e2deefa4930576db60fa7a8ee1535134df3e93e7b82e0817476439fd6a9070a49f6fbe4a3077739db99b15c001146dd13a46cf1cc1f83943c62e51de76b0738fc9381e8f3390f0236b252e124999e11724fd833196164bacadb87848224fe874f779b43fe9f2dca928956d505a96dbb3f9bdc18661e00534c26d1a7a40e13912a11c9454280da41048a9915c75585df500074d53d816dc9edd229528ef0db66dbbea3ffdaffa471f1f28d8344df1bf800f1a6e9aa6f813c39885bc050f269c0000000049454e44ae426082</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxURLRequesterHover</sender> + <signal>urlSelected(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterHoverUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterPressed</sender> + <signal>urlSelected(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterPressedUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterNormal</sender> + <signal>urlSelected(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterNormalUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterHover</sender> + <signal>returnPressed(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterHoverUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterPressed</sender> + <signal>returnPressed(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterPressedUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterNormal</sender> + <signal>returnPressed(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterNormalUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxButton</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxButtonToggled(bool)</slot> + </connection> + <connection> + <sender>KbfxPixmapLabelHover</sender> + <signal>targetDrop(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterHoverUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxPixmapLabelNormal</sender> + <signal>targetDrop(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterNormalUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxPixmapLabelPressed</sender> + <signal>targetDrop(const QString&)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxURLRequesterPressedUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxResizeKicker</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxResizeKickerToggled(bool)</slot> + </connection> + <connection> + <sender>KbfxFadeButton</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxFadeButton_toggled(bool)</slot> + </connection> + <connection> + <sender>KbfxFadeTime</sender> + <signal>lostFocus()</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxFadeTime_lostFocus()</slot> + </connection> + <connection> + <sender>KbfxFadeTime</sender> + <signal>returnPressed()</signal> + <receiver>KbfxConfigDlgButton</receiver> + <slot>KbfxFadeTime_lostFocus()</slot> + </connection> +</connections> +<tabstops> + <tabstop>KbfxURLRequesterNormal</tabstop> + <tabstop>KbfxURLRequesterPressed</tabstop> + <tabstop>KbfxURLRequesterHover</tabstop> + <tabstop>KbfxFadeButton</tabstop> + <tabstop>KbfxFadeTime</tabstop> + <tabstop>KbfxResizeKicker</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="global" impldecl="in declaration">kbfxpushbutton.h</include> + <include location="global" impldecl="in declaration">qstring.h</include> + <include location="global" impldecl="in declaration">qpainter.h</include> + <include location="global" impldecl="in declaration">qimage.h</include> + <include location="global" impldecl="in declaration">kbfxpixmaplabel.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgbutton.ui.h</include> +</includes> +<signals> + <signal>KbfxConfigDlgButtonChanged(const char * name, const QString & path)</signal> +</signals> +<slots> + <slot>KbfxURLRequesterNormalUrlSelected( const QString & selected_img_path )</slot> + <slot>KbfxURLRequesterPressedUrlSelected( const QString & selected_img_path )</slot> + <slot>KbfxURLRequesterHoverUrlSelected( const QString & selected_img_path )</slot> + <slot>KbfxButtonToggled( bool )</slot> + <slot>ChangeForm( const char * name, const QString & path )</slot> + <slot>ChangeForm()</slot> + <slot>KbfxResizeKickerToggled( bool )</slot> + <slot>KbfxFadeButton_toggled( bool _state )</slot> + <slot>KbfxFadeTime_lostFocus()</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="4" margin="0"/> +<includehints> + <includehint>kurlrequester.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kbfxpixmaplabel.h</includehint> + <includehint>kurlrequester.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kbfxpixmaplabel.h</includehint> + <includehint>kurlrequester.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kbfxpixmaplabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kbfxpushbutton.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgbutton.ui.h b/configdialog/kbfxconfigdlgbutton.ui.h new file mode 100644 index 0000000..015b860 --- /dev/null +++ b/configdialog/kbfxconfigdlgbutton.ui.h @@ -0,0 +1,183 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgButton::init() +{ + connect ( this, SIGNAL ( KbfxConfigDlgButtonChanged ( const char *, const QString & ) ), + this, SLOT ( ChangeForm ( const char *, const QString & ) ) ); +} + +/* actions performed when url is selected */ +void KbfxConfigDlgButton::KbfxURLRequesterNormalUrlSelected ( const QString &selected_img_path ) +{ + emit KbfxConfigDlgButtonChanged ( "normal", selected_img_path ); +} + +void KbfxConfigDlgButton::KbfxURLRequesterPressedUrlSelected ( const QString &selected_img_path ) +{ + emit KbfxConfigDlgButtonChanged ( "pressed", selected_img_path ); +} + +void KbfxConfigDlgButton::KbfxURLRequesterHoverUrlSelected ( const QString &selected_img_path ) +{ + emit KbfxConfigDlgButtonChanged ( "hover", selected_img_path ); +} + +void KbfxConfigDlgButton::KbfxButtonToggled ( bool ) +{ + if ( KbfxButton->state() == 2 ) + KbfxButton->setPixmap ( ConfigInit().m_KbfxPressedButtonPath ); + + if ( KbfxButton->state() == 0 ) + KbfxButton->setPixmap ( ConfigInit().m_KbfxNormalButtonPath ); +} + +/* url processing */ +void KbfxConfigDlgButton::ChangeForm ( const char *name, const QString &path ) +{ + kdDebug() << "Received: " << name << " + " << path << endl; + + QString tmppath = path; + if ( tmppath.startsWith ( "file://" ) ) tmppath.remove ( "file://" ); + + QImage tmp ( tmppath ); + + QString tmpname = name; + if ( tmpname == "pressed" ) + { + if ( tmp.isNull() ) + { + KMessageBox::error ( 0, + tr2i18n ( "<p align='center'>Image cannot be used as a pressed button skin!</p>" + "<p align='center'>Will use default pressed button skin.</p>" ), + tr2i18n ( "Error loading image" ) ); + tmppath = ConfigInit().m_KbfxPressedButtonPathDefault; + } + + kdDebug() << tmpname << " :: " << tmppath << endl; + + KbfxURLRequesterPressed->setURL ( tmppath ); + KbfxPixmapLabelPressed->setPixmap ( tmppath ); + ConfigInit().m_KbfxPressedButtonPath = tmppath; + + if ( KbfxButton->state() == 2 ) + KbfxButton->setPixmap ( ConfigInit().m_KbfxPressedButtonPath ); + } + + if ( tmpname == "normal" ) + { + if ( tmp.isNull() ) + { + KMessageBox::error ( 0, + tr2i18n ( "<p align='center'>Image cannot be used as a normal button skin!</p>" + "<p align='center'>Will use default normal button skin.</p>" ), + tr2i18n ( "Error loading image" ) ); + tmppath = ConfigInit().m_KbfxNormalButtonPathDefault; + } + + kdDebug() << tmpname << " :: " << tmppath << endl; + + KbfxURLRequesterNormal->setURL ( tmppath ); + KbfxPixmapLabelNormal->setPixmap ( tmppath ); + ConfigInit().m_KbfxNormalButtonPath = tmppath; + + if ( KbfxButton->state() == 0 ) + KbfxButton->setPixmap ( ConfigInit().m_KbfxNormalButtonPath ); + } + + if ( tmpname == "hover" ) + { + if ( tmp.isNull() ) + { + KMessageBox::error ( 0, + tr2i18n ( "<p align='center'>Image cannot be used as a hover button skin!</p>" + "<p align='center'>Will use default hover button skin.</p>" ), + tr2i18n ( "Error loading image" ) ); + tmppath = ConfigInit().m_KbfxHoverButtonPathDefault; + } + + kdDebug() << tmpname << " :: " << tmppath << endl; + + KbfxURLRequesterHover->setURL ( tmppath ); + KbfxPixmapLabelHover->setPixmap ( tmppath ); + ConfigInit().m_KbfxHoverButtonPath = tmppath; + } +} + +/* initialize Button page at the beginning or after "Default" pressed */ +void KbfxConfigDlgButton::ChangeForm() +{ + KbfxURLRequesterNormal->setURL ( ConfigInit().m_KbfxNormalButtonPath ); + KbfxURLRequesterPressed->setURL ( ConfigInit().m_KbfxPressedButtonPath ); + KbfxURLRequesterHover->setURL ( ConfigInit().m_KbfxHoverButtonPath ); + KbfxPixmapLabelNormal->setPixmap ( ConfigInit().m_KbfxNormalButtonPath ); + KbfxPixmapLabelPressed->setPixmap ( ConfigInit().m_KbfxPressedButtonPath ); + KbfxPixmapLabelHover->setPixmap ( ConfigInit().m_KbfxHoverButtonPath ); + KbfxButtonToggled ( 1 ); + + if ( ConfigInit().m_fadeTime == 0 ) + KbfxFadeButton->setChecked ( FALSE ); + else + KbfxFadeButton->setChecked ( TRUE ); + if ( ConfigInit().m_ToolBarResize == TRUE && KbfxResizeKicker->state() == 0 ) + KbfxResizeKicker->toggle(); + if ( ConfigInit().m_ToolBarResize == FALSE && KbfxResizeKicker->state() == 2 ) + KbfxResizeKicker->toggle(); + + KbfxFadeTime->setText ( QString::number ( ConfigInit().m_fadeTime ) ); +} + + +void KbfxConfigDlgButton::KbfxResizeKickerToggled ( bool ) +{ + if ( KbfxResizeKicker->state() == 2 ) + { + KbfxResizeKicker->setText ( tr2i18n ( "Panel Resize is 'ON'" ) ); + ConfigInit().m_ToolBarResize = TRUE; + } + + if ( KbfxResizeKicker->state() == 0 ) + { + KbfxResizeKicker->setText ( tr2i18n ( "Panel Resize is 'OFF'" ) ); + ConfigInit().m_ToolBarResize = FALSE; + } + + kdDebug() << "Panel Resize is: " + << ConfigInit().m_ToolBarResize + << endl; + +} + + + +void KbfxConfigDlgButton::KbfxFadeButton_toggled( bool _state ) +{ + if ( _state ) + { + KbfxFadeTime->setText ( QString::number ( ConfigInit().m_fadeTimeDefault ) ); + ConfigInit().m_fadeTime = ConfigInit().m_fadeTimeDefault; + } + else + { + ConfigInit().m_fadeTime = 0; + } +} + + +void KbfxConfigDlgButton::KbfxFadeTime_lostFocus() +{ + int _value = ( KbfxFadeTime->text () ).toInt(); + ConfigInit().m_fadeTime = _value; + ConfigInit().checkValues(); + + KbfxFadeTime->setText ( QString::number ( ConfigInit().m_fadeTime ) ); +} diff --git a/configdialog/kbfxconfigdlgfonts-old.ui b/configdialog/kbfxconfigdlgfonts-old.ui new file mode 100644 index 0000000..e76071f --- /dev/null +++ b/configdialog/kbfxconfigdlgfonts-old.ui @@ -0,0 +1,1193 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgFonts</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgFonts</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>676</width> + <height>497</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <property name="focusPolicy"> + <enum>TabFocus</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Font options</p></h3></b></string> + </property> + </widget> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout14</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>436</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxExportFile</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>EXPORT KBFXFONTRC FILE</string> + </property> + <property name="toolTip" stdset="0"> + <string>Export the kbfxfontrc file to a folder</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QGroupBox" row="1" column="0"> + <property name="name"> + <cstring>groupBox43</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Setup fonts for your KBFX</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="5" column="0"> + <property name="name"> + <cstring>spacer6_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="4" column="0"> + <property name="name"> + <cstring>layout17</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout15</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout22</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel41</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Application "LINE":</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxLineColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Horizontal line color in the application area.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout21</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel39</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Application text :</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxApplicationColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select the color of the "application" in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout20</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel40</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Comment text:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxCommentColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Color of the "comments" in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout19</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel43</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Name display:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxNameColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>The color of your login name in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout23</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel42</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Category text:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxCategoryColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Font color of the categoris in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout17</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>1</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel43_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Separator:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxSeparatorColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>The color of the separator in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout18</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel43_2_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Plugin:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxPluginColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>The color of the plugin in the menu.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout18_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel43_2_2_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Tooltip:</string> + </property> + </widget> + <widget class="KColorCombo"> + <property name="name"> + <cstring>KbfxTooltipColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>The color of the tooltip in the menu.</string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="Line"> + <property name="name"> + <cstring>line2</cstring> + </property> + <property name="frameShape"> + <enum>VLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer6_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>22</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_app</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the application's text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_comment</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the comment's text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_username</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the username's text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_category</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the category's text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_separator</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the separator's text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_plugin</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the plugins' text</string> + </property> + </widget> + <widget class="KBFXFontChooser"> + <property name="name"> + <cstring>KbfxFont_tooltip</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select font for the tooltip's text</string> + </property> + </widget> + </vbox> + </widget> + </hbox> + </widget> + <spacer row="3" column="0"> + <property name="name"> + <cstring>spacer2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="Line" row="2" column="0"> + <property name="name"> + <cstring>line1</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout15</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel44</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="resizePolicy"> + <enum>Manual</enum> + </property> + <property name="text"> + <string>Theme that is edited:</string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxTheme</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>69</red> + <green>162</green> + <blue>225</blue> + </color> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="lineWidth"> + <number>1</number> + </property> + <property name="margin"> + <number>-1</number> + </property> + <property name="midLineWidth"> + <number>0</number> + </property> + <property name="text"> + <string><p align="left"><b>default</b></p></string> + </property> + <property name="toolTip" stdset="0"> + <string>Please select the theme you want to edit</string> + </property> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>KbfxBoldHover</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Bold fonts on hover</string> + </property> + <property name="toolTip" stdset="0"> + <string>Make fonts bolder when you hover the mouse over an item</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Make fonts bolder when you hover the mouse over an item</string> + </property> + </widget> + </hbox> + </widget> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer2_2_2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> + </widget> + </grid> +</widget> +<customwidgets> + <customwidget> + <class>KBFXFontChooser</class> + <header location="global">kbfxfontchooser.h</header> + <sizehint> + <width>-1</width> + <height>-1</height> + </sizehint> + <container>0</container> + <sizepolicy> + <hordata>1</hordata> + <verdata>0</verdata> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + <pixmap>image1</pixmap> + <signal>FontChanged()</signal> + <slot access="public" specifier="">setFont(const QFont& font)</slot> + <slot access="public" specifier="">buttonClicked()</slot> + <slot access="protected" specifier="">buttonClicked()</slot> + <property type="Font">font</property> + </customwidget> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> + <image name="image1"> + <data format="PNG" length="1002">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b149444154388dad945f4c5b551cc73fe7dc4b7b4bcba0762d45c43114323599ee6192609c51d883892ce083f1718b3ebb185f8dc91e972cf39d2d2a2f1af664b6f1e0fe3863a0718969700eb0c52142da0242a1bd6d696f7bcff101585203ceb8fd9ece39f99dcff9fe7edf939f88c562ec465f5f9fe609442c161362173c3e3eae7b7a7ac8e7f36432196cdbfe4f907c3e4f2291201e8fe338cec3737357e9e8e828aded1e229d650e1f2d51754b082110124c13a4dc5ea341eb9dc284c0558a853f3ce8cb0677ef500fde7d39d2596679e326597b8e9abb85d7a770ab16ab6983ec5a05b487a70e36f0f4e10afe408d6a558310980108478dba4a1e8233990c5d474b64ed39aa3a8fe5f3317fbf81dbd70bccfeb205947632fd74f6589c1c6ea2f70d03a58ba0c1f2c9bdc1b66de3b8256a6e11cbe7e3ee1d181b590124fe2693aeee08d223c82c3a2c24b7b874bec8f26288774f7bd054504aef0dde6e99c0eb83f9fb266323cb80a27fb0958141836044605a2ee5523393371cc646fee2da37195aa35d0c0c5b4859ac03d7e91712dcaac5adab3650a3ff9d08ef7dd8404bb48869e5d958b5b87dadc4c9a1464e9f0d0326df7ebd86bd2e310cb1bf62d384d59441f2d70a070e1c60e09489929b988681bdd9cc97170bcc4c65595f71f8e0e3301337fc24a7732467831875a47f289652b0be5e4151e6d07316c1b0c0340d8ab92023e76d66a6b2840e36d2fb7a13fee632475e6edc367ea98a90fb98b7dd6310ca0328a44761582e1bab41befabcc0ec940d28bc5e93b68e064cab84e1d9beaeb48934eac1f53b01c1b000fca496aa54b61a99fcde61662a4b4b4b23d1680be9d426173e4df3602a48ea411989a4fd590f52a8fd156b05ed9d350e3defe3cfdf4b4c7ce770ea7d3fb9f520afbe1620daeee5c26735d20b9b9cfb6811a754a439e4e5c5639a4caa1e5caf586bfc0197b78702005cb9b4cae4cd3267ce8638fe964bd72b393e39d74928d242617303a756a37f284447770dcdbffc6384a05a85de1306e9a52057c7527c7131c3c42d3f475eb2303c82d4fc3276d6811db37efeb148723082d9b08f79f97c1e5729109a9a28307cc622d2d6cdf52b2b24efe548dedb00142009862cfa879ee1a71f6cec928353511472fbf4389148b0b0e0c108081412458dfe21c9f11351e67e7358595468246d1d1e5e38a6e9e851bc39d84ab502a669331dafec0d8ec7e3e8cb06e1a881d727d1ae40180a434a8c9db129a54126ad48a7358c2b4c5352c8c374bcccdab2bb37d8719cba79fab8211f9df218e0582c261e95f8bfc04f1a1e8bc5c4dfe0a190172af6a9690000000049454e44ae426082</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxApplicationColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxApplicationColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxCommentColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxCommentColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxLineColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxLineColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxCategoryColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxCategoryColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxNameColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxNameColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxSeparatorColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxSeparatorColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxExportFile</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxExportFileAction()</slot> + </connection> + <connection> + <sender>KbfxFont_username</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxFont_app</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxFont_category</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxFont_comment</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxBoldHover</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxBoldHover_toggled(bool)</slot> + </connection> + <connection> + <sender>KbfxPluginColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxPluginColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxFont_separator</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxFont_plugin</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> + <connection> + <sender>KbfxTooltipColor</sender> + <signal>activated(const QColor&)</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>KbfxTooltipColorSelected(const QColor&)</slot> + </connection> + <connection> + <sender>KbfxFont_tooltip</sender> + <signal>FontChanged()</signal> + <receiver>KbfxConfigDlgFonts</receiver> + <slot>FontChanged()</slot> + </connection> +</connections> +<tabstops> + <tabstop>KbfxBoldHover</tabstop> + <tabstop>KbfxLineColor</tabstop> + <tabstop>KbfxApplicationColor</tabstop> + <tabstop>KbfxFont_app</tabstop> + <tabstop>KbfxCommentColor</tabstop> + <tabstop>KbfxFont_comment</tabstop> + <tabstop>KbfxNameColor</tabstop> + <tabstop>KbfxFont_username</tabstop> + <tabstop>KbfxCategoryColor</tabstop> + <tabstop>KbfxFont_category</tabstop> + <tabstop>KbfxSeparatorColor</tabstop> + <tabstop>KbfxFont_separator</tabstop> + <tabstop>KbfxPluginColor</tabstop> + <tabstop>KbfxFont_plugin</tabstop> + <tabstop>KbfxExportFile</tabstop> + <tabstop>groupBox43</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">kbfxthemesdata.h</include> + <include location="global" impldecl="in declaration">kstandarddirs.h</include> + <include location="global" impldecl="in declaration">kfiledialog.h</include> + <include location="global" impldecl="in declaration">kio/netaccess.h</include> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="global" impldecl="in declaration">kconfig.h</include> + <include location="global" impldecl="in declaration">kbfxfontchooser.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgfonts-old.ui.h</include> +</includes> +<variables> + <variable access="private">bool KbfxFormReady;</variable> +</variables> +<slots> + <slot>ChangeForm()</slot> + <slot>KbfxApplicationColorSelected( const QColor & color )</slot> + <slot>KbfxTooltipColorSelected( const QColor & )</slot> + <slot>KbfxCommentColorSelected( const QColor & color )</slot> + <slot>KbfxLineColorSelected( const QColor & color )</slot> + <slot>KbfxCategoryColorSelected( const QColor & color )</slot> + <slot>KbfxNameColorSelected( const QColor & color )</slot> + <slot>KbfxSeparatorColorSelected( const QColor & color )</slot> + <slot>KbfxPluginColorSelected( const QColor & color )</slot> + <slot>KbfxExportFileAction()</slot> + <slot>FontChanged()</slot> + <slot>KbfxBoldHover_toggled( bool state )</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcolorcombo.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kbfxfontchooser.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgfonts-old.ui.h b/configdialog/kbfxconfigdlgfonts-old.ui.h new file mode 100644 index 0000000..11ad864 --- /dev/null +++ b/configdialog/kbfxconfigdlgfonts-old.ui.h @@ -0,0 +1,204 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgFonts::init() +{ + KbfxFormReady = FALSE; +} + +void KbfxConfigDlgFonts::ChangeForm() +{ + KbfxFormReady = FALSE; + KbfxTheme->setText ( "<p align=left><b>" + ConfigInit().m_SpinxThemeName + "</b></p>" ); + KbfxBoldHover->setChecked ( ConfigInit().m_fontHoverBold ); + KbfxApplicationColor->setColor ( ConfigInit().m_fontAppNameColor ); + KbfxFont_app->setFont ( ConfigInit().m_fontAppNameFont ); + KbfxCommentColor->setColor ( ConfigInit().m_fontAppCommentColor ); + KbfxFont_comment->setFont ( ConfigInit().m_fontAppCommentFont ); + KbfxLineColor->setColor ( ConfigInit().m_lineColor ); + KbfxCategoryColor->setColor ( ConfigInit().m_fontIndexColor ); + KbfxFont_category->setFont ( ConfigInit().m_fontIndexFont ); + KbfxNameColor->setColor ( ConfigInit().m_userNameColor ); + KbfxFont_username->setFont ( ConfigInit().m_userNameFont ); + KbfxSeparatorColor->setColor ( ConfigInit().m_sepNameColor ); + KbfxFont_separator->setFont ( ConfigInit().m_sepNameFont ); + KbfxPluginColor->setColor ( ConfigInit().m_pluginNameColor ); + KbfxFont_plugin->setFont ( ConfigInit().m_pluginNameFont ); + KbfxTooltipColor->setColor ( ConfigInit().m_fontTooltipColor ); + KbfxFont_tooltip->setFont ( ConfigInit().m_fontTooltipFont ); + KbfxFormReady = TRUE; +} + +void KbfxConfigDlgFonts::KbfxApplicationColorSelected ( const QColor &color ) +{ + ConfigInit().m_fontAppNameColor = color; + + kdDebug() << "Application color: " + << ConfigInit().m_fontAppNameColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxTooltipColorSelected ( const QColor &color ) +{ + ConfigInit().m_fontTooltipColor = color; + + kdDebug() << "Tooltip color: " + << ConfigInit().m_fontTooltipColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxCommentColorSelected ( const QColor &color ) +{ + ConfigInit().m_fontAppCommentColor = color; + + kdDebug() << "Comment color: " + << ConfigInit().m_fontAppCommentColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxLineColorSelected ( const QColor & color ) +{ + ConfigInit().m_lineColor = color; + + kdDebug() << "Line color: " + << ConfigInit().m_lineColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxCategoryColorSelected ( const QColor &color ) +{ + ConfigInit().m_fontIndexColor = color; + + kdDebug() << "Category color: " + << ConfigInit().m_fontIndexColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxNameColorSelected ( const QColor &color ) +{ + ConfigInit().m_userNameColor = color; + + kdDebug() << "User color: " + << ConfigInit().m_userNameColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxSeparatorColorSelected ( const QColor &color ) +{ + ConfigInit().m_sepNameColor = color; + + kdDebug() << "Separator color: " + << ConfigInit().m_sepNameColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxPluginColorSelected( const QColor &color ) +{ + ConfigInit().m_pluginNameColor = color; + + kdDebug() << "Plugin color: " + << ConfigInit().m_pluginNameColor + << endl; +} + +void KbfxConfigDlgFonts::KbfxExportFileAction() +{ + /* + KFileDialog KbfxExportFontRcDialog(QString::null, + "*.*|" + tr2i18n("All files"), + 0, + 0, + TRUE); + KbfxExportFontRcDialog.setOperationMode(KFileDialog::Saving); + KbfxExportFontRcDialog.setCaption(tr2i18n("Select Folder to export kbfxfontrc file")); + KbfxExportFontRcDialog.setMode(KFile::Directory); + + if(!KbfxExportFontRcDialog.exec()) return; + + QString KbfxExportFontRcDialogURL = KbfxExportFontRcDialog.selectedURL().path(); + */ + + QString KbfxExportFontRcDialogURL = KFileDialog::getExistingDirectory ( + QString::null, + 0, + tr2i18n ( "Select folder to export kbfxfontrc file" ) ).append ( "/kbfxfontrc" ); + + if ( KbfxExportFontRcDialogURL == "/kbfxfontrc") return; + + kdDebug() << "Selected export file is: " + << KbfxExportFontRcDialogURL + << endl; + + KConfig *fontconfig = new KConfig ( KbfxExportFontRcDialogURL ); + + fontconfig->setGroup ( "Fonts" ); + fontconfig->writeEntry ( "TooltipText", ConfigInit().m_fontTooltipColor ); + fontconfig->writeEntry ( "TooltipTextFont", ConfigInit().m_fontTooltipFont ); + fontconfig->writeEntry ( "ApplicationText", ConfigInit().m_fontAppNameColor ); + fontconfig->writeEntry ( "ApplicationTextFont", ConfigInit().m_fontAppNameFont ); + fontconfig->writeEntry ( "CommentText", ConfigInit().m_fontAppCommentColor ); + fontconfig->writeEntry ( "CommentTextFont", ConfigInit().m_fontAppCommentFont ); + fontconfig->writeEntry ( "GroupText", ConfigInit().m_fontIndexColor ); + fontconfig->writeEntry ( "GroupTextFont", ConfigInit().m_fontIndexFont ); + fontconfig->writeEntry ( "UserName", ConfigInit().m_userNameColor ); + fontconfig->writeEntry ( "UserNameFont", ConfigInit().m_userNameFont ); + fontconfig->writeEntry ( "SeparatorColor", ConfigInit().m_sepNameColor ); + fontconfig->writeEntry ( "SeparatorFont", ConfigInit().m_sepNameFont ); + fontconfig->writeEntry ( "PluginColor", ConfigInit().m_pluginNameColor ); + fontconfig->writeEntry ( "PluginFont", ConfigInit().m_pluginNameFont ); + fontconfig->writeEntry ( "LineColor", ConfigInit().m_lineColor ); + fontconfig->writeEntry ( "HoverBold", ConfigInit().m_fontHoverBold ); + fontconfig->sync(); + + delete fontconfig; + KMessageBox::information ( 0, + tr2i18n ( "<p align='center'>The Font configuration of the KBFX Theme <strong>%1</strong> has been exported successfully!</p>" ).arg ( ConfigInit().m_SpinxThemeName ), + tr2i18n ( "KBFX Font Export Ready" ) ); +} + + +void KbfxConfigDlgFonts::FontChanged() +{ + if (KbfxFormReady) + { + ConfigInit().m_fontAppNameFont = KbfxFont_app->font(); + ConfigInit().m_fontAppCommentFont = KbfxFont_comment->font(); + ConfigInit().m_fontIndexFont = KbfxFont_category->font(); + ConfigInit().m_userNameFont = KbfxFont_username->font(); + ConfigInit().m_sepNameFont = KbfxFont_separator->font(); + ConfigInit().m_pluginNameFont = KbfxFont_plugin->font(); + ConfigInit().m_fontTooltipFont = KbfxFont_tooltip->font(); + + /* + kdDebug() << "Changed font... " + << endl << ConfigInit().m_fontAppNameFont + << endl << ConfigInit().m_fontAppCommentFont + << endl << ConfigInit().m_fontIndexFont + << endl << ConfigInit().m_userNameFont + << endl << ConfigInit().m_sepNameFont + << endl << ConfigInit().m_pluginNameFont + << endl << ConfigInit().m_fontTooltipFont + << endl; + */ + } +} + + +void KbfxConfigDlgFonts::KbfxBoldHover_toggled( bool state ) +{ + ConfigInit().m_fontHoverBold = state; + kdDebug() << "Bold on hover is: " + << endl << ConfigInit().m_fontHoverBold + << endl; +} + + diff --git a/configdialog/kbfxconfigdlglayout.ui b/configdialog/kbfxconfigdlglayout.ui new file mode 100644 index 0000000..f759df9 --- /dev/null +++ b/configdialog/kbfxconfigdlglayout.ui @@ -0,0 +1,1084 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgLayout</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgLayout</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>667</width> + <height>369</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <property name="focusPolicy"> + <enum>TabFocus</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Layout options</p></h3></b></string> + </property> + </widget> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout14_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>408</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxExportFile</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>EXPORT KBFXLAYOUTRC FILE</string> + </property> + <property name="toolTip" stdset="0"> + <string>Export the kbfxlayoutrc file to a folder</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QGroupBox" row="1" column="0"> + <property name="name"> + <cstring>groupBox43</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Setup fonts for your KBFX</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer12_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>23</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout30</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel44</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="resizePolicy"> + <enum>Manual</enum> + </property> + <property name="text"> + <string>Theme that is edited:</string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxTheme</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>69</red> + <green>162</green> + <blue>225</blue> + </color> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="lineWidth"> + <number>1</number> + </property> + <property name="margin"> + <number>-1</number> + </property> + <property name="midLineWidth"> + <number>0</number> + </property> + <property name="text"> + <string><p align="left"><b>default</b></p></string> + </property> + <property name="toolTip" stdset="0"> + <string>Please select the theme you want to edit</string> + </property> + </widget> + <widget class="KComboBox"> + <property name="name"> + <cstring>KbfxLayoutProperty</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Select the Layout property to change</string> + </property> + </widget> + </hbox> + </widget> + <spacer row="7" column="1"> + <property name="name"> + <cstring>spacer9_3_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="6" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout17</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer7_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>Kbfx2PanelsLeft</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Make it 2 panels (Left "ON")</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>Kbfx2PanelsRight</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Make it 2 panels (Right "ON")</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>Kbfx3Panels</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Make it 3 panels</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <spacer row="5" column="0"> + <property name="name"> + <cstring>spacer9_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="4" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout33</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout28</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout21</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel1</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel2</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_3</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel3</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_4</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel4</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>checkBox1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>checkBox1</string> + </property> + </widget> + </vbox> + </widget> + <widget class="Line"> + <property name="name"> + <cstring>line3</cstring> + </property> + <property name="font"> + <font> + <pointsize>9</pointsize> + </font> + </property> + <property name="frameShape"> + <enum>VLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout29</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout21_2</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_5</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel5</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_2_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel6</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_3_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel7</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel7</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit7</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout16_4_2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel8</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>textLabel8</string> + </property> + </widget> + <widget class="QLineEdit"> + <property name="name"> + <cstring>lineEdit8</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="alignment"> + <set>AlignHCenter</set> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QCheckBox"> + <property name="name"> + <cstring>checkBox2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>checkBox2</string> + </property> + </widget> + </vbox> + </widget> + </hbox> + </widget> + <spacer row="3" column="0"> + <property name="name"> + <cstring>spacer12_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>23</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="Line" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>line1</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </grid> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxLayoutProperty</sender> + <signal>activated(int)</signal> + <receiver>KbfxConfigDlgLayout</receiver> + <slot>KbfxLayoutProperty_activated(int)</slot> + </connection> + <connection> + <sender>KbfxExportFile</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgLayout</receiver> + <slot>KbfxExportFileAction()</slot> + </connection> + <connection> + <sender>Kbfx2PanelsLeft</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgLayout</receiver> + <slot>Kbfx2PanelsLeft_clicked()</slot> + </connection> + <connection> + <sender>Kbfx2PanelsRight</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgLayout</receiver> + <slot>Kbfx2PanelsRight_clicked()</slot> + </connection> + <connection> + <sender>Kbfx3Panels</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgLayout</receiver> + <slot>Kbfx3Panels_clicked()</slot> + </connection> +</connections> +<tabstops> + <tabstop>KbfxLayoutProperty</tabstop> + <tabstop>lineEdit1</tabstop> + <tabstop>lineEdit5</tabstop> + <tabstop>lineEdit2</tabstop> + <tabstop>lineEdit6</tabstop> + <tabstop>lineEdit3</tabstop> + <tabstop>lineEdit7</tabstop> + <tabstop>lineEdit4</tabstop> + <tabstop>lineEdit8</tabstop> + <tabstop>checkBox1</tabstop> + <tabstop>checkBox2</tabstop> + <tabstop>KbfxExportFile</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kbfxthemesdata.h</include> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">qstringlist.h</include> + <include location="global" impldecl="in declaration">kstandarddirs.h</include> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="global" impldecl="in declaration">kfiledialog.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlglayout.ui.h</include> +</includes> +<variables> + <variable access="private">int previous_state;</variable> +</variables> +<slots> + <slot>ChangeForm()</slot> + <slot>KbfxLayoutProperty_activated( int index )</slot> + <slot>KbfxExportFileAction()</slot> + <slot>LayoutFormLeft()</slot> + <slot>Kbfx2PanelsLeft_clicked()</slot> + <slot>Kbfx2PanelsRight_clicked()</slot> + <slot>Kbfx3Panels_clicked()</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> + <function access="private">KbfxShowAll()</function> + <function access="private">KbfxMakePanel(int)</function> + <function access="private" returnType="bool">KbfxMessage()</function> +</functions> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kcombobox.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlglayout.ui.h b/configdialog/kbfxconfigdlglayout.ui.h new file mode 100644 index 0000000..0ce4a70 --- /dev/null +++ b/configdialog/kbfxconfigdlglayout.ui.h @@ -0,0 +1,641 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgLayout::init() +{ + KbfxLayoutProperty->clear(); + KbfxLayoutProperty->insertItem ( tr2i18n ( "User Properties" ) ); // index = 0 + KbfxLayoutProperty->insertItem ( tr2i18n ( "* Top Bar Properties" ) ); // index = 1 + KbfxLayoutProperty->insertItem ( tr2i18n ( "* Bottom Bar Properties" ) ); // index = 2 +// KbfxLayoutProperty->insertItem ( tr2i18n ( "Scroll Bar Properties" ) ); // index = 3 + KbfxLayoutProperty->insertItem ( tr2i18n ( "* List Box Properties" ) ); // index = 4 + KbfxLayoutProperty->insertItem ( tr2i18n ( "Search Box Properties" ) ); // index = 5 + KbfxLayoutProperty->insertItem ( tr2i18n ( "* Item Properties" ) ); // index = 6 +// KbfxLayoutProperty->insertItem ( tr2i18n ( "Tool Bar Properties" ) ); // index = 7 + KbfxLayoutProperty->insertItem ( tr2i18n ( "* Main Menu Properties" ) ); // index = 8 +} + +void KbfxConfigDlgLayout::ChangeForm() +{ + KbfxTheme->setText ( "<p align=left><b>" + ConfigInit().m_SpinxThemeName + "</b></p>" ); + KbfxLayoutProperty->setCurrentItem ( 0 ); + previous_state = -1; + KbfxLayoutProperty_activated ( 0 ); +} + +void KbfxConfigDlgLayout::KbfxLayoutProperty_activated( int index ) +{ + switch ( previous_state ) + { + case 0: /* User Properties */ + { + ConfigInit().m_facePos_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_facePos_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_userNamePos_x = ( lineEdit3->text () ).toInt(); + ConfigInit().m_userNamePos_y = ( lineEdit4->text () ).toInt(); + ConfigInit().m_faceIconX = ( lineEdit5->text () ).toInt(); + ConfigInit().m_faceIconY = ( lineEdit6->text () ).toInt(); + ConfigInit().m_faceIconH = ( lineEdit7->text () ).toInt(); + ConfigInit().m_faceIconW = ( lineEdit8->text () ).toInt(); + ConfigInit().m_faceBoxHideText = checkBox1->isChecked (); + kdDebug() << "User Properties VALUES: " + << endl << ConfigInit().m_facePos_x + << endl << ConfigInit().m_facePos_y + << endl << ConfigInit().m_userNamePos_x + << endl << ConfigInit().m_userNamePos_y + << endl << ConfigInit().m_faceIconX + << endl << ConfigInit().m_faceIconY + << endl << ConfigInit().m_faceIconH + << endl << ConfigInit().m_faceIconW + << endl << ConfigInit().m_faceBoxHideText + << endl; + break; + } + case 1: /* Top Bar Properties */ + { +/* + ConfigInit().m_topBar_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_topBar_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_topBar_h = ( lineEdit5->text () ).toInt(); + ConfigInit().m_topBar_w = ( lineEdit6->text () ).toInt(); +*/ + ConfigInit().m_topBar_h = ( lineEdit1->text () ).toInt(); + ConfigInit().m_topBar_w = ( lineEdit5->text () ).toInt(); + kdDebug() << "Top Bar Properties VALUES: " +// << endl << ConfigInit().m_topBar_x +// << endl << ConfigInit().m_topBar_y + << endl << ConfigInit().m_topBar_h + << endl << ConfigInit().m_topBar_w + << endl; + break; + } + case 2: /* Bottom Bar Properties */ + { +/* + ConfigInit().m_botBar_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_botBar_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_botBar_h = ( lineEdit5->text () ).toInt(); + ConfigInit().m_botBar_w = ( lineEdit6->text () ).toInt(); +*/ + ConfigInit().m_botBar_h = ( lineEdit1->text () ).toInt(); + ConfigInit().m_botBar_w = ( lineEdit5->text () ).toInt(); + kdDebug() << "Bottom Bar Properties VALUES: " +// << endl << ConfigInit().m_botBar_x +// << endl << ConfigInit().m_botBar_y + << endl << ConfigInit().m_botBar_h + << endl << ConfigInit().m_botBar_w + << endl; + break; + } + +/* + case 3: // Scroll Bar Properties + { + ConfigInit().m_scrollBarTopX = ( lineEdit1->text () ).toInt(); + ConfigInit().m_scrollBarTopY = ( lineEdit2->text () ).toInt(); + ConfigInit().m_scrollBarBotX = ( lineEdit5->text () ).toInt(); + ConfigInit().m_scrollBarBotY = ( lineEdit6->text () ).toInt(); + kdDebug() << "Scroll Bar Properties VALUES: " + << endl << ConfigInit().m_scrollBarTopX + << endl << ConfigInit().m_scrollBarTopY + << endl << ConfigInit().m_scrollBarBotX + << endl << ConfigInit().m_scrollBarBotY + << endl; + break; + } +*/ + + case 3: /* List Box Properties */ + { + ConfigInit().m_listBox_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_listBox_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_listBox_h = ( lineEdit5->text () ).toInt(); + ConfigInit().m_listBox_w = ( lineEdit6->text () ).toInt(); + kdDebug() << "List Box Properties VALUES: " + << endl << ConfigInit().m_listBox_x + << endl << ConfigInit().m_listBox_y + << endl << ConfigInit().m_listBox_h + << endl << ConfigInit().m_listBox_w + << endl; + break; + } + case 4: /* Search Box Properties */ + { + ConfigInit().m_searchBox_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_searchBox_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_searchBox_h = ( lineEdit5->text () ).toInt(); + ConfigInit().m_searchBox_w = ( lineEdit6->text () ).toInt(); + kdDebug() << "Search Box Properties VALUES: " + << endl << ConfigInit().m_searchBox_x + << endl << ConfigInit().m_searchBox_y + << endl << ConfigInit().m_searchBox_h + << endl << ConfigInit().m_searchBox_w + << endl; + break; + } + case 5: /* Item Properties */ + { + ConfigInit().m_itemView_x = ( lineEdit1->text () ).toInt(); + ConfigInit().m_itemView_y = ( lineEdit2->text () ).toInt(); + ConfigInit().m_iconSize = ( lineEdit3->text () ).toInt(); + ConfigInit().m_itemView_h = ( lineEdit5->text () ).toInt(); + ConfigInit().m_itemView_w = ( lineEdit6->text () ).toInt(); + ConfigInit().m_commentMargine = ( lineEdit7->text () ).toInt(); + ConfigInit().m_noComments = checkBox1->isChecked (); + kdDebug() << "Item Properties VALUES: " + << endl << ConfigInit().m_itemView_x + << endl << ConfigInit().m_itemView_y + << endl << ConfigInit().m_iconSize + << endl << ConfigInit().m_itemView_h + << endl << ConfigInit().m_itemView_w + << endl << ConfigInit().m_commentMargine + << endl << ConfigInit().m_noComments + << endl; + break; + } +/* + case 6: // Tool Bar Properties + { + ConfigInit().m_toolBarButtonNormalSize = ( lineEdit1->text () ).toInt(); + ConfigInit().m_toolBarButtonExpandSize = ( lineEdit5->text () ).toInt(); + kdDebug() << "Tool Bar Properties VALUES: " + << endl << ConfigInit().m_toolBarButtonNormalSize + << endl << ConfigInit().m_toolBarButtonExpandSize + << endl; + break; + } +*/ + case 6: /* Main Menu Properties */ + { + ConfigInit().m_userMenuHeight = ( lineEdit1->text () ).toInt(); + ConfigInit().m_userMenuWidth = ( lineEdit5->text () ).toInt(); + ConfigInit().m_startHidden = checkBox1->isChecked (); + kdDebug() << "Main Menu Properties VALUES: " + << endl << ConfigInit().m_userMenuHeight + << endl << ConfigInit().m_userMenuWidth + << endl << ConfigInit().m_startHidden + << endl; + break; + } + default: /* default action switch does nothing */ + kdDebug() << "Default action switch for saving layout changed..." << endl; + } + + KbfxShowAll (); + switch ( index ) + { + case 0: /* User Properties */ + { + textLabel1->setText ( tr2i18n ( "Face Position X" ) ); + textLabel2->setText ( tr2i18n ( "Face Position Y" ) ); + textLabel3->setText ( tr2i18n ( "User Name Position X" ) ); + textLabel4->setText ( tr2i18n ( "User Name Position Y" ) ); + textLabel5->setText ( tr2i18n ( "Face Box Position X" ) ); + textLabel6->setText ( tr2i18n ( "Face Box Position Y" ) ); + textLabel7->setText ( tr2i18n ( "Face Box Height" ) ); + textLabel8->setText ( tr2i18n ( "Face Box Width" ) ); + checkBox1->setText ( tr2i18n ( "Hide User Name" ) ); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_facePos_x ) ); + lineEdit2->setText ( QString::number ( ConfigInit().m_facePos_y ) ); + lineEdit3->setText ( QString::number ( ConfigInit().m_userNamePos_x ) ); + lineEdit4->setText ( QString::number ( ConfigInit().m_userNamePos_y ) ); + lineEdit5->setText ( QString::number ( ConfigInit().m_faceIconX ) ); + lineEdit6->setText ( QString::number ( ConfigInit().m_faceIconY ) ); + lineEdit7->setText ( QString::number ( ConfigInit().m_faceIconH ) ); + lineEdit8->setText ( QString::number ( ConfigInit().m_faceIconW ) ); + checkBox1->setChecked ( ConfigInit().m_faceBoxHideText ); + previous_state = 0; + break; + } + case 1: /* Top Bar Properties */ + { +// textLabel1->setText ( tr2i18n ( "Top Bar Position X" ) ); +// textLabel2->setText ( tr2i18n ( "Top Bar Position Y" ) ); + textLabel1->setText ( tr2i18n ( "* Top Bar Height" ) ); + textLabel2->hide(); + textLabel3->hide(); + textLabel4->hide(); +// textLabel5->setText ( tr2i18n ( "Top Bar Height" ) ); +// textLabel6->setText ( tr2i18n ( "Top Bar Width" ) ); + textLabel5->setText ( tr2i18n ( "Top Bar Width" ) ); + textLabel6->hide(); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); +// lineEdit1->setText ( QString::number ( ConfigInit().m_topBar_x ) ); +// lineEdit2->setText ( QString::number ( ConfigInit().m_topBar_y ) ); + lineEdit1->setText ( QString::number ( ConfigInit().m_topBar_h ) ); + lineEdit2->hide(); + lineEdit3->hide(); + lineEdit4->hide(); +// lineEdit5->setText ( QString::number ( ConfigInit().m_topBar_h ) ); +// lineEdit6->setText ( QString::number ( ConfigInit().m_topBar_w ) ); + lineEdit5->setText ( QString::number ( ConfigInit().m_topBar_w ) ); + lineEdit6->hide(); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 1; + break; + } + case 2: /* Bottom Bar Properties */ + { +// textLabel1->setText ( tr2i18n ( "Bottom Bar Position X" ) ); +// textLabel2->setText ( tr2i18n ( "Bottom Bar Position Y" ) ); + textLabel1->setText ( tr2i18n ( "* Bottom Bar Height" ) ); + textLabel2->hide(); + textLabel3->hide(); + textLabel4->hide(); +// textLabel5->setText ( tr2i18n ( "Bottom Bar Height" ) ); +// textLabel6->setText ( tr2i18n ( "Bottom Bar Width" ) ); + textLabel5->setText ( tr2i18n ( "Bottom Bar Width" ) ); + textLabel6->hide(); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); +// lineEdit1->setText ( QString::number ( ConfigInit().m_botBar_x ) ); +// lineEdit2->setText ( QString::number ( ConfigInit().m_botBar_y ) ); + lineEdit1->setText ( QString::number ( ConfigInit().m_botBar_h ) ); + lineEdit2->hide(); + lineEdit3->hide(); + lineEdit4->hide(); +// lineEdit5->setText ( QString::number ( ConfigInit().m_botBar_h ) ); +// lineEdit6->setText ( QString::number ( ConfigInit().m_botBar_w ) ); + lineEdit5->setText ( QString::number ( ConfigInit().m_botBar_w ) ); + lineEdit6->hide(); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 2; + break; + } + +/* + case 3: // Scroll Bar Properties + { + textLabel1->setText ( tr2i18n ( "Top Scroll Bar Position X" ) ); + textLabel2->setText ( tr2i18n ( "Top Scroll Bar Position Y" ) ); + textLabel3->hide(); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "Bottom Scroll Bar Position X" ) ); + textLabel6->setText ( tr2i18n ( "Bottom Scroll Bar Position Y" ) ); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_scrollBarTopX ) ); + lineEdit2->setText ( QString::number ( ConfigInit().m_scrollBarTopY ) ); + lineEdit3->hide(); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_scrollBarBotX ) ); + lineEdit6->setText ( QString::number ( ConfigInit().m_scrollBarBotY ) ); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 3; + break; + } +*/ + + case 3: /* List Box Properties */ + { + textLabel1->setText ( tr2i18n ( "* List Box Position X" ) ); + textLabel2->setText ( tr2i18n ( "* List Box Position Y" ) ); + textLabel3->hide(); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "List Box Height" ) ); + textLabel6->setText ( tr2i18n ( "* List Box Width" ) ); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_listBox_x ) ); + lineEdit2->setText ( QString::number ( ConfigInit().m_listBox_y ) ); + lineEdit3->hide(); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_listBox_h ) ); + lineEdit6->setText ( QString::number ( ConfigInit().m_listBox_w ) ); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 3; + break; + } + case 4: /* Search Box Properties */ + { + textLabel1->setText ( tr2i18n ( "Search Box Position X" ) ); + textLabel2->setText ( tr2i18n ( "Search Box Position Y" ) ); + textLabel3->hide(); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "Search Box Height" ) ); + textLabel6->setText ( tr2i18n ( "Search Box Width" ) ); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_searchBox_x ) ); + lineEdit2->setText ( QString::number ( ConfigInit().m_searchBox_y ) ); + lineEdit3->hide(); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_searchBox_h ) ); + lineEdit6->setText ( QString::number ( ConfigInit().m_searchBox_w ) ); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 4; + break; + } + case 5: /* Item Properties */ + { + textLabel1->setText ( tr2i18n ( "* Item Position X" ) ); + textLabel2->setText ( tr2i18n ( "* Item Position Y" ) ); + textLabel3->setText ( tr2i18n ( "Icon Size in Item" ) ); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "Item Height" ) ); + textLabel6->setText ( tr2i18n ( "* Item Width" ) ); + textLabel7->setText ( tr2i18n ( "Comment Margin in Item" ) ); + textLabel8->hide(); + checkBox1->setText ( tr2i18n ( "No Comments in Item" ) ); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_itemView_x ) ); + lineEdit2->setText ( QString::number ( ConfigInit().m_itemView_y ) ); + lineEdit3->setText ( QString::number ( ConfigInit().m_iconSize ) ); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_itemView_h ) ); + lineEdit6->setText ( QString::number ( ConfigInit().m_itemView_w ) ); + lineEdit7->setText ( QString::number ( ConfigInit().m_commentMargine ) ); + lineEdit8->hide(); + checkBox1->setChecked ( ConfigInit().m_noComments ); + previous_state = 5; + break; + } +/* + case 6: // Tool Bar Properties + { + textLabel1->setText ( tr2i18n ( "Tool Bar Button Normal Size" ) ); + textLabel2->hide(); + textLabel3->hide(); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "Tool Bar Button Pressed Size" ) ); + textLabel6->hide(); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->hide(); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_toolBarButtonNormalSize ) ); + lineEdit2->hide(); + lineEdit3->hide(); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_toolBarButtonExpandSize ) ); + lineEdit6->hide(); + lineEdit7->hide(); + lineEdit8->hide(); + previous_state = 6; + break; + } +*/ + case 6: /* Main Menu Properties */ + { + textLabel1->setText ( tr2i18n ( "* Main Menu Height" ) ); + textLabel2->hide(); + textLabel3->hide(); + textLabel4->hide(); + textLabel5->setText ( tr2i18n ( "* Main Menu Width" ) ); + textLabel6->hide(); + textLabel7->hide(); + textLabel8->hide(); + checkBox1->setText ( tr2i18n ( "Contracted Menues" ) ); + checkBox2->hide(); + lineEdit1->setText ( QString::number ( ConfigInit().m_userMenuHeight ) ); + lineEdit2->hide(); + lineEdit3->hide(); + lineEdit4->hide(); + lineEdit5->setText ( QString::number ( ConfigInit().m_userMenuWidth ) ); + lineEdit6->hide(); + lineEdit7->hide(); + lineEdit8->hide(); + checkBox1->setChecked ( ConfigInit().m_startHidden ); + previous_state = 6; + break; + } + default: /* default action switch should never be reached */ + kdDebug() << "Default action switch for layout changed..." << endl; + } +} + +void KbfxConfigDlgLayout::KbfxShowAll() +{ + textLabel1->show(); + textLabel2->show(); + textLabel3->show(); + textLabel4->show(); + textLabel5->show(); + textLabel6->show(); + textLabel7->show(); + textLabel8->show(); + checkBox1->show(); + checkBox2->show(); + lineEdit1->show(); + lineEdit2->show(); + lineEdit3->show(); + lineEdit4->show(); + lineEdit5->show(); + lineEdit6->show(); + lineEdit7->show(); + lineEdit8->show(); +} + +void KbfxConfigDlgLayout::KbfxExportFileAction() +{ + QString KbfxExportLayoutRcDialogURL = KFileDialog::getExistingDirectory ( + QString::null, + 0, + tr2i18n ( "Select folder to export kbfxlayoutrc file" ) ).append ( "/kbfxlayoutrc" ); + + if ( KbfxExportLayoutRcDialogURL == "/kbfxlayoutrc") return; + + kdDebug() << "Selected export file is: " + << KbfxExportLayoutRcDialogURL + << endl; + + /* write layout theme configuration file */ + KConfig *layoutconfig = new KConfig ( KbfxExportLayoutRcDialogURL ); + + layoutconfig->setGroup ( "KbfxButton" ); + layoutconfig->writeEntry ( "FadeTime", ConfigInit().m_fadeTime ); + +/* + // No need for this to be exported because it is user/installation specific + layoutconfig->writeEntry ( "Normal", ConfigInit().m_KbfxNormalButtonPath ); + layoutconfig->writeEntry ( "Hover", ConfigInit().m_KbfxHoverButtonPath ); + layoutconfig->writeEntry ( "Press", ConfigInit().m_KbfxPressedButtonPath ); + + layoutconfig->setGroup ( "ToolTip" ); + layoutconfig->writeEntry ( "Avatar", m_ToolTipAvatar ); + layoutconfig->writeEntry ( "Dudebox", m_SpinxTooltipDudebox ); + layoutconfig->writeEntry ( "Mask", m_SpinxTooltipMask ); + layoutconfig->writeEntry ( "Window", m_SpinxTooltipWindow ); + layoutconfig->writeEntry ( "Logo", m_SpinxTooltipLogo ); +*/ + + layoutconfig->setGroup ( "TopBar" ); + layoutconfig->writeEntry ( "DudeX", ConfigInit().m_facePos_x ); + layoutconfig->writeEntry ( "DudeY", ConfigInit().m_facePos_y ); + layoutconfig->writeEntry ( "FaceX", ConfigInit().m_faceIconX ); + layoutconfig->writeEntry ( "FaceY", ConfigInit().m_faceIconY ); + layoutconfig->writeEntry ( "FaceH", ConfigInit().m_faceIconH ); + layoutconfig->writeEntry ( "FaceW", ConfigInit().m_faceIconW ); + layoutconfig->writeEntry ( "UserNameX", ConfigInit().m_userNamePos_x ); + layoutconfig->writeEntry ( "UserNameY", ConfigInit().m_userNamePos_y ); + layoutconfig->writeEntry ( "DisableUserName", ConfigInit().m_faceBoxHideText ); + layoutconfig->writeEntry ( "Height", ConfigInit().m_topBar_h ); + layoutconfig->writeEntry ( "Width", ConfigInit().m_topBar_w ); + layoutconfig->writeEntry ( "X", ConfigInit().m_topBar_x ); + layoutconfig->writeEntry ( "Y", ConfigInit().m_topBar_y ); + + layoutconfig->setGroup ( "BottomBar" ); + layoutconfig->writeEntry ( "Height", ConfigInit().m_botBar_h ); + layoutconfig->writeEntry ( "Width", ConfigInit().m_botBar_w ); + layoutconfig->writeEntry ( "X", ConfigInit().m_botBar_x ); + layoutconfig->writeEntry ( "Y", ConfigInit().m_botBar_y ); + + layoutconfig->setGroup ( "Scrollbars" ); + layoutconfig->writeEntry ( "ScrollBarBotX", ConfigInit().m_scrollBarBotX ); + layoutconfig->writeEntry ( "ScrollBarBotY", ConfigInit().m_scrollBarBotY ); + layoutconfig->writeEntry ( "ScrollBarTopX", ConfigInit().m_scrollBarTopX ); + layoutconfig->writeEntry ( "ScrollBarTopY", ConfigInit().m_scrollBarTopY ); + + layoutconfig->setGroup ( "ListBox" ); + layoutconfig->writeEntry ( "Height", ConfigInit().m_listBox_h ); + layoutconfig->writeEntry ( "Width", ConfigInit().m_listBox_w ); + layoutconfig->writeEntry ( "X", ConfigInit().m_listBox_x ); + layoutconfig->writeEntry ( "Y", ConfigInit().m_listBox_y ); + + layoutconfig->setGroup ( "SearchBox" ); + layoutconfig->writeEntry ( "Height", ConfigInit().m_searchBox_h ); + layoutconfig->writeEntry ( "Width", ConfigInit().m_searchBox_w ); + layoutconfig->writeEntry ( "X", ConfigInit().m_searchBox_x ); + layoutconfig->writeEntry ( "Y", ConfigInit().m_searchBox_y ); + layoutconfig->writeEntry ( "FixedPos", ConfigInit().m_searchBox_static ); + + layoutconfig->setGroup ( "ItemView" ); + layoutconfig->writeEntry ( "Height", ConfigInit().m_itemView_h ); + layoutconfig->writeEntry ( "Width", ConfigInit().m_itemView_w ); + layoutconfig->writeEntry ( "X", ConfigInit().m_itemView_x ); + layoutconfig->writeEntry ( "Y", ConfigInit().m_itemView_y ); + + layoutconfig->setGroup ( "ToolBar" ); + layoutconfig->writeEntry ( "ButtonNormalSize", ConfigInit().m_toolBarButtonNormalSize ); + layoutconfig->writeEntry ( "ButtonPressedSize", ConfigInit().m_toolBarButtonExpandSize ); + + layoutconfig->setGroup ( "MainMenu" ); + layoutconfig->writeEntry ( "UserMenuHeight", ConfigInit().m_userMenuHeight ); + layoutconfig->writeEntry ( "UserMenuWidth", ConfigInit().m_userMenuWidth ); + layoutconfig->writeEntry ( "ContractedMenu", ConfigInit().m_startHidden ); + + layoutconfig->setGroup ( "ItemProperties" ); + layoutconfig->writeEntry ( "NoComments", ConfigInit().m_noComments ); + layoutconfig->writeEntry ( "CommentMargin", ConfigInit().m_commentMargine ); + layoutconfig->writeEntry ( "IconSize", ConfigInit().m_iconSize ); + + layoutconfig->sync(); + + delete layoutconfig; + + KMessageBox::information ( 0, + tr2i18n ( "<p align='center'>The Layout configuration of the KBFX Theme <strong>%1</strong> has been exported successfully!</p>" ).arg ( ConfigInit().m_SpinxThemeName ), + tr2i18n ( "KBFX Layout Export Ready" ) ); +} + +void KbfxConfigDlgLayout::LayoutFormLeft() +{ + KbfxLayoutProperty_activated ( previous_state ); + kdDebug() << "Called Leave form... Previous state is:" << previous_state << endl; +} + +void KbfxConfigDlgLayout::Kbfx2PanelsLeft_clicked() +{ + KbfxMakePanel( 0 ); +} + +void KbfxConfigDlgLayout::Kbfx2PanelsRight_clicked() +{ + KbfxMakePanel( 1 ); +} + +void KbfxConfigDlgLayout::Kbfx3Panels_clicked() +{ + KbfxMakePanel( 2 ); +} + +void KbfxConfigDlgLayout::KbfxMakePanel( int l_type ) +{ + if ( !KbfxMessage() ) + return; + + LayoutFormLeft(); + int mid_h = ConfigInit().m_userMenuHeight - ConfigInit().m_botBar_h - ConfigInit().m_topBar_h; + int mid_w = ConfigInit().m_userMenuWidth; + + ConfigInit().m_topBar_w = mid_w; + ConfigInit().m_botBar_w = mid_w; + ConfigInit().m_listBox_h = mid_h; + ConfigInit().m_listBox_w = mid_w/4; + ConfigInit().m_itemView_h = mid_h; + ConfigInit().m_listBox_y = ConfigInit().m_topBar_h; + ConfigInit().m_itemView_y = ConfigInit().m_topBar_h; + + if ( l_type == 0 ) + { + ConfigInit().m_listBox_x = 0; + ConfigInit().m_itemView_x = ConfigInit().m_listBox_w; + ConfigInit().m_itemView_w = mid_w - ConfigInit().m_listBox_w; + } + + if ( l_type == 1 ) + { + ConfigInit().m_itemView_x = 0; + ConfigInit().m_itemView_w = mid_w - ConfigInit().m_listBox_w; + ConfigInit().m_listBox_x = ConfigInit().m_itemView_w; + } + + if ( l_type == 2 ) + { + ConfigInit().m_listBox_x = 0; + ConfigInit().m_itemView_x = ConfigInit().m_listBox_w; + ConfigInit().m_itemView_w = mid_w/2; + } + + KbfxLayoutProperty->setCurrentItem ( 0 ); + previous_state = -1; + KbfxLayoutProperty_activated ( 0 ); + + KMessageBox::information ( 0, + tr2i18n ( "<p align='center'>The Layout configuration of the KBFX Theme <strong>%1</strong> is ready!</p><p align='center'>Be sure to click the <strong>Apply</strong> button in order the changes to become active!</p>" ).arg ( ConfigInit().m_SpinxThemeName ), + tr2i18n ( "KBFX Layout Ready" ) ); +} + +bool KbfxConfigDlgLayout::KbfxMessage() +{ + int messageBoxReturn = KMessageBox::warningContinueCancel ( 0, + tr2i18n ( "<p align='center'>KBFX will calculate the necessary values using the present values for:</p>" + "<p align='center'><strong>* Main Menu Height</strong> and <strong>* Main Menu Width</strong><br>" + "<strong>* Bottom Bar Height</strong> and <strong>* Top Bar Height</strong><br></p>" + "<p align='center'>So be sure that you have entered their values as you desire!</p>" + "<p align='center'><strong>NOTE:</strong> Have in mind that the Layout of the theme also depends on the sizes of the images! " + "So if the theme does not look like as you desire either change the images' sizes to smaller width OR change <strong>* Main Menu Width</strong> to higher value!</p>" ), + tr2i18n ( "Prepare Layout for the KBFX theme" ), + tr2i18n ( "Prepare" ) ); + + if ( messageBoxReturn == KMessageBox::Cancel ) + return FALSE; + + return TRUE; +} diff --git a/configdialog/kbfxconfigdlgmain.ui b/configdialog/kbfxconfigdlgmain.ui new file mode 100644 index 0000000..c23db41 --- /dev/null +++ b/configdialog/kbfxconfigdlgmain.ui @@ -0,0 +1,670 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgMain</class> +<widget class="QDialog"> + <property name="name"> + <cstring>tb_Main</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>807</width> + <height>618</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Configurator Application</string> + </property> + <property name="icon"> + <pixmap>image0</pixmap> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QListBox"> + <item> + <property name="text"> + <string>Start Button</string> + </property> + <property name="pixmap"> + <pixmap>image1</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>KBFX Themes</string> + </property> + <property name="pixmap"> + <pixmap>image2</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>Fonts</string> + </property> + <property name="pixmap"> + <pixmap>image3</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>Menu Style</string> + </property> + <property name="pixmap"> + <pixmap>image4</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>Tooltip</string> + </property> + <property name="pixmap"> + <pixmap>image5</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>Search Engine</string> + </property> + <property name="pixmap"> + <pixmap>image6</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>Plugins</string> + </property> + <property name="pixmap"> + <pixmap>image7</pixmap> + </property> + </item> + <item> + <property name="text"> + <string>About KBFX</string> + </property> + <property name="pixmap"> + <pixmap>image8</pixmap> + </property> + </item> + <property name="name"> + <cstring>lb_Main</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>265</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShape"> + <enum>LineEditPanel</enum> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KBFXNewsBrowser</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>280</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="paletteBackgroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="text"> + <string><br><p align="center"><br><br><br>If you want you can check the latest news for KBFX from here:<br><a href="http://www.kbfx.org/">KBFX News</a></p></string> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout12</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>2</number> + </property> + <widget class="QPushButton"> + <property name="name"> + <cstring>btn_Help</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Help</string> + </property> + <property name="accel"> + <string>Alt+H</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + <property name="iconSet"> + <iconset>image9</iconset> + </property> + <property name="toolTip" stdset="0"> + <string>Open Help Documentation</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>btn_Default</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Default</string> + </property> + <property name="accel"> + <string>Alt+D</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + <property name="iconSet"> + <iconset>image10</iconset> + </property> + <property name="toolTip" stdset="0"> + <string>Apply the default configuration for this section only</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer15</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>160</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>btn_SaveApply</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Apply</string> + </property> + <property name="accel"> + <string>Alt+A</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + <property name="iconSet"> + <iconset>image11</iconset> + </property> + <property name="toolTip" stdset="0"> + <string>Save the configuration and Apply it</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>btn_Exit</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>E&xit</string> + </property> + <property name="accel"> + <string>Alt+X</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + <property name="iconSet"> + <iconset>image12</iconset> + </property> + <property name="toolTip" stdset="0"> + <string>Exit the configuration without saving</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="0" column="1"> + <property name="name"> + <cstring>layout5</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QFrame"> + <property name="name"> + <cstring>frame4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>507</width> + <height>100</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>100</height> + </size> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image13</pixmap> + </property> + <property name="font"> + <font> + <pointsize>9</pointsize> + </font> + </property> + <property name="frameShape"> + <enum>NoFrame</enum> + </property> + <property name="frameShadow"> + <enum>Plain</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <spacer row="0" column="1"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>61</width> + <height>25</height> + </size> + </property> + </spacer> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer6</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>56</width> + <height>7</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="1" column="1"> + <property name="name"> + <cstring>KbfxLogoText</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="backgroundOrigin"> + <enum>ParentOrigin</enum> + </property> + <property name="text"> + <string><font size="+2"><b>Kbfx start button</b><br></font></string> + </property> + <property name="textFormat"> + <enum>RichText</enum> + </property> + </widget> + </grid> + </widget> + <widget class="QFrame"> + <property name="name"> + <cstring>frame3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>114</width> + <height>100</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>114</width> + <height>100</height> + </size> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image14</pixmap> + </property> + <property name="frameShape"> + <enum>NoFrame</enum> + </property> + <property name="frameShadow"> + <enum>Plain</enum> + </property> + </widget> + </hbox> + </widget> + <widget class="QWidgetStack"> + <property name="name"> + <cstring>ws_Main</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="frameShape"> + <enum>NoFrame</enum> + </property> + </widget> + </vbox> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="PNG" length="2524">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000009a34944415458859d975b8c5dd57dc67febb2f73967ce998b19db638fc733c6c6a13851622e8646951d11c7a448845649ed90b618c97da8fad0aa5865909a9714a9955af50111445ba545958283422bd504a6b18002b270d2402e8e1b989a62d73633e339336766ce6d9f7d59b73e0ce310620274494b5ada5bebfffdf4df5b6b7d9f0821f051c6f9f3e75592241bacb563ceb9416bad77ce2d79ef2ff5f7f7b777efdeed3f4a3df161002e5cb8105b6bf787100e7aef6ff7de8f8710a4730ee71cc6188c31455114678ba278ae288a270707077fb277efde0f84f99500737373da18f365e0cf815d420800d6f678ef71ce61adc598823c2fc8b28c344d5d96652f1745f1b5f1f1f1537bf6ec795f91f705989999d906fcbd10e20e29a5905222a52084c0f2d2328d8525bc83000819185c3748ad56214d33badd2e49d22349129365d9df79efbf7acf3df7743f34c0ecececa785104f4929c7945268ad595a5c64fabfa6e9b4122a7d556ab57ea2380621289ca1db4bc9f29c6ab5cc96d10d081168369b743a5d7abdde296beda1c3870fcf7d20c0dcdcdca78510cf68ad879552386b38f5d2496ce1d9b47933524960ed53ac4e0f78045e089c08b45a1d44304c6c1da1d96cd26ab54992e4b4b5f6ce23478eccbf2fc0dcdcdc8494f215adf598528af6ca0a2f7ef779b66ddf4e1cc7acfe0281105619ae0004f07e0d4010a4c487c0d2e222db274668b75b349b2d9224f90f21c45d478e1cc9d634e5daa25eaf6b29e53f28a556c59b2b3cffcc77b9f6da6b511282cbf136c7d98ca14a86b709d6a6589b5d99a6c8b079be3aad63f09a61ce5d6c50ad562997cb68adf7e7793ef9ee0e5c01f0de1f9252dea1b5c659cbd4bf1e677c621cef0a9cc97026c5d91ed6f4586a75f8c45688458f2cef50143d0a93501409264bc87b3d8a3425cb0a2ab52a67cfd7191a1a208e23a494938f3cf2c8f5bf00303f3f1f0b21be2aa5144a299efbce338c6cdc882b324c9ea0428f3cef52e45df2bccbce11c96029f0ebd795b861b320cd3a645942962554758f8128254d7a64694a2fcd2955aa5c9a59a256aba294aa861026a7a7a77f0ee0bddf2f84d825a56471fe32972fce82b714599722ebd2a7536a71c6709fa1d7ebf0d6ec32cee6045f30768d64a4e6e8261dbadd3683e5829b2602366d937412ba494a92e62c770c5ac768ad010e4d4d4d8d0048ef3dc0412104524a5e79e125fa6b357a9d36bd6e8bb4db64e6f222b7ee28f3c9f1989acef99f8b75969b2db029c2a694c868359bf43a2d768d4a06cb867dd7079a2b4d9acd0ecd768fdc052ecdad502ec708216aceb93b01f4fcfcbc0a21dc2e842004cff44fdf60a8bf8fb4b5409e36102263d3960d70cb0042486edd5e66b1b1cc9b17e619be6103696ef9c1eb33acb40b2a91260ac36004e34310f93697570a4414a3a462a991b1ef96ad341a1221c401e09fb53166bdd67a1ca051aff3a3575e45bb1ee538a3542a903a67e6a2a7f84c4cb46e07fd718dcf7da29fc79e39cb993767a937733aa9c37bc1c4867e94eb815b3d297cd16569c5ac02288d29728c05a5144288dd8f3ffeb8d4defbad21040970e97f2fd15e6ad15ff144d2e2544120a7670a5e7cf52c9fdf93e36b5bb85c0facac2cb1b8048505eb02ce46949ca5c8361069c1c585821f9e6d92aa2a222aa1754496a5d4eb2d94920821463b9d8ed2218441ef3d2178dacb1dac0d38eb71d66295456009c2f2d8bf9de6d5e905b4d69c9e0b5407375258286cc01889a2c4c2e51e7ff43729231b2bfcf492a7272ab858a0224f2f6f333357e7b3b7ed643096082106bcf7523be79c9412ef574f3867c0ea80d101a407ef70c2e184e7e499b7310e720b516585be810ddc71f318870fec60782066eafb4bfcf55375ce5ccaf1ba848d0546433b69d3cb0aa40c04046b97298076ce2d4b2971ce511ba862aca0b0126504e363fd0c5d33c0815b477975bace4ba7e748538371b09234f9abdfbe9e2f7e660264009773d7ad35b60cc3eb6fe7140e1e7aba41a328a3749928d2083c15b1daed10c28a52ca6beffd256b6d61ad8db76c1bc3a3c98b809492e90b09dfb8f716768e0df0d91bc7f8e32f7e8a13afcdf0d013a719aa69eebe6d144c1b8406a140c08de370e3580438cecdc3c32705422a10122902231b07595c9827847071f3e6cd564651d436c69c35c6b06efd356c9a18232b3459115314110f7ffbcdb596512d6bbeb4771b3b460768753c4966575f040b3e07978337800360cff618a5244a49a480ad1b078823b0d6124278ede0c18341eedcb9d31b639e2b8a02632cb77f611f059acc46e4b6c27ffe2ce15f5e7efb0ac4c58584b766327a59c45bb3c97baff75f18afbce588a2884849b40cecbb793bad567b0de0048006b0d63e09fca9524addfde5dfe45bc7fe1dd3c9084e2395e02f8f5de0a5334b8cae2f71e2b53ab9a970dd963e3ebeadffaac23ec03f9decf1e48f622aa518a504152dd97bf3b5341a0b38e7e694522f5e0188a2e827799ebf2c84d83f30d4cfa1c377f1c413537857021f232871eaf51c44074295482b7e67df26cab1fa25f1e5c4f1d077528effac4cb95a43698dc0f185bdbb302625cf0bbcf7df989c9cec5eb98c76efdeed8ba2f85a9aa6a6d349f8fdfb7e8b8f7d720762b81f31bc0e39b01e5dd9485cda485cde40a932cc8933964efa73d39b99c037bf9772d7a305cf9d5fc7c0e03afa6b156a65c5c7b60c71fb6dd7b1b2d2c618332b8478746ddf1547f4c61b6f887abdfe701cc77f52ad56b1d631f9178fb2dcea22bc473a8ff20ec1aa11f50146062d9fff54cc4a0acf9f95745c0d1d57503a42ca55ab31d4a7f8c3afeca3b1b848a7d375c698df7bf0c107bffd4b00002fbcf0422d8470a2542afd46b55ac53acfdf7efd9b5c5e6aaf16f420567d30010142e28500a9502a422a85940a2105de3bd6d7627ef7eedb68341a743a5d8aa27864d3a64df7df77df7dfeaa0000535353a34288a952a9b4bb5229532997997afe7b9cfae134414aa4502056c5c53b10424904122104010fce71d30d63dcf4f1add4171a24498231e65b5aeb3f387af468f66ebdabdaf2a79f7e7a13f0441445fbe338a6afaf42911b7ef0e369cefcf7055a9d14a13552be03135643ca50adccaf6ddfccae9da3a46942b3d926cb32678c792c8ee3c9fbefbf3f7bafd6fb0693e3c78f578c310f482927955255ad15a5524ca91493a6058b8b4dac90ab29c91ad60df52125ef58f01e795e5014c5acf7fecf4647479fbaf7de7baf1ad33e301b1e3b76ecfa10c224704808515b7b1e42c0fbd55866adc539ffaeb59b73cefda394f2eb0f3cf040e357d5ff50e1f4dcb9739c3c7972c45a7ba7f7fe80736eb7f77ed43937e09cf3defb9510c2c510c26b2184135114bd78f4e8d1ab46b1ff17c07bc7b3cf3e2b1b8d862e8a4278efd15afb8989097be0c0818f5cecff00b05185fb1a9de9ce0000000049454e44ae426082</data> + </image> + <image name="image1"> + <data format="PNG" length="1428">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000055b494441545885c597df6f5c5711c73f73ceb9feb1eb5f09fe11bb95231aa2a03484a72a4f7d4102d1974a14a91595e08522481f10126ffc01bc235554555bf1824042b20502295081080f156d5a1195b451057113275e354e1d7b77f3c37befde33c3c3b971dcf5ba7653898e34bbe7de3d7be67b67be337347cc8ccf53dce76a1d08bd373a0b0b68d1adb71a2b3f5c79e39f4f96ade6b4803955c070d11022a28698e130c41431c501a28aa0882a0e45ccc40f8f2cff35b7c59fbd73e1d7373b9b9b00f73c2fbd2128cf9ca95dfaf35f5e7ef3e5979ebdbcd92167948021084e480a3897aebd0391fbd7ce49f57b5a03cc769b3c3a39c1d9f1875ff9c1bfdffd2966ed7b767778607de9d277dffad5abcf9e9319c2f33f26abd7b89b9784cc2302aa8a88e0bd434de1de93089880901481582a23633596ae5ea6f5a717f95af8f0b96fcfcd5d5c68345e00ba7d012c9f3dfbcce55b77a8ffe4e77ceff45334ae5c676030d0ed4600b22c60aae445411602ce7bd8e6c45e4a9765c981a79f60b1b5c689b3af727c78f289055800ae421f12766fdefc62933a274e7d05ed74d05822066f9f3bcfdffff60f62b74babb9c1ef1717693537084ec0744b659b7a318a4ecec1fa00874e9ea44da0168b29607a57123a4c3da065890f9ee1e141cc8cbb7737595b5ba7d96c5196059d4ecec4c438defbad58f78a8854ff0787e23d800520db15806078a05b9684e0a9d58668b76f1342606e6e86e5e5ab0c0d654c4d4d72e0c00431c63e8ebf0f2091cd8831e24410fdf8de9d00541104552578cfd050c6caca2d060707397af44bbcfefa39cc22870f3fccf0f020799ef735fe7100829ae16427d61d1c48b99dd8eebdc7fbc0da5a8b91911a478e1c066075f506d3d39378efaa3dbb6b164202a28a7782f420d801c099e105342ade3b44a0ddbec5c183e34c4d1de0a1876630336666a6aa74dc5d9d83907920151e2fec7041df1038116299f2dd39e1b1c74e303252a3d32978fcf1531c3f7e8cd9d919cc14e73eb99a3b679881aae19c20b6170052acd4b4aa708ef9f959541391a6a626999d9d21cf0bcc6c1f0092d3cdd283f5e64b5f0f78274455c4a538c6688880f71e33a328ca3d0d6f07d0b58a532e9dff89009c19ce418c8a881182e3b3b4ece03d79d49405b00f0f98e144aa98794288f480fe740032874403a36f16ecf480240f7463b21a4220c60747e07d40b5c054ab3ab007002ab244550c1271a47fa9dd4bcc1207d40c354be7ec05c099e11dc4181120cbfc67021042ea9e66fd0b511f0e28ce09455102303a9af2ff41782802b5e1218a950d62acb2604f0028de0bdd6e6469699589f11af5fad0a7b74eea05cde61dae5d5bc3d408fb29442904429e270f9c3fff01376eb4e813be3d8d9bc1fcfc24aad02d2322fb49c3aa646e6ee68c8d0db37eb3cdc58bd78831c571bfe29c2384c09123336499a72c4abc17c4f62844828a172146a3d158e783a5eb5b7cd8adeff713b34851442e5c58a690014a052f82f41cd12f04e6bd5194caf2958f585d6da2313e50269451b972f923a43e42d492ccd93e48581f7b7fbe7be511f9f0126ffde710a359409cdfb7d1edc79b39dacd2eeb371a9cdcb8c458cc6974ec0e107705f0bb76fe9bef8c8f7ef35b1717dc6b9bebb446bf8017dd228f541d4da4d2aa27b9ea7dfc9ea35cf5e14cf8eaed15bebff626ebad18173bfa1ed0dc7ae0de463318b2815f7ef9e82fbe9e5fff519e6f923b9f860cc057838790061227d57022f7d7ae02e1ab757030a49156bbb4d3d78a377e5bda0bc01fccec4e5f00e925c48f3d7368faf43129bf3110cb09433d961a55d5ddc15251114df7b6f2db746b9f28388c8dc23a7fece87fff05af917475d7d16c1bd90680396012d83f09fa8b02b78046f5bdfb6cf8ff96ff0115ffb738e470aba90000000049454e44ae426082</data> + </image> + <image name="image2"> + <data format="PNG" length="1939">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000075a4944415458859d96cb6f55d715c67ffb711ef71e5ffb0663830d04871653a24a44225594202615ea887106ed3419541db4953acab0c328a366d601832055e20fc8206a076daa760052a536928308298162b00d8ef17d9ed7deab8373eecb3651d575b5ef3eda679ff5f8d6b7d6deeabdf7de7bffd2a54bbf0ac330f0de7b00116124d3cf07d7beebddcbd644842008c28d8d8d8d9b376ffe868f3ffef8be8888f75efe5ff1d3c34f86f35e9cf7e2ebe1bc97a2284444e4f6eddbb2bcbcfc5b1b8661541405bbbbbb1479862e5384c3517c971cb97b3a6a4021880e70041c3fbe88520a63cc19eb9cf34a297c99f3e1ef7ecf9d7ff709e3b8522a1c7046a6acc96469c603999900142068cc608b0f7ef12ea7aefd04e71c228205504a63a4e45fffe9b3fba35fb3bafc0ade41c508d08056d5b39791d2110f0eda9691c519d1b1e61f9f7cc88bdd1dacb5e3752b228c7e7114f2e3f36d2e9e9dc7b9daa882b4804101bd0c7af9617b5247392d8ac9a20254040f179a68ad6748692761281470fd35c7dbeb95510578057901c3129c03e721cda13384671df8b607c3a242890346c75e0a680f7ff682a82aaa911376ec8d0241d17d210c5ec020af0c9625b8128a128a02b2a272202fa105b4144838857a8d884885a052108530bf00b722c1a310f10710a8e357080f37851301a425a82965e3a874a5b8114ea21cc1ad0d580d61088d08a2089a31240d68b4aad94f6ccf3a30521744601b109407a03c94e009c29acab852100430d79c0cadc0e86a53b57756e3040155fde9084c0cba38825835ce751ad10ab4ae46682b54e2a08a3e0cc018260cd5153aa25fe2c0880b7113daedea9b4608a583d24f19a63238865fd7ce0018700a3a1eca8caa945db52f18405af8315945a4ea03a307a52a1624714c7b1e061e0a0de2010faa9e0ba9664f551165e1f0a228c4e1f637f1cf3730f900d23d24dd4367bb68d72330e09f3d4307af33dd246638a094e28f4f3ea1cc35af6c43203183e434852bd9d52f7816f73899867c1d3fa2936e21d990dc751134850c70fb8fd0bde7580f9153340a432b372ca430482c5bf969021dcc34af290e288cb6fc6dfb2336060f481ece11772d990e7061c9b7e1005101af866de276c0b3fe3ee91044146501aed4a043c49871de9516745c1244828b3cbbda61ebe48dfbc088c97566f8e1fc6bacffc093bf5ed0d9876c2094a5e5b46a12194d7341585d0213b64833c87321cf60d8177a1de8f71cfd0e743ad0ef0a450e99133c20433fae862352005a696c12b0fb7085f6c90167cf74c62436b6647434656581948209200c15f13c2c2c57012814de439e439e2ab22114b927f79a3fddb778af66aa6baa158388862863f1ec03fa7b6d865b31fdbd39d217095192d27ca58b0efccca1d858e8638212f155db1b1d52da806e40a3094d251042d8f42007cab03a8caa12534a916590eb1cd3ee2008ad56876829c21716b3d01f7befbd463ca45ef0bd08139455c31f4939ce2a4a0952780a372a4399e5c0b4a44e33cc2cae303539813047873979313e7210a963f50a71752b57e6a0ba4a8756883238a950f2d3552022b597aaaee7845c124adfe0d0415bc3377d27514a8112c4cd9c0c93bda251da23129217314af9233800602c89eaf2973fb478b0781957da51a855cebd426aa55a553d036f112f785f432a20de563c90bad4bc41bcc629837af088283133975a0be0bd6398393ef8e5cf787feb05464754bdee209655d4459e511605da68b43698c08e3b294aa64ec91a9dfa9cb6a16279e52483c1608280312688e39856ab45bbdde6dcb92a1ae71c5114d168340ff9f1f5d70fd8d9de21996b91e739ad56c2850bdf9f4d17e0ca927eaf8fa8aad583a2280a9224218a229452cadebd7bf79f77eedc59595a5a626e6e8e244930c6509625699af1f8f1265aebb143d65a1a8d8873df5b436b4d599638e7d8dc7c82730ead35d65a421b72f7f15d0a57f0d6c5b770e248d3944ea7c3d3a74ff9fcf3cfe9f57a439524c98513274efc7c7575f5cae2e2e2f1b5b5b5f6fafa7a72ead4a9606969893ccf89a208ef3d67ce9c19798ed6ba8e0abcf7946539462ecf73bcf37cb3f90d4fb79e2299c857f7bfcaefddbbd7dbdadadadfdededed9dcdcbcdfeff73f1d61b6009c029680656bed6aa3d1586d369bcb73737327af5fbffef6d5ab57179e3f7f4ea3d1a8f2add40c9994520c06039acd26fbfbfbdcb871e3e1cef6cebdc160b0d51ff49fe579be0dec00bbc01eb0056c8faa60bf1e00aa2c4bdbed76e36eb71b74bbdd8b67cf9efdf4fcf9f32c2e2e323f3f8fb5966eb74b96651863489284388ed9dbdbc35a4b9aa66459f674f3c9e647c05d20adc790aa458d2bf95023aa5f165aeb626d6d8df5f5f5b537de7863e1d8b163244982f71e630ced767bfcc128052b2b2b1863b0d6f2ce3befac6d6c6c38e0d11136265570d46210045cb97285959515161717df7df3cd3789a208e7dcc4cb1af6d13c2d8d46836bd7ae9dbc75ebd6dbdd6ef7ef75e4ffbb03cbcbcbf4fb7dbef8e20b2e5fbe1c7ef6d967e32bd4cb64fa5d18867cf9e5970441f02ad5edfda50e1c79e99d9656abf5ba31e6a7c0c9ef72e0a0deb22cf37ebfff57e05326fc3a24ff05ef7d23a08a1666a10000000049454e44ae426082</data> + </image> + <image name="image3"> + <data format="PNG" length="1637">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000062c494441545885ed975b6c14e715c77fdfececac77bdf67ad7bbbeadaf806d622c3b363763a00e8414e4248a233fb434254a451a4a23552daa5a45aa22241e5af5254f552b953aada2a6525225ea2d2929354ae22a2401ca25d825c10ea9c1062fbeacf732b373fbfab04bd006ab52fb924a65a4bfe661e63bf39b73fee73b33424ac9e779289febd3ef02dc05f85f005001c47ef1efeed9172a8b1d49ebe905e7f7c6d35c9727813b7bb707d80e240b571d00050c015915ce3930e7805dbc349f0145ac2c87607969e4d0c8f77fd5b47de7833d34c86781ea15319dffeccd8b01dc9524c0a27b5bd77d9d9b6b3bd9d1b90deabd5bf0b2e98e282a505958f75f01e4c49dd25d3caaf76b0f6edea32eda8bb4573750ded91422c64ea0a4288a0fe802729f892e0129f36797950a77ab04ca9d7208b534ac79a43a56c3c4fc2495fe00fdeb3741b36717b0a6284a04b0815b567251c8d183e53e81e31ec2c97d8980dbb192e5d54f013e8b65f0f0e096c1e8892ba798be39cd37770cd3b5aa95636b2adae5b9857e3272825b95dfceedf4dbacf504b41f0ef40d0cc6eb5b3447b8cc266638fdc185a5e5b1b9e7b9681d4177178b3360c962198ec75b5aba6f43d7468e9f1ae5e43b635c37e6a9af8a52dfd9a852a33e04443f05360be9b568aeaa8dbf76f4bb23438f0e7e45bb662da2fb1cf60e0df3ed6f3d555139d8fc1dead46781403180c7532ccb69eb5ddbdb97162653172ed9f31766b2673e19c75fa2d2d1b506e2be5e3ca2bd08200398e2e9a7860eb6ec6cebe7ed8fde63f4e72fa75ffdc1f3332f1efb1db595617afa3b20ee1b465536140398ee6d193602f1e5dddbf794bf71e14dac0b8984733233f6d6dfde61d94ad3baaa8e9275913821ef6ec00bc0120503c8f0cddc321fdb332c9acb9056134cf0e7a9f129633eb74879c807115f155e4fcfadf2e73d20d4dbf5772d5fb4aa6e5f735323bf79f53542cdb521594bc78de904b3c99b044b35ea3babb97c7c618005b30198620c581020e4af477efb8be13f9e7aa3e2ea3f26c1ab9495efae1968bda7d997b13298d2042904100234c02e00144c2804d8c6506ff7c696606980bdbb1ec2b85f0fe8520f64cd0c592783c784787b84cbab03dd4ce9dd38cec7482497014539615af33fbdda957a667def263af775444dbf13cd9a6932660addd2c146229185941532e00a700b8dea2b7974e7d6018e8ebec47befbf8fc7a321a5c4366ca28d15ec7cf85e2aeb0294dd130ca64e67f790488f52aa24192e053df7c555abdabef1c4571f430b6bbcf2f631cefcf53cd1aa08b507b662d83a380ab7fbf5168023410ac899ab3bd7f7dc571e2be7e40befb2fcc295b3a4947184d001253b50353cbb355eee8faa44d6f949c5fcdb49a41b9024316cd51f28fbd1c1fdfbc391581987477ec2f4cb130b5ce18af678ac232b8c12c332c0c2c1c52ef40db78b2f01c7797c60cbd6ea896b1fb13c3e6f32cb1fc0fd25f91163d893b9eb974e5f7d66ed03d584d6a8d0e26b6532b0836cf603e669acee8f3746a321266e4c327d665a7232f70a41ef8ca3884e5d66312c034c018e9ba5b06f2a85daeff058f6cf7afafa0ef5f5f690589ac7ab78045da16dac2e5b4d509b67634db70894b42f7e98216564084435623b3455ac8b7d8fa6e623cc95d46575c34e5a497c251e6a5aaa11dde5fda1c186bd0d5bc25ada4c43898352e6f189b6fac788857701780e1f3ecc8ffff4dcebfb0f1ed8b377e8112d874e381ca4b9afc99389db2d37ff99dcccac755edd50f9dcbaaf57df5fd5e7c7527348d725dce623b8d1295f4e3b5f70cfc885ac5c88785afc75f58d519a3aaa45742012abdc14a8fce4d234b2d4a1b4b6848a7b55450fa6e2b98b5a034ba95115c076a471e2ecbb1c3f3586619a20259aa6b2944a832ec2586eab9b76ec6be3499cb33676ce01376f254503272540b71be5797de4f5a36fb55eec9f0c05ab34b2199d99330b18e75cebe6df6d6f709d8b6bbae81f6a60e4ca80b89052225afd0f605b4f6213412a2e28f9ce505485a47999b43942345881577b124b864148a45298768a40489be4c25f709c1709699b886807d094464c2149b9732ce9e7099555e0f776e0081f5927417af14d1ce7a53c80100af90f8d30c5435314cc320be8400d50c1ca4712b8417e2cd50071f2835a0712e437ebaac2269403e68084b8fb677417e0ff1ee05f1458965be335503d0000000049454e44ae426082</data> + </image> + <image name="image4"> + <data format="PNG" length="2248">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000088f494441545885ad97798c5d551dc73fe7de77df36cb7bb374664a4b3b5d862eb4b4a54a0b941064495428062b428906828184144134022e188326c42d4a8dd6440c0409221024104a684b145a96165bc3d27d994e673a4bdf9bb7bfbb9c7bcef18f3b3342a7d3f40f4ff2cb392fb9ef7e3fe7f7fd9d9cdf15c6183e3d767eafe933bf11a04385727db4d4688f0bec64fce664c7dc2f344d9fbd34168f27bd4abe54eceffd78f781c1ad4fec362f7c98a3f7b4d74e1ae3bae25c01c2aa2b30f6fd9d9fbbfea1e957dede919abe003b9982b00e41115d3c81dbfb6f8e6d7fb9ef17cf1f7cf4e98ff90ba0ff0f0002e57bc4620d1be77ef5d10d6d97dd01c28984fd12c84a14ba0ec6053747fedd97f8d1c6d71edbf45ef81320381b40ecec8902a31576ccf976cf2d8f6dc85eb21ea4023b1efd55c44058519a9482c0052368bbfc267eacf5837da3af8ebc7690c70135d5fbad498256ecb3a1f5dc8e956b1fce5e742dd40b604230329ad13091410302d08ad0f7e958798db8f7a6850f64125c72b60d4e0248a49313114f3a2432d3bedeb9726d17d287d0055983a0044115420f4c005a820ec18468add1a144590e2bafb86ce69a1ee766207dce00b1447c22ec788ca6f37b6e48b5748257005987b00cb2046105c25a04a5fd282b2ac4a03168c22020dddec5654ba65d0ecc9e0a60520db84a4cacb512adedd9ce6eb40f2a043b04ed80b0a3d46b09da8b40948bd13e5a2bb4d26825515a31737aa62b619f9ced2bf69d1340457e1ac04a1adbb209ab60ec6897e385674c5407da8fac502eda8468a5d04623a54fe0d61036712168066cce508c9300fa72fec45aa9b038b352aaa13cd03af21b1b84180350a00350014a2b940a515aa2952470ab04f522b952ddf743c273b6e03b4f0d4fac03a9ebcf761dff60c1aaca1c4d0c11060861218435768e155a6b8cd6281d8e4148bc7a995ab54050cab1fb6071c440fe4cbb873314613a2126a22129d8f19fde17730307314210860161e823a54b187ac830200c83b15912861ef55a994a2987571de578ef09bd7d6fe5236060aa0c4c02a857d544b835c3936f5436bfb7eda57f693f8732268250c118ccd85a05047e9d5a79944a71986aa5809b3fc23fde3c70b8f794de010c9eb3057adeed00181d62d9366529cb8f6ce7f1ccdc0faf58be649e65624d60547408c6522e0317dfade1d5cb78f532aadccb5b875b8227dfefd80227ff09d4a6029874172c7f389a5518157e2cc6d5ab17b3b16d70dba2b56d1b696d7668ccb4a3ad04a15448e921a587f22b78c561aa85018ea915ec69f92d474fc943dbfe7ccf3d5effb6ada70b4f79192dbd5f0210042ea9b473fbf7d7a53625bd7c62c71ec17deb25bdbb9fa172702b69334abcad09a934c6af5019cc534ff5102e58cfc9cc2d7cf2d6296efb4a276f1ff0477ff3c33b37d40f3ff7ec990026d50002b4018df5e5efde98fcc3f5170689c270911baf69a26a3a685bf300dbdb9fe6c85bdd34ff7c2bd39e7a9ba6c776b17ff80ef62e7b9960d137495a71be765d0bfd07faf8e9cd0dadf7fc60d3ef45fbe56bcfe88131e633b17883c7dcbbdc8ebbfe141c7295312f6d1930078f558c36c6ec3e149a770e69b3e5a831db5fdd65de7792666f02b3a5b3c7bcf1ce71f3e23e637eb94d9b1dfb9431c6987777e7ccbb7b7266541a73e5bd3b3f21d6b6e474dd491970dd80c6847ae81bd73af33feaad4332c179b31af1425870becd794d8655b3606626c4ba7839a519f3189dd34977c6674d37dcb010562fb0f0152c5ad4c2f1bca6e62abe75ebe717372fbced6e4ebb9826014869cf5b75616c5d6b0b7c78c4a57b4e33f92a145cf00cb4b55aa46da80e0fe0c61d12d90cedcd8d8872856949e8ee14947c287ae063d1755e9a0ff6d758b110565e7be73a485c7c56809850572fb9c039bf6f44926c4860620e250f2a0114dd086444815ff399df9066597333cb5ab2544e5518d1305c8b9ea9f8305286a66c9a42cd50f10ccb572ceeb23bafba0e484de89d0e9072e4a54d198b13799f6c63828a0f9680b80d710b6236602055f3684d242894caf4960a0c9e18c271215f03a97d06ca47b0dc1ed00e4e4382e32392d9b3e2a45a175e541d7ebd0de83f234063a3bd5802ae14641d87a217893b560460c7408450ecefa79ecfe3040169db46f7f7315a07a3a11c54d835f83af3d3331032436726ce4849124f43aaa9bda30ad929016cdbee2cd60d188b9a043f04676cf78e053101e1f008d342c9458d0d38f951c284c3b1a1010a15456bc246ea7616b7dec748c522740d992641804d3d8058bca1e1ac16f881a1e21b1a9291f7e3e2312b5adb36985c9ef9d2c5d59ac1c3872935a4189ed98c5552c433362808029b6a0ddcaaa292b591c2a2ec810c8df569dd4900a3396f285f6f986dc505a11f793e6e414c441698c153f41dda879f1f252125596dc88c0e3150a8e19a388486d08306cb906a165425785a309c07b75c0ea22a9a0a60a4b26770a87d55ba11509018171f9bf120eec798d33748cfd0718ac0bebe231ceb4ae17a16690d3214281b9c068154d1e91109c1d1c31a77f4681e70c7f5261dc3dafedfbdbc778f5095006a0a4a3e940328fb500aa05a82c2a2d56c7ef06fbcb3f44bbcd2d4c9b357ddcbd0237f47366728d5c69ef5a1588fc47d0b864761ffce5ea5f36fee070ae37a932e232bdeeed80b9ef8e3a22fde78e7b23590480061d4d0397674242d013a055a85985c15a723430c11756e268a508fb5400e948ab073739dde57eede45eeafbf025e31c6b86704104240aca543ccfad9afbb56ae5f7fc1eaacd5d10dc944e4bf2da2ef0fcb80355e4e3232d5005a44eda30ca15e8313070c07b71f55c55d0f7f40e1f967801780c129af6321c6bb622b4bfad275a2fda65b1bbbd72ccdcee8ca66bab24e434b1a2711c372a24c083126ac404908dc806aae4a6930ef17fa7b6beef1cd7de49e7b0f75721bb01d1882b3f403ff0318af113103ab7505a2bd072b3d0d3bd944cc4962db7110d678830c0642a9086580f25c74b988191ac4b8c780c3c089a884a331aefb5f877be675a596fb2a0000000049454e44ae426082</data> + </image> + <image name="image5"> + <data format="PNG" length="2112">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000807494441545885e597596c5cd519c77fe79c3b73b7d93c5e633bb163e3a0d464452c624981084a6901152ad44a7d28ea4bfb5015212155ed4b54a942e2a1521fa8aa22fa825468559597aa05a2a46cc1019a04149c409cc589778f97b13d7367e62ee7f4611c484204dd242af593fed2b9df95eeff7fbefb2de708630c5fa4c92f94fd7f4180d8bbf7f9e6ca40a443b4d6609abaa224cc80b59b58dd9c16d656dff606ddb4d791529697e8240a1ac142a5b13a518f82b1d9c5d7dea9d52e1c4637661616defda70558573a0c9a44eb1e9158dfeff6fbee1de8e9dd3eb4a535ddb3d1a3d866e3b829a40403d46bf1c0ea7278e3cc749db363f7706a7ce2f4c9c9838710e9df2c940ebdf52f47a091d47d93881f0de4861ebf69d7b5ad3b6e2cd2b959e064c108d0062ecd5901080952405881a52938f95e9d37473e8cdebf70e0c5d1534fefabae9d3bf95902d4c0c037018874d46ae33d77fbc0ad3f78f0e16ddeb63b3c9ca2208ca15a855a00f5daa751ab42508530013b0f3d431643fd5daa100f0f476cba777e65f4c3b0b170e63305443a2c6453f917bf72ddde7bf63cd889df0d4100f500c20644d13ac2abe092778d00ea7548e761d39043a71c2e6a3174fff4e2b1d38d7ae9aa9150fd030f90c27a664fff9d0f0cdf5e441621a8407825c1e72186386eaeababb0ba62d091a4c3deec44aa65cf85e937de4de2e0fca704f40d3c78ff8e8edd4ff6e5fb599e8b0896410b416c0471d2fc70144278b5285cf25c0f9ac4e539c3f234accc19ea358deb29daf27d99b1a9f7bde5e5930781daa5022ccf721fe9c96e224e3471042ba7356be70da9bc209503cb97c834a0b8a26b08cc7a52ea049204b46efa850b962360dddfde9167f8dafbef183fffd24d3aa9fef53201ad4edb6d9ee5a38d4608102930da102e19c2252065901e2847206c814881480b840542ad230d290b9405428049208921894047a0046ce81aecb094b73d4caa7f03ea1f0bb02da74d0a4962924ff6b6be539102e900b644da8003d26e4644a6c171c1f19a3da1116aaa419d2008495b16be6be3f82994041381eb7b42aa541b605f26a09e544bdae88c4060f8a4c8856a9209677df70e084720d3e0e5c0f5e1ecf80223af4c706eaa4a2d16b8b640498106eaf50491c086628a1bb6f713460b894eeae19549682d05536f0749b0d9533e89892ffe5e842d11b640da026c81b041b95028c2dc6299677e7782935331db77b472df439bd8baa54077bbc2b6214e60a96c181baf72ecd83c7f78e30273a76745ac07bb60e9b2f1abacb4af3bdb773cd2e17688c46800645a209c26a4db84f2a0d00a474f8cf3f35f1dc7efede7b1c7b671dfdd9df4767b2825a9d460b50a951a845ad0dd9966d7ce166ebdad07f283626c66d7ae28b0da493e3c84896a00aa5c3e7d467a2dd76d6cdbb5d5971e5a6a842d508e4439201c8972215f84d1b3133cf9eb8fb8e5ebb7f0bdef741086829912cc97617115ca1558a9c2f9325413383f0be5325402d83298a6e79a8d8c4e5cb33baaacf6d03876006828ad635d5a3af977996dbbb3a7b0b5d3771cb0cd7a049ae48e0f4152e317bf3dc692d846aee8315d4a0842492d129403985c3054ebb05687850adc322cb8a6070e1e37d4eb828555c0182696f294ab5ddba98fae124d1d560071545d9e9e3f3ab2a6a29dc5e2e6de42b60561038ec07220d3026f1c19e3c01107725dccced6383315333e1733b998605282afdeac38372fb830d39c1147cfc0b7f708d642c1cbef449c186bf0dadb01737311b89d90acf6537973445d4c8628accc9dbff0ea81d9caa4ef64bb766fe8ea17d2a129200f2fbf3bc999d976949f225390645b14295710c486f676c98f1fb678eb4cc2d1f188ba49985a4ec86725775d2778767f83d2528c9402658136694cbcec52deff81353878f7c7c51fc78d71cf6d39db96ef14a934281b6c1f1a614cb99a806fe3e7055e56e0f812d713a45cc94a2cf8c62f23a482e2068100b40ba74a866fe5a1bfcf020c3a34045583b224d58a9f4a846ab376eefc6e935fa43c29d3fbb674ec7ca2bfab8f5a1853995f6076f4b419fde095d2d9522ee5763cdae2672ddcacc1f5256e56927205be2f296404a11144cd2a46350c995c538c9b91f82d8aa466406a8454d4e6ca6162eab1659aa5278c69fca4515b7e74f4ec4b8b874fcc351697cead96164e4d2e2e8e9daad54ac768ff5a7fb6fb819f7ab97e9c4c829b91783989480b86fb143fbb57f0ec117873126c0b441d6ed80c8b55882c41ae2069a43442a588a31a7179a44454be60bdfaea3e00698c7ea1d1583d526facb5e8240ac02c01a58f517ecb094a876ea7af7b4fa6e0613b095e56627992242d38780e1a067a0bcdd6dc5f80bd83f0c207802bf1315896c208c5f9e307b599fed361e084b86cbc35fbb40692755c6e4ecf2ee7c6a77e3f7ce743435d1b1d6ccf90f10479076c054507d216180df70c402582e78ec35a03aa01ac9535c75f1f49e6f73f3ec2f23b4f037f565750c4ebc457bfadc46bb3f1cca191855ae606abd0b3a1b73f474f11bab3d093830e1f5a3d287ab01ac3474bcdf3a25010c486c32f1da2f4971fbec6ea9167805780952b057cbe25d5693df3fac1f953ef455333e1866add2b3869978e9c455b46507020ad60b96a3006b29e00095a0962e5315faa5593f2d91788ca272f86fddf3507e95d8fb3f12ed5f9a5eb8bbd5bfbb22d6df9b463a775149ab5a5f98af4dadc8d3bbfdcdbdad5a1849741a7b3cc4c3538f1f6c844e3c8534f30b9ff8fff89808b96065a8176a0087834cf4e0d2022dd35446e70375eeb066cdf57b6e760650b89d6d38c3dbfefbf21e052139740affb14900572800ba4d6218005f17f7f3bfe07f52abb9041473e950000000049454e44ae426082</data> + </image> + <image name="image6"> + <data format="PNG" length="1990">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af40000078d494441545885e59759a85d5719c77f7baf3def339f3be4de4c364d4843d2262db5e596562b2d342d52915691fa52045111d4177dd2828f8a54e8933e494150290a8aad43930e64689ba453d22191a4496f726f73a773ef3df33e7baff5f9b0cfcdd0e445512af8c1621dd89cf5fdbeff37ecb52d11e19334fb13f5febf00e0acfdf8a1650190803230f1de0d0f6f3cffe59f3d74d3a8be71a2167daa5e0cd71542bf64dbb6d3ee25ad53171a679f7fe1d0feead8a4ba7df74d9f8e3c53edf7d3cee24af7e2ec426766fec2d9938b277e7f2a9b78f003cebff051f5c367b85b347f01b2a14f11b90c0060800afcb44cf1d1de57bf5379fa896da53177eda90c1740a10cf50d4fc56fdfb373c708f7ddb5e9aa3356fa30b73ac552e72bc99f5f5f3affccb3eb8e6cfcedbe674cb2780498bdae02fd9c6cea5ef8763d5eef2777dfce980b593ac018411044042c0b11210c4246832e459500d0eb7501b0100ab64575c4c61a77fd3d5bc6b68ed53fb3f5b37f283f369d2c5e78151e5f82fd6b7e2fd580c9d78e3af8eda0881fe76c99165263c8346803592664590e93191b2c951f643bd8cac5763c6ce531c82c7a9d1ebdbe21737c5ce5b11d368cc09780da350a44400f6a4560b658a758f0c830a406c45808328c4f100346f235b7b0c8dbc78fd35c5ec0b204c70d09a3221b376da6562992a4e0fa1e8b5e99cd400c1bf24cd3b80a00c0835a082c14ea94239734cdc88c05c3025d2b1cd777995d6cd06aaf604b1fd78969740ab47b198e6962a5a73872e4003b77ddc61d535304012c0555b601052800e1350ab4f387a31eb0581c63d4cde5cf86b52743e79eeb333d33c3b1837fe7e65ba698d3db58c0a3507128db16cd769f8f2e2e9136dee5b5432f31bfb480bbed6156a30a5eae400404d70008e0434d01bd521d4f41864daaf5a5e82d5bb1d26a73f4e03e76dd7c176fb7b653aec1ae7510bbe02970544c378d79f1e82833ef4524afff95b373a3ecaa4de003c53cfa6b1510f002a809302856096c21d5901a013168035ee0f0c691436cdeb89993e97624862884c516b415b8ea7230bb6f0ec9d49d74de9a66fee441a67b19e1658000b000b9d40519c411940c8aa458c5b30d032da45a1868c076585e69d2695c241adf49c3e4ff6e74a13d805602ab09341358eec1dc0a8caf0f68576f6722cae8b7cfe100658887356f7fbc08e322940c018342094f19faa921130b0b1bdb76595d6d52af55c8fc0aa325e824b9f3815e937fa880814483b6209a588ffad023d0a7c9806a0e501e2a7019c0855204e5ccf1a01011388a540b666df819e82729aeeba35cc5880da182661ffa19a406ac74ad53f2e3030f462a16b3caa54f86c901021faa092820bb12a01643bded84b8850057412fb5315a232268341a8b5eb7cb88ca28bb1ea10ba107bd411e713aac5765e58a1443686ac10c3a2cd9650c8a225a8539800324970032188fc06e290f3ff6315a33c80431064130dae04625ce2d2eb3a1b3885b9dc477205030f072e7dae467d9569e8e3884f9f3abf45b0d662b77026f52003b84f20ab870c52856301e005d27c08e3cd2cc90096428348a3413e2729dd42b3177e63896900338790b9603a886f92a05508b402c983efe12dde62afe9629520c61deee05c0bb0a4086001d2f06dfbb346ef312b0f25d84adb7dec3a953a7689d7b0b6d200a7280d081c085d0857204d8c29b875f65e69d0394aa1ba84f4ed2c45d1b83311f57c085111f588a46705c1bcbb6112c6438f3b581244da98cae63fd9efb38fce2df987eeb6556975b582aafacc807cf83c67297c3fb9fe7ec2b7f221addc4e71f7d8cbe49595131c55c81704d812b8b70dc032ec6e3544b0ec5d802a5b03158c3bce62268f6dcb68b7a2de6c873bfa1fcee3146376e252cd630222c379638f3de1b948a319fdbbb97e68b07885fde47eaefa0e99698d00dc27c0eb85701f830e90333b54d743b65fc634ddadd017ad0234dd261376894681cc7a1be6e82d3bd8d4833455fb880d62749d3944c83134f32397796dd3b53a61e7f00fdcbefa3ce7d8da57884cdfd7384b90257030496356e44b8f71fcff2fe8fceb09274c1182c04cf56584aa13c074f816ddba4aecb5debd7a353c3a0dda397a624bd04a385be9966dbe004db1fb228da42fcf59847bef934a5e64500a2eba520536a5e4647b73c60a67970e5833c998e8bf65c2408d08e4366dba49645aa359d5e9fd9632b8451c458bd4eb15c26180f714570933ecb3d8fee2f7e45bc3781fbefe0911f587c78741555df41e1f4c90091ab15782ecb7ed268349eac79deb880f45b6dd31593f5b5a43da3d3aec8a02d92b4443add7c0a779661c16229299d395f2a40a566dbb551a52a9520884b7e1084cbabfee325134fd44e133fb087e889295efff13b4c8bacaef9bd047008fe783449cedb49729b4028600cf435f40df4802e97f73e900cf7feb09b428c8930a662a569c56eb54a16c4ee3ebef5bd1b166f75d64db3e98b5bd8ffbbac7fe2158e0273c3aa1e5e362f9b43febaf4877952fc7bdf0f16c08d70f70bbbad79f9795de4fdfba5f9ca1764af6dff1a181191eb1e9c5d11e100d0e477d67fd504e00c1c7cf2b83c3973b80927ce7161df07cc0905d62ea6d751e03f6e15283e12f2d47727d5fbb7d8d67ee01bc0988860ad39b7aeb878fe972c027690f7ff59605e44c4fabfff3afe27b84f6c52b49a1ccb0000000049454e44ae426082</data> + </image> + <image name="image7"> + <data format="PNG" length="1507">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000005aa494441545885ed974fa8644715c67fe754ddee7ef3269967065f340654304677491809238218043766658c0b1766a3904dc0a52b096e45084a90ec5d8d086e62208b8c5191511223891992996498d199791327999ef7a76ff7edaa735cd4bddd3dd3ddcfe0261b0b2e756fd5bdb7bef37d5fd5a91277e7a32cfa918efe7f0040bcbd41f40970005968ed7c926573fb93cf6e7fe1738f88a5141482800a84507e260a514015a296bea8a0c8d1d03ef72b8d7bc3f1cd975ffad90f9700ac2f02e4f8f1074f7cf3a1271fbf571ba80254117a017a112a5da8abd25e8585feb63eb209cd3f77ef79fdd1e71efb90001cd807363d3b9373ef24766f246210541c69a314812e4a5d885e5aa642db5e0d8493c71b4260eb43007020037b404a0763b7af0d6ef0c85732c9051129af48c7d2f2d78bf72a70ed46e2f2ce1889c10f0120804be80f7eb4797cebcb70779634d6c6c3a71efc6cc5f7be71ac7d47997b7919c0aa727d38e6e95f5dc6906513ceb136c0b4b7fdc0c9a71e7eea07775766d0d4fcfef957198da63035f6274e8c01554754501584521f56f66a48aef8a100c4c02722bd6a7275176e0e411aa19e0a8e6366983966823ba80bb8a20a66c50f22ab8138908d3500dc01030f00e349163f7af33a0fdf5533adc79cd24c366901404a46085064288aabae1fbc83907c0d00ade2a383a3c71e12f14cee57a314b64e7e067ef29d4f403de2a5d7fecd2439968d9ccb37b78ed5f9a26361198c00d9643580ed07bef4f313dfffeea77b188c0e38fdc26bd48d8119c3da4926b8416e018808222d6b8088e26eb82b22e02eac2223b9e0ac5809e391cd300c77b0bf0b8cfb4c2ce2e6604ece8e5134cf66e4ec0b86eb2470dc05f75287e098b164cce482cb0a0013c3b8f601f70f2624ab79974c76b09c71cb980b869352262541241342d1de1d44bc1d5c7107339919730ec24906862e03d89bc0d7ef737efcd871c6c37dbef8b78a265134b7c28019e45424d0593a93168052f6188b57991da5bf80c8eb2470944c59ddeaa99051cc9c9c0d4bd60228d3b03020330050229dfd6b96d46e9d1dee904c6095094d4a8464239be108e62d03de32e04233ed2460367017b90627f83c7a775a5fe88cb1b5d3d024600e6e86991506dcc996c929935d1844676ba3f0d5ab20c632680c4e8825350715b4cbd5dacec7968d415516a2954bb153a69959a739ed82e34c73265491175fcf8c6f8e999820dab4ff97522bb73e236d9b202a0415f6eb8c0c8e21a2b2cc80068c623237c709b8414a0915b82b8c78e5ed8657de1208807a094cbcdc6b49c9e572824015957e74aa18094119f47b6c8621e3d16855366c5d6e9994322e600e4d93c81e78e689e35cfde0805e2f12540841511554b5bd6416adaa5085c03b97f779eee59ab75f7cf6c2f0e29ffe2e7130c94dedbe77eecfcb00a42c223939d90c73a51fe0ce23e023e7c4e7b7e8f703550868d0b2cd094a4b07b7a6e752eebb779f5367f790c9ce953c7ce317c0f9b66bb40240c05a0fa46468889cbbe6fcfa4ca2ce42509be9dc452c32d7182929b9f380aab073bdc6e2065e1d71e00a70b11b6e85048a39a4a9e1ee545e73fa6cc5e97f74c1f93c4829810775a2f84cfb2ac09d1b42af3fa08a917e7f838f6d1af5413dcf548703709a694263e4e96f6f717ee722bd5e445508a1d57b416795390b21287ba329a7fe32e2d21f7e7bad7effec2589fd9c9a31d32b7ffc2b30faaf002a15367ace24c1e35fbd877e557e1c8222556c779eb7eb3e4f36364d9c79ef3d2efeeed50be3779fff2970a9edda05ae1e0e2056b273a3e1ad2b89ba112ebd3f9eb95ca4dd76b551cf123eed258200bb7b0d1353e8df3105de04ce2e07ba06806cf4aadf9cdfe68573351204559f6db563680f21329fe751db95af3b9ca810428ffe4624a5145a9ad696e595f0cd5f3e33be70ea5b63b301b2b0abee82a480405a377544b4f7adf345d254f7ff75e60da03e0c80dc7e3c17911e703fb045b7cdf9df8a500e13e78183752ffd07bf3dd3014cf7856b0000000049454e44ae426082</data> + </image> + <image name="image8"> + <data format="PNG" length="1930">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000751494441545885ed97cb6f5c571dc73ff7de735f7367c6339ef1f89119c72676daa44968846d8ad23685b689aa54a5a8150b161562c1060976fd23905077112948b068412a52a520a82a1a48d32a84c4496abb715eb6f370ec89331edbf3beef7b59d8a91a0aa8158b2ee84f3afafd76dfcfef9cf3fb1e1d298e63becc90bf54f5af00be0200a44387be8761c8280ac8b284100a9224b1bcbc3ce638cece288a5ad96c36dde974fcc9c9c9e3beef3b85421f7bf68ce3fb0ea6691145219ee711c731898489effbd87687cb97a7300c8bb5b50adddd793a9d36ad56e301002149314120d16efb40802c07a8aac2b973e72e663299b54c26336e59d673100f46513407d2c5c1c11df8be4718860441401c8784615880783c0c838752c9d4ce6432a50f0e8e9c5c5ebefdc7300c6b6118f2ef465edc2f6459c27543c2d05654557e667c7cfc70abd5220c03efead52b27abd5b5dbaaaa059665f6767575f712c7bbb464e29154323d92cd768f66b2d9ed8944aa3bd5955772856dc4bec3da6af987f3f357e7afcf5dffc3952bd36fda7667f6334770f8f08b288ac0f37c3ccfc5f79bc3b6dd7af7e6cd9bbff2fdf8e3743a53b0ace48e627170b858dcde97ebce1773b99e914c26a359e90c092b454f5f09d54c220b0dd5b090559356a341abb646677d9976adc2fcc2f5cae9d3a77e3335f58fd79acddabd4f009e7df605398aa2ee282225497c4dd3d423baaefc58d312eba3a30feb85427f229bcd25852a48a5d3e40b0512a92e34dd42121ab22c1149822882308620003f80180842e8b41dead5325e6d09429b33674ecf1e3ffebb57efdc597807407ae9a5575e1f19197d72dbb662b1502858866e505debb0f3e11d944a7984aa2049328a6aa0ea06c8e0fb5b42e1660e2208c34fe5ad3a88b6ce5905bbd5c65b9b23a1444c7f3cdb3e7af4173fbd7e7dfab7ca91232f1d7bfef91787f2f95ecdb25208a11184e0d811b26cd053c891cd59e8ba2008c073210a37bb8da2ad154304208122405341d74252ba8da574f06b4b68e106aa12632513ecdbb75b53d5e413939367a685aaaa55cbd2fbdbed0eb6ede2fb01494bc5f71d6ecc5d657eee1a854281c1a13eb2f91c9a26705c200249065d014382288af19c1681d3c269b7a96dd469b542da6d9ba1c10ce9ae34ba91469220953279e69983dd478f669e15ba6e04fdfd796cdba1d9ece0ba1e9e17e0fb1e898481e7f9d437aaccd4d648982683c345fa06fa5064085c07dfe950af37585a2c23492084899ec82189010c33a42bd3a47f5b16a12868bac03074c250e2d4a9bffb8d464d124b4be50b535397f6efdebd9381813c9ee7d3e9d8388e8fe779f87e80e705b8ae4f1cc5dc5bbe4bad5a41d504712c21844015827c4f378aa2a0aa3a8a22a3281e862148a5fad1751d5555705d9f4b97e679ebadb7eb6fbcf1fadf1a8df5f7a54c265f320cf307070e3cfdf2534f7de7eb8f3ffe4db5541a4051241cc7c3733d1cc7c5717d3cdf278e24344dc53435645946964151141445a028208482a6090cc344d3141cc76765a5cae4e40c274efcb5f2de7b7f9a5e5c9c3b1345c149e0a2b4358e3a30649ae9c7f6ee1d7b6162e25b8f3e75f040a1d89f4ddeabaeb25eb789e388380c10429048a4d8b9738452a908c4c8b284aa0a5455100411cda6cdca4a85d9d9abeed9b3e7eb172e9c5b9e99393fdd68ac7e047c045c075681e83ec0fd508074c2d0f78d4d3cf9f3b143df9f283db29fd1ed3de4dc2a77cb15366a35eaf51a9224333c3cc4430f8da2693a95ca3a0b0b37fcd9d92b8dcb9767576767a717cbe5db573a9dfa156001b803dc059a6cdac483560c90cd66c33dbb46ea92d5f3a3ecd3afee4f3d760035255891219f4db23b61b1566b72676595e9a9f30441ccc27c99db8bcbce3b7ffefda9851bd7cec77150069680e52dc11ad0f9cc23701f2069590c0f6d47d3554a03fdd83e3f9be97de595a83544e5c232b9a44618c39b7ec0ae94cce1ed691e1e36c8583ad58d06b66de344b2d1373c56b875fbdadb41c065c007c2ff24fac0961f7cf2007dbd0592964514d80365f99137e6a509abdd6c72b7eeb2b86a73eb5e8bb9a52693b30dde9dd9e0e6721b5d68f4e7536493096461d29087fbb5a0ba512edffa00f03e8f388030cc047e1821211148facb379bc305bc75d015c2ba8a2d247415baa4886627a076d7e6f8548be3ae43be4730d8af73f0d13c479e28f2eb99c4185004e63e37806dbb9b551ca399a9b11e4ba25dad209b2687f7a9ec2d6964531a095d60873ad5864aa365e27a314208b6f5a5f8f6d8362e5d381b5ebc787a814f5db0cf053079fe02005114d1d5953eb66faff7d848a977b4d10a786ed773f416328471882a04aa263086363dc0347574432708e02f274ebabf3cf6da9966b37602287f11807f1d43745dfbc68ea1c19f148ba5ef8eee9ae89e187f8274ba6bd3f15481a2c80461406da3c1c28d1bde871f9cb8f1e187ef9eee749aef00ef03ebff13c0566475dd982814fa0ee572bdbb72b9de5c32994cc8b222bbaeebd7ebf576a5b2726f7171ee9aeb7666d834975b80f345c4ff1bc0fd480279200d9880cae6cbebb239db35363b76bfa8f027005ffd0dffef01fe09dcb64ffbb5629db40000000049454e44ae426082</data> + </image> + <image name="image9"> + <data format="PNG" length="914">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff610000035949444154388d25d3d96b1c7500c0f1ef6f76f6989d3d32e96eb63647a54de2d1568d91d29a10a9a1476ab15044d4fae69b4602fe0de2832f0ae2f522d5070b82078ae08b8514c516dbc4580335246912499a3db2c7eccccecef19bf1a1ffc0e7ed2338f6110084021c4f23264ee50ac6ecc0c1d249c3c8ea5246d46b96737f7de74e7bb7f23141f8b3506266d4f5400854008400d71fd28cdc07a7cf3f7d69fab951d2199db61de274c10f95f86ec59ef8ebd6eac49df99bbfdadbbbb320ee02c4289e07c71b2a0c96be7d7b6e66faa50bc3742c497973878174179c162b6b15841ae7a183fd64070e1fdadba9bed0aded5d2316abc430cea6b45ce6c3d9b9997353cf9458dbece0d4ca5c9e32e87a1e8f0f6a9c7824c9f58532d5ba4342d3481c1831f636d68f050df30705a11c3f75e6a9d79f1d2b516fc0f67d8bf1611d239fe0cb6b2ddeffbe417f29cbe5e97dd49a1dea950a8aaa501c9b9c448d5f529319fdcd23632344019876402299627eb9ce9f2b165a264fa5e9b1bc61333e9a474b54a9b67c7c5921512890347ade528bfdc5a9c5721657ba3c560c1142507674aadb2e0dcb47531c4606faa85b014d53e274555aed066836a942efa89acde9b97233e2b7db4d5e399160a857201024559f17c75566c60fb0bf37c91757b7283741060eb5469d749841d5d209359211aa22e93a1e5f5d77181b50e8d1e068bfe08d7345cc8ee4ddabfff1e98f7bb43b2eb66312065d906922096aa7d5b67291afa38484a1c7edd5003a1e85a9346d4732f9ce32ab9b36222e89a40ba18450a20841605a81d2d8aefca17a6df494023200558274f97bd3e6ca7c8bd52d1b623e51e8411842e023141012bc6a7555b1eae627e6c63afdc504f81e782ea821174f1a9c7d32cdcbd32570fc07b8f4207049ea5964cdc46f363e5322297fbf7763f1bb7c68d1d7a783e3128f42268e6678e2618de38fe6a0eb41e083ef12d7d224441ae7eebf0b84de3731b2a77ddfb46ed9e5da99c1e1c1622ca363b74c1656da2cddeb72e5a735ac4e1b252e48e50c92f13cdd85a59da0b6fb1aa86b3192cf434c69b875f317736be7505e4f8de6f6f7b2db8ab8f14f932012683d3d24e33a62af83b3b874d3af6dbf0aea220804c5f71e844421725c5d845c4c193d73c9e2be23424b272219e199b6ef556aebb259fb3c0ae5d710d5410114fe074bcca25a888f01450000000049454e44ae426082</data> + </image> + <image name="image10"> + <data format="PNG" length="864">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff610000032749444154388d5dcc4d6b5c550080e1f7dc7bee3de77ecc4c669a4e19930689f8dd141304454a77426becc65d312e1405c9de3fe1aa3b455da85b51b476a136e8a692d44e2425b655842a6992369926339399b9df738f0bc185cf0f78048b532013d07df00b459fb3746bef349dd9b34dbf551596109dc3ee607fbfbb56167c8cb05770ec18ed803188ff02d59b468fdf9f3bf9ccc5d75f7c93f373e768d55b0860afd761a57d8dcfbfbeccaf6b7f7e8574df2374ef521a60710a2e3466c445b9fada678b66f5e135139b91f9bfd48ccc7af7ba59bab46ce473a76f716afe311616b079bcaa21bef4c24b73afbcb5f8360d6792244b29cb1283212b33fa599f075187a88c997abac25eba7dfcef8d87b358f28ac47046d6e452ee65748607b8a5a6f00a0c86d17804405aa674932e7bf11ef7d343b2d61ece74f66abeef9f938e6dbd5b69b9dceedd617d771d3da529c725511ea16d8db0044991d04b7b74b32e1b0f6eb271b041e5a913443db92c83aa7d464e0b12997165f732a94838553fcda47b0c253500599171901f70abb7c9d59def190529de6c8c7f47cc4bab4635af25b88e4529537eeeadb055fcc1949ea1226b000c8b01bbe916f7865be47682aada64798a0c8d9242e748cf21b434755dc5570ea9d3675bdcc6410230b60a52a7a01af828e9d24b071869535a9690100febce84173b05a15654b447a015da5548dbfa3718972479c648a60c444c6625b8c904ddc8cae4a097acb58ed405f7d110df5684be4745297cad51d2010cd9784c944a2c21181b43a153ec7b4d76f68b4d2bebc98f8e6e4a1aaa8ef26c7c47117a1e35dfa711f834c2909ae7112a8de72a94b638e63618fee21325e98716b6f9e9fe8df4cb7cf504f56a88eb1bb494044a530b02ea4148a83db4ebe06a417dc287f64976daf18fc8f25b9b99665e1eb9edc34df972b3d23cde7ad6219c1004be4b35f0705d8b5c6418b740942e9dab35da9ff6ff1a8de32594bd6d537902a4d3cda3e4bbed763a1bdd0d9e0c558d7a23403a16e55890765d76aedbac7f9271e38b831f46e9e80d02fb778c40f0fc3c082006f2718011e7b5d6cb938f040b61c3d158101d16696777f85b1c251f60cc37287b80166004ff00e8a46ea7529ddee00000000049454e44ae426082</data> + </image> + <image name="image11"> + <data format="PNG" length="735">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff61000002a649444154388da5934b4894511886df73ce7f1b674647d11927bae0586913d8902032ba28c82e625018495450948b70d526db745db5285a1974012130484828b0722ac245372630d394d06abaa8cce4a5747266fef3ffe7b4984d05ddf0ddbfdfcbf77ecf47a494588888f3941fd206948c01953ba0a61d30890d534d03d484a57298ba094933202a87d03820cc551ebfeb0a541aa4ff15270170beafac745164574d75d8a3e68a7f1e20a52c121497375557b41fdbb27e71ffd084888d26f62b12b2444acc0388ffc60961892aa7d7d17e604330b8adbc1467eef5e17134768838e92da5a0d0fdcae4e2f5dc47ab4103c67ef20aa9a66dab79e9cafcb3471b2a1db53e0f5a7bfa10e98d9da0ba72094480e632e75cc3ba9290335fbbce2d5190ad1610b62cb70d5cdbb83ed0d6b673b323ecf3e3d4fd21441e4c9cd7a4721a347b3d3a3e9aba580c2f5ab6876b480eba8400b1b8a873fb9448736368c7c9ba4df0b95c38d7fb12b7efc43b75ce5af143734c0bf9c7a793fce0e12df58aee16cb9e0c7f680e04ddfb8f34850beb0395488b39b43f7b81ae1bf1bb30edbdd0ad94a598b0b50ca46e817942255fa6a6534b8a161b954da15a62f853b98d55156a30af14d3561c37070770b373b29fcc925daa4a2799ad40b53568dc012d9303e65913907652e5b36466f79a321f097997834986193b81876f86d0d5f13526a7c8564d2731d5d2a059068c8c0bc67c1e1c490f5841f96aa896f1313927c2792bbe055cba82599940f4d35b7477a426f998b28d1a7c5032915d9a48482221a980a402d4307538849621e3b9ddd1e80c26c828fa13efd0d36126cd919c3d8c21fa27c028b375305b8721f4ab9f9f3bdf3f1d99c0a34e66a6063c2d8ca1e76f84b2e2956b412503252445e70defe488ab3a3dec3e0e665d909a05c138a4c20126b280fc22b2d077fe0e39d9212d1cfbea170000000049454e44ae426082</data> + </image> + <image name="image12"> + <data format="PNG" length="957">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff610000038449444154388d2dd2dd6b5b6500c7f1dff33ce73c49ce49fa92646d5abac469b1d9c6e8eccada491d45dceccb10d918689913c482e4629d7ae15fb281e88560a98309b2ab8137c349d196685bd3d1c16293b6491793a63939364d933c2f5ed83fe073f5fd92af7a7a506fb562f1cecef9a0d66fa40e0f3fd54a3de04ac1d41a542910a520a50403a6e3dddd3f3494fa7b6b7373c647e9061bf5fb6351bf7ffec39191b18ba74ff3c3747a3aaf5496689d320010ada1b58656eada6030b8303d3bdb161b1c8c94d2e9d1aae32cb25ba74efd7c6b78f852686e0eb87913afe672a65a5b9bcc53ba498175a23520e5d4058f67e1ed999936f3ce1d780606100b047a2b85c2b811f27acf054321c0b601d7859148e0f2c1814f3e7cf8cd8a6d3721a57b4e880763376e043cb76f03fbfb8094f0c762087675bdce06b4ce341c67e2b55c8e9348042004c6d0107a5fbee4cdb5b5ebc166f383f1ab57ad4022014809380ef4f23292f3f38dbf9e3efd9c8d793ca96dd7cdd052692a5a2c9a341201a48471fe3c42f93cedebee363a12099063ac9249ac3e7a247e5f5cfc420b719f5df6fba15badf5dcd15156140a53d1dd5d8385c3205ac31b8fc31a1c04d51aba5c865c5a42f2f163b1bcba7a574979cf2004ec2ddb06010021528546e359a354bade532e331e0e83500a220474b58afad212fe78f244aea4d39f28a5be6500082130da6b3528a5a02885e6dc5196a5fe4d26715028804622000059ab01ae0b69188a000e07c001985a835d314d4821a0bdde6b174e9efcf1cd6ad5ae95cba8964a286732a8663268390e28e788f6f531a3b3f3fd52b198c5f127ec1dc6a0389f1a8dc717c6f6f7db8ef279340148001621f0710e6ddb603e1f0880682c669a274e4cfe93cf6f52add7d915db7e6fe8ecd985f14aa5ad99c9e0e8187b4d13bb1e8faa3226bb3d1eaa4d13847350a5d0d7df6f22189cd8dfd9c919f13367e6dfadd7038d172fd0044001f82d0b699fafb156af7fa65badaa21e5f7fd5eaf2d098100d0daddc5f0f0b0ad28fd9a366ab5ed03ce414d130480d5d181ad6050fc7978f8a554ea3b0dfcf4ac5299ddaed5ea3edb06d51a94731c359ba8572a0576d1757f29fafd23af7475f5061843aabd5d248bc5bb52887b8cb1ff134bb95e72ddac6959937dd1a8a9c361fcb6b8f83cb7b2f2119be4bce4ecedfd7ae0f35ddab3ac506a67674e08719f520a4208a035985280d629b752c90a4a27b6b3d9ecd6c6c6c78c90a5ff007be7b8a6a32414700000000049454e44ae426082</data> + </image> + <image name="image13"> + <data format="XPM.GZ" length="107915">789cedbd5b6f724d923578dfbfa2d4dc7d1af9e3e4934673818d31b631601b836134179b83c1c607c0806d46f3df2733624564e4063f6f55777fd323bdae14b0233362c58a1591db524955cffffc1fff78685effe37ffccf7ffb5826cba7c13f069364f18fff315cbdbe7eff9fffd7fff17fffdbbfef670fff91cb66ff51383cfe47fedfffb77ffbf7bdda3f06ffc864070707c743b2afc81eaa7d49f6e3c1d1f188ec0b6fe78a07fd244b7695ecc1613629927deeedfce1e161724c7685ec23b5cf601fc13ef576e1e0289b3c925d16bbcff827b073382f898df34f6f17f78f92fe01d9df6a1f92fd05bb0f7b4df681fa2fd5e6f30dec3ece576af3f987b7f70f8e8b7dd667ae36ebb380bd8ff399da7cfee6ed83fde3d180f57a557b9fec77d88f387f519bcfa7641f68fc93da7cfe0c5be2276af3f9b5b70fb3478563b6c7641793c3419fec47d847b047def6dd19b2de43b28ffac521e1df907e4783a3e1319ff7c91ef60f87acdf00f611ec84ecc7fef190f5cc78fb38ebec236f0f8bde1ee54679ce3fccab3d203b07bb80f382da7c9e253baff13db5f9fc01b6c477d4e6f3a6dad4bfe19ddad4bfe13dec22fc6fd566ff1bb5d9bf4b7641f3b5d5e6f886da1c5f579be35bb025df95daec7fa136fb57d5a6fb32bc84bd8ff373b5f99ceeffa8a87815b5d9bfa436fb9f88cdf330bc86bd8ff833b539fe536d8e5f8b8df8b9da39b2bf611fc07f2936fc3fd4667f7a5f8cf695dfa9d8f0ff822df95762e3fc4d6dc67b579bde8fc30d6ce1b3101bf153b5397ea236c73fa95d20fb15f621fcc76ab3ffa3daec4fef8fd181f27b862df9466a737ca236c7bfc0967c03b5d97f4f6df21fecab4df77b70a036bd2f06c7b08fe05f549bfd0fd526ff21bd0f4687ca67081bf907476a335e416dc6cba9cd7819d8923fab36fbb7d566be2db5e9fd33b8579bde3f8307d8c7f0bf539bfdf9fd71a4f5e7614bbeaeda7c7ea336c7dfaacdf93ab0255f436df6bf529bfd6b6ad3fb7170013bc1f9b5da7cceef8f63c5abaacdfe65b5d9ff4c6dfa7b3c68c24e107fa936c79faacdf11bb539fe5bed84ec12ec3ecebfd4e6737e1f25caa7a236fb9fc0967c6bb5f97ca536e32dd5a6f7ede013b6e49fa9cdfe2f6ab3ff9bdaf4be1dbcc21ee0fc5d6d3ee7f7415ff37fa8cdfe73d892ef496d3e1fabcd7853d8922f519bcffb6ad3fb7630803dc4f9506d3ee7f7d140f19f610bfea3da74de3f569be2fb076ad3fb7c30828d7cfd43b5d9bfa036f9f7736ad3fbb39f157b44efcffe3eec11fc7b6a93ff80df4f43ad37a336fb1fc196fc79b5f9bcab36e7bf171bf98bb0257f4b6df6af8b0dff1bb5e97ddabf85fd88f33bb5f99cdf2f23cddf111bfe6dd892af2136ceab6a33deb5daf4feec37614bfe0bb5d9bfac36fb9fab4defcf3edfffd16316e715b5f99cdf478f9abfa636fb5fc2967c25b5f9fc5b6dc6e3f7c5a3e6fb509bcf176ad3fbb5ff093b87f395da7c4eef07e72df9bed466ff53b635df526d3e7f579bf1a66ad3fbb9ffa236bd0ffb6bd8c2e74d6d8e9fa8cdf123b5397eac36bd4ffb8fb0f338a7f7d3634ef93cabcd78af6ab3ff1cb6e47f529bfd876ab3ff406dce9fc046fee4486d3a4ff6d5a6f76f720cbb80f343b5e9bc4ff7f331aff9fa6a73be3dd892afa836e3f5d4e67c59b5e9fd9d1cc096fc39b5d9ff4e6df66fa94defdfa403bb88f307b5f99cde178f05cd5f509bfdf3b025dfbdda7c7eab36e335d4a6f76dd2862df9eb6ab3ffb5daec4fef9bc7a2e235d5e6f31a6c89afaacde7a76ad3fb3aa9a84defcbe402f63efc4fd466ff6fb5d97fa336bd2f932fd807382fa9cde7f4fe78dc573ee76a33fe99da1c7f095bf894d566ff95daecbf509bf32d610b9fb9da7cfeae36bd6f13becf078af7a136fb7fc216bc99da7cfea236e34dc47ea4f771f2ac36bd1f9329ec43f88fc486ff506df67f847d049befffa1e61b8b8df827b5d9ff0db6e4eb8b0dff446df2cf1ca84defcbcca1daf4be4b06b08f383e73ac36c717d4e6f8a2da1ccff7ff48f3edabcdfe476ab37f06b6e0f7d466ffb6dae49fb9579bde87992cec63f8b7d466ffa6daec7fa736bd3f3337b0139cdfaacde7fcfe39563e5db519ff416d8ecfc3163e1db5d9bfa136fb5faacdf9aed4a6f767a6065bf855d466ff73b5d99fdf3789e29fa9cdfe176ab3ff356cc1afaacdfe25b5d97fa336bd9f33df6ad3fb327302bb0fff2fb5d97fa936fbf3fdef2bfe5a6df65fa9cdfea7b005ff536df69fabcdfe53b5e97d9c79539bdea79919ec01fc5fd566ff77b5d99fdf4703c57f569bfd5fd466ff0fd8823f569bfd876ab37f5f6d7a3f66f6d4a6f76366027b88f891da14bf77ac36fff77b476a733cbf3f869aff516dce9fa8cdf9336a73fc00b6e42baacdf9726a93ff5e4f6dfeef4b0f608fe09f579bfddb6ab37f576dfeef57f97d32d27c05b539fe416d8eefa8cdf187b0257f566d8eafabcdf10db539be09fb11e7376af339bf3f1e35bea5369fdfc196f87bb5e9fc66f9bb7ed7effa7b2d7a13647ed7effa5d7faf45373ff95dbfeb77fdbd16ddfcfe1fd740d79ffdfe99f55f83f2bf32ef7f0fbf7f8dd37f56c5ff7837fff549f88f4dcf205aff995aff63acff79d49f2bfdef9af57f72d1cd1ffeaedff5bbfe5e8b6efee877fdaedff5f75a74f31f758d753dfe17ac3f238da3f5d3fe4f083f9dfc29e7bf5ed9ee886d867fc5f69fcff5afd5fccf64fc6b45feaa92ff585dff7573f413cfff9c3effeb7afb57bee17c1bfbe76cff9119fbc32cd1cd9fe87a8ad664c7e29367b3a6b4c4daf6b53b2fb45e77ac175d6cbf614d53eb67ec3feffb65716c0593c8daae2ded9fe6f4f4c3da6615aa7ca7c535be1bcc9f5082321cbd5b9fa71fb96eabf2b455c77645c27d970a7f5abb6b8e3bfc936abbf2ec629766f47335c2697b367667fb09edcf37235d9f58f1bd8a7959ecbfeaca5314f9a7b57b3253d348377f8635dfb1663bd7e287157bfd09219d2dbdff8125c862fd334c17a958593fd7f5533ddb381f3b16e3fdc46857353fe7fab36696ef2ec4598ae56267664149d7b1882a0a2ce67fe49ec6dfd5df3f573bdfaa6d97775add7f9ed1aed9fce73a9fcefa577df9abf567dee9f9daadd52e1e3fa1fddcb919ddfce5de8ad67ac75a9af5d34ebc56ba767984b8cfd4fadafba6df3fb1f8098bd706ebcf552cb7fc378eebee381bfd9342ff9c2a3fc5fcd722fea4949cfdf3387fd22cf86c2bf25307fe956cff3aa3907337c236a7e50f68ff11dd62f4bf9a40ebf95751bbf2338accedbf3221928322e8e697b04ef64e7595dde2273e2bebb2d6a98b912551e52daced95ce2451a5d45e3965a74fe36599c46b179ee52e35eee26af9fda9a66da6273f285afe2153ac90d53dce10ef9f6cd5fde73ab675f8672ab29976f7f174ab8bbbb084bbc5f02b9eafb817e59d7171eda1937f5d93e409bdff695a772b169ec3cd89d77637c3eeaebb136bb03d05a5ad3d1bf1579c8541744e37ff0cabf2ffe93aff61fdc711cffe9b2af9ff9306ffabd75fa9fbffadfe67ffcd3ddf95fd9fe1f29fe1fd5f542fddfceaeffa5dbfebefb5e8e65ffcaedff5bbfe5e8b6efee5effa5dbfebefb5e8e65ffdaedff5bbfe5e8b6e7eed77fdaedff5f75abf37ff77fdaebfe3fabdf9bfeb77fd1dd7efcdff5dbfebefb87e6ffeeffa5d7fc74537fffa77fdaedff5f75afcfffdeb564357d35937b4d3a4dffade2deddfd04ec35975faf07e1d9f06eddcc10e887714e3116f70e67f9b6eff061e75ec7bb41676029b1b45f7999be0d7006a1dfb2dc2e5271bdb82470b35c87e834e1a8ae13d6fd4aa2b8ad4d142be96a9b80eb59a5ad78d6ae53def61b107f3bc8526b78a7dabb5dc2a9706f61ba88bb33675f756230343ab559330eeb5068eb67db8d54eb3cf3d3872bf9b747e031faea605d6e277432c6e525ab1d637aa650b3ba209571f73bf3113d4c2b95d4dc26bc29259e4aaee8999cc4f1d5e7555b5a50cb9ea1b9d6d615bd7a76674164f61dd4c77e0dd54f4263a5227fe759a37d15ba62320b6ccadb21dbc356c449716edb680d332182de46a804d9df468a0d32ddc8a5b5391cf70079dea7af365b523abbed749ed59cdfce701a7edd4b9e4aaef884d2f61f61045f0d343aa4b697e3fa18669da759ecef233d26e4f3b1f7fdeb376d7b0976a2cc376aa3a8bd4de52f35f5b0f5b5a3ca472f5f6acbab69f0f7bdbbd0cac76e70bd9fed4b73f2bbe1dd7f8617f57271aeaf5f043cccff1bc7a3ba7facf31f179f078d8e99fd62068f5a011dbcadb89fa33a3dd36cd19ffffffbb95d32a7dceacfbf4c0f781cefd53ce68e19f58d1bcfb2db8df2c61f630bf3d9cb6e9a44d191ef6a40b59ec17c8caa96f9650fc7e1b4f6dca90773b05eda0f7cf83451e4f7562d1a6375101b10f84f9405879fab69390a753f60d6f308913bf9e5b59f0f21e0517d7c3d30332d4e93c4f4a64119ba7cc59d4fc60b2b691ad07cc3679b5a15b5e117d861c2cd63a8bac92afaef97b944b301e08bb8d9ab3d032f4ab47b8c28b7b2d35f7947f21528abb90d59eb6b5d21cce7962b8a73dc21645db9821ee514115abc35f6a2ea8ee59542bcad4f5bde4f3f28ce53191321fc2a940da3c40dbd091acce715859ad3978b535531e5c0ad4ad3add911cd5192a7d401f83520f6a0b66db646b9b4fd6d41c264e2686d5ce63ae0bf49b27b5e59ee4a1651e954aa7b298b27a2aff03eae8999befe3728494a7387eced2770fd3eee7304b75f5903f47bc0b88cb692c9fe7e8b6670d22bf3dd84fee6916f192bd40f1dcd52ca204496e430f2ae4894b9ed01f8099a3f302b163b639522d4feae5a87b7964cdc3a340ddeb110ecf7101539507521b8af2791e372d4b73cc5ae4c123879bc5739327af1e7161df0752a3873e65a10f6b96434c1e4c395f01b7b7403c795fee618e66e401fb39d28a7fdb50aca095f20deb115e1bdfdca702a2e4ad9fc3ace5b4aa2cfc0a98ad9cee66119d475c417bdbc6ecf63047cc40deb5dcab82e26631af1c9fa79ef530950fc8f5001e0fdadf3c54ada3ca366e374f661e7796df82524d1b35e53145f2ceee818364916e4bae36e63a0b0d1f50739d76b8e7594c719e6647669cdf777c93e41667f11784672fb06f23abdc079ed802d4aaabdf03d5ccf79e673e0b566de89ac7ddc8eb1d948fe754e07fa3c8ad22108a9ad9af7d7cb83b45ec5a0f6b8947213acbed1d18ec03dd2d92ff3ef68bbaeb7d8a5485787bf64545dd379ee129afb90ae46df9154d4c714fde2381b57c17f602dfa2eef1bcefa734e2f37d5381e8c05d0aec3826ab3c0b40e7dd2226d867384446a9c7f338c09d09fc990d6b92a5a72262b2e41fab5304eba266974ae53d2537fc007a17c1ac6098095656df4b077a7fa447762a5895b80739c40a43e1c06f0c6116fa1d74cb91cefc746830439dfb91ee797d1215f6955d51b3493f4315fb5ab79c16749a18b7a87328ece56f5e5eb309c322721d107b99b503e4925a6d37f2ca47ee6e0ef9ac57d1689e558ca2e9698172dbeae233ffb4cfff5a99ea5404df23fa3d0ef39bd9538f5c26a3befe24892ad57dac63453dc2efb122dbdbce9fe01db2172943d8cf69069bf118b1c7b473e46bd03845763be211381d2bb3628468772cc780a8166532b84e218343598f4cc5c570426745731e670d3bc79136db7a6f73168d39ffb647e8746eabb6ed8e1ea5ec5d88a1abb1cab994774ebdb7f95895620ee9beefaea8b8b7adf35114ef94748a1ca363b18271d6e388d3d1964aa12f39e3bf5daf62d22d8a6fc90f35e85cb095514522d532fd1ff259b5769f14f9df45f4785e0d464256bf37c80c34cbd02b9619f953f7dba728b96dc764bb27773e1404ef45de03b7ef7739b60fbc11f9d3ecbb933e62060657e70937e4d8b3719c86de86bfcb9b7904ef7ee651a23917323ca2d745f754d45ac1cc57465c9871a2d51f037d603571b99c26ce9fe312ad75e876a5de4462c8d77f732ece31705e03664696f4f838a84d278f9152b62b89700e272ef69174d62caa669850e22cb9b8bfbc8f376251f63c9a4e8576c528aa7dc4c9083d8bb201d5cd86f4076c795a8e0d4a22e8ac3865384657a80fe02bca0e753fc174c804f21c90c2d069a07a1cf334f828526fc8ea0a2acf3f7a96585e51ff86f82b820e50fc50d54b64c678e6c33e723d621ab45a5b096bc96ad2041f878e323fe987d6ede7c44c106a4894759872680844fe174efdd43c9256235f8ff319d21d1f928643e2eb7ffbdc297a1ed2f950ef4e4213fe8893113d31023f718e3ead47ae8fbb4295522dea3da0ec8c95208f7fef0c75b74f4f23dcfb11553cd20c1ca10cf84ee90efbd02d636f3a1f12ce503560ce09e7265eca847a7e8c9d3edde404f50c490b8e077f79b7d019dd4f8a660fba139439a11a1e29d790bd685fbe13e031179d37f4ab4fb58b0203a00fa8764450952362dd278d99ed00fb43ad6e4413364227fa7afe088dfa38e52919904e5cd100b781df8e8fc20a539320ff23711ad2543f52ae21f971b7fba8004ae27c048d86fcde049311bfd3d1639e8a01defb8f98b911610c50d380b9c34ae035c2cc8e9077844e244691014f844e21f75eba38e24ef3bb0c7339526654212247e8e140fe46722ca3222fbf1fe42e0df19771a4f336824ae822a66100bfa1b903324b7d28370a9af2bfb5ecec7166e23e639d58fe1e9beff4923339f5f9c7e64c9ee5068e698d22bc80ff681046a94cb12d2cc7a968cb45ac518affd8e0f1f324e21d323ea6d046a96f5bf74fda3ca233c31d19ecfb61824fe0647dc65bb83f650cca705d7236316fa2c07c12e1c435d9cea49f0206cf8ce53ed1aa046b60d0d3d813b31beb13dedd96717a1a77331ba80ad2adf14ef411794ca293c0353d73bb27634435871a46468f987b3ca7123d32358cb672f9e72720c69db7da8ea3fca2db583fe36876159fff55f6cc54bdc69917fa7ecdbc45dcfde7d59d4d711eeefd947e9fe9fbddf9a43124feddc43cbbf54e59fdb3f71c2aaab7a6cafb159f29edbe128eb0f708efeaf54248e9f56af0de75f7d99cf30ad9a77a324425cf8819126b56e20d9c0256506b8c5ccf5a9de833444651614c8abe2a8f67ad776c7ee5e9d9307c25c457656dab7d36d654eb1b4223890ae86357cd33e25ea26eb0aea137af50412c8b25bd7f078757d43f357d0fea0e11c355f9588e93e91a6bcfdee1ff065ea285cc13337ad62ebe6b67c6d0d34e16630685fc6cbc51fe69264cdb2b6a7b012ff17f365adb197b439fc344bc424b7b2bec7ad77bc3b761ac9d79a6d97a465786999fa641faf18ca867c3526a1b537576d6653e5ee9e6cfdc9a3b7be6fce66ef1accc9d3d862253f258b85f99248fb170bbcf506c8e7c73429e92f79ca2f9dba37f008b6ff18c9e9fe9e9c3fd72c4339dcf312173ca32a54c0be49fd2d9cc617c007b012db88639983f0367865ae7c4d27f2fc0f8832a7ea5980f8a9a93160b5437a6fa6684e1773f88c72b183ca32ae9b6af6141195f51cf9c3c3f28e33359cf644d31a77cbec093a8f44cf1afc44beafda0bd2975d7e7fe203653aaf8155a7ca043ec299d9c529533301f63ef15ec3ec0fb199c67a86c4cb52c0891d55ba04b635285bb38c3bcbd424dd6650e359f2996fdb8e239a661066e1f8435c33cc9d9986ae1f97b8612539dda293cb9afa2d02b2922fd7dc6cccfa1fb0cdd601ed2239ed357d43e077b99fd29de3e5378cbacceb527acca5cdf1facfe07e14da1375b0be0f0ad9c4333e9b9cc81d439d3d99f83eb981495dbb6c0dde1099de2e6cc34f6037d7945f7a7342baf988b19f9387fbaf90bca12afa9b90dc221edf1013de7503c3c5b94101b4e67fa9699e1341d193c769dc92d0eeb036fa734467a2fb09ae9fb2c8d9d7e5ea4f65ea3ddc5ce1c21cfae0ae4f4a7c8dd7cb6776726c75fa3c4d5fe39f22355f9ae19f959619b7316ed2cfe881747ee9a9bbf8e4e6765ff57ba1169f5b6d1e48d2dd9a786c9620b7996d9eed02263f59ee13b74fba7795b4451bb7a97ceb5bd97e6f29ad99e5efcd2cd5f66569975e6d3ada5db5dbadf397d56eefb8bf6e5f70b676bfc7e66beb1ffe5ec8dfb883f4733e6177ce77af605064b44733e1f23f1de5ec3973dbef0ed112da6f763df95ee08cf90698e4c4b53953ffb262ca96c497e4bf00e1852ef5251840bef7d21ef275458d2e92662f24d9925db8a540c3a7af69c897508bbc28e3f6b87ba42ad5fa444d07919f58a6397c4650d066b45fa54df503d7fbed099b9ee2db53af617f596aad9064a7f81af3fd950154bf464a32c3f11b52445e6e0345755e646e1c05266ea9b7637d069ad13f149384b62b704e6caccc727ed4a352b557ead3b32572bea8bd43b474699c998539800cfe91bf5cb6cc844f05ccfb5d62f9d83a5a2cfd1af2f543f47fd32bfd2b365e63363bb1718ad917d8ebae3e994bbfa0d1dbee8e67bd65ff42dab44df6bfafea2aead3327eee9147b6bedff094de397fbfda428bf57c6de27d9deb30466273a398cfb05ef2fc2f7d865e43d71315fc874aa19fd0e73e05a7d147394bd138add50d427ed9680ffa5b56ca8f635f036382dc3a3847a375493d5664df865addbb33da10a4f50e71a0c644fb27af43574e133e65e52b6ac6b99940a4a32b3c0e5c468778a5abee0f1a57a6d54fd0d943885c2d2178fc63aae81b2a1cab81f65ed2e33b34af93a4ae85a099a948929f7b804dea714c74a6c54858dbe35bed0d92fb03cc5df1e99fd2f9a844f74aba4159e64e4fdb751ff0d70d78a1b3abed655321cc483e72d542b1362f99eaab21ba828dd161e927da3d5f8fe9eeab47fe96d5a43158f5a36757ca1c24f749f95fcd259950e497f3f311765739f6482c2ddd8680ff8369d9ac95ad3cd2fd1fdf0a76189f5857e9776ac32c54934dfb1122682314ef53d52c2db24ceb349fd9ea8259faf142f595f118a8d28516f369187a06f523ba7a98c71ae8de2c5319b1f3895305d719e90215dc146753d31959eec54e844abde18e432f109b56d52dc3629c413b37f82cf065c4e4cc5e99a4e32a5544d1bd5b86c94ded5e15d3d4ecfc4aeac6905acbd01ab6da537c428ddb3a0b978a62b8af5294513bfab1f6bbc2b25eb179e4e7fac666d1449f723f4e42413f76bb3e529dd90ea4f54915d132fd5869c1b9e18dcfc33f7a964ce3355f7cdd60559e76e95dca792b9a4a82b7756a5a70a3e259cfbef0b8af33b555a25fd9410c3288c71e97cc3f925e5f33e21b2429ccedc99df3b233e55625482f739c5091f39b3ab0abf0b177f6e70a536bfe39948ddc2b98a5acf805e852a55cde363ce70c65815285182cf393257a06d09d59f9392a25c155a57a2ec55d5f71c76d5e056e07f4e3c4bc008ba5c91c715ed4b5d8c7b0925fd2e6b7d015d585ba9e682b0ce54d17374e98a343827e51991f95534a60af49261cd1a9e113e673b836225f427ee1957706532fb689e8033ea0cd779016fe94bc54c54c03d874ee754eb39218bce96a9b03da369a9680faea0f6854e61c9f4ab6222cf912b28281d3d23a52f3087e25dd5885226dcc02aeaba3053234af10d126ce9859c9654df73621d6e91d47781ccf4ffb74fbcfcfdf2535173df15fa54e8f792a6859ffc3ad3e7705e83f7193c05ed92eab854c433fa54cdaeaff2da7deab0ce101d729c69deba660cab8af38a7a56c080795fea6f457be4cf1ac48359d7c80a55330379df48e41958f0fc057d1a406fa03ad1eb0c98b67ebfeaa8e34cfdae81c17e356757e05351b49ae17b86fdbae949151c2a2efa1255f9931ace2f33b6a35265d0aaa13e9798868a5a1ea5aafc2ea14b45330bd6a5ee558cb7af2730adab12acce75d4d58a56d850bb0a945085f4bc0aacaa4e1cb3a901fbcc54ecd73554f7110ddc6c3b4b4101cf532abb263655adac9a09532d4a5432a15b32e18275a66a5635f61ab35243e758e586e159258e1528106ea1e439334a9ca1d3a246ac66d5f42b4cb8fbd0cd6fd0bac4af5f4dd84db397f6f1cf357aba51bbe9d66584223e125333e7b508bbb6c3bb6190634fc1b93451fc5c416e3bfbf6a9a9be5c818fbda538c9d78cb237a3dfbb48851bf44b7ce484bd2a5b9588aec29d59d5a2f33bc45d1a2db635bba31c8d48ef74a76aa99834cb4be35703b74b605e02b9a6d19528532daae44ef79beafd27760d3db51cd29d0f0acabdd8a5865837a9e866c43ac66fecc04b6b9cde6da46a61d681595aed509730b889d02f23cd6d3f82a2973bd937b7bc2b99f0d7433c2cb74b4cd31df66b993bdcfc56e69ebefdf291ed4c87befdfe837bf2dfcd4cd7d96db2bc6f9332b4dc6ec379dfbb0faf7b3a6bd16fc3c5755ccc3d797728ceff3eb8a82eb2dd1382cf708fdcfefdd106a270e19886fb3409b54116b3ed9247037b1eab4d671df06be2b90bc62d426b6a641755f85c0f94ababc80d54e3e3f9d30106b3ed40693e6941038ffe40fa49ed2d307c009a447adf1621b4359a916d441395fb754fc84df32e6cc2af43312d54f080aa5a8ad632b84d65df24460fd891d3a67269935f13f82dda7b40e69656d10023ae2c7876c0fa01b5ca730353d385d6cc422a966e7681d981e21dcdd82086a1f626f5a98938998ffb48812666b2a133de22951ea8b6063289322de40e73223c9ba409df83a62ad254d5d893e75bf8c984310273eb40c15051433370ae07d4ced53dd06a635a44a72edd30b93da26c03f7b041332839ee71e6a2e9e6f384f6e85b96672afb1c9975ab0d1ffeee19bf9ec6f37707cab6ddb93ff35e39b25bf49dcde469af47de5d9cf0691718fe370fff8e627729a64b7b5983d8d69856c6f2cce28dd6054697d4960c1cdd03729b6af44fa1d65805a9ad85f785a0788facaad2513e1d65687fdb065d765b51445bb158b756c6aa2b8af422948ea2496f428de295a56e04d61d7dee45e85df42dabb9bb8ad5d5faa45b5d9321f00979bb9ad5ef6529a20b5499a50eb27691d1f2696d3d7753fb5e25e96e2fe290273b1be9948576b61759a37ccf700abd4c67ec65c24c878a790ebaaa7bc7ccae306fab87adab6b32c984053bee631b6fc37077c21db675b53261cabb9930452dbaf93d5a05b7da99223df9df7decb7cd694fd73e597eafa03e7e49fcbe89ec9955207bdf20fbbd7ddaf12707f86d9b08c1b528ed08b9a07a484401dc622c5b917d9638615fd88ab1fe8177c8153c8ae6a417b14ae72d2063402c1a8dd239d2f9d8e730f214950e22eddaa9a730d93fade017773074c1ee1529e220aaa4a077e327ed459922b0a4576ddde961ba0ae6d9afa3287f50ad88deed2be2ae7edba98c55b0bacb5c1f914f8c746432c65a48645c75213ad9a54a5a9918edcf9ea1b3c5ad683bdf055389b3e9e61f3bad8efd5eb297ecb9a7e324c3df6e25a4a35f077ed77924dec7edbb9dccbe7ba65ff7717bfe8cff87ae646764cf21278497b8ac07149ff148ceda775edc5def7f00bc03e2435e9982872006c4c845249e0b3d1ff87ccef7809831d2b1cfe7f7886b0676cf3df560717d05f2a7acbe46aabc4719a91a60641889e7c257e02ba1e73dc248a0592f68e41952ad05ce08fd18edc0c7a8a63e07b1a70e407742eb711efa0e08c7a44e81fc0fb83a64396035098332507505a84915c08bb91e50867da993ef2df5a480fe79df03e2bb27b9b90fa462067d2f806301fac2220de959f54aa40ed19d541546c750be8799c9a8d6a405cf1cb1dba3a949b86f3a1bfc57832ae148b02e682505f4f100ba17683e6822393f7bd01c71c603ee0f4f344d6286f9619ef7a0d03e66f498a795627cf67dce20f782f4e1ceef23baa01d3d90a9245e19cab4cf5c710fa9465240e61fb388fb784cb7f10033780c1d915927f18038b8ecfee6737ff43f7dfded637f80efb0d30fde6ea7aff1432860fee3ac2147109b01cefb9c41ed14aa79668c600f022baed83d8fb6bce2d87e1cab9ea156f842b3c1560d965dc86b551891cf10958d34eb20542ffd50cdfa168d4fd5c33cc5fc3883d635348af5a94b494a87bed5788b7b92ca398835f9c37fd86324553253e665e6443a6d2a864a9a7d6bfefa293fafa7f01bc1cff014fe51959a41764de58314c6d67f02a3e86968a67da0991265398867d04c7ae0151007e6e451fdecaee97ca465f8cf60e7240f4d27fb9607a6c63dd3cd1f614e473ab1fc3bd6799ad0ce04677d8a18abdf133d8f345ed0266e7f0ccf91411d69c6b1ee8f813f4aad902b3c8f9447c8ca7986b026d81f9b2c137d9e444c278683f83fe9139f30ee732a67e0cbbf13608cd46b647826d8191b5c411847deb18e63f21a47fb23ad2964e3fa26b02c57c93656267dd43da6ef27cd6f7d47aa9aaf7f6272b3d744959c28e6489143cda11fb6a789d624bac9197788f712d427fd9d184b72f5a93b23a36950646854ec9b8c122b733289663b74d8fe4ad5415799b050471f8813746662b2d9e9b77314f40a5dee1b3e13d526541f2628f00f332ef3c22c0439eec4846efed4ad17b7e73ffe99bf5fb11bbe196bea505e9df5420853faf5fb6ff87e412d6f1437225ceff942e73e6e4c677e05ec173078410ede7d251e8cf0a2cc989b578063a694ed155c38eb0b7979bcb7a89e29b24d95e10bd61b22469a599e18f39514651623f0f0561f9af9baa6e4fdaa358d0885bd5ea80f2f84c83c5fc0704a2a4df1cb19d8770a45df10e1398fc1678a49633faef24d9f5ee81de4338cc1fa4debef13de5433bf6072a41b320f6f14395295443bf61a11e2146acb444947a6c828679ca58f99e9636a5ed095d0fb3ef49a6a6e399fa85ee1764da1e804bd61a5273a932fe81c7731707c83ef44bbf04abb63451785c379a87da2733205bf91f2e24c53ccd30be66e627047143dd1de4b77a53b13559fa7f24dab7cd13e06d51949e6630a266fd0608a6e48cf642e9d3fddfcf764469fb9db9bb9cf3b9e66c836a7e7b9d97927ff1763b3d73b7c6c249ff247d0d967ae9e8c3d23af99e666cf399d4b8e77e3f3a22be4955c2f407957cfc0f99d90e76a4946eb2f7a84e899d6632bb67cc3e9dc9cce14cf22bd242fd14ee0fca26abf44cc6cbd73ad27e8f702be015b540eac6c0f8597d412f2cf69891d4ed3dd0d95895a73535d60faa2dd7e57fddfa33ad36a8bc2328bb29f56626efafb025c899b699679a4ccbbd62593f5a2f33e8f66f05db3be9b4ca2daccdc8af4acbc2bce3ba2652242b4bd7161e6c20cc6dd0c7943df03cba0ca3c49775eeab50aba5fbaf9f364017d16b466f8fea01ddeffd0a739edcfe869499ef36485f80f83b4a4df15e668010cc19c218bf7e3a715f9ce92b562adf47ca5d93e0dcf4f8afc20ac0f54f1a1f33d23bc0f42f6184bb73e803427cf35b80596bcff41b16bf29f037f81b7d007b499139f257e3f347a06bf05f6d614bf806e1faae3a76af9413967d86765979186d213cff353397ce0575497c5f5ce9165a6dfb2b7a0cf0a1c787f81ca67d4c985ee78fc353ca5e6b562f1d34acf18f743a7487643cfd7d03a4c95f808b335f5c8c77e5207669177e03f575567e8c78aea5e614666d0cc4eb19d599eab0f9c2eb4aaa5f2e6a95a20efa72abd300ace75c6967a33c20d61b4b546088395b9016b626d6f85656b6fe0d24cd8422780d164aaa51e89e553b93f2bd216d9e9e6afcc5a907a4bfa5ee19b7fbf703b636f39fd56df10b5307be225ddf922cdf8fc4bcf97c8fc1d65e1ccdf3b5859bf6fb236ea51329eab8889e45a69a685328b71bfa9862f9323ccd72ee425782c227f5bcf57c2f732ad64ac91c42c34e65bf79749507c9eaa2b465aa5f4e277c2d796bebc4a3b716cd6efa8725b439a8570e74ac344c51314a21651a6a5a270d6c58f55eeea2b6bb5c4edde565a3afed36cc4eb4b35fc36d1cb1d31cb14d2229a029beddbe860f50dbe82bf30df5fc9ae8cc22c9eddf41d92e745f0a49b7fe2d6299d9f2465f7744abf2bdaf75e65fa3d75bf67f4fc4d9edf745e76ab825d8e3821cf13a09d24e714f50d9c7377faad78a7b453a62c3ee2d4598c7d4ec82bcac93865f2f7df7c7642a7a7f865e667847ee6189d20caaf0aa2f959329c226a451c38e3b93b977a997f85b887da24d33745ac340b73fad6d313c782a34e0951e2cfb522ee87a8b8427572c3cfc08a9994717246bc451df639271fe1eaf355a89213ea24479f1b9598cb8a7699afcf784e9fb2e9ea09692b159d20cbb9ce44a8e28c7cbf35ae4c58a7383d51f6acd49966e149fa26bb0cc52ac8794e555490b102e40ad43941cc37ed9d1266199530df1545afb402af285bd2e16faabfac137e4ef629e6e0441593df53c49735fb2934921bc1ef9c539d75afcc397c796e4f758258b1b2eac33905fbc44cdb8afa58564ce9fb29c5acf43eb14aa7f028a3d35c5d192ccbb8c58e07ddfcd3a4ead629eefc897bbec0dc5cd00e9f5669ff94ce64e782bcaaea7982b82a3e2706f934f265d52e802bd8deff047b27faf17e9cf55431abc8554546c95e45962af83372f80ed8cce5d2a9578d185f18fb5cf1ab1a2d9c4e52159e10cb2b5475011d859b209c28b6ffbe3215541593953d873a9ecf25615f189e552879a2a821fa14f75eac2a6a3a058ab00fda593d436faa86dd09f40b3a068cc0f9426b3d4d4257c3a49c46887c7ea53ba143278a1d985793d05b3e918a84fb291439a7be9e982899991017f4907a39d785e6085181d1a9d6280a9c442c6c37a5bea08cbd4b171a1d9887bb50d5a8aad6193a13185f82e709a6f544ef0967bca25908f74118b93700ddfc6a524bae69d593069dd693a6fbbe76fb37eef99af66aee895935e9a9860ffb094603ded7585542adea2ec75c63b70a8f6bca57a3b30665ba06625551ae91a98e678e6d9a7c353c0ba76b42ab827d40a99355432d55ad506a689a2aabb0af0929d4d4a40aae9350bf9c84aa6acab4aa4c6ad8ad457caf530c6ae802fb3790a9a97586987a6471bcf06ea8ce35ed564d39dad8c0562a6c829d9f8026a95e832ed7c428d45bc7be9cd4b5e74d6250333da942ed9ab20ffa54d533fcd6956f4d636e8cda52d9b5e97f0dbb35831ce6e33aa946558749ab9bfe55a3a7b0eae6ec3af2f23a85b9afe9a99ddd5bed4d63abf756fb6057cd539acff60d0bb9c27913d5d614172ad1cdf72addbae8bafbbea5a79ad9bbc1ee0dceea91679dbe6f8c25cffca9e15756cd58f528eb0de1f08da8c3ae1bcf5ba04926ced324b6e2c1bbb22315d493c0fbc620d6125b4f9df2fa779f30bbc1d38da9b94676d0ab9edc46cf7520a7abbcddf20d1e214f88b1fa85dd1b549556d99e875c37a93ca1eeba5996b765184f44da3370b0c8ac957ca7eb0ffdbf31fb37742744dbf47cc9ce4dd4b99b8899ed922896aec72a736370c5bb16d5261c6ef4b416296b6bb2bafcd4019bd14e828d8a273dc6bd4902df1b5abc77a37adfa6f0c3ac4b253132dffc3bb25bc93dad3bfc7abb4dbf77b4774b676dfcdeab778bac7614edf1ee22b47becb4b0cbab93f20899ef1dbf70728f1de1f880ace9b85bb3179eef348b646f51cd777ad28637f3bed51aefc0d5478a1eb75a017f73c43d7dd751653baaeb1ea7b12579ac5256fb96b20df5b4a1d9bdd1f2d6edb6a87fe27997dc9bc8e0db363cea913ab7e6d76a2aaadda11fb73a1182f0a0116d6812e2efcc7350b4ad8ab569a7a359db1a5dc7b9d8ad244c9a68766b72dc9a4eddaa42f104b20a8cd951ac164e1e12999f96a9d9f6f04ed508787553752b0953d7d2a736ea6cab6271b577c81ae6a36378da5b261c6e711632b49370e35a894c17abd8823a2d20ebfcd3cdefbad523d46c92a3df9c7b122d73b4f2eea9475ef9a440df39f5c8d327ef62b2ce234f287eddbb4fc1ede4c8d77ff7e829eff2dde95e8eacacfbbe27940265cfe1dd90039b1e38e62867161ef7847947dc725859b7ebf70acafb2ef2cc13424eebbda75ac2ea117a97aaec81ad7064465df72428f754a1c7cfd26e1e2cef347396587491d19f1748c91efcef09b740bb796894c7d33d9d8b46a2254f5d8fbcba149dd3bef5a045161a171051a0a83c61f7e0770f3b4ff879d42b3dbf87f25df48395e595c777974eb2e0d043f7f3668a244756e7823b1d4fdb9d2a9c857d8fba65ba8499e8cab859e8952396f7c89fc5c4e4d03399a18272b1739e8546dc1199912e6683b52a98fb90558d0af4e1ef700b44ff3bcd2f79bd5717a739a8ce3e3d93e71e1dba235bfa93a30e8a4679bd3d05a87c87881e66be0094bc6ac02ceea94a377374f37b4911b398a3a77db78aee7340cf459c1fbacf11fcd8f70027fb6417e9bca85e1e25a7b1394415dd3a705688e193233df73b47d8f5be0738171e825854aba8b139e0c88ee030d3637a3e842d798f4cbce4f059f7a98643ece5a25c5cc391565244a51c5bc4d33eb81f20b3e875443a0bb31c29c5f9d853d4612c513b28663d64662c5e8fba17ce03679b3f70ce19df7db0679c2383c1daee63460495591f225f1a5174284275dba922d9cc44e6a648cc03f76d86457d3ad2392b9a390afa1c180cfe14d1f79c4139c48c84def7f4fc08d37f84de313eef1ec1af88390975edabfa45ed87ad27a8123a93530d0e1537a8cf37ed000c65060f12ab899d50f6e73bb79fc8df44997d5ef4efea71d6fe1e7ae0563fc3bf6e37e9f7e5597b44bffd813f759f013d1f21964efc3f17e77efbee69089c818f7276dfc700e788721e197c1fbb478894d5651f482c7e8f024bb733747899909b22899343c93012ef507ca2b18a40e716b7e819127341669f3dc3f308a8475087f31a0f5f1772f7354738ed2b6a9f741a68f5096be298ef4904237846b00750ff48aa420eb3cb95a23b45557e60eae963776850435f12c5e12e6438d6781d41adc4b2327c0792033ea2c7c0ad640b43e7cad4d517c692c32c9d1a8fa7f368ce35067983bea97e1495e791d16f8fe66790048e7dcd26333ee0eec558e676d8ece134d24a227053ccbde019b433e359e2162598366655b49d2366d213e84a77a80f948130f637dfdd1fbf12fc0e3d0bfd4de87784d347f1a579788cbc2cc2d04f94da09f389ce13c5123b31cf31421c29fc62b4ddb13eb3d882939867f61fa590e0c71f41886a1c2bafc09071bd520373225c44d33179a73c82c5bc95e120e21363d25b0efd1196e23130cf8f5a8d9c0cb426d94b349fa8ab3300df413f704df5d2747a6b0a8c6e4960bbb5921d71e9ac723e8a548f7de2be8a2a8f6646439c301a609a773149a2ccb14792421b2acea03f4cc519f448adc4b2d77e266606e4dc566dee611f3305efa1d6c43e767ec7c6724f74f327b446eef3e4d633fd4e281bef3cd1e9d0fd0e71ea9fa7f4f442e723b79e1065ad5184fd0ae4898b7d02ce9030269a6182c880f64a2713e07136e1c54ff23d8cf6197fe4720dc1ca7f5ee033429667f21c8297ec86ba9f94d70438e23f34b5c9d913b49920bf283931a713d267a81a053c6118f831ef67d5f249bb3201fb9051547fc2ef33ed4c905f149e2883093c9e0c0f8e7d41b6213a2639fcc9ab7b9a6afe89cec98baa6f6b7e46ad5cf7b3fe4af408dc86988f116683715e227d26ca7384bbf06a384c0c5250fe096b0a9c89cee1449989ce43c567158666a2d87f0ab58606f9d9cc6b9819be2761269ea0a74cebb3ceecb399d66765c438cfa87ba8f33f3433243c03c309784bc6513ff443e68bfd5efa23baf96f6e4ddd67420a4dc9e6ee3cc3d79fbfbb25fbefb4ff4efecf389bd0ef1b3d4fe9f70d79a614cfcf33f292fd19f57986d82922bcf754a39fdcc99c32f3fe3b7ce4fc0de8c2e09d22a4cfefc8c49eef843035086fe4f3a60c9fc1dfc64fa10f473c1bc409f8d8738e084cc59ebb3a85c14431dea09ff07b53c653457b333113ecc7aa4bc4bbf20827dc87399e44993764976aa788902e06edded19f093a3e45d43b183c5367de954d6031851d2628ad9ca070a5cf988fa09a7c4f8138c3ef3bcdc45c2737d46b35098c58f727bcb3644e67846267614e3ecc69a68ab1de6fca63de97bf5e53d4f88cdbe1672f709aa2be99998bf76856a6469127e49b459d7f56ed6646d177f46e82daa798f967edd1d470978ebce389f4a79bbfe87fb89d85fb7cf4976e7d4041ffccbf2b3a7da3ef253e52abb716b4fcf35aad374558c073494f0b202ce989a316c4614d9997e0f30ebc77581fd8f71cdf10e32dd913a40fe5f2ee78bf23f61d4c028305a29674be32552df45b7684f9223a5fa08a50df8766584455d8b55096ef46eb77c330e0f90a5629af77305eead3c2e8293d5ac053eee487a949aa162e71d51fd14e50ee1d13205a7f9abe7f68b50bed6ae8824c8af46ba5331338844a1674fea1b8efd167d90f2a2ce0bb548474a7c259ba7716496a589ac80ffd95e9147d97c6fe3077e443397da82e415f9eee301b2ba3eac27464dd979b27d31eeb291d5c4619c2bdb47b72cf020f334774f3bfdcce17f5e49bbefd2f3f2df55df0a527fe7b434f4bf2fba6a78f7e091e4b8d0e7861ef4477fdde9766e15dc1fa884ed8fe865760c20cc4fb2b755e02e6d2b12d69d62f207dbbdd6f9337b00a39d36796b5b0153d965024c406fc6f9c0abadf2991bd3139bf5359bf916da9793f52eb5b3b94e61333095cacc2db781faacdb7627f69d4b739b3f361f7be4c9e0f93d19e7e9b5d619adefb408778624e228e4ba75d988153e775929a8a2fc5da68bdcb889b9d9d6f339dbcff65d45b2ac350d197b17de74f09fb1b56c0fa3048b6c253330d61daa5cfe2eff74adaddb4b2a162cb4dce4ad169f82de9ee07ddfc52bfec5689d677ff0cbfbce7ad0d7d78c79f6fe0b1a1c852142fab4c7936c422e095710bd9df2394a3983210cb1ae3e32b38df2066038e257a2e6b7409cc4afd73ca52a27c65f5fe066609d9cbe6ac64500467837afd6e85bebf716b37847c1ec56db04ac81d34e475a635063e1b655dd6cc1bf23d57c625d590d97d507d65b03843bd15f7f9d6da03a7b22284aec51c4bcad1636ca0d099764b9490e990de059dce232f990a617da65936ba6b399e61bfac11e746af9251f0dbec6ff4bb8c3e59a536fd9266e37e7f98d92a53159ce9c33d9f990a39437a326306dfa91e9754d30d32c984dbde96f17b6e7af14dec3f8c7adf51bf99cd4697d410304a98c812eeb544f3a494f5597ecb124b37bfea9eab6eefc2fd5ef42fddc773bc24cf0bb7aee8acdcafd1a95470a14bac4b7c2ec8ff92f0ae81774588358aafd24ed5ed95e8d946781ed7b4e3cf02e2858b9548c62d13da15f1138c9a9e5709ebc2f95515dfb3a8125bc6b9a44cec5f2234ce2f1c6b94e70a5ea28b6724f5968c3a418b2bd5f38a90ca88ab1a9f126aab9a5839b5bdb8a40a2ec1ed1ab94af0b834fe01c9a356a1db25ad323ac758c14be6b10a85abf454d2fc171a7ba5fb973a1d554c87e42e13a32af1b9523e9ccd77fb12955f6bb72fc9afaad62558941155c26c5d6aadd79abf0a4d2e754aca607f41aa5dd353a8ae4476d5e15f118ee85ba58e5d688fafc15266f1125594758e641eafcc73197e722f2ea1ca1522cb98c44b422ce12e55c9ff1a3d0cb7ef1addf513cd9e35aa88ab112dcab47ba97732dc2d61c035d4a04b49ab74de74f32f48fdbafb6db8d574bf37e887b7ab6ec77fdfbadf2aad1bf856e953a5df0bfc86b81bf7b9335ebc5785c785c3a8baf32a65bca1a7baa209ca2d656f6a7c53311ae4cfec2ee84932ddd2b3afa1494fb774de344cef885b953c424c9d7c9b1475a795492da2ce2d55da0497aa2e41f2fb77a8bea1199b841f349293bac6dde05d55053aef35f02c9db80323ae3df4cbf26900c957728bee4b36e9e62dc55e506c03dcbc2e4de0874e0425397bc820796e0c831baabc899c1ef3160c4599264508af0b64bc40dd3255ac0c3fdf60f78ef237517d15fb125985427cef1aca804feb9a2db0be006e9862c66d2a621d7d692856d3a0b2fe4de0f2d404ad1bca9a9f6ed45b3a1d14bc309a37d1f73a30a4ff7253ee9403b3ba417fa4f25bca79012e0de3196e8647a9d2cd6f51a67aff9ebe7949ee069ee53bf66851ac9cb768f1693bf2bd3758f7f06fd1f33df6dbfd0ea21a6022fe2df0ba57567cd632eca4028f22f12df83d284e1decc46e1be675ad439877f4a443f82de2da8dea9727bfdf06fb1698fa9890a18e2a2597c4351c7a9798dd23ab574574f01cef55adae41bba7cae42c68ce592563dbd415be3ba6d636e56b99f83af808dfaee66f1856d2e98ee9adf56940c70679d4a110234a76d1b76ee2da7d9943b1629deb98a1baabbe6dfa2633653bd350fd4419eb1bcfa774a3457d173dc364849816e9d5d099935c6df32c33ded60ad3b7294487b96ce13e85888e4e5583503b98934eaaa7965f9bb4b1b738cc631d33e4d8d2cdefa29a7b3ae9921daf6ef491ef2e45c5a7f5c8af8b290a96dded2a7a7767867be3d1323ee1bb6b9e846b8f5805bffa0e74e1de35b97db69e6114320484baf2dee69ed6ae1bf9a475b4cbeeb522df1658d6cd7317b7aedbb73c2dfe7d3f562470d8ceb1dd8b3a540b88e1dc62b4d4cb5bd9285fb79f538eb106a2e57de41df38d6ddb2b5bc17d547d37e5197730c68dabb78ad81ede4728bb22d2d31f4eb679057bd79ca427c54e55dcbdd0a1ed194cdfd978926274fa3776fa79f754a095771debd2af5ffcdb737b39f2668f82b30afd227cc2e2f37d779a07468e3cf9a940597334130545927c1e5d72eebb25b973d8c9c3cad14eceedf0790b9e454261efa2a9a00bac82ab4272327fc1cb2b3fd9291a4fefdb532dc4a7abf5e650af9cf2c97e64e555118b9a57c6396259448468c339bb46f72e342f10aee8db02973c7673a6231cb7af6741d1bcd14bb42feab9f876b57f7952a180bdc08efd43bfb8b69cee88c2b17afbaa89282759f769cf32e18c613e248a79f40c9b3cbc72c62b4c7351a38bda0799be9c99d92e7e0bdac95c5f2659b0b9c2a0a974952732e81ab208c39eb228a8b6212fdfeb02b2755165cef0cda32a9e51998dee569ea2722a68ae6ec42c4737ffa07fe856a17fe4d6313d15dcde31ad437a3a1cecd19e5f79daf35e87fa744ccf87eecc231cb8ef02300bc6fbc060fbd36364f3a80542e1a7432cefc748c7d19ed4e49f0e1c339ff500b978150619e072e60271f32747149527cc03549e478e6370e68a8e8173085d0fa086f8301a65f5d91c0fa9e5909e0f751e0e94cb21f374e7c77a2ebc0fe873002edee788e20afa8c68a9cb65cd1b36529354c058c7e05d00bef485ab3f761807a42154f6cc51332b2dfdcd470aa11655b9a0592426eedb71aaba439d00a95c3c0e69c2e4348fce1d1bbd0ed13fda777c0ff4ec18e847988ba06d41991f139a4c865796bb5130a7b102c73a718185e87884793f84e7a1d62795b2fe05d2f910531214cca3fe03cd7fa41d15c463d259e6d4de23db7df62f901ed094a646d43d46e481cc81bff983c49f0dfa830132b93518729d83e160e4cefd53df7d1ec9ee9377df3fb9f5e86df2788436c783c4ed0f692fc11b84f712991e8fe6be4794fb5073f5d5fb91fe2711c76af765627c163e75df6e710eda054fce422c87f8b83dbfe87408afa167c458fa96738c842d6bc2bc25c25923cee4fdc042581337a9d756c21fd60c48a49ac33b44ad2353e9a36164d97186019410e43ebae1ab79949a4579cfc77d06a9de8ca050e8f7a1f41c0cb946ae0ff56b56d66cc04aa84a03790e5dd49e71f6431743dd12353053437ea2ec5a81cc9562798d4839bca198dd23abe59087a2146b49b123e9364f00f0b93a3b5b8fd0957b34a29a1959a203b747e8cb1c6886b01e5191576e28f327f952d91ef174481dc21412d62326446348d1c7381a5de7f9271cce252c746e587373b7037fbef9d11aebaf5f8ff4ccdf133d4bcc6e8819a7902496f79fa273de9d20c398aa48b017b348e0f33888f93de24c4e3cdb097e630e8f91cfd8f04e90cf569918efb422d6cba23c9a9c9c6d92caf238788eac47c3e311f53f6a8650abd570b2c53351d5b6ab1125c6a9ba1e0dd224aa60a24fa2e138f27bdcea4aa8c3f6ef316231c1d92356dc49ab41bae624b51358a555b05d4fab93f61fa7e2ac8e31c6c4784d4d67d2f9d313314e79a697d41d6b11e63e6621353c0ea4bb81ebee5a623d920857b9d2cdf777f2c57d4fa9c2313d4de9fb957e6525f43d567baa31e139a1d8c4ec86efa9897d03dad46027f079a72c6ff09e12b727c7e509bfecf54a397cfc0b9013c54bdc6962b24fe1297682ef60bd13de8bcbeaf15e10211ecce405bc42dd2faa5da2f526e43dd638afa2477c25bc17fa3c81f513b41a474a3d51edef867b50e005a88951e629ea8b54f6847c82f846dfbbfbf1a23ba197fc798bba18cec760e4eb7ad5cc63b00db54b346bfa0266af3a65534cde142c6c9742056fda8d17d3c917cd62fbfbaedac6de96cd13de6ef2f414f92454d1d8549000c7774598beaa6ae15710a76612d83f812e53c44ed1cfa9765510c6a886b54d5cc677c279455f65da9f4c6d6f83d09fb1763fdc4de69ea86aee846efe8c766683b9fbf0f78bfbe66e3de1e36ddee3d3399dcec87a227b463be2f942888c3657ec99e679a1df97689ff7e664718e39ed3d99c839fd3e69ae19e29ec0678ebd27f33d53de33b09c21f649f1a59e27c4bce8e729aaf0099c04499e43f52f46c1b9d6fb849327c51536acce13ea9a219fad417a11328bb6a286b05f808528f3a1ca079e3c2bd2af27e47f51de33a3e08be1b2347db4df822a3d7fd20a648a669a718638ab82281d26e0057c9ec05a3a3f3793f7623c443dabbe4c69e02aef9f99e976e8c13cb2846398f7303b8145d811ad42cf9ed01d999db9ea134fa8e49b45d1a222b35eeae4c95d129d6457264dee969d8a74a5c8879b3f1bac066bfae6e7d5e0d3fd7e92cdd68aec99f3629f35d99ffacc7e8cb3a6e73550f88cf1f824ec7f22279f7e299af098453b123543a6907b0da44fc55f2ba34ffc8adf6a60abfc8e727d46b5aea0caa7e65b0d429db3e859f4d818cd42e533455a6bdd5f60fda575ad4d8d9f91ef1af1b2136afc1c582d448d500d33f85424f6fd8ee2565bd588b5d22eafb457d22dabc54ad90a87d025abefda7c046fad272b8dfdc414d929b04f767aa4c7db675245982861be8a3c82fa33ad58e6473878365f293681a3553160862c61763e07618a7757b7c214c677c4ae99f2b3731bdf167b27676652348a6efe7a507213bba6b9fdc4ede09d359d95688f9fbfb0bfc1fa8455c22f9f9410fb693c36e67bad88e2ff091625ba3b9ceb13fedfeab9c6de4619d8fd127a11987c9a3ac2ee5ad96e52fb92973d62c6a5c13a8adae0a6079fcf14e637e23651cc37b03786d9c6e85fa20a24eb67e4157eaddedcb39272b29d909aa44701ed536b5d9b1e95b6b27dea9ee45ca9de1bec6f94a79d0e6150420f830676324a03cb741d31b06a4aada26b98c1f58e9c716fed6e89b8ac50bbec97b497f134af231fe19fe69c666e337fee64b236d507053f23eedb1936daa34d4a739e1599a09079fbae71d59f74f34f06a783b2fb6cdce7c47d9fd06fd979f8df359dc9e9a97af3de863c4f756f43bf65f23e1d9c21ceefad9d1590f8778da753c45428bfecf0f346d1cab098c119617aaf34aeb0e4183e3bd79c019b91d784b2d66ca7aa51e056018713b3b789329c500641f0ecce8daaa7a46659d96ddc695955f4f699e12e284169ae790d7583ae9c979fb80ecbfa04559c28ea69a4e4192155a883728b04fd84729ea12f1bd287799ce3f414be612e42867822a446afca19f6cb9196a75a195772ae3ddc6815e70399b853aa79a3dea2c4f60cae0da3739d1bf13ac3f486bed87c41c133d419e630b093b938513665450c5a8baa65fca66731e495dff220e8c66afb89a928b2700cbf01ef1c311b2087990837684337ff7450c5497570e13ed2b7eae012bb57a8c7ef5c68ef6a1477492757ceba446c75704d717e8f7d6bb4389eb12e91819fae29aaec7eabc81358302e732c53be6b643b25eb92bcaf894d19f135ca728d1d5e9764574d0646673655fc5e12ce159d5d114a95729591af8c1cacd7b546fa6a2fc84f725c6a5e51483ccb88949d6bd5b7ac7532bf1a72d59ccf35102fdc93a0b09e35fa94e9ec923a28ca9da2266671ade841953276aed1cb1af2d4909babadd1d905ed5ea257a7c443706ada6b99946bd3e91a615c900aa7e058c57c55a1f1357ac1f356c3b960d754ad2ae9e9ed4bcca3ccd135385dd1f9b54e5498df53f495a7a186dec8945c9a7e56557161121018f7d2e858c3d45da6fa5c55be1253851e57da3fdfc16b9d6daea406fdab986d51f1148cafa926d1e7120a5ea1a25374959fafc0eb1418c0a49b7f35a8d39457e9db3ef35315dff649ce1a91e79539b37b5726a26a3c79b701ab616276e1f9c996e7ba5b55e36173344c5c5df7b79936c0e122e26959a4b5b07555f5f702180de4a99bb37474d5b06c806983aa91339bdf2a11eb57dfdaab47be524b03ca4aa7e2de59ffc6566eab407d70955aa2df25a2ea917ea2769338d4b7f2368059d5a87a5441c3e4d9d505ab7003d96de5d52d2fe628ecfcf7c50ee5c29ccb1c5996e9be5a0d456961d8d8c9c0de83783605b3aef5c6155f98a94ddf0b99781b116e41da97f6e8e6dfb8a71bb773ebd68d5b7764c9a7417b8c257bb714613d1a3ac976cf23faa75bd82de37b65e25b1a7f13fdde223be35a3e9e257b786eb7f00a1eb7c6be5194f82964ba32b8b7e6ac41e877ca36661967e0acb706f16670a5114197b8ce70da306841dd8077033d04f74a158ad9d9ac7c7e97d2c5e6be8a940d0c448b9865d0eacaf836d44fceafd416ae371183ab08777bdd18b45bb56fcdb7f4decf8164883984a91526e939bd8ab25d4571d2831bd5e87670bf93e18d56b9ddc9d837ce776bcee39ec4d132ddb751bc553decc7bd8c316fa35b724537bfed6e5ec77dfcfd6b0d1edc7e9ba6a5e59ebaeed372df6df2eabad5a0bd2e7d7bddbbe4d726842e621ee8e9c1ed76b11ee8fc8190eeb0df260e5dc2e852be16e5f1ecfcd91d320b066377dc7787be5bc4a1ad7cba14eb4fdbe0d43575b4c0bc4dfbdef381ec07f216940eb1bb23bf07daef1037ee4e0bcadd294a877c1a50e301489dc10df2b6e1cbd8a2df1d7977a962d6b64dbadfc0b34b382d68d2a19c6dd2e30e3d7920cf16be1f80d7067fa9b2058d1a94b58d6e75e8c339bbc0bbc3ce1dd808c71b646951350f5acb0d9e5a60cddd6ce9cc70371ed045d963a51a981ed6b68d290a93d6c51c74b48bd2595691e3efa034a30b66386f814d83b2dc61ca1b3a4b7c033a66c6da98c516b83c10073913063c7b6df484bbdfa6dd0e32b6d1812ed411fd1a9891aee9b4dc8a1650db9abfadbd96c9bbc14e57a747aa94196f2bdb3b4cad4c97b06823be819b2fab47fb3d7aceba25f3cd276decf3a767e2bae69b7f73833c3de56847be0b40e86d9db5912d8bbdae41cfeabd6e232e6b32659ddd83578e7ef38665dbe5cc996ae4294b592c8e70e1f8ed25aab471ce939207529b6a2b44115dcad5db42ca2b86549f252451ceeac975e795a9adbb0d065d97b74b3a089ee8653bc85640ee5144503a4f7a64096d97025dd3939ea92a4b0c58535b6b0e9ae568a2ba5a5b9632fb7cf941a8a610f54c6a8f19e4c09333c675495fc3ece50d6a5e7b9dd579eb52f5a19f4197903fb0b1da49de5e14176635745966a637084c7303990c9940af4f0e567c27b6956f1b249bbd1bed6595492eea655088fe57ba6051743a15488d022d6f67dd679f56db7dd8cac2b340968fe389c9222a6b1623fa7af6d566d42cf2144d363ef3a707f0f119ec3e47ed03290b6cc9baaf31598d2f027d1f8c72c00cfe45aaafa06f84702659a5beac9e16a21dbef7525d21d28391da8a2d790a46c72c66341745654dde4354c0951430e759ec594faebead9515dd0a6fbc2c752cf4a118f12a0c4245593a6dbb4e709fdad02e6854d0aeee6b0d05e5b0afe7a2e73ef6b3a6f6224eb6f5b5be6dcc62369aae300d6dda17960565b53fb07d28e0dd2c7514105d44478473e86398837d9d1a5120f44eba51dc8a0a7c0b98e9367ab66fb21428374f6a1b7c0ad192e914f41c721d52067e67846e862e065d437fdaa20bdd7cbf73e43ec7fe69b8e756c667f34feef7c82f7a3ed69eb8338ad81fc8adddf7be7e9762f6e9f7987e33f0a61d2072457e278bcf3e4e049b9edd53d17d0a7496250e8c7304769ef1716049c8f28b7716f045c163c6a30ab3a43367de1f66840529b08737de31a151e75d0cde6ec03b525fe67bec3ddce7882a2fa01e1fc7b58a5e9e4f91b9229e118fa08decee7385845fa4fe1459515f137a22b7c3be3d8f3c9eafd0f24435a2ebb176b580ae792b6315d69ef2fb665f7b5e949940678e07f2b63aa267e9420151f2f6de870a05d64d2be0c9d3dac0a7201fe42a46f3211d2e101bbeb585500f3a162a23c5a9be0278eeabde599e34d3d7639e63c391196785ad4e5f412757f814c8e348952ba88a3c631c9d416559dc18ce5a945e8189d42e5dcbaace05dcaebdd0198acb40fb7d339d3ee648792083bff9c3843db092617f38d0e73df39ca8e7d09ceb723c0641e96182df01bc92e1d09c0ef03d8c30069a6d6f38d238dee7937ec8c5e78497a4b80ca2a7c4d8ea4571b6cebef1e16c5c419f7c13ad8411065225b878bf049e49c43ca00ea3dcc224e610ef0ec20da1e74154c32870101470b1ddf4558ca2bd38e79e766ba83d4be4bd60fa986c29969052490a25e00e28ef40ec8018f52409b54619ac7f5cd3c060879e0cd497198dccbeb065cc91e2075d92d4afedacec86b381562f3723ee507892e7c1b04fb3919ecc3d8332d00c233b69513711abda900e91ea32ad7b3a8d8c217e7dfee0e60f868fc331eed7683821dbf37872bb3cf17c226cd973427b63fa7e74d684767dcc987c47407d429f645246c8b117ed8f286642f623d95cbdb01921720f1c47dafd11e59ed0a9e418a8c72365129401388bbe23e53126b4113118292a573dc0ce58f5092c26602e6fa731ec473cede1f3041623f01883872894987ac68af90854ae6ca4558f740db43f7bb0f9dd33d12e30e2043df52c12ec33e658ab64ac3179ec41cf3df4758cdf3dc51c10ff91624ccc64c8c470b6093ca4cb63788e314d4fa874ace763ad68421823421c2b83300313d236ccd44823431f9fd4833b32c65c253a335ce598264e667204e4b1be45f674ea59d191e695dd0493f5085ba663acd392e8ce00fc07c0d91b5a7dc77abf12e2e1151a616a12a08d81f0a8d3f944714faaf4c078871e3fe1e63febbd9912d674f8e2ec67ad6b4cd6d47d4fb59a09454d69f7d9793cd3d99490a60e5b30bdf5ecf0a6f42b7c27401be89d9d02ef59b3c85e5882fe4cf88c30c60edb233a635663fa7d259c91891f2187f0138ec27ea26f8767448d4cfe5745967a59015fe38b9905417b4634e77cc1a9d431c6feaba97600e429983f43ed6753c5087530da2b6a192b17ae277c9e4de7429daf5aa1543f52859e49db67f219d3fc4ca133e3bc0cc324048d5e3013af984899277e1bd819e1ec239d0451f2c54ca9ad956785f51a1b9584f11495057d474097f7e3883286291c003df497d75859f1e9ab62046499dee9506efd0b614f35b3dc16d16442333bd21e3f6bcd53e832313cc2743e43f931d41fa33fa2eb33eed344a770a2d3236c9f8135d65974a774f3bddf1ba6d93ef3ef3b58febc82ff1be1bea54ede74ef6d2bd3db5f205abf378d7f4e9d87a7e7a1c5de8d3e55df37c36b1a31dfe6f2a7e7edddd90f5e6fa4c64f7cb675b1fc66c374267bfa33afe0f96c549ce9c97bc4e0cf9ac558bb350dbc421ddbde6f26c676eca7be3d6f757d5b0fa9e979b89d75964213cff4acfd55bdefa91cbbf9cae9e44706bb72ecaa39f458b47d4bc505dc8989fcb9931447377f3e5cb8cf87fb5e0e576eadddc7ef4cc9f6a76feeb3a0f329fdae9cf794bca6e4b9c23373618f159df9ef0fb7e73f2b3a5bd1af5f739caf28fb1b61ac28db0a39d78425f173c25f91b5a01abcff12cf2bdaf57e4b44af88cd92f09660b5c05a51751f60e36be6e8056afa00078e5fc28f9145bf25f1961cfe774dbf6b42606ba1670be23f07fa1b182ea0f7944ea65062896ebc9136ac823f61fd03ba60bca1036f94fb839463cc15453106ebff06b405fabba6e8a9f68731fcf7125d5c118b378af8a09355947509be2b528dfd3f30436f8ab1a6ef29eca9a97f8abe7c10b2c717e5a6f05842e715ad25d5b500ab37edd202d3b9a6a73522a7a87c85caa7a48828f1862eafc06145754fa1ed54675566736e265bee84e8f7a6fe2bf4e88378ac50cb1bf82ed0c5a5e6e4fbb440f4c24cf78abc96d0620d4d175070ae3765411a2c35d70a6c56a697721b69cee8e6fbfd35eefca7fb7c696f3f696f3dfca69d253d7f42539eae35d642bf3f158b7fbf5cf40acf2b3a5d9ba895a24876ce2f3b2b83654f3e899df0e47e7d9a73d917e536066d050d173add0175096b49d6276a5e68f5cc92f5fa1eca7b32f05c413da983992db4b22594f2cf2bcdb672fcbec8f34bb30b8acce327f271ed12fb8dc9fa323d580dadaa4b53df129a6d54195f857452ba238a7caa0fd7b524ce2b9d22d16301466b8d923eac537aca5f9545aa0a56f40b682bfd958915f66be4ff06e61add0d9a2f53ca8b865c9ba0057d98ef0afbfeb321660b45085313662b54be02b6d4ec7fad8a9fca3ff420f092095b22f7329581eff142fb1e7a290c96dacd4f9327ccaa70b09874cfe8e67f2a5b79fad46ffeb53b76ff7358d24f4931fcef097e7fc23ac18e8f5c479ea778fbf06959e7b1449f13aa43b04ac4f80bb9d319d7b41ff29c688c787fa9e7da9c09a7ed75824c258d0f089f510ccf71f02d69f427b42fd139ef9f183e56ddf05d426c4939ae9d369f1a55528cb077629ead266b53a1744d32f19d4977f92745d6ca6a854ca561dce3f530ad2dd7c01dfd4a9dd88cb673a14be9290c93bb1d2d756e4f6cda774dbd395144e9aafd0d71271afd15b12929d26794b534b47983d66bc24a730ff6aee94d7367454e5371270661ad3a9c18bdf9e69f0d2b6e49a6737d3a739faa7b3ea35e95e8ec0cd6e7f0c2ad337a3aa388aa392961dfe39e03eb4cd95410c33b557d3e8fa643585cea0e639628e68276cec1b044a8ccc36762d655c5ab12f6393192bd50a73fafea49896aa95084b0a8b81d1fe1f72ec05fde77978a54a14841a9d0e9b97e7396aa56771979568120959fd3f3b97acbb9287e4e1fe98af03e438f049fb5b880a747ad825795a22adabb7355f7d2bcc9cf49fd8a76a8a2b578bf33f5abeaac9c03bf429c2a649d616a2a9884aae96ec5bccb2a841ab4abea8c7c22b284ca4b6a87bf3b82241a9e61e6e4597a24535a02b34f8dab82c31978db7bc759c543fa711975433ac11365ef6e09de9f3a81f68433da3aab98d0734c4d09137f86187b234529990499b8aa410cf9449d73baf955aaf482669a7f2fe9f67afb927ecfa8cf7c72061ff6bf80ede7ff82d4aba0cbb16f85b80bca05de098c5801ce251005b384ef12b894b013727f52b4eccb8432fb2a7255801b6a0cd595c0e89c102e4dd633adf71227c24e90f8d6b3c70575b54a7a8b7a8c52552544850a3d7bbc2add1346ac02ff12b7aba29596707b2f55ff0bbd495cb9ef71504bf4bbc46f95a22bd8fb44dd17b42ba85564ba2456a253dcd5e0f589a833627baebd13fd98dbb9f6b9821a42bfc344c8cc9d117e057a0405ed5c56e87e55f177aa6a34b0f55514493ac86fbb0aea169505fb02673cad67daa1705ed18c9ce55cd539c3e96754cf2566426a39533cbe1b1706fd1253c2efe7707e869a79fe3eb53fa260156f3189124617c03a435fcfa319ab603904baf957cae48a7e6beef78a2cef75857d99922bddabb9efda506e22c75ee97998ddb06a464d1bc7311c57d3c82bf0b8502bb014bc2b605614299c57c8a3861db9ff579ad53211756a9ae7ca78caa736b47c2f14ed22e25651ee9528d795e6b9827a923d5631ac4a14790576c2e02252f86a0ba192ca5f339c2afab9deca76a19559ad42e69ad3f2ca44844e73176bc825df96e315be6d1f6c4f6b06af62e6c54e4ae0173a239dade9fee5b092ca6ba74372d654fbed0e8639ae19c5b6bde35501a230a90dc34484b9b555d50c7698a8f45487db6375b079e3fec9b45e69151c75c6bfb8f975d3d7ba6ad5a04f780e7dbb205b4e1ac3a67bbe518621caae0676e34e847501d42b93a9819d34da45847ba1d85cc9c5f03642afa7501a518638afecd58796d705a22e865786bd651b56dda9d130da35d47f574dc24d7ed3f55a6656ef86f2a8d3a7bee52f48b7a663b6c66d7cd132e4b72adcb8efdb543d71ae86d90d5cafb4c274ef1bc30b13d588327384e55157c45db7d9af3bf2b935e7578673fc9724cc775a85e07ba1136bf5ab9b290e796cc78372a2555d6f6423953d44d9e9ac6bce745e6f358d27cf7e63682747f6ebe87d3cd7c0a39bdf18b686f76e717cd3596d3a6d4699da0ea7e1bc9aeec9efb69cdd02cead5b4ddaf3de7ebf499f5bf26d904763d8d1e726f0fd04dfd2779bb01be4754b2c6e69b5b5774dcacc16c7b570e2638469030c1a84d9228612d9c66e03bcaec80a4f12dfc6dd6d9adeb4c1ee1695b1ef3d185ed1afe4b8228fa6d67faf7dee404daf5387be6f91f90a4c5a60dda43cdcb57bd5abadfa30b316f169e2f79ef4b885ae8c2533c19ab781182abb5506b7a4e815ea9773568eb56ca8d62d554b9888621df268a15a39e950bd0de2d7865adcff2b700b37b0ad775594659524bf68794fbab631b1ccb483de5fa57ad50093b6e66a2ae3b699f27bf06812f6ad66bb42cfe449dedeb7406f1b0de45cfad401f72bec891edcf1a6e60977a2a9eab5521c1a9a9fbb167ad721eb16e7a2b5f0949bddd0bb7d4f37bf438ba7b809667c1bfd6e07bff714d5a1ee76689727ddbf35786ab9671dba253cad1ddc22f16ea2de0ebe1bc0e25bd451cf36613691bf01364d8dbca75c2df4a849b3d6c01de07bde54ee3cb557b8832dadea4a59b480c0312d8a6f03a343f9af90b985ba9ad441562b20354d550db0bc523efc4664d45bd5906bba45fcadde2b5685e7fa9eac5be4e229bbd79c4dcad38057787370960698374d351d55ac85f9ea805713b3ca755c21be6158b6f0ee6f5354079ce5ddddc11436517f1355764cef18a94568f7a64f1dbc29db60c97570b7daf84bc0deccd1ced6bdce5707dc1aa8b385aa39e73ded5da1d6267889daa231bfd19baa4a07681dbc633be02c73cf93df514fe17dab1d6ea8feb7c826732c5d914a5a787f7257b9a3a2cf95b269eb791b6f890ede7557542777f9de64e25991c96a4737bf337cd0a78ec6ecfe4d3ffbd8ae897f4879f9d334b63f4b677cf843cef0bee8506d0f2906db18821ffb59abab880fe4dd155d529eed1d18db7b6df3db56866dfa6d6b9cd4dc4dd9bbab0927c2f34fdeffdcee2eaf187d570fb73bbeadc84f15ec8ab059e3bc6dd527f4291d27f9823681a59d8cdd9dfa49a570f2908a8b35b0fbf73b10d2fc7e52795b119b7537cf5d37699be57d2ad7439a196efe8359a117bd61969e7bd8ed612fab9e59f8e668df3f65c9c7d6e64f854316bfecc79e0fc0b55a0892e479008b073d11cfec304f993bea1d7230f79eb13b88c92a6ed67008f9b2c0ec995c8c15d03957161eb6b69ca93ddde3ace1e2cff3b07aaaf983ea1bba6195084a655d2651a167703ac38246158c3ae2256a0afb301d0fc6b7b3955b6aec190fdb21991299981ef83da8c63d2820ab008d7b29ac302d3d9ce528ae87ecb91d0c7b9aa96758c6139d5516814b11d31754c8a233c2b2a7b31294cba718f3bdc899a9e9695559e4ee19161de81f6621dca68ef6ac13fd8699ed2093ed81d5306bfad3331ccccdf037ff66f9bb7ed7effa7bad7fff7ffef77ffb7f0116ae0066</data> + </image> + <image name="image14"> + <data format="XPM.GZ" length="118955">789c44bdc792ec3a936e39afa7f8ad382b6b63455073d083d45aeb6ceb0165a8d43af3befc65c4b7dcf7c9d15e8741020e87c3e17000fffb3fffb93d3dfacffffcef7fbd7f541fb3e63fcdb47afbcfffb49f8f8fbfffdffffffffe9ffffaeff138f9cf7834fa4f52a6e57fe2fffe7ffeebbfc3e6f03fcd7f82d1eabf15985f3b18afc073e0205a81e98d03bd63bd7790acc0530318f38ee9ad03bd637bee40efd8dc77a077acb70ed215f87c0744bcf477cf81deb1953ad03b76771d64aa4b088829c747b70263affedbb603aa1f03ac2eb36b07faece41e6005ebbf1ce82bfd8e0324d63950e59e0a406c123b76a0777cbe39d04ff66e00093f797c02a47c65e70590d9673f5720f2a63c2a0063aafffee3402f9ddc39a0b601c02af75c39d0134fa50335c3cb35c0eaf2d83bd04fbe7f1de827930690f0c473ed404fac493f626fb9df7d80e9587701b092ceae1ce8a53f1f0ef4d2c3990309797a0db0a24ffe016a9b3bd04f5e124062026a1de827dda3037df6fdd781de31b3a25b533eb40ef4c4426a99b89e6e25006bcacf0f077a62e7d9815e7a380144fce423774057bf7080c43e1da8e8affb0013d02c7280c2a40e68db1b07aacbe41660029a540ef4932e75a09f1c5949532af77aeb8077d40ef48ec78903bde3a307643cf1f5e140e6e25d207599eeee004c1ed30380d5f6f3d1012f7d76a0cf3e1600d38f97d481ded1ae3bd03bfa7d077ac7f3bf9fa8a43f3f0e72bd3403983ca6570ef4d2f61fd04bdfd61de8a55f5f00b31f6f070ef48ee7c601052b1da81c5fdf809c9fcc2f1de82b376b0e4a0d05b2eb99abd4eb21c00434bf7740db760e548e873920e51d6f470ef48ed753077ac7db8903bda34b1ca8a4afe70093c7ecd201bde1ce01ef983bd03bfe6e1c4840df6b80dcac43ec40efe80f1ce8279f19a0e0b3b33307facaa7743d771dfbf80768b9dc81beb2bb0748d1f583da81def1bee10075d877a0977ebe3ad04b7fbe1ca860ddc281eaf276083011b66b0ef48edf0307e8fa2ec024f6b6e1000b73e980cf060ef4d9f51f8049ecfb1950f2d2dbb9834aa00054a35a32d5885cb85a36470e54f4ef3f802bdd910395747ae200897d3b40e92e0026a097dc01635404b0eacf62073c113ac00f4a1c481e931780a9d4eb9903acc3b103bd63f60fe81db373078514661d509a97533bd03b169903bd63f4ec4042beb37298d4df25d3d2a5bec80126b1b71d80496c9a3b5039d6bf1da052bf0e548ef77780e9d8cfbe03bd637ee140ef58ff0014fce463ea00995e3940eaad03496c7aee40b6b08b00a59e088231a0d21341b8e1407a7abfe94012fb563354ae851f338009e86d17e03d6a0b60459f640e10d02bc09af271ea8027360115127bff74a09f4ccf1ca8fa5f27807ad4acc0f515a019752b702c4daeddebfb780258db7ebc03aca17e6f01a6c9ef6f0ed0e4dc818afeb800585d9e260e54d2eec181a4fe3107586dd72b07fac9ebc881daf6c9ea5203268f80869f7c483f1a1f7036ef1c50b97b8077d33d80f5b987ce01e5380054a6850f0ef4c453eb40057bce00354f24ad033554f30968000feaa64d969502f399837605f6e449b7ae851f1f00abcbcf1ea0343ddd7480873277a0baecdd02ac72aff70e54978f12509b804207ea2f5faf80869f4c0f1de889f4c081eaf25c005a7ed27c39d013334aead59f1bc801db1250e775f97c00984acd2307facaef1da0461e1f8d03aa7fe90083523960142b00ad39246f0ef444bfed40259d5c013a7ae54cfda5f3ca2d9e0056b90fe947ef75f96c1dd009ef1ca8477d5680c686e81707f4975707faca340574143d5f38e857d6b29e017a81702a21f75951aa2e07abcf0e0ebf8dc8eb5f002bfaef9603f586ef5780758faf4f0774f51ee045cf1da8b6f33b078c73f6596b9749e7403d6a52003adeb1f807f48ee32b40cf67137b473f96f9ecb605967f7a6909185bdbce045c403fabe175f8ff6660bf2f0136f0fd8d1ca8e8bb770073ae368f00d64d372e00a6c9931e60f2588400eb622fff80aa3fdd772001cd0e1d483f1e4b40c713dd35a01f6b1a19ab29c74b0108bc3960b6c63b9685d7671f05b212011dad46c271e4b5fdf802985dffb427ac2e0f8d03bdf4b973a0eacf1240c74f5e6f003d3ff97a71a0da3e140e68ca7b81a596a9e8470ef444fc6260aca2f7df8031fa11bf3b58c923081207fce4131021b1d983806bd09ceaff939874ec5fc864ad0154368b9e3a605ef906686d583b0698801ee70e54dbaf7780f58697c001ea70e94005db781658f63a15fdca00f298f293a50ea98bf5800879243307cc8017025efd1995cbaa52eff8d067937f06a506987ebcaf01acb66b9d033dd16e1840935ff70066fa166301afdc4b0118238ff9d8814a3a3d3540f5fb4307748f5b40c44b5fed1d3120890c481e417ded8069c29f800be8e117500116cf0e549709f2c8ea4a053b5233a483c210620c018d454846809e2ef63276a0eaffa9bfa4de5f362e1d6050660e548e8e77b880b24f4042e5928903e6a6e78094271e5497d46b3b590778e5d4d8ff02112f32069997f4f504604df97207b07699dd38a0ef7f00520a964c1dac2416b42f0ef0824340c64f9e7f04b29a76993e011a8afe2590fb48b8b106305bb8f30ae850fe871e600df52ea3942f87607d3672a0da3e4d01b169f29901dae5a9022466a5f60129fda5df752021c7cf804cf208d34b072ae9447d2e1f6a4bc85556aa707fec700ae818e776f71da8a43f52fe62395cc8188c1c48a6f323039474913860b25a01acfadfef8084ea3f4c00a9641ab4af805c75099a530778c1325b45d652b94f19d8d2478fa70e6025fddd35c0673f5e00092dd7ff00321b3dd60139959b8f1cc87ce6f6d942050bba33077ae98dbda3a4e81faa5ce563f677ed402a35cf01d61bd67f013160f20648ccae378092cf16b903bdb4cb00150a339781ad5d409f2f00fbca5ae1404ff4bf8094ea2f4a4086801e9f1d10e96d00346598c4808a8225b983957e04d51ea0e689999c9ada1b7bb209e82b228aaa5ce332fdbb05988ecdc60e584da801a9799f570e98e19c02ac47cd0a404ee5b63a006d1b4c7f01357599fe3990a5bb5d001a2a775b3a50f7e8e57d36f9a89290b757b39371fb6fee21b3d57a43cd530354ee7704b0ea6fd84facb6b35b07fac9c981037c980850d0b60fa50395a3c8000d958b3f1da860bd8c52eb75f992a15fced6a4851f6a97ce5bee2b03a428dd6b0cc8ade8a7808a722c460e343668c56a00cd58ef480f012d20b1afb4112f950dea8692b24c7a051853f4577906bd4b7de314905a84e4d181daf6f3c900426e0e002542ce76009dca1134670e30392a58ef059b3e03c6158b4b7f0e54d2ef958f1b8d7cbcfd1b03128afe59023206e0a70c60866d76e28030d40ba0a42e8f8d037eb207a86c04ba00f426f5c480558e920e4547ead780a8623ea7a28f7de07bd907e4b4fefc065002b67a404dd167078046c631087281681469ded0260e88e33e0a78c1a673406452df72a0eaefaf8c41142d3d6569f2029021f5af1e50100090c98906a2728449ea60f59560feea405f39f80344fca457f5a33cae54fd437d25f650d69f641afb28d6ef015c6213408de97b6c1d68d08a9f0486afaa60c13f20c7b9f907f48e8335408c4cdf0c24d4e5e147c065faab922ee70d68b2ea3278a718838d2f0368e1c703a044d71791010cec430db0ca4d9e1d10dc5133248386745287021053d264ee209585b9749069d0ba0358e59e54db64a89ca47ea0fe329802ccc5efa50309f9f81a50a0ebef5b80da943f72c0fafe8103d5f6f103d0f093fc576028a98c63770a48a84bf0ec807047084869cac71d8141c724f5c58b035a6e15ba89b2a58f225def008db9b42340874f17e81dd9f01575d3fcc78104d424800c2107b103fde4615d204f28477f0b482b3d7124d51e549fc1f3a804585ac1ce27c00cdbdc9e30fbf1720568cdd21d39604213033af5a86016080c252506fb0dc829fa93da25f7a24fb601191d79f2eb403ff955572f7cc0d92a0039dd63bd0698c24c6300520f17b230c560846594b22f404e49d30b07b8c51f80827679565d8a7f526f0079a577f42da000eceaa54bf79c66680166a57ede013556ea4d7a5a0e259516966780828295278092a2f752baf25f397a8095e3574d39780e8870c340c148f891002c54f12911569105dd1e73076afdad16906a580bc25d40196942533f38d04f6e0d5426e47381bca4a43fabc959542f67632bb0dd004a1b4e268096924e3588d743579733d117003e1bf429a08a54dbfd1ed0c6f84132e3f5204235547f07282a49ace7b3434955f48d55b02b6a96d366bd2305f436bea860cdd2035149134064f3b93b408c5a3e058004df61662065cc0ee6809aca857b0e56e508a61b0ef4d2fcc1011101d9a066a81c4b36ab284b34f46beaf2796380bafc1e02e8eae19a6adb2e3d218d1e25c0cad12c008dca114cd71da81ccd07a0a55d3e25a0a5074b46d514d099c9516dbba5bfa5a21780120bf3fe02a800e939c01a7b7208e810d04486be1bda96c6e6b3795d697c395017eb072f87f0f10c60255deb01662d377e1db0dcd2002cd0fd2111f6cbb8adec7ae040b58d6240841d7b0c01e87ad8518ee5382679f015af5c7ae440ee57b86f00792405a007eca929877fc62a58b46a9778e9d252974e20b218fd57ee00f7eb1510a3eb3f6b0ee48ed68f809eaf14ef0ea4eb931307e4e53c092c91dae5d700452faf1ce8a547abfe122fd71bc80efb1418d7a6eb6381c802ee3f1307ac36d913639b7a5d0172a4ded500573a157d983551f4f4cc813cc7e90f606c526f1da8e84f1b02595a60947847dea2961f2bc7288e865932c671668059e3d7adc05017c2d80dc002551f0b07aa4b7c0db0961baf3b509f7b390464543f3d15188a2e3fb97f77405ad22520a2728a18ad00e9c8ab3e17c7dea3d627005b7f29ff04220b744f22404e7f59dc014a5cb8c535c0da25fe12183e4bbb1c3bc02fcc1c48eafb1f80989f44ab7e1b0f5e30329d67800c333e3f36c024607e00a06081bc8b3819dea99216ff803ebb57031244988c1de8271bd2b1746cab09dfaadc301e9b3bda0222d3e4c001f6f402505ad10f0de0162f2a40a5212940eaa9952368df1dc80dd49ac50a4840371b8094a26bb018fe9901b6a58583e36c73f55e6039815b81e31b4042d8e5f31a5050f4972340c93c7b3a0654662ded1db57cba400bbacb525017ad04ac00f3864b07c42eb61d10d9ac0159ccc49ba20fdd94617e06e8f01dba6f8162541162ac0dd494f40730061c49c78699b9255f4b84f972b221b5e489c8a2c5b310d0a085d3c201418473408b2bf97c02e8048240663c1f2a2789855b0ef49372e680186c03c891c76457c0abdfdf037aec5827339e7b6d7765b60a376c1b6aec62195790ae378018908f0116ba79df76a0af8c370085342858c86c154349d5b6e5b50355ae7873a0a2e71340613f091d9045a0d62f86daea1df347406fd597c48aa1f58917568088ea6fa85d4a1f70360f0116a67c7c0558ccf1e51e60b1bee99ec03056d25097803c967b1e6e028a98287ee840122b0a07d2b1fd774069ad1f3850e5d6f54435b645e14ff5ecca079c7e0d50327a4cc680868984922886497619134f5e7340e25205a8f8ec44fda51a64cabafa2b600ce8fe00712debb02b210f13091c81bd3b802d3daf4b1ef520753d11f50033399309c04c4ed7021aa43e7902b4d6a354b97a28ba0a56bc3a905a068f0ef4959b2d404dbbfcca6a373e347e4ba51aef0d9f35c0c2fa0b03bd0d8d529866d00f8970b6eb40faa1658e01d8678bce81e4917d3b90d295530309fed80da0e127b31781bc6479f253a3691bd90266943b20cfa00458f838be015434c383fda447ea5335c3e0f113fe09a68098ca85eb0e184e2e000c49016ad90e452766f0eb40452f2606a82d6e4fbbfc5349e7800e30d510dd66353edde24160505cac4300486b7939dff20c3a97c75a0e28b1fca5dc8d6ef0c8d45f8211a062146bce01adea122843640554976ccb80ea12288cbd0252edecc7810a167d033a04544c0d208f75d5a5f7861a6f026c896221433f4c010811dc6f0022c22e4502b096ebb7007c25a8170e346f589c38c01d7d01f466c7de1ca085abbe9f8c224b09f80c00391d68f3c0810af6d3024c2d7f1f0104dcc31f7b8705cc8a5a607004d5a3b2758017fd03d023c2eccf81a49e3f3a20d4f9ed8029209f5dfead5e5aed0222def137114873943f5dc9231947b65c3b19092ca734d2b15b81e55b54b04d07c4c623c01885292b0744adef017122996e7d022adcc04795743c740f123154b9f130ba9209790ac8182be72b233d38e3b105547b408a90e72706986a143c31149d11e81c40d183e6c481da45b9b42ba0dab6b903990b6586ae00b3b51860525fbc0a1449852d7c06a43802dd1a20afd93ea8cf0e9d8149d186015b9dcd1a408175f83900586c3c7b1718944e136f2de70f8d10515b6dcd5801cd4dc31d070421cf1da872d99a037df6e00710a3963f92479ce6369d95aec7de94999e489651257d452f4de211e36dba0348b1ebc54cc035a89c382058be7020d3171e3b6032b2094868fded3340877598ec091419ee79a127d2a1a4ac37a8bfa4ae74c91d20c36c951702568e70ff15c067836eea8085e5d2019afcec40ce7775e040cec42406a43602250e98d08c1ce8a5b74702a94dded7a84b5ad33d1eb70506b5943c7656035f92f9cce2b702742cc7dda957666eb59fe6005b06eb1a40ca2c3a0900950dd1d2d3cc2a17c68f80140195b503daf6c8810454df389080aad0015b88eca5192fddb4277abc9cf54381b464e2fdb02130a883d4b2e5b34555933ff6e54042ee3e01354fb4c70ed8fda48e9c2f43662bf01a3a20edf51690f244f405c86c6a7e09282ca8d23920cf711f405d026ded4af2a1be7806230712a112fd5640cd906d3820ad91cf2efff48e6f07fac9b7fa4b9e56cc92a6d2b1bc286c7efb01401e41a5ca159125406c1c010a5be559035468e1d73d802c82f077c701a387ccc5201ed432369023c2c71a50586c3c0054f4864c252d86ca4940da1aba022a47fee28085f67f3f913fa64cea011498ad76e28097de011a8cd2fb83815483784bd1dd4a3dc9e216ae968b052047c8ed09a041e9bef5c472d628798c65a5cae52c593ff903f4f8745b52cb72b0631a2c941a3980028bdbdc3b50f59b0707aafe3c76a019cefc0550d209f3a903a2c532d295b94e4198027a068b9114b7f2c1e2ef0e30a6032d2e00d691db6f40458c6d5a016ae296b5fa6d359443756953072a7a75ec409e745d002ad5363c390434d4e58e97a6b6b4f82c5daf8a9c96cb55f4619268134dbdb48e6db12d9a03228d40417004c878e9e321a0a2b6f993c0bf9296802a613e3777c042d9ab03a6a29f0ef40eed165c01728c7601b55e1a68dbcd0ae8a5ed2da0c37e6c508ed466c0bd74ac1ef4942dbbef80ae667b875aae892c096bf700601966bf47001ba247f7808e2736f5d9a183e1f3bfee02b085616f4f58d1954abc0292473d77a060a8ce335802ba693d0534a843d93850396ed4d84dda31e5e9a5c9cd600bf19355db76b90c2a4bf703b0b5a448f6a35d3a86eac80dc0b219c65b00160ec3e763408daf3dbf05b480a71d404780a8e1b356f440ab4d2bc034f2cb81e4d13c1a401ed5be03c6280ab6fc93c43207e869ee80e8a8a4de0efa41828c86a42eb265c1bf08d003b2d881ccc5f7d40189b152ba6eb9ceb3026b1980dc9ef0f316603ecc4b0530272fd1e8d1595dc2f2ce81e431ff35803c82d481da658f722cffa4da80146b19ae1f012ac6865d75f57e98ad9187f201e8d1f591cad1bb718c668008797c3e034c61464f004b2b78ac002dd6f24c451fe69d78b0ca641a00450faa890309397f3340ebe7af0e98ce7e3990095692cd007aaadf3f3a60aebefa49ba9c899378f02830d496be3f0690da14fe6e022cb7e7e708608ec02c0314ac9b4e4b408373f5752e30ccb489c11e00c604775a0a36ccb554d2f80a90319ad631c024a6c30906d09bfdf870a0ca55970e0811bc3b90c4aa13076a176dc75e01dc8d53817254ab6d472bd54ec7832380c7f603b08c997c24b05c6e53f74800e62a3c3e022cbbe3eb0ed01055986d014c831e3f01b6385daa60e374446dfbdc812a176e3b50e5aac001b670d5b3d3c83b72f408b055af68e1806cdb0090f393a719a0b2b0ad016bfd49026899bf3ced0a2cc3082bd0ec0352ba69d90a0c6555cb55170e68b9ca817ca9f6cd01f3ca7b4064e6f3d401c18c8503221373000e6b98ae869361de15e33b844f8014c3f61b01ac6db331c08cc1d3c2811afbd99e20a92478e0894100a4136e18b0daf60ed42ef9a70316db4e00315dfdfad600efe8160e9845db57127e7245e5d29e30d48efafe32cc400adeb1406c3924df2380253e8e22802de87e850690d8ed0c60896daf89035ceb6d40c94f9e7b408b081fa600cbbb98491d92c1c230c1db008c999b2e6e001126679f820dfe1851b835011350186d3860b93673c0a4f90a90d84fd61d10444084696a3a760fc0510caf00837c587f91954a0693c3b94e52cba1adc9fbcc0a81c148eb2b55094830e3e93bc04215ef3b00cbc9bbf903b0a01b7e3d386047d929a0c5e43c03bcdf9ef28ec143213343767d20d66f3b07e439560e1466e8330752a95deab244eaa6ad039a61d301d19e77076a172d0a2fff49df1fff00ccb75ce327d918d7ba53cba56584a1df56d1b3c852673f47800ecbbf278b9bc5b979d2b501643a4f00963ff67202b00ca207f5b96cd05329ee530a88883b549f00cb7788d591b3a136a412b70e88073d38609efde18089e6a50319361d7f3280ccc6cad40153c0b1030299bb0e48093806e4487df62a304c6f31c132d25999d4d2b1e6ce8144d85c3b90d235b780d49eb871a02722d5368f2d3770f3d681beb255023206ad2c05d828a679f600bca12e010d4df9dd025a8cd26c13d0b3907acd4f125b36deb801a43c51528ea58834462d1c48843af56d0554f4b607e4b46dfbe1009b5c3a5053a2c9b92bff0325cdab92e8c6a1808bb050eb2f6339ec379d002a0331a0c13a3c3d00488e0b1fd5c58ac4b27f169b80188bfbb407a82ddaf32b309455c660fee6404f4cce1d685ea9a3b106503012763b0e10e18303d22ba700269ae1a97c98221b316fb83c032448ec47ba5ee484f543456ad2a2cc90d88ffa6db9ccba126800a5cd1a67801601bd9d016cf6fa206fab4c225bc3090019ebd95ac3494baf5cf0e700015d3a6033dca90326016f801263b07301a8b0b83be70ed4b65349ac1c6ca1aa7f243d5d263d1375923caaa10391f41c016cbd72143b20dcf1610095ca5a074c24d494d5d05f9803dd022c87e4e914c0981d2ed61d100c2d00b6b03cab1d9047bfed80c9882634d5720fb36ce113a04440c58303f2e92207ccc4470e54fdc335406552bf7480d4af1cd06fb7002d2d7740c1b27186e2228f615097061d1e1aa06037c834ab10e18326565551b32231914a55656cf1f503405eeb275f32c1756c497adf8f0e54dbf01960f6348f0005bde1f816d0306beca5b8f5d0b69cef90014cd75b55bf1e0440ec337120b77872ea8010012f1dfe54d2fad4012bde0da049d9219303da8c15bc6d40af97865bd2d33acbb00e7bd436cbf593f06f0a289848cce42ad4834c99234b2d9b386504fa880119bde1e71090632ef66b406921f917077a22be0358077ad178bb0ccba9291f2a002967e13c70c0ced86d070488360039edb2d832c024e0f507d0e2297d5274738b43ed7e1a409d12b87b72a0b6d586dc1520faf56640aa1d74b50332995e1dc821092f000ddde37a01e8e81e5fa70e54b07b355493595d7e35acb571629a9c01cc11c83a40633bb9f6012d8e402b79b449c1e2f4949fb8eb145e021a6aab43779780cad5cf0ef48ed69eb0bebff30f10ee70406d77ce009d3d21f339fc7ff4f4791d50e56466a8ef2f837f84c3ae0096587f2cbbdec59688314a1c7016815eda2519327d3807948c950f67808a258a4789b0b3f96df89e01ccf4e98caa01b4b8b4f5ad03e2638d03fafe87016abbd7015c1e6b801e133c52bb7459862370b405c0bb087bb9e7dd30ccabb18ff5933eb25d47a9ec693f388aa8d413c0d2d6c63b00db909b4d1c108395d4fbc432ed17db8082610d27afb77965d0f384552e8c361d903f5618a04735af0e58a1193be0e8122a67a62f08cf0da06367f2d8faa103e9b3fb3b06328da6971d00231d6a5534edcbb2a157ae4c5f368a8a11eb512f023e6d7a7c10482c5f7bbe06c890c77c03505a42c88e03d62b2f00154063c30ab0d27c076879e26557c04326c523c0aa5fe60ed46fe7ef0ee84085c0f24ffa71e580b0ed9f03b60edf00c6486cc7013f99770283b7a1a21fac46f56c1cdb56849f05a0c675fafb1448c6ccd55fce0119325d18301d9b6f022c36fe7805a891d87c0f60ae9342f22bc001071b8016f07028e0b3c68337808dc8edb3800ba87c74200169345d01760abf39500060bae94025ddb9059808a335077a698f08074f493f7991162e8f9950cb3d6e0914151bd9da3381b2b459920414c5b693fcb70558ec73bd01741643e18965668e04f400a82c2eb56b00213f5e035a93fa0fa06355548929434dc680ed4d4063fe69263008488d5dfc01c618031d58b702e46c9e39209b611d60be65f36cc046e40307e45c9d026240fa024868974c058b074791c33c8e1cc8181417009b672fa485b10be8e112509b477f066850dc872b07c8d47ed29a087b406f2294262f1344586d9a3990c49a0b07449c3f1d1083ad1c10c8e4b3268f4081eee19fe64a5efc003ac0f443a02c0843b5fca46c1af2d8d42e496c09871b670e64c7d62680da7c1835543258070e498800968b3fdf02b49682f70f9097a32e96a42396c0b7d5c592657da5740f0ed8f33e76c0a93c570e54f49b6d40823dbd3b77c0024403b079d4c9025033f09dcf01ad4558470e38d6aa1428ab5ac3fcee6a98cfd2d8cedc894a809deef155396077beac549ad448ec2105343615dd77c0b178d70044182833344bbd72e5c201796c2f0ec852bb76a0926eaf0352bad8ed9303a4de3a20c2faed804015208ff1e8b395939765830f43b6cb27c0e411df03ec208e3f95344b2c077eb200b0f3205cb40012a7c34503e86c6e7a6380726c49ead960d8f4d942951b085d4c79062ba0f8874e185a01764ebf382033a30358486d373740335cdf395033dc050ed8e56b2f6d326c214f945d43802874a09736d4a5eced89da013bca642d97614a7214bf0196a1fa7b02b0a04a7109b0bccfefb9019bbfc8b00d131e14f7f7015010757a7a02d404551607808e417cbe0de82d37506e4f3e0880ccf26707e8d88f03497dd63bd04cab3790a3b8efcf0e24e4bb0b0738dfb285f930dcd209115051721edb9a9aa188ede8b4e809d090d3fb2dc52d12db89a1c5b6013456fd43800daf8b23808d0d5b7c25b5b4d7f72920235ef8bc092809ec96b20e85d7a5f8752089d59103e2daef80026ba935f115c0513c019498cf6b49bdc86df9e9790d5016aa5ca33e57542394ee5e0e6b39e818a9c439c08ed7dabc00b418839f5740cf0cf84fcef7e08be3e53cde004c83267380e5e23fdc3a40c7761d70dca97a76995a96fcf3b903fca01d07b84ec78031e05ad6b27411eaae9215200bfac70119dd9f0e0832258092d143e7d42c01ef78a7a45945bb6401a0a6b1f7d581ca4195395b5f035fe9cd309271ac62db72979c02482b08c2dc018b4b92699570a24eb8f10db07d387f9b80c41620de1de0196c034a36183eda1315bbd2e635c09af249ea50b9900be958e5f2c8771cb0fbe9cd0173f5d4402e75b8be01543403e67309d896853cf29e70e948667ce8c638df6369509d58f242b90eb0ccaecd33408ce95bfb07d8533402f890a4a1a01e748c41fc1e60eb84daf9b8022c2ed500f604844f970e3028270ed0754a9a16b6c4692f351f06d5ae07799069ffe780c5b6d6011df9c8814c30066500927a306b1c683aab3d7803a8cd81bf73c08164e780062bd5c918d4c3288647afded0c496513552630f6e1106e549bdb271113e9f0162a20acae71f4041f827943a34cb0f4bc7b61d7054c7be03d2096b03546efee58004883f40c3807373ec801d54eafbcd604f05ce297a6e9e41afd1a329bb9a6086e4d1c676f055a2e1a44d2c3b6c2b06d8a2f0f314609d70e31150d97e0f998b7650184478ee80a5a31120e689f617602aa5ade559bbf41d5725d54ac000a87e50ff03c874c740ae099e4e9f5b017da53e01b4a843bee580b803f228462567876912d096ad2df902aac81ca31610371c1dafd6ef12ceca0a77de0109a6efeb11509152f4a8f1a54bcda57d88008981b103468f33408a4cbb7b8065eb771303c40b1f650bbbe50c4642de04208f00bf700950cb1b0368e1ecde01d91deb800e996e7f39d090149e39d04bade8598f2617a9033543a2a6ecf211e027061438bde7578092c8d5b3ba47578c4b529b548ec10bb2b4465987de95ee4befe8b3114195b77780c5b6f219c0f4e32e045097b0ec0d60a5aa3307f4dbc68124b6730ce879c7f6a701c6975cedd22fafccd13b7601113fd99f18e0a5a3d557f2d1302764f2be07f03cd84d81617ce1788b0ad030277cba11486d1bd27417d0317bbde32756d220787380d9ca1cb03beedb01bb06ae1da823ebe089d57d412ad8c5c8816a7b31368080d25b070c058d030266e7002268e16e004850cbd65e9af3d99339c0acf6f3af4011974c8a2e05aa84aebeb6b2daf938e6ccd0203801d87ac37d6980517d7b02b074f59f67406f0bcb5381a1a1a8ed27c06cf2cf1c60fb81d6d601b5252ff095c1e272745a034870699fee00b63fea2176a0a26fabfa63ebd941752560520fb34307c43e23c098b9fac5bd015aae7f7240dee723803054f8b772d0f228b163f1fe3e000d4ededf3ba0650ef47206e879e2519f8d52db51f69302525b351f03328c017a1a0d7d1f2f67cd0186ed47c0d432d01c790972760c1d00c6f47d9d2cb8029cd43a7140aad71d20c21dddfe3680902f160ef8cab1036cf2362066689cde3be02ba70e88296d080ca31829236a8638b1e32c931380a5018ff70189a5de6f016c77cbf735a0c133f8c900d6500b75c2d89dcdc711806d7be16304c8d0c2c76f40ceecf52971c0a5436afd388b98f2c81118404adf7f3802e07e85137e62320dfa4d07c874e400113e032cf8a76d59abc34e0865bd3a201bbb065838acb7cf12ed09dfa85c5ee6e428aaabc7454fcad948c620893d3d5bdd74b00596a19a3820016204c899dffe3d001adb4026f399a4b9f5fdc40152cf008539682a58e2c91ce52fa061447e3e02982390aafa898f513a9e6f00482ca8bf1d10fc9b3b606595a29b0843250aaf76201272bd74c072be06be649847c816d66b80bcc10d5c071480581d394d2c1b2a1e39e0149a0f40435a631d027a929f9ed54dd3342252f3f805c8d0d3e70b077ae9660dc86d6940dd347583f268206609fcf60d60b52d3e1d309afe38208784cfe616735c540e78e2c181aa7fb96d00211f7c3bd067af8e1cb09a3001e4589819252d538ed6ab657252977a2173910d6325b7205e3ae02c35d5254bc6a8761c00ec28a8bf034066797d2f02a96db8fc529fcb06178ec5a54ec08a1e26a50392b08e1ca8efeb1295156015f0db01fb3c37010410c3ddcc0012d37af60a48628b4f408e43a2832697202758aed6cf0a1b3cff7a40cbb4baa6e855894cef55d23cb673f14735c02678a3d0016be20da0b73dde1a5f961685d3d5d700b619fff71950b32cf8f70630577222b335e836aabde01d362b084f24e4dc824c413575c028664fe416940d1d70f1883f91b39cbfe500ab7d0f28f06194a9b204fce4f813d0a00e1fd2c2bc18156c61e6892a21c3ec479a5c24be613b0470206a787c07a8ed446159ed62e8506aa8e74b4069de962c4c91d97e8f660f40582ea864b50bab5c98de38e018a77f80c4a59903d21b0a408180c2da0163d48603f68c2c0025123b90d757144981ef20a52b133bd9f8ef09c0eeda704dfda54c4738027f5f004bae9d57001b811275e4d20a16ded50ec81dbd77406d17060a4eb2d90294365bfb36405dea6307c4a42307ec03fe714034b00358fcf44a8345598cb13013794aa52b4cc34faaaa51f5eb4d40dda8b623f5ec2ab6e4fc1d157d986960fa9e651daad44ee47a7803d84e8ce72b001b72c3441ab48c4a32deaa2e9557ae797140d0edc60167fe3940a63ae76a054837dd01208f400b652bc0f42d3280906f371c70b8da8103c6fd11c0e2633ade6209181adfbe005dc10db952ed6ae8b7789f1ac5ea61a645905a73c27af09404c607003bf0f23b01b4e6c1d6808e43017ed594756a49be0b0326f5a767802de76f360e585aec01b6efb59290eba1361c7bb66ba0c03f7d02208ff0aa37406c2bad1cb085b9334086c8ce11c0c261a59aa1496cafe8b5dcaf65c2a14a7ab60034cc91677f0e38d44c2ad5f867a7db060a160fec898627c24307a489cf00c494827ec7013bc929c7d0b644aed494cde04ce0e41580a621b4a7a66c939491f07e1d9033f0bd4bc8ed72a7d60aac9f3920e37f0c286c35e11e60a7153cbc026cdfebc30bc036b17edf39c004f3598f6dbdfc006c988ffe002620ddf9b80426d314d0f284627d2bc0a20e9fcd3b1afb5e23505bd8dce3e21b5030f0dd6b0ad8c5be97582fed06f70ba3a496eb06479105886d034c56d36b404339eeae002d0645796c4b5030d3ba75c02eac3d076cbada027494f4ead001e7e4ed3ac0d08f0d60b674e2f40aa8474da96dde33050c6307ccf7a5635d1163b6ee678094963b0d01394ede4d03a871d094759377835ab24159ddb4b7f04f50fd003abce051e040e518abb6fde0f4b23ed7023273f266003b20e53b03b4b6965400ecdc9e0759a97e505cfc0f09b97783f26ca0c17ec40f80cec686da004da9fba35680a6dc72c07ec25b07ac48bc027a5aeef6dd009fdd95ae0fff64c0d199a10318e7ac9a8f00092d17ad2a578c124bd3fa7903d801e4afb5c07287945e7a2f30144c12bbd903508ea0ba7640a8f3486040447bb61d90943675a096bbea0c50b97cc3013bda4f1c60f9478031cabf9b18c018bc2f0071c1b9b45780b4908034595d9e39db122c575dc6a91d5ff09818604f8002220360af79f8ba26e0ed72fb22e045d7a166c5d84a1ae8d2b215201a181be01ded9303b229fd1d545fc7e12eebca4fceeda538bd6157080c732095b4fe13a8472dc93e7ae9e058db3e9c0860d557c0ac58a649b3db47ad1f5939c2e4d901bafee78015cd5b072cd61f03222a773d76a097deec3860adc07e129b3f36374063d75b02f5a8614a2c4d8e133ba3fb2f05d8f1c0a30c6067ccec48ea716ae749afed002cbde151958b97e9c61a1ad705724be48a558ed88baec35d5780d4841e10e36b5fb506a87efbe880a160174030238c2f0199553f10585e02219bacba246e2d7fbf05dc63fb947e0c931326abbfef00cbd7dedc0570f473f8bd05b0938d9f3e017654c7a3e491d81ebc808225991d02f8b86680d5b773093919c64a3cd817800d493a82a9586635120e9b3ad06031b973c07196bc63f9b7027b6aec61da8de98bc780ca66f3ea84e9e0b0b23dfd06d0e1c1dee7025ef43799cf74685b32329f0009a735de5d3b50df9f040ec863bb05a418e93637606343ef8015de0340c660f1f6076859e36bd491d3a13730e5598db74596d8b189c919c08e4cddbc316007f81d036c07c4a70a96a576b5c096013bb37ceb0fd0da7ab6cc45e65dfde9048080824905180aafded000a85cd06c0372e62ff5afc0f20461155dbd214f6cc7e197547b191f24a3bb0114242d6ebc002a967dfe3600963eb77f00e851dcdb0f816549a4419b0e64e9745fe3b29c34657760809fa48103fd64f10760f21e7ecb4a15cbb31724b111c03276b7ef01e6a16cad012cb16d5306a5f04df04f1f809818ca235fc9d8591fee4af987eab234f00e181a8ae05f0dc80b32dd6207cc4dc7002224e1edba016a5bcd1cf08e7b07c460297a51ea1d671f52dca21a7148b5ce422a8a61faaa96537ae5009256ce55b072cf8b72f0d7d9e45c0a24b653e75e63e532ec4230740c48ec2817a943e9c9c61fa702c3ec84b3f6d43dca6557969e1e02726ec88d7987d536bcdf76401a5f0e289147b0ee802b419e1ce01667808a277454faf2ffa363dfe7809ee1e4505a5896e6072991ab282bdb8852f38ee5fc5e324562cba9b8864615ac4aec1e895f296e958e2c09eb185022d3f57b809d8ebc7eee805e29c3566523b3b86f0e58699e034c93373b80a7d0d84f526cf2b386936a2900a9e513a06252a444f22530114e018d7e121e6d035a24d6c95c54f59840956627033001457aa21eec292771be012a5b3b890036f7f8e127c3f0aaa2ff1c032c6b6f472d57e711dd54c94f03e870f10f3466d7832bc9ea1b9f7567a2e6b36eb66e8e0055c1cdc51307325be77b809a27e275075c92f16b8074a0b55781d2e6d923a97693d8a4794d126bd2ce124135f035ee4b3d8f00d6b61355ae711f3779055839a203079ca3780cb079b6cefe5902c6dbe0c00191ef5f071cc1645f69f5c4d94768a024d6b707e891a9b6a72f4f956cb93345e6a24dec5cfcdf73806def8853801d38b5a7866a53bb04725f06a5cd2cf9696bc30171987740ca16f7e01e50e0afeb38dc0194a4e03dc8631baa8673a5739d5680b4f99103929fee1ca82ef75b0e98f0ee00882a9c69ada068ab92ad199584dc9a80429a6109640c026a3bb424c9829269e791de0da97697daf1f307f261bacc92c10ece1d30577f05a44cdf1a957498769b7b7e09686d14bb0374b4edd58103ecfa9a03152cda37807eb45780be20a74696ae2bc7286e03a8331bc5be00543fcc3446f5496a87fe4b847d6a89c21f3f8092c9fb766d0017ff59a6af37fd08d747005b6e798a0dd849699af0f6c31f7b9bb61c48b595abb002324a877f0ed86f7a658083494ee55bf6a5ad8cb49a59f4754a545287770e80ea9fe964f4010c1665f544befa6c394af211c1e15f00576e87d91c505a80e808d03205cc6602a9eda2f8e01d698c8fbb3d12f8a7412f00768187cfcf003b25e0f653c06b7b7127b04432c1670678e266df01219309c06217c586010cecd61720c1265f518e32a519b488518e0611261221121b44a8272a4a5a57e8d8fd4a93cb6170c5533a51c186f90d47528d0a038870f3de009ed2da06c0ae8cd997d4c799e549ff2d047276fb8433497d3cf89612e1452260020a9a4f0764438d0163665a177303c8f472c7812476fbec80b4d73d405ab2182b998eab5e1192b38f4ac02476a66bee0750490bcf74b5d10a904eb81a70cac8cdf8ce1ac0d2d6d654db65944505fbee000d9ed2c1026043e3c185c0725f9abad829c0366c3fbd022a3c83d18d404e9e74d8b602cb3f59a93d072ad8fd18c0a439d0994c4b507236760460e619be3c03b252ea70695fa9d1f51e790c9e922a576f032a3ca5e0d801326d1c20755e5ad708797365d707c7d2969ff6f58e38b33cb6e73b03b8818767004be37bfc05b448ece241c00554260e547d1d05b5bcc907c728bf36808e5ddf3be00cf74707a4e17c014ae6ead59fc05039aadf3950c1ee25e42449ec168023806dee59ab00764bf7c621c0ae38d8ee013678fea82327c3e8a1baec9e0162b2d4b6df0139c3c94600e0f4dbf08597661c631dbecc01a56d987a005418c754062571957ae089d20222ba2d7c0530f457066897fac8816a7b73e08020c21a20a3a1e20b40ce4f3e4f003557d5d6eac8c9bf66e81da819825d40dbe2d1eb2bc344c3d681e6000b31ee8d009675f3330314b8f83b5f8086e9fdee36a0c37c6e494f9727d8a9e85beb007303377b80b93d2f8f00cbd97c3650d30c0f6adbd4a609419d0a9808c3f81c90e2e59c5e19a019f69f1db0a873e880ad3b910362066f808c41abe12b838195c25439c09be1ce01c66002680c4c1da8ef47b2855962d7cc6eaa5d3297c7e139c00e003db87480262f0015a7ce86d2d3ac28587f69f98a696150bf01a87e30490119b3f945e880c9c8bd0124968c1c48624a075afe93515d87232d015f691b40a19f843b25a02b719da474990b28d807b426c2b9035678e5e5e4832340cbfd01ec6ef43f59dc657c8cd3a3a4b87936c23a6c7c3a90c4feec093bab736b1390307f794d01966ff932035418949729c00e7a4ad50cf930e3e3589a5d00be7678ab2e96bb4ca714bdb4c8950ec05801d23d6606ec24bdd8019b581b07ece2ac0085c5714f1c7094cb1850d15f5eff1c484067fb8046c3c99916a8ca7c183c89c37c00bce5160e4a01be5277061e1cb0bebf8a8f954512db4df029a0b2748f00e07bf05497221dd9dc949fa4b64722fd05f89d296b00cba5fdfb01f49632d23b204c29d52e068561274605885198ed3b030cf36fe700bb8ae368df816afbbe07b0b4e8572a9759c6eecb038013fcc3971a509b31e80ce04cecdb3b6cd1ef53235051c4447a5f11f2308d24094b5d6c19b9c3835d38903ded0e1de04a8e1d60a45f1d546a5b19d8e25f633f3a50f5c79269997012781827005be4fad912181c780e35cb01253d7bcd9eb030d4fa05a0b5b6d567cb6c44bafa214f6496b17ba23e570e7320a6d511c0229b933f070466f60dd00947670ef060ef1db019ae714092de0da0e2893e77804c7f1d10713640b0eb4c67ba2d4f876991fa13a0b71e25d5ae067f8c23b9df01662dbf558ec10b62afc6ef2fc0c6fd23e9699559b6fec115c06e00d95c00ec728a4632ad5c3fb4a97759139cefeb2703b8e7f19f03bde3eec681a4ae34ade5ffb7ea6b98afbcb6238d2f43e7b0d3a2cf0076b5c0a6dce23ab59b37766f00dc7b1fbeaa2e75c6cd1be158e6a21e8c3422ac00943498f093e10f77e3c601dba11e1d700d4fe880b8e5b70392b09e0116fc9b7e3b20d938308006fdb50eb03009a0ad9867034c62671f1a4deb66640aa36668dc5fff2e00966c5c6e02ecb2d25dc9b4490b2ceeab34b9f12e767400b09c2b25950ce58c5007ad9c0d20a52ef73b00e41116878086f9cbf9be03990bdd455136436f4855b95b406f3648634363b53dfb787580d249f99729676c822f01765bc5c61ea037778327d28431ea2f01782eed19c066d1bf3f8096e8d7970ad60ebd94eba17f1c7004e43b2002ecde03ec66eb6703968efcda03b8ef24fcfb06d812f848d56f4d844118382011f41960f1d32a3180a54b361da8e8278503b4f0c6810a36fef70ea25fad03ee043d30c01e9a7bea32788e1ca9aba1b15dde07a491701d60179fdddc02f0a5c24a4ad70e0e09a15fb9c56d33a6f5efd5fa9d59cb705c013ac6a84216b773776353fe5897597ee16b01b0c32a8f761d60613a038cd92f1307dc56a131aa1b269a6ab9f102d0e08f4594d425369e3b20c7f90440e837d096ff25c03d9fb70eb88ef0dc01fee9b703b6cb1d1940eae508d053b0439ea8c68080729890cf3ede011152cfd56ffba4c4e4dc9e012c2eb5a3c05d9fda81fd5b6aca3ecb6c6fe40ec01ca3c34b801d14f73a77c095420f800ef0a221bacfed50e6853cfa7eb05a6a9723ca31d497a2f395e14f5fb9ac1d60e83b0734e5cc404586bbf4a3af08fe85ef4f8084bb169f0e01a6dacc3cfbaae00eaa9aa20f42d667833d406496eec381de71b7b230d5bf78f25f0cb0fb3df6c60e38bb631360e78dff1d096476fceb7a01c8ed9aa60740cffeec9f1381bc62f5fe80270acb2c1f8f04fe098827064424efc4810474b6e3808df4fb067847f5ee403eeeb40720f5b38f4f81264640b1e4314eedc0dccd894066574e1d1d023ac06b03e04298f03810c8634e075afb12286c93627d2760050b4f8f01633ae1e1be031263ef0d7006515b3bd03bee6e1d48c8a76b80b82243f502c0cc337c7f04d41cb8bd7e0068b0eb3389705cdb96086dfdabc683d231e3cb0088f0ec23072406be1c48710f5786ad8a92928b02effe0c3009f8546da3d42e72fa93d4a3cc8e183e7902e424c86c8f01e66e6c6d032ac0eb046067ffbc9602b9ddcca25379aa6870f2d8fd44c18686d213a337800939bb05440c6b3b850376513c19b077bc38903acc29c7309f21a1ecd2006dfbb1e740ef08128141ea18d86f8009f94efd25f605dddb7380c5607fd50cb1f7dbdd39c046b1d719c0253675c0bcb2153011064ad5a8e282f31cc31775d3a12668e1987778f575d7d1724cc771bedd7780affde880bcf1ca01aea43fc14bfb086001c4f2d3810ab67d6ca0e2d2904307e41706808c3ea785f601d835801f568e920b1c8f3601353f99abf5e3ba6eb0c934c3e07daa60ca98a996f7ad93bbf10e48cc8c170e58f0ff01a4d6d8ab61be4a12db3eb8fe06e8006b5702991dfaff1d006c17c5da29c06e823f92a14f86a1513f39bc724017db75403a90d432b1b60d930a104ba6c1fc1e60ed32fe7480b57c3180aeef3f39e09a267b2245a5ce284765fdf63d35c0b5cc019533899d69657505a4529a350e2043a6bacd640558ced7e8b10ca773706f05b00bc67f559774b0529cef7008c871e0b76f0db09476afa2a756b9603e0510c60e742af10a10e78f1cb033e5c18075b1ce0103f01920b339e18dc0a074cc924a800be8cf01023a0764f6c49a03f22e64e807f78c2d11771b0e7058d581b261da845a6adccf96e76949c8d700db85b52363304810115ea819b2827cfe501900cbaaa130b73f00aa1fcc0f0019f6f4f8d501d721270eb8dce6dc01bb279f0039fba21ff61d702c8d7da5b6721c036c0e1450fd7f225c77c03c5b75c97da2b92e9b9ca71ce71054eb00bb21e6575d3d1f063eb27ef5957c98cce3d3f1846f747c7902b07b3298a8472d37fa711cddb3015ca7c9930392c0ef1c10826e1db0cdf511503034fedc1be027cfdb8092ebd42f4f011d5f79dd34808732d5209e0ff694d4269e1844889003070879039023e45bf94145d2d829016ab9653c99bd1a1af88acc2ef73dfe05b4a402bef50ef0a47701968ffb267914661cc3dd0560ccece44d9e52e122bcdf73c006f67d80c560af160610505a3a50c1b6de1c7041f0830396e27f1d9098720f28f9497ee800d7c97ed2d6ace148ea85cbf44ec660396b22fd053078d224d88500bb2335ef001d3194bd0f018f8def9f00ec8cfff52b07b230c73f004be25c3b774033f095ccb28fdfe4af97b9a5f11d5e0362da763b01708b7bb8b66bc0aef3d807e476879d5aae2c6b760ccd28983bf00b03368a7df3136fa8d18f03f2718f00252da77c8715e0894307845d660ef05064e807ff841ba5030d5acb0823565b7dbf4a527ac3ed25c06c50a1775483d526e0fe00b06379d7f9c9e04c30881f000a964a4e9e011d42de535356f98889e6be645ad9ca7b78cf3bbc72f7fb0e3874770f5061610eec890a89e90cf7156001a27740e03f06585076efc100ed72790e6879e9c735a0b7de20ab5db94c2b3edb9426640d38759221c29b18c075d9612e63500f36885cc910601d287b03d8b91b7f2a583d0859223cfe069480d331a0d2e43da83600367b7d4b00bd01cd2b6bef1eaf19206796f45a013836315c97d5ae4bdb6692f18e41d7592af90320f570f4ed804cd913408d6a9f1f3820197de140ef38ce1d303bd971201ba42dbbcbff5f314bd280530f0d259962a56a6fa8a0764028eb11d07552dc4d7db6496da7ceaffa5c93d9bd1a3f2520666971fd1a90e0c3acdd020a9e38bf03d841606787004b265d93809adcf22e361f01762cde016030396aec3071c045e7bcc3a74dfb53408e513a7805543443da024cc8479f808627e2430744bf160ed88d9e01daaa5733a8a11a6f86e0025099d45340d3616154b03665cb7f105c0212bb33f6cd010b54aadc3214aeca9dc6809ec1621bf06f44be006418fab76b805d6a77fc05b06bcd2ee58f2d83e5b85fb274ad1be96f5eea8a3be6b34b89aceaa2830506608ee2f9c4002667ffd301c1ae230712e1edaf036eff790174c4f91fa60ea452eb7b06b085cac95b01bdf40b21d771cd34413daa1dba072dd700aa4ed5b776696a9a72ac1ed5a5636bb97380dddaf527ebd02d4fc65f81dd0660f7479dbc005aa6097ffb80cec03aa0677cd9d794a71bda96c33bd71de82beb3120c255581f3b2065e4d5017770af3b60dc972dec2adb18bc3635c05474d39e88ac135e032c0a37fa02d03d82e90dc05a2e9c1930afaf73a097b65307ccb4ee1db07fff13d05b304336a8abd31ae32875e8bc6dab6d406501e62b006d1b0452dc61ec183144bf012cea349231e853db6692eaa57d36a69b6e6c022cf36fed0f10630b2f67003b607a6d1fd0a01ffba7065087d30860fab179ec80f383ec2b7656f83a3fc96d27e8c10d204283d6c60ef05078a90b79fa02b0c0ffdd9b01bbdd25738008bf0c10423a56df1ffe49f46bfe6ca062098bea0fed4243ad03accf05d706ac57b600b3a7e7ab66a847714590fa6e5320b103d9f35020b5b3c2d33f406997319c0a0cee0607d69d08e4963173bc0648ec26b45780ade19c5c095423ce105136e5002a82190f3b0006f1f0e406d056dce7f90d30112a676205f4d9b31f81e55b5660af77400ce5c500efb8eb1c70a31205abc76ab970ef099013647ade05140df9520702de50410cf086a22e43bba085abc6aec7a9dd8278b12e9059daebfa9d014e3b59bb0670885710d8130de3dc4605b0de70a266180f9acc824c0048882a6ced015274fdef1fe078cf2b80cd81766b40c16d04173c310c8ddc32231d1bbb77719c02386722bc903cc6de0c11051b9ee164b05d07ea1edd97030cecc80177fb6c3a2057d25f4adbdefe39502c787e0a886c850699d6090af38608adb1c3c901a06f58193914181a1bdff216608d1d7480965e99e889286d716ab6df04323f54f51750621c372602b9a535aee70073147f370091b9f815c0b2d3df6e1c10aa78005832c7b73a6154dad91d85d4327289f531c09639a2d601e707cd1d9001f06c8066d0310a2bc052c99a0375b1e30c10031ecf012957e76943ee001a12fce90dd12064a4ae7e1bb5e38ecc9d959f5cc7bebe7f7b05188f29fa0720a557fe150299dd5c7c79e9804d8af70243bb70504b00b0dd716ff6444217db5838e009fb899db2ba5e022c51786dcf01772fcc1d90fcf40428f8ca5ae48055f31b80dd72f746f5f39e43dd75855f1d2f473a0948ed125bbb04d313000b54c164cf012193c6006ddba70ed8dc73eb80ed1de78084aff433406a136fd9e4b869cc9e22d361b626959287b2020465652d972b231c4529954ad28e639b37a4b8c9f2f0e715f8fa73a0ea9f1d1b307bfa06307bfa160362a4fe1302129c89d35f408a63f43632602bcdf695cc02bb9700aeab0c9fdf0506df52addf1f015ac6ca7903e8cd38ca5c2cefc2c683bd3540bb6cdc39600ef4e440ea90ef3960cb1d32ad536bfd75071c04163bd0674fec2b2977d756b23049d35ad8f6d8016d4bd19b9e997840cb0d1d999df552dc348dc61c76bb0db01397e20650da311b53408dc5fd050cde279b035b80399b5a1919408b09de042ccf0297955a07d8a1dd5f6b8094b8e5760ab04366379f01390a93ef0b9890c33276a027ce2f00290da58b3557403fc9771d700097bd34e39ab7537b22af19b4d494e9d0a398159c02ba96c9fb8901b3a723404f170ba60e54b01b999ce50e0822bd9f02594507bad018950dd692d33d42c09876791b03ccffd8fc0264094bcf5298cc1d81949f78f51fcf1c90a13a0364389b69e18010e3be819a1c92b903ce1f6b1c10b5de74a097be8f1d30b37876c06464ea80acdf23405e71c84ae48073486e1c707cf496013e7b60f228ac6da9be75b130e0a54343612d29693bb2a69c3920f74b4ecdd00ae46e8c1e01b693eb529d301ffa0b991937005b3bb99c037a0ef2d95639962b569ccd9000ecd6d09f0e50e3a19cf0d982eb1ac22d9534f7f1657202486997681780d483ee196022bc7b37c04f8e170e384166ee8073d0fc1d34e55def80359c35406153c01703b82c5fc8b4aef8ecd903a0e532db2b6a5bdbf4fef318d0738e624049ffb5dcdc01db29d5e796bb28586d7a07d8d6d052022a06b7871d873b80884eb8990168ec408b6d03b03c8333296e31b42d6b6b6ab96279c5854c4e0288b196e723404286d9fba5019b78df3b6037873d61b741bf450e3017b7005b4bdada0794bc742374803de527cbc33aa4637ca5aab97a3354f7581e45a1a120aa0cd0729f5b0eb8bf72d781aa7f77e74052dfdf0094e8d8e99e03d9a0d901c056355a59fea2c91ad61b78c73012d2facf80acd34f6ed509cba129f5d92b0d27e530b3e0f89305c0ae05b8bc06582ae0b91c81d28df4d52b20a2e5ce4e0036dfdfdc00d8a5a97f170e64834e0055c2cc62a1d97ce9fd363b0320b1a099026c61e8e8d5814a7a7f698066789b396037fa8d0336c319e01ede00210f809fdc9f3b60f5eddf139c933701d41c2b7171ed8028ed21a047833e7869336ef4d28676696c3f722663500d730fe969f409c8489d4dd700768ce495dcd1657683c06e0bb060d7b934799957c072cbb303dcd13b801dc8fe7e002831c11b0dc00fccdd02d8b5cc87b2745569c7d0eaf6f4415e6e933b80d9d39353406119551f0ec8e9fd02d07261b4e580c1731d50d9327aec80da9e1b6066116c3860c9e61f20cd2275c04936370e887d9e38206d2d03d89ad6e9be01f4e353d6b26aec980da5add5cb85430e0499006c0755a0e97dd5a69df4546b27753d9860163055fd61483603fb08b0838cb70e00b66abe75e880e30ba40eb5d776f4ee8055f34d408dc44ea60e08ee940e54f4e3b903ee8e3b75c026818903aeef0c012c2e05fd9e037681670668a8eb0707dc8ab0e180ecc17b408fc5dd90d757379165997c03ec6eb08eda3605c737565287ba8d709deea4858d8fa62395a3c9ecf6f44b19d866309f92fa5504b00cd5ad238035c3c6cc81eaf22ee7aa29ece62fed13af976b7c04cc14ea6c4ca6c1829fb808abb9011aea2e7540cfce1d70f3c6a103362a2580d6d6e63b034c46d267079cdeb0e38008c9ae030e64af0de0f6ac1f033a8cb452bceba61953b08a77b43103dfbdcc459bd8e1e197eaa66dd6338aedeaa56d6e8b4be72f00ce940df7d60005a3d8da11a0b6b9075fc9edd0bba313404750f6efd2002b895af31c40cfc2e196dc9eb6e030b140994c03b04bcb0ed43d964b7a1c8b27e56fbd8b9d8700d3f57cdd01773fdd03ec1ebcd3030744e11e1c90fb456d6b5b05bc480df093d1a7039554973f0fed56e090dce8275d6a770ac719a064145b97b9e832db79b0a16eda0ddd031bb409884959ddfb0394b69ab0ee80d8d61da0b669f53bc012b90e6f012dc671731b603b4236f96c61376dee4680d8e230546e180a690679c19dcb343b71c096aa09c0965aa7af0e38fbf8ce00f3ca76db01d7988f1db036ffe4808d6c73075ceefb0f70a7dfa90336f7fc027afafecebd030cfd8f0102dd2fea1e5d93abb103ad36d57d1a8ff4939b39804b6483502db75cf42343f5dc01918977404ffcf4f3c700d6f2402dd7e796aebe9d011ada65f30560e673f313d099872285e98b081fe6b003d46c633c9661eb6bbb1354e77e2dc5c33877f80ab076d1151803203a1a284771097004ea3f076cddb9764022c6a3014cdfb92c7fdf58b4677bf5d96694b5ec59ddfb1218a6e22ce94580029fee3405d418a5f70b031686aa000d0bdc5bc7005b29dace019633b1752f50d80954176b02a51d117af42230cc1cd8233102d40cd1a30f80d536bb111890ace5f5a703a63c95017e325a77c006768aded82a8fae471a4083271dafac5433f60cc4df33817ccceacae52d2066b0b87c3060a712af016c5ff4f695030e26c900162f3cde00d83935bb8f064c71d71c9081580a0c368823647f1da00e05c06e645bbb00d8f2c2ec5bc02dff9d5a6eec127ba06083c448bfdd358090a73f0ef493e6d9010b6588b08978c7f13b2043b5cbd5a0d544c3fc8580d927c0ae463bed04dc61dd3f073466a4df0096ffb131055856e7d1a940614bcfefc70093d8e9a180d745d7bd0cc0969f6e370d349ca3f8e480ec9fc281da25fe75c07174f60ec250818e3a5e01b2907600098768bcb78094c33b0375a0683902cb9e4aa5628f5a7fab57c65983b5bc528f8af31133bead3b81c2b25d766a80252f6c8d1db0a16e2e50fa0d75d28fb8b20dec542ef6eadf9f3a601eb507b0da265f0e54b093dc01399bff7ec29ed50d0368e1cd890396f3df1c700453e2802d55d465b9835d6365ef80c1f3de80ad13f2d26162c51da932064966a725adcf00ad6d96d467970b432ac7e5232023155009874b40473e7907b476e88c743d19dc40625b31a0e020b0139ea83a3288f665949265df96c4ce00b664131f39608e7cea404d791d1b4084d7cf0e38a3fbd70161869103967d28589312722db61cb0052072c00eeece002fdddf75a0974eada41975b9ec01390df5f6e180f4176950d2961dc1d00250776ce89716a69e6a7e3303d82dbb1b2a479a4516d9ac009ef4fc04b040f7f6b5013b87e406600b431b92479a5784d4ce5f0d30d5d8690406ab8d4ca5748334586f686a078a5a079b0ed813f060c02e52787380b775e780d8d60ec042e1e1b5030e7bf936409f5b9b3950cb3d1f024a9ae156455f6eeee11d67807c841bf80da8c72cd8350e48f55249b33ca58b5d3e030a034f0e886ec4003bf9e9fd1cd0309aaea780de460fc9342b6cbde17a0d90a4c460295895b20bfc720a28d89d7f3711309986d99e03ee8c3d04a0c9413572406ecfa701f3832a07ac04bc3be0b8c20b079c8574eb409f9dfc026c11639c3a201ff7d5404376e916a065047aef001ca211d652986ce851fac98dccf872d94776ec5afed8d2f211844c002d07f9eceaa5791ee1f65c7d0212bac7c5162067c677760aa8b0967bbf06cc75fa0674b80aef6780de26011a3df262cc4c7c6701b0d4a6038db7b90bf9ecd30142be76c00e990b408e3d2dbf0c58cb7d38e010f377079ca516036cf1203e73a079c36203604b034ffb808a3054a1fe52a42d8757dca8724536a25d36f601b6a3fd7a139093efb02501158565109de680d816648e00961fb4f300b00330a62a69e1a3c7e20b6022bc1f010a8bc2050ed8289d196048da7a7580f2ff032ca6cc1cc8d057f684058747bb0e3017b5015c85f6cc814c706b0523f6192849af29d38a0341ca034087d48b7b406f9b37f49532b394a22bc9a3f404bbf337805de8b02bc3561676bad8d68d01747debd401023a73c022d735c016ca76e6004be4da9247bf5cf7e03e710a36f463b5cb4f0230cfe0fc1080d4838710805a06d3d4018d7d65c0266773077ae2e5db81e4a133cb5780059929a0e2a5e35f03fce4fad1814478750720541184aa6d358c2fdcdc53006cee51c87c56d918cfe02c01d42372e0e5c3548365d33b7678e9bf68a094ae2accb01dde01ac036df4004bf53aa51c45c652da4e6580416bf713603b856b75a0ca6dd09d8192eadf6580cadce22b079c95b5e180f8a9ac43d5b61d67315297b6ebb8ed57d5afd37644bf7d30c0926f5e013ab26e2ed51beac1d2130ccd01259731ec6a54af0bdb2fb6b903484939dbba0058f5f70e012d42be556fa8eb88bd2b0ff2b5eb411e34259ff5eadf4d1d30255e006a2476bbe500ef73cf0141c847077a69ffe2801b1d1b0704cb3b4083b7357d73c06eb053038c1e3aa6a7a9db31b18bd907c0b6a7df697edba423ce1b0fd53d9a4193f593eb0d404dbef6f516a061c9f72a05d83ebe738d514d6e67207e6c19c0a01ca9f59bc252acf6f88aebfaf126c06e65da7d0398d37b2ac56d7cfdf6577dee5f58ffb807547c76fe6ec09a320620e4b0380010f90eafeda596087a123a5027fcdc76c067670e485b7b34a0f3600386b5657614c1bf730792d8f58b011bb4f849dbd8eca404f41d8756a937b499ddd7b82ea3b45c8050f52f5f00b59dca7303b0348b73d5b62d2c7afe7e0ab0248a5dde31981cd6924e0cd813af005b0839e48961d628999e95000414c6db0eb8f23207b43846c98601261257c70eb8937ce240026a3207fa6c3977c012c501c082d40f9474e82fb42dd56fedf8821b15bdf34c95e81dc0353c81f6480cad44903a507af600ec64d20b03b96d315307eaf20c1ff7eadb01bee5d40187aa6accee868652631fcc01b12dc57f00ec648e441da8f3eacf5e0104fe832a76406daf0d20e4cbca0123d0a50316ebf71c508ea903ae233c77c051729b0e34697e7804b09a102cee1cb0c5ecc401cb827f0ef03e29693ba2f56bda6518a3381f462fed7d67cacd14d090945604808e41fce611d0db62ac6c509fb7cc3dd6a574bd7b5b3b21c0728cf60e002de1f44b8d51bd6776ed6b3819bc0f3957818ee81a408475c86f002d324da98b8930dc3e02f418a5db03072cea9c3860879dbd946b228389f463f827ea507e18a013be6e0052ce630bde012d49f1e5ca336847c3048f79d495406ebb7d2eb6010d8ed1fba14061a9e65bb7005b6fd899011ac0cd58a0b4dba03f37040611aa5dde2680d8563477000d7a3a3906984c4f8f0026a0e2db00029a6602838058191919e027f58b017eb2d80458d06d7aed80c8843f6187871f0874630cfd9d24b6bcad82eabf005ad4f2e64920b3ed3fd73b808e40d535eff031fb40021ae72931c7dd1e6047631d9d09147682ee0d3f29fa8cd47b9e682cebe6741dd0a174776aa8713bb291f00730b645e153030499ba6f0324b7d41f0e54d2f1950305cb1733408490bbd8812c4cbd6b004d3e5877c0da6b6880149a9b0e1063b64e25a068d064bc1c295d54440868670f60376d1ed7809625cedd77800dc0c72a6954db7c4e77c70da54083c22802208f609600ac72dd8701e241e98303ccf8b1038e29de70c0dea6670354bff872c05e8d1920a619eeecb3b600712b11c63e4bba96d4e3ac27aa70a50e14e731e76b5ffd001a46c2ef5b408b802ea5417131e63cc7cb5740c234e1e40360c7271d6f012a9c9a9d1660894bbbf652f34f9ff889e958f0c04fda9825f0e9990184bcbd6d8086facd1cd09163076c44b972c0b5111d20c118e81eab25e089590a4819e7167340c60d421552ef928e2b62f5d2242d99bde68540969a4322eb901476e5e5ee0850d94eae0f406d47c87e01ec32977d152c296d77cbc603204a596fc800e6e2671a1b12afbeae975fd69595b369e580b5b53d079c97d31840c8934f07c894a20f12a3e50203ccd6ceb61da8e83bb9019af23d7220217f9e016a1286ee54b0e58e1069d0ee54c0e3303b06d84e19e84cd965b158f73893a14fdd839da972a977f5f90520b545ae230326b17707c42ea60e88499f38e01ac075037c4549692b40dafc9d0355ae7a71a097269f0eb825a20010f80fbad2012b9a130704983f1c70978d95b4b29d8ff695d6f293ed273dee860edf6b9717f5b29aa0c6ce323b93a91801227ac3812a97b9b9d8fc01543629fa04d8a9e67b927a5646843a1f3566674b33bd025d0eb0ab26cf0a00120b16f7000bdabf7e1a40a64de980f3c716801c99ce0b07d8e4d001271ded1b6042136d3be0f0ac0d404166e8e331c0a4feae712eeb461d37d3768098e0ceadea92a7dc0a19de4e0176f64f72299055b82c3af56d989a9a31d84c0016ed39bb005448fd90af1476b8c9e79f01acf69d5c85dce21fc1ec4dc0954e374d2c01423eaf1ce8a5779103e2eb147d782ddec5960315ec6aee80f393f70df095f6d68104141d3a2018da00885a07d3dc81be32ba3280064dec1d449cc3732ba965fdea508001d8be46dd87d3e65d449cee46836731f40655ff5a76acc8c7364417809238ffd52fa027fc7329890dee3a63f6d939a0c00fd2315f03b038cc9e04540c1d880cf74b40cc36c6bd3d0398cfb99ab2f086bab805984c475b0e08aa04004418685fe30ab04f2b77c0b94e5f06f84a9b3a607efbe94001e6871e50d272b3cc019fdd77c085eb1f0628fae1b703f22ede017e9d983d61bbc0bf4f00bdd9642ad7658cfbb7aa5c99da699eb97c9832b3c31aae7822cf69cad329c06e33d994cb520e0a822d4c0125aec2c60ec03609ec19e878c79e4c4e3978066c55517f297dc5eaeac50181087ee241b73f7ee2fdf662f67fd97baf658751adedfa627c3eca391c3ae72067fbcc39e7ecabff414c58abbb7777effdd57bf857512e795846e2613209022440f2254050807d1210c601e3501a570b242b671b0764454856807d3430ba382075a58d63221dde98a93c27aaa7258308a678e87d13658a444780ddbaa467dcd6241994aed75de24826c41716ef02ec22a3624080ddc6297330201594e740e5928088ecde3035f6317196bc793a60feb28c0b4819cf1fd876054cec248abb033231f664813847b330d807f2f2c5b0033235d2c561140bec5702a6e2a4b72507a4bd7eb6c07aba9480997d38fd7640d6e19842a877f2917adff8f5a91ba9899bac9cc6a3d2f58a1f04a4a44aea1b91a72aa3642279ca0199c667727f9a9c8bea156341d3992cef08ec8c15ea99d352cd1f1d9089a025076432c7d20229c8d78303b2f353c301d9da77e880eced3212200211ef3b60f468652d90fd2d6b370764f7a88280b9c4119e5a20b67e327e6caa1a02b231ab49cb2c665fac9934656e168fcab07e32246022adadb2c9393dce2f6ded95003baba26f349da5c252804a190b6420a29210601ffbb4520292d254e89ad6c56c3209cbfc42a3d8cc0914fe01b280bd6f81b4d8ca3b07cc5fb2ee2f920db396036610722b776a250ccc714056b61d2d90e72fad82005917cddb58d06c11b6252a2020b5943924c627cf95c79597ec98fa769eb22b42da4f012171d2edb88088b8f19ec9b9f9c43edfef0504c4c429d58d1b9fdba28e27913a0b0a1d1c100b2a0b70c99f5a201664b61cf2818c05571d90b730371c9029ef5b010b8974dd764026a5d93b5dc85f1636d2a5dd29fe6a81acb299c8559ca62313c7221693ee5bc298d442f591cd19f1a300fbcaa9bec9db45626edd8531ba4532222da5b6b1d3452a2ecf2b8b0701f675a66b63300b97fc9d9c3197e1f4c07aee800cfdb61d90458aee0c31dcfcce01793a7b71c0dc69f4ee800cb84f052ceda4929003d296da3b60eacaf5c301590f74764086b2dc5fa47a354b32e78b45504a4373638164d4f52d202c63f4978c03c60a5bc65d2c937653c47c4fc0421c4aded462cb949d87520b0ab06fbba98c1d9001e6b005b2a8a662811bb89b088889636bc81993a98c5cd54d4db89ccea554b64df297aa396a7a6be6018402f68585db8b00eb0c760f010b019db503267189b403d2d590e4bb8cda341c30f932ff01f2b0ad658174139a4b078c5946f30ec890dade0179c563d401b120498bca5bc9ec8e03f20c67e7804c147e59203b4014fd7ee522e872ae7016e0b670bb09b05d8d4ed50179f65a1010930765e58680b83c6ec9da33ecfbc42b5101f6bd6f85ae01f3a094866dd60097966dce015987937440b65ef42cb0ef9e2c3920d34df716c844e1bda47611b212861d3097dd241c907abfef80a981cc3ba77d208f397ee2107f5a142043bff47d9fbc0825ec9eb2e59701ee096f612fc06db3511230b5cf0a8c40a154c856d12301091972ad4404d8e995978301cea4924d039440b20b5e4f804bedc101a96f8f0ec838ffcd01796453b1406cbd7f77c0dcc7bb6d8158e164e780bc5bf0ed80694cecaf02ece8f96eef802cb54f3a20f97273c0e4fe786c810ceeec4f0222523c3a1f0b64b0ab5a15105dc82075dd01e30b8f0d0131016193da706c261b2bf6270624ec4bed2a1d0392d6f8cbc6b4c329fb8687ea5880759fed9780983cf3ac242db0717802ac05959b0e8863ab0998484bdaec08aad4b02e2762521bfe515d6edda96edef6eb0399e75871401297b14022dde72db00d81ad03729580808835ba810392954d07c4e89216c8e05f34e38074debf16c80e433b49ed226a2d190764416ed1028934f0b1401adf81b70059c1cdf52120297da09964c3222560626f7db694d5b5468f4832289da25e4640c276798c738ca88ea64c5b2b0908dbb7976281346aca12a96b8d378202a65235f64206d8d18dc0de14e488537d57754004ca3b20cf4d9f0ec80b1dee1648f3bc1977405e7dd5b04072ff367540de465070405e3c72734072ae26c0e55cc101b9b19403f2aec59fbf18c7b6ba5a2003eeb3a5033284f41610b353355e0e987cb90704a416b2979a494bd43d681f98ab44e3324b9ea8b1e468c26676626681346a5a1b039233695cd58d7788a6dc2cf9a48099d4b7f59801136b1fef9601bae760eed4185dd4693af61c900180a2002be126e58024ffe1803cf7b85b601f0a972c904837721f4ec275c701a95fa616d8f90e770764d144c6017966117140f631ba39602ecbca01534cc7310b24f9ad9c03a6c5b6b2898bdbfb783a60ec74dfb040fcfa6d2b602afd97f3d70199b369ef632e6062f5582ce54d79a654c6e2761641cf54e2b1a45d1ed6343716539e5f7a9e77014969f4564202ec52959271d2fa3d70f270fa29206abb2b5b0b440ff316331f1809d7330136a3562f0b44a079c9017363031c9099b2630ba4644f460ec8d8565740dc5ee566815c65117340cc21e5803187c5d901f1a73b07644cbae980c96cf3604857d012e9e2ea80447a714016b15a0913929698c9a8b82ad9d2425909b0d57cd7dc7a5cf53c657a655b807d83502525c08ed17b5d011329ea35d320894f9311d99ad3f8e4b8537d96b540345d440558c5e6350764357ad5017921eed801696e942c10275d793a20834c7507e4a19f8b436ac248c501d9a22b2ec0aa3eaf3b2025fbe70c59819970c098e52cea80ccbae939207b22742c10e39f970524a52170b4c99f488d9c303e28114f890bee981b4b287f2adb4919af9dd0ef11f5c1a32c202ee5655e11e0d2927440d2927640164c151d9007217107e44d8a370764fb938003d2cf3e5b20cdd17bdd01c9978303261b663101497b630b0764dbe6ac03c6a4a679078c1ed1bd05e23e67330129fb978203a6692dbe30a15f3deac721d549c26543dca42519b7b3d323a67824554e4a6b7c6e40322173034b2d010bbb40c8f842e53ded5cfca58088347a4b6f0176626c2e2cc0eec25bb371d809ba95a08085f4a3ca72d94948220d9ad426b522460fb9d31f4d730e188126210744a0b403e6d6432907cc9d0e4b0e486d3ab440ca5c2deb80bc2126ef8078988303f292f28c009b73939303f2faac9d03b26a31ef80eca6b5b2c0faf5b503b296c75ed63ea2e83c2d905b3f5b81664be9029a5a2cb90c2d658d84296229b7bd67df94db5432267565cb546b29d52c9659d0750111e934378a026632065bef0a581a1030cfd5d58d27e4c6ccd415fd1a5ed134fd70c064f6e428c029b6774096640e1d90f725790e486551b7407ac0dec701d9d32de780b9b167c50119a40e3a208b9d0a02ec9322060ec803bba503f2fea89e03d259b5f731b1ab4ad20ec8ab49ac62f651c9256f81348b4726717a9733190030ee6292b47bb9b6f3029252f64b2b0176a181675a17135535ca1cb48780851deb33e5453f6e90c499e6c6c4195deaea80b9d364d901795056b240dce7abe280b4fa860ec872ca870312c7c701d38f622ec00a942c39200f855b0ec866840307642246de0271f4c98200d9dc95b3057329403d63307a2741739587b9b169ca3ef629bd044c45e46e5c806cf642d39e3193897eb5b080850ca7d78cad4f2776d795a42962d39fc4351d90877e1d07642eedd902a95e7b1b07647434e4802cdd5939209b68d41c30776a7616f481ac6afd3a201b2c350458096331076494b6e980d123161160478be736b57379e07fce0a5848f77e628abaea13881f1b9a368c5edc230b952202c2f6a98669a1cc12767bcf8eb1c259ca6e5fd07c0ab0abd1bd8000db272ca52d90b6653528c0eeca5331963c9bd89e45a72120263d8bb8718e3397516697557f69826cb95c7640e6c04be29c84b1ad03e6b2d1b403e2821d909c7b0f1d902276724022dd08b0d9107d3b60228dad1c902ecfcc0271b0bd9e03f202faa7032671d1af00f7c8e6e58089f49813b0942ee049f4580625f7a76b01e1a52c7830f7318fcb162a444c1b779e08caf3dbb2318779d26ed3933339374fd949e0a58f80897d8fb7a909e74eb1d85a8013e8e38034ae1a0ec81be93b168840ed85033209bcee808c3bdc1c902789650764272c7715a90ac27d0156c270cf02b9ec78e480d1b4187740d6d0941c90e7b7790bc4f5853d014b8974644ad4c2b51de2c6a41689999d7e6b6e5d352fecbac69c00fb6e8e82fc45a96ee2a89b5b5f4ceca4e7ee53404c7a7c1d04a46460a611126037a86f187358cced462d61d3495cb86cd89e1d90aae007c85fba02aca6a1a405124728ee80ccd6bf3a200e36e0804c9b0f3a20b5fadd0119c81c3820ef294a08b0aa872e0e98cb062b0ec84b211a0ec830e5c901d93125e580b4b58b0e98318389bbace47ed0d8a932067b959a03b24d4f5f4048c661a61b015171d293a980d852e6d19b9c5bba72db37b5fa326977c16b9976f252b960e937742d90e66855e298581b6b940458bfde7e0b48c8b3b59a31eda5cb86d05980d3b4ea806ce4337040c62e6e0ec8d4b7ad03e63e261b07642770531a964ec271c00119409c3860246cb71c3012168a0ec836b44907e44d8a710b647c6cdc17103257094c6da42139a37c1110969c3be71d900e6f5b80cdcaa1df645906e351a95e070f031211c9ca685f404c96987513064c42d20eaa450424ec90eb40404aca7ea729c0aed0f5260e18fba89f0c584c640ade7828c066d4786a80137974744026d79e1c90d93f7b07cc55ca5b07647fa9ba0346f5f5d201d9ff34648114a0ced7019396310242f6c60e0ec84077d701e99ca51c90696b47078c62ebb40592b7af9280b0549e23bfdc2e43b19438e958ce80644c0600ba2f0326f6f5bf239373a11fc5520ec8d856d601d9b8b7e2806c0793146013372c3a20a34e1d074ce2066d07a4c5767340fcd8c201d36d5ad42c10d5a715076444b1e48034140b02eccc8c7ecc0173d9fed501790be2de0289b4f67440fc98552c62b783590a982c65999ab9d37032290f317a790352b6fb5630791b9e84e47954bd2f20299eae1310b090e231f00c708af593025ce22e0ec822231c90859f3507649be28303d24e8e39209eae6f81243f527440bc655c40442edbeb38209b34b51c900d419a0ec8c3d89703f2ae7877865cb63976c05cf6bb10101573b87e04c49732bd72eb80cc1b37591949c4a57834aa064c66d6e50c05cc6d85e30958c823df8e494b641ab213a84c418e38917b6d0724b512c78f1e6b07e43d9a550764416ed10179ff4bc682a54ccfee3b20cbe42b02a2124727e180bc7af36881c4617636f6818923f5764096dd4c05c404f48d738c26edc8447563406a214deb8ec9fde8c46e775a2c0ab033219b6f01763e4c3729c0be55d6eb09b0d3b3bdbe00bb0168c3a4363a0dda057512e9d4d640ed8f00db39ab052c90f9851db9ecd2ae08c9ef2d1093fa241c903aeae48058e1c601d9b83725c065c3c50119746b3b2013415b0ec8638eb40326f7af5b0b6c1f79ed8034261a026212697bee8074bcf316485606fb0ec8a0bde4edd24e47be142c58caf46c4f40424ad4a9ea802cfcdc09480a88189163c9886d4cdc04a42cb80b984b1dd5281ba0325bde076cda0eb1a99d375e8d3a20b3e46b0264288bfad8013198ba80883d63e480494b6722202a25bb7610109338bca980949854c7d41e3197b79db30362854d01365fbc8c0372c6cc01e9de3f1d90e646d402c9b9d3dd0111e82bc0e69c9776c044da0c3b6022ad162d105b6ff51d90c7a4920d2a2be5cd70a66e88bb89d34363637a72a989a36f7c723c651d6cc514e4f8c4ee34509538264b71b05d534ce34a75a9f83c01f6dd60edb400fb58b01e1690b23e792a602a7ff14cb327ee34cdc62c90ea245c774024cc0ab012b63c0744c2a803f21aafa90522e138ec8034ad7b0ec83e684307e4c5011101091be9cc0289b4bc7640de8a907140deef11774066ed350524a5261c0405a856bec92893b844d26e9d5635f79150f92283b2a6ed9098dad9d8ddaf00fb2a0e6f28206e27934a1cd38494a8b6fd4bd276de5b025272463d24602ea0694c2ae1346d4e04583d1a470764cef7db01d919ece48049dce5e72fb2c9cad70179bd2b0e8877b067246d33b0e0804c298a3920fb16571d307abc3b0e187358db48539251d3bd0332e9d9fe65b294e6d7cc019961661a9b7aa99bb8cf97809914c2684fc0d23ef631154e3269fb733d9396e4242259d9fc0898d97d15c20216e2fa2a03017630b46beab9e4d48ec2d5a202226241adab80a8e47e3323c0d6c8cdb4006b418d868089adb32702ecfbb4ea41014b3198867139c9a5dd36b1feb24032aa2e89fbc9caa203d286293820af470a3a200579e580d440390129f94be5eb80ecda747240dab86f0193a53ce26c3b6044eedaab4c97329f6ee980cc973267a4122179ecd3378aa552b66b5e380858ca2e232d636329d7a4ad1a77919ada51386f24c0f6c4db1901b69358356d879413a81872c05ca5f21160f5286f1c90f79c951c307f79961d9079d233078cc866b7571f98cc2e741c90356711011389b45076c044babb3b20ef184a3b205552d301930d4f7b59e72d8ddb9aa4e652809a26b327aa7521e52525202a0fdb1a4d014bbbbcd4d8a9ea77cb1c456f6c81148fa22973132750a1e280ec5c7b74c0e45c312ac0263f7f744076e10d3b202fb3ad3a2073586b0ec8f3ca820346a0fc41c0d4461a71401619851c906d68470e9848d71f078cc866b713ede7c4d3b5c60ec8623863a753d5dc904def4c6998269232ea345c08984acb71608a987ee19aec83267f99846d83c4b472544b411c5b0f015139a375109090d645332bc0befabbf51060dfa2eacd2db09ece7818557e6c899238947f95f1b1a90576e2d24c405c3c5da32dc0f64db326b3a72e2b435f07648fee82009b2fdf8903f2eade8003265f3e29076495ded1011369b0ed80c9a8f45ec04c227d0f1c90ed2d70c0446ae628fa409e7b1c1c90b171917039174f577d38200b839b0296028ac6d1cf264159ffd26f0a7023ce6b0171eb2d57029292d93d9351b3a9dd57a1161360a778b72e0266d2b6acc505d8de49eb29602925bb657a38b359d0364723022292fb9db680a8b5a0a080983d6326206ee3580a48884fce189f3c73799bde3920799b74c06443fa20c0e55ccf01f39767d101f397f3c301d92b2beb806ce03775c0dcfabb2b606e232d3920cfd58b0ec883c38203621f4707648dd5da01b18fa703d2a1b90bb05efb9113e00cc65c65aebdb4a9a34c75329fda055355d3df9fcfec9ac46a524048fcba3713603d7f53229dd9564eeb282026e6d034c99fcf8332efc25b09b0b9ff364e69fe930d050744b1920332485d136035bd571d30675c530e4853f2e480f8a08603b267060216f297cbcd0129a65d0764f64fc70193dafc4b8055bd64ec74310dcbdb2ada265f16b3a99db1fb03a4f234ce40cf08909d6c4cddb07089bb051c90fd1c270e88c1ec04d8b49c6f0e485a960ec88b24170e985bbf9c042ce52f97ab03e62fbb9b03925ae3939793b9dd47c028b69cd9b74256111093a1dfd65d801dfdaa472db0a31b1d01f6a9a81712603bbcb58405e2b6bcb000bb4579eb24606e6ba0a30562fccdbc8085f563670176d94db36c8134cf5b26b397f3b0bd8fa405d2d8f43602ecbef8f58300bb56a3f51690b471a42c908e447d22c02e60af9bdc5f2e827660662d40de594f5d445ed8c19dda5c809d015097e42fa36263978b006b1fe7ab03f24a90ba03b2afc254807d4dd3e56c818de3ee806c06547440de28cdff1ffecf835136f0bf8789779f7af7d91fc3dc0f8b3f86a51f56de7ded878d77dfdab0f3c3de0f875fe1e88793773f7bf78b77bf7af79b77bf7bf787777f7af797777f7bf7cf1fc3d786b477cf78f7ac77cf79f7bc1f0adebde8dd4bdebdecdd2bdebdeadd6bdebdeedd1bdebde9dd5bdeddf3ee6defdef1ee5defdef3ee7def3ef0ee43ef3ef2d3f8ff208e0e46d9f1ff1882be8e4b5f292350c8bb877f4913f9a54ed4bbc77c759c40462315e2de3de12b95fc25965227a502010804084c084c09cc08cc092c082c09ac08ac096c086c6dd8fd0aeafc3d8103812381138133810b812b811b813b8107812781178137810f812f8134818c6a05a9ce2981bcea2ca9224da044a04ca0e2a7f47f154782710fd5ff3ad408d40934fcabaafb6efa021975d4bdb6fc54a9e011682b698ced58753a04ba047a04fa04067e18fa6144604c204820e4eba53ec3042204a2046204e20412049204524c601260326132653253ad775579fa42d83059eaa0649aac98ac996cb458932d931d93fdafcf8356539f7354ed13fbdf139333938b0faf4c6e4cee4c1e4c9eff8b3e3f4299cafdf55f8737930f13655631ade324cd24e3ab63a4d9586942da7c262a8539262a6d0526ead64b4cca4c2a4caa4c6a4cea4c1a4c9a4c543c1e9336938e6a43fd41a97f0d5aca9336b7498f499fc9c09752c937f4833a18311933093209f9a79dfe31b63093089328931893389304932493d4ffa2cf4f306d75feeb10603a613a653a633a67ba60ba64ba62ba66ba61ba65ba63ba579d43d5feffdf34fadbd49eb41169335cfa4535e79bdb80e9490b373d33bd30bdfa9f37a6771f9ef4095ae895ffaf7f883fc7f4e1e787b9d64047a23f9f4c5f4cdf4c3f4cbfff8b3e3fc1289bfe63c8d8f0279865aa6e25cfb4c0f47fb72c1d56da22b4347d3f8c989698967d392abe1c079f5499d698d69936983699b6987a4cdb4c3bdaa6a65dffd71ed33ed381e6ea5fbaecf7b4f4ff6c95d3215375d131d320d310d330531561d4de67541f2b1b9fc698c69926982699a67e09f2275932ff107c6567fc0a0166131b02bfc294d98cd99cd982d992d94a24d3791ef64bdc495b969669e0a7ffca6ced97c13cb30db3adf6624a8ed98ed99ed9c13f38323b313b33bbf89f5b5fac1a33f5df1bb33bb307b327b317b337b38f6f92175dcc759cdf7f2bda5d666966196659663966ea2f056645662566656615665566ea5a75660d5bc2d4094d662d661eb336b30e331549cf4f7be06fc2e48feab9609ae2b3be0d0366c35f61f42ba89fc6cc82cc42ccc2cc22fead647c09a2cc62bed16db434b338b304b324b394b63e2de89939cc03cc27cca7cc67cce7cc17cc97cc57ccd7cc37ccb7fe093be6beee73158efec9ea2f27df7bf6fea568eb9aa7ef67e790b9bae285f995f98df99df983f993f98bf99bf987f997795acb3acf30cf32cf31cf4b24735fdcb93a28312f33af30af32aff9c937128dfe18867f2146ab81afecbcfe5f84067375c916738f799b79c74f4c887997798f79dfb756f575a00b9412455999d25489ab74990fb585ce47ba206b59c7cc83ba80cf43beb2615f56bf54aa5c994725aac9eadffd8c72a9f398768e73f5c704f324f3140b5804584c584c59cc58cc592c582c59ac58ac596c586cb5ac8b1d8b3d8b038b230b6bfeaa086a3f536671667161716571637167f1f8831a8be73f69a57e5d3c7d6517af7f0b6f161f165f1669161916591639517691675160e1df93fe5af2cb75525bb1f212aafc2ecaba7a51055cd9e9a2c2a2aa355da884d5b55b5834fc021e956aea5fa55426a9d58ffbb13559b458a8d8da7eb9b661d161d165d163d1673160316431623166116411f24f08b388f89a4659c458c45924ace1f7c5712f922c522c61196039f115f0c372fa13fe49aeb7afec7266c3dc0fb33f8605cb25cb15cb35cb0dcb2dcb1dcbbd7f1f1b6d744ad9e5c177fc155da528db5c1efdcaa7a74d7879d29f4a7165b04a14a5b5b24af5c77f29dab6ba53522ecf3a0f9617965796379677968f3f4a19d0e566f964f962f9d664f961f9659966996199659963996759f07f2ab22cb12cb3acb0acb2ace96c58d6adabcdfa25acc5b2c1b2c9521d782cdb5699bf8af3b7c128dbf99ba02ea9eeb8cf52093464a9241bb30cb20cb10c4b615c4674c296515d4da92a7e19d30e54b90255e4958eba723bf8cda0beeddefc43c8e8ec59c675edb74cb04cb24cb142976e558fad027f50537d5d4d6c98fa9f335673560bffeb92d58ad59ad586d596d58ed5deffd7419baa127475647562756675617565756375b70e41fdfa60a5aef862f566f561f5fd7b89fe36988715e9ff1432acb2ac72acf2ac0aac8aac4aaccafef52aacaadaa6b41b550950775cd777a35c9eca70dd4e584b0fe7dfa51cb26ab06ab26ab1f258b5597558757d157aacfabfa4ecff92d2858136bdd550beaaa2bd1ab11ab30ab20ab10ab38ab08ab2523cce2ac12ac92ac51ad601d613d653d633d673d60bd6b60c29535075c37ac57acd7ac37acb7af73712fd53f0955defff5338b03eb256d738b3beb0beb2beb1beb37eb07eb27ef94d9f16ebb7364cdd903cfe6d334815fcf587f597759a75867596758e759e758175917589759975857595758d759d75837593754babb9f658b7b56aaabcff5956f56b877557d748eb9e9675adc880f590f588f5987590758875581bec3ac23aca5a9d13679d609d649d62039b009b099b299b99bddb9e56763367b360b364b362b366b3f91b95fe36f8ca6eb67f093b367b3607364736ea32673617365736373677360f7f14e31f4bb76e6ffaddf6cd93cd8bcd9bcd87cd974d9a4d864d964d8e8dfab5c0a6c8a6c4a6cca6c2a6caa6a68be7a6cea6c1a6c9a6c5c663d3f65b20bfc4dd74d874b5575519b0f165ddf4d90cd80cd98cd88cd904d9f8f5d526cc26c226ca26e69f10679360936493620bdb00db09db29dbd98f1da8f6f876ce76c176c976c576ed0bf25795fe29f8ca6e377f095bb63bb67bb607b647b6ffd82637617b667b617b657b637b67fb60fb64fb62fb66fb61fb659b669b619b659b639b675b60abfe55625b665b615b655b635b67db60db64db62ebb16db3edb0edb2ed696ffedb60b77db603b643b623b663b641b621b661b64a9428db98d65419affadcc6d926d826d9a6d8c12ec06ec26eca6ec66ece6ec16ec96ec56ecd6e63c50db3dbb2dbb1dbb33b68299458ff41a57f0a7fa3eceec8eec4eecceec2eefa1f74dcddd8ddd93dd83dd9bdd8bdd97dd87dd9a5d965d865d9e5d8e5d915d8a9934beccaec2aecaaec6aeceaec1aec9aec5aec3c766d761d765d763d767d7603764376237663764176217661ed1955d97736ab5af8bb08bb28bb18bb38bb04bb24bb147bd807d84fd84fd9cfd8cfd92fd82fd9afd8afd96fd86fd9efd8efd91fd81fd99fd89fd95fd85fd9dfd8db4a4c7523f70ff64ff62ff66ff61f2dc8ff81b2fbaf8e689f669f619f659f93eb295fb9cfb32fb02fb22fb12fb3afb0afb2afb1afb36fb06fb26fb1f7d8b7d977d877d9f7d8f7d9ab1b1db21fb11fb30fb20fb10ffb9f11f651f631f671f609f649f6290e70087098709872987198ebd2adabaffe1fbcc161a18bbf32c9c392c3ca0f6b0e1b0e5b0e3b0e7b0e070e470e270e670e170e570e370e770e0f0e4f0e2f0e6f0e1f0e5f0e690e190e590e36a5aafa55aef690e750d0e6a5a4f83f5356b915955187a28efa50fae9891fca1c2a1caa1c5492ea1c1a1c9a1c5a1c3c7dc2a1cda1c3419dd6e3d0d79aaa227f18684d0f430eea73cc21c821c421cc21c221ca21c621ce21a1ad726b944a724871846380e384e394e3ec3fb50a267faed694c447bfd5a5ccfcb8e0a8beae745fe0b8e6b8e1b8e5b8e3b8e778e078e478e278e678e178e578e378e7f8e0f8b48532ab1b91c717c737c7cfffadb2ea3ebe1cd31c331cb31c6d661ef31c0b1cd54189639963856395638d639d63836393638ba3c7b1cdb1c3b1cbb1c7b1cf71c071c871c471cc31c851a53ccc31c251253bc631ae053d267c69921c539ce014e034f1c3f46f6555e134fb11f734d7adab93df66507fd7b5d6586b7d5a705a725a715a73da70da72da71da733a703a723a713a73ba70ba72ba7172adda0727159e9c5e9cdeffafca9e3e7f13be9cd29c329cb2bfae97e394e754e054e454e254e654e154e554e354e7d4e0d4e4d4e2e4716a73ea70ea72ea7152a91d701a721a711a730a720a710a738a68a7798a7252a2c43925748daf9a50a7a42ed47ac4a4e77ffe0aaa01abaa7b75f0b772a7b47350a29fe11cd025e03ce13ce5acc89cf382f392f38af39af386f396f38ef39ef381f35127d0b5bdce27ce67ce97bfd7e79f82cc20e07c95471dfaf8e6873be707e727e7971efe71ddeaf39bf387f397739a73867396738e739e738173917389739973857395738d739d73837393738bb3c7b9cdb9c3b9cbb9a7edf4ac621b701e6a733b8f388f3907398738873947384739c77e043dc77f9455cd7e95017f6bcb2ada846ee7aa6aedac428a0b5c025c265ca65c665ce65c165c965c565cd65c365cb65c765cf65c0e3fae560f695eb81cb51a4a96cb4907a79226671f5e443df379b96a78bec9c493bfc8ea07d5f2bfdcb93cb83c7f72f2f2e2f2e6f2e1f2e592e692e192e592e392e752e052e452e252f61b923d5d715f2a5caa5c6a5cea5c1a5c9ad2a7bab4b878fa57d54f55aa5dda5c3a5cba5cd425fa5c065c8662bfea5727ab0a971197b11e06543d8bff68b9da3f0cb904b984b884b944b844b9c4b8a8ab24b824b9a4b8c235c075c275ca75c675ce75c175c975c5752d0317d33bd70dd7ad28fb5b99bf0beeb4896cb771e3bad3fa1a7ab9c9b182d73dd70357db4f551dadeb89eb99eb85eb95ab3a475dfec1f5c9f5c5f5cdf5c3f5cb35cd35a37bf1aaa6be66b50ad71cd73cd782d65129782deaa0baf0d712d732d78a36cf6b551773ddad6a682bbed67cb95b5ceb5a59f579f1f34375a8ae0ded52afcdbf5556f7c786daa55cd5df3dae6daeeaa25dae3dae7dae03ae43ae23ae63ae41ae21ae61ae11ae51ae2adab8757deade125c5524295f8a1d37449c5be0472bcd033fe2de26463d9970253f9b3fabdf14515f752c476e536e33e971a93cb9cdb92db8a98315b735b70db72d37f5c73db7033775fe89db99db4577ff6f575f9d113775c9bb1648f5356f0f7f2864a88dfaf6e4f6e2f6d6e55749a974514d4ead698ddb87db975b9a5b46dbaf33db5b965b4edbf2df292bde76a2db1bb73cb702b722b712b732b70ab72a3715799d5b835b935b8b9bc7adcdadc34dddb0baa5be352395ba01b721b7912f08a2ac96cbffaae54e69b9f44f013ff8e7f827fc5256ce367f1bfb42a7b437b805b985f408a1b9de4d4913e116e516e316e796e096e496e20ef700f709f7a9eec8df67dce7dc17da76ee4bee2b5db4ef6bee1b6d9ef7adf603f71df73df703f723f7936ed8dfcfdc2fda30ef57dd7fbddfb8dfb5d667df42550ead7be24c94eecac6ffa1d920ad85b19caf8ac8fdc1fdc9fdc5fdcdfdc3fdcb3dcd3dc33dcb3dc73dcfbdc05d9d665b992adccbdc2bbe795965c40ab121f08ba77e7f9559833f41d17b8d7b9d7b43d760fa81605e3f327195e6bdc95da5dce3dee6ae12aff4ea71ef731f7057228eb88ff530ca3dc83da4abfe7b987bc44f5594bbd234ce3dc13dc93dc5031e011e131e531e331e731e0b1e4b1e2b1e6bed341e1b1e5b1e3b1e7b5dc01f07dd917d1c799c789c759ee9daec2f823efcbc795cfd712f7f98e671d3b5a56ad26dfd06996a203fee3c1e3c9e3c5e3cde3c3e3cbe3cd23c323cb23c6c2bf391e751d0ae56cbf22795aa3c8aa2e3ef9fecaf327156077d6ac9ff2ceb86811b9e989efc67ce557bb10a0f754e8d479d47834793874a86c7a3cd4369d1e5d1e3a11233e031e431e2a1b408f208f108f388f088f2501af995d223c123c923c5139e019e139e539e339e739e0b9e4b9e2b9e6b9e1b9e5beda0958ecf1dcf3dcf03cf23cf93ef22ec488d19ee52e179d675e3f3c2f3caf3c6f3cef3e1578fbe4b793e79beb4f351fa9abec9f3cdf3c3f3cb33cd33c333cbd32a3b1ff2ccfb492e8a94eaf359f03f8ba298814a40a39e3d4d660ff32ce95375f0ed3f90fb51f6a9d2a322527750f7bd8192a0c1b3c9b3c55325a0cdb3c3b3cbb3c7b3cf73c053ddcd88e79867906788679867846794a74ab34a58826792678a17bc02bc26bca6bc66bce6bc16bc96bc56bcd6bc36bcb6bc76bcf6bc0ebc8e7a68e675e275e675d1455bb9d14d437ffe76b5ea5875ba5e575e375e775e0f5e4f5e2f5e6fdd147b7df41f9539bfbeda41bdd2faeb2ba3c57d6579e578e579157829681dc2b4cc4b850aafaa96480965ac50b42ad803f5979afd5af0e52ec944ed5f67d47935744bcb44fd6af252b7e2f16a8bb21aaa447679f578a9db1df01af21af11af30af20af10af38af052298cf18af34af04af24af1867780f784f794f78cf79cf782f792f78af79af786f796f78ef79ef781f791f789f799f785f795f74d0f0ba8e6c1fbae4760df0fde4fde2fde6fdd2970ca2ae7fb56e1cb3bcd3bc33bcb3bc73bcfdb7f4ea3fcc0bba85dcdbba48d5739fd7759fffd5de15de55de3ade26ff06ef26efdb8dab7c7bbcdbbf323d16fb9d4f1bbcbbbf78b2ba22ccc28fb1ee8df240c798f788f6dbc41de21de61de911f65df51de31de71de09de49de293ef009f099f099f299f199f359f059f259f159f3d9f0d9f2d9f1d9f339f039f239f139f3b9f0b9f2b9f1b9f379f079f279f179f3f9f0f9f249f3c9f0c9fa7fcce992abea34a59d2ad49f3c9f029f229f92f6b69fb26ec029653f153e553e353e753e0d3e4d3e2d3e1e9f369f0e9f2e9f1e9f3e9f8156f3a3fe38d226fc19eb36cc27c827c427cc27c227faa3ec27c627ce27f1a3d227c927256a1af2e597803df393afec37c077a2ffa93ebf53be33be737108df05df25df15df355f3b7cf9ddf2ddf1ddf33df03df23df13df3bdf0bdf2bdf1bdf37df07df27df17df3fdf0fdf24df3cdf0cdf2cdf1cdf32df055f194f896f956f856f9d6f8d6f936f836f9b6f87a7cdb7c3b7cbb7cd5adfb0e517946f5a944f9aa5b1df21df11df30df20d69715533ee98d2cef71be61be11be51be31be79be09be49b220de900e909e929e999365b1595f2bfcaa5a4e7ba879d5e905e925e915effcc309bb6496f486f49efb464e93de983564c1d28c5d4a73a36a26bf57c19f59966be814126a48fa44fa4cfdabd6a11d5dd5c485f49df48db6a2dfd20fd24fd22fd26fd21fd259d269d219d259d239d275d20ad4e2b912e93ae90ae92ae91ae6beb4b37483749b7487ba4d54d77487749ab3bee9356f734243d223d261d241d221d261d211dd586998e918e934e904e924e91814c80cc84cc94cc8ccc5c8b9e5990599259915993d990d992d991d9933990399239913993b990b992b991b99379e8a290799279917993f990f9924993c9fce1b158264b26a76ba01f950ebea6eaeaf93fa827415baa59ba53d0c1d04c914c894c998c6dc066aa64d44dd7c9342c69926991f1c8b4c974c874c9f4c8a85b1c901992199119930992099109938990899289918993499049924991856c80ec84ec94ec8cec9cec82ec92ec8aec9aec86ec96ec8eec9eec41273e7b247b227b267b217b257b237b27fb20fb24fb22fb26fb21fb259bd6ce549f9f219b259b239b275b205b245b225b265b215b255b235b27db20db24db22eb916d93ed90ed92ed91557f1f901dfe0c20644764c764835a255595a9cf6c481453075a345fc06cd8ff8cf8dc2c48505f14cd46fd83986ec966e364ede4866c926c8a1ce4023f0f147213725372337273720b724b722b726b721b725b723b727b72072d6bee48ee44ee4cee42ee4a4efdf74eee41ee49ee45ee4dee43ee4b2e4d2e432e4b2e472e4fae40ae48ae44ae4cae42ae4aae46ae4eae41ae49ae45ce23d726d721d725d723d727372037d48d59256e6e446e4c2e482e442e4c4edd46945c8c5c9c5c825c925c8a3ce403e427e4a7e467e4e7e417e497e457e4d7e4377ee7c8ef79e6b7e477e4f7be70be4af9832866a43402fe1ceb60940d933fda70227f267f216f1fd2e46fe4efe41fe4edb84cfe45fead3be3f90ff92ff934f90cf92cf91cf93cf90279754e897c997c857c957c8d7c9d7c837c937c8bbc475efdb743be4bbe47be4f7e407e487e447e4c3e483e445edd924a4054cf22c8c7c8c7c927c827c9a7284021406142614a6146614e614161496145614d614361abc52dec28ec291c281c299c289c295c285c29dc28dcf55c93c283c293c28bc29bc287c297429a42864296428e425e4f949afa22a8e67ca140a148a1f42394134d09aa0f0e3e8cb813cc8a29759932858a7625852a851a853a85864c072a3429b4287814da143aa26ca14ba147a14f614061486144614c21482144214c2142214a2146214e214121492145118a018a138a538a338a738a0b8a4b8a2b8a6b8a1b8a5b8a3b8a7b8a078a478a27ed348b678a178a578a378a778a0f8a4f8a2f8a6f8a1f5f41f5af2fc534c50cc52cc59cb41694db2de6291628162996289629562856292a5ed7b31f8b0d8a4d8a2d8a1ec536c50ec52ec51ec53ec501c521c5913f2be5ab5d6d714c314831245aa9cf6298a2d5b118fd39d65f238a98057f11f94d8718c538c504c5a49e2a6d8cb498a204a5809ef16a486942694a6946694e694169496945694d6943694b6947694fe940e948e944e94ce942e94ae946e94ee941e949e945e94de943e94b294d2943294b2947294fa940495da2a43b5da53225f559a554a354a7d4a0d4a4d4a2e4516aeba6be52b0d4a1d4a5d4a3d4a734a03494ce556944694c29482944294c2942294a294629aea7e5961294927a726e2945193df5af1ca03ca13ca53ca33ca7bcd0932175ffbe4079497945792d5a29e355411debcfa856590ea2f2b56857f7ff316c29ef28ef29db61e0f291f289f2593f881772a17ca57ca37ca7fca0fca4fca2fca6fca1fca59ca69ca19ca59ca39ca7acee4cfda544b94cb942b94ab946b94eb941b949b945d9a3dca6dca1ac92d7a3dca73cd04dd4f290f288f29872907288729872847294728c729c72827292728a0a5402542654a6546654e654165496545654d6543654b6547654f654fc11d18a0a272a673dbb5489bb3c50b950b952b951b9eb79bb2bf4ec3165c2ea4c3de1b948e541e549e5f517ad54e46f3930725bee2b5bf950f9daf3be54d2543254b2546c1fb792a752a0a20e6cb7af52a652a152a552a352a7d2a0d2a4d2a2e2516953e95051b7d5a3d2a732a032a432a232a612a412a212a612a112a512a312a792a092a492a20ad500d5892ee0f70dd529d519d539d505d525d515d53555c5b7547754f7540f548f544f7a2e78f5acfb2fd50bd5ab9e9f513533eb15b9fbe141f5a9676eb995217ae5c24ecf98d243225d3d0badfad2f379ab6faa1faa5faa693d0975b697c9a6cac8aa19aa59aa39d1ca29668eab79aa05f9551d57ccd31a83f467de0f45aa25aa65aab6e155ad52ad51ad53b50daf6a936a8baa47b54d5525ac4bb547b54f75407548754455dd6b906a886a986a84aa4a648c6a9c6a826a926a8a1ad402d426d4a6d466d4e6d416d496d456ba53bf3a535b53db50db52db51db533b503b523b51533f5da85da9ddfc051b636a776a0f6a4f2d65ed45ed4dede3aff788ea70f22556ee7296fe992525e1286b1ff43cfa8a1eea9ea9cb7df55ce55a9a5a467b033d295add55969a82796a4e2b73f0fbf8f74f05b3b8b240ada88372b2fa9feab844ad4cad227331d53dd5aad46ad4ea52add51ad49ad45ad43c6a6d6a1d6a5d6a3d6a7d6a036a436a236a2acd416a216a616a116a2ad92afe38b504b524b51475a807a84fa84fa9cfa8cfa92fa82fa9afa8afa96fa86fa9efa8efa91fa81fa99fa89fa95fa85fa9dff4c4db79cc9fe17df26782b67c638c8a58bae6e9f921aaed54cfce5bfb212a426b63ccf927fb726b7d07fe64de888e6dfda67ed72d59a5b58a599d537f68575b7ffa7259c574f0bf2ae9aabfb951b6fed25fea2aae8ffeadfea59ea69ea19efd19f0aee7a8e7a9177e11154ad4cbd42bd4abd46bd4ebd41bd49bd45bd43dea6dea1dea5dea3dea7dea03ea43ea23ea63ea41ea21ea61ea11ea51ea31eafeb3f17a827a927a8a063402342634a6346634e634163496345634d6fa89a7aa4bf5ccf78d3e6e6c7c65e3fe32a5903fe72c63edf42b229a205fa336ac6de8f9ab01c6fe8cf3aa9f49617fce7a53cf446f6c356fec68ec691c443ea552e368e5fae86343d4a7fed5ac5a52dfff1c4e34ce342e346cabb671a371a7f1f097a999cec998c693c68bc69b868a5ac59ba691a191a591a391a751a0a1fe58a251a651a151a551a351a7d1a0a1e468d1f068b4697468f8d33a1b3d1a7d1a031a431a231a2afe208d108d308d080d95b6188d388d849e41aee791a77c47e92f85581a15aaba44eb356007ed49676b7feaee46e43606fb63ad7ed08a1bd35ecbfa1e3d797da4bdb0d2773ed4fe5af9f14692468a263403a2a009eab839f903515ffd03b34a7caabf376734e77e50070b9a4b9a2b9a6bd1b1b9a1b9a5b9a3b9ff19bb6c1e68aab84e34cf342f34af346f34ef341f349f345f34df343f34d5e5d3343334b3347334f3340b34559c259a2a920acd2acd1acd3acd06cd26cd164d8f669b66876697668f669fe680e690e6484fc35755b62c8898f83370fdc505aa142b21949f5544cb7df14d78fb17adcbfe4a1575d1b12f77efc7ae45eba8ce09a3efdc9f716de2bf85680669aacfb02f97116ae61fff0e86cbbb0123beb8511f45fddf6234e33413349356d9142d6805684d84b4a6b466b4e6b416b496b456b4d6b436b4b6b476b4f6b40eb48eb44eb4ceb42eb4aeb46eb4eeb41eb49eb45eb4deb43eb4beb4d2b4327a098e4a462bababa3568e569e568196ba50895699564577b85598d6b4ac2db3664c1dd4b4c4caac54e2955bd013f6dbb4ea7edb20a2cd59f9623d1fdd975b4fe4df6b37226b1baddcdac36eac5dfb266cd6f399c5a57a1d534a47de6ad06ad26af98a9910f5a5fbfd5582d984c0d35fcca7092d75731d5a5d5a3d6976b4fab4543286b446b2dab535a615a415a215a615a1a5fe15a315a795a095a495c2032f8037c19be2cdf0e6780bbc25de0a6f8db7c1dbe2edf0f63a85de416be11db5ad2dca5a11ef84a73e2f5a41efaad7837937bdbc5daf55bc692915d10bbdfc5564bab426fdd5391fdd25f5fce6948a477909a548c377c77a89c4491ba092496b1dc67be2bd74c1d75a8f7d8937fec4ff8c547dbac17012e35539a42ee1bdf13eda6c7fe4f28f4dd0e66c7e92ad2abe7869bc8c465e162fa78fbd3c5e01afa82f6c26917925bc325ee5679abc57c553c9aee335f09a782d3c15431baf83d7c5ebe1f5f1067843bc11de182f8817c253498ae045f1627871bc843f7d7ced17bd946fb9bedd79be527a4d93ca9b94bfccccaaa37ddfdd5fd518d52b4c16256dc56db421b7035a6bbd8a6c2272eb0cf8f846ed6bad4c5bc9adff7b16a36e4f7c975af097543cc45de82596d11fe3d5eb5baafa7c558fb5a7be5c26e468cfe440ab97f605d43f3965337f08ed39ed05ed25ed156deb6adb1bda5bda3bed9584ec691f681f699f68ab5bbcd0bed2bed1bed37ed07ed27ed17ed3fed0fed24ed356316769abbbc9d32ed0563194f41224bdec73a88d482f7388f8c9bef92b72ea7af99dfaaab85e0411d316a7e5f05daa363d750365dda16a57f4fabc76559faf1ce2e5a92b741594bdff965bb5a5a6fe1250bd5457dd67cd57f92ccb9f8d9730d9acabb28aadf1fc253eba4ef3cd5f89ab5ce59f446bd7edb170b343cd5c177ffd73c3ff6cea83768bb647bb4dbb6375ecd2eed1eefbcd434394a50c698f688f6907698768876947684769c768c76927682769a7e84027406742674a6746674e6741674967e55747617dc7caa094582a01c6189528ba80dfb5b174d674367e7b60abd551679a42ddd9ea7193ce4ef7a0cc2234d567555a77f6740e748efe3ab4b8eed12ad3564ed9686d1c888a47c77fd185c0386253e9e91a6f2cc66bc49df86bef4cf35985cec9f7936d5fa5269db37f30f73fcd813e36ca36e43cf5d9b9d0b9eae3ce8dce9dce430fcd181d3b4f3a2f3a6f3a1f4bbe74d2743274b2747274f2740a74142fd151c9abd051a2d4e8d4e9a808d54db4e87874d4553a74ba747a74fa7ab15d67a013a92c4b2f211b4a51ed0cf572116d477b5d60db7e7da534d2ea74a482ea8c747f4929db19d309d209e9cf62c33fd8e901ad4e984e44af56ed44fde59353bdfa5469adecba6196f9f674547a61d0d06f1db77c7d77b2765f3bd990ef1982e2a9b4b22ac44547259791ce1d8886175fd94ec20f493a29ffc0ffec4237407742772a8eb53ba33ba7bba06b9f64745774d7743774b7747774f7740f748f744f74cf742f74af746f74ef741f749f745f74df743f74bf74d3743374b37e09bd699b554a69dbd9f92d9ebe5f7b3c74d5acd77fb67d5f39b00bc53b74737ebdbfd0a63a6dd0cd6b1d95e5aab068fa0b7937bee2211d8cd64b756305bdc04a99f6a24ab7a8553697d66b6d6de5a6975e56fddb70c6fbf01db169e70de996e896e9567c0513f633f5eb5807a36c4a876ed50f153fa8831add3a5d75d34d3d895ea46cd1f5e8b67f86c0bb2a915dba3dba7dba03baeac223ba63ba41ba21ba61ba11ba51ba31ba71ba2ac3927453f4a017a037a137d5926959cd7e1823ede0b46b5bea4f6d323bdf9ae27f565677c3c2daf454d99f07e9cde8cde92db46abda5d65a29beaa8bdc4a6523b711baf0d4a3884aeea9e7e7ab5fb3397d4d434d1ac57e8b58378adbda839b8e896aa8f456bf84fa936e027d657bebff1094cdf636f4b6f476f46cefa077a077a46797daec6ef4cef42ef4d4c5d4f19dde83de93de8bde9bde87de975e9a5e865e965e8e5e9e5e815ed10f257a657a155fb2b69f98bdae3db46bf37ba2cab5e97a63fb9f95358d5fe53db5e9294dabfeb2e8a03646b3cebc5713898dbe26f4eabe47f68fd54f0bbf7e93b6da45bac8ce39fce81b96fd2974c66f7d651bbfb46ad26bfd453d51d6a3d7f63f3b7ee8daaf3d7a7d7a037af6715b6f446f4c2fa847648484e885e945e845e9297b89d34bd04bd24bd1877e80fe84fe94fe8cfe9cfe82fe92fe8afe9afe86fe96fe4ed739aa5aefefe91f641040d7e366d43928ca6af8176555ca95cdea05fd736d7d4a5c65bfcaa52afb55e22e2f7a91aa92d558ab7e3cf3d441d9ac2233ffd7fe51bcad9eb8e677378cf1eac8ad73300d12a5acaa0974b3e442ff44ff6cb55aeb4f55bef581e78796f9c957b6afcebeda533bda5a0de9dfe8dfe93ff4308fd1b1ffa4ffa2afeec95662fd2ffd34fd0cfd2cfd1cfd3cfd027dc54bf4cbf42bf4abf46bf4ebf41bf49bf45bf43dfa6dfa1dfa5dfa3d7f857244af36eff7e90ff45e12fda15eb9dc1f4917e8ef6c567155a14d55cc6311b71fd4caeae5f82aab42da3928cbed87b594aaf8cf6e7a06eaeca88f95d00aaa3c5099aa9b0d35697518e3d5e2b6455fd30a3443337af706651011fa512b910a31ab589c7ec23fd0c1281bfb159236a8e314031804184c64387130653063306760371d1a2c19ac18ac196c186c19ec18ec191c181c199c189c195c185c19dc18dc193c183c19bc18bc197c187c19a41964f4ae1b83acd67790d363fb83bc1edb1f14fe2b655563761ed19fca6607ea7e4a0cca5a5c65bf830a03056b5afa415d3b07bd0b88ba13bf425386acfdc342fb043df8edf79895f1ea0bdda4f3a6f56dfb5b89a4fcba6eab0f064d062daba0d3cd7d55e955792c6fdf6933e848d06adae34197418f419f81bf238e483964306260a7270d820c420cc20c942e510631067106090649062986300c309c309c329c319c335c305c325c315c33dc30dc32dc31dceb2725c3835e1f5d7dfbe266191efd7ebdf506ba6def2bab3de3d5af6d86be22118627866786178657862a9e3bc307c327c317c337c30fc32fc3b4ae8294850e33dad51a9fa05ced30abfd86720bcb981f7fed475ced5bfdb1089591fa5a67bf47d764986398178986851fb9dcb17fe02b3b2cfa2276fc03a76f577f1d961896195618da599ec31ac33a43eb6787ea4a2d861ec336431583fa578f619fe180e190e188e198619061886198a15221ca30c630ce30e12b9b6498fa5b65f5d4ddc2bfd8ac526a04a300a309a3a936584594b2a399dea8623467b460b4d44fc0462b466b461bbf6bb7f57760686877a19455f59eea56a8c8554759797ced76afd24f331ed60c65a8db503e77b465b463b417b944342397254333af6b74f095ed323aca813e3ee9afa333a30ba32ba39b4839ba3352b1bb45698abc18bd197d187d19a519a9a46619e518e5191518a9134a8cca8c543aab8c6a8cea8c1a8c9a8c5a8cbc7f51f63f7b03f398ebac0bf2a8cda8c348dd708f515f977aed04141f301a6a6577eac6468cc68c828c428cc2da578e228ca2dacf6a830de95a547b95b55f08ced26070e33b2274559e5f8c628ce28c12a2980e27ada10e49ff53dba551f6c818c601c613c653ffab3b98319e335e30b6bd83f18af19ab13fe62664cb78c778cff8c058fde5c4f8ccf8c2f8caf8c6f8cef8c1f8c9f8c5f8cdf8c3f8cb38cd38c338cb38f7df29dbf48be440caac4aaa92495538e33ce30263750f25c665c615c655c635c675ddaf1d37f4f955753f4dc62ddb196931f6f4d09a6ae48ddbbad29bfb2e42ef6b33d25bb5a87230eee8c84d5006ab0777b6d230507732ee32ee597dfafee7f4976e135feb83afacd6d484817fd2c01e0f198f188f19071987a427360e338e308e328e5965e38c138c938c53042118203821382538233827b820b824b822b826b821b825b823b8277820782478fa776fa04c4c19697348f04cf042f02a3d54bd618d22378277820f5de4953f0d3e09be08be097e08aaaf6982195d968359823982793da2162c102cca435c9d6173dda2a87db54398ef749c7a5d465f5a63262868f66e52cea1a2e22969a182655f2ea3d5e09786fac057365821582558d32858f743c32765ffa726c116414faf32513a06db043b04bb047ba26cb04f704050a57c44704c30483044304c304250252346304e3041304930450842014213425342b37ff106ba777bf1c7096bba960fcd092d082df5031b65984a05655fa195362be54355e155a55e0fc18c08ad096d086d09ed74a90fed75b3347490d142551b878ef278510fc25e74bb42dbecc2cfb39dd4932e288975c3d9df4f48f987d0499b9ad24789a85532ea55ff785cf7950d9d05852e365cfdaf57fff846e84ee841c8fad6d08bd09b906dd286be84d2843284b2847284f2840a84142f112a13aa105251d508d50935083509b5087984da843aff64b3a12ea19e1651d5efaa3086fcd1135d054508f9abe45565a20a7868a8ed4e3907d3fc0c2959c78482da45844284c27e934b5d3da20d56afb928eb41899d9d7ba0875ffdbe9c3a2d14d5c3927a4438e07bf39a0c459aa03719f21b0f6d959c98af4cfcd7e7d54ae77f0d568cb2091f257d6a823b563c4518c201c2f6394d784a784678fed3c70d2f082ff522ccf08af09af086f096f08ef09ef081f091f089f099f085f095b03aff4ef841f8f99f6d36ec376f4b49ed01c26f3f7c087f09a70967086709e7fc319739e13ce102617fa9c6e42c033aea385cd223b6aa520a9709570857b53bd691d408d7ed232f1555c377e541df96f7fe46620b6de3aa2a336aea51983f853ee126e1964814f67c89123ae863a7b5d9713fdc26dc21dcd541fd21dcf3bff6f581fe3a20acee7544d8b661032a8541c2a19f0d4fc261c211c251c231c2ea7aea32ea8f292210091099109912991199135910591259115913d9fc0765557f21b225b2d335bbf292913d9103912391139133910b912b911b913b910791a75639f2d23e745a22f2f60bbbff7030f221f225a262c810c91251a7e5b54b8914881489a893cb442a44ccb348b36d655d07bdc3dd4e6b6a36c352e6acdd6ed70ffe9694911a91baaf4fc7d7aa274269adac6ee19eaf6ca4a1834272d091af26449a445a443c226d3d90a8a554f7aacee9fe340f3a4aa61e1175f280c890884ad89848904888489888122b4a2446244e24412449244514a281bf78037fda9aeae94627ba351a9d129d119d135d105d125d6941d5a73e38115d13dd68a1a35ba23b5d6545f7feb380b23c65513e317ad01d87e891e8493775a367a217a2576da7d11bd1bb1e6d893e648b41e50d5423418f4c5eb5a62a184daf7e3f42b988a5bf804b291b7dfed2a7f123971cf4889af906d137d18fff69c2579fa188f98ca68966886689e688fac389d1825e22125507769ad742a5b3aca7a247951c55a2eada75a2eaef4da22da21ed136d10ed12e5175d53ed101d121d1d19f6d5685a88a39a81589867c41175abe68d80fbeb8d108d128d1981fe24413bec42a2489a674933386ddb537a4ebae58406baa6c3f36d16308b1a96ef0ea06724b6baa5cb9eabfaabe6c6c466cae07c974c376ff63aaaad6d29db7b3b47695cdc616c496be321f91550be534fc10533769e675c5d65abed846823ede0a915377c4d49d1d88d9678bb113b1f3cfb8edec4bec42ec4a4c5df84eec41ec49ec45ec4d4cfd5dfdaa62cb10cbeaa199588e589e588158f1cf361b2b112b13ab683f1babeab2afd5dce84f751cab11537f6ff8a149ac45cc23d626d6f17fea6a9563bdffafbd2beb691e48b6eff333ee792fb1245e344f10028140084b08e1cdfb16b6845d9aff3e75ca7696ef6346bad27dbc50b2caed5e4faaababbadb6d4adff9a81da0fa7416ba7784b53b25f4ea0477efa928ba3362aa439f8e8ddd07e9ee48d75c8678870b482b586b4ce9b655165823bbd748e1267414c1aff6b63efba8bbcf2eaf68763bd2edd60f8cafaf4a8e74b5d29e74fd064a47c48138ed98c690509c489c589c449c549c4c9c5c9c429c529c4a9cb9388fe23c89f32cce8b38afe22cc4596ec96cdae12c8cc2eabc5154a9529786e9529c77713ec4f914e74b9c6f717ec43910e7509c9e3847e2f4c5396ef075b42603714ea90da81676c439e3d0a4b0aa9fe60cc5d13817e28c68bdd1980dc4b91467ccf1cab9a2553bd1fa5f5303505a1d3bbfb1222943fbef947b6915d91a1caacacb0db88a96a991756e08a85e9d5b63ecba49ce449c3b71a6e2b413b52a0bce4c9c870d64b50dbbe2ec89b32f4e471c4de588e38ae389e38b2be242dc40dc50dc48dc58dc44dc742db36e266e4e2fde2dc42dc5ad0c591baf145c774e40dd47719fc47d16f745dc577117e22ec57d13f75ddc0f713f29cbee97b81af3870a5161d501ca3d10f750dc9eb847e2f6c53d16f7843eb13ab5ee8026b07b4a23447174cfb856e60e39cb536b80c47c39f7dcce22cd1b64dd0b43b663b875fec2eaa6c6d3907547bc712fc9f05a334ae396b912f75a5c8d73cb7723ebeeef4ec4bd5b9f2be74ec5bd17572bfa20ee8eb85aef3d71f7c5ed88db15d711d715d713d7174fc483788178e15a66bd48bc98adf54cb772f46f49c152f1f452f132f172f10af14af12af134d5a3784fe23d8bf74270bd57f116e22dc57b13ef5dbc0f5b70bd17ef93ce5bfa444cbd2ff1bec5fb11ef8096997748f5aa56b38ab0dabc2aad91275eaf71f0e8922dccfba84c7e0744d63b12af2fde718b955103e09a0c594fcb1b3441cad4b74de0d878cd4e2b3114ef5c3c7b9351c78733adfa687db4a9a769c704d4bb12ef5abc1bf16ec59b887727de543c6dde4cbc07f176c4d3387be2ed8bd7d942565d03af2b9ed3e8019222e58aa74df529adbe880ff103f143f123f16322eb279c8d5503c04fc5cfc4cf29dd7e412d318b9a0370fd92e2391d70eec6afc49f8baf0935c367fa72fe0b7d36b546e8e07588acff6a07b19a2aa889f23b32f376c2151645b64166d08046f4c6048db784ae467620fea289d7d0e99af848af4bf1b5f6efe27f345b665443f99fb61dca90f5bfc4d726fd887fc0d793fd43f17be21f89df17ff587c8da0a5683e67e20fc5d7f65c883f6a6664fc4bead99399f8e346b7d6ea55c9bf12ff5a7c45e456fc090d06ff4efca9f8f7e2cfb818c3a504c5e841fc1df1774df3fe506fa880fb7be2ef37b339338dd011bf2bbe23be2bbec2e7f38b0dfabf47cb171298f7acae77680b13b9819bb7108f9a69b6f445d504b5813780c46bc46a9436a0b3cf13d939a7fa6cc5189f6edf66e0019805a4349955d3e41952addf7dc60978c0db2378d0963ed21abc8287b52cc12325dec117ed3fc1b79abf61af57826f21f61a6453220b396aed8166e002dfd93a06dfcad1da5f81e6ee19ad02ff0e32e49c77e39256d48cc908dc487ec1f1cdd53ae8ed25fbefec0132562f19dc68760d6e2ab9a52f77a2994c28daeaaad1cedb21a3bf166778bf5b553b6adc84c4768473ada10217f8d216a535d38246dc6a64a7e0d4ffb47d36b5a8f7769d59f8d4a67176c0d9143b7996c7f9e8a37dfe8c6b64d5f4efca670fb41b74c0526deaf3331efc0b8010888018488014c8807c2db3a71aa700ca16d93dd3b025500173e011785252a70078065e80571a52b1b02fd71a703ce4d4cc42a32d8025f006e8c8a6d70f4e7b87b7c027a0e02af30dfc809e64cf1623dea18644e79528abc376bfb035e08b767e6b8f769b2a9391ed5f1a69257bc0518b4c6a4cdaa2b462ee37916d097de0b8096c982914380c0005a0dd621f6819437ad92b64710e5c006a36ebf512180357c0357003687b26c01da05969b633e001d801766b64813d39d108fb40c76cac776334cfaea1a31e41b706d7c8053c2e04a89fa6d2aab0721fd184f6ff29371d013ebf3ba2bf66102008a91f1f46046bff10418420469020481164509b577ddfa97a3d4f50cda64c5cd8ab0a390d2fced83ed36851bbaddeeba8c806256556516a4124051582b9d123410b2a43b6097d327a36be6aa9e69fedfa82e015c1a279db37e82058721a69856cf086e01dc107824f045f08be11fc203840a0ede9213892b1b6aa8f400b3e91a19635907882e0b49659ceb6ec3f51600d5965289ec11902b59ce626b02b705d0e65c910c1b96db83b371b6bdf76d3bc699f4570816084e012c118c1156da65dc5f19ac6b2476945708340074c8da915b883fac43abef95adc3d57c9543328b2f40b349f19f7a3f3b30ef5dcc2358207043b06c8530bce530bd19a6a6477db18bbed757723b06a993d04fb20a0f59cf7917610f02b24931659178187c0e7476ab4eb8701c21061843046987012e43693fe27c21461262307618eb0e0da6d265caf4dfa86ec5e3b3fb04764c3126185706e8fbaad4ee8227cb4fd714fecb3aa079add76f679943b4df54469854653fe05dc1637977b2d7a817089f04d49074084ef083fe4b68f5045e11ee11737ce4cb47adf8d2fab63e369cc83cce347db217a4364c31f6a832da05a0a0f56181ab2e1a185f6dac74708fb0ce4b587f0d842f4f604e100e1299a9740d4e8bb045787ca06d9f01cfa238723841a3e467805d6e36625d42d1dd186e7c9eaae30b236405b35917857a1340dabb02ae877d4064476aa2eec862a68156ea8a96c73bd46e02659db60ab238cc60d1f10aa4dfd81509bb387701fda9175dc0fd592d71aea8fea22f410fa88446642fd1fa9de9870c19c1b4112f368cdb5e5d690a49931a8372e4e2f118586c931e18aa216b19e61f86c213d43368a19a4d04409f9fa56f9d5b566a21451862847b43a01f71e7ca9a73d3a4c8ddc6af9178edbc4a16fc2193f45443b20dfe5b86ba63ee3074415d56b27b7a9ac4c3a2ea2392235a1de106dc92c2765f63f388945a75395c039f839916f4e1eeefc207a41f44ab18d16889688de684274cf10bd1b881f469f88be54843902a9efa02eeff2990bc0b727b66c93f36d937ae650db4825bbac77f222fa46f4d3c042793286e0d6401dd8987452237b6094181d6c5f0f9aa8bc3d44a4298f10f5edb52b9eaa80e818d17f851227ed26ad9e5cebaf3240748a481b3944a4705c703a4a453be24208b41328b2dd5b9b5ed1c863736ab5cf569c37d8df125b445788ae39e6e828aaf2556ffe565e6d06ef0bd10da25b4413447788a68814111d36b5e729a6fa13aa2faea3829ac91ead0519aa65c2f5a149d29a71397fb065fded8dbb665b9f2a964885740fd17e834c0de5165c9d9ad944b68bc8d920b70df75ac6e7d7cfd46a8a03f0e53e4ed4228e10c7bfa019e56aea42bbd5e129e214718638475c202e115788e7881f113f1171edbf5cb9e3ee78c41455c42f885f955472d57a45bcd0e188935b9b7ab6b9ba88974c95be7264579f6aa699bc71988ad5a9d943fc81f813f117621d4eb57475224e106b5b76106be57b888f6884c57dbebfcccf405c99c0ced6c88eca661f6a38417c8c58930f0cab169ff8d478d740f356e819b2f1d916a6f110f1b93117e49bc073468b47882f118f11db51be6a5ec4d7747e76aea90ab4a7c437886fa1237e7c87780a86cca0dd3cd696ec22d6a6daab01d37043a227f6fe8a6df5d1b6755c02aad26a928bb883b88b582be09a19eb6e1a092db81e625fdd337ef34e8d747f4cd32a099084489489912448520efd893a66732479836c52202991544834f091665c2db09c2bb0e5f1da4cd6ce943c2179a6694464bc06a52d41dc849554237bde50f262cc05c533b15c92450bab85274b246f48de917cd49e18924f245f48b4ec1f240748b4ba3d244748fa488e919c2019203945720635929273fe067f0938545776b5ea23249748c6741092ab0dba4672439d90dc2299fc3194add42e473ffa66f71ca0923b330914eb29927b2433243aa67dd17a8d3df114d09d06df44e3548d1eb8b3d7c8b9467bd1a817b5e75460675d247b48f6d738ac990b42a428d7d0f1dac8a5219b742cb463806a2e8e5d5debfee7c6775af290f8fc1662da9e7ca25d2c0d90864823a431d20469aad61fd20c698ed43e0cf21fbf387588b4445a219d237d44fa84f419aa1c3c5701b5b91863d442d0ce9e2ec4d5eb92c6ec96d7d0920c90be217d47fa81f413e917d26fa43f480f906a413da44772fc4e63963ee0bb519f86577a8cf4844b099bd2aab02aa9239b6ab6a748cf0c4143a386a5c68ad78e41b468426ad0233b1711e990ba838f8d7ee56b263d477a817484f4b239764ac77a5743c648af905e23bd417aabea09e904e9dd6f68d2843040a748ef91ce903e20dd41aa49f690ee23eda879db20dbd9afc145aa453b344e5357c1ad976afe34c2524f659660a50b8a6aeaf35398ea426701b21059842c5633801a001e7f832c419622cb90e5c80a6425b20ad91cd923b22764cfc85ee8cd67afc8166b40fea64db81a9449866cb644f6c61864de8df9e0e3ecd3c89e36210b645fc8be91fdac5f135513da99213b407628c7c7ecf2bf02faa299f4c4b9b7961c21eb233b4676824c8b3b4576866c88ec1cd905b211b5adc9ac2d7399f06697c8c6c8ae905d23bbe1ec4ce3e6b622ac32abea22539a70d4caee904d9169715ab707f114ac1df11438056b0fd93eb20e326d91834c33f7283199cf8f92e6401ef0563d23b67dd9809087a4152635a67504656a7c1b183f348e219b474d823a31d3b719e9a35588465099cd63e409f21479d668c93c475ef025c75f015df8e25d202f9157ececf91cf923f227e4cabf207f45be40aec5bd217fb7fc3f906b4dbe6a4c917f23ffb161ed1df901e551fb7834694cb1ee15f243e43dd31215f223e47de4c78435d78a0d909f52cfe6675c3c3fd1c021722d42eb33427e897c8c5c73b86eb1bb31106e36a0b8d968fe728dec1638b76bdcd6e8bfd7c8de58a49b36a3d535da606e5a9a20d72a4ef9fec27f356391dfcbe50ef21925347f40aefc2ef23de4fbc83bc8bbc81de42e1b967bc8fd7533b4b585d802ad3efd21b29c9a713917a6e016017b7a11a28850c4281214298a8c8016398a82b0aa922d4a1415e5b798a378a469553ca17846f162dfccd5db57140b965e2c375a17aef91ae5e20dc5fbfae99a6f892135ca8652f151a7adf5ec398a4f5213f5cbae9f4c53d47274b3ceb1d03afda0d0161efe8ea98a73d1437184a28f425b7b826280e214c5198a218a73da6dc50585b418a1b8b452c6a6c1cf9b12490aaeb6f9a646d660bde5ec81bab96a5a158a570ddfd410bc3703606a70cfe81d140f2876a813d4e42a7639a19e8c51eca1d847d141d145e118a69aadc7466db6b1ae4f1db8c58f3740b0c0c26fe3fb04adc6900c63d632eb378f99deb70435ffd55c730b6432dfbe8a0c9401ca90072faec7a5679411cad8067ae5139429ca0c658eb2405912d0b2a22e2be7281fd9a4f2c944d56f0a6daad8f2a566f2c21d05dd7394afe26a65baf51a17f028fe35a7c1ca058dd6724903ab7ce310a7666ca9693f507ea234e8cb6f1a00e50fca039487287b288f28a76c48bf6ddd57d3eabc6d3e430ca3bcad4f0d4e73bbc264bc9d76dc322b6495ca6303ee18e549d33ce5578feaa70d3fa0e895a7766efb1b4a6de190037d794e355a5ea01ca1541cc728af505ea3bc41798b7282f2ce84b4ce47dbac49664de6f946714da177281f50eed443bf7455587aea89a1dc154fc76bcd730fe5be4d33069cc32d3b66c00694e5b28bd2a1e40629b8ef5e7f6017a5b706ee6ffa355ca1a86bb5426315ad81ebe4f74c4a3bedc4da261c3a98f863ddce5fa86fd77b0e62a56f5ff2d691234015a28a50c5a8125429aa0c558eaa60a7ab4a5415aab941b999c931aa47fe482cabbfae401d21b7ce513da17a46f5c2715f0654056a7239c74456872f3fe3c2816a861ad97007d52b0731d5b3d582925b2d6960556fa894ffd82abd2e94286c873735f1d795fca3ceeb1c3613cab6707cac90ed6fd0766c32d3365c9af0ea13d517556df58deac7e8806ab43a44d5437584aa8fea986ab43a4135a09c6e55ab6f217daab9ea14d599dd4e510ddbfccf9b084afab4ba4035e22242f7d296bb17e2e92f7729ce0167c288ec25dd5fb5b7d472e0e4d68457f589d568adc6a8ae505daf0bd5cc577cd3a8ba475e36f5d46b1d879187dba2306cdb325937a70ef92bdb165966616d5b517ddb14336d88b7035437a86e4d2a27a8544034e63daa19aa07542a38bba8f6b6e2b33c69206bf21f3495504b43152ea30d9b826a949b764ead384db58faa83aa6b3b0a5ec5f95c235b399c8725b2d766932d50e90fe6712db2f2a9f4d5ec5e57a62d85d90ead4ac3b6518316b8e956fcba26ab380d7f6b2d3299d3c09adfc4b09cd6c84eb768856c4d7334543f221f601e621e611eb3cbcf13cc53ebf5376daf9f6ee5b0c9ff4175b6bf96fe47aa7986798eb91657422e68bd8653221b964436b035cce8519c1f2e379c6add2acc15d6c7a6ceffab0afc1d327fdab89db3a5bf66b291d690ad1fac105cdf3eb333ae6eb7f27ac1fcd5c47397cc7cc1980c5f1a81d726045b69ff085c3d5266555693cf467dea540c7fa3853f7fc7fc03f34fccbf30ffe6dcca5c35d29b9c2d303fc0fc90bef2bcc71ffb3fc277f6671d5675feb56e9badf83bb7cd90b6b644f6ea4dfe9ffecfe97ffef5cf7ffc1b920e8074</data> + </image> +</images> +<connections> + <connection> + <sender>btn_Exit</sender> + <signal>clicked()</signal> + <receiver>tb_Main</receiver> + <slot>close()</slot> + </connection> +</connections> +<tabstops> + <tabstop>lb_Main</tabstop> + <tabstop>KBFXNewsBrowser</tabstop> + <tabstop>ws_Main</tabstop> + <tabstop>btn_Default</tabstop> + <tabstop>btn_SaveApply</tabstop> + <tabstop>btn_Exit</tabstop> + <tabstop>btn_Help</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">qstring.h</include> + <include location="global" impldecl="in declaration">qpainter.h</include> + <include location="global" impldecl="in declaration">qimage.h</include> + <include location="global" impldecl="in declaration">qpixmap.h</include> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgmain.ui.h</include> +</includes> +<variables> + <variable access="public">QPixmap img_button;</variable> + <variable access="public">QPixmap img_themes;</variable> + <variable access="public">QPixmap img_fonts;</variable> + <variable access="public">QPixmap img_style;</variable> + <variable access="public">QPixmap img_tooltip;</variable> + <variable access="public">QPixmap img_search;</variable> + <variable access="public">QPixmap img_plugins;</variable> + <variable access="public">QPixmap img_about;</variable> +</variables> +<signals> + <signal>KbfxConfigDlgButtonChanged(const char * name, const QString & path)</signal> +</signals> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="10" margin="10"/> +<includehints> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgmain.ui.h b/configdialog/kbfxconfigdlgmain.ui.h new file mode 100644 index 0000000..ee5fe64 --- /dev/null +++ b/configdialog/kbfxconfigdlgmain.ui.h @@ -0,0 +1,24 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgMain::init() +{ + img_button = image1; + img_themes = image2; + img_fonts = image3; + img_style = image4; + img_tooltip = image5; + img_search = image6; + img_plugins = image7; + img_about = image8; +} + diff --git a/configdialog/kbfxconfigdlgplugins.ui b/configdialog/kbfxconfigdlgplugins.ui new file mode 100644 index 0000000..81db2aa --- /dev/null +++ b/configdialog/kbfxconfigdlgplugins.ui @@ -0,0 +1,390 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgPlugins</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgPlugins</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>660</width> + <height>217</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Plugins options</p></h3></b></string> + </property> + </widget> + <widget class="QGroupBox" row="2" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>KbfxSelectPanel</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Select KBFX Panel</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KComboBox" row="0" column="1"> + <property name="name"> + <cstring>KbfxPanel</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>44</height> + </size> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Plugin to configure</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Plugin to configure</string> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>44</height> + </size> + </property> + <property name="text"> + <string>Please select the panel you want to configure: </string> + </property> + </widget> + </grid> + </widget> + <widget class="KActionSelector" row="3" column="0"> + <property name="name"> + <cstring>KbfxPluginSelector</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="availableLabel"> + <string>&Available Plugins:</string> + </property> + <property name="selectedLabel"> + <string>&Enabled Plugins:</string> + </property> + <property name="buttonIconSize"> + <enum>SmallIcon</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="3" column="2"> + <property name="name"> + <cstring>layout3</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxConfigurePluginButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Configure Plugin</string> + </property> + <property name="accel"> + <string>Alt+C</string> + </property> + <property name="toolTip" stdset="0"> + <string>Configure the selected plugin</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Configure the selected plugin</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxPluginInfoButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>&Plugin Information</string> + </property> + <property name="accel"> + <string>Alt+P</string> + </property> + <property name="toolTip" stdset="0"> + <string>Information about the selected plugin</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Information about the selected plugin</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <spacer row="3" column="1"> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxConfigurePluginButton</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxConfigurePluginButton_clicked()</slot> + </connection> + <connection> + <sender>KbfxPluginInfoButton</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPluginInfoButton_clicked()</slot> + </connection> + <connection> + <sender>KbfxPanel</sender> + <signal>activated(int)</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPanelSelected(int)</slot> + </connection> + <connection> + <sender>KbfxPluginSelector</sender> + <signal>movedDown(QListBoxItem*)</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPluginSelector_movedDown(QListBoxItem*)</slot> + </connection> + <connection> + <sender>KbfxPluginSelector</sender> + <signal>movedUp(QListBoxItem*)</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPluginSelector_movedUp(QListBoxItem*)</slot> + </connection> + <connection> + <sender>KbfxPluginSelector</sender> + <signal>removed(QListBoxItem*)</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPluginSelector_removed(QListBoxItem*)</slot> + </connection> + <connection> + <sender>KbfxPluginSelector</sender> + <signal>added(QListBoxItem*)</signal> + <receiver>KbfxConfigDlgPlugins</receiver> + <slot>KbfxPluginSelector_added(QListBoxItem*)</slot> + </connection> +</connections> +<tabstops> + <tabstop>KbfxPanel</tabstop> + <tabstop>KbfxPluginSelector</tabstop> + <tabstop>KbfxConfigurePluginButton</tabstop> + <tabstop>KbfxPluginInfoButton</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kbfxthemesdata.h</include> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">qstringlist.h</include> + <include location="global" impldecl="in declaration">kstandarddirs.h</include> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="global" impldecl="in declaration">qlistbox.h</include> + <include location="global" impldecl="in declaration">kbfxplasmapluginloader.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgplugins.ui.h</include> +</includes> +<slots> + <slot>ChangeForm()</slot> + <slot>KbfxConfigurePluginButton_clicked()</slot> + <slot>KbfxPluginInfoButton_clicked()</slot> + <slot>KbfxPanelSelected( int _sel )</slot> + <slot>KbfxPluginSelector_movedDown( QListBoxItem * )</slot> + <slot>KbfxPluginSelector_movedUp( QListBoxItem * )</slot> + <slot>KbfxPluginSelector_removed( QListBoxItem * )</slot> + <slot>KbfxPluginSelector_added( QListBoxItem * )</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> + <function access="private" returnType="QStringList">KbfxListPlugins( int panel )</function> + <function access="private">KbfxSaveSelectedPlugins()</function> +</functions> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kcombobox.h</includehint> + <includehint>kactionselector.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgplugins.ui.h b/configdialog/kbfxconfigdlgplugins.ui.h new file mode 100644 index 0000000..40153d9 --- /dev/null +++ b/configdialog/kbfxconfigdlgplugins.ui.h @@ -0,0 +1,157 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ +void KbfxConfigDlgPlugins::init() +{ + KbfxPanel->clear(); + KbfxPanel->insertItem ( tr2i18n ( "Left Panel" ) ); // index = 0 + KbfxPanel->insertItem ( tr2i18n ( "Right Panel" ) ); // index = 1 +} + +void KbfxConfigDlgPlugins::ChangeForm() +{ + KbfxPanel->setCurrentItem ( 0 ); + KbfxPluginSelector-> selectedListBox()-> clear(); + KbfxPluginSelector-> availableListBox()-> clear(); + KbfxPluginSelector-> selectedListBox()-> insertStringList ( ConfigInit().m_pluginsLeft ); + KbfxPluginSelector-> availableListBox()-> insertStringList ( KbfxListPlugins ( 0 ) ); // list Left Panel Plugins +} + +QStringList KbfxConfigDlgPlugins::KbfxListPlugins ( int panel ) +{ + QStringList _plugins; + _plugins.clear(); + bool _not_present; + QStringList::Iterator it_available; + QStringList::Iterator it_requested; + + KbfxPlasmaPluginLoader *_tmp = new KbfxPlasmaPluginLoader(); + QStringList allPlugins = _tmp -> scanPlugins(); + delete _tmp; + + for ( it_available = allPlugins.begin(); it_available != allPlugins.end(); ++it_available ) + { + _not_present = TRUE; + if ( panel == 0 ) + { + for ( it_requested = ConfigInit ().m_pluginsLeft.begin (); + it_requested != ConfigInit ().m_pluginsLeft.end (); ++it_requested ) + { + if ( ( *it_available ).contains ( *it_requested ) > 0 ) + { + _not_present = FALSE; + break; + } + } + } + if ( panel == 1 ) + { + for ( it_requested = ConfigInit ().m_pluginsRight.begin (); + it_requested != ConfigInit ().m_pluginsRight.end (); ++it_requested ) + { + if ( ( *it_available ).contains ( *it_requested ) > 0 ) + { + _not_present = FALSE; + break; + } + } + } + if ( _not_present ) + { + _plugins += ( *it_available ); + } + } + + kdDebug() << "Available PLUGINS: " << _plugins << endl; + return _plugins; +} + +void KbfxConfigDlgPlugins::KbfxConfigurePluginButton_clicked() +{ + KMessageBox::information ( 0, tr2i18n ( "<p align='center'>Not Implemented yet.</p>" ) ); +} + + +void KbfxConfigDlgPlugins::KbfxPluginInfoButton_clicked() +{ + KMessageBox::information ( 0, tr2i18n ( "<p align='center'>Not Implemented yet.</p>" ) ); +} + +void KbfxConfigDlgPlugins::KbfxSaveSelectedPlugins() +{ + int _selectedPanel = KbfxPanel->currentItem(); + QStringList _plugins; + _plugins.clear(); + int it; + int _num = KbfxPluginSelector-> selectedListBox()->count(); + for ( it = 0; it < _num; ++it ) + { + _plugins += KbfxPluginSelector -> selectedListBox() -> text ( it ); + } + kdDebug() << "Selected PLUGINS: " << _plugins << endl; + if ( _selectedPanel == 0 ) + { + ConfigInit().m_pluginsLeft = _plugins; + kdDebug() << "Saved to Left Panel... " << endl; + } + if ( _selectedPanel == 1 ) + { + ConfigInit().m_pluginsRight = _plugins; + kdDebug() << "Saved to Right Panel... " << endl; + } +} + +void KbfxConfigDlgPlugins::KbfxPanelSelected ( int _sel ) +{ + KbfxPluginSelector-> selectedListBox()-> clear(); + KbfxPluginSelector-> availableListBox()-> clear(); + if ( _sel ) + { + KbfxPluginSelector-> selectedListBox()-> insertStringList ( ConfigInit().m_pluginsRight ); + KbfxPluginSelector-> availableListBox()-> insertStringList ( KbfxListPlugins ( 1 ) ); // list Right Panel Plugins + } + else + { + KbfxPluginSelector-> selectedListBox()-> insertStringList ( ConfigInit().m_pluginsLeft ); + KbfxPluginSelector-> availableListBox()-> insertStringList ( KbfxListPlugins ( 0 ) ); // list Left Panel Plugins + } +} + + + + + +void KbfxConfigDlgPlugins::KbfxPluginSelector_movedDown ( QListBoxItem * ) +{ + /* save current selection */ + KbfxSaveSelectedPlugins(); +} + + +void KbfxConfigDlgPlugins::KbfxPluginSelector_movedUp ( QListBoxItem * ) +{ + /* save current selection */ + KbfxSaveSelectedPlugins(); +} + + +void KbfxConfigDlgPlugins::KbfxPluginSelector_removed ( QListBoxItem * ) +{ + /* save current selection */ + KbfxSaveSelectedPlugins(); +} + + +void KbfxConfigDlgPlugins::KbfxPluginSelector_added ( QListBoxItem * ) +{ + /* save current selection */ + KbfxSaveSelectedPlugins(); +} diff --git a/configdialog/kbfxconfigdlgstyle.ui b/configdialog/kbfxconfigdlgstyle.ui new file mode 100644 index 0000000..df866a9 --- /dev/null +++ b/configdialog/kbfxconfigdlgstyle.ui @@ -0,0 +1,505 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgStyle</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgStyle</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>622</width> + <height>467</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Menu type</p></h3></b></string> + </property> + </widget> + <widget class="QButtonGroup" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>KbfxStyleGroupBox</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Please select the menu style</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <spacer row="0" column="4"> + <property name="name"> + <cstring>spacer4_2_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>53</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="0" column="2"> + <property name="name"> + <cstring>spacer4_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>38</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QRadioButton" row="0" column="1"> + <property name="name"> + <cstring>KbfxRadioButtonKbfxStyle</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>KBFX MENU</string> + </property> + <property name="checked"> + <bool>false</bool> + </property> + <property name="buttonGroupId"> + <number>0</number> + </property> + </widget> + <widget class="QRadioButton" row="0" column="3"> + <property name="name"> + <cstring>KbfxRadioButtonKdeStyle</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>KDE MENU</string> + </property> + <property name="buttonGroupId"> + <number>1</number> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="2" column="0"> + <property name="name"> + <cstring>groupBox4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>KBFX MENU</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="1" column="1" rowspan="2" colspan="1"> + <property name="name"> + <cstring>pixmapLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>293</width> + <height>334</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>293</width> + <height>334</height> + </size> + </property> + <property name="margin"> + <number>15</number> + </property> + <property name="pixmap"> + <pixmap>image1</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <spacer row="2" column="2"> + <property name="name"> + <cstring>spacer7_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="0" column="1"> + <property name="name"> + <cstring>spacer9</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="3" column="1"> + <property name="name"> + <cstring>spacer9_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> + </widget> + <widget class="QGroupBox" row="2" column="1"> + <property name="name"> + <cstring>groupBox6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>KDE MENU</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>5</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLabel" row="1" column="1"> + <property name="name"> + <cstring>pixmapLabel1_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>293</width> + <height>334</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>293</width> + <height>334</height> + </size> + </property> + <property name="margin"> + <number>15</number> + </property> + <property name="pixmap"> + <pixmap>image2</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer7_3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer7_4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="0" column="1"> + <property name="name"> + <cstring>spacer13</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer13_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> + <image name="image1"> + <data format="PNG" length="92583">89504e470d0a1a0a0000000d49484452000001260000012b0806000000735a2e040000200049444154789cecbd79981cc775e0f98bccaceaeaeaea6e34ba1bddb80f822040108728922078811c5214254a322ddb5a6b24ad7578bc92bff5aec7df7ee39df1ec7edfcc78f48d67d6b333e3b5bcf658b24589926cc9165792295a9478481429f0024f80c47d74a34ff455ddd5756466ec1f794544665537204af4672248746546bc78f1de8bf75ebc888c8c14bcc5e9a5975e8aaf77efde6dd56ab57ca351a75c9eabaf59b3ce7f0b49bb9c2ea7cbe92d4ad6a5543a76ec188d460329e54ffdefcffeeccf84e77937f9beffee13274efce1c8c8c813e3e3134fccceceddf5d3e075dd069585f9375b5e97d3e57439fd1c927349b5845803acb8d4463dcf132fbef8e2afb9aebbe9631ffb98e3baee1d4288eee9e96911c14829ff79b95c9eecececac5e623312380d2c5e2a9d97d3e57439bd35e9921c9394f2ff04fee9a5366adb367bf6ece99452022084c802bbc7719c5b081ccca5a48694f25ee0279758ff72ba9c2ea7b7282ddb31b9ae4ba552e1c489130868033a7faa869d65355dba54fc52e24a798911e1e574395d4e6f69726e3b7020b062d7e5939ffc149ffad4273301abd5aa00ae1542145cd71dfcf99279692997cff937df7c33b6632b719700244280d462b1205fbd8b2e2461910e92911480f0526f4704ff870865463574d0a4ede5a62634aad9fab5502951e0854e630a57f23793448d8ee4466b2fce3689ce906354cf6444ad234184309250f00a8122ec0cb9247fa64c96ec781d346a2fa0a6455d5317d3d26ca21a8668451378d984f250095b745a4b191848b37420d28e5612485b5c02eb208440ca01a0cdb66db36e0ef838305028140a9ee7de2ba5ecac542a7693e9d7b293effb542a152a950aaeeb6a659665512a9528168b58d625adcf03f0d4534faf01362639d9345f84da5d12fc9b9f9647c1cf8cce9426fe8c5a12caefcf58e03f4d133f55dd659bd125b672913ef56721e65638339c530d187390320ffc8510e2da8585797cdf579d81f0a1dff525f30d9fc9f906a7e66aaccc5b1721d0749a9898e0e4c9931c3d7a94c9c949cd31f9be4fbd5e677070906ddbb6b173e74e7a7b7b9bad43354daeeb3adff8c637fe3b504f3857c612455a593e3da34a7cdd5cd029a4465426a3ff9b563340976e6769125ad6ce8e199ae743c4932ab50c5893ef2cbc994256ee35d00ce147516c4294126166c127ad3769314d6326748bd22c9a5bd44ce94753dc4d706921753afa9599d5b2956bd932904d4b8cbc283a6d0593ba7b01b8cf414a01f422c4aad3a74fb3b0b0407ba993e1f93a73758f999ac742c367d1f3299717189aaeb2a7b71086c2179fce9c39c3a143872897cb944a1d5c73cd4e7a7bfbb02c0b2104beef333535c5e9d3a7397cf83067cf9ee5d65b6f65d3a64d17dd96eb792b1275159a1e079d23f4d13f25c1305304d772395c47f6207468299b8f8eadca92cecd0208e9933260250ae9c3305d864805e0938e176379a8bc2bf29009eb013f329e8712c913a58a2e60b55469408679ca14570893169390004885d798306fd47ecd040d1d82486b451a3294ab50f3854e666607a6b42dac996e4518a29222107e4c9b815af3e71111e175134d37504450521175a02531bf1164dcef690ad489a2487196e63dba09bb33bc35ec047a01e1844552004343e7a82c2ce0b59578666c819a176942f0d39032b31b97937cdfe7e5975fe6f9e79f67ed9a35ecdc79353d3d3d789ec7dcdc1cd56a0d210442083a3a3ad8b367378383831c3d7a94071e7880db6fbf9d7dfbf62d77d15c114468a4e6d81e5b5c6ad04d4fa7a3b50a698c234bc4bed218aeb45ba36edc845696d5b9c955b036914406a9a842ea3c2b3595b9bfea30483b27b2af63c14983d4943f92097c0ca6470a32763c06fda680cc4b5586dada8e8ce94a4f157486d4812b763251bd983f692cc918864dd20fba18a235b870c545a8b40bcc7046a733a5b14189d47354c8a823cc7a91df891dbb895deab4265aae0eacba2f08cc4773f51a55592b976a5f440e30a24524fd2f05024bcaa48172b9cce2e222b6058e154cd78445ec3084252e690a27a5e4c891237cf5ab5f657e7e9eb5ebd6d2dbdb4b5b5b1b854201c771989d9d61747404cff328953ae8e9e9617070808d1b36303737c7030f3cc0f1e3c72fb6e15808e932fdd2f4eac9a5692cd9701755d6a43c6d8fd2286de1e82e2aa94ad38a908c0293a46675d2de30becdee8f66085aa426e251db489b7e33bcd230341d345d2bd1ad56bd14dc87b05a814cd791e9320d40a6e990ad9457adde921735dfa05e9a4e07535499989a9a8b36e829536bc3c9692bcbd55a8d3367cfd2660b3a7222888845e08c8490e1afb898153b00c6c7c7f9f297bfcce1c387e9eeee4200f3e53233d3d30c0f0f73ecd831ce9c39cd7cb94c5b3e473e9f0724c5629152a9c4e0e0202fbdf4127ffee77fce850b172eaa6d19095126bd2ba58c8522953c553044bbc843a1491969455216294a7c2d950623c147b7eace7445cb2218143893cea80be3ffa4f22b157a939af155cc91ca0b0a4d6aadd83a62c6121e0c9c2a9d092c0aad91cc956a32a14f95a7fa9fca3ba912a50fa2dc58dc7a7f24f4a1c16876acf57104a7f753366de8f4ab7862b6a5dabc22079d8618b7446b29d1274377637dd3ff453a10f3a04a49d14d4db7d53e54fe66b99544ec49ff2baaaed196d24199b4a2eaabd9426217124735c85ab5ced1a347b9edc0014a799b899a17f8a0e00f425817bd08ed791e4f3df514dffad6b7e8eeee6662629213274ee0ba2ef97c9ee999191e7dfc47d45c8f35ab07717dc90ecf637e7e9ea9a9296cdbc2f3dcd8b9dd72cb2ddc77df7dcb6bdce8504dde4a46ac244ab8aa2a6f522590b0ef87aff00981150e01beef212c2b511cc2b9b3a2e451e419e09048fc104de2eca594f8be0c6f453ce94a1409acb03fd40715be94e04b84154d963446755e8ce153e350b322454e328d339882a9b012435a6905d49ad6909ac5465545fd4d1c318932835d9d57b3cf5546625cd19cc3a42d9e8b64d3929e6e663827054e574715572247ad3b44baae4a9256a28767c9dfa6241bb6d0ca3999d435695bd397ac7ece08bb64c89513732cc1f35c262626104057dec6b12da44ca6c39193ba18d7542e9779f0c1073975ea14bdbdbdfcf8c73fa652a9d0d3d383ef7bcccecdd3b9762bed9dab69089f99bae0c5175f6666660acbb2999b9be3e0c1834c4e4ed26834f8def7bec7810307e8e9e959b2ed0c15d44a92654219f217adc849a52c8097a156168b45fafa82c5fa7ab5c2c4c4245836fd7d7d4c8434ae5cb91229617a7a0a61e5e8ebefa3a390637e7686a999398465b16af500ed6d6d4824735317982d2fe0036ded25fafa56624997a98949166a754050eaea61654f37d26b303e3e81eb7b0c0e0e3275e102d55a9dae9e5e3adb1d26262668b87e12d4264cc43a25b405d5444ac9e276760f4b92e54ec546e21585643d456f37ce50165153f061b9c40cc823a516c1a2b081b6f90309a99020624308c60575d136665e813396c84448ab14a9169a5a83940aafc9482784594bc630a98578852e5514f162799aa40c2924ab4ea9abc8f4a540440f4c087420cd975468046d8151987893c15128f4c730d1202204490faa7291d86bd7af73a42f3fe1fbfe5acff31858b58a03b7dd86b41dce2fbaa1230a14ca6b34989f9966a060b375fd9a25a3a74aa5c2134f3cc1e73fff79262626a8d56a341a0df2f91c1313930c4f4cb36dcff5dc7bdf0779cf2def64dfb5bb68ef5cc98b2fbdc491d75e65767a8ac9c9495e7ffd75868787a9d7eb4c4e4ed2d3d3c3a64d9b28168b4ddb765d97871f7e98b1b1b18b8af25aad67bbaecbfefdfbf9ddfffd77a9bb92bbeebe9795b919661624fffeb39fe5b9e79e6372f2029ff9cca7b9e69a6b78fae021ee7aff2ff3de7f72032bfb5773fb1db7236747999899e7df7ff6b3ac5dbb96c17557f28177ddc0e1c3afe11756f1b14ffc8fecd8bc86cddb77b3ffda1d9c79e308d68ad57cf233bfc515fd9d6cbafa1d8c8f8f610bf8833ff8030ebdf412b9ee35fce66f7d8675258f236f9ca0e6663d83fbd9a6b4dcccd5f074b6bac09c5ef8bfc8f6948c65a2585efa2991fd7c7b61992983a75674bea9f2d4108b2cc4c302f197d6e0c020575fbd835b6fbd957beeb987ed3b76506fd4293a168e00f0030f1ace36c259c492696a6a8aa79e7a8a871e7a88b1b1312098028d8f8ff1ccc16738373c8237780d63bd7b383e23f1a4a0e25a9cf73bb9f2c6bb58b56507af1f3dca134f3cc1f0f0708cb75c2ef3d24bc1d3bd73e7cee1795e531ab4758674694691b90a61ceb725f97c9e7aadcefd5fbc9f23474f73dbddefc7711c3a3b3bc9e572d8b645b158a42d9f63f0caabf8c0fbefe6e0b7ff862ffee5fdbcf0c63c1ffbb50fd2d1d14647478983070ff29d87becf96abf7d0d3d7cbfef7fd0257f5e4f9fafd7fc917bff437f4acdfc33d77bf93f5eb06b9e5fa6b3877e228df7fe8414686ce603b36a55227dbf6dec2673ef561865ef8015ff9c677292f36e2f1471abcc5ffa4999f219be5e4c573037d0a17e5a5eb446b4bfad4429b3828f5b2e94fe09bb161ae2f65136e4c47d2942aa0929444538dcbcceb0c4a1590a5e4dc4277d536b2a6e81a9c21c9ccae6ca62fd9928a24d23c35e14d553f69ca2c28f4a5c4f98f7ff01fe9eeeea6bb7b05f54683d1d1512ccba6dd1674e42c6ab52424c56249a7343b3bcba953a778f6d967a9566b9c3b3744ad568bf728351a2ed75d771dbff06bbfc9438b9b797832c7582ec7a42571259c9ab6e8b17a5977d37ddcb8f71afeeafe3fe77bdf7b245e4fa9d7eb8c8e8ef2da6b873971e224dbb65dc9f6eddb59bd7a35193bd79505657d844ec2e3b400b5c7f0241d2065e05cdbdbdbb9eefaebd9b8692343275ec4f73d72b91cf7dd771f5353536cbb721b875e3cc4ba951d74176c5e3e3789efd5193ff93cdd1ffa344ebe1d292577dd7517d755040b13c3cc8c8ff29e4d7d9c9d1863bc5cc317e7294f8dd2b7690fa71ffb5b9e3ef43abff4f17fc62f346afce0db0ff0f83347b11d870fffea879838f4777cf3db8f305bf5b1d4c7ee192a123f2aceb26a7568549f4b1b6b2b99c8a5f9fa4396e36ffe18bcd97d341190265c3cf5c07cd2af80b5724e1af14d4ad38e48aa4251f52a8527db30355e2ed53909653a144169ce4990da57908167393959c3834a87ae4b666ca5cb47d53d99051ed591e06cddba35b8ad57589838c6ec6b4fd1eddcc1ca8ddb29e62c2ed43dacf8c95cb86d4069484daeebf2fdef7f9fa79ffe099393938c8e8e70f4e8515cd7c5f77d8ac522b7de7a2bffeb6fff369d1b76f0d0d353e4a4cf68ad9d89511f4b80acd639519ee3c6419b0feebb819ea243b95ce6bbdf7d1808a6874f3ffd34a3a3a3747474b069d346eebefb6eeebefb6ebabbbb534c464f0f6267635aa9299370735bb24660ae06405b5b1b1bd7afe6c5a7ff9ee70e1ea4a3a79f46a3c1b7bffd6d4e9c38c19ad5ab716c8b91d945e6eb3edb56753236bb40f7daab59183f86575f440878f4d14779fde404ffe50ffe37bafb06383c3cc381c10e56146ce6ec3e8a5dfd8cbff12c0b1746f9b33ffc7d3a7b06f8f0477f9ddbef791f3f7cfebfe2b90dbef9adbfe7b67dbbf9e887dec717bffe10738b6eb8381e4b20e121e2afd9aa8c54d61ee2cd9a04bb3391b16797643d98958a1aa6e51a2c8c246d27d069f878b521ac974c4ca3d0dfe0411b850d12421c326ecb584f8c603248576ba580e345d7503c442b30e6da19715eda79e9eb34610719cb7432e13b5a1093e0a7d6a9542afda4ffb20422a362a1e5e96427f28f9d703cb227a4ebf855479fb61b937f29151ea442b2884f17908c3cf27f33f4c81f333e334fa9fdbfd0b7713b1d8e8d6db9f1960147081c4b662865902ccba2a3a383bebe5ec6c7c778e38d37181b1b8ba75b3b77eee4d39ffe34bb77efe6f4e43c76a346bb9da7202a74b439e07bcc7915166a0dbc5a0de975b367cf5e3efa918f70ecd8314e1c3f812f25f57a8dc1c101b66fdfceb5d75ecbbe7dfb686f6f4fd1a33e71501eb8a515c470f2b12299239a94f8becfc4c4040f3ef820b55a1d2160f38a3eeaf53a8b8b8b542a15aab51abe940cbdf13a0f3ff2236effe087587776822bb7afe56b5ffe5be6e6ab341a0df6eeddcbea0d552686cf509e9de187dffa16577de243fcca473e42cde9a2367392ef7ce7c76cd9bc917bdf7d1767ce4f221a655e7cea793cb741a351e7e5a71fe1d00b87f8adcf7c9c8f0bc117feea3bcc57dd446d234634dd517832d77c4ca1348942b2a603e90a59d9e608bc44b4a2fc689bf6520408326936da8e8d247b3ed39492ecc13d9b97f8af46925483ac748371f4a53e1935364baace43664dbd9addeb6599ba1d17e875a2c5ff382b8ac464135b52286faa22615bc2e441b15127baf416a67167471035981d7a1da4cf8abc45de0e6a08405a929c259a1e7b695916f7dc730ff7dc730fe7ce9de391471ee14ffee44f78eeb9e728163b78ef7befe5a69b6ec216821a368bf94e568a794ab9766c214148ba0b82aaed5271ba7125e4f3396e3b7080f7bef7bd7ce10b5fa05c9e67dfbe7d7cf6b39f65fbf6edad5837926250eae8644a459b6e24b1a1243847eaf9e79fe7cc9933f8be8fe3d84829191d1be35ffddeef31323282e3d87cf94b5f0a6ab915bef3d7f77368fd5a3a8b6d3cfdc4239c1f9b0461f1fbbffffb148bed80e4b1bf1b6374e2029ebcc09ffcf19fb076cd00b67419191e62ba5ca1bde2f1edef3d4e7b5b9ed75e39c4d0d9211a12fef5effd6b868686a82cbec167ffdd597ada6d5c57260a14b32512df140fca5203430afcf8a997390266451a4d0c3bdaf640f2b4253b093d58c81a79b55721c2e1428d1c62da02472394276bcaf3d63882916a04a0922d93ed196a2497d40d2c40738ea6af5746eb24ca517917dae0a8b21b901514fa427d3aa70f13916403c7a04456115ea1cb04935545acd290b730e953b9555f5131f94e251993a8475f5209fcc2be4f0847ed4f1fe53ca6d215fb71f26dd8b51a0b234791ae4b8713ac35b952620b10b6206fa34d159aa5f5ebd7f3bef7bd8fd70e1f6664f82c1bd7aee0c08d5753c883ebb908df63659b4f67638aceca14337200cbafd3539fc2c9e529399df89e87dba8d35ec8f38e77bc830d1b36727e6484ddbb77d3dfdfbf240dea6639a3a08568b3469a246f7676969999692c2b59cfaad56abcf1faebd8b6054230142ed6db9685d758e4f48963a1f28b60df91f43976ec788c57080b2bdc7f343f3bc9ebd313480156b86fac5aa970ecf5d7891eb106f9f0fa1b6f605b3642c0f8d019c620ded794bd07282d82c40464a2b82aa4404326536b49a6f854636a3566aa38d379f17dd690da24ea50a380667f917a9dacba11edba0166c8308da009a4893b8d20c94be2aeac099256a3995a6722ce22452ab3c90cfa9ab71ca4968a409ad12cfdd2098f819cf3e7cfd3d3b392f6353bc99556e2cc8f509b1ea23a3f4d47f72a3a1d8b45cf0f1d13b409b096f64b00747777f3a98fbc871bd69f60857d9a6b7a9f474ecce2e6af60056bd95bac316cad606b5b996e318c101623f936cab90eae699f25d7a851bf700cdbf2b969678e7ffe899b199ef4b8f3de0fd0d9b9cc73eab4a73cea8e09451e221921017ddd50e883ac806023a532740802272465002b8445b036128cc4d18648b5276dcb0a28519619a2750ba145a5017ce0b8a2060382221c48c04af680282bfcc9682ef57800823724a3a731da382d12a388f7a428a39b3296c6d8a251518f11946e489a0d65aa44248270bdc1a4597590490f252fcf469d43929f3411931f5f475da68ce49143d69e5cc7f62a42f615989869654f4fd80571d4a53424a4cc7c573c61548d2e8c2849aa8198a22831ad210d521185085d9a547a55e908d38f68cf3852f4287d4be250622a7d35e25278c8dc049af662428994545b0489f33bbff33b7cfa339fe1e66b77d2be7627f6d808b5850bcc5f18a6af67804e27d8cd6c8bc020db2c81ddd24d26c9916556798f73d3fa17b1ad06fef46378d5c7106dab69effa24db3b37e2fa3ea3f955547201fea94a832bad793677dad8e51f20e7fe967ad5a37db1ca1d9baa54afbc92fe8d1de472b96550106d93d7ef55a14552693a56ca64d39d0212e7a9017fb2a53ee9087d539a3a92c9d4a59052ef20991893fa627f34ba6b7a20953a992392e24a62c5d1b98e29541d7393d12d3dc6a5752295a388c16c2f457546941b194cc4afbe1ea30f26e6942396a38a5ab54445ee3a1d644789aa9ce3b1206e41713a525f8bd6dd2fdab42be30c08193d65238b5175cd4d97a556dec25cd3fda8df64f56dd6aa5bba6d1355467ed3753e81f3f5af7f9d1b6eb8815b6ebe998ef57b705efc3edec2052a93e7b0b65e4b674ee0fa1e36e00897a2d5c016e9c7f259c95b388937f13dfcf9d37840756e1891b3695f91a751cbd399fb149bc87176f41c67173cf2b66075c961736f075dd54330ff3916a64ed09897e005cf3eda8b6771666f81555bc1e968d9beba5540e55b247fc25ce5e9805057d0847629cc3cb57634b29ae5193be5a39155c71117a8941a2366e2a4f41c03af32d4eaf0266d916d8a34d924ce50b6daed1f453fda70db24654e77849e93e5cd2419a610399bb40b8d6340c38966bd021321922672a55d93b1d434591b144c2722d3ce2e4e4664ab014648f570278ee04cb24254223b3bdd6a067c909f4466262e1d81c969a8234266f461123365e24b410b1cdff73975fa1473e5053ad6ef21572cc04c9985c9330074398246c325874bcd5aa4c82236cb8956407a755cb74ac30f88f125f80d0fd75fa4681fa4adb89fc1eefdac28e4d8bcb08865094ac522796b0e161ea53a739af9190f3c08976f90954916c70fd2b1f183d84b38265342d1c26db04868c579f13b6ca10c23330cde610bee8562e8287592fb50a47159744ff08ea1594f44f488184e3dad33588f12314e935611d3a7d31f6feb2029d3eba2e18470aa6909cd71e9f5d2751218194c5d490681f44828e3412259cb4914387e61d718489297a765f02e609019463dc12454fa6a7ef09e618c3382910a2e40fa7e802f8e4a2552fa015ce4906278892f43fc213e94c8d6977e0c9f38d780ae884ed5e99a6b9eaaccd4b6758714f2418c0acda92b05b1838befd3839d8a4775bcc914d08c710cf725030f9938c9687610d11ad94a54e667e052690af3c380412271ba3a3b397df214e7ce9d61c7a6ebc89756e2cc9e677ef4249e5ba7dd824eb188e5d710fe02797f114b2ee11094265d1f1a5ee0a17d3f704e8d45b0678729958ed1d6753b2b9c3e56f93ec1992c3edecc31e4855728cfd6a9d702a7e48741802724ae5747caa5bf851989d75c538abb2c638e2bd0477f331a4ad421542211ae2368d10ddafa803a7ac5194228308a92298ed13cf04c5357119dfe9094ab8e43ad1a39d8984311a3081b4c3b25fd6d01a1e1d0e227ed6954c49a42473ccccb98571913188ecc227962a6ee35521147f9bed4b24339c693682d728840e3b591c8ee1419eb2b655a881494ebde80a4a1c8f9c5408aa38d7c45825b3d11429d0e6b4e5c26f4246780e964e94e5f665eea37e941a27932842b33f215a9263f196d44b2d65c5f6041d914242e15c0d9b46933e393138c8f8db167c74db4f56ec41939cffce831dcda22b9f6760a7201e95569780bd8de22c8e6af81684d891c1e791a7e307bf6fdf01f40d9a5582be336aa48bf9030e0d7c8d58fe3cd0f51590ce02d3f8c98805cbe84dd791522b71ce7182ab854b6cac59bed22c1a94623c2f50465042052e8647938c620a2bb706136766e41a5c82883054811d3111b4f6429911f92fa263d297c925615ab42e10792f03934b864edd574ba49f7eb4e34325cd551278e3292631c33a607e1f852937d9c29631cba5d29f449a5964cfa4db5ca48d18dec647c970a6c882bc12df5fa113d21ffbac350efc3012846a4ad8ea51c868c798d631ccd792522919a6cf57683ebe80141843f1e1031fb49260349a24ec1b44cd167b3dfa2c14b42b2082ed017c44d871d352464b07616e6457b92ccdd2489bb51a67e0972225160d473726d79dc468323478e70e71db753bae246acc34fb338718a46759eb68e120e2e9ebf80f01709ce0a5fde97bb73a54d383dd7e28ebf8ce7d5f1fc80085f0275b0ab2e6ead866f551381fb55e4620577d1a5ee82f483a780d1b2a0d3d647a1ef5aec5ceba772c97931ea82b28ca51009511a52514ed24b221e99f487e7b9b10330a781d134ca17c93431fa35a74496320d8b602c21c30026cc93426b07c0177e46bbe1bdafdf47b8a2fffce85ea1237252228a22045a04954c5789e12366b5880c63848ca318d5b093be898c37d2791d4e99d6c9c41104d323a9f5a93ed553a658beafd537a7726a9b316cd48e4ce0d5299d393d53cfe9521d91f4c327b28864fb063abd9173d2658626ab68cf7b726fc858a924954532a959bcba406e7880d8df282b75515e6c27465bdab4236927e14fa54bf7362a263d23f49224d34047c8605efeeaabafd2f0051d1bde8193b3f016a7989f1ca2d4bb164b58f87e0dcbaf61495765a36572da0758b1f997983afb188bd3c7f042a67d19787ab160515fa882ad1c972b1bd4ab5dc8da0aea8d6922f66d0176ae8df68103b4f7ee85652cc0278a15be34207541998bd0c9bd325e445108c166cf0f7ef083f4f5f51109def33c6cdb0e1c5a844d315acbb2686b6b53d6a82287d1a46d659a21943feaf4482415f47c15a7ea38e23c5ad761b9e51979a4cdc57c6a161418aa6e00e8539be6b0cdae13e764b42d1313359d905aa6c226066ad2a31ab54ea75ae785175ee0b1c71ec3b292759dd4544cb573039f1eb71bbc9a02d742a594d0953a59f59bd873c6279ee26a42a9278d4225343202210d44777cfaaf1375c0f8f81853d353740f5e45a17b15b3537394474f3078d53e6cbb0d373c6500b1c4063b23b5f75f4fc7eabb989f1bc1adcfc71de4db2b99a9f5b1383d4f2eef635b3688e0603951ed21ef0de2fad381bc0548cba2adf36abab77c18a763ed325b0f3ad2f7d54e837887b032128112a2a2f75bd43f8ee370d75d7771e5955732373747b95c8e71747474d0d5d5956adfb6edccd7652ea77ffcc9973e0f3ffcb0fe72b93246a8fec378ae900411d16da8c2c11352c561c826a61f5abfe604fc303612513ddd19a7bc88e664227c6a34a6d3a6e1322f231f2692db78c942a13cba7090c1fc746a6a9a375e3fc2811bdf417bff26183dc8fcd88900ce2a04b3ac30ccbf98e48b22c52dbf4ea1d64de5ccff875f1fc7b57aa8966ea69ebf96da6283c6dc24f57a1d805c2e4f21bf92b6c2ed8886c4f68610561b56ef7e0a57fc2a9476e1793e190709a492b2241a7b70201e514de88c1fa56a80cbf73ca6a6a6989e9e66f5ead5e4dbdaa82e56999c0c78ab7b64e10000200049444154e8e9e969319a5f4e6fa7e47b7e2ae289f43019fec2ec2c35d10c3cf234a9182a855bf34a3184d441b2420b33025370189533aa469e54f57099804d6e7537e5841f6c61be5ce6cce9d3880307e8587335f62b3fa132711acf6d6039ed38c2c2961e96ef37252e2b05d14e1ba27327763fc8c551a4ecc6cbafc717792ccbc2719c782e1efcfab885ad58761bb63f8c703a103dbb10853508eb22be922249d62a96a253e1ca58934e0610199c153339798152a9937ffb6fff1d1da50eda0bedecddbb972baeb8828e8e0ef2f9fc658774391129a036fd0ab3b50b336c68325b4b39b9d4d429b84e7de959c957f38411fcc44f2d23945105952625203393406afbacb23ef6ab8920c5b78cf13bbe040b89e77b9c3e7d9a86ebd2b5f526f28f7e81cae4596a0b3314bbbac0b2c16f2064836cb29a24af4cce9fa0a7bb40b1b08b46633bae2791d2423a3df87637e65e0be1cd41dd45b002dbda85edd8e47379da0b15f2d6028ed3bbaca6e3a71c7168db6c12aa6fd3d3d6f7a2f230d3f77d3cbf41b55ae5eb5fff3ab7df7e80ddbbf7b067cf5ee6e783afcc041f53b89cdeee2979d0174613eada409ca27c63ae634e74941ffd097250275e360edf549018eb3bb127201e75a5e21d64929dd4099f3825ceca5cfe8839205e2f3270c6b240f743114de6533f3fe4df496c56f0ea6baf323b5ba663dd6eda3aba989b3c4d7d7e9a62772f965d444aa82c2cd096af270baa2d92f41bf8b50b14f2927c4f0fbe1facf7f85282f4b1da56416e105f3bafc0c7722fe055837dfcc20a9e605922d870e8c832c806b0acb95cf0a3863c99a166b3385a1765f422ee626511df8742a1c04d37ddca0d37ec036171e1c20556ae5cfa2cf2cbe9ed93f44da55166ea828cc226e58ab3339c97e932a4a1ebe6027f7291e87a18eb24795a15a95454db4db99c0c1ecc3dfaa2054e19ac3145697c6c9c0b1726b962703d1dabafe2c2f1c32cce8cb362ed36a4ccd1a89671eb55da96b1b91140fa75902e4eae3df6eae1d3552c01765b273257427bc2267d70ebf8ce0a7c3f0937a30741969048af0e7661e9f6a3a77266ec192d70abd999c19454c713a4945896c5aa55fd1c3972947ff12ffe25efbcee7adadbdb79eac74f91cfdbecda75cdb2647339bd7d923a9513868ec5ce42996a65aaa2510e895b484f11f5160c34e9e955388d32bf02134fcdccf0c874b46a74164de5a4395353f605aa7c6b842461a1a36e025b5858e095975fe2aa2b7f91ceb55763bff10273a3c759bdf316ac5c076dc5129d2b5762875ff768b9c805203d2c3b87a084ea3125605b12912b229d1c6811934458ed48d185e7250c468f27857040ba64473e192424f1b49297d1412a71ead390488c4a67ac5db306dff7e8e8686768e82c8e636359929ffce4697a7b57b267cf1e6d3fd4e5f4764dca9e2b2111f1cbbc199e24743a3299ab659643a2cecaac4983339f4f49252f09948432b3931ade006d86fe663698b4d1d47fc58197624bea426e6473ca3bcc8eda76ad56e3e8b1a3206c3ad6ef26e7d894cf1f05c0ce7521ac027239077f475c4889b0f28830225209b76c0b290a6124e5878ff44570a48a68c3724a08d1488415474e562289259e10aa918e4e7346c8aa7aa4cc503bd9dc3751f1596c1f64f3d5fd1445835cce2197cbd3d959e2a1871e4208c1ae5dbbb477df2ea7b75f92b1a7096c2130d40c4f62d853b2cb7ca9a75c91373062a88c6f3a653e89ced473758a9501a3e1d16d2af889e22185a6f41bd286778d6088d975d4efbcfbbec7b9b3e7a85416e9dab28f5c3ecfc2d8317ccf45384584652ffb2c261008bb0d3b57424a4fe3cbb2002b874711e90b3c199e611c7a52c72e60d912ec7afc5266dcacb0b09c76f45300325a0fb76aab87b4a73dba1a26a9bf285bfc956fa94918af4846676cba1d9f93b316d70db653ca0747c3ecdfbf1f80c71f7f1ccbb2b8faeaab2f3ba7b7798ad75062bb556601447ec5381f4ca9adff0649337361942b4882276ba9ea699c313146dde85a0b6e4ca76ad21501ea707a99418af2442ef2c98e54361f0a6171f2e449ce8f8cb069602bc5de75cc4f0db158be4047772fc20ef6332d2b6002849507bb1d213d8dc9e020b53c4206a72f3aea4b9f9107a00361e5b0a4af0b4c5801de25926559f1cba152f5ce665014e7eb12934acf476b6348c94845e0d4045b3a058f1e5f604db1406f7b5b18c009f6efdf8fe3383cf7dc735896c5ae5dbb9627accbe91f5f8adf3cd0a764d14f142c348fa11257a0c726ca6b531815215eab898311132e4da6d65a8a9ec8b76a4b1ccd1f21c5f8c23aaa9fca8ab56299c40884fa89f0e0b587898909262727d8ba791ddd9bdfc9f42b3f66717a8c8e1503601591be97e5dab393b0c06e43483f5c278abc9a400a0b4b129ef89810ea8713d2e073e436225a6857239e25a22508df7f0adf814ac895bac4b5c7b199224311370025dbe55b476779f8b909eaa28d3b07ab8c8c483cdfc7b66d1cc761dbb66d4829f13ceff23ad3db384533b9641a652e1d0008a55cad1b2dbaa8f7219cfa755b4d6fcde95752471af759a14b04238d1c7d3457e8ce0ec592da61135a1c66be6d91458b9038495b01ebf57a9d575e7e991bf7eda373e3b5783ff9168b3323c06e6cbbfd22a672611bc2c974d702c54f29c98e0aa3d02c7242b1e75dcaff0749cae40c9f647451e7be90158a467932c988413d2959dbeef289ae698e0ecfb2a5af48a7d54665d1c30f1d532e97239fcfb363c70ef2f97cb0efc9f3b4f7cfde9a148ec16f35191799a2e9749335d77fd0297847532a83aa6efaeadfb48d9acc1a70c65429fa8dcf4bcd9c1b664f0dd5277e594216d1cbc499b85a248564951e93bed8c5c58bf1e068d3178277d55e79e5157c2929addf452edfc6fcf8e9008153c4b2b21dcdcf2b5d9c812b1b2c11242fb62638d4b7ea93176c0d8f19e649e0739ffb1cc56201e94b5e08a78b41cda4ae7eda8085e3d888d48903d19436ac1df69efaabbefd1f45b4dac9002272f04229371d50b0174c6d4395a57ed2802293f85e3dbf4918f5d3b2cc7ac2a3f745124124cb7fea143ad9dea16df390ca290191b16b65d1569430449124039301af9d18a0d12095a9bff2440d952f737aa6bf34acc28d8d8d522c16636761b6a9d312e048f274d9453fd1d95322ba8f671b8acc5a3971b572f4579a65c97512ecc90c1c4dd10679a6b335823b35c688c69ea8d891bedea894707e789899e9694a6b77525831c0dcf937f03d0fdbe9a0bd508442016b19d3a9b732398e43326b4ea2a5987955b091816906a81b627476d29123873361b28e3651efadf81892c419c5799695388ee89812a1389ad879253893b2e80404cb704cd1712591630a4faa0cbfb012ad8925f892533675fe547ea2eb5868f18f159b87d4955d311875b3a1e99c12c3f66303571d93ba274dfa5273008913d1db081e9ce8f9b1d3937e467ee25c52479ec4ce4e5f1e3061b4f39484c0b69dd87122057ebcc8ab0c988a17c83a7207941dd791dc94e955e262d44aaa7732aed5be516c24ced2aecd1ddd6a99eefd32c6228d07d5c1aab4c4f1a44cc20647559230666074749413274e70ddb57be95cbd8df2e8317cb78e932fd2d5dd8d2b2b0c9d7a81860b1207ac3c885c2a9a4916a025aeebe2ba2e954a85e1f3c34c4e4cc44fdc02a2b25c7c866b5e4612021a0d97b1b131a203d6124c41dcaa1d84a60839d97f1414a8ad4b44cc931ed5188e2223a289cf45528ecb359d82b0a2a82aaa6369ce0a917c71453bd329ac6445c7e3aa0e0ae2362d85c68866dde9a1f0a51cf3abc0aa51a71e65850a1eeb9ea2958a638ab282dfd038e372b54cd189d0b02347e32b3b633547162208dd0442284e233acb296c57fa91c1294e3284f1433cea71be7ec887906249c7a4f2694678ea93e084ee48ffa42227a1c1457cc5bf48233232ed27b957a78eca3187dabd9634a557421965a0c86eab89ad667cae5c4476a8b2a27cf6dd493e6f1c0a4d08a666a6191e1ee6faebafa77bcb0d4cfce86bd417cb14ba7a5931700de5b969e6171bd41b5630fb1420ace454cb68e177787898d1d1112e4c4d71fad429ce9e3dc7ecec0c7373652a8b95440bb3b9a1891496284b606cdb4258e13b4542dd302610fa317dd19f004604c1777cf896d651915127e5f1d1b0844a10e14b0d8849cc968c7982a4441939432884f229a7303ff007cd9cb62a97c8098984f4c4bfc44e49979a719334880a1d4fef944aaa738a48d407cb886319a38d6d305ee74d649eb9c90f114b2ce155aac5a103514a0dbb88cb0cd4a1fd2bded1288c18d29c4133a7a43810c3c946e50672a58e522fbc96c6bd824a613ba13bec8ad497c263320426fb26392defb5aff68858c312ad54d55399954922f94b1d9f4a231287e81035a55db7e171f4e81b78bea473fd2ef0ee677ee22cc515abe8e8d94aa1cb67a5e7c5e170b55aa552a950a954181919e1c891c3bcfcf22b1c3f7e9cb1b1316ab5aa36020a117d13ad55522c7a4927d43c358bc4a4b2a12b3a9f49333689321d228e14f475a828df98e6a8d3b1b07e125959a8d32475fa65094bb378a1c0c7d3a738c2d17121c2e954843342a04436ea341085e6a82ca229aea3382ebd7db59ec237aa4dfb9a11cb545fe86b3271a413c39853bff47a8fee109ae7ab5154e4a5a2a828994690e95c426ce1470f9a4d47f5e9608c4f754a0aaec410a3282e824bf0a91153225735bad253ca77283e3bb43add1b67f8de8b4aaab39799cbf9198e9de6e52a5ea1bcc41ba7d02a0f1d7a914aa542c7c056f2c515cc8f9fa477f35e6a8bf354ab5526c7c7989c9e616a668eb1b17186868678fdf5d73937748e99a969ea8d3a20b40f356a87d4b7928836dc2e4f74fac71c0d4ec3f6828139dcf7aef77b32d22afda70ef44d82d418453aee9019bf49791c2da4f850300a1db7d4609a36be44526952475aa181a814c7239c10fad9d0266a8555a9e0d2888794138b0154e12f271a541a6c258668948eaf85ce5b0a7be658285b15366f57bbd0f32239a609085b8a75442a4233fa26beced28e2634eb2a60d85932e0b4b4512d65e04e95ab7833b43aea94b0be137d5825fe8a6708373a3ac2ccf414ab0736501ad8cca91fff3527cf9c6368629ec9f9060dda98b830c5d0d030c3c3c394cb73d46af5008125b41dcf52aa5fea54c85568d258509508a38333f0e88620b3c1a48cc3d7e87b635a3c1abec7a44d4314d935eb23656052da8b0c456a0c2530c1d73eb20cdb17098cf475233247b958b1b3702d95546389ea672955133d57fb296529061ad33853a4247e58a3cd545fb35ca52b723899ced160452af4676e1ad4046cf0671a6148bf50da34f559a5252562f51b97aa93144659b41e2b922f0619551224215f9a3e66f571a44f91b31389cefa2abc81deec63f5138daafd6439be78c62e652227d531864aedc44419c3dccccc0cafbdfa1aebd7dfc3fa9b7e95a15347196d7433597739757e9c13274e30313ecefcc27ce25945d441fa825a569f6abc1af9597565264086eb97196046863640a48402b299662f914cf02cbe33e56254d26096a2c17056495ac6c86ed29505de222fb35f556f691667942540c6176a33f80aaeb342b2b066dca7ad638a4c3dc860259d69d0ae5eaa1f03c87a255faa3434c7a3e665f689f9c9f626c93cdf1ed4a76b2a3f018ce940e39a99edabb2357d872ae72c8fabd268369650ea984e246a6a61618163c78f7147ed0ee64b57f25a7992277ff4238e1c39c2d4d414beef113f2d5290abbaa77a685d2713c6224f6d7044dae92444eb7f03c1640cdaa84bca59a392e69d5284a83424c42754898cf652820c9937861d91210a1343041337920cf32252ce1840284d9a11a32a29bd2d61e4c73485e426118561e432e25fc52175096546723245734287ce7bac345ac8a8cb289b2b1d46fd328e969439a91995c98c3b75c95da79378aaabd6d58337a9a2425f7dcf9ed647b6a3ea888a4bd30d9527a5926a29c17d5a63cd4dc786ab4acbcdf098596e2a223e765819769fb256254ba21e7b6224cff379fc89c73977ee1ccf3efb2c6363a3d4ea752cc247dee1c2ae9489a034224ce7ac349ac04a9d5eed5a2a804651883c99f6344111d167264326110d694597ca74535779edf94986deab3e2f35bd346513e5a9e1b754227999b4a73ed190f179552973249aba6ac418744a235f6680477d19376ed4359e23199545aa0d6d55d6a4439545ccbb24fe11ba4a647e2edbf032dad3521544615655117d0c490a7c6339427d8a2ea55137f179896ea82cfa311842487596a6b79c168b8e5fc94b449bf16e83341b48041c746f8bcf77cbe4096a4cb3825dd5fd4c7d559026a052bb367902105bb76e29807802c40d2659d16b1dda7e9996291d61649767955d4a6ad5c69b999a76db9b823bfbad236d38ce28fbd9d072e978b364d4acbf97babfd87697d2a9acf6d4d44c67b334be957e37c371b174bd59b6b1342e2dca6d4a5b131e5a765bb3f697d4896780034ee2e5a4660b11b06de971843602a462e0e80bb2490d7d003246d9cc701f65112e2358d78603a9656923b688f890e11749d328cc91402129a64b3ba6420bb925e693040d81313a69bba52390b0215f958330f890a49f1c19ce2a2b1c4f427e6588d7c72863f131a9939291cc900f18fd26d5af7e876d4b6df44c688d2a47c3b6d1cb027d615d1d5f65841b558849646ce8bb2a8b8470a9832a7d2a0cc683073786dcb43be54a103f58c928d575226a5db32745d754c890d9645370601b997e41a80853b7b16d29dfe70d788cbb21d897a72df1284fa3cc8731291a623d36a2a2703a103d084b0fc58a2d0b89131907a99fb0ba6914ea85e6b1823ac94298d94119496f56cb6f5a7b79590a0e30e3e994a36d824b2a7fa459a8564e554ac366ed3f31e599d946565626cd19a660388554fb59826bc152abeba43df53a6d3a320b3085c798029a70adaa37ebcf0cc233d9cf846bd26fa9cacbd3f7d48da133cdd4cc5494044ea4cab41a064f511f34b383ec932bd37059b49a6d6a94b490bb59d769d45d25c21106849225c970e51958979eef2d2fc5b85a206d56b42c3a222909033614606a0f4372bbdc2f11a785d802acd5ece21f4c7a333bf86d90225b1497d0ff97029305bb9cebacbacbb177b31e4be05c0a4e49ce4defb8a2a599359b11b6826d959f9afdb5806b76ada62c9856f45d6c1db37ec3172c7aedc8e57ca5a55923cb11d44f8333733ad3227fa9e6b394409d5564c193c05eb49c3366771122758fdb45a72684686c65b5ad4cb5976c57e15d58d05100bb51be687a5bb57529ead3caeede8c64fab09fa63e80f3e5dfbb3d44265a1a6ea29beadf66e54953e9f26c6368de76f61c7f3965903d0f37e7d826af597445d4cdba9d9c716e47e47b88d6e534fac31b7539c13cc5cf4c9ae308eb98ce4480fec4c83414a367d5f6e34bd36128b4a706480546e50389be2e27415882953d251616aa54ab0d8d7f35f08df7b3aa3831dad159cc1e949460375541c1977a5a9a25d7acc0d890991ab8a71e7089440e5abf2310b6c7d6be79da87bea5ed766e3de02e655fa4aeccf28b1bec2fce862ed5becc94a973cab5c3c27000a8b49cbc8240bc6746dfde99204c744c26af9c18b8e2faf10bb0844a29d156d38441470b5c22d488882ab563e3f3be5bd018e152cbcc3d33a6de0b2442f691eb012b6fd35cec6f9f645982952bbb58b5aa9b4aa5c6f99129eab5c65b4dd63f8024901608af06f3c39a478bd77515fb8a5ff9498a22f0b8fc62ed0b45a74d7caa0d65e152ed4babb7847d7111f6959658921ce9d6e3aa49b1d472d4a4e7e943700a5e7de543834cb791e4376bb97959f6e3ceecb2345476dd881e6d3fb29448ea38b6c0ce5bcd43a0b7492a14f2f4f7afa05008ce602f16dbd8bc6980999979a6a7e7deeee2c14380f4915e2d5950ceb009355d947d65e8ae6cd246967d098263747cd97227d31265693ad23c2c5dcf8c561d1ad5d091452ed0885d31af15d4669cab9565e38aa39b302cd6446ee04b5ef84b9769229028c3c472ca141acdb2782ea63aa4488612441ddb869c638505fad011c3abec2b78e27b6148541567289c983c034e23c96c436dc78cc1a3e28cee8c0f8ecffa35ea23c1b62d7a7a4a589608de91545247471b8d4681ea622dee671545c497aaaee6636dcc725306215e75c2a005f75a25650122aa1bd613064ea289487a9cd6a80978904a3d14550875d7f38333f21b55a5f04db2af8861a3dc124955f365596d27a200cf979c1aafb0a1bf3d39f85164b415d3bd7c3bd7ed4b298be56ad857c84ee298dcc5609f8f29a0661d63cacf84d532755cc282a1a159bef5fc045e2ec7076e18644b7f01d70f14243e06c4128c4c2ef2ca9939ee7ee7009eeb63db02e983f465786241b0d334700f12cf5b82cee59465f1a6c1f960d5a954e6117e2e9bd7ec8a4603a6156695b5c295e568b368590a572bfc4bb525999d9d4af42f032a3d4e66e18f9259b3158f59b85ac1986d6453b67c5ccb93a993cf63e540ba55a5fe9b655f7ab9207c5be385f33c7b6e912b37f6f0bebdbde47356f0b934013f7ce502ebfada69cf59bc76b6cc9d7bfb2997e7112b2d1c3b704c9e27c3030583667d2983bd8c123c5721d4f4e8993c34e137836d3339b8f5960c2fa5e3cb567d09962df8c173235c702d6ed9e06057e779e1c82c03ab3a68931e6f8c55a9946b9cbc50e7dce422af9e2d83df60f79a023f786d96aede0e36f4e4387b7a960b0d58bbaac8e4f83cc5de4ede757517f928885982a05620adcb7ca46cd03fd84f61e53adef67395cba975b26c6ae7cf906bd42e790cb998a1656eb6c6b79e1963ff75830ce66bc8c622a78717f8d1b1797a5795f8ebc7ced25fca51c85b1c39378fdba8d3597478e2d0080bf335a6a5c3bb76f570e6cc0c87a77c7a3b1db675db3c79a2cc868176deb5a7ef4db3af669613e53bf8350d8d6c7a97dddcf2c733892f0577bda39bc75e9be18957a728de3080353bc7c3e355b617eabc326773f2d8244e7791352b7354aa6d6c5be5f0f96f9fe27443525d9ce0aab52566eb2eb75f51e4cb3f1ce26337f5f2f7cf0ff3ce3536ab57e42eda57985c35e336b8f711b82cb81e0bb506d24f0ed91326b0211c0d5fe63a433c37694e688c336b8e96663c6e73a91139068e46beacb9d71230262f6aa3c6c019d1a4ce1052b3126d2016c18eea666c8b34af323c85b469b4918127fa7c77ba5e343f32f0b4c22dc09716f9e90b94141b6b6e5fd969b9f62581ce76c9876eece1d9d3539c760a5cb9ba9d3f7af024b582c3ec4b93940a16bb371428e42daab53a5bfa6dbef8d87966163d6ed8b182e90bb37cf38979a617eabc735b270f3d33cae84081172fb80cf6b581576f41cdd234aafc34d7de20c7c17783024379b57501f55ee8b04b956b045a706ede63a0afc085b919ce9c2ff32befece2f063633cbc68f3a9dbfb78d9aaf1f0e13956b597e8ca43dd75b1858f056c5f9d676551b26da0c0be6d5dfce4d81c775eddc593af4ee1d66bd0e49377268dadf833a7c8ba3548102eae2f83f503997cf7ebcd4b9732fd7a2b5abab4dac983e437abc59f9fbc2e364929c921c1733323849872c37e82bae17d56b944c717d6a9d67dc61a825deb0b7ce7d02c8bd5128ef0712d78e7a6021d3678becfe6956dbce640c37541fa74e4e0aeab4abc705272f47439e81fe92384cfee2d25c617a678e6d80cefddd59119eab4b2afd4bde189d20fae22c72433cc2f1eb893574ce245469932d5380fe55a2d1784e3900f5b3a054f0c2dd2d75fe2b6abbba8b89286efd1d35fa4b76031ebc2f5db5670f3d64e8e9f9ee5e4e8229fbc670d8f1f29b3e04ab6af2db2b2c3a1e008debd77259ee7f3ae3d3d7417ede4403a9df74c1aa31fb32cedd8129cc1f7b5825abe9424effde8296b60c7c8cb52d424ffe2c2beac28af197e9396acfb56a1b65e96e84eb336b3e8f333d4b1591b26ee2c1e97fef46236fe56f2c8a2e562f043f2f1d6f85d34a5adc82640ea8bf84663cd7457bd1561e8d9eec08682cfa1f30deedd3fc0ea9e3cfff3fbd7f1c3a3f358b6c58d1bda79ea78998223d8b7b1c899f12aef79c74a3c5f526ab3b86a4d3b57ae6ae3cc6885475e9aa62eda987325037d45766eee4a0e58344869655f803611c8b22f5566f1bdfbd77714243c01dc90f65bcd555e0dbd44cb72039700db227edaf3e491599e3eb5c0afde3ac0ba924d74f0a5e7475f049178121c2ba81c7dadc2976059c19305db12f8be391a679d33a5f394761ee637244cfa7de69c758c5ef3bbb89d83c8e80bc34a326b2f7f2c17314de6d93faa212d273ec8e63bdd8e9a2732e5a1de2dc33c85856d5bf84a34696a86c98bd95e16bc794d13f8045ba483e689534bd54d97071897724fd9e5128bd2b91fb0f1cc9f6af8a21a97665f4169335c96153c99f325f87ef809a9f0519de707b6e7fb241f8e087144b096058fbe32c34f8ece72dd357dbcebaa0e2c04be2ff1e2813fad43adec4ba5313d84a8fc494004a70b60e73390b74ecb318e56e59e02b07f671f37efec47129c4b134f8eac102e847555c4615d1f107658c74eb7792934ea023685e883e52009467df50d6cdde892ab283a489b6256cc22c22ba995ab6d347bd7bd99e124e3916c02172959babd489152ed89b09636a717d4672778fdf011d66cd946ffaa01c53999b1a030dad30d344d4bfa1bca691eb3eed20ed8ec8374791a57963165b595a62ba4dacac7325b4efa69eccb0fff21003bc015db8e155e677d072484f580db77f773c7ee55ba4d5a3f0ffb4a721ce9e46349a4cff283e44063c2483339302bb5593d2a8f5b37c6784de232ae137c024addc4aec013c581175926d2d147b2d3353ca22383fee027a9a953eb83950f1c84f2d14553a849ae6298f1498a26b48921db38621a536692e5709a39c1ac31ae552420537f6ddbe2e86baf31bf30cf7537de84effb812e088b434f3ec1e15343f46fb8026107238617efe368e68cc928cf869729f93473cead6230b30fb2f099692919653bae60b7b3054e7e099b486ce167615f92a08d947da76c48e12a2c338feb49c4a1db502bfbd2cb080f0d48db57d05270e5ccbaa538bb95f85551842467d450bf9a763129f3e0d2b8bd66b844533ad4f0b6d978d76c6522c1a7f31a38a605bb80278350b9f91340731c96066cf371bcb5c392ca75aba4c2357306179b827a96108c8d8d323b3dcd4bb967193b71989946815dfb6ee1bb8f3cc1953b7791f7cb7ce32ffe3bc581cddc74ebcd74b4d986acb369d27b4bfd359d4b366dcbbf57f3d413ff5ba52c471fe59b037a52de9036b35e47532acca40eced9f6d0cc529683b5b99d5c6a5973fb6ac66f73fb52add9716efa3744dfd2125ad4d43ca9df4f6f2520b37c29f8a5609653ffcd4c29fa0558953a8852fca9e8a5ea43f6987ab1cc644d70964ecde12e76c1384ac1d77005966df3fcc1679c482b3d0000200049444154c877ada45d9679edb983acdbbc9955ab07f9c1837f47d7b66b183efc3c6ff4f471ed0d3bf1dda59e602e45cdcfb2e72f0677c48730f232cc517a889e6dd8ebff4d535d498c5f281ff2501d75f3f48fcdbed47cc7e95c8be7fbf89ecfc2629d7a237af2144d6da43628d89645a9238f6d5b4114a8f4473a908e3e059c5020946b3d7c4bc7276ac3d1d61fb3bd966e54d395105a93469a62b39e30f22d7f1e59afc74fe5964a4d3bfb2235e0e7ad34cd922f25bef4f17d1fc771d8bb6727d54a859347df6065ff002bfbfa993b77926aa582ebf96059c13a8521ab4be1e762eafcacf12f2b2a9312ec0276692074e864ce3a176627684c1c44d426b0fbf7d3d1bf233e635e7d55a7957d45a69a695fda77aa7e7afbd2f2e3f65ad9974eb55acf9cce89903e47fa3e489fe9d905beffe469a42fa8353c1a0d3ffcf5a8377c6a6e90e7ba0d7ef93d57f28e9d6b83f5054d5aca442ec595225d83ab9686abc0ca54ef64aff25ffc38c2f27a41087ce985c62941eaab1e59138eacfb26eeb02919cd70b54a59f3f766704bb5a9d6773d8f0d576ca5516f50af5559d9df8fdb70692f9500e8ecea66fdba5e0e3ef52c5bafbb852b766cc575ddd4de51733264d2a3f2d08aff56326925eb2c1cad2675cde491853bae23835859fa3e9ee751a92c049b72950aaeeb31f2ea8314cefd3fcccd9561e7efb3a37313f97c8e6c6f647c7d8456f93f2bfb52b1be89f6a5b4e7449ff95eacbae41c87ed9b57c50ea95a4f1c54adee51777d86462f3033b7085262593642801f465c2926945b8d4529715d0fc77196c790892cbed5f32ccb0a9c65332296dd5676be10848bdec927a6a3626560d35035338865f59381c734e62cdc5986daca7936734c66fb51f23c8f556bd6403056c791504f7f7f584122e9e75d1fdc0252e2791e5e182db48c6e9bd0adfe36939779df4c06adda34fb2f0b26ab0f9ad105907cbadcc76d34a856ab54fc220b0d41becdc1c939d4e7ce20c61fc19d3fcfe9ea0dec58f50e6666a6e8ef5f05122cdb42fa1e895a2b1468c4aaf94b7193556d69fb1296856d59f8be974480481cc70937560beaf51a80f6c1db6c7a9bd32000c7f365b01f47c0dad59d5cffce75d47dc14fa625afcf785cd10e77ad1494ec40c8474f8e323d3347bddee0e0c183cc572af4afdec0d5575d41ceb682b79405e1c820c2bd3e1612197ff6a9ba58e32b0f3cc03ffdc84728140a81324b8930eac67b2d64743c43f0dd604b58c16824096004b88d0627cf9e65cb962df8be9ffec8803644468591c701ed3511c35265182b5b42c6d192ea98b2e4de5a355a8c64661d238c6f0ad7222f8b3695c6246f99caec2d3d5afabe97ca6b46ef721c56b3fa3f0ddcc5d65b567fa1f024835ef67c192c97f8f0f5a7267965c2a27f5517fddd39b64e7d8f9d732f7062ba8747eb1f60b3d34fbd560e9c9a5be1f0912374aed9cedaae62f0827bf4a1002911a1f147af46599615b617ec65b284089f9a06f57cdf8f1d86f4fdd8de08f5392af37d1f61594130113d7d1682c9b3c7397c72984ddb76b261a0070934dc064ffef8492a0b154a1d1d8c8c8eb273e74eaeb9e61adc4603085eca0fb68e44361db429429b0e6c49c4932e1f8923a50c229ed0986ddbe2d8ace05f1d6ed0353bc3e3aee4f9f51dfce6b61c2b72049191ef33572ef3b5bffa2b6ebfed568ebcf41c2747decd2fdeb98bd1e1b34c956b0cae5d4dad52a1afaf8ff9d90be03854cb334c976bf40e0c327cfe3cb5ca1c674f9dc0e9e8a1b7a79bd9f1612a759ffe35eb692ccc509d9fa36177d059b0989a9d67f5ba8de4a97076689452ef20c59c45657a9c8586a0daf0f9cbcfffbffcc66ffc065bb76e4d79ecf4e0628e3c32db7a951b5f8af84141f4af55d2e384e58cb919f8525eca2c6c35756dd5b649a31a376436de025fb3f65ad1d9ac95e538c756304b95356b7d295999726d2673056b1c3125ba32b7e0313ce92272355632c540cf00c747f7f0bde94d9c2a5ec7fc7c8515dd1e12c1f899637ce14fff1b9b6efa049ff9d00146cf0f512d9711c515f4ace8646efc3c95866460dd46daed3a67cf0c932bf5b076f50043c367992b2fb07afd46ea7317a8d71659b5663d434343b8be60f5da7554a646a92c56c877ae62755f89f3e7ce5275259b36aee5fcf0795cabc0fab56bc9d9207cc9371ef80af5ae7e0ab664e3e06df89e87f4240bf30b7ced6b5fe5431ffa1f181f1fa394b7b19d3606d7ac45d4e738777e9c9e81b538b2c1e2ec052a7e8e9eae1253172ed033b08ebe151d843b0363313ad297a93d39c7a67cc6a7e07fd95e62b0e0f19f8ec30fce34b86f9385e779f8be87e779ac5ebd9a5ffce02f71e2e8f33cf8dd838c6c6ae30bf77f897917d66fd9495b6592ebeeb98f233f7a18a7670d475ffa09e5bacfba2bf7e1d8363f7ae8415e1e9a424a9bb59baee2d0333fe08a0d6ba0f30a26cebd4a5f4f17135333b477afa2cd9b65c5e04e4a8b2779e9ec04a2d0cf9afe158c8f9ca2bbb38353a375c6cf0ff3f2cb2fb369d3261c27a7294aa276cd2741d9d39d64ffb01081ac8289e9f23f499056dea805938e2c635e0aa7791dd60b4742bd4c9db89906b81c638c72b2e8561d5b467914956a2983c768d8942d60349eb2a95d0ab679b9307e2569f965e14ce0f5e30543fbf2831943797691f343157a4a92b5037354fc4e5eb07e85c3b9f52c5c6850af56915d02bc06afbefc0257ecb99bc6d8cb9c9db89ebff8d33fa3674517e54558bbf10a5e3df4241bd7aca2d07f356bad519e3a7c8a9a5fe0d73ff9494e1c7e9e279f7e9ac12dfb1839f92cdbb66de3173ff07e7efca32778f5f5e36cdb750b470efd80abb76d6168cae7f6dd1b78fae5c35cb96d3b13c75ee2bb4f1fa2eadabcefbe0f73c7fe9d4c9c39865d2cb17acd7aba06faf9fe634f72cbfe1bb06d9b3beef827bcf0c20bdc79e75ddc7fff1779fa851739f4da61365cb197fac8cbbc313647a17b039d7997c5ca0cb60565bf83b59d3e65d9cb6fff4f1f898f328a24e948a2d13f599b79671f6c28c07f38d1c66dbd707a41727c66815a5de2793ebeef217d9f7abdcecccc34e74e9d24d7d1c7d0d0082fbc728c1dd76ca7201a5cb3632d5ffbc2e7e85e73157b5639bcf0ea71b6efb812bb3a81e7791c39768e5b3ff0cb9c7bf9694e9e3a41e79aadbcf7de03dcffa5bf4302bff0cb1fe699271fc52eaee0da6baee2812f3dc0e8a99388be417aed591a8b1637ecbf8dabb6ace32b0ffc15abf7ece5ddefbd17cbb2536b4d7a4c923546a7f312b50c6b89604d65b15a65b6515ed653b9cbe967919639e57c8bdb14485676e491d2c7977ef0ca876db3589ec73f739853e53146d7efa5d2bf8f99635378d5053cdf474a878599611efdd1ab382b7b9939779a975e394c5de4b8f15df7f2fa8f1f65f8ec197a366ee73d775ecb57fffa514e4f9e66ca2ed05b949c7bfd795e39f43c6e6d9e375e7884bec1d5bcff177f9953af1ce4f4e9532c4c0d71f2d51fd3d337c0473efe1b7cee8ffe2b2f1e7a992bf6dec47defbd933fffbffe036747a759d7df85559b4608c1e1d78e506bef619553e6b3ffc7bf64e79d1fe5e69b049eefd3683468341ad4eb75a484dbefba879e8e3cdffdce431c3f7284ee0d9be8ac4fd120c7813bdf4341d479f2e0213ef6f18ff29ffff03fb3b858a1bdbd40b20b121cdf0fa672c9016c82c192e49f6d6bf09521f8c688c5fa5c83fd2b5da4cce1798153727239aad52affed8ffe98ae9e55bcebdefb5853acf14bf71ee0c4c80c2b7a56b063f75e1e7fee20dbaebf89fd9b8a4c8edcc2a9b139fafa5650ec6863e78695fcfd43dfa4ad7b35575d730d3ffcbbaff237df98e5ea1b0f509d3c49a92d476fff6a8ac57672f976366dd9cc9dfb77f1f8b38729143b58b3663583bd3de4db3ad8b26513726e82af7ce97e3ef6d18f91cbe763c79115aba0de67e85ce6ac4e08a4efd3532cd0ed94e288e462d649b2d4f7528dcc8cf3b2b0e8bc367f776cb93ce8707a04a13af12c4ad4fd3909ae64585063b234174b4f9dd27849c1354bcdf86f4d576b7c4849ceade1fb51a40dc552811e678285e30ff35c773f5b37fd0a67cf5b7808da4b057c193cb51b3b33c4cedbdfc37defbe830b270ef2f8ab93780bb3fce8c1af62f56c64cb559b79e607dfe49bf3e3ecb9e55d6c6edfc3234f3e8f2b2d4a1ded08a06fc32ed65a2e2bba4ab4d902dbb201c1ba1dfbe92de5e82c75600bc1ea35ebd8bea197c79f3ac8e7874f72c75db7e2e59f6666a14ea9b39d7add65fbce1dbc7af49b3cfe5c9dfd37dfc5eaf56b82e51f2448c9fa75eb90523230b08afeee4e72b91c5bb76de5c6bd57f2d44bc758d1b382152b56d0df5d0a4e38d8b0164b38acdfb08183077fc2f5d75d4fb1a383f849f7d8e878c1f3bc27c626e76fb830e771ebbe2bf05c1fcff5383cd36064aece4a5bb2b1c3c24270e2cc792a9532bb776ea456abe3791e8e930f8f9a05cf73a9375c6ccb229fcfffffecbd69905dc775a0f9e55ddefeaa5eed7b01858d20402c14418afb264ad446518b659b924559eeb6db1abb1d31dd8eee8e9998e9e8988eb1a3dd9e69bb3bdcb6c7b6364ad4465294288ae2027113571004b1100bb1170a5528d45e6fbf4bce8fbbbc7befbbaf502029cf78629251c4bb374f9e3c796e9e9327334f9ec4b22d84b77b679ad4eb26aaaaa26a2aaa22a8d7eba87a92a3470e73e4ed43dcfbe9cf22140569db288a7368d75b3093d289ae57afd5b1912474bdb1002825481bd3b4d01389e6c0edc1b4720f8ce961f8b39172a582954aa36432bf228b692515f1de54e0fb9bde1d2d975beaddb6f857c3a9cbc32a6d1b519ca73d9da756ab63da16af9d161cd8bf9fe59913746cb88e74e71aca953acbcb5514b3ce5d9b6af4e6057dfd8348dc83ecee2ef637bef1353ef3e94fd3d1ddcbbe37f7323931ce473ffe4977a11aeaf51ab625492412cece99045555ddc8b0ce62b6611848e1ecae099c5d3f6f51dc34ea58b624994c621a754ccb46d77547a109b02d13c3b2492612d896edd70bf8383ccb103c79c50dbd2cd0752d24af8ae21cf8b66d1b5553bd4b0e5e93709b989aba90324df3b9f9c5ca75474e2d50684b3bdbe1ae15256d276eb1e54edf8aa522c30305c646fb1a4e732bc9e76ad61b01d334314d935432b5faf2ad609a87cff874293c11382104954a05339d8274c63ba6ed9f2bf26062e95821855779e26d92c82535a1529e011cb4409022b4a4138c61dd687660fd2c428f88d0ef87420f51d0b0253cd8c6ca55d8d66850e8d218800fc2848969b6c1a274c6d981be6d23dd754149034634d3856c58ce51fbcf6bbb881408b4244476907752daa8a5055731d528954ba4d2190cc3c4b26d2ccbf10b344d0bc330304d13a35ea1d0de4e5f5f7f78e09350a95448a5520821300c03dbb649a69234a59519164eef46bea2b0ad64edddd5e74417b06d896d49b2298d2bc7da318247073c89f0beb294286a3bd97412cb8a3b6210c311d93817de44936c9450151535a13a1652934478dd2fae3ee1d317f26995017e490f43184f9378c9b86e19a8cddf8df3da45a04c032640d965cdd264f497a35f1a6f6271454fa149ff57304336fd08c34751c7c2cb089ccbe428ac8c147014420c8d71f4adfc10cb8256c79a3d129beb9421de46611b38225fa4a9f2981380c16f26258af4428a28e89a4e7179c919f003156a42a2ea1ae82a6a2e433e9f77fd02c37d30954ab9786ddf0750dae1f8154df4c9804c04de47fbfceae4cb291352c08d6620dcfaa293e8505813ff33ac501fa0d5eb75aad59ae373202071c90b6625d56af552402b54b91a489aa09b46a4f7adfef8fa629300a35e474925f17c4956aae4327452ebf4be208947bb528b1be6f8ca44f88340c07cf7ca4747fcf74cd4fb9d7e15bc0d35d959bfad56abd46a8ee3a1ae25e2cb05da5dabd55df8cb9836ae1afabdc957abfcf745be02905a3291402031f5b8202dff7f0a26015485c410a2c9f3db4f0183e53d69d298ba2fa11e2e1b670b030c042ccecd51ab5449e5dac9e7b3fed9ad10a82da956ca647239dedaf33a83c323747475b1b8b0c0d4c4045b77ec741673df3351cdf47929aee5abe1c6bbe3d82a93ddc0af2882542a81b28a1be585e738fcaba3ec9f4cd2dada73d876d61fdd6c775d293609c7eb5a2897d08dab14ca96badbbf53bb01103bb58abe5ba9dee83b1fd6fd11a92f3609282e159931ccd51de2f54c5cd94c5ab4aa30266fd2e9e6499a3cd91b9002d908afd752e056fb5e00a661f2b7ffe5ffa0a3d046c54ef3b92f7e9181be02d54a05554fa0aa2ab669303f3bc7e30fff90dff89d7fc6e8baf5ecfed9e38c6dd8c8e66ddb18181dc5b20c6a35032d914000b66960018944126919d4eb069a9e40d3d4000d91b6c7bcbf14dbe3781a8cd1e9b5b9194d70daf31e9483fbbda4ed1cd7287414e2fb4aa04f5ad52a95a9c3a47bd6a2663b63a9f38bb4ea4431b0b1d931e557255f2b65b434a5562f5f1e0a81eb2ee0384d3a1ffdb9b75ee2c1838f61091bc59648cb04cb02cb443314eebbeed7b9e5da5b62187d39a6419c9608a6d5e0b95ca333fa352ea73e6f7aa2b8470ba47f5648464427be74a3ab37c58ff2954ef4c06418d25fea0bd5d68009bbf40521c2f08dfae2c4df81312d0bd330d978e526f6bcf226e5629159d5e4a16f7e1db2fdac5fbf9663af3d8d89c6be3d7bc8b5b56318757ef1c4cf181c1ee6b6b98f6254cb644485370e9e62f8caeb48c83233678e50363576dc7017e37b7fcef965938fdf7b2f9bafdae65c0c09ce1459c4af9704296da898f053b0bdc297e246c8bee6522bf71211537784a33175837be3a4b39164d95876206a47149310945e7c0a65e271ea77fd017ab22ddaf840d9d5a49587bd70de4a3844ccef56f444e12fb7ae209c7b24c5779997707ce1348f965f404fa9a42dc8d92a672f1c47ad5b248a09ae1dbe9a9bed9bdd513a4a985381a2a8eea25c0c013efdce8fa6b588585a031fb4e97db8418de7b090c7ff6e95c28ac343ef1d789604c37878bee19eea69a5fc64001abcbda4c66261105f78548f1bc11b1ee90105e9d31a2de185a695011606299601bcce20679a06f38b556efec4af313032c0e1179e40da750ebff818e6f2f5e48637f1918f7e18549d7beefb020ffcf7bfe2caeddbb9f5ee8f93cd6678e6d14710a87cfacb5fe2a7dffa1e351baebae1263a923607df7c897c3a8356b3b094ac7b5ecaad5dd2a028a05808d01ce47148294b1a5ad76bbff49e6c9f5f22824f46b81dee2db1bdd8c7d5a0c651448ef521001b2fb652f8f85270e8008442eddc39c4eb0f91be710766db48603a17edd7ad4d0eff007b288c43abfe1890a555c957105fa07cd3fb56cfd1142f5f41fc9a37fadbb68db0a16e946957935cd7bf83d35347d9deb311bd58a1bbd0cd44f50246adeeb812489b62b148dda82384427b7b3b8aa2a0280aafbefa2a6bd6aca1a7a7c75578927abd4e3299f43b8b1082858579ce9c3ecdce9d3bdddd388fbc80b5203d5223a396ff1e6ab52aba9e084c311b71aaa3e21c4ce1ee4d539e9fe3d5e59ae7d23bc41bc01b12a4a60146d2988f85f6cd9c6719810d41455d161bf863db26a31d2cac409dbc70c78afeb26c9bbec1213ef2e9cf9048384eb5c70e1d64be6c53e81f454f08867a3a68cb6549d497f9f98f1f45d57546fa3a7975f7936cd8b69342572769ea3cfe831fa0b6f7d3a11a0cf57420848296d410e92c8bc70f7171fa229baf1c0baf450519627b8216a439ca418f2f2d0605f7bb84f81dfa3ec1e06f7142d63cef71c2c37a0a317e72e8ede07a6751a3c999ded6a93efb08851e9bfa868fa026323e6cb954a45aab9148a6c965d3119ac2f5bcf8c20becdab58b443241adeac85a1436a2b243d92bc95753197f687b7fe52b8847f398e61de6cd92e433431f6230d9cf5bd32ff0d2c5298a4b15faba46a096c0a8d591b6cd72a9c87ffc8fff1bbdbdbde4b239eefbc217686bcb635b16afbcf20aa9548a9eee6effc0ef830f7e87dffef26f934826314d0b455148a5520c0c0e3aa1312ccf1153806d3937a3a80aa669a26a3a4280659ae0865e90b6631eabaac6b71ef8161ffde8c7181c1808342d3aba063a5768c7298e3381db5244638c55dca33bb63f1236f1bb597682c917b25600ab4112cc5a898038384f79c9886086e155cdb182406098ce14ebee2ffc36176717d1533932691d3d91404d24b9f72bbf47a96690cdb791d21566a62f92692ba07ff03a74613335354b7bdf201a962f2c85ee2e96e617d872ed2df40f0e3af79b79e4c5ae5380176175e5245bb32c6e07d5e787576fcbc2cdbf5d3de44c3ba382dee0b3c48d4661dbf81be4c21de48442f9c45192e75fc6faf0c7213fea1c0d934e34823ffbcf7f86aee9e8c914d77fe8d3dc72f57aa46d392183741dc7f1d2f1897af6b967b9eaaaab308c3adffcd603dc7ffffd6432196ccb44e2de5e633b216854550bb0d969bcef74e05b7cae14f84d8b2aedb81b85dcdfa11dda788b2d4ebe1a6707241aae05609a168b8b45760ced429fcbf1cdfd5f677cfe34b202d4522c4e1d4229a9587513292575c3c0b625375c7f2389648284aef1ca930ff3fc81714e9f1927954a615b16838343fcc99ffe09470e1f4608855ffff5dfe0fbdf7b90c5aae0ea5d37303f71848b5313a85858f93106bb334c1edf4fc94ed0d9374c71fa2485b5d772f315797ef6cc0b58c92eb6efb89afd2f3e86aa2558d6fa78f9e99f70f6cc597effab5f751dd3dcf9bc6f9e453a971d11cc26be050438f06c23fc58dfde7551979d82036b0b216cb2b656837335cb0f41b895a2a20968efec0a4d41d2856ed674f410b4f02c2969ef1fa620f0970286db3a1ad316096b3775e185bcf0ba5d7bb28b4257b703627b612f683d0bf6c87f17ec8e6068fc131caf0259ef0665eba24e66f4907cb55aa75ab728966a148f3e4261fb10e753ebd96c41c6769499699a689ac61ffcc11f7271e210df7dfc493eb0ee3778f6c91f73e0e4349b77dd41a17296ddafed63eb55db10d2e6e06bcff2fcab6ff3c2cb2f60db361fbbe51a7efaf473d4d43c1fbce90ef6ec7e1845d1e8de782d9ffbd86de8aac783805d63479ea30d1591675fbe0225a203f02ae54bbaef04a0d938e7786ccb6279619197f6fc84af9ffd1a73d559baea1ab2ae236b29ecaa8252513197cbd40d03a4a45c2e73eaf429d2e90c6b464678f69707f8d4fd5fe289effd2de7cf4f323533473e9b22954c70ddf53770df177e8ba9e30731cacb1c7b6b1fb5621155a9b150aef3d5dfff5d1ef9ee83ec3f5767e3b61d5cd397e1d1675ee3ab5fb98f6f7ced017eb06799630b25b2ca7164adcaa29de22bbff659fee1efbec98e1d3bf9adfbefa7bbbb3b722b47985fa175a010b3e2e11b8c0d8c20b61310cf6615bb72c16f1145db4457838ce842779c0e6d5a8a5c2529d13ed1323559183105248015f298f6efdcf2da62359bf3c25de08ec717a0b5f9554b25dc04bb029c971f346e62f55300c76af457330d8d03f2d2969cb8708ea7f6ed65ee6207775db38682524593e3ec4fdfcbdbd5ebb02e96d8da25492535df2953d375da0a5d28768d7367c6f9e6838fb1e68a75bcfaf4e3dcb4630c140d35ddcbd4c4537ceb270b7ce177be4acdaaf3a5fbbfcc4f1ffc16a3577d9054f502cf3ff9143355c91f7ee5333cf0b5efb374e3d57414f2f18d96cdadf5d73343165418ecbdca5710ce89c7246d8422e82ca4d9a6cef06f72c3d46a69ead244a673946a154a5a12b3b397cee5a2e3bdea5e6e685916b665a1aa0a433d599efaf9d39c9d2e73fdb6b5bcfeca2f39f0569a643241465678e2c99fa32c5ee0c4f98be4ba0751953a9aa6d3d79162b8b78f74364fcd9867c3600f6ded05467b0af4f60c9048ea5c39b68ea5c3a7c9e5f20c0d74d2b6acd3db3340269ba64d3179e2899ff1eb9fff3c9d1d9deefacf4a5d289c17b7b81cce77454be0ba09842358b6c2be9251d60a2e3ac0440729efe1927a8566a320582e3050c6c2347795d6b4874e26790a29d096a892956e99b83aa2bfa38654102f342b8c505d32fcae9541165b8797279bcbc5f124ca6f8fbf4e5b9dbef2ced42c7ff3dcdb944abbd0bb2dfee5b559f4cc97c914b6535ecab09c4e71b67a9261d986a6aacccfcdf1ad6f7e834a7181f557dd416767815ddb37b24c9a8debd792eeea43b5dee6edc36fd3ddd3c760578e037bde40d4cafcf4f1c719eaefe4a57daf8294f4afd9caf84b4ff0cc134fa0b5f7a12712b1eb5e5e6b9afb4c743fb95986ec15f256235f04e0c485a98b29d3349fb36deb3a69dbd49667593cf926679efe1b6a6a1b9da357b034f10e666581fe5bff053d1b7790efec062178e79d7728974be89acee6cd9ba95716397dee225a32cb486f1b5393935448d3d99e4633abcc2e9719eeeb61fcfc0544aa8d422ee11226e8edeb65666606cb32c9e7db505595e5e565babbbbb970e1025d1d39c6cf8eb358acd2dfd74f22a9d3d9d9c5850b1748ab92f1c90bacdbb089cc0a876b2f31536899ef773421a894cbcc2228abfaeacd94500a4aee252a7c2fe95d4d515aa9a155d4251bbb93ad612e1ff5ca75be8ff8568d33cca31539266d7a649dee7c01cbb2585c2ef3a70fbdcdf74e480a8363fcf9a7faf8c415698a358313b316d3b620ab8d3364e7e869cb71e2c409161717c9b57731b66698842698bb38c5f8c405d2d91c095d676e6191fea13528768d8e7c9aa9e979542c96ca15d6af1b65fccc38a69a41d3551efeced7f9d4bd9fa5bd7f84becec695dfd126c7accabe2fec6bd52523f5bd867f88d7309fb32cfb3a84a0b238c7e9c7fe0c53cdd0bbf36e345dc5366d160f3cc5f2f2321b3efdc7e43bbb403aa783dd13c1cee2b510288af02d0a2ff893b708e6c4077743784a19d2a25e202d1f5ee2bb1238a139ddfa10bea6f7f200847016f7c2ca62055bbe1507e386c2405ea55261ba5667d930fc50164ddd3346efacf4d14256400bf3444064fae39ac0cd6b92f1792bea9b98cafd06ac4291c68967cb0607080acdabe2167d62da10cbd066fe87a60822c88f18bc1e8e952252b46a6b9c14bbbf0592e15c8aeef60e4cc3421170e4cc0cfff6f99f325390dcd27f0f9f1eed40a91749489bb694462e2168cfa5d035d5972fe9ee9a03084534424bbbcf0d7970a211388368e3c4bf10502c96387ffe3c9b366ef237bb566c43cbb607538b4e75c9cebe627dce215ee9b90bb8dbb5966592dd7427ed6bb7d1d6dd8f370e66bad7a01edb876d9ad896b37360c71ce4b502a19e63c23ebbef031941425b5996b6572e06c05fc4b5621a1961bef7ea723a5e34d7966ceceba6ad2d1f504c8db286696299ceba8ba278ab8b71a98520b69ca4384a5f55d515e96b9dc27539f19e452c25c15abd1fde3a525437869a13477d10916cc4758fa2102158007b0583f45296dd4abc6c55ee72acc556933942ef6d6933373b8b6d49df576bfd50817f75cdf52c2bcb0cd98ce5d60000200049444154a5ab74b2447b21413aa93ba1481447b1d896ddb2bf5b04052b4c4bb4846d39e76392c914ebd7adc7308c55b631905a8eb231f215474428ad8ecf9a65db8ea7af69029244b69dfe9db7832ddd1b0f9ccaf55c3bc3bbee40da36a651f7668211ba9afda09bc38305dbd9521c7c48110bd7a82fe8261ce5dba54cc7a86485dbd04c2f388a5b009aa22085eb4a2725f55a8df9850527b68caabedb49516cf20ec85a964977578f7bb5cfeaacb196381dc4ad013c84973a42b91a1de1d62565e09ec11561414a2592f17e71f3578d131fafe7ec6d5a168661fa39d78eadc1b2249ae61eef928e12939674370f5af5c177215f2137fa78f982b0db69b0be86d5b97af96ae647b0be95e4ab8155330c835ab542dda887002f653dc7ce205a10b912eca584ead2cae5d2f5b5ca8fc31d5736f8c90cc37076e6dc1d976aadc6c2c23c9aea58479d9d5d647339cae5f265eddaad9414452197cb3139791ed334d0752d44f7bba9c5697fc33134a4a36400c66554ac18cbc0c0e94d5f56c2831b72de9f4d45b8edc1cbb8eff0fef0329c7e1538837825b6edc45aaad5aa61b52504a6158097e192ef977cad26b5eaf32bc9d74af85bd9922bd5154d5a4f4fa77370374688ea8613c93295d2c201d0564cef8749bc1ad3fb72eb7a1f7008282e171d074fe974baf9f93992993c4fbc7682c58539bef4b10f52abd5c8e57297e4595c7edc77b06d9b52a9ecbb2ac8c8a2e5ca36677c9ed3411a2abab95ab70ed9d04a8d5a2358fdb2c1e345e1ee1b7ced281e4f2dc60f11417a56237471b38db8f25edefb2df4b1b31ddb8926d9ddd37c88b75aadfbc1de5445219d49a3a9ca2a94c97b958ff72a33975bfe72f58103ad49e930301a9e6269d9e4e09169dab2365bae18445195483d2be95419815d09aaf9ce8df090292f515fccbbcbfd1ed121ba159cbb1029dd1016a66951afd549e5347ef4fc61cac579be78f72e7713e0d261640cd3e29df3732c940d72299d2d235d686a733955559d0b203cbf18a44f32802d086ffd07da123ca5e1e7d1606de089f84e1f19ca5b7df3104219c910011ebb930419071b2c16ff3e5aca6b6b143a4481379b8936e512383db2fd147896ee73905b7e79971e7f0009c897695a9c39739ee3c74f33373b8f9ed018191ea4adbd8dc1c15edadb738dca6278e30e2301225acbc7eae48b55c8731c15b184b50097cdddea1249433a0cf4a2ea0901a58ae4e03b0be4b392b5a39d546a16091d34cd1d59c3bd7ae51a63da103d4a19cb8e68dfbe5cb33bce0288f5ea6b555f245338a7d56d29314d83d9d9599696169152a22b36a303dd1c39b1745924966a357eb2e7347fffea3c9b7a127ce3f7aea7ab2db5722119e8f001898a2a203f053dbc9b0438debac17f1bf63ef1765c83a37f7cc9383cd297a1e62fd920b2814f86c98b23558479109aa347746c48afb632afa2383db256d0a1312a38a0bc1a0778a5eddc3074f8c809e6e7e751148b545ae59a6b76323cdccfecec3c131353d8762f85423ec6726e101ed73d836fdf1ff95aa50609c25f42be147761bf79d388a68ea1d9d2392b178cdf3dbf6451aedaf476e439714e6263a0d8cbac1dce90cb3622f0f9378382efe1daa8a5057591ff5fbe591919c2fc772b993cd1fc7751976c74b4d9d939d2e9344343c3188681ae2af477b771ec746b2ba95aad51ad561dc146529c3c4fe5dc38f3330a178a3677ad3b8e52dcc77239455dfd10f9f6b5fe22779822ef48488be11fe1fce77e175bda28fe0dae84b78a457073c1bdc955dafe0017b4a18580a9c90bb4b7b7934c2543836edce68447581826f8ed9be11bb0c45b4cad068f286854a144e1e29453abdfadba561c6cc4c2f2949273b6124e9d9e60cf9ebd2c2e4e934a2559b76e1d965d677c7c82743a436f6f07131353a4524912093d70e57d831845288d75baa6b4028f5d771bcfe2f60702f74281a0fc4adcb86bc2d9d5732e1990bee52325aeeb0e58d25e95040b21989ebe482693269dce34332fa2d4d47ffb6fff9d66dbf6576cdb1e424a0c4332396b335f4ea0e9492cb30da56709a91acc4e5668cb69fe7463faec3b3cf2f043fcf2f5b748640af47515fc0803d2bd66d86b004238f79e4b0928cecd0bee8753550d4508e76a28ef7c960c8c36c1770e8f5dcbcdcbf3dec9c0bfc13f42385be28e3c7bdf3f6825d46a350430b66e3d5525c9b1e925328ac5f9f93aa7262e72cf8d9b492492e87a43a92c2e2ef1f4d32f71f8f029a6a7e738337e8133af3c47d723dfe6dce42cb9d111eebba1ce55dd8f63940ff1e8cfab1c7b6781b1b1611289845f6fb556455355344d6d398a0bdb64ffab2ff0c3477eccc177c619191ee117bb9fe691471ee1e0f1097a074668cf2551350dd5bdba5955351445e1a9a79f666868104dd51af7d44be72ae9849ee0effeeeefe8ebefa7b3b3c397c056c384f7bc92a25951de2fa59882cfadfe5de9f76a71ae04ebbd8a96f1a6cb5252abd5d013096a3583ddbb5fe2b9e776032677dc762b1bd68f9050c132ea144b15745d6779b9886d4b329914cf3cfd3443c343e889248a50511585175e7c914c26433693452050d5b0ac010845757c9d6c4743abaa82a6a9bcfefaeb58b64da1d0e11cdd9292b75e7c921f3dbe1b2d5da0bfbb031b89aaa8bcf6fa1e5e3f728ecdeb4678e9a55fa2280aed6d4e04114d5579e7d831ce4f9e677070c8894d260581e01e6eff113e6dbaaef3dd071f444f26181e1a766ef10dc9b32f831336f2eb9ae7bc65db92c5229c99ac51354dd6afefa2df9c4298272867046d035771512d72eacc0c576cecc1ac9579ece11f50d87a0b9bf2024a93d8ace5a55ffe9273e72fb0ed9a9b5838f736a5c539eae97e3a932613334b5c7bfdcd88e2387bf6bfc3c8e6ab19cadabcf6fa1e12d9363e74e79da86a78c729e67bfb0bb1e168af8d31b995fff16afb5cebfa1c93bc56ad52acd679f8c43267e62b7ca25f30d895239b4ec5229f9cbcc8d4d4023d3dbda452796c0186a2d2515de693a5bddcfaa90fd3d79d647641a35456a856931c3a7a82e1e13e6ebef9bad0227970f1db977a57c2154565e29db778e2b957b8e1cebb11cb93989579f6efdfcf07765ec5d183fbd8f35a17031fbf8d9f3df628a69262dbf69d9c39f0120b4b45bef3c347387be60c9ffee447387af86d26976c3e78e38d5833c779fdd0398e9d9ee263bea26f04c10ff22df8a6c99d25a26cc2c64874cbba854578292b48ae00f36e9e2f051b9cf046f21ad33828972b2c2c2c72ebad37d0ddd3852c15f9cbffe97fa6662cb375fb87b9fdd77e8783078f323b3bcfc8c8083d3d1dbcfcca2b6cd97a15c70fed66b95c45691fe5a16f7f9d2d9bafe0bedffc3566a7c639363ec7d66b6e60eef4dbd4cb45da7a0658ba788ed98ae0ea6b6f22599fe4f57dc7e818d9c4c3dff90e5d8576eefff297191919c5ac5779f2c9e759b3eb46726209c3301d4342151c3d7288037bdfe4ca8deb3970e000e954869c6ef2e2cb7bc9f4aee5e517767371729c2f7df1b748ea1ae99cc9b96282ce844e773ec7999387393b53e59a1b6ee6fc91bd28d266b958a4be3cc78bcf3ecbf0a66d0c76e570cf7737c9b3e669aa4a557264dcc2aa9ca35e3ccf1c23f46dda8aa48b7ab94ed18291d16ea62fce33335b24a11a4c5704375fb18eef7dfdefe9edeb63f395dbb9307e9abd7b5ee3e0e1719616c7b9fdf6dbd8f7c2e3748d5e49bb52e2b1871f61fae43eca8934bf78711f376e1be5c57d07b9f1e6bbb0240869377f7c7f048a798e31ad6573b8c7a6755c7fbd2faeb3451754fd056367d7c9b44c6ae522bdf904a74a3a65abce50579e6c3ad9e8a481343fbf44229172e251b9be3c89421f173f7837b69e40efece2ad43250e1f5acfe8c895dc76c75d6c9c2cb267cf415455e7031fd81ab827cf1b590215b80d1202ce4c2ed033ba9684b078f0c73fe7be6c27a669f2e4d3bfa0b37f8c4d9b37539abdc0e4d993ecddff36478f9ee6d499c37cfe339fa6bbab8bb175ebd8ffca2b3cf093a7c8a4754e9e98402b8e337af5b528b50bae8510f61c0e4e0d1a83438367c1e9a288810f86bb6b5ed9a259d9b45a480d6ac2a0a26a659aad843388db8e810b561437d241c00a7706fe743ac9962d637474763279e238c7c6e798bc38c9d00603292d2626c6397bf63c1d1d05a474363de66667f8ce634ff3d94fdcc5d33f7f0c5d4f32ba762d53a74ff3f7dffc0ed9429e7d074f535c3acf9d1fbe9b636fbcc15cb9c64857869f3cfc084be70eb1a426597cea9724130a43c3c36432594070fcc05efad6af47352a1c9d38cf0b6f9ee6becf7d1cd552d1b404d7efdac281d75f62a6540769f3e03f7c83a373252ac55f90c915181c1ca2904ef2dcd33fe25ca5c45c2d4157ae83b58561a69726181ee8e0a1effd88f1b36ff3a9cf7c16619b7cffbbdf65cbad9f65e336bde10d10956f40f1ae2fb62c0b0b055553d11219526d839c9e57d973b8c28183931c78eb086f1e9c60a96cb2bc5c219d4cd09b96ec3b70940f7c6027a54a8de36f1fe4f95ffe125b28cc4d1ea6a32dcf5d777c88e1a151aebb6a133b3f703dc585092ad51a424db169ac872ddbb6b175ac8f7dfbf653ab19ae177ae4cff74e8f3edb7e102e27cf698b6d459ea56b15bacfb215dee0fbc8b373bf9e13953397cb515a5a646b578ac18e344248bada52e4d2c9a619889492e5e50ac964d28d89e3086d7e6c0bcb777d8efa5d9f6149d179f5b5b38caebb9b8d577e9853a797b16d959b6fbe9e53a7e678eeb9d7020bde819d39c2d34fcbb2593350e0e29993d44c185bbb96a5e512e97486dff9ca3fe38fffe85f70e586019e7beae71c3a7e06a35e6461fa241bd78c70d76db732363c403a9777761beb061d5dbdac1f6aa36edab4b7b7a12a8d35aae094393845f6a7c0ee9fa7c41a7f3632021f9d8ec74db557fcb383bb95f1d3f8f8bc983fde63d968799c6358baaed1d9d9c1e1c34779e699dd740d0ff1a53ffa5ff9d21ffc7b3ef4d9dfe4c2f445969616191cec6360a0cf8f51665a16eb8607b8f3cebbe96c4bb26ea8874c2e8f4450ad5649650b6c5cd3412197e5e6eb76914c26b9e1ea9decbaf626ca8be7a954aa484567db956bd8b1798c743687ae6b482417a667383f5782d245fefe2ffe4fca5a0684b3dc621a261d031bd8329ce7c0eb6f604b49a552c59682756b86b86efb46b2d92c6ddd0594cc2ce35cc147c7b21cba3885de95475575daf2596ad50a5d85366edc750d280ad55ac51d9c65436edd9b8a7d599512f55ffff1bfd16cdbfa8a65db4373259d42ff180323eb9898aa327ffe34dd99129bd6e418eacf535a5e46133506fada48a6520c0e0e72f2edb798291adc7cfb8719e86ea75e29d339b285abb66e61c3d81823c3430845a1afaf974c2643476727375e7f35e552857c7b013d9de5c2cc1257edbc960d63c38185b8d5fc056421f84ce43916f672ff1c955e370c745da55aabd25768a35b9922bd78043dd5cbe90b4bec5cdf4b32d95863aa54aa1c3d7a0645d1ddbbc04460d3c03966522c165194143bb66f279dd6b97061994442a5afaf0d29354e9f3ec1962deba8d76ba8aae21e4b090fda8ed2b2c97574d39e5279f3cdbde47bd770d38d37924e6a8cae19259349236d494a856acd606ccbf5ecd8ba89b1b56b181a1a242f0cde3af83637dd7a23033ded540dc9fa0debd8b1652dfb0e9ca46fcd95ecbc6a33a9542a603145cd96188bc2fdb76133ad945a584def3abd173cef8d06296d6ab51aaaaa23148161983cfae8633cf1b3c74824936cdfb68d0d1b3670f1e20cbb77ff8243870e3134b4861b6eb8165575cec98d8c8c92cd64181c18c006b66f58cb912347d8b4750b9bd78f50aad4e9eded63fdfa750c0f0da1282a3d3d3de47239f26d6ddc72d32eaae50aa96c8eeb775ec5a9e3ef90efeca2a3a383dede4e2af317982a0a3e79cfa719eeeba7b7bb1da4a324babb7b58bb6e1d1d2993351bb6b26ddb26cc5a0d359164d78eab58989ec4d6528c8c5ec9b6cd5770e5d6ad64735ddc76fd0e6af3939c992e73fbdd77d35bc8313c3484aa69dc71cb4d98cbf324da7b69cfa5e206910929e5d7c5d4d474ca34cde72ccbbaeee479a826bae9ef4a70f2c831360e427b7b1681125a01f0ad62215014d5d77e12fc67a7df3a91f8bcdd0070f68c24a02a0a20ddc3bece6e50e812cd95fafba564e1ddc25e0287135da0422693c0320df4649a8ec42493c77e0603f7f1da3bf3dcb163987cbe8d4cc6d979989d5de095570e90c9e4ddab9abddd4c676743d354e6e666181f9f67eddacd188649a552435555329904954a8dc9c9c3dc77dfc7585e5e42d754f7b66219d334677e221405d53d0262bb8b8fcee509ee3710de3df6d255e260db168aa2a22802cbbdfe5911f8074415e17c2fcbb2034a23baf525222aa5d55c99104473b4d14091565bfbd166c793130fbb5a9c314b5eabea4b6e59dbb6595c2a924ce5b04ce758ca238f3cc65ffce59f23a5c1ba75ebc8e7f32c2d2db1b8b8c4d62ddbf9fdaf7e95b1b151a46ceca20921b02ddb59e8c6f91696edeeb6ba07dcbd6f1d3de0ebcb9a7476d054a1b8b76a3b781557017abb7fce4236ee42ba74ae19773741c0db8d13fea648e3462547e61545f832ed1cb8b7c0c5af281efd22bc3b1ce6f56b486ed390d23f62d1d36e7374728113e50cf59a4142cf206db0dd03b2deba4cf0db5bde815c17b9b3da1f866d8afb22dd2341a18fdcdc29e3eaf3d34a1118a3291641b8be15eb72eb13c2f920d296a43319161696e81c1a2199e9c314166bfbdb9b8ad56a75366d1aa5bfbfdbb91ada35d16ddbfbd7269db6397b7682f3e7274826dbd9b56b94c5c52a870f4f3037374e3edf88d4803b6570177b1a422d1434731add3881af013df331e885e8bd17de7bc0f6c2d67a614d8370a2c12b5ba283b3b3eb2a2abf8e00571b7c8c2eee447ebb64b40c1a27444089787343b76e41e359ae568bc4bdbf5cd8c0f38a7ad755162243cddee278786b0af7dcf351b2b934cf3cf32cf57ac54123eadc7cf307f8f5cf7f9e356bdc1d2b9ae5c6f66ec976f966c7f4579b068cf7d30a106bd108632c7006a438f26dd3f6db67074ee35b568b93f95ebe57a7157073f0fe718d97580c11796e5c4660d9649292d18e32f3c512b93e15555302cc71856025eb56467e469ee3d60d1b79b2094e36c1b4ae2ff8b89a0190507dab681b34d63370b654a5b4a89a3a99aecdcc57ca0c76f634d552af1bb4b56549a79324122a9665fb0ac95350a954829d3bd7f3cb5fbe4532d9cbdc5c17a5529943875e219bb5b8f7decf39a7f29b9b1c6090c454bb31d54e44a588323b874c64905d9d887211f43432a921969791b92cd826caf44564328becea40542b604b6436034605512a23b36d28d3d308c340ea09ecfe7e5004a256475cb8008a86ece94526636e731402512e23551551a9a01e3d8ab5650b329f477b7d0fd6fa75c8cece8672894962760e515c0624766f1fa4d34845417bfb6d9489f3d85d5dd81b3720b3d9a60fed7fef287a7f2343225caf5429707f07ec3611008fb3c256ec2b4ea62d25cbb5229a7fdd97444f68dcf5a1dbd9b9733b8b8bcbae95017dbd5dfed5e0ab49ffd4e40be28e3db5ae4fab542b542b15275c2ea00be86b73608a6ea768a4d5d8c07164c6363b064d2b3bbc45f9d5907299f5b95db509a1f764180699b413a242d77516e61718ec59c7e2d24154d1d344866ddb98a6c1cccc4c830cf70bf98bc0c0f0f01077dd95e2e597dfe4a9a79ea2549aa7bb3bc5b5d75ecbdab56b595a76bf856be1c6364e08589a27f1831fa02cd5b173398c4f7e9cc4f77e88ec5e43f58b9f22f5c077a97dfe7368affe02ede05950148c7b7f0b317594c42ff653fef77f84f2fa2f487def11aafff25f93fc2f7f81b5e54a646727e6673f037a0a7def1e12dfff01f6c80072602bd5fb3eee2836d342a633609b0869a13ffe1476a18079f3cdd0d54fe26fbe46f5f77e1763dd26642e8ba81ace2d47a914c2a88161829e44ea1a08c8fcf5df219349642643fd9e7bb047f350ab23de3983ac55b147c748fcdd37a8feeeef22d34944a5825475d035a8d740086422d9c4a6a69f21a3cfbb3a2a2ace315da6a97784012412d3829a51a25aad36b205a4d34932e9066d524af71b0771bc47f96acafac796afe6972bc9571052ebe868c7ca67dd0bf92e2f45a7f4ef37fcaf3aad444fdcc02804944b65273897b4c9a6d3cc2f2e628a4ef4dcb06bf26a213cb59a8110369665609aa6af882ccb229d4e871c310b85021ffad08d1c39721c551d61707008ef02112f059559535255b4c34711a4a9dff351d4fdaf232d0369d790f3efa01d3c85289511f3f368074f50fd837f85f2ce2be8cf3f8bb9b61379ee55d47d87508e9e44d472c85a15994c605eb10999c922dde99dac55b13b0a58fd1da817269002f4e79e477fe515ccabef4439b517ac1adabe439049836992f8e94f514f9ec22eb4432a8d39d285bee74d445dc5bcf92368cfffd8512e5a1fd52f7f1e3b9f825a0debcacdc8b676643683f2ca33249f7d036566116ba41f7df76ed48909acee6ecc359d249fdb836cebc3dab603eda98730eeb80be3ae0fbbf14756fafac1af1de4ad6475bd362edf596bd1758d8e7c7bd314a8d5c4b11585ab49ff6f93af4ba556f40a404b2412d89ae6df2c1b0588c322dde73877a17059778ae42d83ac40880c9409187ffeff576ac8ea529c96f6c6431156442de815024cc3c232eb4829d1741d5dd729956b68a92ecaa522c9c808ed5c55a5238446b95ca65aad60db9262b1c8e8e8285d5d5da1b50421f26cdf95627c791261a84823d0a1034d082dab0489b425525591aa82fad641ec7c07a4b2181fdc8e76e875949945bf8c5484032b6d5054aced5bd17efa0de8d985353aef08b46541bd0e7a82e0fa96a8d5b07b3760dcb913313d8972e23094e6d01fff3eb2af87ca3fff5dece1e7b17b7ab1d78d61bffc32f6c020d5dffe32e9bffe5bf43327b1afda85d5ad90786637c282ea57ff39a9bffd5bc4dc45681b75e8340c300ca494245edc47fdee4fa21cda8d767a097b68086bfd7aaa5fb88ff47ffa4fd43ff53994b75e467bf955e4e07a8c3b3ed4b02e5d7e35be69f816635f05b98667a3cf052d209a70c526892b1cce11926432e99f45f5fb912599aa084e17256b527546da12f8d71ec1fb2a5f1ec101ec78d7a5be7ff215a62d28cf8deb999a6db6e6fadc5b52a4bbbe148d2e00cee85cafd7a9d71d41cce7f3f1a13c7c2a569a80bb6484f4c3e5b022a21945e45d082e48c37b6477805e6ff1dbfb2d2524749dc585057a7bfb989b9d2193cd858a6b9acaf4f43cf97c1a50d134678b349753310c8bd9d985a62a4bf5324ba51295629d8e7c7b131da166babf058065636ede80fad65e128ffd14f2ddd803a3c8d36790bda318490dfdd967b03b3b30360d93fe6fff15296d8c7bbe88b8781c6bfd15c8ce14f46c437f7c12341d619aa8e3e3c88e4e4ccf52d3758c1b6fa4fe898f200c03e5d824eab1e3c8beb5a0cf6317f2c8b60c565f2789ddbb31ab37607777219666487eff07484dc5ba721ddae1bda852606dbd0ee5fcdb581d1dd8850ea47b39a5d43494c949e4e21262fb36cc2d6b493cf933c4d2027677373295444c4f907af847589b4749fcf4c7a026b1366d06731199d09ce921becc377d5aa069ed3c3ac56b2abb92528a004a70fde51a4bd0f3558bdd4b49cee929ec9ccaeb338bdc592eb3b52785883b6ef9ff49f95a19b7585a5c4c5996fd9c6ddbd745ad8362b184aa6acccfcf73e6ec59766cdf160af6ef85f7f00efbd92b2d64fa6448770bd4f9029665f9b18d2f776ab552132f2bc52068aa4f38634ea958046cb219e76654dbb6999d9ba3bba797c9f313f4f4f685dc052a952a274f8e532e5762ab8e639970ebd27495b1b161dadbdb9c2de5857934d51d81e366215e675a5e409d9e4166f2d8bd3d88e21232930545a2cccf6177f4805547999c84641ebbaf1b51293bfdbaad0d2c13657e0199cda29c9f70ac9664126b7818140551a98065617b8bce96897a610a6c155249a4a620dbda11660d313989ccb581ae43bd8a2857916d6dc84c0a656e164c05d9d78b2815b10b05c4a253afd47494e9699425c7c2b38786900905e5fc34424d213309a4aa40b58452b7b07bbb50262f403a8fdd9607a386cce75bccc6a2ab1c97ea79016647f91df90e5e78710069db94ca15da0b1dd896eb4e23047b2f96f877662fe55a02c5806c52b273698aff71d8a6b790f1e5485514dfdd061c99f1e2e07b56b6efd326a573d6d423c5bb18564a3764cee52f5d5c8a3badde7b878ffdfc55ca97fbf09a40dca659b6e36b145db7a8d70d8cfa32c9d42285d40272c0a2545c40d334d75110ea9522c78e1ea164288caddf446f67ce35109d63259e8f8537ec284230333bcb934f3ec57df7dde77ca437de60607090a1c121bc5b489d53ef9e75e29a9b1e673dfaa568118bc7ed7491ebb8850cb02278bcc3df56776d67974b416f1c8940b81701da52a208fc0ea2a8ceedc14b4b8bb1d7e1a4d329b66eddd87a5d6885d46c9d0aff5f21a25fbad13e992f60b575386d95125928346ec4e819708efda869ecb1f520a593e72a1961391686b76366af5be77776e1b5cf1b9cdc6f2b540d7b78d4a3cce19894a066b0d76d08695fe72e44e7d91e1c755a246d64b2c3398bd8e11c101648647f1fd640bf5f5000f69ab56e3d2ece42c1d91597127b6c9dcb0209e9a44383d7494454a33438da3cd1699ef437250f5fd37768548970fa917792c069aa8d512973564a8a26b41b20db04ef9836a5b2896cb7fddddff1b367191a1ee4e2f9096a224b6971968b172f92ebe8e68a8deb11d262fffeb7a8d7ea64b359b6efd8eef80a0985c50b131c3f791a2dd3c9a68debc82435bc6812b6eb1be5cb6a60d2e54f27dda51d4578c1ff1a4a39e82785eb18e91916a665313e3ecec8f03036f87e554e99d6f2e5b8e3b89f1adb392b27a5c4324dacea324a2289aaa5310c8382fe1205fd5184aa3350109c9bbf9772f956f2f91cd2acf1cc23dfe1c83c0c7466b18d12b99dd7b0343b4d329347d534a62e4c53e8ee23a148aacbf3d4451289cd896347387bfa24c95c27a36bc7c8a474a627c7592a55e9efe9666e6e16430a868786dd0075011333d09ca0ac479572541184dcfe64e3b971854d50c3459588f43bafe7f0e67d6484a0bdad8df9850534ad394c895fe7aa2380ae9084376a429cb0b82d72da24bd370d65e600353a99b00362e8f549115879100e1fbdd9858c58b5a1f8ddb6c717af6e775d21c6870dbc4e18aedfa7dd7fd7dc0e1198ae08bf3d1eeeb0eb6743193578e5af77042c9ed0ac3868f24452f413fafc0e3c0767519e2c7ac7a644ad843a7f9235c5321bca05f6a67a595660760a44719113dde71934af42151a75c3e4dbdffe169fb8e37a5edc738c6beffc183ffaceb7185bbb867a69817d477771d38e357cfb816f73dbedb793af56b14c1b916c673716000020004944415450295d38cd771ffc3e4a5b1f69d5a2239f60787890c989f390c8d25968a3343f43b96692692b609416b11359dab2292a8bb3542c414fff00aa55616aea2299f62ed2098dcad21ca5ba4d77ef0009516372ea2299f66e520985ead23c65036aa6cd3ffc5f7fc5effddebf60a0a78be99959544d677070303238347332f82935e99e53b14c8bb97387289a16c9c22692ba4252bf80da7d0da46f82caf31813e751f28e365d5a2e71e0cc453ef985dfe6e5a77e4ab95466cf9e37f8d18f1ee28b5ffc2d5289040ffdf0fb905b434716e6a6c7d1134946375fcff90b17f8c98f1f61ae9aa133afb3be27c581e3a768ef19626d6796479f7e8eaddb3fc097bef09ba49249ff2347bb4bb013cac8f34ac9f6bb547cb990f114ec74c21d495411704884443289a6e9188681a669e8babef2eed965262104c964d29dfe0a7f7d2bd88686a012b8a948046433289c9ee269d80b7e5d911f1ecee07b0181d1b691219aac134f1134061611b04a7d35175cf48db63dd48e20511198200fa079e138d49e008d719d25c297a87a8fd615a9a2a138037268d56b68c71e275f3dc76635c39fcf9ee43fd46ee795cc301bf3c7b875d33beceb38417d7186dbb2b72084caf9d3c7f9fac355befcfb7fc896d12e9ece65f9ece73e8f2a97f9cbbf7e90daa63eaab51acbcbcb6e94531b81e0ed23a7503a07f9cafd5f46d44b48145e7bfa27ecde7b189424ebaed8c91b2f3eced89a214ecf18ac1bc8333557657870889347dfa4a3d0ced01537922f1ee3c0b959b454273ddd9d9c3ab68fb65c8eee911d7499e3bcf6ce39b4ec00437d05ce9d3a4c3e97e5ecac64e2f8715e7ef915f25479f2b5b7b8fe8337f01bbff6b94654d7b839a0a7c8dd6c4de206b232aa28b242c56ee3d491774825aa6c194a92b24e21b33f626941b05cbe9adeee94e35e0ee8d264b954a3bbab8bd7f7ece59a6baee1aa6bae67eb962d7cfb6fff1ba66df2ce6b3fe38a6dd7b0f1dadb184d94d8fdf27efa86d6f0e57ff6fbfcd57ffd4be6662cea7336ed439bf8d26ffd3ae78feee78a1327985baa63989244423a3b4d810f1f16a5e636b6da1c0e960d8facb4b4be42f50af7065e57a83c05201024123a8b8b0ba8aa8aa6692c2f2fbf2f8a494a89aeeb64b3d9c6193bd198c636da163045825689686e7b382c8c672109bfe12d0cb2503d3200241a884353225ff54434bf6ffa8b3056c5fb1d9d1d05853c80dbff50c2b3a402404a64700931211ae3b18133629bb9a8024a2ca2a403851bbf3d13d325c09636965987c9032817df829925aecf74f0bf678ff2c77d454a63173820052c291cb40ed13edfcecef61d64dbda19e8d67973ef5b8c74df8c655a54ca652a0be7b0441a5b4a3a3a3ad8b2652bc9a4b31b6cd936d9944669719199b979d4ca2ca94c9efd074f72e35d9f60e1e45b1c7cfb20036bd673ff57eee74ffef44ff9b5dffc1f78eca1ef313e7e829e2b3ec0dd3b4778e8d197d1ed653efb95dfe699877fc8c49965b6efba91ebb65fc9b7bef56df69e3a85ececa1dd3a4f3165b1e3ba9bd9b1798c071ef82e7dd7ece2decf7e8ed307f73076ee3c338b26a62d515dc9bc94e120713dbfa574d6994a55838a6122914c4c5bcc97af64b93ccce4f4384bcb3a9b37a4d9549a64c3da4e32d92cb7de741d4f3ef220524bb17dd72d64b30ac3806d5a54ab15b46c2f9bb6b793502c8ebcf038a7db7bd979e3ed2c8cbf8dae6af4f60f52ad55d9ba7680370f1ce4bfffd7bf60db55db58285650b2053f7a406826e775ee8049df980af85021d89082f647525708a25a28081b42ed747c69dbaea034a69802686f770e3fcece5c64617efe12acbffc7411b06c8b427bbb7fa96150184232283cd172ff1f112867592d6225054d82c04f1979e72c034ad72208023b6b882123483adfa911b225a01c1541702a2882f9311651a81da229d31f28625398cc86620b82f84a3e42934b97c0ed2b710abbd1bcd06f5c0bd73b5dc15c09666640a6416aac9d7d037dfd047bab650a4bed74e53b6953b24cd5a7a06d3beb366de5531fbb83a77ef6735ededb8daaebfccddffc35e94c9e5beffc24f9b60cd56a85679e799aeeee6ec6c6c64028acdb7c25eb4f9ee01ffeea2f49e73bf8ccbdf772d38d3b79f4e78f22d21decb8f63a6a0b13686a82b56bd692d1353a7bfb995d5862f2ad1778f4fc0057dffa51f2cb47f9de37be4661602357aceb64a0b30d3d9961687888db766de6f9bd474967b2f4f7f530d8d54e229965647810519ce5816f7c8d356bd6502c57696fc73d8e12737a21c8647fd00071616a3a6598e673b6655f674be91ea6b5a856eb2c2c96999a29b3b05c637e611ab37e0a9532b7def82986868691d2a65a2e6349dc7099cec29daaaa98f51a35c322954ef3a3877fc8bab1b56cd9b6135dd7b14d134dd77c87434d53318d3af5ba89a6ebd4eb7512c93449d70338945a8d827eef128ddedfc485f88ed5e8552ddebbe50450ae5448257572d97460646f140eed8cb440ee4f150531b4b622c41566773733e47de26eaf8b982fee29d5a0aa6a9ea634dba00d3f1708fa79d9de06858faf619e89c05e7798fd8dc67a7e4542517ca8a6cf18b067c25e3641ea654c6eb85d0d0aa3ed8f24e135a9113d2a4a855fb7df64192c4e333fdd2329cb4552e93c66bd4ef9f59fd0f7dc5f5328ce52a9c2d1ec087f727b1b8f761e202d1298d2265d4df027ddff0b1f5b7f3775a38ea669d896e95cf5246d27c2849e209d72627b552a157f673b93c9b88a55206d934aa502aa4e3a99440849a55c46a83a89848e6d5968aa866999689a730bd22f7eb11bb356e3d63b3e84a6eb285894cb55b4440a55711aae280a9665a1aa0a957219db86642a89aa389b40966d816d53370d1445c5304c52e934ba16736c29faa19ce7c615e186e14417087f2be10b23806d9918c622f5da2289543f7a2213fa3871cac05b4c2d158be87a824432d1d8a56bd54f56a348562a1f07bb9232ba545d01382104954a05216c526ec708150f991ebf9a74a9e961c83a5c4d0aea968818374d7c2f03f9e5d2b17af8cb6ee1fb922e556b5cbee70798cdb5639a16a651a7f4dacf10bbbfcfe2c05692b7dc4ba93bc35f9ffe3acfccfe927633c7bddd1fe137aff81c7d85bef0b76e35d85eae7cb4e8f30241a5eab8b4a453e9d02ef87b4a97a23508e3e4bf86e43671fefc54caf41553f3081996eb566648b086383360e51646ba7f64048f1fd3e3b0ac342ec68e7e4df55d5ae355ab55baba3b2814da9dbd6f1a454cd3a05cae609a264278d779477912b5365af0c97f74db2f259aa6914e679c2913aee515c817ee7cc3af41b4ca733c9263bd0e57992ed5139a53d87fed92d0814b1142076a7104be61cf456889e1898cb88a0437de5ae1f4323dd8069c83270a2b840c386a7a37ead85c989e4611ba73d3b500cb3429cdcd90c81748a5d308606ae902af9c7d9df5ed635cd1b79184aeb7e06b6bf9bad4f8db1aba59e65b61897a70876dec662ade8d7c8163316975c3a056ad398c7b9f7691fe1f4bef6a30bdb4caf3d10ba8d5ebd86e5400d729875aad4eb5eac4744e6732a4d3694cc3c4b2dfc53df13149114e64d1858505142148a6dc2b9e6420ec0941f709117876955860fae5b86dad1cbee2dda64b7f82f0d6c4caf05ed487e084b43139448a8672f6e6c7be411ee481a39c7c178855e36cc0da11c1f5fc7ffc92b6af93f078ec4553ad5b35eaf53a9ea6d5f3056c2929974a00b469793e32762742084cd3c430de9f7ef3bea75fb17c05abd1744d45ea2a8ab003fa4c34b9c63b3e1972753a8fd55b704e5b5bb738aa9583efe34ac48fe4616dddacc15bdb3161346ee02bbfd34a96978a2c1797d1f424aa9ea4adad8d743ae3744478cffe4b9e4249a7d318f57ac31936645145937b0d8f8c71c4f4044a36f3308ed7517ec68dd7217a5be05929ad842ffc26a62d32f03694dd0cdb086db31a9c518ae2626a86dd251aa85d75e55a6cbaae82547d0cc1707a5e2453d717a5e1bcd85457385d8e7c11a82f2eb59a21ae245f61f856f215868ab3f75a25ad50680b5d112e84a05235b83053a26eda28025445d255c890cf5de232c67f92e93234ba1014979611ae37ab65d9148bcbe4dabaf8f3efbe4071718efff07b1f47d37472b9dca5f1ad9642e91cfab5bc3bc6bc0122d073e23b920cf97f35abe140771281b732dc893cb8208c948dc5e1f094261e4f004b984ee1e5888850c6c0b25a05d680959780698df372605bbc91124dd7686fef885d1b140896972bd46b4514638e44a69b4c5b0704767cffe9a7776931d9b67bc6c69d965c982972767299b67c86644247d3546ccbe2d4b905726995e181827306e73d1170a971f5bd591997aef372eb73ca3abb0eb67ba9804db95ca252ae90ce599c9a5c647e6eb6e119beca649a06a562098473c75b424f9009063e03fff80baed366dc99c4b81154c6e485f203c357dc2c3ea4fc9a602263700b3c32921f327142f08113fe3e58f3981cd7965623fd4a3cb914ce956043753666907e86fff55dcbd6b66c3ff4b4d7356a558393272ff2cacbef505c9a63cdc002fd5d2add435731ba693b9aa635f1fb1f57be2e57a1bc17f90a9717c8c6911489e4e26c89bd072fb066b8134dd848dba4239f435104b94c9aa32726a9d567d8b0b627804f46ea5ea941c1217465037ec5f27e7dd105b5567547f1afc6686da6d71bd5cbe5328b8bf3589645229524a909d60c7633bf30bbca7640b95c66ef8163bcb0e718d34b123599c3326ae8f63257ae69e7e31fba91bebede668a3c05d582724143e1acdada902bf140b88732e3d7a4a29eddf13084a53a94d1029f6cee21ad94d26ae16809eb0e3c3138bc77d19ba1fc3c1981970d584923d0be37985896647eaec489e3339c1b9f435512a433dd4cce15989c99a770f13c9d831b686bcb376a0bf1adb98f876eec95b86e255e68ded52c0c4914c5097fe35fdf1daacf7bf1ab94af70693fb4ae6559bcfcc638e39345169797104a828d637da412150cd342513452a90c6fec3f4b6f57965c3685653a3e108d9155629a269aa6d2b46b112439348c36f24dd37476b262220d348df22ea206def038b91af35c78e582a35e5c7d6e4f7396016c969697e8e9eea6bba787a5a56514017d9d79ff70f34ac9344d5eddf3164fbd7e96fde3160bb52475132cdb405375d2c93ef69f9fe79503dfe7cb9fba8e1b6f0879713883b06c5e31f0beaf65db942b1524824c3a83aa8447791fceb2108a739904d2a6522963a3904ea7dc5d3fa7867abdc6a14387d8b97367c8a9345e645bad4811657d737ed47e910dec515d16a740e274de4aca8a2658d904e77dfa5678ed4813a27dc8bb56ca76affeaad52517a797999b2da12a2aa3a33d18a685695898a645b1d8c5d4d4454e9d9a62c78e1cd56a957add404fa648ea3a4195e7555b37ea1c3ef4363b76ec70bce91585b367c7a9542a5cb169532800645056829c5714850307f6d3d3dd436f5faf7f21c13fb67c05716b8e67b56469b9c2beb72739393e4357571beb467bb9fdfa026db914a5729df9c50af3f36526a72b8c9f9f63a43fcf0f1f7a88fbefff124e9c2267caf1ed071ee09e7beea1b3b3cbd1c0b8278c918d9b15dc7d55c53d9d6cdbce56f8f77ff07d6ebef91646864702d39540b771230184b62de39cfd3ca5e83b5c46baadb7ae1150908da0fe0eb764a302bf3ec51df952c914ddbdfd9c58ac73e85c910f74aaf475e5c8a4532b0a8065993cf6d48b7ce389e32cc83e8a650b453149a7d32454855ab5c6d4c51972d93c678c36fedb779ea5afaf87f5ebc61a9f2d70062f2a348aa6b2f7cdbd7cedebdfa0afaf9f0ddb6ee237eeb91569dbd8eea8c8ff4dde7b875b721d879dbfd3e9e677df7d3987c919988c9c0391093089012228910abb96b9f6b7962d7f9fecfdd67250b224af2d5114291120455204884c600022cc0c66000c26e79ce7e57473eceeb37ff40d7defbbefcd00a4fcedca071fdedceeae934fd5a9aa53a70acae1c083c110b7dcb081f7df7e8d77761d41f707b9f7de7b59bb7a79d9a9bca2a8b4b5b5173737f79cb8c6bd3cbcee16d5c2d4c2d78e945df95e3d39555fdccc5df5422f72b4d4224df5e5935af16dbe324ba996a19435ffce35e9b2f89f2d259665323339842a1ae8ee6aa25030314d1bd3b4c8e50a241259d2e91c53d35112f1089669f1277ff227086cb460075ffa95cfd1db1ec1b42c4a36868e8903b4b6b69539334d53397dfa341313e32c5dbab43c37b66d973d004859b9e5583243f9e0830fb9febaeb686b6f7336ade265f16afc728faa9803bf64595efdb8f85521f812adb4d0b3d90201af970dab1673fae2157ebee33823e3511ebb67054b063a89c6b3bcf3fe512e0dc758bf3a42478b8fb1d151ce9e39c75bafbd88ad68648d4eb6feeca70c0d0ff3e5cf3cccae8f76311435d970cb3d1cdbf9335a5b5ab01583f8e415a60b5eeebbef416217f7b0e7f815829d8b79fda7cf73f8f0117efbb77fdb896f2e4b3e5ddcab46ba3a5b49b58e14e65e3935a4bb66a9ba3d0fd4b067d808a42d49a592c45229b65e4e73316ad1a69b4e245ebf3bde5a759252f2ea9bdbf9bb2d9798b69ccb97ad6d8e8ff04c2683b49d7b4f9d9d9d9c3f7f8118123c83bcb96d2fbf35d85fd65b95c48352723bad0095582c4e6767176b57f4b2ebd05e78e476de79f75d3efc6837ab6fb89fe8a50364a2536cdf7d00afc74b6a669c83870e73ffe7be4c6af81401b5c07b3b76d2d8d8484b4b0b5bb76ec5300c1e79e491b25fa0fa1dac9e9bbae35b350dd573328be1777d2f5902d8a5b28babba1a1de61a939a265e6b996e5aea5a4ef52cd1e7226ab2c879485b52c8e7895f7e0fc5a7930fac23d0d083df6f50302da6ce253973668c70d84f7f5f331d1d110aa6493299e2c1fbefe49db7b73239368e39798a57dfda89d1d4cfd245831cd8fe3356ac594f329b63666a827c3286d23c48736388237bdfe7cf86865878fd1d2c09a7d8b2fd2302ed8b59d0dbc1e19d6f70e31df712088579f59597e85e7603390b462f9ce62fdefd39d213e02b5ffe328d8d8dae03895a2edd3d9f251c2989e173cc3ff3e357a92687632a72014240d06f10690c333a31ceb153231c3a318eaa287cfdf34dbcb5e338bb0f9ea5a1a101d32a20a5e3c06a726a92918ce0c9cfdccf33df7f96356baee3cb5f7992d3fb3ee2f9d777d0d3d9482655602a3ec57d4f7c89e77ef87d96afdd486b628c777ff62207f7efa1a5af9bfca55156ad5ccde34f3c4e7b7b0766dd3031f516bef33ccb38ae4e9e0a91bb8aa2a3ea5b055e20cb3b4c219d64455b88d1bc454166e86a0e11f07ae62ce9fcc5cbfcf8ad33ccd89de4f3793a3b3a989a9a02210804024829191919c1ebf3b160c120274f9e241868e5e0b9cb4c4fcf942f69222bee6d67f5b0e87ae4c2f9f37474f6f0e8673e4b3a36c5f4957324a68779ed1f9e211409f2d92f7d096f632b8d4d4d2c5dbe927d474f11f068fc6cfb07747675130a85c8154c7c1e95c3870fe3f57a79f8a1871c9fdfd41ea4d72ec2ca45cdd9dfa959b4d5dfabe0ddfdabbbaf3873536e8da806ac4f922af0572d733efa3b473bab92a86c2252da28aa4ea8e34646cfee60f8f47b34b4de82c7f0e2f5ea4c4dcf108d4d024d84420d140a947599fb0f9d60f58df73130d0c7fff883bfe152ce4639768ac4e41a72de6696ae59cbf7bef36da653593ef7c52f7264c7bb9c1a1634f4ade49edb36f0fc8b6ff0c1c41033aa1779fc0c334b57221a3a59b26c057bb7bd49219be0cde79e61f9ea95a43c30134fd0d4db07422fc67e733a7975fc2a11af8f8b5fb3df097094dfb665e3f3aa3436e8ec39749ab7779da0602b284270e0f8083fdd72882ddb8fd3e0375832d04c576bd0891b55dcc51776b6d0d53d80dfa713108277b76d635967130b7a5af03434b174713767ce64e86e6ec4e73158d6d7c5e8988aefca30ab96f633637b58b1a40f999ae1fd9d3be86c6f2bfac2ae6ef85ceab7ea9d6c76776bb521b5b12f846036be54d557842fb2b63e9f8f442cc6e29e26869a758c6c8c904fa321e0ad5b8e6559bcf5c171a66507a97486eeae2ec62726686c68c04c8e307e6c27c1a64e162cdaccb90b9749673284c361b2d902c3991c935333f474773a6d28897275ea711c8cd9dc7df75d7ce5cb5fa6502870fec411b6bdbf8b86f65e94f4380d010f8bbbdbc80db7f0de477b59d2df4d6f83ca9b5bdea4b1b98d505307838d1a6fecdcc1c18017dbb68a274445cb6d3772cfe2742a77cd4a90ee71acfd3d17bceb7339d3dcb6bf7528f4bc497ebc32eba5b93b54cd20ba14df524a221dbdf81a1ea571264a2a0de7ce8de3f5085a3b7c74762fe6c2b914a9549668348165b5d2dedece534f7d0dbfcf876ddb2c5dd247fcec28cddd1db4b736a0691a0d7e9fa39735731cfa680753891c8dcd9d74b5f8e8e81a405325cb97f4737838466b77272d4d411a1b1b51b1d9ba6d1b56a815c3ab20ad3c9e8608ad2d118e1c3d48fcfe3b0905bd655fe5f3e157a9db9f1cbf668fbc665b8e670143d759d81fe2f5f74e62498deeb6105e8f463667f1f23b4749666db2798bf66695aef6081278fcf1270887c37475752384e0739ffb3c3ec5e2fcd0184b562ee7a9ae6e86c6a6696d6be3baebaec7b26d1e7ce8619a224d3484c30cf4f7a152e0ccb94b787c01fada9b3973e1128ae2c45fab58e7d65f13f30d54ed005c0d762e98aafa847353dce331c864d2780b196e0f5c2131b39f7cf61eba5b1a66114d80a19151761e1e27996da0211422994c12f0fb498d1f67efcb7f44666608cd1766f367ff3dcdedab48259378bc5e52e93452a855e60125e577bd869a96c9ea356bc8e5f364b259a49474f60df0dbbff59bc42d0f0d411f3e43c5e70fb061f30df8420d049bda78f8f34f72ecf8092cd5cfd265cb082a79f46098ac12a439ec730e334a9e08cbd55594c5ee319abd63d6885055f0556100e69899aac267ef4af35530176c3d45d35c70b575d436b5de62ac916a6cab1257cee3f3d3e1733c80b6b587c9e7f3783d3e468652d8769a91d14906173927e19ffdece75014c5b10417827b9ff802fda7ce92cae4e9eaeec6e7f3a1e93a9ff9ece7f8e1f79f66c5820534dcbc80d6a630d22ae0310c3efbb9cfd31209b0f8d459b2798baeee2efcfe00aa6ef0e4d77e9db1781e5f204883df404a9b5038c2a6db3b696e6a2ce3e0b5d0fbfacaf0abc3cc85cf627474ccb92b67db9b4cd3e29df74ff3daf68b780c3fc180233ec49359a6a331960d78f9da6737d1da12464a47895ab27f92b6ac8400569c90c6cea94f25686649015712394ac27c391cb12dcb79cbc8578f3d9a33c90a79aeb2f4ab333a7395355f7dc2d107057c1e10122915da4271864fbc041d9fe7f0a5149b9755fbfc067865cb56beb56594d18442576727e3e313b4b7b7b0e785ffc4c8d1378a652bac7df4f76859722785421ea47382e74b1de7cf7ff751fafb7a999e9e2a8608f7549a262b0a5c21f3a8328d73bbbcb27fa99a5a567a4a64d9a198aa698e3f689bf2bd3ecbb690d2b9e727b0cb3b9d55743f5377585d8858d6cfcc8229cda798055f3f126f3dbeb70e75988f7b990bee6a69de325d2f6729a36af84129892773a8de164c77b41b577f85105cbe38cde54b094646a650f514b7deb692a6a64805775cac87aa96426fdbe5f9144270e4c861962d5f81e18a782491c53264d9377829ea762904b9db3d2ea2785065db73847393ae2e8afa63f38be097939cbb72b21489d7b65114c19d372ea4a73dc4d98b51d2198b82e99ca475b636b16e751fe186a218271dc33177e34a04a83c0516579f64e144082abdbfea0daeab0e86acf9b7f67bcdbff3955f43e24b44554a89d7e361726a8a96e62e7c0d03e4b0e86f6fa85b643491c652bcd8761655d3b06cc7e58474ddfb09b52fa1b5ff3a12c9244d9188e3db39e023397516646920a9ec60e53f45ae432a285602cdbc008aea80978ed60ad5dd2939a010591ba57447b2e829b43c54a53c451301a560222c0b3c9eb945ae521d661e3259642008aa520d2366c3cf224c6e194008b02d443687f4fb9c6fc5eb3ee873b832b64c6751195ee69ee86b48853cc2b29186e184cb05273083aa569ee7217852da78f052b09baba310b9b835e744db229d89d1d4a4d3d4d246301870dcf1d6e017803d4788ee952b5761db3685427520c2325350275f3d1ff5d74e6c647daef317c02f77d2ac62a86ab34c1d048b07dbe8ef6e24932d604b1b4357f1fbbc08a1cceaf82f25d5b2de9f642d5d2def7c037e8df509211c2b79e9ec40baa6914a9b049a97919e99a1a5a10f666d094e3ea5cc293a10f982c9aadb9f44377c2426ceb370e363d84604c5ca388b5282cc4d50481e9fe5bdd1f5c7f5af8da536636aad2893e75046b34e045d4538914d00695b50f22aa02a68fbf7a31e3c84b56c19d6c68d0ed7551439a4e2eccccaf9f3c8e66648a5508687b1d6af2f56572496a5c6d916457619fdc7df45bd324deed7be8edddaec1034400ac5098450e2684b84d976f4955211653fe4525110f118cac424d6403ffadef7b19b03588b16a24e5c06d3c45abebc242b39a2a6008440b93284323e86b97e03c2b691d246d83851559008db51483b2c82331ea21849049c3e206dbc3ffa1e567f3fe6da95d82d2da028787ef463ccebd6602d5b069659b6cf712fa5b23f265b92c8c4d12cc74ea98ccc558b035a5b830483bd8e478aa214627e5c3c9b0ffcaa1ce035a46bc1af7adf3f417d02d0f2f97c314478beba0e21d035e749e25cbff8b8f2e37cb01fa7ad73d1948f4383ea7dbfd672dda4a65028100c7810c28919178d46e9ebee459d3904d24630db21562193209f4e637842c46231dadbdbb972e58a73acffd0bfe0f8d6ef72e9d05ba8e105b4772f60787898c67090d4d04b74375b04fc014adb53e994a75e7238190bed67cf611c8a92fe3ffe25b2d98b72e522226761f72f40c4a7201e85502bc413884c1a6ba00f3933827aee32b2a313691868172f61b7f7607cef7bd88b1791bfe30eac9e4e18bb847a651cab7710cc2c223a89b034ecc141a457434c4fa3bfbf9fec377e0329d3a87bce237b0690328f32318aece84136451093938889118434b0162e40241368e72f6077f6227550a6c7d00e1f47db7780ec6f7c03abbd0ddf5ffd15f9fbeec55ab306e90d212e9f459988610f2e4424a6118928420960b7b660b5b6a09c3e8648a5914d5dd8cd3ed47317001f764b03b2a519a48d7ae62c4a328d35b81019f4001265780865228972ee22f99b6f44ca3ceaa1bda01a88b11148f6a29c3f8bddd48aed7789d5557301121bdb36c9662d72d9ac0b66360ba2a8cecab3a54d3a33dbbbc07cf855bb663feefefe8f855f1fa7aedaa4b5b63697e5553760266f629a124b4a345521e0d55084c034ede2a65bafb87fda490848269258a6632e110804989a9e2667ea18a1410ab685ce6cf1229f893175f130edab1fe3b1e2da790000200049444154ca9521162c5c486f5f2f93139348c056fccc5cdc4da46b09161aa18608766a2f21f111b7ddf0081d1d5de4f2b9e26a2f11279835058a8a18398512f5925fd98576e42456a71fefdf7d0f73711fc2d38b72e908766b23226562772f404c4ee0f9e10fb1750ba56090bffd16846da2bffc224ada8b18bb089a8a160aa15c3a0f6606213534b5097231849d459a16d6ba3bc83f7033229140199f408c5cc178e73514a9030d48b288e40cd9279fc46e6bc5fbf3b7d08e1fc30efa5157dd8ed91f447ff545848c6037f910f109d00d94d1119473e730b6bc8172f932ead97388581c12332833d3a0e9f0512f62f824b2398c88a6909d0b60e60aeaf008e68a4528132685252d68e786109904d6c042b24f7d1591cfa1eedf8bbe7b0ff6d29bc8fcda638889513c4f7f0f1a3b10d1713c2fbf8a15f6a2ef3f86b9f926c8e7d0df7815d9ba8cfca30f22fd1e4a77e29c45e2e2656d89611834954f9805d839b03245ae5145683ea4d0f98544ceff4fa75a5d4a25cd45c004a095f296ac48f3058bd397a3ec3e97e052d4c2547416b52af4862c5ac37926666658d036c0405f47f9a4e1eae96a1ab17fccfc9f8477ad5f9f7357aef85b3aca7fafc743329946f70449c7a2783db33d30747777909ffe0e66721d6deddd9c3f778ec64823cdcdcd288a86195b44b6d58b3af22c31e121b4a48746cfab74b684b8ebcec7303c06d95c6e56b972d60f1bede001d4d397a03b8872f65de4bd7720bb06c9df7f07de1fbc015260de711fcaeef75046861d3d54328992cd93fb8dff0d3ba0e2fbd67f77c4948bfb31d76ea070f73d4855a01ed80718e49e7c14efd3cf0136f94f3f0a9904dad113486ec2eaeea670dd75587d03e83b3e22f7eb9fc178e6598484fcfd9fc21a1828861eb7b1566dc06cd7d13f3a887e220a96857a6c3bf2fa0de4efbe0fd9da84f1da16cc1b6f44fff043ccd5abc93df020eaa91368674e83374cee913bf03ef32a0841ee89cfa3eedf8dbeef10a80a56671799af7d1dff9ffc29daf119ac9bee42c6cfa0cc144051514e1c413bb00f72099423ef21f9344a22852818641fb803ef85a390c9605fb70c339f43199d814206f5c83172bffd047653b0a2cbac5d326ef15b16d74b66182d731cd32e303393223a93c0ef0dd3bce0069460075c13dff34934ce574bffd8f855bfbd729efab41251925292cb5b1c3833c9a5bcc1a8f092b0ced1df91c36a8873399026dbaa3095cb108a86e8ef6daf529ed51daeb269ba03a728a27849503ac67a57e98f00e7d40039cba6e9da935b1773ad5c5e755d2505ade395d061554a2194745d279188d1d1d945369b25189aad005fb962157d6d92e8c8d304bb9ea4bb7b904422c9e8e8b803e06dc7d3bc9407d6ece3f8e5bfe7cc9e00de5e95c11b1f67e9f2f59536894a8baafc2c95de170a281949e65fff1bccee00c6cf5f431d9981cb47f1bc98c5bcfd6ef4b79e477bf53968eac7bc793dcac55348bf173b20f0feedb728dcb819bba101d5db86754337e6924ef4375fc35abb01ebfaeb906612eff77f8cb5ee666421811d0e223c1a764f97e3384f4aecfe7e647384c2ba85789ef921d6aa1b904a0ed91872743e8a02d8287bde456feba370d783a8bbb7800c51b8a913bb23826c6cc06a0c21d3d318afbe8ab56001b66ee1f9c98fb156acc4dcbc1e317a19ef8f5ec2bcfd5ec4c405a4cf8b6cedc05a98747456c59057f6e002ccfe668c1d3b512f8e52587fa3339e1e0fd2eb45b62f420634846d63b7b7622e6cc6f3ec1bc8d685d85d6d88824089a591ad1dd8912ef237ad413bbb1f754137564fa4e8c9b4e604d0f5434a9066162d750abd6505d3492f4385218e9c3f446c682f0fdc90a47be36790aa5b595f670dd6795f1ff6daf06baefcd5f5d54fb5b8fdcbc0afaa4391582ce6b52c6b9bb4e5a6c3a7c679fd78929db1062e67537c66c3f3740ece90cae6c86720173798bc94e5cb8b7e8d8dab56220458a5d0c7aa5a3c8a74948a02c771bf6916686c8c609926939393449a22c5a3cbab77c2b22ca2d128b66d17b98bda2b11d52ac7b907e7e30c5abdbc95ba52a914029b80dff1792e254c4c4e1089343131313e2b443838c7fedff9f61ff1c6cebf4146bac9c9eb91ea12841a46081bec18d317dec033f62e5f7f08a20978eb23415e5dcefacdf7f3d5a77e8d8e8e0ea233d39510e13523506ead5d92f124a80aeaa1c368a74e917bfc0900bcdffd2ef9c71ec56e6e014594bd7022808289505427fc906983aa3a0bc63411c5cbd51210a685d4b42a5d57492f59abc113a6892c5d6e96c505a869785e7915bbb50573c3c6cac99b651715d4a5b2281ed9e29c843983e9fc160e7113a6ed9cce9594d9c58acaab4414836816f278ffee7b2863d3e43ffbabe457763bef4dcb69945a3c14704e09cafd071c85bd652135ddd99014e128f48ba786f5562438caef543a4d4338829d4f10c87e086d3771e4e818478f1de7ca954b34cb69eee9cd13b9fb9be08de05edfaaaa96efab59d6b51280b95a533c84299e26d6aa6f6af3975c20cb9a712d959b4ea7b12d8b6043310cfb27c6b1592bd931172839894ba573ec3c30c2f3bbb39c6e08d1dd25b93476864c224493be9446b190a0bf832b33cf82946432695e7a6727b7de7233ed3ec9f6d79e6760cdedf4f7f5639a05345de7d8b1a31cd87f8075ebd7b161fd062e5eba4843388ca67b285def508a5e216de9d868509c0455538945a33cf3ccd3dc72cbad84c3617c3e6f71924ab1d8654dd724739b83c959a4ab760aeb92bcf20759f68b543ac596d2f1f46918068944a2fef12ba0691a0f3ff2652e9cf988b87902a5f5036ccf212cdb40d5c0635888ee2ce73fe8e4db2f4ef0d8ad26bfff0d85c3a78ef087df3fc7cdb7dcee8a642a2ac8368b303bf82a4b3db025f6f2e5e4972c29fb1ecb3df915308c8a8e50712d265daf94a9abe5314537aac7452f6d10357ea245e95954a075bdd23c219d7b9fa645e19ebb1d9d5889882a4ae508dedd354dabaea3ca444029b7b342145ded2c3d0b01ba87fce7bf80d4746428889045abf31a8f10b238884277bb70554155a9843fc731c928e6a83048d5f29bc3b43896dfb62db0eda3f894232ceedf40a3751c698cd176790f4abc8dac25112e0f96524a7efad3e7181f1fa763600577df76130d010355713604bb7892295c66d5524a144d05e9980728aa52c6174508462f9d66dbf69d64f071ebed77b0a0a71da12a28508eb482a2a0288243070f136e68a0afbfbfacd3b46d1b4d555054953dbb77138bc7f8f4a71f2fbb02769bcb96c7d2351f57c5aff2f89722f14ac94c224b46f773ff1d3d58170553b902e9b17eeebceb37e91fe82716cdf2e1fed3483c802093cdf193bffe160dc126d60dfaf8b36fbdc0fff97b0b4826930cf40f303c32c2d09521dedbb1835d1f7dc4535f7d8a48538413c78e929a19272efd74b53472e5f22506576ea4339867cfbec3f89afbb86e593fa78fece5e4508ae96802bfdf4f269be59d77de41f34758bf6e2d0d7e95eac3a9ab5ba8d6679267bf9b45fb8b0fa598f2422d1287a278150a86989a9976a2e5ceb16bf4f4f6f395affd7b76befb341363bbd044165bc9a25a0ade9c829d53e8ba7e350df7ddcef113e7f80f7ffb22666e9cdbee7c841b6fbca1729952b8b99352528afd2fa2a39b68699af37fe995d7376b042a04bbdef299832bad792c1302e12ab324d9884afed2c2c3305c7da804c614e5f1ae59e2aefed6e78ddd6350e7669710c8e6a6cadd2f778481aa325d25cbd20654d3c72a1d496d58844aa7a5a3b54016ed04a59945709ab0b740b8e94338741426c78977de836d53b43b730866c134d9b3672f8f3c70373ffff9cf19ecee6261b79ff777ed27d8d6cf60573bd94c8c6c761ad9d00bf104bd9d8d1c3e7484bc1e66f1e2855c3cb29b60b88955d7af271d9be4c5e77e42fbca5b190841213682d91a60df9e5d4ca505abd7ad67f4cc6152893832d4cd96579e23e4f7f2f8e38f131bbb42a021424f770bbbf61ca6a56f09a96c817c3e4f299277653cae45d8acf18c51c6afca77ad846cd296849bc36c5cb7187ddf084fefb942cad7c09199001d3d827d23266f9c2ad053dca12ccb66f9a2262e1cddcbc46949fb8aeb9152f2f2cb2ff3f5af7f9dddbb7773ecd831fc7e1f86e1c1e7f3f1f2cb2f138bc7e91e18446666d896d458b7a885179e7b8e6639cd89c904d98cc9f0e64d9c1fba4857771bf9748c175e78812f7ffe339c3f7d9c43c7ce605b0af7debe1ed3b6aa57e77ce4daf54e5283d7b394632eeed49d1f51a5632a25ddd0d1358d4c26836ee878bd5e0a85c22c5679e9b2d5b4b5ff5b8e1cfa80a18b0719be7c0204f42cb91e5fa08b058bd7d23fb000d3b4f870d713ecd9bd87871e7a80603088108258ac687353742353dd2d5144cd0ab257216f3d4a5bfb46cc46e9927feaca7b1757544d492adc4ff9d93dc0a2ea2451b8f295ebaa819fdd8f1a8ec8455bdc6dab8e06ecfe4e2558689d54cb6f51d5d6cabfe5b25c392a4bc5554a19e11c7f4cb665031a181b40b521ff21565a811313c8630730576e42a82aaae658e1271271de7a773bdee67e9a5b9a79e527df27136c65eac81b4c76747129769989e921ac603701a583016f9a5da7cf222d8b45cbd673f2d4017efdab5f0529998c2689591e9ebcf7367c458abbf7dd3778efc0719a1a0c4e9e1de5ccc93ddc73d7adecdefe22b168829ece76a6a7a6f9c10baff18da7beca2b3f790ed9dccde1d75fc50844e8ef8a146deeecea41a81eccbaf8e58c4b0d6c2d61b26d1b9f21081992e3c747d8fade59cc4c1cb55163d7f92c616d9267df1f27645d20d2e69c0e59a689a7b187854d31de9e6862495f07b665e1139203c74e70f9dc612c0b06fbfb91404b7b4739c8deddb7ddcef8e810a18b97b9f7fe4739f6e77fc6442a4eded2e9ed6c411705746f909eae560e1f70d8dbad5b5ee1c2c80ce9f818b1890b483614832fba7b2b9de72aca53526cb847495451e75a3e61d64096f00f59bceaa1526d2e21f0fbfdc4e3714cd3249fcf3bc100ebc8f0baa6b176fd6dac5a731396e558c5699a8eaaaa288a20934903828d1bd6b37edd5a0052a9245eafaf387efa2c530de1a2a2028a5e00a842d2ab2631fba79b9f292379c9f25cd4965d0af97db5f04c95abbdf3999cb8993ea58a739bbfcd55eda903eaf441d42d6eae92e6abcb593b62d698394bb0226299a6c5c8888168eb2018ea03bf85ad7760c66db4c11e52f634995daf115a750bb2218265593437b7f0eb5fff4dc28d11744d251a4fb360792f99c93182cd3a174e9fa46bc9afe03df3034e740ed09299219dcdd3d7d9464b838a5c30c8f56bd65030f384031efc32c3bbefeda22708c16080442a833f1ca1b3ddcfd0e171da5b9a78f08147b872f10a8d3e8d8eae2efc013f4b0607b87ecd1adedff22acbd6f691181b21994e63d9e162b4ec3af2c67ce2cb1cf8e516048b3ebf257e9f41bb2fc5cbef9ce6e8c1210606a7082939de3f38ccc123065dfe13acb8fd4d42c28ba6aae886c1baf51bd878e326d64a8d13c78fd1dad2c2bdb76fe6ed8ff6a38517b2617984a0d760f2d2593ed8b983b5ebd6619a260dc100b477e0f1f800c1c64d9b5936d0c6b69d7b48664d56ae5d0d87f673f0e424d76fbc9570c84fb3579051cfb160e95a162c5c88699a7506c4fd38cfb7ab0a7dd5a94cb884c331298a70ee14b9cc7e838120dd5ddd2413719289440d47308bf5aa4a3932356dab8573647c5555300c4f25bcb65bea70f5b78a34b8b6f9323f53cb11ced1b472bf4b9c8e2c2e9e928ce20ea523aa4384e38677f13bd22e0a5b3521c24b6d2cc15723ba8b83a9373ceeb6bad31cc33e274d9a6b9a4a6337474685eaddbfd496925869db12dbb2b872a519abfd4e16789b19991ce2c2e80a56a45334b4b4e3e50a4ab085d4d8107eaf1f45d5d9b46933a16010ad789fed530fdecd96ad1f10ea5eccaa1b6e202d1596ad5b4b62894a8f8cb0b96703e177b7333693a4bda383aeee2e0a853cb66de30935f1e0c38ff0eef69d5cc0cbed77decdbacdeb19dfb285d3970bdcffe8834c5e3a81659aac58b98ab02ed9b3ff00e150036bafbf1ecbb6b8ffc1bb7873fb47340fae64436f273a054cd3aaa35bfd64f8e51608c5e8e8b8d72c86084f65f27cf79d510e8f1e64f9ad1f307cb691975eb8819ce9e1faa56778ea71c122cf6a16b72fc1e7f394ef8e818b8d17c2b5ac4abbaba82214a58bbf4288e21d3da56817e4604cc9d36509b7dd115c1cbc902e27725749732ce44f92841064d2195455e2f3ba9cc25d2ba2d47cadfc7537b636770da653f358af6ff510ac16b6a6c88a4826e76e78712eea790d15c513013157ddc57f6471de287a489cd5d679f2cf1ad4f9e6f55ae0eac97af5f25cad4d73bc93b62493cd110836904fc638f7c1165ad7dd45476717fb76ece0ec963778e4d4117a57b550b8732143e17eb81c436c7c1c110a170f862a48af88caa55bbb7869dec195223f2f65196f4a9174ab4c7a84520e965a923694e229a82c2ad36ddb7682a1e26c1e656fa9c50bf88aa214b96647127194f0738c6f9d219d0f5f8bdf3f4272bbe3c1d276b4fc7eafc6176f8cd0339c46f52ec4cc0e70cbb230d333496eec59c53a5f179d6d6174432bcacbd792ae4e192ce9dcb3aaf677ef3e1e2d357b76c9b39fea60acacfd3e5f5be78629b90736541ddd70ae2fd4cb529acc924b6177abdcc015ed8dbbf65a8ae14056792b9a6767af4a57255aa2aaaa6b22f4ccc6c56bcb5716e0ea3675ee86ceb182a4ebbda803381fd1818a3457cb68d72bb3945c747b567b2a8c69b95c5bdae4f20507e9358396ce3ef4c4085903d4e8389dd3c34869625f4aa0ee9ba163a141323c4052d31d03d49a2a2cacaa5beee5000455ad99fb62aec49af5b51264a2528655aaa4aa01cefab3ad529d359daeee7ddd54eb7376f677d7d7e1e1516f215f0c112e1c367d726686582c4da6a03aca3899a3abad9150d0f11353d7fce19795ae153b3e49b9d429fb63d427842093c9d0d25a1322bce866249d49934ca68a935d347ff8a4a964d1597a94ceddbcc6c6086af1a85a8a8ab7e47a61c02bca57ea7c1354071798d5db79be7d0c98623f64b121b3f54a356c5371a72f5fbb29f6b304e9ee4f29f4b75b3d5e1993d970658e5ece51262e0eb6e8cfba16d6cd24cf0e8a4991d68b32673936368e109a7349de2c60c7c7b1b369928938563a4b58f3124c24101e83426b3b665b17d4b93df00ba57a0cf82f3bfd12f0ab981c3ba66c264b269ba1902f503ae9f1681a6d2d6157898ed89248c43f560dbfa814552fffb5f03dd756d62798212128e40b44220dc5c817cee24b2613e4f379d2a914e14813a150c8f1e3fdcba0e0d231b4f37abd4c4c8c93cd66f1f97c9495d0502140359e35a0b2fb97d442a56fcefb7a3b2e35401fa3a1f396536235eac96ff58aabf08f255b977ad2e69c9260cd98cc627caea14cd7274a5cebd560cb630de52004b97c8e5c2ee7103f2d08c1104aa80305482349155514424ac8e5a1cef5a3ba43c43f31fc72252ddc182260fab05cfe5aaa968e6ba0ff574f42403a9576e4f4e22dffe9e9194ccb229ab149a72d5ada1c2345bf3ff04bbbe86cdb364251505d2e6edd4642553a1f8735a1fc57b87f50e1482a60ccb9803ef6bccf578eacf3799e0adc8baed8fef26103c5e73297582134b3b9980a17567a2dafa14c593d784ed61ad86af64914db508129f9870f064373f8b0675e71f37fd52400cde3f1a0eb7ac5e214478ecc644da27113cbcad3d916c0d0f5d92c614d2a7f2a91cfab90dfaacf6e925b27ff5cd45dd47951635e531fb85c47f1c7b56ce4c239612919cfd9b64d2e9b251869e5f7bef30a99e40cdffebd2f203d5e87abf925a6783cee38fb7213a63206d5aeea4a4766736d25c4a9d65bd50e0d35efaf06570b3ffbbbacf7f2eaf04059ac95b51073b02e50d3ef1a8252a264f396298a4faec5586f2cdd7597ff2dad114741edf5f966cf83105879b3cc1d297e5f51b1ed6aa6abd8aae5f931f0a35c94fbe17f167eb93f5c233d10c5ff1d0f9656c548aa5030299820d10905748e1c9f647a728cd5ab16d6d149d4b26bf391ff7aacddc761f7ea953d579925b85f643b9a5db6108eab53a928e4f3796666a649a55304c2110c8f87c9a9abfadfac246973e1e2255e7ce5355074a46d13f47b78fcb187690885303cf523ae54c237951065ae31ac47b0dcdf6adeb88a29e1a59b01a81dc9f21aaba97ebe721cf86acec92ed287127cc52ca1a6b639a20557c3cdddbfcafb6b2db336f66e2d66d5e6ab512bcb8a7b1adb760e9832d90299ac858240397502cfd404c6a285e4f6ef27dfda44e08edbab828dfe72f06b2ef87af96b61ffe7e297bb3c4d16efe738fa12c8647234373793cfe73873e62ca14090e191499a8747e8eeeeaeb21d1282f2f1a15d2c4700966d3921876d1b5bcaa2ffe8ca12aac8f87256b364d50ff7b77a4bb09efa51baba38ff35956badafd45e216da40db16894a9a902fe4080a6a626bc9a424f5b84e1d191796aaba43367ceb265db3edef8e00c93591f8ad7e71cd11692bcb4f3af68d526f92fffe1f7686fef9895d71d22bcbae795378a2210a278a91a27d0a510544c3b14a53c37e5ac353b9e8252e50e56d6acd78ab2d8dd38d78b5a0255c35cd4a50f6eb5812ccdde5c24b1f6774da5b388c97c08ee86bd1a72cb1af8b95981d20622a50d4272fa6c9c57b64c12d0551ee4346b5786d1bd2a09bf97d1e904b9a9299a9a9aca77325555299be4d8b2c60f7e4d33a56d218a770de7c3afda910067c3750eb52ac692257eb1e47dd5b6ed2a0cfc24f8255d871f824ad8f4d245e5d2c5618140b3a5a3a4b3a5cdf0f004a74e0db169f31a32e928bb3ffa0045f5b3edbd9d6c6bf2f1cf7fe79fd3d2d25c2640b94c9273e7cea1f8c22ce8ef45571576bdfe2cef9fbcccbd37ace3eded3b5002119efad55f25140a95274b964e466ab6e3598bd63df0d49d8f8fc113cc037395fa6c285b57dbd2a66099f4f5f6130886189e98c4b62dda9a4318c61c3ea88b29934ef35fff9f6ff1e1993c71b51fd35885a514281415e99ad140b6610927468ff3affedd9ff287ffd7bfa4b3b3b3aa4da57040a5543d268eadc9d4d80817af8cd1d6d54763c8c3891327901242a120ba6e30353949a8a99dc1fe5e0c8d2afbb012220c8d0dd1dede4e29222ba28468ce81ffb3cf3ecbbdf7de5b0e8a28dc8da983e3556a1e598bc235f3508f639a2527d42306b51b955d17a67e99f3853aaf8dab564b9ce6a8bfc8353921b76da6a3265726041d110816a6d02ec5901e2fdaa1435c88a779e9c36db43637f3b5a7be465b6b2ba74e9d241a8d116eeea0afa713a3784793222706cea36d4b76eedcc1c68d9bf07abd4824d2a6cabea904ac08c1850b173876ec180f3df810966d91894d70fed230918e5e3a5ac3e5f117403a39c1682c4f4f67375ae974b268685c32222eaf8b128129b2c915fb4385a9e9290e1c38c0cccc348f3ffe04baa671f4c8612e5ebc88695a747575b161bd739b4362a3feeeeffe6bcdb6edafd9b6ec8ec7b3c4621966666698991923168f71e4f05e0e1df890cb17ceb074b0958e8e1e54cd836de679fb85bfe7bd4367397d782f29b58dae96004fffe0c7dcffd8131c3e740423dccc638f3c4ac0ef233a3d453496c0e733989e9a2491ce15a37d9458de0aeb8bac7d77f5ff4b88e5560e5f0b2cd7505f091e209fcb635b164d6ded6cbb9c60e7e518cdaa49360fa72f8ff3e00d8b310c476fe74ee9548afff4c77fcecbbb63d0b29e4c41100c04083786696868a0b1318ca6a98c8e8ed1d831c895b1286afa129b36ac4308412e972397cba2a91abaa696f7aaaabd5b0852e317f9c1f7ff9ef35786d9bbef10fea66e3ed8fe16cffdf4a7f4f5f6f1e28b2f9188cff0fefb1fd0d4d245677b134343c3647226aaae939c9964746c8cfffe977fc5a2858b68080598999a2496cce2f5fac867e24c4cc678f5b52dac5f771d8140600ef6a91ab75d3ae1abef325584a91e512a25b722a6c89db820e6e2b2eb9559694e3d02581df3aec44dd44b55244b4ab2d92cbae1c1344da62653240b3a8bbb04abc5150c4ccc4c966426c758264b6cdb3bec78f75d7ad6ad636070017ffcc77f84994ff3eeb69df4f42da4b9d1c7f8d818d9828dd76390884e311d4d635a16cd4d4df8bd06d39393a4b2269aae918c4e118dc6b0858eaac0e8c828d982c5f8f838870f1d62e3a68d20e1e51f3ecd8e034751ed1c8b162d2ec6c17388de8e17bfcd5fbcb083b5ab37d014d449c6a34c4c4ce23174d2c9381393d3f8bc06c95894e95812c3e325978a333e318e6d4bcc5c86f1f10974ddc0e7f3f2f65b6fb274f1120aa8441a1bb970e102d158949b6eba195dd790520e49c9f7cade0572b91ce7ce9de6f9e75f6666661c30c9676718ecf673c3ea36d6af5dc3b25ec1f1035b59b6ee7ef2991487ce8ff1b56ffe2b62170ff0ca5b3b58d2e961ffd1636cbc7491fd478ed1d8d8c8cb2fbfc4d2ee083b0f1ca7b3bb9f35fdcdbcb6fd2332b6c1438f7d811baf1bc4b2dc4cbb9cbdcfcd21fe5673b6d5c7e7f39d24daae25e8566fd6ac3cd773718117b9cb542a492299e44aaac05041612a6bd2dd1c24e0f3d451363be9675bdee4a50fc7695e7a1fd96c9ef6f636a2d128a974064508b2d92c91a646162d5ac8b973e7e8e85fcb4b6fbfc0af7c66948ece2ed7ca972e242ffd75104b51358e9fba80dad4c53ffbc657f987ef7f97e8f808bff22b5f209f2ff0d0430fb275eb56344d85a2eb8c5432c13ffcf8878c450bac59bb81bdefbd4a57570f070f1ee4f52d5bb879f5025e797b074953e38e3b3fc5e4c9ed5c48280c5db954d6395629a16be7a9f42c6b3ecdcd7494fb59bf3837575229c02104f5453759b7a2da06d62bb33608a7ac81ad2552a2fcd7766fb8c56b5f0b664eb022791c4fd2c6afd8a88d8d0e87eaf5d339719227a351ee54553cba8e256d4cd37145a2eb5e3455e1c3375fe2cd5d87b1f4080fdd7123bbdfff394902e452715a5a5ab86ea095ed074f82ea67d99a8decdef60a5ded2de43c3d3cf5f907f8e973ffc06834c792656bd054152921159d249eca32b068198b572c65cfdefdac58be1cc3eb213d7589e3d37eee59e6e3e089d33429edfcf0ef9f212dfcdc7bc35ab6eed801be46eedab09237dfddce74c6e6ba4d77337ee46d2ec42d1eb8f356f6ed7c9769dbcb8d1bd671f1e205c62726f8f18f9ec1f277d31e0930397a09cbb679e5e597f9d217bf54b654d74aca54d33479fbadd779e5951fd3d9d98590056edeb8943b6fbe8e154bba69f0e62914929c3a761e3dbc88feee2e846d32134b928acd602b06bd3dbd6cdeb499cd9b36934aa589441a3976ec187bf60cb170dd2d7cf6e1fbf8eb3ffc8f1c3f3f4247c44f72e232b61cac849811aee99535ae11e649b5cbad9e4d7abd72ca8ad7ab10b27219458a17f0fbc9a7125cd7decc48c1c622e32859cf0000200049444154496f934398eaadfd783cc6b3afefa679f19da43339dadbdb98989824d218c6ce4e2190b4b77573e9f210866ed0106a2093b7f136f462d594579a2fd75558d77bf0680ad9749a7822492e5740357c14f2794cd3a45030515595aeee7e6ebced532c5e38c0473f7f916422c1c563fbf1aa169d83cbf8df7ff3d749a6333cf5b55fe3a7dffd36fb4e5c62a033c2e59387181bcbf1d5dffc0a7ffd5fffb0ca966bce019f8b2baa7d9ea5b229712a50093b5ed67c94fbec3219addad2aac95085a054c8dafc65564706b65d2447569521abde5547262e5fe79036b669a2690ac1ce66d47c1e8e9f24feeaab988929e8eec2b72448e4862cea48806c388c653a11903bda5a29d81aaad7c71b6fee60a8206834929c381c8060179fbf7b2ddffbbb1f3013d5f868cf0437dcff2899a163ecdfb78fc6f61ebefaf5aff1dffefc2fd8b3f575128938974f1cc4236c3a3b5b4108ce9c3c455478b9b9dde0cfffcbff4d68d14d2c5eba028fb43976f000fbf61ea2abdd4ffe7c8216fd569256807ff62fbec981ad3f47043bf9addffa3aef3eff0fecd87b9c250b7b888f9c61e1c2854c1c3b4fdaf4b068d1420e9c1b672669118bcea036b4f1e817bfc20bcffc88cb710d640ea4241e8b152f04970853f154ced00dd6ad5fcf4b2fbf8ca6d87cf31b9f66d39a3ebc5a1645c991ca7b3872f41817ae8cb3cc32f105fcdcb47e153ffeceff40d37ddcfdc8e7b12c8b48c489d21b08f8f17abd3484c32c5ad2cb7b7b76f29d910bdc74f37a92b649a6004d4d21acf289a098bdabd659c7b357752dc92909c8a20aa6ae39bc74e1c0352451d4ef388ee1e20c34b5b2a9c524189bc650c334857c758b7ae5675b18ce3661e982a64884e9a9699a22612eed7b89b3bb7e826d59acbcebeb74adfe14535353844221128914e1402342a9716456244a25bd8e9bf1304d9325cb9772e8f041fee0f7ff2d7678807b3fbd022b3949535313d2b6e9e9e9e1a69b6ea4a931828d24168b92cc5a0cacd84c6b4b23ed6dad783595be069d6f7ffbafb977d32ac612511239c99225fd84b4147ffbbd67c9d050dc758b84693e86c43dc6f574c6b530e575502128b3094d2da722a95cf0a915b46a9faea5cc6aaeb4be22bd9a83aaada9bc89d812699a143efc90dce1c324021ad9b1dd141ab3443e1526dc97a0239225ec0ba25e0e30dee4c7b66cfafbfbb9e58efbb974e4038e1e3bcd030fdec5dbbb0e82a2b17af52276eddac50f7efc2af18cc6d2de66ae1b68e5ddb75e013dc8ca751bc94c5fc2637869696d732e97674c7a976da4b9a581868606cc8249574f17da8eadbcf6d6386ded83f4f4f622041472592e0f8df3abbff3bb6c1808f1fa2bcf93b754224686bff8d33fe253b76e42a446f86f7ff6a7dc7ff37aeeb9690de389026dedcd8c4d4d92cd644866b2249205b21927c2524b6b2bf92b9779f1074fa3340dd2d7e823199d00c0d075de7fff7d36143d9a8ab1d109af6916b659b6bdc9322dde78f30d9e79fa6fb8ef964136ac68a7bf7f01474f5de4b53776329309f0e9cf3ec99d77dd8da6e948699188c711aa8750d0b1dbc9e572188681699a4e5415cbc2d035d2a91405cb261c6e209d4c92cd1708068378e638169f37d5a347737da845826b61c16af317f3091c77c17eaf41369721dcd8846e9f63f2fc0e948ec779fbc0288fdeb0805043b56bdd3ff8e3bf64cbe93039e9a5a3a39de9e9285e1965fbd3dfc44c4f03d0b5ea3ed67ffadf313d3d8d3fe027994a134a1fe36fffe3afd2ddd5493c1e27168b62682a1e6fd137b4ac25be02a12814f239ae9c3ecc99098b3b6fdb84226df285021e8f875cd6991fa5e8b9d232f32412698466e0d1551445c1300cf2d934a94c96c6c630e9548a4c364f201040570589740e5d3708f83db3dcbfccb959d4fd524ba52a13e556ee96368f9282bd969eb92f0e5789f735cd10c572afa5cc5273dc0cdc9cb0ae7ec9527b8463e7168bc5f1787d58a64576669af45414bb7091eee1df25d2a9a3f5f762fa23c426a13091c24caba417ff67fc8d5de472590cc340488b5c4162180ac97882bc69d1d81866eb3b6fb163c77bf4aebc932f3f761b86ae924c244035f0fbbd58a6896118e47239340592a94c799e85104ed90272d90ca94c8e603088b424bae1780dcde5f2e81e0f8a80422187102ab6992799ce14095b9e4c2647381c269f73caf07a3c9896852d211008924ec641d108f8fdd8b689b44cf2f902ba3f802670ddb975367d9fcfe75ce295d845d79fce2dfffbefbb9f7c3ec773cffe88cb63593a9b47d8737088656b6ee1c9071f66d1a24528aa52befc176a70b4f8a5a8a186ae3b274cc568b07a316cb83f102a6beafd8110fe80b3a3cc7299306bd5d55905f3129959b2cfdcbad36ba9cb05578ec48be3e624994cd2d5dc86ae80c462a0235cb78c40a413cd00d314d89685ae6b98c90c56a1685ca779e958b4994c3683d7eb259dcee0d13592d31740564732ac3217708b5002542b8a9a1f451782a58b832c5f0c56fe3820f00232273114010559e98fa2e00b82fb3e8bcc83a1403000e4c7f01810f108600a6c9b12cd95a5f067d5cd004571026dbaad9d65fd49ab8becf5d8584571a2ab0065772b73c4d7a3e8e9a07c97f19a58e23a2c5cd9d5afacb4bf681e534d39eb7155ce5cf984822d079ccbdf8d113c4dcde4661452f9dbc8ab09f2b11e52f165a02e43eb0c63e79278bd616cdb2a1b3e4b1474cda926180a97cb5fb1720dbd038be9e8e9c1301cd8d2772925baa661db36baa18314343418c5d1905538abe95e1a75e7340f85f21a77ca7482afaaaa7398a3185e22860f89c4f0f8f178fc48241e6f008f3750350c124938dc586e8fa6ea6018787c94d770297479295b952857fe1fc7f5c1a73ef5004b972e636c6c0ccbb2b8e3a15e7a7b7bf1188e72d709375c91c95d33512d73bb740525697c569e9a54d12c94c4ad596faa815d0f952bad73c1cd2ea5aaf43990a7d2bdca899fa6a964665298adbdf8238b49d9267d6da1baf99c2377895928a06a3aa9e4047d3d2b5872eb57193ff321a1d67eda97dec64c3449734b33b1781c830cf9d8d1b26dc7aceeb8c6b624934a14a4f040312a6dc52545cdf994c041a86412118d82a2627775d6af432d8e69228148a6901d1df3ce1f006343a85746b156ac44fa4a1752e71e5b59f7b5ac1018cb42b93484ddd383541494e9699012bbb9a9e846d895844024929072da5a3aad9b2f39a3584398242843236059d8ad2d8e4b6201626c0c822164311885f3d2bdaedca2a01397b1e27ed646da165ab087fcc2df27534881e2c1e70da169ee535c59b639ab6d6845bc15b4b777d0211c7301cbb2cb98570697eefeb973bacb74806cc4ac29a81ddaca0c56087ee99783dfb3f1cbfd5e5e0dbf5cbfb57cc12497cb619a66a9e70821e8ebeba7b7b7cf591b086ccbb93d3f579a4bc550ef7d790aaf41bcba6ab97236db3ea7bae317ac0f9c637b9f4f4755353c1e83583c45a479298991614291a575a617b2f171840c635a16aaaa621806c3a3132cbbe52bb4f4ade6d85b7fc9c593fb195c791393131384020172636fa0333abb0bb2f84796fa5ce47e90584a004b0da31c7b07e3789cdcc30f23bd6ac571be550c11ae28a02ae8fb77a21e3841e1ce3bb08c054e2871cb31caa41815457fef3dac8141a4af11253b89e559e80c46891b521c37b014afcba028785e7a1e3bd8427e652fd2db08454f9d65aec7b6ab830f5896c3bda96a25d4b8aaa10c0fa19e3a4de1f65b51335994ad67306fba116119605ad89e814add4a25ca89888fa3e4a258de854e9b6cdbe19e8a2e6bb16525c479b19fe5f697fa246d7ccf3e4fe1d65bb1da7a91be46a4aae2dbf20e85cd9bb1d62e86427e5e9a276d9b8c1543c83cf97c9e127e0108a1a37822202505b340c19c1d7db7de1abc16deaf0ab6ee8efef1f2d7138be74c57a9ef5ae88400345511a80ad88aac01b2ab7c30979c13ce97e6fafe71df7f92fcb530572f7bee699eafbe7204296963e83ac9449ce6c6367463ca116fd5d921c2338909a2c32334f66de6f2a54b0c0e0e128dc5181b1fc7b40d32f171268fbc80bfa1155fb803913b8adfdec6aaeb361008b8b93087ab2d071a751d8fcb924c6425d176ec47b99c4459bd0e3b62a0eddc8ac849ac8db722864e23c686a1b91fa94a28e42097469cdc87f1fe3eccb5eb91a120face0fb0fb9661fcf019ecee0ef20f3f045e03e5c07be807ce60aebf09725194cb6711050fe6ad7760b585502f5ec078ef2332dffc1dc4e563182f1cc7bafe06a49d463973146bc34d58830368478fa01c3f882040e18ebb10c9298c6def612d5d8bf4da28678fa29d38877ae214d22e20d219bc4f3f4de1e4710ab7dc8c6cf0a3beff26dae951cc9b6e478c9e434c0c239446cce5cb213a85feeaf3884412d9b38ac2e208fa7b1f2064086b492fe6aa15206df4addb5087c729dc703b567f0b5879b4dd1fa29d9f41199f82420e71f92cfa6b8791be10a493101f437bf34dac55d7633787ca5c7d698ecad284b411c22ed260377e959049ce6d6c3acf1afcc780bd5afe5fb4acb9ca9debbd16690a63db0d1503c2bcb3bb4909baaea22a733b6fffa7913ec6962204c94402b3902b29ea48673264f2023dd04bae6056853a2a252b9f64eafc1bb40faec6f4f9397de60c91c646c20d0d143c1ae1b67efa3dbb183f14a4fbba9b8984df24e0133cf1c45384c3ae009a65a9a46888ea0e7a2941280acab9e36897a7b19b0cf4f7f75258d58df1e1117277acc378f625c4cc10e64d9b510eec02bd119188a2ffec35a455c0de742b566b13eab93328e74fa26fdf8d0cf831972f47c4e3686f7e08b68db5fe3a8c975e06338bddd783b467d0b66dc7fcc223d8c100765b9ba3a378fe75ac8d1bd05f7d15a4896c6ba5100e238582ba771fea4c02b33983f1ca5b1456b6a15c3a83f6e141ecde4e645323d6d26588541abbbb1bef77ff163bd284b97225cac54ba8e7cf404162ae5e8cfeec0b28b151cc4d1b10178fe3397316323328d371728fdc83fed66b887d7e44b8151247d066ae50b86e35223e8318b98cba770fca8549d2ffe6b71023a3185bb651b8f906543b8ebefd3dac9610fab1b3146ebe0b0a793c7fff23ccfbbe88e9f756f636b7d6bdb4594889aeeb3435b7549954643219273ea1109ffc00e8ff37e9e3b36c82b2cf6fabbc0b2793696c1b82413fd1688260d087aad4d173d488d4b34e3aae05d6dd98abe881dc1b523dd1adf4cd5d6e6d9b4ae554d64e7dd9ce0d275df509841378b0a8fe0081d7eb251e8b110c858827c6f17afdd4a6b6d636c2da25d2a3dfc5dffc39022ddda4b379b2d938aaa6d3d87713bde220b7766de7cd037bc8f9045d4d8b6868ec281f4a5c2d0940da05d47d7b918dfd588361b48387505b42485d73c418e9885052d39ca08d2eb14a4889d40d442a85f1f24be06b80f418d6e2eb41d3904229239fd40de7b7a652d8b41e914aa21d3a0c48ec7003566727764b0bd812a93b0a54a1080aebd620234d948ec6a45a6cd74c02e3a5f741f523a297a1334c61edadd8cd11d4e3471d9dd9ffcbde7b47d9759c079ebfbaf7befc5ee71cd00940236780604e124949a4484ad6285192adb12dcbdeb13deba0b1cffaecee1fb373d6b6d6338e63af4796694994488914258a048398418000082267a0bb01343aa797c3bdb7f68f1bdebdaf5f374049b367cfaceb9ceef75eddef567d15be50555f7d5f3c8e190b5bcb2cfb1042202010b0a2fb46c2146fbd05ed5000e5d0612b4478672bc53bef457bf730a298436a010868ee32523d7582c0defd100923a62f7876ec8415f2cab4025d9a03abd08d12da91a3c8880061221c9f49cec4f24e21cf6f29ad4d6667bf2f994c72f1e245344d430881aaaaf4f6f6da3eb616cf41efb6a0aca08145b09e678b4e243f207de12943f8003d54e3696375fa5abe3e2f7de1e1090289fa477ff4479a34e5afe40bc5cee9e90562b108a95496fafa1ad2e92c86a11308055c6b638fd02e7f710cfe1c694e7558cbb7777903b90c64dbe65479d7d73e07d6d9d0f4fcb68af3b33be941c07d2629db02614dc2a5ea2b9f804997289dbd02cb0d8cb5a394cea4a9a9a9656e7696582c86e34ac6497dfdfdbcf9ca1e6a629708272e12084ca21a49c2ea2c89f0302d6d630c0f8db2a62dc72f3f6092d0748e9dbcc6dffcc353b4b6b6b379f366f74a8aa22868aae62ead9d3fb0188d92d5297ee401f4ad1b90cd09c4541ae5f2494834a37fe8c3a8270e215513d9bf117df776cca606cc55abd037af2670e428b2a606b3b30d6ada30b6eda2b46d2deaf008b2ad0d73ed1a8c810eb433c394eeba17a3af0bb3bd0d198b415d1d66738bb519ad053006fa91cd31b43343e8b7df8dbeb207b3ad15198b82a2a01d3d8a98be028d2b28ddff21642c00b126f4edbbd1d7aec2e8ee4636d6c3dc14225bc0181cc458dd877ae122666f1fc6c675984d31b4e1494af73f80d1d98cece8847008d9d26cc1f4f522dbdb115a007dd726b4e347089c18c6ecdf82be71a5157dd73090bd1bd1376fb4b4bf58141931512fcf63acd984be610d221841994b616cbb097ddd20a57bef845c0aea5a90b1109523e1521a96b78e7038e25ef3b87cf932c16088952b57d2d0d0c8ecec1cc562919ada5a1f499429b882be1ce150953efcf355b1a39f4a69de387de131e0ad425f125c41e95e2173a9be92beca26b04bd29703576efca8947c53cccf2f844dd37c2393ceedba3a3a4520a09148c4686eaee7f2957122618dc6c67a24265e8f1556b75b3e8d552de0d7aa04be2005d2b424e6a993a758b97a15417bb953b9e1e5e22ca0c23b46f9b970c7c697ef6749155c587a73e5e2f7bcf5d920d5de174290496710a21c221c04939393246a6a989d9da1a5b56d518870d33479f9e517f9e6dfff071aba0ac43a6218214bfa0715931026e9e114afbe7895d6da145f7c5045a2f0bffcadcaeffff19ff19b5ffdaa65c7343f77fd10e1ce06b304340de5d245d4d1314a77df01c522c1e7f750baeb4e643c6ec179a2a8589b8d76e38515ed57da1bdac274a6a5b0a2f71a8685835386b03530845d8e09c2da649786614b51fbb4495309ecdb8f6c6ac258bb068a455b13b2119178daa0560cb8024ed82e61e1220cc3c6c9ae5378ecc14d3bd4772e4fe8bbdf4514a1f8d02318ad091b577b435c4a3be024e570e17826a162d52b1c625514ab6c0fa3a81c0bebfa52969ada3afbd44c303c324c2e97a3adad1580e44212a108bababb51f087ce14480ac52242d5d054cd6a0f8be9c3471b36328aa270eedc591a1b9ba8afaf5f4aa1b3b625751d530a029aeaa32f43d7d10d834020886a47f55514858b172f529348d0dcd2523d849aa7fcebd1973d2df0947000b8d3bdc45b2ae99d73732982c120a150887426cfdcd4148185bd848312116ca63c0460948aecf9c1b7f9e10b3fe5cad834037d7d84825638684dd378f38d37989b9b43d5545ed8b387f5eb3690cb5b86598b9626d26660ee6fe9d376ca5c984552c5352971ffa4479992be322aef5f49cf3bd2239d7ce05e0629ad89a20a2b2c3802f7e67d269bc5300c62f69e8157631242b072e52ae2352b387bec02a5c969ea4d833add409b2fb1309c22a075f3894fff0ef1a69bf8e6d357797acf389ffdc2eff0077ff007a8aa6a6b4c05ebee94a6d9757b10b03f856d112e040869427d3de68a15085d4700e6e06ad002369cb43e1d5e647af32498f633bb231c6211f6b2dfad0b0bc6f2238e1b7edb2ad3b9fa519eba424accee6e686840d84ccbaac7b4eaf2b54156fc9936be655c01fbfe9270074ee0783cb0294d5331b76c41dfb105190f79f036cb7d20aad569e3669a6e1b70fbc46d51792cbc7f525228150906c3ae76601a06b97c8e5c2e47369b450b68a88a8a22048160d09dd9524ade7ee1699e7cf679ce5dbc4c4f4f0fb1a8e76681c35ddc8d776723dd1e2569dd04387cf830f37373747577db5a5b39d43d426176ec328fffe3df71f0e41003fd7d4423614c695d51fbb33fff33f6edddcbfb67aed0df3f40226a990b158a4542e130a150d05a52db5d6cb91e166eaf98f63cf0eebfb997e23db4eba367183591dfd49096916330a0515717e3ea9549ae5e1d271284567d2fcd338f63665692efff7d824d1b5c9e9ecbe739f4fe1956efbe93ded61a140ccebcf706afee3b4abc7d357b7ffa3caa2cd1d0d8c0c993271142108bc578efe0013273e3cc16c37cf8c3f7337ef66d8e8d648846426ced6fe68d034758d1d7cfa38f7ec29ae8d2af267a46649146559e2a7e75abd2d6ca81f6feb708cd03bfc8aadabed4694b6ae1115dd148945c2e4f2814b242ec2ce152f7818f7c8cdd37dfc62bafbc4440d58984150a059354d6e0aebbeea5c3b625fadce73ecb1b6fbcc9adb7deec323845f1847d144e98a48a4d802a12c8ed0fcf864079ef40e0ed8d4558576f46b9b345a5f4f597e1c84ec7cc47482f1e0e2f151e7851ceaf6803c257ad07dfea7d505d87c16325eead77993ef0b6a3b2aeeb24e9b893b143840b2c0fa86d6d6da8aacafcfc3c42082b406a3e4f341ac39a7d12699a1c3c7482e6d59b18ec6a22a0482e9f798f3dafed2350bf820fdfbe83f7f7bec4d0d8026bd6aea5adad8d15dd2b78f3ad37999f1e271e0d138835f0e493df251a8d313f750919ece28e3b77f0f62baf31b8eb66ba1a6a191d1a663a1be0a1fbb6224b5952498d682c42a95422994cf1e8c7efe7273f798989b19b79ed8577104689faf62e8cdc2c356d1bd8b0b299b7f61f65f5c60dbcf0f453c45a06b8ffb62dbcfbe68b8ccda658d3df43dbca1db4d7a91c3a769e3beebe9d20d233472be9d9eae572887029696aac25118f502896485d7e97ba991fd0924852348e3135fc75b2faef126ed98840120a47f8d4673ec9b1132778f1cc453abb57f28d7ffc0e85782df9636769ebe864cb9675ace8ee26180a73cfddf7f0f7fff0f724d31976de7617b1d4242f3dfb3425bdc07d0f7e88ef3dfe4fd48af54c2da4e98d345b2b8a0a0a2bdf78f35f962c5fbaac3a3d5c18dce62f269fcae47714677f17b26a245e5553d034956432496b5bbb755a97cdfa4e629c140c06f8f8c71fb6caf3d0a9aeeb64321900dadbdbf8fce73f8b6118643219db6f749ce482359105628960b2fe1ca7a56e5f79e8ca11b6a222af5a4f54ed23ef06b40de690ae747f5779c7ee13e191ac8be13d88e16731c203bb34becb25ebb96ff9e0e53765e1be08afa5fbbbba88742f584bfbb233925028c4ecdc0cb5b5b53897e7c15aee979db159fdf3c8a73fc9d163c778e58d033477ace2d97f798aa14c09337b1c63769c64b1c8e71efb12efbcf153468a259a9b1a38fcde21e673257eedd77f83b75e7e9e8e8e4e76ecdcc58e1dbbf8c10f5fe070a4c4f0d41c9b03210af91cef1f3bc2ad77ede4bdfdfb79299765d7cefbb863d75a90d646fdde7d8759bfeb5e3a3ada78fc5b67f9f4635fe2c4c177a855d21cbff81663e73466b41e3aae5ca0944ff1fa734fa24f8e500c85f9a5cf7e89d4c8515edd7f90cd6d060bf4a2217dce2617d3b32c3326e756af0402418d403040b8773399fcbd24037ba8ad29d13a7b82d1337f415a7e8d58cb20c56289e34393a8c12085d4087aa9447f4f3b436993fe0d9d74d4d772e9c239da9a9a90f914c74f9d4211827030c0c6811ec627c28c8d8e82a173e2e459b2798396ee01ea474779fff0fb7ce4de5b5015ffe45d8a9dc88a9c2ac2d6a72e56fae9f1de2aa836d5dcefb6832c774fc543fa353535e4723952769870bda457e8743f7b528482a669140a0562b1a84dd465195fde9cf73742f1318d72129e2f956cc74f7ce59ef72e67ddbe127e92158e81a3b70889aba6f87455e1674e3e00cfcf6aed2897537d6ef8599c5387f43f137e68b7ac8a7c4feb1609b54565ba65db9a9f7d65c6b9f205100c0529164bcccccca0eb9651a7294d0cc32012b12ebe232d8bf1139726308486915f209fcdd0d3ddc6e4f024cd1dadacec6d65fffbc779f7dd7dd48614de3d7e8c89f12be4f3395a6aeb18e86c65afa6b1a2a591914be799d9b68dbb76aee61f9e7b8f7befb99fda88865e2a52c8e5387efc1c53678f326504b8ffc1160cc34037743a3a3af8ca577e83602848a958a22e166175771b270f099afb3660645ee789bdf3fcafbfff10af3ef1374ce615d4a0422222b83a3bcdc177dfe58e9b77d07df1599e392cf8775f5e8534ccaa02db9b63827d89d7b022f17a495c088562669ed4d96fd02d9fa3213345262d39d3f8db34edfc555421b9367281f3c3a33475ae64cd4037b9e438274f9ea768c2fa957d5cb87881b6ae15e4e667c84a95baba3a4cd3a4a3bdc3de33c9726de4222ffdf435168af57ce693f7323d354957df1a56f5b6fb74a0ea8ab9777a2ccd042adff396e52e6be4d230e582ac48bcb15888443ceeeb602140d70d2b6c530539f827b0bb28f4e15f6688d51614163350358d48386c39adf73659d8ef2df2615de612957eb57d9ab4835a4507f84ab37fb8a7aa55085d11ca228e516ebfb09728b636e10d11ee832ff74e5566b2f444589cfcddbefc7bd5a499e759a5d659092a2bba1d409a2673f34942e128866e808052a9c4e8e815745da7bebe81582cced5ab5750558568344673738bbb073b7d6d84d3e72f116fec62fd9a95c8c21c274e9c21952bb079e37ae6a7c719b936c3960d6bb83c324cca8cd2581b2118d0e8ebeb63747494b022b974e9128d1dddcc8d9fe7b9772ef1ef7eebd7688a684820333fc1b1136709d7b6d0529f209aa8a7a1368a61180c0f0fd3dbdb8b5054a434191e1aa2a7b79789890962b1188ab1c0a59922eb56ae647af82c97aecd128cd632d8dbccf8b5ab8ccf2459b97280d75efe1185daf57cf91377db871a72c969071c9070a7181f9f08eb25fd0dc330772d1a142128a4e65838fcdf689bff21b9428089fedfa16bebc72dbfd28a826afb8f360cebe44d555590609826aa1dc2d8d97b7036bedc70c3aac2c99327397aec186bb6ddc296d53da88a75d1d555f7aa7115df8cf0e26ccf3e3fa52f9e45d5ca5aa297bc304258de054cb3442818b41e49e95341969cfba2e287a349b8472c7663aae1e769e7e23a97c0d959f3546b88b7feea087a9e7b98a0a0cc8cdd476524dd30f1553b5fe01e65fbe0ab21efc5a7da149655da78bd815e563c2dcfb81c8ee4eb8fca31f0f6932d2aa544d70d6a6aea2ced086b79343d3d896198b4b5b55393a8617a7a8ab1f13122e130bd7dfdeec5562114eb34cca12f215054cb7fbba15b3ebe15456018968f7dd78fb64d638aaa58024d5549a753bcf0c28b0c6cdcc1e6955de525b562958934ad8d68d37499ac7559df74fb46511497769d362b58b42e5405d58e3ced841bd3149533674ef3fe8973dc79f73d34d784168d52157a3e00dc29c6ae8d874bba1d89b7da0b4250c82c307fe92025a9d2d0b79568a276f9b555e5782d35d7ecc6ab8a62f965aaf43450f9ce8dccc11b4dcbb74b1ed20000200049444154e1bb04ac13895744c268d1285e9f489534e26bb2a89cc70e33c223cd855b9e036fd5691729bd75d8442e6c566871ab45da4d657316d19ee747f94447fadb53a949ba1befb2dc0e5f1915fde001f16a1c6ef37d9a554572fac15e6b577b5e6698feb2dca5f65282ac22f9c02a0481e32070c954a1f581d56e694a8cd43c89489c927d2a9a4aa7b97ae53291688cce8e4e028100866130373f87aa58ab8aeb09c84575bb88566b8cf361290da669f8f678fe7bd397a228288a8261e8e573a7e5ebb322f15ad1424d0cdd5c04e1242d1ca369dddd2e0118fa070853749d641806d7bfbef8ff8d24842589a45030858274dd6e54705f5703a24c95a202c6fd101e0dd55b9937a392cb8825be7b7059a4bde08e9f9feb787181f2ae7a0567f464f971542a7e7b804545d95ea6e7055ec43d3d546e9b91884a3c1c1c2b3543e1d4232a98ab580cef703387623c787a05c6e2367bf0a8ec3f1f53b34c0cbcf4150e85e9e8ec2218b47c59399bdf7575967b106fe0d90f92aea7f00970ebfaa0efdf08dc52f9ba63c3f6019396cd17c8e772944a45df0670d53928fc73db2b0d2b39a19bed7dbe84f6ec9d37e0992b54990776e6a23da18a79e5e4b945576ade95a9927b2f01ac974a84a3515bf5f52221ddceb1f0b75a27ec4fe91285c4d7bb5eedc3dbb12e5cb5d1a822403c0d14ce1adea9cf07ee5505bc75543cf30e76b5ba2ad0b62ba6ace6807f63aba2f8caa6b8b87aeb2db7497ae09d5358b7cd0ebc47bbb2722a9f7b278e0757d760cd112a9e2e313d153b88fa5443e91f2a4f1ba49408d32097cb92cfe7710fc485a090cf91c79d1955a7df75a6e2f594a425670f5560972aa3f25935f8ca3a4445ae178fe5f0f5262dd6d442cc6bd58b00f75ed4d25ad4ff1f9310825c3a49ded031ec387cd646b2e30c1fabfb4c87294acfb2c7e105b2420b29efbbf886d24f89d673133b4cb5574a97bd553bef9838c854306baf50f03255293d1be2f626bab03ce9782d7617f1399b49b8e54379792b7089da4728ee1274b1f09215385b7cc2bf512a6d86eae2259d3e75f8853393e522deeb2e951dc6e5842372bbd453a8d3c7dee535d2d726bf7d9c972f39f341120a06696b6cf22d9f14140c0c0a14904212901a013c4edc964d95e4bd9cb8adf6fc17f9fe8da40f025f1e7fcdba36803b606a690445bf8221eb30025d106c442c8a32fa33e25bad4fae27166eb8f00f0a797de845a809619d5018baed1c51e2b82b7762cf49cf04858a800a2e51cbb2807661a58f9817892647107b99810debbfb0599ed85e2dd117634c0884227c7b7a0e015b4a4799404d878f4a8b052a8ab06db9ca7554566df944b33ca32aaaea579cec3e5214bb59b6fd8e7368e2f603d8b1d13cef3a5d276d1c7d7deac7c7e147e01f8f0a7e5c667695836d33448f3179590078dff1327b4fc5d2e96b4fa10228ca12273327399e3fceac3a8bd424b14294157205db13db690e37fbdae3eb584771f0f7088be7b0035f1939bb12f646def7d625abe455be5399aad1d7f5f1d54cb32c61c2c9678915fe2b81dc718c6c0d49e55e0a0d9fc3a8df85a26a7ef5cb2f28cb038cbfeb16a1213d4d5af4dd1f30c7abfe5593243f4bb72cc6c965158bf8e4a2211516d1b91714a5bf13fc13b89ce7d5faf1321f6f1d95955512bc0721e9cd033f33ab982fd6cd03c1d4e4244525487b631dc5850966e7d3b475f7b90ccb94b2ea77e9325f41313bc5e8749aceae1e820ab821e3a5b436c5b1363baf0c0d71e4e0013ababad97ad34dae066e2dadacd3b899e96942a110c56291e10b17d87ad36e24a63d0fca41134d6749ac083b70a474b5a365076b89aebceeb30a86e3ad47fa27e4d205b94cd0b94665994914cc222f5d79918ba921d636ac616b7c2b41192425525c4c5ee407579fe6be15f7d1dbd0bbc8d6c7d242e5128d590c5be6c6625159d77bbf5a7de54318d3d69ead89bcd882bb7a129e4264854b6457c3f64819cdb0b9a0d0e7894c7d8b80f126e3e7060868d0d8fa38b3e9434c16fe9e58fb6614afe80184a25a4792a6e96eda55434f5155dbbadca33fd88df6c32f33d3ae33f93ccd67e9d9b33879996159ae7946c3ed2b4b3d37ed49669ae525980f7d51c16cbc13dcc9938b9f57654495f98b91f7c37bcbf6c0688ac66b7bf670766881affdc96ff1f6733fe4c0e1d37cedcfbe4e6a769a64a6487d730ba56c12bd9027d1d04826394fae28696c6921a05a115c4fbef643bef5c6397efdb7fe9081ae3a5233e3148a06f1c666cc628e62360dc1180bc914d39393dcfea10f532c64999998221c4f100a8799999c245edfcc0bcf3c4d7d6323b7dc750fbd2b5792cbcc33333d4facbe094d9814d349f286a0aeb1093d3bcffc429aba8606e2899ac58476fd615ebe0fab492f6f9f568e45e57327991579b2cc944032961c47a455bed8fb05b488465aa631d0a90fd7b3be663d439121462646e84874d81e246c730169baee766ea44196e0b234e2743a4d4d8de5d3cb71b3e296e7499a6a9d8c4b1c7a355c97ea02eb2ea8a208229128baae935c58b04f106f443d80927db3414a495d6dade7bd32be3e7c74d3ea61ad304938bd9f4c2ecea586df25dc7d1313caff4dbf789cf9f3ff176f64fe9c9d6db5d447351421401a0c1dddcffb27ced3dabb8e5dbbb6120a6a98b63d130814454155554e1e3b426353334d2dad3837944dd372f3ead8be98d272d3601a862f04b6db607713c4c3bcbcfb2d95a2ce47a55554095f47da52b9dc4df66bd257a7106098d6f2c6f4dae42c357959a4202daebeda582e97e76d52256c25b1d89fa694a8c2249ebbc0bb7bdf65682a87116f61feda08cf7eef09d225681dd8c9b5b3efd2d8dcc4f64d83bcfeda5ba40a924db77e84fb3fbc8bc2c218a7c70ceed834c8d9b367089a9d7ceb6fff8a8ece36824d6bc84e5f4296b2e884e85cb9916c26cd8f9ffc2e1d75418e0f4db1fbb65b696e69e1b9a79e206dd43131729aa68638a17084a96b57a809185c1c9f2752b78248c064766c08a106e81edcc9f8f1d79835c23cf4e8c3acddb4b1bc5f5339a4be71b03b6229f5bd92992f475f95e3b4d494abccb36fde5b372b24f5a13a6ee9d9cd99ec198e4f1fc7081ba8410d9185fa621dbb1b76d3dab9c96568a3e78ff0ce7bc789b7f470fbee9dc4a3215445454afbc85f08a4345184eab977689db22b8a4226bdc0e38f3fce57bffa9b288acac2c465de7cfb1de2edabb97dd726eb66851024930bbc79e40c77dfbc8b8899e29db75e61edce7b696c68c0d07502c120efecddcbecdc1c5bb76e65a07f80b367cfb2eba65daefd9494a008cba60a9b013af6885a20c095cb233cf7dc4fd8b96b17dbb66db32ea24b13dd70b42ecfb514015a5197200c0c23ccdcc26a6a4b0759197b956ba1dd7c3ffb18bf1af909d989217e3039c3fef1008ff5436f6b826c2acd77ffe5bbf4ecbc93c2c21592b32dcccc95e85dd9c7d4c8302524935786c9e44bfcf485e7e8eeede3e14f7d9a62769ea191497ad66ea6303f467676929c5a43634d88f1f149fad66da3bdb98a545c5277f67000590dae0aec8d3eab948802745b53726e6a575d4e55a0b5489dae4a2ccefac4f3dd433caebabb084d3bb35213f324534aa41a6060b09f7daf7c97fa550fd0649e62f4ca387ab089871eb985a7ffe5790c21b9e7d14f73f6cd97397ae2027d7d9de4672e83b889a1332738f6de71da3aeb499fbc4a53c323280d1d3cf0a947f9fe377e405e16b9f5c18f93b97494f317ce8234999f9b6361acc0fdbff2557a5b6a78e15ffe115dd7b976ea2dd66ebb89adb7de4a6b4b0ba70e1f6246aa7cfccb5fe0857f79822903b6dc762fadf531de79f57556ad5bc7fba78649662d82f509ae4ac6ecf48a744eee287760e5382df1eea2bc6a53cfcb8c2a258f87e139d6ee8661120dc418c90e333631c66df5b7514b2d0133808c4aae729593d74e716befad961941a9c477bffd14b1fef5d4e4a6c967e6a000878f9c24d6d4457b4b0366314f4b4b2b43c317d08b3972c9390ac10636af5bc9950b27383f9a626a661e694a144de1ddb7dee6e4f024b737d663948a8840104581d9d939fef1cfbf4ee79f7d9d0639c1fff917ffcc9ffee78d4c4f4dd1d7d7c7f0f030939393bcf2ca2b1c3a74902f7ce18b34363571fae409720b73e403b534c634c6266759bd610b51b9c0f15317a8ef1860555703c7de3bc6a9e11952e90c4d8d8d2493490e1d3a44a2b1930d6b57110e08b75b9dbed5f2ba0198986a07b2e5d3d48d1ea22df70cb193c7f9ac524f933e4d97802dea258e682bf8f6f90c5f0e64a88906d9b67b076787cf91695acd2a1dde7ee9c764c4839cd9f73a7923c0b1836fb272d36ef22593a221191d19e2b927bf831e08117ce728a5ec385d7d7dcc8d5fc10837d35e27387ee60abffcab8fb91bb35e03435749aa3287fe5f4942208df2fda7455e08a497b950a1bd2c81b5f778dc7b945d6da9b014f3f1aecfabbc679a26f1440dadab7ae8db712b6aa28d23af8dd3d1db45f4d0db3cfdc433f4efb88bccc479c201c1daad1bb8e5da08b3a9120dcd75e8a5126357c678f0abbfc7cec156de7de9192e0f8d53b8768ee79ef81eed1b7671edf4bb1c79fe298835b37adb4ea6868f130c06e96c08f393c7ff9e2ddbb793cb6511e17abad76d63b0bf8343afee61f5d65d74f6f5521b34f8c137fe89c69e0db484a0a93e41289620d1d0c0f8428e62a988611ab6b6eaed80cacd373b4f82bbd3eeeb6fefa7f0ecc578faaeda36403581e03357a892a4ed60cd1662a63450720aea65957d07f691c966a8a9a9a1bbab8bcece4e6a62036e746384e0965b7772e8d405cee45ad8b42bc2ab4ffd33334a8cd481c3446a5b69ad0ff2918f7c8cef3ff52433f30b6cd9b28991e177183fdfcfa5cb97686c6da6944f2181d4ec1473c9057a7bdac9a9517efce28becda7e0bdd9d4d1886c9c6813887f7ed25225334afd9422197e3b99ffc84dffbbddfe7a5975f667c6ccc6ab229c96432fce8473f62767e9e35ebd63176650835d14e6bcce0c4996194b98b8ca48be44b413ebc7d0d6747c7888604c985599e7aeafb7cead1873876f800e746a6f9ca6ffc269bd7f7db4b4be98e9d962d9a366da9c8d87a4e86ee27262fd09b3d436f0872b9008772f7b369eb6aa622510e1dce72cf4492feae06cce6b56c6d5fc19ea79f65eed65dacdfba8ed77fb287bae62eb6edde402933cef0956b74ace8a77b703d861a6168e41aed83eb69aed1982906d971cfc73875702fa6d0d8b06d3b3ffef637994817f07ac7738593a8f80dbe8ba04258eaa4a5a196dd6d603ff35e1891ded9566d29e65bf5797ee82621d574a5b67547cde14f969d80bb71680af7f4c83aaa76b41bc768d02e41ba5ab8cdec2a1796c2f3dfbbd8b4ad9b9dd339ca660bee66a3b4d6f737df730f42a80402014c43a7e397fe0d81a0c6835ffa0a85a2412416c334b6a3a91a91ae553cfca55f279f2f120c85299992ed0f7c123510c014b0e3fe4f3274fe22fafc363ef66f3e472012e10793e7d87dc79db474f5120c6a18bb37811068aa60d5ee0c5a208876fb9de40b45542d4828a0b0e5ee3c6ac08a38a328928d77e5084563081cdf4e82fb1ffd248542015088c4a2e8ee5ea6b767f0d84a9699ba70c7c8634f262b5e72b551eb81e308aeac6579ee627aed9cbc0c4e94a1bc82caf5c1244d4cd3c0d00d8ebd778c7dfbdf415114babbbb894623e40b79d29934f5817a0ab922012d889412a3ae97dbef68e7b91f3ec3d591cdcccc6718bcfd26cebfb79f5c36c584a972eeec5152c959e2b11a1e7af0615e78fec78c5ebe4438d1c4fac15e86ce9fc5344d52c914a72e5de39e0fafe2a97ff80b8cee4decbef54318a689a1ebd475aca64e3fc33136b0b23d6d3977d44b9c3e7f8ec9abe73195186b57af269aa8a17b450fa552894838cc831f7d90b75e7f85584d3debd70cf2adc7ff9985b1314ab5cd7435c748a792d4b774d2d308a3a363944a455efef1d3cca4b2cc8e9d25393b8694fdf6496ff996a9faa5dffe9a664a7ec5c4ec2c68adcc86ee244b0733996b3c3bf7517e1c7a80c7b5dfe1bcd9cb8999200bb3296e6e28d1d21065ecec7b1c3e7898b6c19b58b56e1d91a8caeb6fbcc9c0ad1f43e6173871e234b55d83ac19ece3d8c1774874ae60c54037c98534d1fa46ea5b3b69eaea255f3208c56b0927eac9170a3476f7532c99140d93826952d04d8aa6f5bba85bbf0b86fda797fff286494e37c9954c72ba414e37c8970ceb7d43523224ba69a2bb9bd7d61c34ed096b4ae94a6413cadfa5056f02d228a12a26ba50717699bcf3d499abd251a03c93d774e677059c23e05d5b3fef6fca8557d6e32a491ec5cd3d28f4ac064de9f87312b6e5ba7def4982a26904ec88acaecb5440d10204c361544d03098aed61d26107f19a1a7a560e1289c71148bafb57d2d0dc620557b4ef7459977a1502a110aaa6215495403088a6a9967bdd60d0ca5714c08273ee605aa772024551098482048201d776b272255776d1eaef582945b93fdcf72a180bb23c4e15e3b6a8bfddb190ae76ebda667ae03dc614844d9d48308c694af2f93cef1ed8cff4f4344208b2d92c9393931886c1e0e020aaaa512ae9c46296f7d3a99133bcbd771f351d6bb869e776ba9ac3bcf5e6db849a7a79e0dedb981e3ec3e9ab29bababae9ebe9666060805c2ecfaa952b28a567387e699eee15bdac5fbb8650384458e478f7d049d66cbb95cd6bd6d0d5d94138a0522a953011dc71dfc36c5fb71a592ad0b362050d219db70e9c2058d3caea813e56f674919c18653a95a1bdad8db6d65606fafbd1758386fa7a6a6aeb90c05db76f27b99022188a70d71d3771e5d2592e4d1aac1ce8a7bbab93d6861a524541cfeaad6c5ab7dabddc6f1dbaca5129e537c5ab1766c212f10642eeb2f50ecc6286d4d4154e66eb3838aeb32fb082f9bc02c2e0cee913fcdaed2d34b458911f0c29314d28944abcfcbd6f520cb5f0e1873e8aa62ab624f1bbccb03c55da92cadebcf33b0f138b8e13af972a151edf56b787501d188170b52b2140150255b1342d27afda0d7f84825a4813d14a14d4804f77593c79ab2055f9ecba9a5a450b9783914be42f951cc5e246de59a25ee1ec9d0967dc649501b84e59d5caaed6ad4bf5e552f87bcba82cfb83bc5f659f71115c655bdcf74c1af43c8df15a74ddc0344dde7bef107bdf799b743a4d3a9d26180cb261c306366dda8c6198ac58b182442281e369d22a4a947fbb02c8f144591ec3f2055bcf751c9cc0a7c23eb42ab7c9f2058eab9d960d5cedfa1467b9eadd6e103edca4e38ad979ec4455f2480fe1add7edb772595ec35ae9dc95d37db63836cf0f448877ae61a7ae33d898a1e9ea24e9f424414d61e3aa00c1449c54bee4da69382371e7271e43d5025607d8c5393a85f05451fe6e9faf4aaf2abcd4487b935834b79c6b0a96654dd9ed8810958e44a48b876ed75fa21c2d5411c20aa22104aafddd61644889621a96f1a06a89e0aa187a89d39b5709b35c7eb542ab95ebed15ef50563e5bea35b9340d5683f5c3785e96552a5faeb01b815b6a2a2cd177d57888ac02f781eabe91f1592acfd1a4a4697bd9802d5bb7d2d8d4c8be7def303c3c4243433d9148144397ac58b1825834e6dee8ff59fc79557d4700a664a95b784bd6e3d50f9c3d82a538b9d3574bcd6b174ee2bf2be6c5a39c34cbe1a70de1b05969b92e3011441271eeebc96176b6a30502a89a8654548b1908e1658c042be363b9457af748caf8e1103c20ec7d178417cef346d51987e76eac70ed467dde1165b90e9f8a202bb5a2f277c30403892e24c2b0ca73352aa0240d8a25dd65acd587ab9a98adf4435349e695ae69cb126c292aadee08cdafb6947f495fbd8b3d3ff9e1ab6151ad65b222a7d28f52b9d4cab4943ab29ccae4c5b48cdfe296c88abef4fb4e28d7ecf7ff54ee2be1c3be7acdcefb95b8bb2a0926a61d7cd8a25a45087a7afa68a86f64e4f2088661d0d2dc424b4b33aaaa55f7b0f1f3242fc3b89ebcbf5e19c0921bfe95652f5bdff511d0227abaec724480211d5f4e96337615490210010549c18adc5a7286ceb92c2a417a030c385cc391a28aaf75ce2d7dc5174cd3b354a982f8f2d27cf1d3eb69eb1f686c44f98d92a9130a41402f2e6d512baad5ef27e1ea382ddd4abff45f46727123cfab157c83f93f775abe076e18efebbe574919d72b7739bcae57d732b001856cb6e2122f8010f4f4f4585052ba6e953f48bad1162e47034bf18ee568e6c6466ef90974bd5ed4d63686300cc33aae7334265b6b1236d7974280502a5a50a9b7091637d3935f61f066854faeaeb1fce229e2e7a73229248a844cae485d6d0d75b57e5b2b0118a6413e5f40d74b086c075cbfc0a4aa2ae150881bdb185a26492c0f923f6f39765937c223ad4d6259f6be795d78b934e3af52f72f8c8ffeacbcb14a324d93a9e969828110b178c4f3c4a7827cc00a3f08c3fd7919f6f5debf91f40119b99db468346e9dd448c8e773cccece92482428954a18ba417d433dcc5e43498f232514234d84dbfaec93147f61d5d3cfaa3f562b63b9727e91a27f89fa840091c2f21468e2dc702d954ae4f379e6e7e6088482844361f758fb179114fb742a9b9da7b1b1d11352bada32c38b7f3599686f989afe3ea9ae7356067df0977a63bd5d9153d12d37363a5e0cbc4b25cf12d9e7d26431b6fe055865abaa97b9f879254e15e5ba3fec1c29511585682c8ae30607a923cc349220880028812a3df04185f4cf2bd47f1efafa59d2f2f5094073ee7d954a45e6e7e729954a4c4c4c100a85505595d1e14bb466cfd25093472098181d2619489070e3b1579b0c4e85d50675a9c9b314f2d5c8c20bb3d4045a4e515d2a2d8faf108acdc4a53b0f33e934c9e4028160082d18a2aeae8e6834463e9fbfa11a2da6639d4e1866753c851044a35126c6c7300ca34293a8f6ce72cfaddfee5641b52eb4e12a4b91e0f712b944ed4b9553756a57642e3f5295b54a5f3dfe9717f7815ce659f532ab3d5ffc6c31b8d3c7b661a51dbe49295d2190fd219afe1246b1859cbc0959f7304aa4d95e9154cef5cad2ff47a1afe5eab3f2acf04df6a53e45512c029898201008108dc6181fb94453f13c9a9c86e22c723c4ca16527f18646c0ea7481b5347008a61ca207fb68117f3e0e412c96add8cfcac671ceb38adf4ed96e53fc134854e42eee180f1eee6be53216690702841386475a751b864132b94034d1c0dfffe800a9f959bef6c50f53d48a2412096e24cdcc17b87025496b4388dece9aaa30524ad2e934866d8456ed34703979b6ecf491766bbd26f5d23ee3141543e4fb2d3cdccdd3eb4b94e3c2785ff3212d7ce3e941efc6db5205ee83c07e10dde446601dc6645de4d509cc7c8f88f1750aa3263225a8a97b91d4ec2b245bff13354d0316f3f7087be1115abeb0dd6ebf95e9ccaed0a7b455f3500065da13089b6e2b220adb03f633d197b036f81dbee08cb9175f45b12e267b0da8cb3859399a6b3c6858113e62b118353535d6fa786a8a542a85cc9c81ec71282d60cef5204d49a9a4333f3f4b43432345bd443a9526140ab9be750e1e3cc8fcfc1c7575f5f4f7f7d3dadac2fcdc3c5746afb263fb0ecbb2d433c002bfb3c06a72de0b5fed74ba12fe7ab97269401f8c17ceb98a22a5a490cf93cfe789c425472f4cb030375d65efac7a1a9bcef2fafb33fce8509253531a1dca2cffd3c79ab8efb63e0201cd075bb611b225b0dd419544723d79bb48b696396e95fd1c89874658cca5ec123d4ce8bae5380328290783f4e9318b55a74a795d390f9692fb9517fdabf5c9f5ca047f9f5585adb20274dfb7fbc23425524f1148be4231a7737af64b845ab7d094788684f616e3437fc388fec70cd4d7120e286ed985f43c57c72608c4ea686f6d26e0da0895f11342904aa510403c1eb7e7a61f8fa568c734728c4fcf52d7d44654b5b6661455e185175e60f3e62db4b7b7bbbeb724d6a9f4befdfb191c1ca4bebe1e9064b2598ebcff3eb7dc72ab45c386c1ccdc1c0d8d8de53ef4e122999a9ca6b1a99113c74f505b57cb8a153d9e7aacd17343844b293be7e6e648a7d3a8aa650d3a3636465d2c4e8b7985588d0af14e527a3bc5d6dd9424fcf33fff33bb76ddc4f8d838cffcf01992c9058e1e39c2e0e020f14482175ed8c3bdf7dcc38f9f7b8e5c2e474f4f0f7575b5280acccf2f20150d451a2417e6c9e6f28482415c91ea953655fff0c121fd126ab9f76dd1e4fbbe7c7d65e9532a16310c9d647281f98505344d239188717c7896c9d9393e79d74682417f88702799a664682cc353af5fe36ff64cf3e2508854bc93584b1b0bd4f0fade618a73530cf6d5120e077def5ae1aef2685ac0be995d9e74decf4a96a8a84ad9acc3cb34cad453f1e99dcad5f2ab252f075ba61c9ff85c0ebe8a64aa786339d67fbd3eb9d1322bf3aca823d24768de0224f86cc924925c2e4f2010c42ca6090c7f0b2d3f8511db84baf257d8c3cd3434bc46eadc55be3e7a3f63c5389dc11289b08a699a3cf94fffc03bc7ce3179ed325d9ded285a004d51d18b454aba4e3e932693c9f2d2cb2f73e1e245060606308d12f3f30ba00630f412f94c8a4cbe04d224994c821a44532c8787a327dee63ffef55f136dd9c4aace3a8ac51cc95496e7f7bc4467473bf14888542607402a99c4142a75b5350402014ab92ca96c9e60304c6d4d0255c0fcc23c9353d37ce31bdf60eddab5b6c7d71442b14e2693a934c592c1dffeed5fb362450f4dcdcdd4d42428157224d3590281200a625422bfa94953daf1c715ea6aeb18bd7695603048b158445535bafbfa299c1f242d62604a1608120a45300c835c3eefde9ccea4d31c387090a1a14bd4d4d672e5f2653455e55bdffe16fbf6ede3fcb973a4536932a939e24a918367afd0d0bd9175cd0a2fbcfe166bd76fe40b9ffb1c5a40f30fbc7766f9669acd30843d9517a9b115b3cc23322ca7b10e9c5c3c292bd7459eeb07a62949a516a8afafa7b3b39b4c26832a04ad8d35a85af553382925672ea779fee0347b2f969815b5441b3b680f07415a765391502d99d856fedbbe939c1b7e977fffa58d0cf435572baccc50abe02c81925eb2dc4d681a674f9dc2300cfafa7a89c71365f5dc21206159f138a17fcac1341759d7799158e2bb37cfabbb78c1ac2f42080cbd84618216d0eca5ba87612dc103cbe35d06f35a22e3fdeea9d1379cbe6712848240ba73c181a86cf5b163c7e91fe827120ee30e810de4f4a9af67dc659cc4506a99a9fdb7b48cfe095dc5ef327f699646d6139acad35648d29a3ccd2b913e8c7c8a2fac15c4c22a52422291a0b9a38f806af2a3ef3ec1ae8f3cc2b513fb1999ce73fafdb709d5b63072e90202e86c6d6272e42c872f5ca3b97733417d8185a92be44d9570a219b213243ab7f0e5cf7c04d5c873e4cc30bb36decce8b9f749aeebe08d671ee7e8d50c57468678f5d59ff2e3e42c520da2449a0895a6c797d7b700002000494441541175aba809e4c9a593a417a629498ddeb537939fbd48a090e4c4e81c89488883070ed0ded141b19027393fc3673fff258e1f3fce818307d1c31d1cddff2ef17882e6e616daebc29c3b7f9e8954818dbbeee3e17b7759de1024e54b868aaa100804080683689a46281422184ba0f7dcc989dc06f64df6a00fdc47b4b60e614a64b1c46cb6403e3981aa25b8e5e69b79e0a30f72d34dbb99989cc0304d4a259dad5bb7f1e9cf3dc68a9e1e868746f8c1b33f25992b307ae63dc2e130ad4df5e48c30ba6d88e658ca3a61934dd3c4342abedbbfa5275f7a9e1b66f9aff27d695ae51bf667d5fa2aeb36cae587c361da3b3bb95610ec1bcbb290c9d1da10271a0efb2666513779effc02fffb13c37cedc9295e1cad41edec67457f2bcd8d416aa3108f48e211492c2ca9af8fd0ba6d2b6fcd75f0bbffe920afbf751ed373bae710a113d2dd59523a7f8aa270ecf871fef06bff81bffccbbf626a6a8a443cc14f9e7f9ea9c929eb1e9a637caa289c3e7d9affedafbf454e87e9e153fce57ffc63d2e92c50be44eb58bd5bb721a4e7192e8311c2badbe6b034e7b9f76e5b195f0085d1f327f89bfffce7fcc55ffd2d478e9f46b1cd082ca124dceb17ee6d08171fdc67524a8ac522dffef6b729160aa4d329befd9d27ac38678a83a32cbf2bacc30604362e267ff177ffc4ab472ea10a78ee9b5fe7e5175f44d334b7fddef79f7df6472c2c2ca0b87ec4caccc794feb1f09a3b98d244a210681c2495e8623e1ca47efa591e9dfd3fe81cbdcc44ba9307faa26cee0ff2ec4c9c1323730804bbee7b889b360f7278ff9b5c1dcfb166553b6fbef22a57af4db2727090ced666b4502d3b77dfce438f3ccae0e03a9e7ce66552b902d7ce1e666a7282ed773cc0ddb7ed0474bef46f7f8d894befa3974acc4d5ee6d557f7737ef802efbefe1aa72e5ee6e899313ef3b94fb1b23dc2dcdc0283db6ee5e31fbd9f5c668e5ffeb5af921e3fcbb5d12b4c4e4db376e79d3cf8d1fb387f7c2f3333b3b4b4b6110b87e85fb3839b6ebe99cf3df645b2f922b7dcf73061613274e618d9e414b323c7b8e9a6dd7ce997bf8c1070e4c84964bc9dcf7ef2a39c3af80e8669cd77576332ed3f8731e9ba8e10d62d6325de80debc92522849acb51b806834ccc68136feeb5fff17540cb6dff9285dd12c6fff740fa16090fafa06fb5e1cb4c702bcfc931fb26ef3363a3ada19ec6ee4c8d0242dcdcd149520854281dccc3486a163aa5514ef2ad25338d20e51f1dcd1a9bdabda2a3b08cb09e6a5eab327603693612193e3c54b2946164ad42a92cec638b168c4f7eec9e1147ffac36b146a3a8875c56989a8045450d5b27763c314e806947449a1245155156df31ac62ec4f8da7f39ccbf9f48f1a94737950901cf3e4ea5e2a2c2cccc34ed6d6d7cfce30f128fc7d8fbce3e0cc320333bca53df7a83f18ce09efb3ec686fe16e6e7e739ffd2f738f9e1db993f7b8c3d87aef16553e7d4a9d3bcb0670fbd1b6e21a164991a3ac97421c8873ff6096466823d2fbe44dfc65bb965752dcfbdf85352468cedeb7b486845de3e7c9e55db6e4726c798183ec3dd1f7d849e9e5e10a02a2a8669a0a882d327cf329915dc73c716ea631aef1f7e1f55d3e8eaeae2edb7f7b2303d4e2e9322d2b581fb6f5ec7ded75ee6f29cce4d77dccb997d7b48c4623cf0f02f21a5e4c2858b188641b158e2d2d025923313fce8e9ef339333f9c4c73ec4b9d3273873759e1db7dfc7c8b1b7508c120f3cf229123509868fec47314cd635ddc10fdebec2adb7b6909c18e2c9a77f4486381ff9e847983af30efbcf4c313c3a456a7284efecf931734694fb1ef828fdedb5389bd295d3c6ab3199a681115ec354fd9fa22fbc4731fe779c9b6d23198df3fdc06fd31db993b1d908d73206e3294b009e3b7582f3e7cf62a81122b1187dbd3bf8e9bbff48a4f70e76d7c749154d669393ac5fb181f7f7bd415d2cc2a31fbb93e39767686f6b431182f68604b95c809ed63922e1387575b548e0d2c9e36c7ee0337ce29eed1c7bf3592e5c1c656d7f334f7ce749e692829eee3aba1a6b89c4eae9696b26128e5157578f4462e83a9d8d35446209ea6ae38442611674857c364d369ba1512df1ed6f3d4e2c1aa1ad36463a9de2cae818b1967ee2a51cdd3541fee5f16f52535bcbda352b393f748927be3fc4c0c6dbd9b3670f67ce9cb67c7e3bc7998e1a7cedda3542a1901b793393c9108b5aa1876767662c3b1a45e3ae873ecda6d9398416a2a1a11ec5d4f9d5affe366a30c46db7dce2d24b5055d89d5c201489110804d014d8323b875054c2e1303dbdfdc46bea0968eacf6092bf94ceff41961e37969cc0878a22286553ac6a8a31563428c93c1d8d0962e120de0ddc854c89b964845bd6d4520c43d684a0060115149b9f1a069474c897049a0a6a095409ed5d5d8cccc0f3afece7817b7b50b5a0db2e598d0a7096340a274f9d22168bf1c8238f70e0c001a484375f7e83b74f5fa221114421c4a6af3e0608366f5bcddee7be4741a963dd86010ab92cb3572e905998e2d96fff133d7d2b58b97e3dfd5a81bdaf3ccfba9e46d2f313fcf03bffc4d486016a57ada73635c4be37dfe0e2f94bc4da5a3873ee32f50d09d66fdf415b6b2b20397af418070e1ce0431fba97bebe3e76dc7a0b6640e1d0bbfb98cfdf89c88e110c4768acafe5c081fd4ca50a7ce98b9fe6b5e75fe6e94ba779edd0219a1be3cc4ea7989a1be32b5ff90a414da3502ca008d0858242092154520b49ce9cbf4863ff16ce9cbac437bff32c1d5d2d8c8fcf93c9cff399cf3f463412c1d40d5abbdb4818337cf33b3f62c5e05ae2f108afbff4066a5d27dd22cd334f3c4d293bc57d8f7c8cc991a3ecf9d11edebd384a222049446b58f9d987d04b55e2b5d9eb4dafb9004a909a8e1d94ea7ab93cd4c8a1701f7bd24dbc175b47fa4a1c43950c2c4cd0dc97c39492db6fbb8d0d1b361188580ce0a7afbfc47452f2d8b6011aeaa37cf2973e433012a72e1e61ebaeed84a231b66cddc2f6997984aa128bc50887424809bdbdbd288ac2e73ef77904b06afbbdac0a5afb959bef7890b5454940dbc8b6f90c5a304c38a01008065114858f3ffc08a669f2e9cf7cc66d5ed07ef6d8635f4420c8e573ecbae956eaea1b90c5db49e78b44a351c2e130aa80dffd9fff9082548984020455c9423a4b2c1627140cb02397259dd7a96f68209b5a60ddda7568127b396387f5350dcb7f773e9f776d76a429dd13b75c2eef320f550bd2dcd26a616a9a2054ea9b9aab2ee81b9bc336f5581f2dad6d2e8873b4ee8623ae1ce04514b8ccb31b4e553659972acf56cc9c5bd7d1688cd4c202831df58ce64368a534b5b12035d1b07f7f594aa6e625ef9f822d83b0a215f2028b01d98ca96440b104c1126433509a2f51ba9624989ca63899245753a0582c12b119936f03bf124d699dae3e70fffd7ce1b1c7c86432d66e91943434d6d15c17a7beb985b52bdbdc656c4be7004df53aa9e61d94dede433a95e2f9e7f7206b9a4166d184c1d6c13e0cc3e4ecd91778fef421cc7803d2bc465d22c8c4b5abe8e95982c1103d9dcda4b438eb5775323b3fcfe6953d0483214cc3a0b9a989cd9b365193a80129199958602623498405b313d7d8d453c3cbef1ce2dae810c54201f42217cf9c266728b4b435d3da10a7b6a99d75839d9c3d9b66754f071208682afd0d51bef5e4d344f5696a5b0789d5353238b88afdc78ed257bf9baeb60622354dac1fece1dcf922ebfbbaad6372d3442a1176ed1ce4a573d3f436f7612627a9af8b73e6dc55e6459186e65e92a3139c3a7d9e64a6c4e655f5344cced1d4d4c4aade66cc4abb32efc9a3bbccf346993651c3f534af7984fb0b066bc6e77962768ab393234454833b1ba759d3d989619868a108cdadb6c5b869d0d53dc0e70736d2dd54832ab04ecdec521b9a5adcb9ead296bddc558440d5546bee46a2988649306cd1a315de3b48d8aea6b9d9aff54b24917004d33489462394572896088e462c172d91a8c7b23d5843382e5c216a0235f58de56539d01c89bbf846e3b544138094d4d6d5515b57e75fca298a42301446cd59c7e0adad6d48290904034c4f4f91496768696d2d9f825552c7a21d67bbe60fc0411641cb65deaf5cc25db71e2f4c55cab6bf545f4e4aac7e0a4502e4f339e24681bb13a364468f51ccdf457b538d7f63554a429a892ee0e430ac31a1bf1788e01e2f178a9031617ebcc8dcb505a24686f626852bba423e9582b8df54da7b42e86b86b022adae5db78ebe817e0a850242081e7df4514c53d2d5d1c89aad97b83c3e4b6b6b2b7a4967d5aa95b4b7b7d3d3d3632d1d9ac234b7b6f1f92f3cc6d5059d78fc61eae241dadadb41c2c38f7e824272966b499dd8471f666d5f13cf3cf32c8786a7b9fdee87f8d0ee1e0e1f3b473812a3a5b585f6f676cbf64a4a5a5b5b69b38f9f75dda4bfa389d46482dada9d6cdeba83c650919229491167c3c69dfcf0a96fd3525bcbaa4777b271652703ab7b191a9da2abab93f5ebd6e35ebc55351efccc6738f4de7174ad9d0776ec04b34853472f9f5ab393ed9b06d9b06915e786aed1dad2c2c68d1b090483f69e97e0d1471ea6afaf8fdfb929c8cccc34996c8ece965a64f43db244d9be7d0ba9b1959c1a9ae1539fff35b6ae5bc1c0c6b35c9b5ea0a1a9c98a2fe8a3e4f2c98bbbbf66d39877b004100b2aac5b51cf6f247224ebb2d44642c4a3ed44a216f3a84c7d7d7d80747d172d9ed3d593173fe7e0a73c87acf7975b4738ef7bff572bbb1a2e4e8ec4dffee56a0310972f8f868b85c21bbaaeef722a320ccbc64875ef7a497b82d9c7cf3f83aab25cf7f99f5547fe46d9cee237977fdfd981ba21e629a0902f505f970021118a46537496b1b33f86b64f736438c52debda49246a8846a3bc7e78823f79224567ef4a540d5445d2d120d8bc1aea1b607c4e7269a4c8fc4492da4091505030316770715ae3dad514e32787b8bd678cbff9fafd44a271e6e7e70868f67d39a7bdf689906546a4a350448872cc38d5f2dbe20a1e27108465506bed2e9bf6782baab594b69cbc39121f1c6338cbf19be50a464ac8e50bfce427cf5122c89df7dc437b5dd47636575ebeb893d93338c2de035455eb34ce300da4c4721a87a4502872e0c0416ebe65b7e5e0de345115d5dd5ac09ea3eeb008cbf9bd00744307049aad211886b5125015c53ef490788dfb5445b10f407037bc4d29d154d5aec7400815d5b5ce77fa4758ae7eab69f9cedc9226730b59a492a0582a2d21b8cbdba1ae5f06b948e42f294e2b4f0eaf977fa3a9725776a9b2ae5f8f9ff26e00df0302eed41cfb18bd545a8c48c9ff22802cf97fdf384ad77f5ead23aa3d5f2abfb2aecaf26e949d2ecb44edd3af6050637a768ea6fa4ec2896e8a98f4b4d62e820da8925814340d34559029c1e961d822e1c4c9399a2245dafb038cce05787dff15468e8ed0bc6a1566324d2c16f2a9bf76a12e432a4b3b0928a8c61c81d225cfc6bf37957b55013437ef674f71e0f30fad0109867111992b3f5316412f2d365cd882f51101eede518b993f0180ea79cb39f9d3a83e4e8ef5972c808240c56f0ee2f573e125f6a5beab1579aa8b85b4f15e9a84a594c44c492e5783522c5231925593a8f85ceaf9f5f296cbbfd12496f87e63f52ccdb26e045f2d1209db6bc77f4d379a829a8222ac585c99bc24d6b896dcc2022db59df8bad7940434d3624c017b6f4905a1c16c163423c38a15355c9833994866c82ea4a86f8a13cf4dd1512f18d69d50ed76f26d2d49ffa734d1d52674b57911c49293aa520c0bfbdf224332fc73ac1aa7f7de45ad56ce72926629aee07eadee1de9836d12f8d37f8f32bda5039852509a3b4277e6a55f48a9ffc3a46576539ca441c59ec5bfa6eb26ebfe9782a669cccfcdd3ddd1833a7714413b82b291a594105025d128040210d02ce614d0201a81003a815291c2549af4e81c5d7501fa363423c3759cbb5c24397411d1e0191be11c3f2f7d7259cd38c217a6dccd958b2746e576c1d295783eab48c6e5caa916836a09783fc358cc929742f3467732cacb78e77775b81bd1eaab69f35282340a98d9c965b5f9aa3857547c23ab0fa88e2be00bccb1087e9967d612b7fcc0e77c7299674be1e74f1ea78215386855e1ff352d9b9c93965834caecdc1c45234820d16705fbd3ca5751acfb8026d10804833663d22c93816804b2ff0f7b6f1a65c971dd77fe2233dffe5eed7b2f55dde80d20b6061a9b1a3bc00d20286e124971a748c996644b638fe563cf788ecfb18f64c9b6ce684692652d0445c91428922209803048500009922000122076a21be87defda5f55bd3533623ee416b9bcaaea223c638dde3da7ea6566dcbc712332e21f372223ef6db479fa47a769b415974cf62272133cff937966db8ad9b3cde4d60905e1a7331d666ca4775cd59163e3e44f242ffcae37867bd529f73af95703b6f5f268b3ea489a52b86fabeda6c61f85a2d5f35a9d37cdf488fbed8c1e25f9fdcdaad209394d43786b71719969f67a271d3a98bf09fdc3ddf67a5bea02d30628586f304d72b91ccb2b7532b91eea4b8be472f9806fd34891927d94f3a7cfb373cf08f91c981e3015f290ade4d9bca58c2a14397cb6c9771f3940f5c40c839353505d412ecd519eececd04dc50fc4daa355bcd98ad86f3c31723d96cf5a9d7c3d23fc7af9d3f4d547e9846e419ac79d021c7abe81ec14f44a742fef60553f87c14d2e3075149e46ebe25d9f2c21c07654b8eb3d9636bdd864b96133355a0a06bb578f2f33de9fa752b450abe9118984bd01fd4474b6a63f972e306d88c225ca4c2643757191b1f1719ad30dcae5d0ddc99eed7dfcafefdfc267bef60aafae2c70f58ddbe92959e44c28e5a0af20e8192c7174d161a556a7af6c91192a533bf21afd669537df98e7ad77eca2502845b3258c5717bdee52c7b6d46154d7dbab481c68a717b04cb2da52927f9c3afdd1154d01475ddf8ec040785f90b08aee913ae8004a91e354599a963aa37250769db5de64a74c707fea74e9481e79f2144f9fa831b5a9877bae1ee6a11f9ee583376fc2320c30c0542d2c656348f7c3700164550bc31128db4e085d4b8f378abac0b4111204564c215f60797925d8901a67dc77f91686fb0bfcf9175fe689076679cb3d9733b6a944c504abd524d36ab0726281e903e7a91d3ec9507685ab6e2871ebcd97b273e766060607c9e70b2c2d2fbb0dc7fb064ce9f1a842b5bc4ed6c126d07a72b293c53e7ef5d81318e75fd7df0e462ca8743b2a0d88d2f8fd683771200c78530028ed34d179f4f2a89826917ce22b47222a60d5bc44a49cfe9702d8ad3594ebd0d9bddb3b828196a0f46b1e356a36df7e6186cbae1866671f3c77709a3fffc611eaf52613fd396667eb6cd954a19c151c3b3acd0f4fb729e74db6f465285ed44b299b0dc23325f4d0aa27feae247026da292dad2cbe6c2f832e306d80c2cf55411890b12cd72d44eaa2b46072cb30fffc17f771df575fe0e1cf3dcebbde7d2553578d53b2e0f16fbeca91d7cf50b01778cf8d435c7ffd15ecd8b185dede3e72b95ce4ab79822fff7d8b29d20ddcff425fd28da4ac59aaf037ec84f18827513615b35ad2ec02cdf2890142da0cd58d9a1b53378909297a474144c4d3f4483d69809b7a67dc5e4ad6776455c7132e80702f9204a715a4859e105472192645a1a046136f4a7d088fdf1fe651c8483e7ceb103f3c5ce5ebc7053f77ed20976d2d72d7de5eee7dec0c939b2bd8768b475e5c4029b8f39a01ee7bf434870b5926872d462b04eb4ca98bd4daa0b45a1974848a6373701e3467f74a17983642226afa577a2acccdb99f65740280dede329ff8c03eb67ee7005fb9ef07bcf8bd414e9c9cc1695579d74d835c73cdc54c4e4ed0d3d34b26934d9501045fed4711c2a5a053c5e772fae09f32aff29d4e869d3f949dd6d622e011596f890d87415ac8a4747edd820bfaa90f22faa2914af226465e11ad839434bf3393027e611dc4e6bb6965d4ea21991701b3f03ba46c27068b24bc85e7faceab647a504ba9f2746ad9929fccb418ecb178e9d41245b39f818ce2c0e965b24271cda60cb3559b9c29711cc5d1f3755a8ea4282442daaede325d4f56d1119283a38add438772f8d405a68d90882e4867335932990c8d46834c26432e97c3b6edc4360cc334b8e3d65d4c6eeee7a557a6b9e58661b64d55a854dc2fb47d771bed763b7a9fe7f278a9bae8e56d107fd50dde23d77aacd705b544d27b917f8b88621780419857cc36d34671df5ad31130995738cdf42568fc426fe651d408771c857245f434a25ba7fd496e7944fa1a5c04e8d2eb2c305e0359fe7f451c68c2f2f9c7218f8aa5e97baa08ea3aecca71594978d0ef0ed3b2a6e0aab12c2f9e69f0f3378fb36528cbfbaf1fe6f892c3dbf70e32de9b65a09461bc2fc3f45c83fb7f3c47cbc8f1ae6b8719efcb216598579a1e6be9982caf88e8a74ff3e3d405a60d50e02f48bb52c8e7595c5c44791f6caeacac901eea5cb0695399ad5b2a48e50542544a0b5e100533a5c0b22c8ac56260a2c7476ea14fce4574248f76b69439529096f8497454e129a4bc9378c0d0b85e811513c5afb03375e0f76739ba3ea9e588198589e2e84657a24cfa0da4a4464776fd34feb240879508482acf579511f5669a828949f204a5a6c533ea7059003ba6fad9b51dd7599d848b770df226e106f8914ad1038c0d08169b82f1a1326fd9ddcfbeed25f719f85375956c39f1cc3aea49b25623fb9dd2109d2e306d8884811bbe4a6b18e54a8509c36071619eeae242386a8b680721751a129242e3f7ee510a66713775968a45cf319b764f6c5ed269d45ebb60746cec81eef8df86f93d5404d340235803f30ae10723d0dd4e2a6fec344454b740bec7a327f91974d02f90adf3a4f1fa9d5d449664889a501a1075ca2b761e7fd7e0eb2e95e1b613334308dc314a192b22bac5797535d2d2636dcb05208fd77237db4aff5e2f2f1bd8bb6380ab770dba00a6a279c56546c068351d3ba4c567eabaeebe45d505a60d50b3d9a2a5a286ac6f5314f285d5878f8d92d7391bcd26a14de425e9a3397adb0813922ac5cdead02a0ad661621ce047d4882be6ea2684a1719294ef7d40eb9e1a11ab33951f1ff6e2a548f225ea2496162f63384511893bd2a487f595d4214d53f7bf81ed4830b31a639883f080db053711d528914d4cb355644578238166e3d709d2dcadc00a8ca82e49e08935b64891d793466ca4d678840a92bac0b441f2a37cf8ddd7c50d6f8a17f4d5e85265f84c45a4dd45db60ec8a9f8f379ae8ce2b83c7dad19c16c16fb84e1476ce4e1b37f58949c24010668a02e924120d4f688152d7c1afdf1acb2c5e966819758ed0aad34911384e89c94cd72c7eacf32acf1a0a8c2f8db7458e398613658a29b3be6baba577b212d723ef7f9634ed7a17983640954a0fb96c2c0a8a52349a0d969757703cd71bbedb980070b4efc4f46dfba98014c8752d0ca9dc6d093d3dbd18a69100865092d0d67422578334f07d5faf676e914eabf58174392af0b0b91e0a2c2bafda62925c58894f0d2248adbd4e571a04890b9099528cf0e969bc00425f00770713375af365e4b65d05de674c71cb2efe08a4bf2ed5a982d3aeaffd3056a79ff6fe0b95b75ad93cea02d306c80d4ae0b80d1c585959a1d96cb0bcbc4c4f6f1f7d3d03341acd37ece368d334c86673cccdce90cd65c9e70bf88bd0bad9af67e72fbb47de2469d6961be4d23ffb1f31f78c939fcf7a5d27abe46c440708ad2c9032698b953b3e3d5b8fcc80d73b0ab63d68f212d33e81bbf915178894b010d91e6cdbe6ccd9f32c35b2b41c03db06db71ff7c1f7286013dd9792e9a1a755f76e87511ab9a886eda1eada427a7f09e50bf585a041d3bb559fdc694e961721c4a3e9375ea2be802d386488f3537bf304fabd9a6e118d4db82917c1ecbca502a8591365ce7691be9fcaeb335c771b02c0b2b93f1a2c8c43badf6e8bdb93ac41b6072c218b689d501f40d1ba495ec60a5a5f17a2ddddf60a4e26b38510ddcf2b8b2c33a49b34085fbb2209099d2a3822cbc74a577a158370b541161becab74edd63d7619d8d696628f66e45364cec96c26e29ea52d176bc4020288aaa866db790321fcaf7b38bd40f91e51ef727dc2891f66c22cf3c811629d73b50c0a26202d2f173157dd3f35374816943a47041494a49a35ea7dc37ccbffdc387a82fcdf307ffe2e7c86673148bae2fe4c3874ff2f0c30f93cd362f3817c72973cf3d773331314cb5bae48672522a68f0a117b9788b089fb64aa487c77a9bec3466fa3c6996c91ad6782c3dbdf1aece1f0248187a5c07a5ced641b26beae0a4c95010750ca3837c2c8fd4fc354b2206f4fee0a5a41b5a3e6bc18e29303d375b8e1701db711cd78ba7941c3fee6e769432f42a1a7acbecdcf305e0b4eaccce2f6066320c0c0cb02abaa4c8885cecf8716efcd60b189e3ab246f3eb5a4c1b26856ddb2c2e2e525ba951aad838ca606e25eaa5f0c08163fcf66fff166f7bebdf72ddde85c46be58e6482cac0b7be35c2bffdb72ff06ffecd6fd2df5ff672f6c337a9444748d3332d4da43429dd4d52dce78e7663a46f06b646d42009b24e9323844af26bfd5bff022732bc27dc0868b223664067bea8d5b33aaf4aadbb743b247d4a2283ef09a5e79257e10606f0bf3574836cba710d9567194be9046f3e9bf52acf3cfd24a7e76aecb9fc6a2eb968b31bd3ce1048c7715f5e1806c2dbdff6fd6f7c95479f7f95ddbbdfc47bdffb3e2ccb080632056e2836c3758f2c705d16fbb106a5e3446d4295f661536c23696c5c5c972d9c321afacfdabf5f8a2e305d30092158aa56a956abe472397a7a7bc9650cb68c0d7076fa5cc0d76e3b7ce6de3fe61d3ffbb7bcef1d33f05f81b975667229f01ef8e4a74f6366eee3decf8ef0ebfff45701c2e9817ba6dde41e0b6ffae37672916a3d041e70d2fb65d8d084814c44d28df2c4cdf58e3cdab11bb2dcb78688ce06742c4a1386ff7d9ebb7521b9273ddd3a5c1d90a2f7ac57a67e47c8ab5df79e55106dc8b7a0941fd649468e1d2fb8a9eb2fdde6dbf7dfc781a502174f8d3077e215e4d428a78e1fe6d89979b6edbe84667586dac20c75a3ccd62d5bf8ca634f71e75defe0e2ddbb58a99ee7c0c1a3a86c85e1de22b97c8ee1a1218e1e3b8ed3aad35c5962eb453b3877fa24b32b0e3b775f4c6f31132b57a430e171ea3a95668876aeaa6835c53c18eae36c17982e909452349a2dc6c727e8edebe3fcec1c28c9c840856c267cb08e54d4674e71eab1227ff09d298818530a6c9b9661319dcd336ab7b0f4a7780ef8aecbd76c4996add3e1a8a78d80101b8084a256af61db0e95529ef3d373f4f40f92cb9a414b8a76d514f3c6bb2e04dcffc003ecdfbf9ffefebea0ec618e61ce919ddd3139514472d3e7e7e729954a643319ed05410c0062b7f9645a263ffef173d8b6cd35fbf6613b7a51d0b95200002000494441541499f8aea4e81689b8f028af2474559604accebc51b9919c3410f2a3274b29114278d6910b46feb161b87bbb9454b45a6d9e3b749e0ffce37fc2d6fe1ea4544c9f3cc27d7ffd054a83033cf5e3d7993b7f88898951e666e7b8e2ea9b59aed5a9cecd72dfe73fcf547f9e334e819993af5328f5313535c5bbdef56eeebbeff3ccce2f70c96597b33c37cddf3efc288e21d873c56d7cf2036f0f22e1c6112652deb46f7a946f19c79f6714e4135678843f3cea02d30628635914ca3d3c716a999f9c59e2a66183f18132c54218225c1ab0f9788bf73f724673b6eb9191c5f9f08739746686df7ce52c7f74ea792688af41b90faa8ee20b1fb091de5bf660d4f51ebafee82dd3e4d9677fcc9993c7d83258e6b9e375def5eebbe969b99685615964b339daed36a6018d7a83b623e9a954585e594109834ab984b29bd41a6d7ef4ec73ecbdf20ab29689ad04a56291566319a5a0502c25714d42b35ec3910e855291daf20acab028978bd8ad062bb5268572997b3ffb596ebde5162ebfec324cd3444a45ab51a3dd6e63640b08a7455b0acae5224eabce4aa34da95c26236079a9c681d70e63998abd575cc642758562b94cd614a81858f8938f74cb2b5a77eeaf8c414b686125e5c679e3d2c34eaac796abd7ebdecb101256931fddc6912ef08d552c7ef8ec4b889d9b682ecf216d816d14b9f9a69fe18b7ff308866170f73b7e96179e791a6157b9f4d24bd9b57b37070e1ce0e4991a57bdfd67392ae6383f673333bfc8d123af525d98a150e8e1ed6fbb8b97bfff18c74e9f67d7aeed0ce4db6e5828e983b63e84a52dabaf3571d32cdce0ac9309955c5ee802d30668656599eaf212afceb738dc805db5361343654ac57c648b40564986476dccb796c012eeb35c92f03d8b276fba9197ab0dfef12d35b67eee28fd6f9a81818cdbc3a5826fd6e1b4431dc8442c09153678c25fb72398d8ed360f7ef90b5c7df727f8c807decda923aff19ffefcbf72ebad7770e2f4193efda94ff195af7e8d120d1e7fea59c6b76ee7131ffb305ffed2973874e21cb7dff90e968f7c9f17cf34387afc24270ffc98cf3ffd1cd57696abaebf95a71ef91bf6edbb8677bde7bd0861603b0e42b8de3c1b8d26bffd5bff9e9d3b77b077e766ee7ff407d85689b7bdf56e8e3efb08af9c9c233fb89d271e7b9c53a74e31f06bbfc6a64d132c2d2df37bfff93f32d45761ba9963ac37c3b9d925de72e75b39fae2b7397866911d97dfcca5030d1e7ae239ce9c9fe7e6ab2fe10b9ffd635e3a36cdb64b6fe463efb93df6c22f7dcae5b208a293e16827f4a127fd1d5767b9fa864f896f21857fee3434daa14dd3a456ab313d3d8d655954ab4b140b25300477defd4e1e7af811feea9927b8ea9afdecdfbb8b3d937d7cf56bdfe0eadbde4273f638c56c8691d1716fe3aaa2542cb17bcf1ef66ceae5a1bf7b8883874f73f71db7535b3cc9d7bff5345bb75fc2405f858c80abaebb9a772fce70f8cc02e54ad15d07f35cf7244bdc619eee517cc29b46692b079d26d55d60ba40124250281468d796b9626c80b36d89c30a9b07ca94f2317725023704d64987c06c6a289016d5f945fee0afbfc9dd77dcc0fe7ff62fe93ff21578ee29824886cde8aa4848c9a99c7735b85ea914a9cd9f63a15a67657999fe2dbbb8f1b63bf8cfbffb1fa9371b9c3971881d93938c0e0fe098150ebdf83c0b33e7387fec65befbb04d2e6bf1f15ffa289ffdc3dfe3db8f3dc953af9f64f37085a3af3c8b280df09677be1b210c1acd069ff9ccbd64b3593ef6b18f61b7dbd4a4c9ddeffd20f7dffb275c7dcbdb60ee088f3ef430d0e6539ffe287ff65f3ecfde2bafe4173ef441508adffaadffc02597eca1a12c3efca97fc41ffefeef71dd2d1f64e6f8419e78f461c816f9f4a73ecc9ffef11738673adcfaaef772f6c5bfe3f889d37cffa91f33b5e7228ebcf024cecfde12c4960b6b4a3f8a4eeee25ff427c312e8e0b51aaffb9b3e117465b996881bbbce34cd0438b9d19d8b98a6497f7f3fd95c0ec791f44d6ce7173efe69a4b731550878ebbb3ecc9ba5f2be357c130ab8ecf2cb3d499782824d9b3633bf308f78fc192677ece692eb6e666aac822335605440b1c03d3ff711a477ddf6defaeacd375a8fab53943f0a55fa7bccf5dcdf05a60d502e97637171816d93435c3504c5a52572993efacb85e4a2e09282975b61ad3b0aec1c8621585e5ee1be2f3dcc2b575ec2a7effc046f5bdc84f5d5bf055577ef4b21e94de3944aae9f2825b12c8bdbef7e37938379bef2c52fb3e74dbbd93636404f21cbf6a13cbfff477fc2f9d3d35cb4f3625a8e64fefc594e9db438756e8ec12d97303ed6478fd9e6737ff52566560c7efe2d7b69674c5aca62eb9651721928652ca4926433193efa918f005e604d60d3f0003d398bbd97efe4fe6f3f8c23b2dc7cd31d1c7be1313ef3e77fc9e0b63731612ef0c5bffe6f7cf8231fe5377efd9fb2bcb2c2c993a7e8aff4303c32c1447f85fac2205bb78eb23c3fc367eefd3c63bbaee4b281268f3e743fd5ea12d75fbe87be4a86c3d3352edabec5b31893f160bc9a49b9926e01c46127cd664a5b834acb255ce80edfbab5dbed602a0704eb4de7cf9fa7502851a9b8ae99a523a353652523f295e39d7558a72f97ca7cece3bf8895cd92cb66b06ddf124a695702cf53a5b6b0172f8fbf3814776baae51ddd3ad6a16e3a2c41c6f3eb02d30592528a5c368b659a88468debf327983bfb035ae577b279a437b6f8090c19f0beb21b774d0055090fb90f570881611abcf0dc2bfc6f474f72f8836fe61f3db08fec0ffe1cfed3cb703c6597b4d2d72efc4c5c6adb0e575eb917475e41a99063f39e0532b922425c868dc17b3ffa4bcc2cd6c8e60be42cc125975e4ea9d24f5f29cb55fb6f4159797a4a392c21995958219bcb33d85762e7de9f6169a5414f4f0f998c85137c9e2edcb5264f8b7ca1c8c73ffe09c0e0921bee6064c7e538668e91a101aeb96207330bcbf40f8d90a3cd3533b30c0c8f50c8e7c9e58b7cf4a31fc391f0fe0f7c9062a1404fef00575e7105ca6e31b7b842fff008054bb1fd8a591c33c7404f11e9b498999d771df4097713ab6f706a9f2ce2f7067d3dc9e78dbcf6f6aec7fb8cf21844284ab30a922fa242b7b202a584e7d74860db0ec78f9f88dca310d8761bcbca502e95dd69a0ef0955df4b147bd6b1a211f9c6c6632b160b2884b6ff298e02027d036bd2dc54f1fd1b9d303996eea154a262f4fb445486b608de5dfcde200904a57299a5a525c6fb07a8d2021ca6c6faa20fc3006624fcdf8b5101fdbd113ed334585a5ce20ffefc7e166bf7f0f313ff9cdd53f7c289c793234fb0b3389624048653a52c66c112a89662a422800540a09a8a4a4e50193340babe9f864b02984129d83a22806620b33222803a4ace33d607637d02d43c00b27d3e5123be428379816a4fa3846062508068815d259753f48e81522701981a1328791a9a0a4b08727950ed690672ee1a5bdedf2c6f097a0b803c010e6c1e12081a281650a6a06f42a0541dd53eb2be8717515b849518ef80eb9641c7f98952928c92d4eb43349b4d846106fd5505fd526159ee12c04aade6dfe9fd4f029f9f1a05d9a8c748a133fa7c5a7e2e8fe8787f9a0c1d473adaa431f0f653143edce8d752f4d5a80b4c1b20a514192bc3c2c222ced0668a7d1751933693a33d5146098c1af0fe0a64bcea5f94f0a048346621209bb1f8f6f79fe1f8c53bf8df3ff021267ff443081a6b90bb36786a4d548150120c1b84e1363bc709f2111ebb38378deaef07cb4a7e22609a60b89d55f9af8d1591cd9702628bcc0251af43b385eaeb75fbb5bfd663db18d3d36018c8de5e9465e9eae239717263af61204c031c2d32475a8757d10eb25a675995a4c49899458e8ea00063b10aa6892a15575f0849d1a7739a22eb2c52689ec2b1ed0b127ba1b49ec5e737e2fe9f369f34216932bbc0b401522837a65c364b75b94165700fcbe7cfd1dbb7333a3208e08c84bf5a8eae313915cdc850dee2234c6edbc2677ee57d141efd3b8a9fff4ba8d793792bff5f7c04543894311ef80ee69123a85289e6cfbd0f3538e4f278f316eb5c0d7b6827789fcce087e81190fddafd98a74e2137efa27dfb4da84ace052ba55cf0304cd7fa970e485096098681f5e29398070fd3fce847315ffd09d907bf8e2a5768bdeb9d18d37532dffe0eedf7bf1fb965b32bcb71c030300f1fc13a3a4debd6eb10d387b19e7882f6dbdf87cae7dc2f5a1dc755ccf02acb71f05e0186a06b9a5ef9bcf5251fdc5c6f7e1ed029579ec2fd9512ec36d6f93ae2c879da37ee27fbfd079043c3b46fbb01d16c785311c395afa45b7f96e9deabd5850efe68cf03bc10e1cd1f31bcf81d749b61b58ebdca12ccbad2d9c0f5373a4db7e6d60b6271de2e306d843c6b2593b1a8561719d83c46c69a753d0e986694af28607fde5d6342404dc2b3aec5241d494fb9c4e62de3fce495d7999e9ee3cc6b87b9f22fee85e9e9d48c150ae9ef9a8e2f41a0685f791999ef3d4ef33def86f9598ca519c4dc39d4e876c4ec022a9fc57cf565c4dc59443b877dcd75c8c112380ed68f7e48ebce9bc87ce7db18a383d857ec22f3e863d0338cb36d12e3f5e7112b2de4ce2b71860c323f7a1ed5bf09d16840ab8e1212e3b5832869d3bae11a642e83c865a05987da2cd6775e41b432d8fbae46f616318e1e22fb879fa57de9ef63fce887e4fee26bb4de7c0fc6ebc7b15e7811e7e2bde02c23ce1e47d839eceb6e40cc9cc47af1659c4baec219c992f9e1b3202a38dbc740d6310f9cc0b9f42a44f53ce2ec099c2baf410e0f631e7c155536314f9f436eda8698adc2c21cf97b3f8b387b1ab1bc8c79fa30626919e78a7d38a33d1873b398cf3c851a19470e95c93cf30a726a0ff6ce09ac677f885892d8d75d87ecd5ac2c0d39dcb5a936b2554b74bc70b2164ea692139ee8938f6fea8ca7fbf7773238e393a94e601997d5e9bed5d23ac98c5327b0ee02d306c877d8562c16a937e6a8b70556799256dbf100c823816b214d3b5e4d0ba84b682a2470cdf57b79df9dd773654f8edff8b3aff2e28b07b8eff81c7bde710ff97b3f939631045fac27471901c8c929e4e828ceaedd889f3c4bf6b96731a64fa1063783da02f55388da1272eb5654bb4666a18673d1282a9787da0a99471f47f56dc2d9bc0966cf61befe2ae6816fe05cb217f3c4415a37ec25fbe52f23f34dac5333d06ce3ecb91cd963b9f56208ace79f07c3a0f9bef792fdca570181f5c823645e3d0a28c46c8dc607df8e320cec1d65325f7f0856aac8dd7ba0ddc238731cf3b9a7c93cf102b227831a1d46b557c8d45a382379cc1f3f85f5839768ef18c4308b88f967305ec8619c3e8dc8e6c83cf932ca6c22a726b1afc9a0848178ee09b2e7cf619c39831a9b40a91d1847bf8fcae591fdfd98b51ac692833a7794ecd767a8fdd22f601c3b46eebf3f46fd931f257bdf97505bb7637dfd41c4d671cce969645f81ec57abd43ff16e84e3b8d0a1af5129dcd8db76a3a3e510bfbeeacc30f6acfd57ff4a9bdfaef77e5d90afb2a13bf8f63351e9f7ad31db5e3775e25d9fd7ae2e45c847792104f95c8e6a75895cae48abd988f129cc1af0dd063cd680c7eaf06413565a5cd157e05fed1ae63b7ff300bd9fff2bde7fe7f59896c5438f3ec9a9dbde0ce363808b67e94194b487aac213a524cab1516d1b67471fd6d103d857bd074e3d8d181e449902651ab46eba117bdfb588996318274e629c3d8beaeba3f1a94f53ff954fe04c0c907df07e8c73b388ea59c4ec71dabb77d17afb3ba1bd88989b075b22c78791152b9cd23892d65bde42fd977f09d9dbeb4d7d1cc4d20aa2d6440e0f23470a01af73d1c5507d0136bd0959c920e666c9dc7f3f488138f532a836ad9b6fc2de771dc6ebcf937df0419002e3d44b188b8bc89151e4600fc27130e6ab902de16ced874286d64d3f83eceb054722f754c8bc7a82f6fe7760bcf25d98dc841a18c09edc8c1c9f405926ed6baea67df31db078caad4c4762efd9857df1c5885a1b67eb24980ab1b0842af721c786114b558cf9796836311617630f066fdad87843ff84d3a051af71e8e42c874eceb1b45c73c390a7f277bade40d90d16169650ed06aa55e7ccb9798e9e59081c1e366a35c41bacfb7affba16d346c85ffd15826c364b756999de9e5e9aad16c107b20a4e17f2fcd5e8388612b0826b4d150025307effffe44cbdcdb3460f5f346aecbafb6dfceaafbd17cbb4581cede373231358d2a08564369b7547e2e095475a88707778130aec6bae85421e0a3b68def1b3b46fda8739f469c4c036d89443349bc8fe3e443e8f7dcd35b46fb81e61db800a16c68502e78acb11e2359c37edc3192ea3fa7a4108ec1baec7be689cccf77e88586ee04c6d8542116c1b3935899c184765dd609dedebae03a5b0776e463efb3cc6d93954b90852e26cde84ecebc1d9b503213258a506aaaf8ff6d55762d6b3386fba1ad95f42f6f5227259dad75e8b387b02b391c5b96c1fed2ba7c83efc28d68113b46fbe83d66dd793f9e12ba8be5edadbb7a17a2a086fc7b5da720dcdbb0ab46fbb1e259650bb2710a5eb5034c97cffbb383b7721b76c42952bd8575f0dd2418e8e605f7629c23469bdf376b2dffd21f28aeb685db583cca3dfc43ab140fbae37631d38803d358579fa0cf6de2bbdf52eaf9d2889b29ba98bf37e7cbcf8716a9323c43bc3143c77708ecf7ceb38178d16c857cafcfa5b27683b927a4b52cc5b98026a0d1b84a09033a9356c4ccb20631a386d87b6045bc1ff75ff217ee5ae290e1f99e76bcfcf31d093e3cd570cf1f2f125067bb2dc76f91028b04c41db96644c63036f1a424a1f6253ca7bf2e4e93cf01de0da8d67f70f8bb21903d308abf7fcf4343d3d7dcccece30323a4aa5d2836164f9cd7ff98bbcfd9e07d8d46f23fe04d473e0fc6b01db01e52e781bb89f848e8f0c333ada0764999b9fe3d889d3085370e890c553dfff30fffa5ffd3b96aaf358a6412e97ebf8362a78dbe5ef5d31bdc55ec3730284f0e67c523bf640cf30828e0ceeb9d25fa9a3dc74c388ec3ef737de093f1f34997e0c3c852b0b772a2afcc56541285f186e47f664085f76a0b7f78797df4a8dfce73e87680b5aeffd79ec4dfd9e3815e8108924ecbd0154fe02b8d03a59f0524185f5e7bf82f4ca8ce14dd5944279f70a19ddf8a84fe524068da3df66f4d89f263c6a46dd016b751c5bdd76c723bfccee8f65193cfac22c0ffe689abd93254e2dc1afde3ec297be7b9a5767dbecde31c8a52587af3c3fcf155315b6960d1e7a65915cb9c8ced13cafbc368b953199752c9e79f91cf75c33c29e810c3f3ed7e2e2ad152edd52e23f7df910b684f75c3fca72c3e183378ff1c70f9fe423b78e53ca9bba72091df5d5b084fe91b61ae573d9c4d3c02d5d8b6903e4c795f3ebb25828b0bcbc14fd4e2e6b72f555efe2a1afbdc4fff1af5f60f89fdaf08f701bdc656952abc1d140bffb77ec588e871fb88cbbee7a87eb5b47f8d6526ce931623ca9a0c100e1e8ad872f8ffb16f1e5e93b0e21dab18346e5839e8aada7789f3b443a986b3104a77a8415e1354aa5c9f576370bcf495a94bc72295f9a847c8ec6a77ed1050d21108e9657d0fbc33a12d25b420e3630ca68fee17c58030815583e484d96163350af327d2f85505e7dc8161081484f4cf27b3ce1fd4fe3c5efc88e01d2c6b16d9af526db37f772fcdc12ffedfbe7d93d55e2d503e73963c0db7e668cfd5b0bfcc61ffd8405cb223fd7c06a97181cc9f3cecb7af9a36f9ce1c63dbdfcd29bc768b524e3a3359e7a758167db0eb7bda997b1c11c938339bef8e434ed668313e79690f6203856b0054c25748cea4f2c2dbed8df89bac0b411f246527f7a552a9568349be4f339cd9daee0031fb89b66cbe63ffcfbffcac52f2fb8b57d1af8b3f565f3c20ba3dc7efbaf71cf3db7d368b85b077c5f447e03d67f201c91755d935655f48a37094cbe6b499d7f8419a9389b884a707589058314abf10bcd995eace10a92bc00a615e1492aab598951f553eb20e54ead4bad522f291458888eed1d6b69daaf48b9de5126a0905842b27f7785f75d33c017be37cd4aa5c23b2e2f73aa0e7b26726ccec37fffc119e6cf97b9eb8a1e1e3b56a7279f63bcd760b062d25330182c19141c87cf3d7a9abd53259e39b4c4cc729bad9b05c34583079e9de6ed570e60369afcde4327596e3afce8f5052edd52e2e0993ad7efac6018c130b0be3a59e55caf87ee546e0394cf5991a91c42303b3bcbf2f2329353dbe9ededa5d9748311d8b6c3e9333338fe23b0d79f4f2663303131442693219bcd72fad4490c4390cfe589efd5f5c753e810e2093af78055fb9b6649c46e57fe74d0e7d4802689009ac9eef146a447f8a39aaf568ea4cee9d0138ee5d13a5ae3b68e7985f5ed9e853a86f52531a81dfa16a387ffd0db792d02f95159fa47c210445cd176c0c6f7c7355a12db51940b262b0d1bc33471da3667176df25983b15e8bd3736d321983e18ac599f9164d473158ce90cd080a19836addc1548ad99ac3785f86996a9b3682f1fe1c96949c9a6fd257ce206dc97c5351cc1a580694f326cb0d8781b285eede395986649a4a4ce90461bc560574a7723f05254384f7542ad46a356ab515848056335c081fec2f75eaf5ab93725dac1886412693a5d56a512c14628122fd68b7defa887b11f05fb9c632167ad7813496e4a5a893b038b8045d52039ba80015c808822a8998dd1733d6fcbbdc7268c8a919402afdb6a01be89323233139d24ee30274908a65addb56d1a710072bcfc61206c28fc48b0e4251288b536887a4379c7cc14b57825229e34e2ff3597a7a0896e526c7f3ae14055bc7736eae2ac00afabd0f157afa4029c5e6421e4118b977723c1768d0afe5ad14e4f3c49cc225f5152420b7036778e64bec02d306c830a2811b0590cf17d834b189955a2d12223c95746488b375b089eb6a856c364b2e974b84d74e068a4c4ec744875e1c7e119eb48c822bde328b80d0af50f0dfe3150261a49459e9879e5704855b8678c414153d3482a3243069450b40225aa5dab43081941d9e8e2f5bab0fa1a5856fcde2b01d553ff80e4d19eef77166d6cd51a4c08c4a11909e4de7798f9f1cd1313aad0fbfcd8bf2ebb2b4a1cd2daf979668924abbb6868e89f1c9bfde01d3fc21b00b4c1ba0a5a565a463a77674bf01aeab9145867def44a4f078c7b2d562bed55c6d204dde97aa4c52ef046f24324998ac878e8a97ab5364df203ffc498f7b63477605e9111fb5ca58ab0e2e945693e7f750bd37c5bf9e0f7a77785d61a05a2d943089afebc56f8b1ea7a195dfcb3b8d681df45fad8edec0b4c0360a744c69c87af9e26b6e3110eb02d306a85ca96099beaf5bef62d02e55e04bc7308cb09d6aa352c47a21e5d8630cfa83967738578f3edb402e5ab310b173bd3f8b558041a7b52cbb4e401a67f786ef88a3b24ef72b0fc0748c8cb3c5b1c9c70abdfee27d5997114b4b1d27d0b048cb8318af5e8ea058cafd867bae3ac2d9fcd59d23ebc6a993f514a40715f4c6d06a7ae903e685a6d1496eec1eafa12aa522edb10b4c1ba06c2643369b89f404c7b6a92e55a9d71bf84dd6f0dc9dc69abc2725deb43bf56af7ba520ac3100c0e0e6159698f2d941baa9594af7bf9588f85b3a655b21eeb0dbf0deba3eaea7946a31847cbe19e891068132811abeb7888f0149961c649d04faaa9c2fc7d432a82946e9a5412b36f3be6d0c56fac75f70f80bac0b4010abc122a179016161650d2a1d56ad13f3044b952a1565b71bd066c34136d60344d9352a9c4d933a769b59a9886fb457dfa44c78fa612689b48031f53d3c0d13f1461a70bd23a98478945504d962fc7dbf019ddb0d9499e2b330a2f6139fc73bd2c71f5d3caed196d1d658a14999d0d8ad0fd4c44ae7f02ae474dffa5c41b65e1fc03a12e306d80fc1861524a66676731ac0caf9e5962a9bac02d0383b4db6d8ac5128661e0384e6cf4bf3072a388489acd2678f1d8dc694ed8b5421f6761d712f1346f1e920e4369faa994fe14e75beb5c93935a07abdc1f71ed929c62a5385888f0ebe5f6dd10c7e5f97c3a18c5ed5a5d6e647a9c92bf8a4db3e21e46bbb47eea02d306c81dd05d27f3ad56934aa9973ffcf23769accc73e315170190c964989f9f677a7a7addc014e7935292c964989a9a7201ce7368af7bb1d4d73dc2694eb4b3855ac78e626aadb5bcf1d3f1a8b48b017fe27264f7b5f713634cde130a8cd74982ad833aabf2faf9c78cbb68a63a30754169a3d405a60b243720a164656599f9f9791a8d26bdfd0e2383bd1c5e5e08f8a4949c3871828b2eba08c70be79c162143273d0e996ddbe472398e1f3fceb163c7181d1df5b9dc294270538a9c0b2d937f4f6c5d35be228608bf5a499b8cf979c7c1317a9c842bfd4a6425691d06596a592fa44ed62db3132aea6815bb45dbf3d5a50ba32e306d8066676769361b0c0e0ed2db0b59cb6062b88f23274e043cee62b541a3d1e0ab0f3cc0f8f8388d95155aad16a699088119dc032ef81d387080db6ebb8d9d3b7772fcf871464646029ece530481655aae5f7ec06edb317b21dab974834401cb2b2b140b45cf2f4f12641a8d06994c06c330b14c0bc370c374db9a17c7f8d42b4d0e4479d3b40b802905c78561621906528561b53bf12672d5f80cafa21c25dd282fca5db08e28a72f964714ee0c48c11d6af5f42e75a62e305d2029a5302d8bed9b2fc2c8e43972e63c83469b918132b95c2ec26b1806ad568ba5a525765d7209bd2323bcfae28bbcfe939f04a1a23b51b55a65717131b246e54f21230d5e7befada4e491c71ee3fcf9f36432196ebffd760607060090d2b5da94b7a8127c3ea214c230908ecd733f7e8e7dfbaea6e8b9dd752d3d03d370639afdf5bdf771fb1db7333535c9f7beff3d4e9c38c1c0d814d7eedb4b6f2983c08d242b3c7ee9394f334d23d05b08230815641926527a0ed63c7da4f7f6513a12898cc5b777b72e9e7aed059e79e9750637ed60df157bc8653348e9b8402340e0e6ef87bb360c33785961984610d4f1e4a99338b6c3d4b6290e1d3a4c3e9f636262139e225ed86ed7b5ae5b4fae1c378a490a122aa2fb0bbae6d286a90b4c1b20c7b1692b83ff7e70964333cbbc75d4607cd08fc41bf21986816118cccecc70e4c811f6df7a2b7333333cfee8a3b45b2da0f32b7ba514ed769be5e5e5c4f5c854cebde8fea0e8e9a9f0df3effd7dc75d7dbb10cc5e1832f335d6db16dc74ee64f1f453a36b9720fcdea1ccb32c7707f0fe7ce9d656ceb4e2627273977e60c8da579969c1cbbf7ec6671f634c78e9f60eb8e8b999d9ba3d56aa194e2c107bfced5575dc6138f3e40d6cab263eb000bd3e7d83cb59dd999b39c5f68b2ebe28bb15a0b1c387c1a335f61b027c7cadc347d23e318a6c5ebaf1f62626a27595aaccc9e65c9c9313ce0ea33ba65079b467a011716a8719e0000200049444154ccfc05f466a3c667feec730cedb912e42bac6c1fe7dcca0a1313139c3b7b9e56ab457d618665dbe0a2dd7bc8d8555e3d7894ded12d540a19e64e1da17f74139bb76ce1f9e75fa05eafb373d74e9e7cf24986474628674d5e39f83a95de3eb66d19e3d50387c8f58d32dcdfc3f4f1d7a90c0cb369cb9694f5a3e4a255c4354c972e88bac0b4016a361ad496ab2843b02c2caaed369b862a940bf9c8d4c9300ca494142a155aad16bfffbbbfcb81975fa6b6b212782180d00af2e3d72ba5585858e0ce3bef0ca72a3ef9ebab919dc7de1410d8b76f1f3b77fc1d37dd7413670f1fe44f3ef7d7d8c260cbce6b79ede527b8f38e3b78fdb583384a216493b956819d2359ce3ffe1ca63dcfd25295be817e5af53ae766ee60a8d0e6a1071fc4296ea56cd97ee6b45a4d5e7ae915daa2c8c0d0009ff9dc5f52acf471f3e23cdffcde93e48b399e7de928959543cc983d1c7df5058647269859acf2cb9ffc38f5a545bef1d0d7a819c3f4151560931136d38d1cbbc7f39cfdceb3fccb5fff24a03875fc38866132313181699aecbde2625e3d7d86f3995db4a4c9e73ef797fce6bff8173cfcf0373879f2040b2b75b68ef4f2cc4bc7c9cdbdcc8b67e67128b375cb38a74f1de1973ef1f1a831e36dee3384e0812fddc7632f1ce2ed6f790b2f7df7119e7cfd146d27cbaedd7b78f527cff2e98f7f8c4d9bb768566b7caa18eeb188bca4e8d20551d7b5ee0592108272b942637989cb864b0cf414500246fb8a6e88f098c5649a268f7df39bfc2fbffaabfced17bec0b973e7b866ff7eeeb8fb6e6eb8e5166cc761767696d9d959ce9d3bc7a953a73878f020c78e1dc3b6edc4942f0031bc5f2951d20736775da9dd6ee3d836a74e9de3b5a367c8174af45875060606b9ebeebbc966b3bceded7773ebcdb73235d6c7873ef2091af3c76936ea80e0aebbeee1969b6ee4f5e7bfc7b71ff9066de970f4a5efd06ad491d28dea522814b9fb1defe49ffcca2fb367fb268430b8e79e7bb01d41696082db6eba8eb3475ee7c4d92ab7dc762b9363155aad36fbf7dfc8d4e64d3cf2e057693992632f7f97667d85b7beed2e6ebfed0eb68e54f8d0473e49ab7a0adbb669b55a7ceb5b7fc7e38f3f8e741c240643bbafe5adb7dfc8a1e7bfcbf4b9f338ad16474f9d64e6cc216cdb61eca24bd87ffd559c3b7a981fbff81ab5360c14c1940d6ebae91676efd983edd80ce44c4e9c99e1f8a9e3cc9c3d8391ede3caabafe6a2f13e5e3f7a9ee75f7a9dc5ba4d5f51909135aed9772d7bafba0a29a5ab5bb345abd574d7f2fcc102197cb6d3b598364e5d8b690394c958cccf57991896dc34b84c66f604c832437da5e852b30728ed568b46bd8e659a9896c5334f3f4da158743767cecf53afd7711c778366a3d1607979994c26136c49d02900a4789357027f4166e7ae9d5896c5de6bf7f2fee953bc766a9efe815e4ae5dd18cae1a26ddb18ec29b36209766d9f4408933d17ef092cbcbe7211650fb1fda2ed9c3b7e18540f639b77323ad843b158442ac925975cccd4d4247dbd1540b17bc74ecab90ca397ede127075fe2fe6ffe805beff9592a4b0779e06feee3b543f3ecdf7f3d93e323082118191a44b68b5c3bb68d4dc3bd0cf55668b572ecdabe0d210cf6ecd903402e9be5939ffc0428703cffe14ba70ff2e8f32f33beeb2a2626c6b879ef0ebef8375f416487e92b389c7df909be35bf8d5bde710ffdcd8bf9e6f79ec3cce4989cdcc2e6d1211cbb8d2325975e7919878ebdce7ff9a33f616c6a0f975cba87a7befb2dea6d839d9b36f1ce1b2fe2e16f3f45d3864d9b27e8e9e9c169b741c0d9336799999dc53004fd7dfd6cd9bac51d20f4e794f666b14beba2ae3fa60d503e67b1b8304fa9dc4bd938c6b9437f07633fcff75e99e1adfb26a9547ac8e7f31c3b768c72b9cc873ef4219e7efa692a950ad96c16d334dd10e3de1a94949276bb4dabd5a2d96c52abd5504af13bbff33becdfbf9f56abc5ae5dbb585c5c206399e47379d2de6905133a6f76e14e0ba5fbed9ee17f2213ac954716953b9292384a611866b08b3a7587b727c75f50974a6165329c387e9cbff88b7b31ca137ce2231f647ca0e0869f021c47b97ead5276a0a7edbcd6ec461c29314c0bdf0ba62325d96c96c71e7b0c43086ebef966a49fe6382894fbe60dcde988e799d295e596cf91ae574bc334dcc57cc7412ae5bd00f06a401058457e75c7432bb9ebe792f98545f2f962e7faed529cbafe98364a4a41a95466697989bed14d64b2151c21991aeb8df0f98bdff97c9e52a944a552219fcf93c964c864324143f7ada566b3195c6fb7db0821926fefbcb58de88e01054260da3364eca3245fcceb2feec33481883a35102970e7dd12d9efd869bb35319e164cf6dafcb35fbc815cbe403ef712c4020ba7e61b299c0e5af16bb1e3b6e0f6abdcf85966ede998c0b47bd621b3d367333a2a2995c2e7825745e468b3872e5d1875816923a414a669d06e3569a9618afdbba8da2d360f4581c90714cbb2c866b364b359f2f93cb95c8e6c36eb791f50388e836559c1c277bbdd0e64c4a772a0f75bad432885342ab432db359bc0e748032611ed6310ed5ba99976e04b9baef83c1928165c9eb67f3d6d0353429eeee53a5cdcd7cb1375bae691e59e3b1df8e2324315d2d303477cc4dd9ea58054ac32a454d41bcd6e27db0075eb6c03a470f7e0e4b219161617191edc49f5c46be48bfd5ac3c5f33c99e1baebae636c6c8c52a9442e972393c94480c8711c9acd66f057abd568b7db0c0d0dd16eb723de04827d4cc128ed870a52283220faf03b89125ac75504d7134020a28769b8a156e349db0499c6e3abbc167f6085782791fe1f2b4b708f4a01d894b207a4cd157d933072b32211da44d7854e3a86a55686c256d56e27db0075eb6c23a44029493e9fa7babcccf0e00499e290eb3c4edbd5dd6c3629168bfcc66ffc068ee3e0380eb6edbd35f3ce1dc709def248298363ff7aad56239bcd06192b703728e2ff853a252025e8abb1359c8485a3528ed252d3ced3a06c9535df0e3e7c565d23d681a5d3eb77d5e1b82375022da9a5a5aca575921d29977b9fbb8bbcbbfabd11ea02d3064879467d369bc3346ad41a0e56718c46bd4136ebeefef6f7293dfffcf3c1a273b3d9c4344d7a7b7b13c0e4380ed56a955aad16792327a564dbb66dde422de134a7c37247278da3bfab73c565aa18836e482403f5ac451beda82960b64a1d8469fe2219b13a5a0dc9d2eb2b520ff1faf637b90ac2e0a45d4cda3075816903e437482104b96c96c58505fa070658985fa0502c0569939393944a25eaf53af57a9db9b9394cd3a452a9b8412bb58d958d4603cbb2b02c8b4aa5c2d8d818a669522e9719181848ec008ff48af80c23c692d6a156ed642959a4e5b3ea52534a5e1df93b2c79c5f349cca856a983d09d8908ce53f58ceb9ab65c14af9fb4faea304beed2c6a80b4c1ba120222ce4f379e617163c8f006df4666f9a26a3a3a3341a0d8e1f3fcefefdfb314d93b9b93984106432ee1ba466b3896ddbecdebd9be1e161ce9e3d4bbbdd667272329015ecf4f6778cc77b69ccac490510b19e6bf11ea6a2d7438d82c961ead2514a0fedc8dfa9376bcb3c015be45c939612635bf35b99b81e49d165ae82bcc26748b3848267102a2d447afe5d5a9bbac0b441f29b9b65b9d3aea56ab5a3ff9d56ab45b55aa55eaf93c964c8e572349b4d969797838f744ba512a66952afd7595959616666862d5bb604d3408048f0c8642f0d0f3a991cdaa18e63d1a959a7924629703c17010f91c8cbc5d31092a2809008b11971ea9644a5348d44f8dbc98c5947999253c055b83b81ee5a665c97d64d5d60da004542840be8a9f4505d5a723f364da14aa5c2e0e020cf3cf30cf97c9e9e1e7703a6ef9f494a49a3d1e0ecd9b3cccece62db36d75e7b6d1494002fee919777b40705d310fc913aaa71acfb87d6861ea32ea543c63b6a6818a8d082f064871d33bc4908fd25bb885815be0e9150541d3b72bc0c5e7d74a8834ee01224ab102c2332522345a41feae350aadedd35a60d5317983642fe94ca6b78f9429e5abde63a8333cc84bf252104dbb66da3bfbf9f93274f323d3d4da3d18838860337d4f8d4d4145bb76ea5542a4564589645104d4e08447c97a388763efdad7a742aa64f70346ba35351e349228107a1b45800ccc42450290dbc44ccc2882da3eb33b4a01cbeeee16f42b78e05f17e62d32d223275900c25a54e66e379254cd135f4e9d2aad405a60d90ee19005c8770966952ad56191b1f2797cbb1bcbc1cdb1c29b02c8bc9c949b66eddaaf95572d3fca825fe272ad56a35b83393c9502c165998376279eb949c93e9d33ebdbf18b8d15ba27d68bd5dc85bebf28124f2a64ec455703b7c504c117186178fe464e8325366687ab18d84beabace2eb14e89e0c14e1e79fb0aee8503f82a8d19500ecaec9b451ea02d346c89f8618e03b6aebedeba3ddb6999b9d657979d9fdeaff8dca0e108641a35ea7a7a787780824f763517d3a129d1a2517a7532c80f49e45a4c32b221e34237a78c01ab73754042f358b44847a46fb72aa4916c8884ddc627cc939e75acbcfa263ba480d2baed2cee285f67fa5e830c7ebd25ad405a60d9342697bf10c21181a1aa2d56e79de0e53aab653df8f8aed483d3d152ccb22fe894670b28ab8685f0f3389ae21453fd608e5abc050f2dd7bb8692ab8577800ad070f57ba900028949653c810294bdcf251be9ec25f4dd7b875292a728f9fef6a034462354ec3f8b06adcf2ebd77509090bcb034415fcebd2855217983640cbcbcbc8b803b7b548ef79d15ee89dc72fae45f14947daf14664adc5a93435c345a0e41ba90ef747d699d6ab5b1aff2ad6dd1b46eb91d78947d1f513b771ea02d3066864648c7c3ebb0a472af2c4ce61f5861fef9089b19d74a44b5b21b910993f2dad86beebe55d4b97d5ea72b53ae9747f27f4889bb89d56a03aebd768b4989b9bef20bf4b9da80b4c1b2077e1762de79ff1069bd680d75afdb890fb3792dfff88f58fd574fa69783bdd17bfb61e9917520f9de4ad7d8fef2ab94b174e5d60da009d3f5f45259c12752942173a33fdff1d09a46a32d05f0abc487469fdd405a60dd0f2729d5653fe1406c71bbd16f2ff3e5996c1e8681fd98c95c01fa514b3734b2c2fb93ec4ffa19261daf4f575bd576e84bac0b401ca64ba311c001a8d26fd0325acd886d2f9f925ec769b6c363db0e7df0ffa694d3e811217f882a44b0175816903649a826e80193732efb9b373f4f5572815f3b4db36d56a8df9f9254c5378f5f4f797e27ebc2ff0661cf9f7bbfcff5f9295f81eab4b6b52262330cd30065cf09e26ed6557f846dd3f0df6f704feb4fd7b44c813df1ce86fe389bcadd7f3409313cb4bdba614cd4bfb4dddb1a0eb9ec60fd8b6cdecec028e5da6566bd26cb4028bb2d3fbab54fd3bd451a43cfe3ea20e654cbb27a89bb41771fe3388cb48919daa770aafae6bcb3683ddfcdd35a60b23eb9147bec1ff4ceb007f1f565fd6dbc8d62a4ba7ceb09e7bd79b87cee7cb8fdf93f642bcd36683555f8e2b52373afff43bae2ee00e1f387d104bdcb10e59222d255673713015715e90ca2197cd7a515a3ae9b10e4adbf17141147551b3ba8c64e25af72436fcae43477d336ca40f7807d69ffee99f86a9291ae9564064c44a7d78a92292f57a01f76bba26f98384582e1df6dea9b04d856cab6d474993b59edeb4560fbe10e4ed50960b96b31eb93fadec0b1d553af00bdd63817b21d0cbdb60eef108fc64bf41f9d62622e4f165f86ce8e784df29eaf907f76adff4f99f220991cc3ff8bc26f2eb9623224bd3c1ffa4274c4fd44450263db0825f3e7d800cfa9516733048f701d40bc019c8f0cffda8c2dee7462148688155bd735f6e204fffe653e1f17b9aa6e61f5e0fd50fef4129941058ed762b865d7e09d30cf1f51ab67159eb4d5b2b4f5db70b31acd7abdf6ab64227d91bc92b4df65a3c22b81a777992d4317e7f3c3d3daf683c92b5ee5d2ddf4ecf7c7dc3bd1046688e04ee51a2faea1f33eb3bc945282400812840f9c93a184465e98011e4a3815de43aa13c1d94f4ef0823d763f7a4fe6a565970ae5541606d043f7a47d73bbe8a8245000c81a00830e9df41faf7fbd7c290e8da3d320cea19051e4d2680542e90ca200c680872fa71e8b7074b86b015963472ecd7884ce1e9644aa8185f9cdf4d0f1717e3df4af9140f5d1407a5f534f4b578562b7f1a80a4c9bb903cb473ffdbaf54fe4e65751ba9df2004686b43315909af8ebaacb86c6f4416043aad2a7bd532af95b61648c93063e595232e437931f1347009fe078a135a519df822e0a4a58be8f5c0d58a0f4e3af004968dfeabf923d0c1cf4fd774f0e3fbf9fc11200d10d12bb98a0f2b3e38687ba53c8090d20d762a95d4a2eb68c006a9601454b17e4dc5f2d465792afac09326270a40da73f4eb57189141c172236ea09556e08602f22fc71a85deae8295c3f09eb4f7185ab38f5dd79417c9f490517b1a8495a4e3461446d26d8aa4566b5118512ccc50e9c9299de602283128a4755815498e7cabe6d75b2715b4512e4a8208e87be508dba70b9871d92e9bc25f854fafe38eca68cf6db53a73a307affdfcd66381f9ad2eea8c2e5dcfb04c4a2aa474a21d28d07d75ad2e9c44ac286efdea634abca4ba067eb465c330314d37d2b04221bd883caef522235652a20c29fd494f5a73b963154a1bde23627ceb13b02cd38df82c0456e09c4386b7c6eb29f56d93d7e6fdc7193e5622cf31407aaf803ee206516063f23a165eeb63012e46464e4d5f5d5d1113a9920fb9530300ff31133ed8a8951d7a18882607c294761c1d41d3f30ad4d45a848ec9ee8f37d2806b5cf83c423b562af20c02156360aa8f31fab3a1836cf77a285b07af4833f1eb2932d2860c698d55c512559c57e8fa8b48bdc4870e21f40477ddc22fbfd065c594525ef82ca5a07f70844c3613b11810e07b114d3cc178074e6d80fa5a92d02f933c11a1b2c14fe8f7d32fd0c2cc391ab525cae53256c6423a0eb5560b84c1c0d008a6698465100460b021a409acc274fda3c3b8772ca2fa87a57055928ec3dcf953b4db4d2c0b0cc3c452ca379b7d36229f5b84a3688cfc07ee9f2a1d9a524c99182028df5c8f3fdf445e7a4b8ab2e8e662f456ad85a874f575140c4d5911932102f740d1797d58d161a35da5ce3437aecad329d2113d613a573caf481984ff9cc21c554afde80a4564c7468d00f3bdce1c35b5595376ca61ac7d24612851cff17bb57611d866e1838fb0e979c758c2ab713d23650c1ba81b4a4bd23f34c27537dfc6e8c426c0756b1392665df9eb3052125d1689d647e80c796d3070976fbc699894389e4e8e74b06dd712b26d9b56dba6dd6e912d14387de420b95c9672b94cbbdda6d56ad33b38c2fedbdf4c4f4f6f6c7d2bacb5b00c122975e785f1328406cbfacaa03cddfd29a5832325b62303fd6ddba66ddb34ea754ccbe4ecf143d88e8d25c052124273497fcce9dd39a66d878bb12693120c30d9d257cb4f905c6ff2e524436827754ab385dc74d5f12c1491763ddac1c3bc92de79e2d2556a6a671d525eac6a409a8eeaf1eb11b8eb9c5f5a675d53b64e9dcb9e7eeecb4aaff7244fb27d46ef4cb7795d4a6b27c9343fc69f99c952aaf4d03f38044204538c503d0552215518ff4f796b39ba9e9137d97a522ab98952292fe6a0ab8b1d044ab5316c1bda6d64cbc6b2da884c162b9303048542818181011a8d06d5ea12563647a5b79fbec1410c61200c432b43b8202e95f4a6af6e395c3b409f2910790c413162c6a05e3cbf5e42fd1dda5e199a6d1b5a6d64dbc6cad8643130335917d8a583320ccf628a884efc249e77c45f979fa49db856ae6e1678a38508b83dcf86dac897d69efc3e18db05276237a4dd1f2c262a50dafdc24b4b14cdd75bcb47a1d29c29462b433b131df28adfae4f27c2a7a93ff174d2ddc1eaf5e74e67a5a6bb8a2cffb14639e24346a4427dd9dea9d036ef24440a45ac5f46cba862458e3dd7006f3d657c7b2e6c6ba180c813885bb5fe65a10d2082481b719f8b8a5956203db011c2c0b61d9aad361826864102987c6b494a89928ebb2e850ab70528850f7a86b7982e1d374fc370a7520a852104b6a34018486520a5f2ac0b179cdab683ed48dab6a4dd56d88e4062a24c81c004c3402a45b15060707090959515ce9c3d074204d693304cf72f62f94950ae2523940bcaee42b90f4e0253784029bde7200c4f7fb7167c69a629f03d490b018ee382b41fd4b5654b5ab6a4d99634db0a5b0a94b0c03410960342b88be75efd5be1aa7c1ac55b8c3ff551a49adffea14a5e8b5c4f394fa89036587bc72a7e2df57ead1bc7f3899cebe54a0a4ccb2b201165d0a73cfabd31084dcaed54d624646850a2f9d28ef7547d7d49a5e417d3254d361d642b15d529555d1d9d62658c9ca6f105798af46a51f13a49f2fad7e3cf33e2e53b0e6e419d4a502eb8b41d8766cb06cb0312c3086e54caed404a499494a06c06fb7ac95816e767ce035029f7323ad88f42313bbf40757991f1e131f2b93c738b8bd45b2d86fbfa3879ee3c939bc63871769a46b3852d058e23b11de5fd42db01290da400651a08432194428976f00542a158646060906c264b26934120dca952dbc63005c274ddf5b860ad307137808e8f0e70fcf469a4b2c1c8b0757c1342081a8d2667a7cfd253e965a0af9746b3c5b1d3673185a26dc3f8f03095720921e0e499f3f4568a2860b956677cb88fa5951a7d3d1594522cd79bbc7ae4042d148e10609908a51028846d7b75efd7a772dfcae9efe0f487e4fec69b4727d3daa7847db08aec34def8b42fd939a3bc69c76bf1a4e9d7e9fa2af97644ad4e664327be4ef59796de01f53bd26ae5e8c4bb1ed99de4a6c9893f9bf8944cab4fa1f3ada66fa736ba96ce9ddb9c6f0549cf24b01d8746ab85908009783eb8a4bf1e23258e9218484cd566fb96cd0cf4947964e634a695e7ce1bf6f1c2c143380a6ebbee6a9e3b70982b775fc4b77ff43cf97c8181fe017ee6f23d1c3c7e1a21e0d563a7a8376dda52603bdeda92978f5b4481f1ff94766e4d72dcd61dff01dd33b3bb5c7149714991a642898e145d2c4b5129659713a5a2942a5579f457c85bbe535ef2e8a49237552a5589cb624a8962ba68258c54146d5d685e96cbabb497d999e96e007ec0eda0a7774955fa612e68e0e09c83833f8083836e15c0517970b1aef2715fce31994cd8d8380e386aef45a6693b164d8baa151840d93003b58c54c7898d0dde7dfb87fcc3bd6dbacef0e337dea2ae2b3efbf206efbdf3169f5c9ff0f62b7fc82f3ffd0d7bb38ef5f567d8db7bc8898d4ddefbd1db5cba7295e79f3bcd85736731d6b1685aaeff6e8b3f7fe74dfef1df3ee2a5674ff24717cef3cf3fffcfb44cd0daf3eba7b0ce2f339516715396da84f9979fe2d9d4d794ff28971dc41986bf94b899e727e5843adb59d9b9fae10162e52bfecb91dfa5b362b964c81b975d94fca6794cd1bf1dcb7dbf982b2c8fde7d191d69c976e89249048ba5ed2d5120d7d5eb54fdfba5a4699eea507ec44ce506c8a8c0732177a9449776b83268c432997659264ef3fd83d0dc92de7cd52ecf4ac2d232bf67a068440a85877c29962ad99de741850e1a8d3ae5efab2030b5049f41174e24269d3ac272c2d2b61d3bbbfb30d9817a8cab4638159759c67f0787eeb8b2ac8d2cd3d98cd5c9186b1658a7595b59e1d6f66dacb5fce487af33aa472cda963b776f609de1f4e6054e9f3cced6c36ff8d9bffe3bd674eccc2c8b8eb0a912658cb626d2009cc519c36cbea04bfd58a3c3726bb168f866678fb9aba09ee0748d43619c4539cbfad8321eafd0741d07f3039c997b9eef6db375ef068bf6754675cdca64c4d683c7bcf1d20b5cbf7193f9e200632c0ac59d7b37d1caf2fc9937b8f7f85ba6b3058f77f7e98c613a7dc8ddfbeb9c3d75929b777e47672c7bfb5e7752ae6e3e63b16892afcbd8b094f38d920121892eede7b041c965f8581adf03b01d3961883f7b83ea60f64378886064639db014a6b32c50623177a0786b6092a2029846df4e74cdb9426143185c32adfa752d0913aa4f750912c56e5ccfa37288c29cbc15e588e4921c2ec95cbae88765f0497d5e042c489e45e5ceaa340e0cca3e30014af88e94a547e0309b11a8d4df699479648a773c5b7efbd5d76c1d28461b9bd8d12ab69a60940e3b641db6336127cb707cb56273bde2fbcfbf48a535bfb8720dd4989fbeff3ebfbe7603630d7ffdee01d7bebec9996737f8f0cae73c7be2042f2e5679f8ed1e8fbfddc55acdcf2f5f65f7a0637fd679d02f80290e8a4e30edc01a9aed2f19cff758cc17eceeecb0bfbfcf743ae5cbeddbdc3e00bdb6811dad61aa311645670cb5b29c3b31e2e50b17f8e95ffe291f5ffd82bdfd1d5e7be94d6ede7dc82f7e758dbffac97b5cfbea26afbc709e0f7f75953f7beb550e66737efdd975ce9c9ef3fe8fdfe1a34f7ecb9ffca0e6e2f9e7b9b1750f6b1dd7bfbecd37bb532effdf759c1df3f2850bfcf7ff5ce360be60fbf14c0053b08b664ebbfd05ab66c1645481b354a736376be06f80f3838d7bc425178183cd7e540f1c2af85d2a3f8ce477a47368f665fbcd1d60a0537c97fa9e2acf21751dee0f5ca631bc9b287ef700e069455986ae216595df721773b89ea319f87f99c611836affb2c1e93cb79aae5e6341cdc2681656d17696aeed306d87e93a6cd762bb16650d1acbb19535ce9c3cc1f16327f8ead63dbeba7587d72e5ee4dce6261f5db9caa5cb57585f3dc68573df633e6bd97ef088d9bce1effee95f78f78f7fc0ff5ebfc1ceee1e4dd361bb0e6b0cce189cf133236bbc3f2b3a89b10e6b1ccdce034666c699cd67198fc7ececee70ebf61d1eedcfe946c798594d63348d85b635b46d8b35861a8b46f1bdcd53acafadd3b4f0e1e54f78fdfb2f7076f30cdbf71ff1c187ffc183c7bbbcf9f2453a63f8e5d5cfd9be7f8fadfbdf001517cf9fe7d4c6061f5cfa2fae7c7a8d17cf9de5dca9937c70e9636e6fdd016a8cb17cfcc9a71ccc5aa6b3c6cb2365e83a9add078c5c4b5da93b4aabbf57afbcfaea0ab84bc08f7cd30cf90c9ea6a59fe4cb91f7fad3a821bfca51f51ee57b1aaaefa8fb9286946ba88e27c97d143f4faaabcfefd3d675980e9f947f88f651e524ed27f91165bec3e41cfadfcff7a4eb696ca0cf4fbf6c59de1843d3344c99a04ffe01d5339be8c91aaa9ef8e5abb538dbe1acf1be1f6ba8351c5bd18c6b45ad355aab30d375e135ef0aad1c2be39ae9acc32985567199aaa8b462b6c8bb564d6b7af144c54bd68110a4a91458c7fed6e74ce68f78ede58b3cf7dc59e6b319bff9e24bb6f65a46a75ea43a76023d59837aec2759d6a031ac8d15935a512b47a521ed223aefecb7ceb136a9693a1f73d8853824ad551ac82623ff48b751a5a96bcda2b158c059cba8d6cce61d6de71f95103e78000008ea4944415498376f0c8b268726791934ae5db07fe71a6bdd2e935175b9aeabbfa89db52556f4c6c3fc3ae6bc159c5574d8a8290f01f48f2e1c3d8df253fd347f67c8786500627ed77cacb52c3314e287236c17e7b543e4371f2474cb662cfc5c390cc0957970bdba82cf463839525d4217f9768c5296feacd247e28a5726458a2163e01db20fa82ff732ed28944bfe9db8ad9c69071a4abe4d574c8154fe11dbd005269590b30c151f068ba2cdfaf2a72b6850aca5e559b77ebbe4b6cea9d9c6b31cf1e4bc529abaaaa9ab1ae56305427d360554e2fc728eceb298295cad3175d09bf3757a5cf25be9bbb6f1bb7b914f9797ea16e83a87b58e2ae83972571c3416e7f4fc4b571da3d567d0dd2efb7bfb68759fa669689ad6bf21ba1e51555590c10ba9f1fc2fe616a71de33ae82304588648069c53ecef35e8ca83a773d01a4bd75994d28c471adb7aa0990637aa3f1603c6785f910ab218ebb046535731962ac8a03c008e56d751d3fdb4f95047170388d817476e4ae51de2d9671015669703b7259ee0880ff05bf229a83e0eba4c36d611bda5614ded5470f626e3139d420455d92cc0e00029eb95efca55210627888e0a80127d282a58900dbca5971a1644bd60c9114f36fa70c03ad0cf0a712a8394f483280796b2ae5455a8c31f0d51825eae446eebe76554380ae472b948cb39151cd62ad34e289cdb0d115e52cc39d240586ed3bbd066ca5b7a01cb49574ae851349b68fee56351a5b10a8b8874cb19a0a37c467b1025d52d65d14aa19dc12ca65edf550ddaef7ea9aaa21e4da8c61374b592002b5e5da4ae3d80981471edc1cd0a90896d1ffbda0818c5b60d3b5438176667066b3a6cbbf04190ba4ae0351a4f500aa60753daaef3418d5d8b763566b68bed1a545d43d8fdd2754d359a508f27a86a441b3b44d08f014f5b69d4088c52d8f05fa318a7fb8aae38daa2e8622b041f5994415983361d2ec8e01ca84a7bbd68188dc7a88340d6919ddf657782e8384da3d652f33b912eada907423d23965821cf0f4b7bb3454fcc5c495e8ba73fc67a8b8ae52546f95897a2c0afa2b339d2ac24938f3b4b2ed7253b4b428c3c17927545bdc46c565096fca55417df8aeb72c78c0ee72c56e05704363ad966916ea6ede5c84193b95c0e647481483e412e684b5b7065f71713af251b489c275d089e020ffda7654a9b90c025afe2010a0556b95ea632a9a827d61fee68a518db05cdde3dccb48a4d84ae468cd6d6196d9c66757d85d1eaaa07ad12a203e8e8303bf201902a9eaf531ea0e45935170fed0284b8281b81c874d8b6c5b473baaea169f6b08b9907a6f864cc9ddb68b360b170344d1b62810c63d3d2ecdecde8ab14ba1e531d3bcee4e46956266bd42bab9e96904129e5878f102d1ef98fc01641a92f43e8a4850cc61a5cd7619b055ddbd1b50bcc6217db2ebcee94c69906b5b345e57c5c86710ebf944318a468b0d8c87ee64432c4a1032c88c6edefc8c83e6c65420f0ce4e5ebf58956818a07472320151d30d3cbc0a7848196a014c121d2e9b1b304944e7c17acc648d7c8690f0412bba22e991e7fc868f1f8ed7701336039a9f4c33aa0d4872428cae408693193128217bb6d79dab7bccb2969130699be228bba731ba499aacc27f53b603f43f9d3571f0887aea10caea49d015651d715956d71b6c9e5ed0c76766976efd2de0ad2f4e51dba86f208f055324df09ad5b9ac2f192251015a6bacf5be9ca8bf4ac3c41c88c149410b76f688e9c31b4cd5b0dd97cf3a2fdd2389df7ec192e1a5ab08b591c22885567ea9a8c263be9573d4c5cc676954144ab0e5ff8141a8371348a908d54a4e730e013436d415fc7a9942cf88626771e27e4976b9770cd8f500482a0f14bd7080dc603d652d512e16151990061b2bcbd1d745a250741886145cf6fd308a28c943485f9aa94506446366ee459c54df720778efa96410d0a00778b1fa621e9dab121f2231f0263aa683f2a8c56134053d95138a7bcbe9aaf81ea41312fb4f0d506581a7f81f3b609ff75e5ba6e432ce6fc9669cf383805c7ef7c23c720d65a72ffe3b57e61ce061f071d382277718eda40225ee431d7a41259d9a4323959c6d64c1960152da7a6262205f8fff44ac08dd28325150f236af84d0725a50f2cc513c4885c5c6929da7903dde53a8d0e3629143eb929d3afe5764a76da0977e2f01b018bfa45e7a327a15a80004f650398b3695c19f4ed2a108de94b4fbed59f01a0190604bbdc3dbc513320774e6ab898893ddd545e78fe5557c805b484f0ed5e0c38ae014f3209cc6814edf09ab5219f1d0b830a2a3947f2f4e2f5f544dca47ff499651809e135bc83a0c7ea2a38aced08f3b1cfc164bfefc744a826f31fa7dc8c0e1a27fd515bf938f2b829d4c0fb4971e4027692269ca3ac4fd9e41bbe0fbaf9d7516b80ace4423488f180a56eaa08cda4d409099f5761b8ccf45e8907b73fe232f09457a68dc1275734f1e5a024565f8a56dcfd76173ba1c7193c2a2c1d8444074b0dc63bc43580016f131284e1615f331694c81f758d72000c6bae2ee12f97f508a92fea354b827534c7636f39410265423f4eb626f95ebd8a484b25db24a3210abd4be3253ba21ca1654045047938dcce6b7cd24108c4c4bddbae84827d859de31069dfdd009e7e363fe021fc221952c50799f9b40d5d43923f0b960b8360163ae438a6a3356e5c4705c24aa1b95f98a3af376d6d36792ac30ce0430b9acd0b9f4418a8e9f3656a24d16e095ad3782502a1741a74faf0f4ce4ff7d60123894795099569635f1fa99025b3beb1a347feb63ad0208f554247593b6f2a1703a46f08adab7403c96100772791c211b29949dc17f2a25a3844b234dfd48f2824b0374ff999314469c1bb0df3885ad89e96ffc2f8ddc39957145c7ba5c229b402dea2c587ae251491d589cd3222d83a0dfdd90f41c3adecfd30192c12932c825432ce590b363ef64279db62f40279271cef3981c9c02d86246e7a4767c871460a754065f95f42e351f19ee1fc80d16e9f2522902552c659da34ac6aed01190e22098005351aa2c02561636d95c5a5eb9a4fbace7a89fa82f9d790b34157e074e236c2e8d729109df66b96c1cfd830d3b4953ee9a4abd047dc4a8fac20f93674809af73b142eb292f2e0d4136b6551a2843d984383d100af42310160b81988e4d3616fb46e4dbffb25641f37b2fd616edff3362d30000000049454e44ae426082</data> + </image> + <image name="image2"> + <data format="XPM.GZ" length="361475">789c44bdc7722c4b8f6e39afa7f8ad7256d696952ad4a007d47a53cbb61e84a4d69af7e56f30bf858f9ba3b34e864b000e87abfffd9fff9cededfce77ffef7bf5edfcab7ebfa3ff555f9f29fff69deefefbfffbffffffffd3ffff5df9374f69fe928f94f5a64c57fa6fffdfffcd77f0fbfa6ffa9ff3318cdfffd82c1f0600efa9f8dba3978df9c83d9b4a9f48bf2690ed251399ee9179dc0a42e277330589e83ccbff8a8e7209fcd48e3fd720e8a695356caf66d0eaa51334ee7e0f37a0e9a24ab6a7db227904e6bfde2e6780eba5956298d0f7dd2f5bfc894c6bc2ee3be6455ab829dccc1643c1b0bdc1ccdc174d6d56381c339480c3eb7e7204dc780e1700eb2713951e56e944b968cf8c5d7bc72e33c4d22db853928c6d52451a295c0aca0fa37fb02c984343e76e7a04c4695daf4660f308d92ea1775320394cd1c34e38e5c6efecd419b24fc6220d04da61315ac4d046655a9ce2ee7bf988c26e974aa344e04a64d4e7b6c092469146c2700b95cf3493169d4731f3773304ec615e59837d0643299518e9b6d8124238df73b405ecd3b7b38159866ed6c5ed2e16404e812caa182cd925c690cf7d7048a5e5255b9af394826bda42a9756603acd1b95745d60d6d22fef57024955d1a6736d98a449116d7a3a07d924a72e837d4041137ee8932c4b6b25faaca2674536919c0ed239c827cdb4502ecb0249df31021b802ab2cde6a09894d379c186c521a022dbc195818a7ef5269086ce3df3495e8e73e5a2ea97495d4b4daf4f014d81e0aa7265af94a5bae10950a723813d409b2241ea863a69e897c9a2403e4d6a7594b2adcbdee8e89387396892b4a0faab73d0262d698ccf05b234d527cf0702d508b3752529ec26f9b8900429972eab33a53153d1bb3ca7a4e5dc4a4d47d3e954e270b322908666dfcce6603c1b15eaa84f7d324e0b54fde509504f651d9e87026536454dcb39984c675395f4261198f53d219001a6b4fa4d6a80e9cb01b3021b54009242daf0be2f90b4952af7b423d097037d599a83e9ac2fda1cdc0e0059a192de0e0df4c96d09c87315fdb60214b9aa7f5b03ca5c2a76db02aa5c5d79db18480a6f3b409dabfab7578036576ddf6f04d286467efe16287364fd766e50a6b3fe13a5717922904e68a0ab33813ca9a52fb367409156928ffb00a451becf4132cd66d2862f152cc93a8d40c3b1124df22c2a371f81a6fd50904f24ebe339c8f3a640e81e016da66c27eafda24853c9693eb763d3b2ff53030dbe00f58cde9f0af49d2d397ddf0034a54ada29d132ad6b866812cd6602c3e92da0483395e30250a558cbf9f03aada6cd0c49568b55e96c82095e1728b250a0cf39a8a7ed8c44258575afa6ca76f62290d7997e315b03b4a9ea72cd2f8abcc955528954938f2463c3b17abfcd1369c3f0fe0a5034eadba9b4a12d46b4c7951aa89b8eb1b89f12cb2eef33d227fc22cf4b19a5fb6b40d9a8d5af5705caa4c59ece0b361ba519d6f2f34a209f60e83f3b402230bc7f03d48dcce76c1dd0c9280d3a7d32ee7d1a657bfb2a90370daec202a0d5f03a9c28db715146232b8d49da622e06f3dacea6b37e60937aac08f4e5528b4d1e05f2a6527b4c760d90d32581625aa22f392091fd1866735f6a36ff277d513966d9a442e8ce01298ee26703e8e4b10da795405e57c818a0e86b233b762b508d668c84f3ceeeab9626a8985aacf7033235d06c10a0d42ff6548ea418754ab4fb9883349b51fdd9864031ce54f47c3e88cfb2fe4fbf18ff08f403bf4a3a1b0af45e9e1a68ff1e9074ea86e17c689ce5b3de899356ea1779efa090ed21a0cc69e46f81bc527b0c3ed49579316e185e49a398b4528ffd0740d3a1846b02e528c73350ef17b31271e8aa0034e154fd5264bdbd54b6807cc6b83f3d1028461894d9266022451e4ebf00bd720bc42f66e8dca40664257afb0f101d35555716e58891f0fa1850b692b1e1dc48f735e9fd60fd429f946981c59d3c0b6455260f65ba66a09edbbf13c8b3965f8c04a27283cf3dc0b8d12fc6fb802ec58593f0577d393017aa5c6f2d330d27d52320cb698f0b813cc3c97bdf06e4988b3d7e51949dd2184a92eb594b2e1f6ab1ba5720ec980a561719694c4b0369c3746e60fba16222251cced4516ddae1057fee08e46d2df9f8542e6d31ae19f75f004943678f0119f291ab5fba5997d0a6d2972e1f5700c969579435765d8ddc95136ce160ae0dc92899e028cebe05fa0653d1a7fca2570f7eb12a506415c6e00150562ae9f81450617226ff0c548ee98e4039c675eae6fa928c67e5549f1407027dc1d4732b2f02594939260b027999e1c18e058aac21972d404d9b5eaf09945d8bff311f1bfad94a8377d1a602d914eff3f25aa0972012fd14289a1af3f91000c19d66801681c9e7f2914c7fff04b60d24da572a47ef06e574f691403e6628985d02920a9152c1fab121e6ea3f809cea8fbf0015fed87402a8e986096994498e22cf005958cbf9c097cc7a3555e566378002e19fa860bdaee38e7673ad4c922445a49246209b62c6c74381de4aab5f364e021088586d0169adf6c89546daff493eeece04b224bc4ff56d9aa70d0d54024a06e099c4212d46394ecd25a06c185f6e0135d94ea702e5a8a1812680181b86f3413ce98b916abc6db700bda22a0dc96996e5cc3d56af01ad46c2c1eaa2405f5b9574ef0c50b51298d99d4081b918ceee0384d04970b372a2820df7af00d9183f683e02f58e745baae85f2a473fac21419f9706324a1f5b001cc5c1cd1da0eb30d2fca264b6369cce00518ee900300df006282b25daca5c14698e717cbe10c8da84a8d386405e84094e04fa44717b1e01b3007b066ad3f12b2093bb31a8e6d3c8deb3cad55183e74f409310bb5003957978f4c93aa06466315b16e8550cb002b0047d08f4f37b94701790623fc62f808c4973361f5f92aaff5339d654b9aab7eb68e51b2093273dd828002d6ef1a68a5e1513da63b60428c33350d1ab326d24a7e30340c99cb0939ad6494300e0431254a76d29f9585767d71e5e5f6e001d21a49944bb9f6a309f4bae000516f75956aaae188106d7eb807ea8937ca8604dd2528e7607d0a5fc42f6b4e9bd713a4ac6a0c9ea1cb3f50e680b355029096a7a03cb2712fea69f9a4a2cf7cf002d2ecb846ccb5c2d36b896916eaa84e1a4536ddbde90095cbd006a0c7d7908e852668d3239fda41a176e2673d1d78438cc6c04e83d3275c336a0a2e7a68032e651cfb20efdec65a206ba923dedfa72288d6b998b2ead194d934ea0c0751a6c9e013a557f70a39276e5acc31636805233ad41371f81d2de99607652be08a4634d7887492b90b73157e793bc4382ae2b816252f1c90620c9a451f7af02e5a8a51cf780aac13a3c1910414b05aa1189e62ad8b8ffc36a6701e4c10e9e0230ad1e5c77802e93146ea860e33c651ab93a30404d8f0039d1c0cf5d81a266f4b85c15e887138a3e04c4ec359f0b5d3ae9fff094360532c22ec3d9b6409e940c161702bdaa6b241c1502e5087fecfe0530a609c7270066c0c3892a37a94612ba61a634a6fd1fb3b50f03345b059bf6161647f12c00e5989d1ba8c5364f05ca4994e31940287c380dd021ebd95c3dd259ffa76e28670259ade175b87f2d50e40ab90e9300fd54420a7425d08f0db252d37740c738f7a2ba24594ae8667a2c90f77da7d1e319906a623558db0354842a5ef84531a5a4ab0780546a3a9c9d028a88059702e5149373ff6c2039bd5e11a8c64448bab9f94c7bc748a1ac6121a1eb0b4eb467b80fc811ed6ba9479a8d90e4f6041023e16a2390e3d10f5e240ebda73443c6c60170e03f760095c6b9c1d33f4023f9183cdd015a0466ac464ecb98013fa9a37a7d4a34be5c1f028a9680991428ebbd3c75c38a8a9ef56e3105534765c53494700ac80a86e89300c43f922d409bb372462ebd0f433ce8065074c41cd50d5935c1d79e6c1b30d5d80094add2e8e60370fa1b1c658d4f762c4f8b8cbe5d16c8664c356689402f74aafea324a8f7b668c2d106a0244e37de06741894f1a701d326b5475e4d2969371f2bd3debe122c7f9a08a4846d079dd4a32f6725f9e8946d51c40acdbe24b92893960692b928fa411c6d90cef57e9182f6c3e3f978db6bcf6ccad02805eafda254e568f703d0409b3239651e81bb2bc9e9afb7a55f3caa4dcb724ccce02907f4f380397890e9eb7dcf1443af162beb199f74b230bdfb35558b6592e4aaff031c1b483dda4300251d4e65faaadef263fad4a6bdfbc592deca0a20c6a8d126a0914332f8a77ee91d34260107e780ac436fd5c8bd3f9649099fa5d975368e9ed3785bf7568ada6e00727ef1a0c1a22ea7547fa506642d038ec4b2778a59b27953e59a2c2b0556558e262f62a6259bdc14239cabc36f8132edf03e55b0a6f75811985540a170c7a09c3bbd7dd552e2fc335998b6571875c39e9ab02d13856e86874b80c8e5fe099047139e05e017479d81bae1f0c7401666a044bb6c4c98e1fa1a906592c2af5b815e1b54d203b5e9afa7a4826d6f00a2a4bb7ce2921e1d03b2a8cba2810a76540372f5fef0a831208d4b033e690d64508e4e016547c884baf4136035d0483dd75593585dc901110dbc3e00b42d1ecadca0f483c9888955b367208bbbf00998f08beb0120361e5c9d0ae4531620924740c678fbb80c28f1f9cb54a0186b32323c1809b891b7370169b429e5e8db54d6f2e8c440bfd8ba36509b6edd18a8b6db5b00b7fa95816a7b740628f8e4781150f28bc30503157d940b5423cde607eb73efb317b93173c291b21de715d6e1a101d4b8d6e38b0044aeaa754043e837515d7a0f86385db22dd04fded51edb012cb8a4f1d7a6352025f2bddd18d062ff00d16207a706caf6f0039093c6d6ae813ed9eb0cd462c74b80221af9da40c6e0e81c108d7cbc00a850e48f48b4c5d91c51b96a8241191f032ac9fa70b265a026cce7de562fc7132c6e736120b355358059a66e783b017404651375f6a4ef28a958520814b1cc3129015d21addc7e13e8bb41e5d87e05a448b2666b73a06ed8ae00198dbc7b688024bf1ba8fa072706988b1b801b39122dc3061d19a891ffad02a209c73b02d18483c77d817aca22c6d7dc8c67d3df3f35e110d0b27c7da9724cf3190efcd358a02899143d66808e88d1aa2a37ed2756125c4d357a1082fb6f64408b958068b1ad1d0344fbca80c162d9404277706ca026dc3d005892bf01054db8bb674040640b40e586274d80b01f5f066af5a7a85ccd2723d9e46995e4ea86d1c400d7693eb3c87aa7475edfb07810e8ffd8edf266a04f9af300f8c92fb702f984a171553df73bb152f5b7078068d3cd13032ceebe811a79f7ef13e4740d9077aacbd69e01fdb26da04fb62e0d68f51f4041ece2e0c840b5ddea0c28c7ae01a3e901a0a42e27ad817eb1bb6f80381c022ae60ddbe706ac6a54801a7dd9be00344a6370ad516c56b3f838b854a249d24d595a944825bdd7c79cf0133061dfc5cf1890d0958f25a0d21e81c19b2428c947ec1ebc6e00d39c00511d80d0cdfe252067e6996401d8cbb22a49ee67af28e136e508251c6c3c026259f0683f0001e6ed2120068bcd6303f4f6c540dd70fa04284260b60c185f5a035c498a5e9621969b06e47266c0a8fe658071a44dfbbe65274254ae61f4383a0cc027e33b818a09de7042397ae74ad9ee6bb0e8e7e6ec75ea3468a5bde6aa723f6f8034d4743f00db092b29503fe563c937559ba6c5ac60487a00f473abf927e54600d6f8925b40c34c6b45f6238d50c5e03105b05365b8bd1a00dff260cf00591f1928db951610b382933a00691c0d0d347afc2b0045f45c6b8056fe3350bf9c3e024acab13b34501a670f06c84702a8240e83a72f4058dcb37b40d3b1e54c83455a4d287a21b1fcfda7da0e2a404eb06b2cd397f51e1b2b341af87e977dd4c8ab32e3596f6019d63e0079380247068c62b70608ff32205aecdf85817ef1ef1c10c2bfb561409bde18b089f31fa066b57a2f0d10c39a7a3f6b2609812af93079ffc7326965205faa3908c0ae8a870d40c92faeef015d4e0c4546a9ff20277cbc072889a13cbf002a1cb44f69655eccd8ffb14a398ad829fb700b28f1c60fe55df493fb303994a3376c029bf18b22ccd6a1815afdf8d340edf18ff670ab1fec02aa7059360cb0a7a7064c460606ea86d36340cd2f4e8f000dbfd8979a166942d0be9b09f4430151b81bc018dfe1ed3000ebb7ab52d3c22db65a0272a6c4c91da0a191d754b9a28c29cfda152089c1620540b863b8f30f10b2beb56e808ffb09b0aa3f18a8b63b7b8050f59d5d0335d0c98101691c1ab015700750112cff17e5887ed989bad461d88e010d767d6f16806cf70f0d94e8589a5df443816a3b918752d4a38805ef0366ad0af6b4058825ce813c8332ab88b096eaca329fc8f20fde8e00d39260a8daa32c266c59dd7802cc2ac2e9f700d66f872712bade5f657bd4e66780304a6f80e8a8933d035aec1d10faf26fc5004b776e807aec1bc806bd94803225d1c8363a7bf7da807d0639a0a2914f4f0244395e0cb0966b062ac7bf33035998fd48a363dc1ff149956bfe32ccd540556c8f1a3c948008415fdf01ba8ceacb3a546ea0937d03443b7e11fee9766140d1570d54f4cd030399adb32d0349e176fc22dae3a4344092970c183d4e0d94c64e02a8a31cb9817e7152019a8819dc18b07f3dcad1d2c8c847558d423d68b1de4f96ce3d51fdbaca58c2d2985df77f846d5f0330be9427803889d19580965f541287daeb1e2f29a0d5e6c9e196b2adff46643e71bf6cad1920963b0688f68181fa767b1960cb9f1b20852706b47a645b87382c19288dbd4503a5b1330384513abb03b474c3ce25a0c30fba96c0d435ba3f7896fda89b8a617e579addfcae14aa4d25854defc1b2f9fa1a10adfe266bd9e469844cd4404d51133d5f5370a7e9fd004afa0888f9dce633205a7d2331a0099f00550c27ab06e8dcbe0193806703b5c7e91da0268ddd6d03da74c74052b81369c4ded19d2703ccd6b6017ddb19a01ed7064c3534ce35d5b86533d82520958f3bb8a44dabd81d36a2b655c13af2f83e40cd7022256cea9649e2b306e0a69fcfa86085ec581b666b981706f294f2da802d0107808ece7ed608d4e6b1ede4ea3c00d19e47b95f6d419861980e00d382cd933780381ff5b80dc8f864436ada7a043a4b00f6c73e0011db3aa5a47d670b6ccc0c10292a6715db383740821e0db0b84f0644374e0088c360e512d012305be90c24633b91681bf2716ca044bf642ebadf3f75431a003ff9696aa044bf6482bb7c44577e7d03c67cd20d0c70030f0093d80e94009238aa7203c8d80b974882baa2886530d5a52b4b569b561e0055807b001192c1ca1da009706ba08e5a3f0c10fd5219a85f362e0ce8970703023314fdaf1bae0dd4620b060477d6520335d0ca15a08b9e8b5cc27c3e6906dc5519fb0c466300c74c86a3c440693ccc7ff1db4d7454511ae06baf02720e197dac016a4e717edd09941ccd18ac3c01e886e1c6344034e1105087369c19a8601ba78068f5a33d40cb3c7b7ddf806e280dd40d6b09a00b35dd14a8467c32ea004989fd7814a847acf05e936d9db712fed5b946e5e364ca0277f92c904f22c0bc064872b5c7e30a00b3359cd50245cac6d88d8980078bf5074013ed710268a98ba63cbf93267eb17e6040a2030329f2da4c20aa3f7878058cd90d75f00f3061481ab580b2c0d06702f538f605538e7a125b016f006cd11c5c6f0368c2c1fa5cb4fbf69a60d7bfef0d2474c5a6017a2b299c1419db3cab0d400ce24f57802e53c1364602b6960b37809618cacf9601aabe674023936ddf84fac51abfe89b50adbeb66fc02713c098ae5c9b1aa0a61702cd441b538685647ddaff493e163e00b35c667c7868a07e290a40c23ee9a70e903134beec010a9af0690150337d431ca645ce51d9cd1b404123afa9b3a7e58463154f3f808ab36fa3cb009cc2da180362145bd80534d1846b00b7e93f0324b935a0099705fa4656032dde1a90c68a81d23821dbbed5f5c9da8e019f1c18d073178009eab13b0124adbae18646ae22d637969afe1ea05349279b80948d3ad794a377e9f13f5e0015f38667d268c7ec703f5503cdd28ce5a7ab0ed0b2d9e7725d209ba652a02f1994d9ef9fe4e3d940b5fd2a012943740a28c638466506e8b42f67784b1a7dcf492b6f9f0c50a06d0063d470e11f20fa7661cf805f1c182897453ee97b4eb92cde18288d9fd2009d1b19d07363032cff07203a7bf11a304109572251fa76383e12e86767ece9d51895e429035fbb0788b309d72da0a64d1319b6a418b139ff4a06362939d6393c7c0374f8da3f12cbc4b55dd837a0817601635a7d6d1130e193ef15039563f1ce80342e01d308dcdd021224791469c4a6e7d1a201a74ad4d9693ae68e886b8d95699e1072cdee01c8d8a0dc37d02f3e33401ca9fa3e03e46ce0ae241f6931e5c4e1da2da062b7eda14c5fea05998d1f801de74503e5724bd12dc91b0b067cb264a04f74b8a707e18ffd6c1a28db5b0ad677949470e1ca80cab58090c29d0e103db7f66e807aec1820da6f8069d8b12503d25830501a3f9501bd7f6fa0822d4649677806f7f18b9470c735e5a86b2ab7abeaff2e14299755a591a54942d4ba04146cbdbf944665bd82a809bf06802c67fbed92015befe39338af5e4982b2de539248bdc8a7cbca383cbab10c08d769e31310e2a0b36f3d08b375b66d80f7f96580387c1b20413b80f01d166e011dfdb2921890866c50667158c900633aea9b16fbeb6c4afad7d9af0674f69d813ef95e05c4269bfb1b40c69034960465751287e0ff01f2163b16a06699f45b0ec9ef3f34fbd0805b13b60cd4516ffb80129736d1609117ec871994b7002e38187ecae4f45f28e23cbc7d00c41cf97a0a88826dac18d02f94a3ef2889c3e5cc8041ebd540d95e2680d0ec9599c13cdbfdb76d4017894e0df4894e95cc0123e13f0335f219895623e60d9abdfe8228d83f032cffa581fa762535c0a07480706a16a87eb82cc3d50c30a5603bad0183456380045506785bcf805988e5bd817ef1531b10ca3a06b0b36b7013d93631be44b61dcbc63f528f224bb8bee0558a5cf47f6ab1af334085d33bd3d850149c461f7e4af87f0f17eb93ab3b4008cc650a08bdbdbd3740c6360074e5fe1bb9f4ad3e12d83750d1ef4a030486343c44dfde192897bbca0023fdf70973d3d4a055a25b80094df8bd61806bbd6dc0d1bf5dc014a766712f00697c1d1950b0d480a3908941ae723c016661836e0db063b50172ba6e803f760dc0ddd87f7b3620d11b039cbc2703125d03c4aae848a34751c786c30905eb7d6d8e63ab2bcbb4d05e96e1f121a0635127935d2f73ceef0f5e570c64d8eed58465ef27b37e2b252ccb4413cdc1ea17a0e024c6e7001083e7ed1b001b34d8bc02b4ecd7be9e0408191b1a309fbb0074844bcbcd0091cb1f98a891ff19482cafff7e4137ac1920c9b487cdd65d1d2012fd3150a22b5303125d048cb17477ad813e190c0c2496abaf0658a965038dfb6b0f8089b604ecbf6d0608f5f8030421f70d24daab6f0688f602601ababf6740a29706e8cb0c30a32e7753037d72971930f7383050c1ee7203caf102086f7cad31c026233055ec75da3f06149c6b7c9631289b027f6c45aa5e25b3295bab250e55ce453ec32c37d010fdfa1c00596748fa05dc4421f9e8ff3fe7a3b632c08c6820e18eaac8710476ee011cd71fac1e021a3cfaed9b003a6c3d40b4ab326ef7f82c0168d4002fb82a1b0ea25cdd07a009b5b529af3ccc37a780d09772c500391d18e0e21706a80745f750a0ad4d73c0a89e1a483eea3b03d463dd40f2516e19a4fac52e601c23d0b7817229d70d90c2ce40452f570d9845b706d2869fc680517dcd40fda2db817a30896c6706647b6940e50a039c9ac6806c0706cab69c003c461d1850b0750309ee0081e91588824d0d94c6a0315039b43d6a0eb00e870692b1bb28470c498bfb064c7952834cb57d05a47cb23a33e093c4005faa06c4a981d567035cb81703e285684345e06e389271acea719cd3a22e75c111c413a9479d4d88d3e9669fbcfefd93aabf0540d5bf6f0ca4eaf79581b2bdff0434b1d14f0dd47fc071fdad6540c28d3aba8229afff3cfa15401d9ed223c0332d4a6abdbddd3540c6560d98be3506ac7a7d033a86575d37f60bf00b173b0329b2ceadcd01d384cc40225593ad755f97decd814a5adf18603f7203ecc79901aa4e4759b36f33036a7b61802453f45e81b041db0668c3d800356d0c28d8b5013668cd009f6ec9a05039be00d3c8363140e78606d4363720ba7168a0ce5ee80c2441831a106abad01af08b287a12cec4aa0191bc5b405aa2a6c87ae8dc40fbc67b5032787e201f554bfce38616aba32bcf64b69a7ebaa2a0fdbd8adefcfecd3f59da08c01d22eb39a065d2fca45c9a72cc76c2d11560c2c6d8af53401bded68a816a7bf568c07a65060859d7268a5f40d1597f691c94bd7a306071a93550bf746ab1c6b2de1c1b2063cb062a58b761a05c6a8ade0baed2a8d70c1891cf0c182baf0cd0b96b0344eadc4045d715a13db0acef18e08f5d1950b07b03647d602009fa7a30507b0c68a05e4e51f575033cc7c480017864402e8b0692e49fa141a934908fbf612d3540f74b03ec4766808fbb67c0b4a93050b6c7ef8044fdb2ff363440e82a03fae5db0055bf3550c1562606aaed60cd8082ed1ad0a6d12f694c02a6068c95a5813eb91b0362f0dc3e32209727037d7214d9c626ce9d55406c8fbabf03541883d52858e84baecaf56acc3ec797cc404ad8b6065a4a1b2c023a56023a7565ff010ba93b9b80b884e756fdd23ac0dc6d01628c6a8e0cd42f8b0f06145d62d956238c41f71e2074eed0803961628031e80cd440badeb307b8a3c3f6d280a1e0c300091a1ba01e230355ae3931c0339819a82beb65c024129d1890c685019a7d6b80ce0d0d886efc034c43f86b03723932c07edc183005bc36c0957c3620a4b6602029fc7a346034a5e742d5f7df1a03746ec300472035c016be1b9068f49c87c61503d2f834208d0f0314e89f016a7a0f48a32b4b03f476c7400db414e588a3194b8d017765fd18a0ea95015a194d18e7b4965a031ce7b101450f192be2171b062c6149f8bbb4e498daa684aeebd5947d4a2a69ff9f80cf4d0386e809601cc3fc1a20e1d84d5a013236e86ea580b256bfac8f006d437047c35a5796accdbf904bc92d89c3cb004d74e532c091cd4f40980bd6703a9b8bdb0f03b29595eaaa1147eed6be02603fcaa50011f95e3660bcdd365023bfd0a6d5980ba6ebcb00c494744fef2f88c8d5ba015ef0860145df334009b70c586e712e31af7c034c305b834b0386d71f03447b6a809f9c18e08e220ebd222bd172c740895685018abc6880d93a37505d4e8600b6de0fdb3a4094343750a2e5b701e2f0684003ed1aa8e86ca1e9ec2a7c3d19d0d9192089f6680d706ace0db0b84b068cfb0f80346cd0b2013eccba019f2c19102258359031588a9ecb688fc19d01d51f1830137f34605a8d02d95cdc7f1bb072161d5550f4d553032ccc85810ab61a25659be7e0869eab91a0c123dd50b3e63978d1e8d135e3041b3417ba62f46b85e6209f0984c9190c5f0104dd06e5c0801b0f56015cbe37dcfa02e4dcc8b53506941cfefad803708666b8b3215026bc02f042c1ca4cd7af0dbeee01dc2e367821d1de4aa9d56fd700b1fa76590022c6f6c82f627565a89b7ce7407107edeee8c1b8c12d3e0d80b9f83a31603869013125ae370d30287fbf20463f31c033f8fb04fb41abff4d785f0c18b38f0db0525303a65e63033550b769a06c3fff7ea16c6b7aee4fd54f0d94e8cdbd01ad3e3350e59a918172d115f63d08cfa02c0c9468756f80fdb835c097ca0d885ac7276934d0d000d76964a034ea0703346adb0077e3119087877265c0a81e69c4307fff65c06e8625406cbe965b3c07647b668075383740b3434ed9cf3fb8a904eae8db23e9cb384b585c3afb02e4298afc2cd0ffa9d5bf0f0d94c6e6326086666bc3e1ef9e2c16c9b7d484e372ca3581d51b60c61ddddb2920e5e2bc97f8a4e026dfcf35404c68ee1b014fefb503600e887ee5068419e213b472f8b918207aff0f307a9c003cdefe0176002c18201f1d2074ae3b3720467f67c0fc65c98031ead980d8d69301eb2f1b0628e18f0111e75d03f6d25e19a8fa378f000fd19501d59f1950b033038cc18a0113897b0336eaec1810c88c6e48622e5619a0d9b5019a3d3040b3d70c688f6f03cc457c128aac4b34e68034de0db00e3f06d8d32f0302772152312b281f0df00c360d08ee3c1828d1c186011101b4a18a23ddba25600e707bc606ecaae80c30392185b1a16cf5de80822d1ae03b4449c3a09cdd1a703bd02b20ce03dda3ea551d1a7520505bc5f601e3007b0604fee9db3ae1de9eeb2200fa3242f7ebb850794c47d50dc7298fa54093349bb204ae9e9bf47f5c04766c80bbf166c0a6d62b00e7a20737930078178ad3fd26c973405792a0c9dfec44666b621b74bb6a208dd25561c5e4cfc22c1860a5c6066a209c9a89978d37a86d35c16cd55b01426f8f0d94a8ce89cf0141c82340d820bdb934078cfbfb06ecb6fd30907c9c3f1aa81c6d07f07cffc740d97e8e0c94c6cd132054fd6edd008dba30404d3f0cd40dddaa011a45dffea97a6980f0cf00a1b77ac9680e30b08d01b3a42303c958750b88d9bcde8098034a7a61c030bf6980deb6066ac2c114107a7bbf6a8023b062202f78108d1c9ec1fdba019abd664020620310e7b47622d18e63bf37b4584d570e6e90f59a80eae06660c0d503a84713170bec4a2ca7bf97aa680492fd98f67f52f5d781811c81a57503a9e9fdb68156242eaf00290b105a8cfd05eca67c90ac4fcb82458c8a6c7fcf30cf81ae1e287eaf4ca59135344eedc05fff01962828a9f5566768e6807d5b95016aba020835bdfd0a40df7ebc19483e3e5e0d24632d95fbf3d78f0c54b02a3740d633405c425cee1ae893fb3d0316a7ff00b3e8770309cc4d143d6cb28eaacc018b070b064404360d38887264a05c3e760dd8fd730f8879f6f5a201cef7a70173f5a1819a70a936e0a4df0b20e6d937cf06e8edab8112ad2a03e61e6303d4340184aaebf1b439d027d59d01fed8b20121e8286981d05537069cafdc3720aab06580a5db3660fe720d28e9a8c1c480267c3560227167c002c421208eeb6fa09555cb350ad7085d9db175e59992d6710ee75be59885de0e8b2fc00c55af241fb372c27d4a28e1ac4c884a6e7d06404d6f5597594c89071b1960ca3d13d70b01c2d7fe349048b55706247a60a0f6f89c1930be9c0242a3b43232070c9e7b0638ac87061cec3b3650cf5529209cde2a3160b7dca20151b84d0386d74303747f66c0aae89a81eaf2343160149b0262c25b6d1928979b1703727930400907069cd57834209700a173ba04700e182b9f0c68f50b03b5d8d282010b106f06d2a83aba3246e4aa35404d5f0c386fda18e07cc72f4209cbd68099c5830113ef5b039cef312054acba364091770c50e47f06a4f165c0546304886d27babaa4079c0918ac06e83896b5827cd4ac250d1ea4eab3261e617ab837d02f9e48a3e9b83ff94c063649d3b85e4b5e4e928d26dc40a56e48f2097b471f5497a4ff63aebe6fa0a171716a20e7fb87440b6ee11d6efd006aeef8df6a000dcface85aef22f91b1af70d54b0f6da80a9796da0cadd1e1aa095f18bd0db66db00593f018456ead2ff39402bb70df0b55b03d2280d548eeb9181cab1fe978bc4e1e613908631d83120db6303657b7563a06c7527e41c102fbc30908c5513408c95f5ae0175f967405d760c98efdf19e0e33606aacbc75f1a1a4dab25401e95eb0cb00e3f0628e1a38172b9ba35502e9f430355ee29408cb7e59d01bed4a5019ec187018a7c658022bf1b60a5e21731de7e7f1b30befc01eab26c40e02e7aae8a72ec1a70ec37e4b48e5f1c1a601d2e0c28e9a981ccc5036259a7bc46304a014dcba84edf361537e99d486fd37cca39cf07fde2f726741994f50d0362284706ca9638ee2f60cbc83980ebe707da2f3507b26354bf079c687fcc01059776af4bd57bebc1732f8c51bf4025c50f4acb595c83df0232ae6cbf7e06c416de6b7917a9a7d5574f064a43af41cf811a48eb8445fa67940e0c98263406ccb3570c94c6636d4048edd54032d6de01c2dd686f0c305b1b06cc2cf60d48e31ee075f5270365db6c1930229f01ec19dc186072160d28fac840d936fb065c0a706ac054631910972256ff0c18d5b70db0418f062aa9de8b9e030277f706ac8b1d1b60fad60179f841cb0618a5b101a18a55038ce39e810ad6be1950b07703660567062ad8d30010f7b0568b06b4c79301b9bc1a90cb8701f3b9bf5fe04c7c026c839e0db0dad173112258de3660aa11bd1fdb5e070706d8a03d03b28dde8f1b200667061c01c05cd4234e2caffc004282c67476dd11fcdb90c796361957e9ffa8917fdfb3509b16fb809cdb709e160125f6436bd1bd7de171dfe19586e8cc7a7bbd6f80eeff03cc184ef412fc1ce8171f85019add18301424066a8fc7ca804d8bdf8050d3f6c14089b6b70668c32920d4b47d346005efc2808e7a3660cda23140823e0d582b7803849aea81be39c006ed1830195932605a3d31502eddd8807943b47a28a1dee09e033c83250384ffce00153b37d038a7db5e7b106f955423031cc5250326cd0b0618b6cc40d9b62f0664fb6120e15fdc36d064b58eca95a1d90b0658ba67036abb62a05c4292ed3bacfcfd8263265340153baaa281e254c9e0c400ad3c3740d543c6621b9f1e1a9d039c094a5a371c317b7802c446e10704b79f6a28aa70a5513def279e784a12a93c4b1205ff16a540bfc72735aadf9d1b285122acbf801751fe010ae285c3a700cc2cb65597bc8ce7d4ab55c08c0dcbdb7b8078d6ec437d9b7b6a7e73644010e1db80186c6dc0e0f99706d1af1d4078f4cda5010ab46ac088bc6e80b9c80c381b79682019fb3a06c46dd1cd920175f93140c5560c18e6af0d18e73e0d30394f06ac8cfca5c1c6c7da4072da2c0262bcbdf936c0dbda34c0c25c1bd040ff0c18099f0c28c7b2015af969807abc0342f7db1f037cfe5d032ccc9201b3c6a8ad15f9c50073911af049d4b68a4fbe0cd0fd1f03caf16a402ce7ef1758cba84b8cc84bd7060ce25b068419423e42913701f598f3a6a30540c1b9b503096eafdacc0af6643e8bde85918cedcbfbec096fb4679f80029fffab359031181e19a0ea2303361c3e032a349b39d0ef3bcd5cd323cdfe7dca570da4ad8045f1b7d0be07f0d49c44ff5cda430362f407064a544f5fcd019b5bce00a140cdb20182bb6f80e0760608ee8201e6626aa09e7b1c02b8e060589f078835bed6805c760dc865d900f55835404d2b03d4340a16eee8cd8101eb9517066ce579354070f70c182b9f0d18f72706caf6fcc940bdff790a08156bbf0da8cb8601b2be69807a446d43c5ee4f0c08dabf01625a5dde1ad084ef06ac37848cc5e0b97261c010bd60c0fdda086e157798dd934b3d099da36feb78dc7744bfd4452c723d023a9e03da952b59fede4b33ffc5a5c4a1cca6badc6470ad5cca82476487f913808bbf87456520e77b3137502ed9810127c97700152372bb0ba8d1db77097ff9b733a300c4a0f5f965a08e7afe008446dd9e1b20ebb706b8d6a901abe6ef064c34cf0c98686e003ce05c1990cb8a01f3dbd48011f9ef13447bd18009efd440e578f8345039ce1f00a162f5c880d0de85019a7d634039ae0d58575f0084bedcec1b50972d03a5713932c0062506d8a0d2804933e2608d6abf0c688f4f03543d37c061ad0d48346a1b4ab83433603dfbc800cd0e8189cb6f966e0c28c7df2f48e310c0c58a836784bf1e859a52db9a7b03072b14bd8ebe1da340cd8803db87eaec2a6da66af503f97455c601f6c155807a26a1db9722f7669dcbf6f5786baf4f25fb6158f2adfa3f9563581b48e716330369e5d27b000266eb37803a426a7b01b8347353b382aa8c67ccd72f00358f415da92bab6aca967756012b4f78afa95c9530357fd80c40478d37002951b8fa2500693c6c1970d8face00fbb16fc05d483f80b00eb72303dcaf6d03d23834404d2397d0fdeec70017ffc2801daa6303a6b333039430aa6f451e1ba02f6b0628e1b90182bb644028ebc880505665c0321852d8ab2951fc89017b366f0db01f7b06ac48fc185097454038accd9a01267860a0441f360c302833032e24fb06c4f0fab06ec0278501f1f5a85c6876d919a0d9a706ca65a932e04cc01520a6b3e5a5012ecba701ab1a8501ad7e6080b968006ca11996e85ccd21b4c10a4d58b73835bb6a8f7a329bb011431e4afdfba711796820a7f77ecb402aa68b9de7409abd980420b6d59e19481cb69e000df6a353f5fb0f78e2607d0c88cbc3b735d3aaab094f1aea71aca2766cab3b0484eeb33fe8ef4cf35501b0af5d1aa062cb066af5876d400cf3ef8f06c49428fa5f80e8c2009dfb3060e0ab0cd0b97b0324a834c05558077892581a7094e9c180a37fe706ccd55b03f6c11e19a0b78883f5b65d37a091ef0d7047570df0823303e2b8cb061c870a5071d9ed63e4124f7035a5013db763808bbf674039560c3017213031885f6d1bb0b33c3390ac5f7f01e252b3e5ce8003b9e706cae57268802310bf08cd5e3933c033403daa3840565e1b60c77203c9fa924cf0efb979fca0c240bef6ca2ec08f962d0050f5c14aa4d1015ea85c53a7dcd8a661ad49f289baf25856bbc96b4ed95c4bc69aa2c4e7ffbc0634a1fb6900543ddf30d0fa9cae1ef8d57cbd63359cf14999f2528d6e6e299a6accca7b770488e897de792f7e8f30cb55b84a00e1af3f5c19a8d56f4e0dd8777103c831179fcf01629c3b306056f00e88b0edfd3f03c4e1da00233d345057b2e6d958c52e1f0d50b10503acc39d8112bdbc3190de5e45394281eac4004bb76580037f6f8087f260c07a766e809f7c65a06c9b01a08e6c5303d474d780a8e485018d7c6a408b9d1bb055740688d34fcdd080caed1890edb6014dd819a8f72f2f0de8b9da80da9e1aa81c1751171efa1a5e7f0608cf71cd806c2b0376b9d60688c32ac057fb6e183002d5068c0d67069c6e416feb31071d2f10877ac623b2872f01e26c64fc228923ee085dcd732f8395f885edc73200fb313c54eca29dd51cfbdd9324b729cfde0d163488b7bdaa6bc7eee2cc40c6409735cc0127fca562fd072ca32f5401888d6ff149d9e8e8ce705b8e625bcd08ba5d7d0062830cfbf9ff4e703f90c65f80b93260f03c3020a872098868f1d5cc0077343120b4f70a8821fafdc180f8e9b70193009ad0d6e1b632e05eb84d0396d2ce0c18a3960c90f55b0349b28efccf01e19f8181c23f974f80b00e9f2f06b8c54b064437160d7026324018833a37c026af1910d7be3260aefe6cc0e6b8130315fdeed840456751a7b575b83c33c0c03e1aa0621f06443643606210bfbc32c05cb406d8e4c680d9fca281d463258a1eaabef864401a0303021114ddf7e57c51b99a5bef87a3121037c58f2e001daf98e911c85ee2663399ad15d5b6cb78917e98a9a3badfbf39f8790a8003af3b98e740b3795dbe3707d26c4e0bfe0286f94f038c4167c04efb670375e5b7d4a3cf946c87cf069abf7cdc02662c923faba3badee757d12ff60029469a5303dddfd2730b0857e17a68a0f678a6a456f58f1f03c697330389c3fb3ba02036de3c05080fa53350b61fa9013eeed4805cce0d2430ef070612dce73740492e1f2303e61eef0678c1070638ce8901e3cb8e01f1c200e13be852b339c077383660dd636a80c31ab984abb0bc6380415934607fd0d4000bb364c061c923400ce2cbad019b174e0ca40d0f9d0157b9dc0142d59b1f032af76420c17d5e31d000fcbc64c05a41f44b78f47a097e0e48636cc0e47dd94063f6a534bbabe3c298257e517315c3e0e9d880c7a08e0c7883fb1130895c5a039e4958004c29fa08d10edf61f0b41700cf40b78af6a08cab2948b469793dec85daf6f655e6e272ee8f95a32c997089f9468008423680780d697f5f20e7c998e1de33601ccf56ad0bf47f80cc007763cd4036e867d10009da028cf9c5d3b2817ef133024ce4a10cbfcf01093771ea0dbb72e4c948b70388b0dcfb1d208cc1fb8e818afed618600c160cf01d9e0cd8c3ba6da0725c9f0242f7752f4bf97760fbf3c98018db87816adbd0c8bddeaa609fad014b144706e8cb83010665c38000e2cc80cbb3fe01c23358de30a091af0d94c6fab2015185bf4f688f0410d384e5c6808da057064ae3211a3954fde1d200f73cfab6c3ae5fed050817ffd48013a92303ece95420a27043bd273e077259965200bbc2078f6706d2dbc773031e4b575dc6fd982573713211c8539e8df8be1028784d7e78b408a8b81163e14be0f74f9d7d6fc061c95b03b9e7ba66740e381d7764c0236e01321e2e5afb06e49c9d5daf0125f7d2ea1ada1e54b5d278ca05bc31658b825559dc48fe1220f6c235062aa96e5cea414e00f17a10207cba3503b48136f5107ddd18f0c992016b7cdf06b870eb8050c2ebda804f2e0c90b16b40ccd52f170d88d16f1ba0625b062abaae5c9e0326efb50147552297d0b976d34089eade8d39e0e85f6aa0266c7700e1492fff3320c4d8196050a21c31bcbe46cf85be7cae1b10eabc346088460aff14e8c70083b26fc038776920f5b81f03e26ce433e2f0373452f45ec518f89e003356dfb477630ef845649b04404eeb14a00ddc3dc0411b603f265931e334e92ea09c08e8d0440f9a0947cba551133f39a5b34dfd801443d2e79d811a285b34d010fdb362c0c3564b80a4e45d9e1d40c38bc1eb9168d328979d75401b136f999c4935617dee3907849a3ead07402c9f29985debe72503823ba9017b585b40419ceeba0c1011f8770326bccb0698e028589c49dcbc30404ddf0d98265406ec307b33209715032af70aa8e216898101cb820b06cae5edc8001b7468a044af4f00b1a3eaaa35c0283d1bd01ec7060cc09901edb16dc07de3d11e0d3df711058b59f4d5c400fbb16bc051a63303ecc73f400cafafb70604cb0f0da4fbeff7061a2c56d60d34007fc627e15a3795817259be34506d5f770c94cbe3aa01f1f55b0365bb4013864119365f80b8697179c980b8250d54c7d5474b2b06ec64fa06c430ff7c6d201bf4f462c0bb097f9f48f8ab5340ecd75e5e3690aabf7606a4f163c0ac0081e9cd16b756af1960c71e0059c77975e9ed348d1794bf55db6956e2e26faa1ba6712def704f459f16630ef71c3e05603561415a39edffd41e4b9b06cc2c7601296b051b8f8092e9caadda63eadda5af7c62d7ba3b306054bf0684eedf1780f071df160d88287e1910fe5935c0fb7c36c087d9078456be9c1a702066cb007d390784cead5c1ba0737b0668766e80b93832a0607f89b26e3a0684563e9e1890e8be017ef21d20ae1b5bbe32607efbcf80515d0a3475e4aa690cd8b6766740490f0d50d34b0369e562241a3794753780785bf069d7405138747fea09ef5d8038cab4541a485fb4f1710e24b88b5b06d286d716308b00c09581d2783a3050b68f178084ba5c44394a3681afd073755c80b14af59b09b2be818c35154f099e68c099650d57c9fd68a635ebff54525d21dbff67a24368c3ad0450f0f6e4420928799d72955fc4eadb60736820ff43a7167b90f2fcde460188c7b1ae5e0320304f6b060476ff016298bfbe01f0a2e3f0750f10a1f0f7d6803bed970031597daf0d889e2f1a10417b366024cc001197d2f68639a060c78050c28fc68029e08601e6e2c700d18e5fc43b34da1131072ce75f182897d5a101f3864d03d4f4d84075f9de3150b68f5706ac13360632061f5f068cb751fdd0ecab9101d99e18b0d0fef70b626c74651d5797b487067828e70644e0770da80bfde24b9aaa23038a8eacc7d1f2e1c7b181123d8d72c4e6ebe6d30003fb6d400071d140f6e3aa34e0fd9748238e312eaf18b0d96760800d1a1b6898ef5e0d18a2ff12253eb66820fba160680f92f8e49f0183f8a5813e795d37e0ccd9bb018fa646b66984194606e4b269402e5b06e4b260a0445791f53a4ef93e622e9aa25037ec49b393693545e8241f49321b030e00f95805bb04e4a3a986f9b34f40cbeb1ddf6ad3a4e0aef061a66c93df3f59ba4d0376fd528e32de8bfe7e04f0c8ce607d15d03129bad22420f19d195b143d9e781cbe52524f359e8706ec0fea0ca4624f1b061c931f01aab085fb016269a0366025e0121076ece5cd40b2feb50588f8d8f71fc0f93e0278ebca9a016186130362f4a7803017edc880f5ec9901aed38f01c6b1366026fef78984ee796a40d47a62c0166f8d73491db79c2dfd3360b16dc100237d6240c15e0c50e4bf5fa8815e03c48d4bed8101899e1ae03a2d026256f03635d078db8e0db00e4f064c791098b052035d053507acf17d013c0938326025f1d840766cb135e07df52503b57a3b3190eff0bd6720177ff91b1027ca96170c98e09d18600b770d0844bc19a86fbb1703ccd6870127ecd60171c4ec2337c04a457b6461e9a25f8ad8fca4e94ad2ce3229f2b2b24dd374ca830eea97349b461ce60050cdd4c85aa1e941c73d24fb9a46a6655cf1b7b801482a7641af03524237596aa044efce0c240e44697b401a3a30f5fb013b22d21a901383dd5e00702bf1702d12ad2a365f6f021a8e5461e9d22ae5ada36e17102b125aa02affce673f658070aef4ba4b993accf07a6e8071a4b6bdc92142323420887064c09e2b9ad036e8fdc5001b340184c9597f34c06cdd19f04961805dff365013ea0daa32f5fc05354d6d5016de0cb01f0b066ad3e56b40f830ebaf06988b330395436ffbf420ee7778b83520f47b6480ce2580581a58290d08312e1848a39ee96cfb303f8f061cddf931402b2706928f6fe423547dc0b24f6a0f453bcbe700ad5c3520d167030c4a649bc67ceed540bf5842e8ea3843a3fd4173207d69ff003ecc9201d18d4303d5e52c8acef6970153e2f47707e61cac768018a35690a0661a16e609d0724662436376964eb4bd72b0f10e8818ca823cc72c1fa73cac2955cf8a8af7e6339523fbfd53abff01ae19dd33e0c0d428802e321eb0a6d57f50a91c0b434055c9315a537bf41f601dbe760069ad11e8966cadea4f8d818a8e939755f138a7eee99d0336f867066cf6690d889f2e0022fea1c718e60039ed0c942df3ecccf328dce2bf73e20b2f80b00e3f7b066c4dd0d89059d5570706fae46bdb80c5c74503f4b636e04a995b80e385b501c6e0c500fbf16ac042c8d840b53ddf3450bf5c7e03c21874d7064ae3f2cd80f0cf05206638ba4bbe0731ee77630336c646c162543f7f3650a2cb3303746ecf80f11609aae350cdf2aa017dbb628041290d54db9dca80b9c786811479310a96451ab581f4b67933c0282d1ac8cbd94192eb3c3ef96740e5ae0c28c7870111d63340c13b23a7d11e111e1c2163cda8c25ca86079d6ff13907ce4bf7794cd3fd9e517bfe19d39d8fa0694e8adde9eec41a5517da0fbe8cbdf974895c6269f54055b45bb3d8027232da0a23d1e77003188bfc52f22a2a81b1fcbdcd18dcb2d03827f850121934d03dce243408418179e0d50a0dc80c34e2f06146cc980bb1869b13a2e55bd4f0d548ed51303f6193c1928d1e55d408cd90b5303fca007032ed0f9324009df015e6b4c0c54d29f3b405cc174f965a044df3f0d48f4c30007fedb40faf2189fc45a41776520f5d0058f73a0ce6e22d1382afb31356042b364c079c2a181d25842601c44d011913950c19602c45b9c8b2b06e8dcab8154acd931900ff3180d6435dd35404daf0df4c94f744341a27adaa8073114e8e45259640d63b6debf2d8b7ca28d4bc3bd4900de1939d69054149344bff85657ce4f286b887e30e0c5e0570395e3a70cc045a43a7534075a19610bcdefa166e684bb80326e17fb09a0738d036d169c03de2a790434fc426fd7ce018fa76d05a871150680969747d7d50d45356924969b2340ecc6c6b72c1c6678dc366015907254f11429e6b3f81bc42f0c08314e0c9848d0511eb3df3b03caf10288f176e1d580f1f6c48015ef6703e241db0604ff6e00e18dffec1b30135f30d027e75b06083f3de7a8e4cab6014669c140fda2bbe57e43f6613e3f0d18c4730375d47205887b263ed60d94c6f3c88099e78201f36c7adfcef732dd60e77b796a209d7bff31c099783420903934e0846e149d2d0103dd383d075ccdf966a044593a2a3c0037a5012b34d12f7145f9616e80bf1e7529c3a08c0d38df10e21047225649b48985d4470d9e451b1b0e37d4eabff31565cbbca12cb87268b82f052acb71aedecfb60125d621fb36506d17d703e0afb79d012f095c032a2601bafef5173009d0fddabf4972d5e08f8682b21ad51c84bd05c4d4fc69d54043c1eb3d20ceadbd1e1ab09b61c58073d1c70644d0640b4b2f0d3cde1b30e06406928f771aa88ee7099e3303f4e5db80716e68c01cf906107afbb062c0ed62b9012fd57c01e2a6d6e5cc80d3933f06eab9c719204ea3eb6dc13960f05c3660f67a62c0e4bd309004add3511e80f520ee1cb02f78d38011791110b7592c6d19483e7477e91c68ccfe8c72c47ebaa5750336814f0d64729a6d03e6c851dbbc25e41a89c61adfd29a01e2f06cc06edb0703ace5b68154fd7d66c0ad5e51b0d807bb941ba83d16570da4518f7f9f705b4148611c51656768e98800abf7bf4069b02ff817a8608b97808a822d9c1ad040084c9384855137fc6e73949a6a737e5965ed98388c0c4ad5bb1b58981fc08c10c1be04a62a475369b6ae81eb01d6619827008e880cf4deeb1c48c58a2d0395949db295edc7d29b015bcefe016a3ed131b55f808579ac0cd4b7eb0da09377315c973f56f5c560ee411a7f0b98ff0c0833dc02629ad0e4061cbbe117f52821827618804fb47d7f0e305b6f066cd5a80c9856ef1be0e2770612ba4dfaa51eb351f87d394058cb3b032e893c36600d6760a06cd702c4e5ae0b13037db2fa63c02cfac6003b5602c28e3dbc1930794f01619456170111b8bb9b02e20ccdd79581b2fdf834a0a3560c50e47b40bc16fe9c1a48e72abad2c33c13bccaaafe8624d7dc5f386806066cb3981970b1c0c84072ba80d0fde9ed9901c6e00150c544223340f73f0c70e0c706ac154423b3b6367023371162fc30c01828db7a5c8e588050c1ea3c9f71418aa65e75598767701b20a6095706fac55a0e6809fefd5c1b302bf8fb05a7af65a4eb6ac41b436ba780298f20cc3e00390fafde4c0131dfd70328656d59d71bba7340483e31607efb0588c706757de31ca0407f009fffd580e1f50fb0a24903795add0d0cd0972303ce34bf1a483d568f01318b5efd30501aab9f06aacbcf8101f1d3121007d857df0dd8d29c1b4860869f0628e1be8104e6f90260259c1868f4b8dd34606188deafe3360bddbb3107b2da7a34640ed0db630389f6cf3d80417ca0db91e7809d191f064426be0c9406eb62b587e8e1a9019afd6cc09a0562e911b93b352092776c20a76671d340697c84d0b18c3e786d0c5497c71f03e5f2303620977703c6caf8451de33e7a1b9a3d589531a89bd822b12ea7a6f98ddacfc19e84ae2979746898ef021af66d61b67e8172c197fa0504ff16021044603bd02f506def3b03c9075b027e01919a2703653b26d12a8b319b4faa827542bdccf29b021b205e24c94d1def14613e1baf9aff5c1ab09ab00988618df3628d355b0f37cf0107fb4a404c9adfdf0c88d33d193009280c18f86e019e561f1b288d9f5303a609a90131c70d0302ff8706ca652d6a1b13efe527037d72f40f10d7d2ac560668e5a281b47299de8fd174f8961970dee3c680d9c91720ceaca6a70698be770346e41d030e094c0cb8e4fede8099f89681e45497aaf6204ec8ac9706ca7667d940255d583750b66fa90146e901c05efcc1e2b9813ed10bca7380317801b0f36fa03731e64045ff9e18a8e87567808afd00b83066f03031c0ff7833204410d56ff8c5c3c880a8e4a7019f4437c4e6960bb4a119d55ca043c19a70144f35c369b34a4fa40c0fd5b76d1eef262c9f00ea8c353e0d27ad77007c5d025a6605c98101a75a1f02c8c20cbf25c96d35e6d1541631da2a6d3885b504c86ab5ba6ebdef41412e937340c966d2ad05408d8561ff69ef9f70c7dd93c4a175cce087cad95ce879e8399048bd530eeffcfb4a0c70591e017e2fe9d240892efcfd42e673f865c0bd0a3f00bf75f46880fdc80ce427af7d02fc70d1d48030c3378018db9025acd631363d033807ec718ecaf978faa10163f682015bab6b006a3ab84a0cf864642029d4adb373209dbb5a3220d6b7622059bfcd0cd4b78fcb8032a20a8501b99c1b302ba80c88e2bf1848a44eaf011cbb19ac4c0d786973d14069e80d99395049d71a4068f6ebc440bfb81e1ab0c48968d74d84291f0d98267c1b288dab65032c4c88541bcec487817eb11c4d1897bcedcb1874499ab0c7680f9027847f640cbabce56cf5b284ae2b32de39db54e5badf3fd9c27f01d874b47861a08984ee329903822a7c524dd0ecf51c30e50ad9b52d40d290ed02a0c03ae019f4a0919aae6f1a30a15904943577876900eefee6d954ce9ec14b01886712d63b03161f570dd4620b0f061c45f803d21766af9de3eb1c01e8acfb0f4706d88fb1014b8b2520c67d04a6b3ee3f6f1a30889f0162dc5f1b1a30077a3750037551dbb8c5ea636c209dbb9b1948e7cabf5f48705f5e003188ef2c19e02adc18482cd313038cd2810137e74747c5b6571cf8cea3fadd8d81e483dd949dcdc5ed860116e6d4802d0101e24cc0e2990197bb1606ec851b18601c1b0349617d6b80dbf364a072ac3e1b101f8b460edfe1f5c4808d07a5018b1851f430286bad01f663c500bd9d02c27eac5e18a83d74316b35ca66330dd17a52a81ae57155fad9b780374eef6d01e23e58696535fafd9b7f92ed1ac83ae82196396017e3b781c4f26b09306155e3eb019072707c3d0314bcc05e6e035ace89bfac0978547fa4a4f6e81f5f0d18092b405c05f5b666a0720c5b0349b2f6d2f620b6aebc5c1830ccff0194f0d98065c1a1813afb83568ff72b876f6303ce47ed1910663832c03a3c1b70f0e2c54082fb3a03f8b5df5b03968e560dd889706dc02eb55303aec1ff00b03374f0f562401cf7d340b9d4db0692e47264a0f6581e006277e9e2ab81d258da32c0e4fc18e0f3bf1b304b8a56af623bd0b2016964062a989eef9c03d61bfe00aba208ae15b95e36c099680cb074eb06b8f8916828f2daa7811a39471b7abd55a25aa19903ac436e806710b9749128b2de8c228d5303e57230b7a7d5783a1e7351dca540329e12ed91048dd306ebb0b00068a7cce6558e71d610705f54038d8ba92e9e18eced0894331e5fdc4b00157b9cf706801a93a3fbf9fb7945dc059d8f0163363d2795814c8eee339803bcad25032e86bf0cc073eaab54aeb7412a7af16e2025dc9a00669c7d7b3e0764845cd75b0349e1da1aa0a895c676fca2615deca516f074e59ef6b0d97aa2a47fbb6ef60dd0fdf8241e4d7d7b31505db4cb750e88f53506eca45e31c00f5a379041795930e05cf41010eb846f5706e4d21ae0a16c1810201a1b7054f609e047ca0f0d28d8bd01173e7c19b0c9a634206c5b1bc8187c2c03e2da80c57303b68cfc01e5b2f668c07eba0b40b81b6bdb809859547f40d97edd027c71cd8e0113ab0b03d61b0e0cb0308b067839a981745f6be23d88e58566d380346a03acd48a81125d991960a522db365c963303a65e6b06783951b0d827fdf10708a82606245a1b60a5ce0c58c3b935502eba8fad1a37ec11187c9e1be0075197266ec2d22d343d883334ab7b80d8b3195ad9ceb8166f5f459fccea0917f74a7027c524e77ae000d35c52b8ff02e8786af2f546e0f76f0e1646069cbfbd30e098dac4400df4f66ec00d210166eccafa7e06240476d75600291b41b571ba0705d3a68b7d40c3d4ebeb9f81725953474dea49c379b10f801f93bb3160df456580d93a336017c1a9815aec63c58019ce23204ccec3b9011b42be0171b8f87dc300a37469c04ad195015db96fc0becfa1818a5e9c1bb0d7fa081056eae5cc8000f39d01966ed5007b3a326043d9c0802d56eb80b8cb6467d1002ff8dc80d9c9c480a9d78e8144fbee16105797bc1506c482270698bece007bda1860d8760cc8e50bc006ffc1e79d010eda8d013628aa1f0fd354a90187e0cf0c10cbda402d963f1ab0dc121d1566eb2a3520dbca00d3971860c77240dcb1fb5a1810932e0dd0cabf5f280d3d60504d7aa3c452ebb90131a5a9012e1cd93671a35f7b61c06b3733c0246abb0988ce5ecd0031033e91044d7bed502ce74d8a3ced959dba5c1828dbaf47034efb1c03a6ec1dd57b7c73208dca8706ea7d3df0390784c35e02b0bbf4a706ccb8e73b8d5f84d95a2f00bc903bfc7e31a0a4bb809cf0f1f406d0cab00dd725da7da65c88da91ad373eaec52f5236b56e6c04c0b97a79376037e58201c78f67068490ee0da440af2b80b0410f2706eca3af007143d9dba9011b420a0382c35f807059968f0cd8cc511870ddd8b181ecc7db1920ee4379f9366083ddbe0136e8ef138cc13f03f54bb962c07c7f13104badba4f690e944688651d479817d60cd8e5fa6680b9d83260913c5acc77fea506785be7063846d7061883bf4ff01da2a3e26adfcf7b039c9a250342f2898126560f33030233e706dcb814b58d0b407533c71ce0073d186061e8a8b0308325c4c1f663edc240692cc72fe25211dd9159fdde21c2093b253acb6bfc202d2c57b3a2898328325bb3df8b7ae689ea6ace1eb41c62d5f359bd7f32add4515f8706aadce6183063e928cf0df083360c64827547c41ca82e830e90c48c6f2700abd53a72f79b026ecfc60da06d79da485d39ab595b1b6e0e001376bbbcac03661883a71503765253973aee1b7f7c36e056af3b0316a89e00612ebe66807812e4fa15104195a50303ce9d6c193066e706d2fde74834ee22787a3650a26b0f0618a53f800f736e800ff363c066d2bf4f88195c19703aff1210f7a029903907f81fff0c6494d25d0334eada000bb36cc082cc1720ac43b96480a7343640f7a3a4e15de87af11ec45dbf835b03ecc79901d53f32c0bb583040d58f0da4b75da411b3a4efdc8069e4cc00c3766c402ea58172d1998039c099404d9bb814f1ebcd8071ffc680b9d8b901fec7c8001b7461c04c2b038c238d99817e7115bf0893731605f3252bb9813ed9a0b64d843bf6253089df29da7b02d4dc28bc216d48923491ffa12763aa242f5906dbd3d89094190f04efcd00394f80eea960493562839d5ea9eac10c87e4f30fa881b477740ed4405f0701885c2da480044fa91818a8a43f5303e6624d00d2485f01799cc3f90760a16ca04d693de8625d4cfaf27715c30db575b4e7f9c700ffe3dd804d9c7b8070599e4a03f6af8f0031a1b9dc31e06e5b8aee094df16d20291cfe018d0defeb80304a6fdf068cea9f06aadc6a6e80db7360a0826d3d002a5eb85c7a0a401ac5850137d7ae1b6050ae0c58053c038487f2fe6ec0004cefd70d038e8e52ff02b2cdd70c9813de19b0eb66d1005b78658031f831a0f7a3c5c28e7dbd1aa891b39901821b45b751fa3620dba901d6f2d0004bb762c09c90ea37deaab16c80f9fc30502e372303e5c2d240621b74991910ba411c9ab819fd6d68c0b52395018b6d030325fa7264c036e06d401cda7cc80c54f4e59901879dce0d94e877543f0c9bf6a0f56016fed88601f7afd3954dc63b67fb6ab1349bcdd8c9a434d23c4db0963b80de3ca8811a401dd67201d0a5cae55475498b9aa7d075957e3ff18a3b007401460f9258b05b03a461b6f20084d3597deb276fec2ddedc05946c07d23bbc3da809a7eb647d0f305b835540ef8fb1bf905cea31d3b7a70410416a5d2b51a58ef65c92ada74dafb9816aabc3b4bf2b8d28f2266d1af7f40e9fae0cd89c5f19b065f5cc8075c22920ee647a5d3660b636326007e29e010f6b7606eaec74db40edf1f205886b14de460652f5eb89013b108f0d30289706c4c63b03e61e0340dcbcf0383560e3e38e01b1f1ce8035be530396d23e0c24526fe78038e7b9b26bc004efcb001bf46d40287c1d10919afad280ed0d03034eb4cb2f4c9b783cedebc340e2904d0df02d6706528fdb670077330c189252fb417a58620e08102d1810b5be30c031ba018441b9db30e0c6947b03dcaf45405cf6f2b160800dfa0318367aae89a0eccec8809d9089019fd0ea4d9cf1deb935608e1c898677b1208dcab20937b69daa1bb27cc2cbb4c7e7808ef30d076ac2ac98e882d861a2e1248bf0cf60696880a1bf339031c807066ac2c14700acd47767201ba46711e740f6633b1265056fb0265faa4fa1c13a4c01e15c8d4e0171c9bdeed7ae7c69c4f0ed0010f3b9b5cc80abe30f01e1f6bc2f027cc95b69c0ed2fb7069c9ffbfb8460f926c097ac5c1be0c36c19a86f9f68b13a0e6cbf6f19b069f1c800fbf108b022ff013a6a6c20adbcfe03cc4e3e0d38c2fc97062785a3c538fc35f87a36e004c49201bed4bd8112cd570db0520b065cd93e3560485a3660109781cd9a519c395b37e018f4b78172d1d6d939502e3af43d074af43d0184cba24b23e680069a1ae03a6d1b602eae0d50e42f03ea726ac0f505a8691317e6de7d1b90cb96017579336077d8ab01e7b42a03c2e9914b5829ddbb3107b85f08bf6dd06b62c081874f03dc9e1c103b775611a9265645afd4ea79319eb1b35c9fe4e584d76d172bc0945b9b3e14eacc7b9784e76e5f005898c1db1f605bf40120c728bdaf19b089f3270007a692674081d9fa79315067bf3c1a70ccf52600b1adaf48b4c4dbfa1a1a1063db03542ce9fd4860f2de8ea93d9e3f0131145cd362f6a536ee00f174cde53f032edf5b0544b487a592de12c6c5ac77066cc25a35601a7961a0448bc680bb7f1600e1c30ccf0d641d56a260719d25eb0db927564bcf06d8b14303e61e1f06bc2f760a8813a96f170688c3cc4069dc2606cc921a032edf5b07c4a9f88f4503dc9e4f030ef48f0c94cbca9b01b9fc1810c626978643ac83b7450326783f066ce09e19e06d9d1aa095db06cc1a690f9badef918172b9bb33e03a87bf4f30288f064cf03e0c24526c2bc81b9ff44b0c48e3d980f67837a0a43303e6a69b80304a4ba901e7c53203fc2034aa89bbb21e8706ccf7d70d182cbe01e129e90aa6aac826191ba864d78b7256e07cff00121ed57d92b52c7e755b5df9604024efc940829b368022ccd6bd019f3c1bb0f7bc0a80a734c80db84a6ed380f5b92d40a9820def3f0c88e33e1ba8c5749fc16f29306cc302d0e07e4da87e3dad117e1aa89eb191fce21d9010ec7aa64d1db9baa6b69e023eef0262c5fb91bafc4dce3e0d58b01b027c83ff8701eed70d20aed37ebf36a0e80f06b263d9960113bc0503d6816e01611d960f0d48f4dc80fb717f0c08fff00b7b288335034259ad017b4812031ce70b0389f6cd970127975e00a1c83faf06c4e87f0cd8b4786820a1fb5c044494e532316037d48501aed387019bb0360c988c948038e9b73d3550a29fef066c3a7a35e0c58b3740a8bade029f03a66f2f069cd3a26f9b8470c7731e805c744d600fe224e88b26ab453bced95a2dffa3cc8a0c37505258e65d82ce69a6551629bb29375a40ceadb31b1a094bbfa3b9b70d48b44f69b0f702e01defc19b4c70f9ab86326c5d00dd1c37781c004a5c96bb7303b67af917d88ffb4f0342f25500d6d6f4acc8afb1c06549df0035e0333790686fef0760a635a5fabdb9908a3dec0162915c9787ff5e4481a3f84e2e11b61deabee0392030736fa04475e3740f2220b2706e40df2e18e0b08e001183d5f5387340b4e7c24095bba5096beeb81b0c1e0d883a4d0c48636ca0720c47063846b241a58dc1d7c480e16464c096b3a9013b986b0396f44a004710079f4b06dc72363260c0f9fb055764dc18d0849f061c1efd03b84eab80b83dfbe7d98059d29701eb512303aec34d0dc8e5c280e0ce31601a3edd9a01539e6f03e2b8ef06ec923f0284fd583a36c07e3c19600b51f5268efcaf9f18100a4f0cf4c94a7c123760ee445de29ebce54d03767522da6dce22d7a61cb46a5ae8e6ebc1a6fab69a4df438e7605325ade234fae0593d5745a477b018a00a7065405cea2e40ece87e33502e6565c01b323b809a99d6fa3da0e1d2aaaf730097570c773400f7497278f4f90b1027a7f53669f577ed88deb0fbcda4e505a1b5007160eade0063109f8431583a34c07718fd5ff6ceabcb911bf7db1fa6ee7194c3a53a772bb742ab7557513997e2a77f49e207f478edf1dabbe3fddbe71d9b678ee6992a168b0580600215604460a70079a04e430989595929c0a8f5bd020c88bc2b809a3e298019bf29c04ebf2e80980b0ea9eb00f623a70ae08fdd14c0e9650b13c81c8e77cc2bc090fca70274cebeae8033b1528070854b0570e11a0ab8e829be9cf42ce8480a600b1f14a0fb7654c04fa9a50af829654f01dcf3470089c459f90298589e28e02609fb0a02b51f4ff2721219ac325600ef22a300a3d65b0578db338044f45b641570392605059ce9e24901678af1c2209228bcf79e02ce637f518095d45500890c967a0a3052b35500197b5600f9680388c9b9de2b80c9e1562c88b10a9a3a2c96a158187ae08e66582ee659f7bb2c0ea15f2d73a6d853149a961f4f990004e89d70e45a03421c5c840d0f16b085b97e5d811340a60012efa23a1020a32c6380186b145f4e0089f44e582cc33003b335c615610953582f79009902dfbf02c8c0ee7aa500e182da00218e56dc0602a443d351806ec25a015652bf03c894cd7d5f01df7277528079b103800cca72b07d07b0f71edf25942080dba60298ad3b05d8aa925780154467053876a6a7006ee04d0184eea200238aaceaa17a28540010efa2fca60099d615f02d7c26a80390e4160086193c2c790fc5dda0d35c0117fd2d5180e1d29502b8817817b10e1e2d14a0a4a4007e504e01dcaf4001f6cd4ba6128b808f6a71002e4b5f01ba4d4705a8d396024c3d5f018a31c2039705402c4fef0af86d2f59051882f615e05dbef280437252001b84af1f6142d7bbf71560a0ea51013ff631a700c3614d05e858a50062949e360a7085bc8b442ad99f14a01b292f27bb8d5f1944d54215f3eaac2f919f413f8a8fb937e644463730d71805a11ca75e1200a3b47e01800df2ee660ab0cef155006eb9f415b0e9f37c05dcc3c17e310bd8c2e04345c66c61095e43015a53d697c8d831ecbf7d5600e71b2f677a5a580d25b7e42398be14a0823d237c9c7a1089a5f3e09044c6a2201adf528004e1d12be49c80a2028c168f14c085eb0044c874b31720660b756aec189cbc170588bb715480b19c1b80cc23afae0ad8a0ecd83d8fd40fe220090e605df0490174eeaa0026476e91a52b5452c0a2cd81d11c80a5ab2960bd2d0d00c465f1b60ad0279c28c020a4009d90c16788e48cb24b5101f6357e28c056d98c023824050550f589020c314ac12454e97d4d01d6d4f80a90c752017a49104bf550f8240107b02bfea60093e47285f8fcd70705b01f6f0a60b5ef14605bc51a40ccc57d51015f71902f27c14d3204e0473028521fd28a61a17014cb04f78425d9f4cd0a3c86f24a005185856ec09e41ece7ab2cc9c31d4080ddf96ffc2eb1ecd5a0a719803ca55503083016bc935b220cdd9c5f152070cd0b402cee5743000c0a7ae2167039b02fc90216ed55ac80f3084b0062942e2c52c6d7421ef4aa80bf9cb75700cd2e00c872640c97c66a61a44e65d8d6433f2a567381bd3cf1d73cf2540142da4d14a09bf0ae00e560cf20d6956e98058cbf56bae5147067844f893040ce24a72705985b9b2940c0a9b302b42f7d00d17d2a2a80db73af00f643808417af6614c0289501c4183c8c15a092330ab00fe7aa008d85bc9c2c91a8ae14f02daf3d051810c92a8067202f278ec0b1a480cbf1d253c09fa1f2a900ab6ef20aa0b743051843913a156370b755803cae0ad07dcb29e03c2e526312186dfdac0015945180f9b9ba026ced8256461224218d14c043e902c8f6e35d550156cb41d66384d9f05ed95c24c5048b05f970f020a92459007647936a091b403a6c7212bf88a3151f3b003e76e7b7d8c02601c28c52b10790602e69b5130083827d9e16701e58089aa8ffb10e14a09fcd429768c78ac3261a50857f8acd4ee68618271ad4156032650d20b1d43081994412eb77b6578076df0390c8a4bba6020c44d414a099bf2880bfde5280d51d3900e937d0a3020c992c15f0d75f4d146025c24d01beed3d800c536e060ad0eedf2980aa4b1ea2d92f810278f45f576022f541015eee5101c6505200e904f8570550f5850228d0a3020cb9be038847ff3a55805bf20ae04c7c0248abbee82a60b1ac16146086f74301ba91f2b125c2e1e34501bc8b67055888f1a000de855c21fb6f37770a30c6f6a8803f439314c0e2caa714cd7e0901247409b6205a806d9d10cb5886d4de9c810d33e56c99c70c3a01836a803194d6958176358e114082a18ad29681f99fc75038729c03ac621c9cd10156e4bbae0234f3a102cc131605f0f2398f5a0059dcc2c7981b9083bb917b07a862c5ddab144c6c211f4b64408411678e70681f0a63f030508043534b0264d5de0520c17a189e13b7008df8062f17e9b1222b0518e94525abb968de14c03a5c1560092f4a1ae524ced5bd028c5a6f0064029317b43b007331558066fe4e01d41435f6d5df9f01889abe3e2880412929c030c318409ad7eaab0268765101bc8bb902348df8b6919c11b29c2ac0978b15a023d15300b3b554009d93fa90186697aa0218b68102ccbf040af8292f3b05e86a4c15f0eb7fcac796bdf70f7505d0b94705f02e460ab08e5e5e5fe217a6b102e4b153c0b7bcb8363bccda63dcf98a05834a1571263a3780b8889347f30caa32a1fbca4a98d5634506fc2e595d61d6ba008847cf61f10c4800d811304a9a91956e2500391a9e37f73880462b15c021febcd5510197347f0750952b5a00720ad1bc2c00f1a57870d80051e4d9460056a9dda50ab0b00d35f6352a5963a08abc45a61142947b2b54a134afb445d12564081d3c0570596e0a30a2985380763f0b20e12daa2505d83570558076aea6806bbd2c99ca281cc7dc71006f3b5000b778ac008a2c7948108daabcad28e1dbbb02347c330570cf730a90a99454828971685f073066400a30a3d95780651607059c69f51940768355170a60c720a791ecc4e0e0ae0ef06339d48f038822b15000b3f59507bcf1570568913f0164bfe9f949011694dd29e0a27314ab30e7674b08ec7c0088f8b44eafcd963f179410c57b8f5ba479a5cb2b400e637d1c64c5011c1c100a408ccc46190071363d0f8f0dcbe823374e00556e1a29ff04e0a379ddc70058cd407b6e5e73da9d9d6d15b036f02cb1015968e5be21400ee94a00c4e97d190188c3ba6c2b60b1ac5c15605e0c15f4352ef5a9805fee73a400adc71740933403107774fea900425704907ee5e24101868f9f14c061bd0790666d9a550005fa02680a2600a21ebc47c201c8fa8b02d4c748015a5379acec9ebc7f500039fd02684ea40a453df8944c07e09f92028ca0e514200ff92e12e7eaa5a6009a7da700cdeb4101542cab004b248e0012d62a7d51c08fe5dda461be9a2920ae758181f43c3d8ed26c441ffa42b522401e1a553a2ae03caa1b053c1c16cd14b09a7a3b05089f54121061c0bd0e200ab4ed03c878f2bc0220d3607b9434d2e35eba0a309e8c3c8cbe402b0f0ab0d76bad004d52ac809b82d94e01a26ac853b4150b15405ff02eda9f5b4aa6a22f8bb602346b1f003265731929c0ea9f070568d6360ae0c28d01242e5c35a700456f29c0e2da4f055871f70650e1b51bdebdbc2dd67d7ac7be020447aa2ac01e091f4082bc5d3d0518a48e14c0950c156033ed4c01dcc08a02e8add4872f2bdc9f14c0b59e2b407fff4d011ae0920274bce51651420eecec00be5c47017aaf4f0aa0d9f700b27df0e5a20033891905b8e506204bdfde1e1460a01b57c462c679f2312c14fd0c2620b80a0b25d991dae1cf50a88625f6fa5ed8e72f88b349b71c400183c31c9dd001ecacdf2b40bce0ba00acc80cfb0045a87af0005042f3fafa01504167d55f0384686feb7b0508ff2a409ccd39cb5841357b3f0590f3e7d20e401e913978459503ac400b5280854b28472461470e73055c8ed25501543d5280f62506d0939c3f146059d25a01b74087ac026cbb91c76a9f30ab001d898c02be65be0190fe5c65a90006456e91a6f13850808d39230069e7162b0558c6972a40137d07206ee0f35601dacaaa0238f045057003217491c400b83c2ac08059490132ad2840bb2f4f91bd2bb79102b462a40093f59e026c45b85300f31900c8da8d875001ded6538089e59e0278b05f79c0f24bd16582ea994d702196b5a3bc96c501b663830380c6eee0c7166de02f6eb3d90d2c16aa794c50e18aa25fc49a6f6e1a8bd54a8e05b7cb46a9e8672bb00e3d805c19bbe2e7000504aaedde01c889393d2eba06f3a07615a08083791f070072f4156c50517c07ef195798ff7166db48014cce49011b946b4701bfdcaa2b00a13a569102ec8a973c4a18fd6ae604c0bb383700cac8347804a8ca968803400ca3b467152baac9d9bf29c016d521807a06370570e0a70a1050089f414dcea1ae00b74c14f05378239b7d57dcf2f9a9008a7c015073b1059066be8ab7d5d19eb7bd0278f43b059c474d5e4eccc5ea4e01a62820636a0c3834b803fcd80f797dd1fdfb5801863b5e15405fa43e44b34f1505b80252a86aba9a2a4039ca0aa0fb030598b1ca00c842d097b30298e0bd02bced0c401682720499b054aa94b0ff855bc25239c14192affc5d4a953c873bf5f8d0f6b0542d16b09e7f0a1014b9ade483df0d4878fa9afa5cc925bf8803b5dfb8c64aba6be0ccc6a064449725b98872d8ff59a3aa0ae0d36d14b058563b0a30bb5256c01677df1220074b5c017cacfa2d9c0102b4fbcf2b80082357d93940823cf880719ba5acebc32d5feaf1aa00db0751f4488f8d7857802ef14e01c6719f1460f8586e9100189b0c808cd4bcce14408150a7a240547a538098085905f0d7170a9087642a6ef171a8009de6b502b8a30f0ae0c0bf29c0d69d910238026300e9accece0ab01e66a4002bcb3f1540f8bf00e691f1b1556f4f1f0a601d4a00a2a66f7d00d14ade5deb00bcf1b202b4c8218068e5c34601a69f0a0ae0c00700b21a3b7d55007f1de588136c2ee68346c3723ecf6114bc57aea0b2cef0b6d80f2a578b88d7c7074887e500a7c95399bd9c7228a7321d7c0568c5da0ad05df902fc72b5070558cbf2242042a62b808af4b3470af8e5a20b00a2127b5e0120c606a12d9bbeb28e29ed1700128498378e87657569a1ea65192e257939191da57d1d40263196890296f58a642ad180d3b6027e4afd1e40627596b30022fcb393020416382a808a351460a4f715404636df9a0ae0167f2ac01cce9d027489ab00410c87f543007a16e59302ac2cdf28407d9002c8badc221eec355500c7b9ac00a20d3955053add2bc0d8272980ce49ad8bbecc3f14a01c8f0ad0ad961ad3662d558061a80f05ec28d6470ad09ab2c929c7baa7190213cbecfd1a054b325840f5c296ae52cdf2014a1eef8a0f2bbe0c54f5f9335444e7bcd73c80ccbd5ed941aba88a55ba001528216f31730067823e2b80127e016c787854c0ef72b71610613c39520035952baad854333e038812ee593d74d3378d2b00a6c7cf57f40144090f6f0a580a6f02243e0c9fa7e500024fec1570d1672980346bcb67052ceb5bb94282ac34af0a20da2300d1ca096a5d35eaada580dfa572af00fdca91028c4a6e01448116630570f27600e206decf14a039a929c084cc178002350074717e55017a9e4f0ad0e0ac14604788af002d2101888a1d2b0ab81c8d3680b4400f770ad044238f5836f7f0da4007b80a1b4505503154612c0b641e3f15c03f954c750fef3b808c5df4d8c0568bb91c8e42ef00548b587ecb6f5bad668b18cb1901a025f4786d7158f5b30528f206a0e063453737e2d5a08c430f8747001fbaff16038822f3ee2703e212f6df72d1ab3a265dc25342d9377f7f528069c196028cd43414708d1d240f1f4e6f660690404d9b6ce9aa3a2db83d2860f518bf0294e0f4ee6702a4f1dc03a09df39613052c1ffb2d80f4c5662305983c3829e02a6ca282b4259c7c2880468d01a4599b7c2ac02d0b05f0716b0aa02f11800ccc4c560a30c5d95680f986a602e421994a3b773e2be03c9296022e1807cf72005bcca60ad04679003a5cda50807539770a70cb3380a8e969a800cb6f8f0a30280bf5883008e9ad1e14c0fbcc2bc02dc8431bbe9793028c5cbd01c886bad34a01dafd3980ac63e333fd42bf50e4f3c5e89deda9e90162adc23b17ccaf660b2c1f1cd52bf4033986984f56b0928efe5ca724405ab1aa026e4e2a1d001fb7c0637367a173d3f8a400a33d9100ac44f0be003fe5b00408a0a6694300066660c6dde9cf0e70e45a0b104bfe8505d73c43e2398600e25b36470a30d28b77d1c1d0f95e01864c3e15c061fd0090ced9f2a0803f5482a27f4d40dc2b8068d71560d9eb5801e731c90088a3f870af00f31e730570695f0044a3266b0550f59d0268d45801d6087414a0b1904c65235b3551809670ad80334dda0a9069570167cae7ac1a20dbf5ef060ab0b0ed51013fa5b55480d7af2a808a41a4cc43b028beaf00870fec156069f54201f4f65d0174aeaa00456745f67529e069ad00b75414e09614401b60b9450281dded156070188f8d65610a9f5c1cdae8599802677361e35bb07a74f829815f92b8a37700498555ac751420ed2dfb0e813106ac2fb074418853bba8b80708a0d981a700cb5e570ae05c0d056070a7d35680558c6f0a70a27456016bd4610110ca4cd14e016254e505c03aa47a0b0e3cc59211534e5cf1f20a906011451def629a68b8d6730031177cccac0112729963ff38c09addad014888ae7d5b01faa69f0ad015ad28c068cf14405ad3a4a980f3989e15c05c641440a4460052634947800cbb7c0044e803952702c4187c2ac09a3cd458242176564f0ab09df2a8004b23fb0ad0ee3714a0a4cf00a284f78902ceb4df5480d5c7dc270c6422c4bbf31460a0ea5101bfcbed5d01dcf3af5be09e6f00a4797d3e2940492152b12c28eb95016478f09dcd7858cce458e8b024d1744e0b6cc75afc9450e3c3b4f9f5c32083eeec8e2b3914d1f6ae5d0518ecd22bd05672d06e07e07f9c1460a52ccaa103aabcf6dc2a478c55bf1e400ead7a6b0520272b60bd6518610b0075250f39f3a07451c08fddef1460fd69aa0003aa78396df8165705508fa6027efd640aa063287b0011ed4956014cf02740246b25b702a4019e2940d7eb00209db3ea9d02f492e40ad94afd9c2ac048cda70248615701675aaa288068b39a862a96f778db58f7243e288046d515c0831d02c83a94b78a0238bd5c74bb78903f43973f5454cd634aefa30a10e4398f01bb4e915fe13502d4f304f0ee38afc5ad5824c78a786d96f52894732379679b0172ced965ab00a6af2c008d45d852c079549b0a58f8319d6f018ecc3d2a606dd85715401be48a18d3829ea70027d4cd01124ce9b5b87f6bf7356233ed08a00c6d680e05c0f2b7b30012065f2a2892d003a59502086e4e0184bfa5003e5d022051efa71705fcd8cfa1026ccbba538051963e80ecd02d2d14c0d93c2880e9934c63f4912b520ee925ad360a30142e3526c27f3754c04fa9ad1460e21079a8d5ae2d15405fb20a30e38d3c628985747d5780700ea40073f34705784a5d0126fdc60aa095a820ed699d2e0af072270518fc230550e447005954524f15c02f44ad8b93e7ade4f565b94797f388f3259ece270e4519c6a57c965b8f57ce23ae642aece5dc782c38ae96798a8206ec16c7419e23d613fcb1587d3a8e2a6a4084d18d421740368f5e5702c4a76b29c0c8e64101377c77728becf7d8b3aa9b1c586f29d300c8cb5160cf02d046b51300592eb6a80248db707b0590f841952180a847f3a20003884b05581a29b744580a58b9294063d157801e4e4f011a9c3180d458d21520ddb79d025cf1ae00ef224f91e8eacdb302e4b1578031fabc02bc0b3bac712c81486b5b0518c66e2840dbf0a0006219008846d59a0ab0042fa3006b8c160a9007be5c2ccb91ef2e0a2074190528d84201864b9f146010a106202bdd1aa8a02f0582d0c5b2b678b306f0b1dca3cb1637918d17c421438c7060a51b95d600d8a7e5ddd5054488a9c25a994459f45f2eb102d6dbf10b4009a01500489c3cb88189ba4ead22804c1d75500e15dcf8ac008dc54d01d7471b2fa7c3d8c9400196ae90027eb9f80220fdecf8530126860e0ad024a500da8bde2a80eb345180ae396a2cce60af68f959802cd3da28c028fe93028ce4e51440705b0af0a1501f6af9af3d0091c25a5b01dacab902344992a96c33a90d14404de51611ba1a2a28965504f7787d35e3af5d00b8e75ecbd55894d1e026fd1780320c7dbfc62028973158be67a05df31e01c8c8f77d0a20eba56e55004c3d13b795c600cbe6c0e8aa809b936b5d017b4ae42b405fbda300a13abe32e5b7e505a936cb08a19f2f007904581ae35d8c7af0152d0f40d4a32579c89120ed9d0296e4561740025db75f1420535461243199ba370590f5a30296b1f8a48025b9252f273de0495e01f24815a007bc548021f93380c433e86615607cec5301dfd28a19c419593bba5780f1f58c02c8e95a01c4121f2a96bd916f630568d5470aa0402180447cbcf61570d15fdf14a087f3a1007e90145d764fdeda0ad0f1c6ebcb6c93579b2b4087660020eb6039e69f01b268a0eb9c89285ba814b04a2d62a06b9c1fb9c6b2d56c9185ae170354b1f77e882b82023a342796f5ac9543167e641ac90ebb30a30007279615a0adac29c0f04f51010699e429d2f1e625de0614384486172f01ca08acd82a0048548d280f20663c1902c8c04ce955016678c70a60820f00127327be2a401efc5db22274541928e077f9ac2ae04c47150015baac028c9ecf00b4dddf29e0cfd0682980487d288068770134c4f045017a27be02cea331560091ea03c8086b230110a1e320d50688d08da4e8baa31d054be440cb1ecb472e1f663181b961502a9658605e2300590af8c89f21572917d8e2b6582c73d50c82ce7c709de6fc0acfe1781cc629ca0585121bc70f367d39d3e222a40c7fa85c849da01e9f2262400eddeaf346010e4b9f29e0725c2305d815df5080f5eb78ac3af03c32e1007b4af9214005c2cf8e8001d5180b85f1fa911e3e20451707fead0810c9a4ce550086a15e0a0ab0d6290720c21fdd2be02a8c1e00c48789b20a30b2c9e622174be0def8a600c28ffa50f379bf001049aefb0a309287975339bd8b14a07ffb04807d05dea9a0005d0d4f01e4b40620fec7e90ca0db7ff0b163d93f77ca29c04026e791afe679f8c7eb704b98f7cb888d5d67cb9f575bc8936d068804f161a506e42141c750010f105dde14a07df902383b8e1470adf301b00e70c10e7b055c85410c807d27c4276d3a802dbb7245112027798858b605c8287e5b6e913868ad50013cfa0e4024d1915f00644e2b2a28e077896a0a2096f2722285c95c01bf5c74a7004d010b4c5e3b78d14a0144bb08205e705c53005b98028858de06007a28d58702bee28c7751e358eb03888cf18210db751791e2fa2814ca598c17b2a12f5473557658f9f88aa8e0e7790acb4bca00c5123bbd7c1c90f990f04fa9120314205241a0800decf945017ac025055cb0c3074011dee7b60320ee282f6a35a082b1bef64400e4e3fd0020e12dba1705f8d84f00e2f58d170af8bb4437051007b6eb056d4d2b35008d3e3703905e745452007f4cf2c88b17bc51806fbb5780a74c0164f54fa9ac00cb2cc60a6050f029d5e4dc860a200e7700b2eeb3f6ae008b9f50a7b1ccabf758928b19f31f83054090618382b6a198cd67794c9a436345c57282d8b63d366cc54a9047b05b2e695167575aecb2146dc789011e2b868d4a3180ec19892205581bb851c09f81e75e1de0a7ccef0448a06bb90223025ebc5180f5b87245198de776a5804d4ea1055005684f0588515a02a8d9220009d6d0f5006412237a66a09b8cbabe02ce74545500a3b45000f9d803483cfaee58015ad31180787df19d02b4a6728b6c4f6fdd29c0720fd4472cdb5d2a130578caa702c8fa4101fa1e108758a237f04e0c0770c516408690ce450510ed7b000d9022b7c8bed7c645015a752e58a9902d60d8f6042061dfa7acd9a56a8cf9fd3a3bf0258dffd1c22d5feded12a008c3c6e1f80d28495fbda100ad7aa8004ad804a8c60815f60c804514d4de2ae097ebb0612bc93635ea9e15f0d76f7f5d016b59019041fb68ad005f3f0090e0bf9f57059ce9a7af00e59828e03cde8f0ad0c391728861eb661460b8f40e40c4e1b65280a56f7d00594b5bff50c0edfef9aa00966eaf00222540e27f9c8e0a704b4f01be4b01408c63439e22cbf84e7900190a5fb3092e25392cc478e7af5fae06796c21628129fb19ec181ab07528db0897fcb66c3ecbd2bcd247a0809dabf60900c6910a6500d98a705d2be04fc93bc91d6081696c14e0d8992d00d64913075773009de692027e39dedd62b344988db194c3c7152db94516f8c70b008d60f7a400e3eb4d8038c629996cfaca6ad83a2b00895a1dbd28802bd957c0e5f83c28c0d805ea435be4a8ac00b77401649dc1670540452a051009baad15701eaf5f00b748397497ef4901c683860aa01e728bc4526b4c15c0b0c953641d0a47e48a2ae5521942c71fbbe267798da20749ae04a659e71ae397abc8803bf13e60f3a9659812a34e15ed593c2f0144e8f880f1c8466ec55ef350010b5d3daf00e714ad1560cfc8bd000438b89515f0637dc9a30ac10d7b0a20a70f0af85d78d7b37d28daeccd4901d798d7000890c7f35000a6c15a520e5900f13c0788714e730b752aad3a7559b32b6aa49b7d0069913f2f0af8dbb63300b289b57b52c0998e7a0ad8ae17730ae09048a6e27dbeef15c0e9ad2880e54f1540f8a5e812fb381c2ac02d27057c4ba60320abb14b3d05709ce5e5a477f2863a15f349032998066bc0a78c6525249f771255c53ff550a7d542097b349b6d803296bcc38c57652cc76b70c1aa41318036b0fda86a33dfdc0248e4053e8dd100d9a3c927b31880f95b2ab28752b5ff7325cf15b0e90bdb0ab84ea922204664b09e02443ac2538c9c42d6df156075ba27003eee3a0720a7bb64ce002140879d9aaaba0a9d370568d5ab006271474d0011bacfb3021687ce124082fe471b05c8b4a580553dac28c02e9b0840967a354f0af0d8a3024c827e288017bc5180bebadca2dbb13d05a8d3170528d84001b4a1a90072ba0790d5c7e79a022ed8073eb60aee1a9926050cdd34d9f4593f003236058833dc1434f9ebfbd94c16b2ce3566baea70269afcb6beca7a3304d0487a784a2983ee7d1d404261d380bf8baf3dadd70200ec3ab55f017c48f2255400ebd051c055c891382d80199f3c28e0d7df5714b05d5f4f152014f61e402499a3cfd987220f0cdb5ac01dcd560f408e25c21c9f5df58b25453b000928d47e04d0c329be0096bfbc28c010741f40e4b498558008104d05c83452007df9ba829fc247d6455f8b8dd1d5f063d9d6d93d2a80811d2bc04a95910218e996027e4a360190a8b3e1450184ff55013cd854010a860f15cb969933be8b7a286ff8fa6ac61b6c50822fabcdef12e8a6de6619a092c7ba0bdc22db2a3cdeea1605c6a5877ab0d005659f4364787c8c791454cc7f5ca76ca5822053e4823db23804b6c7cf79340060b589374abbb329b0c7fba8008de717408d751560aaa42d00721adc0384f02e38f4b3cd0182cb31881ce0a2e7a51c3184bfd51720634ac854bd8b720820de45e705407b6b75057037c6001211436a3d96a83cadb6028ca03d28c0c8c45601a65a7b0072b253f4aa006e4f4701acf68302b8e72980c8faa8a5004d415b01ba1af2721225a03553c079bc971540f89f01a44f186e14e0db9e15a029c82960d10edf0024b0c0c7044016840c216389cc1237d9c0861230c6e375f4918bbfc680bb4da10e55348b003254f1cabe948bf8e09e72875b4c2385232f79042df42b6516a921ae080bd81cd8e48e77a82e7efd1340a617ea2700b1fc6ff700500f2a740042a847e02be0faa83f2ae0fad84500d2056c3601623835e38b002850cc2da1f160c4d77e00100fa57d05100fa5bc5500338ed757a7b75301809c52db5780457a0b05988c4505a958160b0a10cc03df45852ed3560019ab2a40bf7200a052f8a100663cab8025285c0348af31bc2ae04cb352413299928d15603d4c1d40e4b4271524ab2a9a6ca522b5da0daeb1285bcac27cb2aabb510406fc6d2311296a97002258cbc54901d65d9c15b046915e81a9f8cd44013fb625b788c034b302e4f4b0b6021e43e18d7d6eb12dce79676310894879f11a40f6adf1ce7a072030cf002a41730069d55b0b05b085ef00b24fbc9555c04f197f28e00f552a2a407f6ea9809ff2da0028a193d8fa0270699f144070cf0a6060fb006508ffe85d019763842ad4a18ab0ae004326a400c631a300d34f3b0019aa0805c80aa28f16804c0a37b83ee22fa1cb03885bdce02a8c73951c5c05b6c9b186d76ab222c7464c316c3b07901500bc6edc80a804c1e5463c96c5601eaffc33050d7150f11bbf7e2c924c1ca0cdca2040f1a0005a595680c5936f0260faa8a9800bb6250518436903247004ea4b0538838aebd4380a7026b64b052c1f1c4edb2a0724b93d00504b375500d19e2940148910a08873f05a130510ed540176a67c5d0167e2a2007a5b019036bbfda900b7bc2980db7356c02585e7188b3b4aa57705f82e7905fcd8e2184062a7872705107e88839acfee4001346aaa00e3da1f0af0f5b70032381cee0164a3c10b0437d643fe2052a693c846a9c157245fdac05724d962166317fcb6492e9b83ab40001236a031040872d8c7c7af9f14cb45f6fa7a0076d49ef52514005fbbc11a95886bedc1b0251a69a0cd9f21097258e13ee43a4dc24a95dfa5790f2041015e9087781734c22dea5d74f20ad024b50044c5166780042ab64805a0e779d754c082cb270899bf66a140d07dbb981412f4ac00fa720310230d072d51235d7a5280f9db9102f8b83b05e847e1dbaaacf71a006293db2b05985a6c2a40833357c04f1975004470474705e802e233c4128775ec29c0c77696ce59609c45d162605a75b6853cac6f40806ed3b0c0c0fecf66eba8008b5a5f14b058b20d7200562a5480e584cf005918b6ec8b0244262d28e03c9a5fb7e0089daf5b5870eb78b938874c79d3840388f37d51003bd60150f9e802684f3c0190f6b6851ad30f35de2a803b7a52c0e230f601c406b5470ae0083c2840ef64052063d2414e018cd250018cd2124096d0bce1534a034c23e491c8028877d77d8bb39962863f65a3c1c0581c58980e4025cb95dce0cf90cd957318837d639037ffb322cf1914cd7f2c523306b226cf7bbd322867ca18339830a8f81534f3784ab55ce5a770a423032a559463c340377ef216000362c4a367cf31ceca414ed46b33080b72f6d300a082e3e6da770021b6dc75f0fa5119790c91a918256ae016fb3f1ba5960298cf2705ece3723c7a07b05cfd1e4004777354c06259bc01a8e7380410a16be3f5a5e1a376a400cd6b5e01c6940e006250fa7b0578ca8702cc01af1540e8240f8941140c14e096ad0236e341154076e905a8d358c28e8c4305984d902a94d6b4c16a9ad3c6931de73857ca2138239f2410e7fc928f0ecd12a0ecb331e01da906544b30d2538018820b739113d347c30700982defa9099043ef84839b38c05724a9022ec7baa300276fcc146069c218200f5b98192a40fcd3a202968f7506a000c356ac01c8447bf40150c61691a2642abd82e255017ffdcc4e013c7acd03dfa52840a27b44926915b1a0c7f70ad0295a29c0145641011aad470590a08d0238799f00d2ce8d760a704b49014cf01c406200047d0590c29e02ccf0b601424c5f07f272b22f3a24057ccb8b3c5696adf1f9950ef077f92c2b8024b3fdc87fb9812c74f9ac1c6ad7e04f99cf5573dc78f21ac538af2e1c0fdbc679b5a7ecc01b80e3b3bc264b615ed706f690875fe065d1d46d01c4459c5acead693ec8211663e31140ce2be0f05a715e36c4788d2380c4626cdc00642b24873a362046c8d43aeb6d5e6724ae6ca5f2ea193ce1b1aa51b796022e7ab10f007df1a250018e532f28c00ab38602ec5cca2b8012ae000ac80336c80228e1bd02feb67c389655520c338ce51631c1e3ac02f80e190510ed11809ae09a0238acf27222fcef2b0510fea502ccdf4a8d8968bf1715604ca904201bd9e0a0e51399befe44a689aca46ef0cb15be0497eba3a043487536f48552a984c11df6a50ac6758014726351f0c3223fb6c74a58088a087bd6c453748b7b03b7e8c866230090617d1e4e3720c25ef307d6a8827ab0cd3a00da6cba2b008848bd9f00c404f346142b0c1087c70f0568e6fb0a10f2f05e01d65a070a101b6aa500d192080012e435e48a129cdeacaf0096ff0bc08c9f0144c68a27059031a90fb5b839057c4be65d01763e6e00b467315600e7ea1540361a8c030510dc7b05e8d0ec01c461edef14b0610b260a20a77700b281accf8a5c4864934083f32866f258d4ca0706c5c56c358b8ef71620c8f2676870035c347760b0fc034006ed79bf585c2c1764b7205bba62502962c8b50900ef93fa6c718b61e0e353b2912eea2a82c62b8008ee0b0aa6eec6e8062032b63b28e08f7d9e001471453856c002537f5700b1bc53803dbc6f0ab0efe4190022e5710c449b0384ee6304a012340490885cef790510a9ad0254d01a2040d3d87b51805ed29d023c65a9008ee2a7023824f700b2bba5f7a60022952840a7081f2a96e80dbdba0294b402209bbf0690b12fe388a227b266e203e290e8fe289675eb9e22862aeb6da990c7be24de261f9774dd16472536a054861412801c55dbe903c4258ca170394adadef2aaacb8a4ebb61a190091423e6fcd7c6a7c7d8f8f26b10607eddc71a0808bcef3ea0ea035ad2be03c36af0a30ae3d032843703f7600e2d3152a0062618a4705fca13ea460b2833bb351801d8713057c4b7f05104aa768ad0022f505602def00648f370d14f02d1f3505dc24d15001c472a3006bd0e60032c33b3a28e0c7668b00b25901de4529c954b88d1a4d0174e54e4601160b3e036813cd4d4159477bdedf004a1934c06c1d4c9708e75934b960659d35e7c8e8e6bb953186328e15c0c75d296071e0d35d1cc0087c0220f663172ac0eb4f0174286b0220f6a3480a50c97905908f4f006970327b0508c2930590e5fb83470590a0a902aec25506208ab120f52c003334fdac02b4621b0570f24a0ab8a4d511807cfd6aa800252d2a802497016499f88855bd9cc892803701b224a05754009fae0e20d3f903649ac881c90dfeb695afe19f05007684780d2e69450fe6edb16857aa5559a4c7ed6dc5cff938cfb30350e5196f1ab031a8d805200cb8bdad8459388a757658bf16a4729411036470b8fe022083c36d1e11a8c459b9a20280a6913846a601257c4ad4584545fb8872a89c8e13052c30bc7dd001f8749e022e473d0750c52ddb9602c8584f008cc1c75e0104660420c25fa82a807acc1460f1e403402006f624005dd18fb302b61f85b602346b9a873ce55101a4505e4e9ad7f78502e4f1a4002d615e01f4f65901f43603202bbb3ec60af0949c02946309202d72ef5901863be4f5e5f4e3614601849f3dc74a226b253ffb0ab0b22b50002b5500d0761faf9fc892b3d10040562036583daa991c5b5cafce5f5fa3347bdd1240c0339a746583520d72e8cdd79b0065846d6e72f35ad52d55830140113ac7819d0d400c66af1e0088b359ef02c89c27c79435522a66fc290f50817a7c9414b048f1f11556d221ebef5305ac1e18d7b6803d83dd87022c09781190e06da51c3e7ad1db8502fe72f94701f850c3be02785b02441b0a910288e541800467944c4378c11f4701682c8abe020c978e1570a6c34401dc510f4024f9a3a00092bc0510cb3fbe0390a5e699a3027e4a3fa300ddfb9e026c5185382472bee9c74d01d66be36db5f5183415f0534613005975f39128e04f596771f0757a9277f8c7bedda6c7577063e157832ae7c141de623f082b2cc9efbe00ec90e1303db11f0618e77f6329f4d583ad7700449279cb8c918e02d6a1b4510e23c9ac62f53680c8291f3d61250c32c6db291de04c9fce0ae0d24e1570256f9e0540709b318008dda6270081afb25505f050d60a60712b0a60d777002296b9910088e5f00be0435d14c0994801c443193c2b80e0ce15a08d9a29809ce233a8cb923928c018fd2b40824acec87711c1cd3e2be0a70c2041896c64cbf415a0e8a8d304f12e683856801101142c91c560c3270059f8389e2940150e14206a02842e91c1f2069b8b4027b9ea5cb0a092ab20f037aea804797edb1be711f8121abc9305f07901370d16000956febdb1310802c473f4ba3d8048da06641a667010dcfb05a0524673c20e7ca0a3a3ed3c4041d463a980259937a01a50c21416cfefc7816a031f5c64e518925cbb2ae03cd08fb2806b8c148819cf0088e066bf00846e2040ec58570126db3e00c47ce6be00ba6f0505e8f2483962785bef5901f8d8f90705e8de2f14701e316b835dd589487a4d0528d8238098cfcc4001d6081414f0537a4f0ad08acd0064fb4f7eaa006f3b54009f1fefa2a23dac2b8068f715c08c8f156049e23380ac701fd514208fb302d42977bdc24c908153c3cd9a3bc89b3f36bf6d58295610289f4db00db00dd1662f380c8a881f04d13676bec8767d825b8200ad0707678c4323fc9ce9031b14bb9814b31a2c0ea13af04ff70022b87c16a70bb4c82ff7325700dd6f2be00fb54905f01496b7f515b0660f1700621c735700e9de0f870a60715f14f063731705b0745f79c0b03d0188f9ec3d2a80ab505480569d453b540f365b5600ab9d2a8087224024b99457004f7a0a205b87734705b0eb390568c52205d0970d802c35cf4f1440e84e0a60c69f016465c6e80bc07e6c15c01b2f2940cfa20120b3e6197cb94417e8421c125d1a3954008bcb3e4c640c3d37057c7c676c37d1b0d0f10128711454b0598103e818109531ebc5258dc23c4f3d7bbc98348e747f656b0810fa58d6c80213199bccfd97a7184024f9980590ddb5ad9e02cc469e15b022d70a02303bbb1e2b40732299c27c7a8d124002e77b3c1120568a1440d65f15401cb8ef11a958f60b0a30b8330010f399bf5780b902bc7e22bb27c73505dc008f7b0ae0c0470ae016a3e8899c093a4a14603ca8a800db194205d0db8302146ca400765d32557b9a2ac0c4b2e4214bce469f0a20963300d9ba53e782c55f9bbf0074810cafea8c8d2b5d429b7d0710f21485f7c6de671ce4038ce534012a388f8f774edb458c15b80a6ce8e3b0e8f315bc6c3e8ea33c16d974720072de09ef2a31e293414010de246080d8e4e11240bccf23f2d036fba5aa00833b0ae049af2f0a787eeee31540c472b056804ee2a702b8d63cec62b244a61f6f0ab869eca392550ab3a1027ca8028034e2e3a9024cf9f615402c4305b0c94b057048ea0022a79f3d055845102980279d5780824939c45a66b30a602d9f0064f7e4a0a000eec69d02ce63b055c079e47a0a3099f201207b68388a449c88587abcc6d980908f32f6a6fcb6495029a01c63802aaf61f5920a4080ad90130f2094b35a438008b7d4b98d4ac20c47f3f4ba4f00590423ac9f01e47ce4ce1d40a1825d3603001f5d515ee06f40ece39c00ae8f44057785c7aab57c1808805bdcd92a8009f614f060e8985b8f44c5721429803bba528035bdc8c38825673a7c53c02ecb2854801d43af0ae04cdc005470070a30ee505200097a0010b11c3d2ac090dabb02d8d3bc0234e22f0a508eaf5b20c992a99c04ffda5380f14248d097e0de2b80178caf9fc822ce9e93c244d7c17aefc4a0e2635298174f261935b01cf4df00bf8ab1ad37067e194bceea65001cdbed759b0c82a08ca51a788a115c446fe80344b26ced9381449df5f8240103f21558dc3940119dc4c683002cc3a9d70064473bef164c3251150b1feb28c7d768e033031d2119ae01c4fb1cae14f07739e619889c7aad8a026cee992960d1ae7e5dc1923c785300cb8fa2ab240f360af06d0300ed14f90ad022a33ebea470a2001d4d54a13a8a9f4500895254773a9764cbe532be3e7fdbac7c7d7abf31084a5840f57e6510e6f27cc5a00be0c3f4b55e014c2df37741a651b6ca8fddf387cac6e532ce5ec02d09023b7bbb910054e1b100801af3da3d056cd8362f0af8965557015bdcfe9b02b60e83ba02b495f2d81cbeedc3a7027efdcf9b02588744012a390690e9c92e972357cd603bc3bb0750cef3eb77df01421e65f1ba0f007228371f0b90e48212a6c0eb3700716a38069101724af7b4051022726dff0410a12b3aed2a80471f08808bdfb902c418c8e40876492eccb2cf4ff79f00259c43d3c2bb981e2fa6d18f0091cf2fd75e308844d5790faf012509a69e01f003ac71468de91ebc0e5edff413f0e5f8dbe6be06ed59d673fa296b5f80e5e3f35e01ac764d01be2dea5497378492876c78789b02c8f6b03a2b72be52468d75ab006271db1d063e8c2371cce1241f64e08ef2d237034a18fd6a9f017c6cfe6a370042118707015833f1f1081015b1e61b4f8972e2d24e010adc17a3b7042041d11b0706bae69b376f1810636a918fbe4af26ac78e25803cb49237803880358aa102968fed9302ce9402052ca76101a08cb50a7596a0820c537abce92a29d87027ac2f6c820b61b58a01f737001fe170fb678050569736006219c54f15c0ff60392d445919a9f954c042777f0128c0ebe3c35c92429cc3be133e59c1006981de2600a2b7bcdac5805896cdb336148c714497b80c8003b5bd08b768f7fe6d0620f3a65d7eb962a55ac177e1972bfa65ac40e4d3b12d40e79d57da1b9060a0aacd9fa12852481cdcd58008fe2907333520e13aa587b1005887ce9081a9530c98b175284618faf5da0490c3aec5267fece2575f9d6baca82d32871c32403607f209b9893d5e1dfa72af004b34cb0a7072e052014e11790790298a3adbc2d2d78ce606a05c40f8c625408285f55dfe0ca5c0c706f64106202860add3274052c6be246e924ac6c0b233d11b01944a90e41c4050c60e990240849d6d1d7edb5294a9a05fc94d925d3183c6134f910a223ea838b161cf61941a00b2a0acce7994edf1b6fc722c4165df747ad833c015411e4af8fe0c50c45c418f1b9c7258c23ebeee4240057afb0850aee080e02780b08a6e138b65392acb3054014066ce3a0f0009b6cc743e147039f84865a32d38a0cf8b6700b2f080432e1b200b64eaacd915dd985367e7aa221b2f88fb51492548d0bcb6f8cb55c20226b839ce6652b17b0eb91c6c3eed715a28fa460196ad0d15f0dbee9f01aaf8b61c4a2ea9fa15194fe697ab0619b4ea1c7ad1802a62880cb99dab86592c4cf9c02d610edb2939649901314a7a07605c3834c0598012761bb73e0022015d0570cff9db1ac387a5a21cded3349d32f2cd91f30d90837ab691026c0bcf03c809a8510220ab3bde9a003255c2e725192145ac2c7a0f004a50428e4f976840218fc32818809d07d4fb044850a7f5444080a7b004f95f1d1a642a47c353af0310e294dd7b6e81fca8e2c37eb0c0f8b10f4f894f88312080ac736034f3f2595cc151340dc8e1e54e78b944c21572583c07f829bba30228f21e2090f9b967055866310790a923de349104a6d3089f8ebf7e50cd61269157431950c016f7ee3d4080fd737516cb40bb9175ee02065f2eed1ec0882e5bba37008c7f50ff09005b99e87611208b4ab8b108340e5a7d0a20ddc8ce3b408077e180750684001d96e4c04605e02f370648d066ef518e385342ad37012ab0961d142c0ea5f5e0ee8a1520fe2edba2020427e801882477f9538695085b663a2c856135271d89294098878a719314fa3e82fe77d94887a68986d021d3308f5d8bddbc000e2547b71240b5825a3f0284924706209199007edb30ca634d6f370208b131678072c4250c326db93e427dfd2e324de4e0a2f6bb02cc04a0a44904c1e5fda649542960191fc7fd32a09c457d9401c22cfa1efcd8c8082e5c8503405e04b70d5010d19e0094312dc807c21850c9a1e835001fbbd1bb770022fc1c293e89fc0ca65b38ca880159448fea260a50f435405ec00aa082c1723edc26b111b820b8dcaa47a6018673550428a1efd17f06488af0a4f1b621a2ad51ff01a08a48146d4f01aa106f1b06b0963556f5c8341618b41f0314441cce02c41d6d01147145e71320c630651b951c67e019f47c802c5e7f8f92c645acd91c7404b0374e0f47802a8e576bcf017c69a3501f464d611dce0ad04d6077234a0a58cac387833b0039bd02c8c8d5169926b2923acc29403966003116c5bfb504480cd50040c6a5fadc36c461195b337a214055466ae40a7c39bae32f174725f4f87a7d00983eeab3dec6710edf25e466de0df5f2dbb20936ee471527a1b119b71616ee681b202e225a23fb30499829a2603e401e667c30578005769e020c433d0194c587b9010472aee80c200418561570dbf0f10010cb151505180dbc0224385565c8f591443988f60d5744058c8ef241701644c8b40c502d637c0c6f1b69fb921580a011c33340088ffee31e0033ab34182ac044882700dad0477d4431aee8b1c02471210fab7d155081917e054864d08d3d25fb1fe6c46305ee8a6e4addd473c9efa68124dfa5b09b46dd34eea649379d386e2e9b76d359379d77d345375dbadfab6ebaeea69b6eba95b4eba6fb6e7ae8a6a94bc76e7aeaa667978fc9e4d24dafddf4d64d6b2eddb9bf72ba77e9c1a547979ebae973377d71e9b59bbe75d37a376db8c43736dd0526b55ce27cda8e77ba69b79bbe77d35e37ed77d341371d76d38f6e3aeaa69f2e8dbb69a69b66bb69ae9be6bb69c15d63ae2c76d352372dbb54e9a655f2c824f7c333c9fdf0c90bbe93c26f52a4dc556624556a7f90179397b887229137f9264d5d9a7d93e62e2d7e33fdf2db7d25f2962ead5c5acb5f37e46dbf49bb6fd25ed2c125fd6b2a7f3d927722efec92f971f94eba927723afe69e653e9679977b57b15c3053930f2e3d72c9c97b22cf7c4793e18bb992bc57f2de5caa4b6a90d724af455e9bbc0e997e91f74e5ecffde893676a6fe8c8077923f23edd9fe6f75808ffce9097252f475e5e5281bc22792597cae455c8630d3495e5934b1ef9feb7c9c80af901f921f991ad177381b9cd8fc94fc89f903f257f46fe9cfc05f94bf257e4af6d322fe36f6c86f633b8e46fc9df91bf27ffe092c9ea48bed1962bf967f22fe45f25dd5caab97447fe3df90f2e3dbaf444bea9bbaad32b73d90bf9afe41b6d313fea4ed0c7ac1b46e0c86fb864326f92df22bf4d7e87fc2ef9efe4f7c8ef933f207f48fe07f923f28d9e94c81f3bf528383d2f596214c0cf909fd5e4cacc3f8ae4e7c8cfff562ab8549454e2245a11ab6e481a7c277d7b0d2b924b7ef93bc97c9daa4d0149f2dc5f7d9becf7f5dcb77729087ea11b41f895a012875f6ac88182c8fe35889d3e9c28482898d84f1f4cbf936614cc29307a5bb562172cad2099526939ed0f63c242f7c3a44f0a56f24fa6246b0a362e452e6ddc134d517714986298f2a42e1ddd9fa63c67f7a7f97df965baca8f1b05350aee28b897f4e0d2a34b4f929e297871ba61643a7875e94d525d52838226052d0ada147428e8baf44e418f823e05030a86147c5030a2c0bcd5d895d8a40c05590a7214e425155cb6450a4aeecfb295d4a04241d589e69842a2d073c9b71787018521851185b1bd324cac3a85130a4d9395a37046e1dc25f363e1f4a145e192c2954d10dc12856b97b3c97343e196c21d857b0a0f149aac8eeec789c2b37df1f062252fbc5278a3b06693b9d1142cbc73f9dcdb72860f143e52f8e47e707a16f59314be20996f6c950d6a40e12b92d158956ffbdbfed55e200dc52f15c3d4c3dbbf26bed254c86fa7bad3f9be53fe9e9880be330a3d0a1bb63ebf52c3a9c1f6b7d2feb753d8a4d054b5f9221d9bec57beb329ecfe76329a6354287cb7c9ea528cdf610f65e01286aec096b45d1a503874c97c8211859f148e5dca5098a5d00840de25533f4549e6339529acb83fcdef2a45449167ff34bf39d9df15fbaf912f39e4ed6f9b028a4297cc8f88ffea74238a294a5c9a4832bfa714cd289a53b4a06849d18aa235451b8ab614ed28da5374a028a5e848d189a23345178aae14dd5cc9cc236b14dd51744fd103458f143dd93fcd5b45cf2e99cc5f287a7522e852f426a94e51e3eb23454d8a5a14b529eab8d4b5ca13bd53d4a3a84fd180a2a14b1f148d28faa4c8d4e0d4a6284351d665681e6aca53a0a84891a9973245158aaa1413c51ec5be2da1b102714071487144710cf588adab633524f0d8d7a27862d22f9c1fab2d9c1ebe4ddcf8389573579a860b32fd60d50c9ac6e9e2f2ffd2074dae66fa144f7f2341747e95e219c5739716df24f3d725c52b8ad7ee43b8146fdc5f9b48f1f69bb4a3784ff1c11a69ab092dfbc3fcd5c254b46267cd767ca4f8e44cf577527ca6f8e2d2d5a59b2453bd7714df5b198b1fac85b2c4a4478a9fec878e9f297eb15217bf52fc4671dda586fb6d922970cba5b624734bf79bf44e714f92f9dd173270c95c30942b3b2e7d503ca2f893e231c5198ab384a028719ee2824b4549fcd712c565972a145729214a3c4a7c97024a424a224a624a124a26944c29995132a76441c9d2aab279b76445c9daa6c8bd73b2a1644bc9ce564ab2a7e4e0dc928b15f12475e948c9c9269680e44cc985922b25374a6a94dc51726fa5dc12f34fc6d132dd983c258ffc27254feec73325e6d1af94bc515277b6d63cb44149939216256d4a3a94742979a7a447499f12f3f4a1fd48c9072523242b670994c4b4ec4e5528f9b4c9fcd0c4e45bc8b7fc264473f44db2ade57752327629e31acf5fa6244b49eeb79311af246fc5ce9a0349f6af532453f3dfa6a420a98864bd03533f254aca36b126f06f0b2b3619594faa34219a7834f15d0abe93429a442ec534495c9ad0644a93194de63459485a3ab2722af14c93b54b1b9a6c9d4a94a11b939d93e3014df634395879337f4e52242b7e861c6972a2c999261797aedffcb8ba7b6f34a949ba3955e9e04f93ffe44e9ed271ba31b9a7c9834b8f347972e9d1fdd594f28526af3479a389295983264d9ab468d2a689c9a84b93779af468d2a78979e4d0e9cfc2a6c9074d4656e9279ff255cc5d639732d63299966192a5498e267949059a146952b2923d29d3a442932a4d89a61e4d7d9a06340d691ad134a66942d3094da7349dd1746e0577ba80a841375e68baa4e98aa66b9bdb7463956dbaa5e98ea67b9a1e689ad2f4485303cf5637a6179a5e697aa369cdaab1f936a6b4ac21267feb4534dd53e6eeaf3d976af8ebf44ed2bd4dc6739b3ed8a49ddae9a373e75c9a3e59a1775d1a284632767ffd457321e301aec1b13ede37495bd7e9f36f2714fbe55f937589357568fa8aa42aa15ac129fc4e3235337dc3a79cd6ad0b306d588947abfeebf4e0c4fd89a64d97cced6d9a762cb1f5ec7c0abe80ff6aadded57a2ed3ae358846438c4d9cbe5bc598f6ec0f9bcc271b40caa7439a7ed074e47e7cba3fcd6f53b68c6b1986f6c7344bd31c92f17d6c3e3dc92d4fd3024d8b342d5917c9882ba76999a63c6e37add28c68e6d1cca75940b3906611cd629a25349bd06c4ab319cde6345bd06c49b315cdd634dbd06c4bb31dcdf6343bd02ca5d99166279a9d6976a1d9956637eb3599d67c56b3b67f76e7fa55afb6673fbba7d903cd1e69f644b367975e68f64ab337ab15b33acd1a346bd2ac45b336cd3a34ebd2ec9d663d9af56936a0d990661f341bd1ec9366632ba933d357de5b819b656d1f6096a399533693e1ccfc59b4adc7ac443393798566559a13cd3d9afb340fac5d9887348f681ed33ca1f984e653fb55e6339b8cfa99be8ae974190fc47c30eb876c683ea7f9c2fdf94db22531ffb4b42e9c5192af2be7cecb97345f7137c626eb017ebaee93e944656510e2e41cc5017eccd73c70677f9b5733ce9be17a8d752cbf92cdc4345673f3dcad4dda6ad9bfee6c4fdafc39df7f25eb2ff1ab35adfe18b99f1fdc9fa9edf89a0bcc279b1f697e8275303db7f999e617fb67e02e9b5f5d67e0d3d555d7babe53a9379b5eac836a7c395339b63e6feeca1acdef687e6f1f6aaad1b4cff307f7d04797e193bdcbba580fb63056679eacc19a3fc30d99bfd0fc95e66f34afbb64aab4f9954c8fc21865a37b7393619be61dab90f3aed564d35d99bf3bf7fec17613e63d9af75d1a588713fdb48e7c29230c43d60d23251f341fd1dc147dec94f5ce96c694c0e8d93c43f32ccd7334cfd3bc40f322cd4b342fd3bc42f32a2d88161e2d7c5a182feb408b9016911d6e5ac4562817092d26b498da8ef262468b392d16b430bf57b458d362438b2d2d76b4d8d3c2dc9b76d3475a1c6971a2c5991617eb0b2d4c56cea22f4cbaa3c5bd5554f3dbe8fde28116e6fa275a3cd3e28516af5638166fb4a8d3a2418b262d5ab468d3a2438baeeddf9b3ebdf1d316efb4e8c19e59cb31a0459f16e6cf212d3e6831720eae799d4f9bac3971edde624c8b8c4b59d77579b215bac8b911619b6891b772bf28d0c2f46ac680c69d33e2be78b105e35ed0a2440be3a8acbae9d8d902a3b16fddd494bfe2869547b4a8d2925c32b55aa1a54fcbc0d6d8d2b7e372cbd00ecd2d235ac6b44c5c95ce6839b1c9fcf0c866be9cd2d2c0b9fd217f9521e9332d17dd748321c1f9ea9b266b60cd16b74ecba56d9a6c77cb58967bd7ca8d6ca3b45cd172ed4693c6b4dcd072eb5ace7bdb6c1aad0bcc8376760c73b9b7c353cb032d533b62b93cd2f2c40d262dcf922eb4bc5aeb10b8f128437824ca2bdafefaf26693250d497bdbef5fd65cbab3e2bbbcb77cf920b73cba54739d99abbbec09035cc628e0e9e6155edc8f93f5c097afb434c5abd3d2e4d334bebd1d2e5bb66c32966bd976bab1ecd0b24bcb77977ab4ecd37240cba16d5c96a6c1325f68f433fd4cffc06404786ca7138c7e06c6dc646899752947cb3c2d0bdfa4222d4bb42ccb5fcd0ff8544625aab4225a79b4f26915b814d22aa2556cbbbcab8456135a4d6935a3d59c560b5a2d69b5a2d59a561b5a6d69b5a3d5fe77d38156a9cbe148ab13adce3fd3cff457a69393b4c44e172e65ccc3b418ab0badaeb4bad919d5558d5677b4baa79591f0475a3dd1ea99562fb47aa59569cca74e3756755a35243569d5b2ad87f119566d3b43b7eafc50dd60c5e8fe4c3fd35f99583d8cdcbed3aa47abbef5b24c1f6965ba7043ccd218a76b35a4d507ad46b4faa495d19c0cadb2b4cad12a4f2b5e5cbc2ad2aa44ab32ad2ab4aadab129d3355f93edc51b373daaff50dd38d3daa3b5ff33fd4c7f650a9c7a24b40eadc4af233b27b88e6d07c14ea13cda91283bbbb0a3b5b96642eba99dfe5acf683da7f5c2a5a5d38df58ad66b5a6f68bda5b5b97a4feb03ad535a1f697da2f5f947ebc685d6d79fe967fa2bd34d74a346eb3b5adfd3fa81d68fb47e72e999d62fb47ec5b8dcd4fceb1badebb46ed0ba49eb16addb14b758373ab4eed2fa9dd63d5af7693da0f590d61fb41ed1fad30ee3fc60dd18d33af30f4f5997befdf1573fe867fa532927ba91a77581d6a64d28d1da341d155a576943b4f168e3db852ac9a71d9ede04b4096913d126a64d429b096db8bfb199d1664e9b056d96b459d1c65cbaa1cd96363bdaec6973f8c1bab1496973fc272516d0df24bffea7dfbff13f7ef47f90d5bfdcf2df17e69f944ed08d8d91b70b6daeb4b9d1a6469b3bdadcd3e681368fb479b2f38c9b673b666dd7ef9deda4a75db16254e085f8301edabcd2e68d3675da3468d3a44d8b366dbb2464d3a14d9736ef3f5a377ab4e9ff63122c370bd62fe1b73ffee08dffd9d3fff7f7fee3d3407463489b0fda8c68f3499b316d32b4317592a34d9e3605da146953a24dd9aecf8d4fb4a9d0a66a17956f89b69ed38dad4fdbc0b612db90b6116d63da26b49dd0764adb196de73f5837b6e6d9cb7f4cfa56c4ff057efbe33fbb51ffe90ff27f9bf36f5ef3fb39fcdb32fc26f9bba71574636ae4794ddb0d6db7b43512bea7ed81b6296d8fb43dd1d648e385b65737b768fef546db1a6def781901ebc63d6d1f68fb48db27da3ed3f685b6afb47da36d9db60dda367fb46eb468dbfe672408c4f77f7f0bfff88ddfcbe777f2fffd27fe7e217fbfcc7fbc0cdf3ee8ef9e3aa21bc6dc7769fb4e6ba31b3ddaf6693ba0ed90b61fb41dd1f693b663da669c7fb5766b55b676d5cfd6bc26ce63cfd3b640db226d4bb42dd3b642db2aed88761eed7cda053f58377621eda27f4662b1f89ddfdfc23f75e3efe7f36bfe6f9ff8039ff507dff16f9d62e84654a45d42bb09eda6b49bd16e4ebb05ed962ead68b7a6dd86765bdaed68b7a7dd817629ed8eb43bd1b4eb746367e4f542bb2bed6e76b1edae46bb3bdaddd3ee81768fb47bfad1baf16c87d8fe19894de9effcfe16fea91b7f3f9f5ff3df7fe22f7da4fff659df2bf66fbee9df32ed5ea4dde8d1ee95766fb4abd3cec87693762ddab569d7a15d9776efb43317f46937a0dd90761fb41bd1ee937663daf1d67fab0fc630e46897a75d817646d54ab42bdb1d0ebb0aedaa3f5837f6447bef1f90fe55e024e93f7dfbe3cfdef8ed957f84ffce13bf25dffbfda79ef59bb77fef65ffa6c9876eec03da87b48f681fd33eb1edc67e42fb29ed67b437bf17b45fd27e45fb35ed37b4dfd27e47fb3ded4d03d274bab14f697fa4fd89f646702fb4bfd2fe46fb9aed914f9e697ff7a375e39ef60fff800451f82df2eb1f7ff6c63fcb7fe789df92effdfe2fcbf0bdf7fafba647d18d27da1b197ea1fd2beddf685fa77d83f64ddab768dfa67dc7a52eeddf69dfa37d9ff60397cc6f5ea3beffb003b8fb11ed3fdd9f63da67686f6a2147fb3ced0b3f5a378ab42ffd031244e1b7c8af7ffca91b7fd19894fe3dff973cffededfff2dcdfcfe1d7cffaf55f7f9df3df3d95a11ba6abbdafd0be4a07a2834707dfeac621a0434887880e311d123a4c6c7b7298d261e6da939d6d400e73a71b87051d967458d161edfedcd0616b27c8cd9f871d1df63f58370e073aa4ff9f2696b03fce7fa6ff301da52f6eb4e244072375173a5ce970a3438d0e7774b8a7c3031d1ee9f04487673abc583dd90ee9f04a87373ad4e9d060dd68d2a14587361d3a74e8d2e19d0e3dab70873e1d067418fee8b93f93edc7ffa7093af087f9cff41fa61174e3f04987b15ddb71c8d0c1d470ceb51b793a14e850a443890e653a54e850a59428f5ace6a4be6d64528e2137bd511a521ad90da2696c2371a4ce514b27944e299dfde8f98d25a5f39fe967fa2bd302ba911a615bd941a6744de986d22da53b4af7941eecf6f1d8a334a5f448e989d233a517a724574a6fb47d77ba91d66c8086b841e91da5463d1e287da4d4e8c633a52f94befe60dd48df28adff4c3fd35f991aa21b074a9b94b6286d53daa1b44be93ba53d4afb940e281dda39eef483d211a59f948e29cd509ab55b36f61fac1b394af336f488b9c1b42173d38614282ddab1ddb44469f9c7ef6d3245ff997ea6bf2ee9dea6b44269958e64e7f88e1e1d7d3a06740ce918d131a663623b0ec7890d9d739cd27146c7391d17745c9a068363b799bface8b8a6a3b97f4bc71d1df7743cd031a5e3918ea79f7b627fa67f5a923db1c7b30d1075bcd0f14ac71b1d6b74bca3e33d1d1f6c98b5e3231d9fe8f84cc7173abed2f18d8e753a36e8d8a484e7378e2d3ab6edfaf563878e5d3abedbb6c6b418c71e1dfb7695ef0fd48da329e8d0a50f3a8e5cfaa4e3d8a50c1db32ee5dc8b19b5ccd3b1e052918e2597ca74acb854a513b9e4d1c97729f8997ea65f2423b7a7904e119d623b007b327f9dd0694aa7199de6745ad0694927c3d774dad0696bdb90ddcec628349d8bd3cee9c6694fa7834ba9d590d3d106cc9a1878a2d3d9fef953377ea67f62b2ba71a1d3954e37b7e2d0e840cdae2e3fddd1e99e4e0f76afebe9914e4f747aa6d30b9d5ee9f446a7ba0dea79e231dc53934e2d3ab5e9d4b1e1064f5d3abddb3859a71e9dfa741afc1fe886f9f334a4d3079df89a9fbaf133fdf96475e3934e631bc676fa4ea70c9d8c5ce5e894a79391fe229d4a56134e653a556c74c6b90bdcbc32cd4395223ef4255ed3996c50c0b347679fce019d433a473662f439a673f23fd58df384ce533acfe83ca7f382ce4b3aafe86c4ab871cdc84fddf899fe7032727bded2796723ed9ef776eff8f940e794ce471bbff47ca2f3d9f626ce173a5f6dfcb8e491ce373a9bcbeee87cef74e3fc60c3c7fbe652f36f4f747eb6db67cd3d49de86393cbffcef74e3fc4ae7373ad7e9dca07393ce2d3ab75d326fd2a5f3bb538f9fbaf133fdb16475a347e7be558cf380ce437bd2c0f983022357233a7fd2d98877c686bd3c675d8c43237b3917967f4c1efb549ed19bbc0d6e6563aa3e5add3817e85c7411b917360af7ff4637ce253a97e95ca173952e44178f2e3e5d02ba847489e812d325a1cb449a8e9fbaf133fdbb64e4f632a5cbcc4662bfcce9b2b021dc6d7891235d96b4cdd16565dd25d35c5cd674d9d0654b979d8bc85aeda6bc5ffcb2b7fb002f07baa47431b79dec0117f1d486a3bd9cad9efc0f74e372a1cb952e37bad4e8620a734f9707ba98423fd1e5992e2f2e991fafaed7f153377ea63f90ac6ebcd1a54e97065d9a7469d1a56df78587e677c71e41b128baf8c59f74e9d2e59d2e3d97faeed0bc3aebc6c085bcdeba30e05d1b96dcc6ee6fd950d897215d3efe27ba31a1cb882ea694e677862e59bae4ac7f6547abfe06e35497fcfffd97fe99fe6cb2ba51a04b912e25ba98a6a34297aadd149e8c6d54ef2bd9e6e2ea91ff4c579fae015d43ba46748de99ad075e274e33aa5eb8cae73ba2e6cff7bda7501d9dbf61c191bbebff6d7ea866931ae4bbaaee86a0abaa1eb96ae3bbaeee97aa06b4ad73faf1b468ebf4d3fa496ff0f75e3a75afec7c9c8edf544d7335d2ff634a6c808d8d58682bfdee85aa3eb9d4bf7747da0eb235d9fe86a94e485aeaf8ebcb16ed46dc837a355d7065d9bf6ec8f6bcb9ef4716dd3b543d7ee5fa81bd777baf6e86a9e38a0eb90ae1f7435d03c7a4cd70c5db374cdd135ffa775e387cbd64fddf8bba53f522d56374cfb50a46b89ae656bfaed01b06f7435a25eb55a7123ba79f62c8a9b4fb7806ea1f5a96e11f975bae108e9846e13bb99e936a5db8c6e73ba2de8b6a4db8a6e6bba6dfe42ddb86de9b6b30b606e7bba1de896d2ed48b713ddce74bbd0ed4ab71bdd6aff956e7c4b7edd9e7c7bf11fb9ec7bfff46bf82df97523f69fe5f333fd4b05fefe35466e6f7774333af040b7477b42ac3dbbf88d6e4f4e319ee9f642b757ba196294c10861936e2d5aacec4128373e7f6367feb943b72edddee966f4a64fb7815da67e1bdaf0b8b7bfb2bf7133e9936e63ba65e86694d3cdfaddf2742bd0ad48b712ddca74abd0adfa0374e337db935febc6ef5cf6bd7ffafd4cfef823bea7a8ffe782f8374c7fc46418b9ad11d53caaf9540ba816522da25a4cb5c4aa446de2d2d46a456d46b539d516562bcee6ca254d9e9c6ed456545b536d43b5ad8df959db516d4fb583f5b22657aaa57f6d7fa376a4da896a67aa5d302f5e330fbd51ad46b53baadd53ed816a8f547bfa4b74e3d7fffa1fe8c6efc33fa57eff8fbdf35a6e6349b6e8c7ecf71df0e6116de0bd07dee0bdf7f8fa9b554d52a4e8401d8192e6f6c40a440304883e9a5accca3259efdd9ecb4fdc1251d5bcb8349e046349c64486346319c6c4841c6379c60a8c15192b3156d6925418abaad3086235c6ea8c396bd463d2405b8cb519f330264dd3c7985f9dc0190ba8935da7893b8f53c97d04190b31167eb1662416612c4a833440a343a3fb1bdc78334d7fedc6ebb7fd7637defb8ad79f72dd78931be386d1a3d1a7315067401bf27444634c6342634a6346634e63a1543196345634d6343634b63476dc2fb41bc69ec681c691c689c659251ec685c695464c9d4da84ef4f8136b0d0d838649c3a261d388d348d048feceb8f1de4fdf7cdb5de3c69bdfebbaf13137e61b468a469a46864696464e8d4749ce2d8f469e468146914689469946854695468d469d4683469346cb596b2889b858d1567b6a0d8faa3662881e3e1a7e753a41efb7ee17ffd23a5c234023482344234c2342234a93bf3e4ef5deeb1f5c1f5fb666b74ff5f770cb3f8bb45b13343b34bb6a7988d9a3d9a739a0392ced97344734c7342734a7346734e76a3b86b9a0b9546cdada0d7345734d734373ab8b2f586a03945c9b3b75a4cde0de7daa0fd7a89b7b9a079a479a72df679a179ad75f9fdff8e0f58fdff6668feb83affb54bc8f3ff2fa53ae21bf80b4dbee51d548778e8a3563340d9a264d8ba6cd6e9d669c66826692668a669a6686665693e3c959876be66916d4fe71b348b344b34cb342b3aa4a239a359a7f2e6ea89585a247836693668ba6a8efa1e9a5e9fb8bd68cb8adf6af458d5349a3f773207f5e032acf3683344334c3342334a3b4480bb43ab4bab47aeccb639fd640251e96e38635a235a635a135a535a335a7b550a7d2584b5a2b5aeb3fbcb7c9dad0929bd9d1dad33ad03ad23ad13abb6eb87c82b45beb42eb4a2b46cba065d2b268d9b4e22a5658095589c74a72545571635ca79562bf482b4d2b43cb59873bf6d3cad1caab4d4f564175b12c79478956995685d66f3dd3ec57dca8d192fb6ed06ad26ad16ad3f2d0f2fe2d6eb8fcb528377caafea0252d5c1a5290568856589550b022fa314a9bb441bb43bb4bbb47bbcfbe97f680b61337ec11ed314773b5a4ca9ed096c719ed39ed05ed25ed7bce8bdfb827d65ed3ded0ded2ded1ded33ed03eaa312bd70d970f90766b9f689f695f54d0b0afb463b40d0e6a1c64689beab4d891b4768bb6adb2113bae561f5e076a4dee3ce4b891a09da49da29d561bfd6cf958560d0cdb39da79da853fefc62148bb48bb44bb4cbb42bb4abbe6c60d974f506ed415cb044712001ab49bb45bb4dbb43db4253ef808e9154b73f2732ea143fe0a4b4b0bd10ef3d271dc88d08eaaf9ef38951871a8f554f10ee35dc67b8cf7ff0a37e203c6878c8f181f333e514355ae1b2e1f23ed363e555c2e448ef119e73bc6e78c2f185f32be627ccdf886f12de7d2ba76bca419dfeb8d1c12379cbd4d97b3da631e3f681f8e8c9f183f337e61fcca788cf1efdaf7f7699d91b8c9b8c5b8edee6d72b909e5469cf104e349c653da0469fd1976faec92dd05e71203b29a5c692f2d3fcf7881f122d1293dd4c38d97182fab19f178450d526d3d8c57d5f181f11ae37575d6d35fe2865b67c4e54b28371a8c37196f69da8c4bdb9630e053938073b9f03f12605cfa262135472e5d2ca3c8b81337d444b87c26a2178cc82f8a2a241d4f9009285c375cfe45a4dd263a9aee23bd1fa8ded4236ac7df33127d41bb91182831d6fa789ae1401f75136762a8113d46ae1b2eff24ca8df14b269aa966f628439289f933168a4bcf7163f9e08688b1abea5365db3a6eac3474dd70f927516eac1fda7a62a3d932b16362af393ce3f81aa71e6e52f5a91467a58788b111c34eca0aa767f547dc489c99b8307175dd70f945941b31bd17dc66c2d0988f178e001613b626ae4928d4fe588573c6c0451fbd2cb126a9f448a4941e8e189b8d9a26ff336ea499c8309175dd70f945941bb91728491e238308a064c86b0a9a22132526ca0ece99669616a3c24495899a3e2436fed0a15a6eff8c1b893a130d269a4cb45c375c7e11e546fb254f5d26cf33bc4c4893f36b024c0435cebc7822acb27035865b5624224c4499a4064c76bed58dd885c92e933d26fb5a0cbfeb86cb2f22ed363978c10f011c07028f841e9508be742329bf62a476c32e370ab990a7d786223966f2b79ef7f7b11bc929933326e74c2ef41659371777f90f2837962ff821c3cf26bc7aeab831f031b96272cde446b3d665478aaa526272cbe4ee1bddd8337960f2a89e4aca913c3179665222c995c998eb86cbd778236e04dfb2e26d1c37e26a116ed260d2d4183fb0724c5adfe886cd649cc904934926534ca699cc30298aca6de4992c7cc18d5bea50b8fc6ff3e046f119254df911e769e5f1f1054e9faaca648dc9fa2b1a1c4adc687ea31b2d26db4cca85f4eb249af9990c30196432c46498c90893d19bdcf878cbabcbff0037ee1777ba52293e8297749ed1d5f49e706a459799ea333578c590a91153e36f722335616acad48ca939530ba6e43f69c5d49aa90d535ba6764ced993a7c5e47fd837fb50fb67abffee9eb37bcf94b5cfe0837d6197908178ff9c61b3238bce746eac8d4497366eac2d495a91853065326531653f6dddd48c5994a3095642ac5549aa90c5359a6724ce5992a305564aac494085c61aaca54edd7ddf8e93dffbd1a88cb9fe2c6fa54a93a530d4d533f3e5921adbfa57194686b5acf71dcf030e5d5f8347ea6024c053521c55ddd4885998a3015659a4c83e90ed35da67b4cf7991e303d647ac4f498e909d353a6674ccf995edceac67bff82ae1bff3ab7e493ca8de791e165d0482f995e3db27e8de34690e90dd35ba6779a3dd307a68f9a93e27e6ea4cf4c5f98be321d63da60da64da62da663ace7482e924d329a6d34c6798ce329d633acf7481e9e2efa915fda91befd5d7710df9e3dc1a373a6fd17de546e935da8d7499e98aa6ca748de93ad30da69b9a96e27e6e24e4bbda4c7b98f632ed63dacf7480e9a07623c47498e908d35166c80c98e930d365a6c74c5f858eff52d7f017e2c69bbfd3e54f7163bef19e18ca8dd52d6eb498193c326466c4cc989909335366668afbb9919933b36066c9cc8a9935331b66b6ccec98d9337360e6c8cc899933331766aeccc49831983199b198b1bf3c4ef51fdd70c7befe2a6e1ca77a3bf37ee94626ce4ce235da8d4c92999426cd4c86992c333966f2cc1498293273cfb3693265662acc5499a9315367a6c18cbc28aeb699f130e365c6c78c5fcd036602cc04990931136626a2067c6f9fdff8b53ed5ebf71f6f0be52e7f093fdc782586e4e23fc488bf1f373251d59bca5203663bcc7699ed69fa8abbe6e2d9015716b3436647cc8e999d303b6576c6ec9cd9855e7af8b86624196576c9ec4a8ff9baf3e22e9ff12317d7c3b2d9f5cf6e38627ce44676a393ef8aea5365b72a506477ccee3507c57ddd38f228669e983d337b61f6ca6c8c59439f34e0aea772f90fbc18a77a162b9c115b271777dcc89acfb01c1c376c66e5c709958267939a14b3696633cc6615f77523c76c9ed9820e1aa24791d992bbefcfe537f0b31b2ff36f152e1eaf7f88517ec271a3c2acfce5aea98d1dd93ab3628834d916b36d663dcc7aefeb86a41c591fb37e6603cc06990d311b76dd70f90d3ce41bcfba553f128cade2498f6c44137d8e762347e6c05c87b92e733de6fa449cb9017343e646ccdd7fcd486ec2dc94b9197373e616dc1d5c375c7e03d26e734be656ccad99db30b7fd315ceb0c46891eb99de24989dc5e73101c378ecc9d983b337761eeca5c8c39833993398b399bb9f8fddd483097642ec55c9ab98c4a365c375cfe3bca8dace2479729c25cee012750280df2cc151e293e9076d6e1e64acc9599ab305765aec65c9db906734de6a4d5b699f37cc75ac39c97391f737e1eeb6e9d1197df837223a094c8051f78e83b3dc7d1a3f0023d15eeb811622ecc9c2815659ecc83f90ef35de67bccf7991fb835785cfe49941bc117fc9c54e830921fbe16e3d18dfc88f931f313e6a7cccf989f33bf607ec9fc8af935f31bd70d977f1269b74e3fea213838dd277d21afe4b73f781223bf7b5a23e2b8b167fec0fc91f913f367e62fcc5f998f316f306f32ff8dfbfe5c375c7e233fdc780c17795b13673ef14892f9d4cf62a46bcc141d37d2cc6798cf322ff125cfbcbca9c87c89f932f315e6fff4b94dae1b2ebf86b4db7ced45f29daf33df60bef9c88ef9964289d17eb0222deff130dd7c72433a545ee67dccfb55faa1424780f920f3721d76dd70f927f9c90d955a449e5921441505fe10a30025869e0177dcf0b2d0518614ba2cf458e8aba4bc306061c8c288853bcf6f9c533c365c375c7e3f0f63b8b91fa352858966fa63e1b99ae66eea7051d3cbcfc76a6b86b85198396e1c5998b3b0d0622c5958a9c4a3b06661c3c296853bd7e029ec5938b07074dd70f9cd3ccfc51d0aa71f622819860ac70d470cc78dccf4d18dc299850b0b5716622c182c982c582cd82cc45948b090bcb31b2916246465783ebf7dbeb861281ef470dd70b91969b7852c0b39957c3fb8a1c528e4d59ada42415364a1c442595351a86d4b0ac78d2a0b35956614ea2c345890f6da62a1cd828705e96ef9ee9e6f14fc2c045808b2107a70a310664122609445b208163b2c7659ecb1d877dd70b915d5a7caa9fc5bed6cd509b713318a03bd814f531cfec0b1a2307be64651de316671c2e2f491198b7316172c2ed568d5bddd38c90dac585cb3b851f3e2c52d8b3b16f72c1e583cb27862f1cce285c52b8b319abeef73c3ddc3f44f23edb668b0683e64de45eb31cd183d6e6e1dff50c2b14228dace85e3469cc5048b4916532ca659ccb0986531c7625eb951b8f33a5c679caa5860b1c86289c5328b1516ab2cd658144f1a2c36596cb128eff1b0e865d1c7a2ff9bea1abef95957987f05e546400dd116832c86580c3fa619a317a985203e3c47870ec78d881623ca1259824e33d68a5287a52e4bbd6f1ac32df5591ab0346469c4d298a5094b5396662ccd595ab0b46469c592dcd586a5ed37d5357435f86bb971bfb8b8214a7ce0c653ac78b2c2e9531587da8dd24ee951dab37460e9c8d289a5334b17cd95a5d877b85132583259b258b2598ab3946029c9528aa5344b1996b22ce558cab35460a9c892defcf4d5da6d3fed117fbd11fc4b2f1edddde47f941beb8c94caaa2b256e942a0f6e3cf4a95ebaf1133fdc28f458aab25463a9ce5283a5264b2d96da3a6e7858ba7f9faae463c9cf528025f96f08b11466495c8db24c96c17287e52ecb3d96fb2c0f581eb23c6279fc2b6e7cd047fae9a71fbff8e6b7b84a7c2737d6a72a4fd4c2414936ca532589334e557cd4e371b8f68de8f1d0a72acf589eb3bc6079c9f28ae535cb1b96b72ccb6fdcb37ce7fde2e523cb2796cf2c5f58beb21c63d960d964d962d96639ce7282e524cb2996d32c6758ceb29c5363595fad6b78633cb9f145d78d3fcb2df9a47223cf7281e522cb2596cb2c5758ae2a2bca3596eb2c37589616d87a918897db2c7b9875ce502e7b59f6b1ec6739a00d09b21c6239cc7284e5a88a217775a34256c04a87952e2b3d56faac0c5819b2326265ccca8495292b3356e6ac2c5859b2b26265fd2b750d5f37f40fccf905378eef872697dfce8d71a3b26165cbca8e953d2b07568eac9c5471a9ca598d50552eac5c5989b162b0622a1e077059716a29546c56e2ac245849b2926225cd4a46252195acca402ab93bbb916745eeb5c84a8995322b1556aaacd458a9b3d26045ded062a5cd8a87152f2b3e56fcac04feab1b37566afbaa1befdd80cb6fe7c67ca3126425c44a9895082b5156c92a58edb0da65b5c76a9fd58166f8c888d531ab13569d3e5575a6dca8ce595db0ba6475c5ea5a23af6c58ddded78dea8ed53dab07568fac9e583db37a61f5ca6a8c55835593558b559b55b9c304ab495653fa835f1fa772ddf85fe2c671aa6a9ad50cab595673ace6592db05a64b5c46a99d50aab55566bacd6596d3c43da644b7ee4b8d166d5a395f0b2ea63d5cf6a80d520ab2156c3ac46eeec469435b206d63aac7559ebb1d6676da09f0e591bb136666dc2da94b5196b73d6165f3eb7e9c63ed59be34eafffff786f9cca1da4fadb90765b5bb2b6626dcdda86b52d6b3bd6f6ac1d583bb27662edccda85b52b6b318dc19aa97a5cf258706af0d42cd66c4d9cb5046b49d652aca559cbb09665edce7daa5a9e35b99b226b25d6caac5558abb25663adce5a833579438bb5366b1ed6bcac3905ddee302feeb6e9ff3d941b7e4d80b5206b21d6c2ac45588bb24ed6c17a87f52eeb3dd6fb6a55557da0281454e5db425ebb511fb23e627dccfa84f529eb33d6e7ac2f585fb2be627d7df731dcfa86f52deb3bd6f76acd48fdc0fa91f513eb67d62fac5f598fb16eb06eb26edd6b3d95ebc6ff1ed26eeb36eb71d613ac27594fb19e663dc37a96f51ceb79d60bac17592f3dac5477663f0aa2405970dca8b05e65bda622465d9a6683f5a636445a6d9bf5fbd719a97b59f7b1ee673da0d61ad683ac87580fb31e613dca06d9001b1d36baee3a5c972f20edb6d17b499f8d011b4375a24b63c4c6988d091b5336666cccd958b0b1541b651b2b369cb3691a1b36b66cecd8d8b37160e3c8c6898d331b1736ae6c7ccbbcb80484f2f1618dba25f763b061b261b161b31167436e37e9ae5177f91aafdd904ca19162431ec58d2c1b3936f26c14d828b25162a3cc46858d2a1b3536ea8e1b0d369a6cb4d868b3e161c3cb868f0d3f1b0136826a3bc737ef896d84d808b3116123ca26d984def9e4ee6d72f922afdd6876d8ecb229177d36076c0ed91cb1396673c2e694cd199b7336176c2ed95c69379a6bb567a3b96173cbe68ecdbdba5093802b360f6a47c7f7ef176f1ed93cb17966f3c2e6d5ddf7e7f22ba87c23f982668c4d834d934d8b4d9bcd389b093693ea9ceeac48926233ad569434336c669db58622538ecd3c9b05368b6c96d82caba705f97085cd3f5467445d78dc3db12ebfce1b6ed4d8acb3d95083574d89072d36db6c7ad8f4b2297f91e5c5009b4136436c869db8116153af0d69912d68e4a2a35e94c756d7ad33e2f24ff2da8d568fad3e5b03b6866c8dd81ab335616bcad68cad395b0bb6966cadd85ab3b5d16eb4b66cedd4ced8d69ead83e6c8d689adb3beb8b86eb8fc93bce1c6551363cb60cb64cb62cb662bce56822df9698aab265b69b632dc2f1c37b26ce53479b60a9aa2de162b32955c375cfe55a4ddb6cab751614b62438dad3a5b0db6c49096e3469b2d0f5bde0754e5cfdc032d9fda31ebbae1f22fa2dcf0df4680ad205b21b6c26c45d88ab24d678dfa866d280a16db1db5b8b01c501b9eda5db6e5f1ce6761bee9863cb6076c0fb521ae1b2ebfc4eb3ed57bb4476c8fd510567bc2f6549d48d3766a29b4e76a005794100a7db67511b7b29fed25db2bb6efbf66e4c90d436e4e44ddb2bd637bcff6816db9cb13db67b62fae1b2e5fe37637242f6f5f55cfaa1d635b1aa1c9b6b37fa33e56fbfedab62a86abdc886b31127aee2fa07ef43d6e282bc4e014db69b6336c67d9ceb19d67bbc07691ed9232c475c3e576a4ddb6cb37d16cb12d6254d9aea945e8ed3adb0d276e34d9969f49ebf4b02d9d191fdbe286bc23a8097d871bed30db11b6a3f4901ed0d3a1a74b4f8f9e3e3d037a86f48ce819d33371dd70b91569b79ee96dccd49a5acf9c9e856ef99275a7b51b9e253d2b7ad6ea25cf4619e2d9d2b3a3674fcf819ee3ddddf09ce839d373a1e74a4f8c1e831e931e8b1e9b9e383d097a92f4a4e849d393a127ebbae172135f7063aea247cd4f4f8e9e3c3d057a9cf3373c25e586ea47f9e829eb4751a5424f5553bbaf1b9e3a3d0d7ae4422469d323668aa2720f72a3017a82f484e809d313a1274a2fe905bd1dd70d97cfb93ddff076e9edd1db578b6bc50def805ea7064f7da6b6377947f48e3513b5a3a33a5335162a7165d25dddf04ee99dd13ba77741ef92de15bd6b7a37f46ee9ddd1bba7f740ef91de13bd677a2ff45ee98d7db25ffcd3fd77f7dbade1ee03f97bf8c23895ce3a1c37bc06bd26bdd6e37e71b5a56948afadc4f0ea1d4e2286374e6f425ddccf0daf289ba2374d6f86de2cbd397ac5da02bd457a4bf4caed56e8add25ba3b74e6f835ef9488bde36bd9e2fec177f8debc6bfce8dfbc56f7443850e69f03e7afdf406e80dd21bd26e78c36aab465dda5f446f7292b61855fb9c7c54b978c5bea31b3ed0d7a1af4b5f8fbe3e7d03fa86f48de81bd337a16f4adf8cbeb97e7d41df92be157d6bfa36f46d6f72e3cd9ddc6fee0b7f73a7f84f8faf4bb97dfa7b5ceec48d75466e14c3b7a36f4fdf81bea39a01f44927c5eff4a96cface0f6e3c1055bbff7c17e5462d754f37aef4c5e833e833e9b3e8933b89d397a04f6e37455f5a8b91a12f4b5f8ebe3c7d05fa8af495e82bdfeac69be545deab39727c69c207bfe4cd4fbd7edde54edc589fea46379ad2022b5a8fbdd2c357a5afa6ddf0d5e96b283754525e7a70c3d754381b65efe8468bbe367d1efabcf4f97470f0d317a02f489fe81ba62f425f947ed20ffa3bf477e9efd1dfa77ff085b8f1f1eb5f2ad8f3e61b3ef846973b714b887e634fec3bd457f40f3523fac7f44b5ae1ec6df2cc7569c347d4ced847540099ddd10dff94fe19fd73fa17f42fe9975b5cd3bfa17f4bff8efe3dfd072dc691fe13fd67fa2ff45fe98fd16ffc4e373e2ed8f34160f9b46c8fcb9df8bd7143651a3fa3ddf09bf45b2f509578347efbce6ec4e9976f49d29fa23f4d7f46c507e93ef9b3f4cb639efe02fd452d4689fe32fd15faabf4d7e8afdf2b6e7cfa8637e3c6c7bfcde5b7f36bf9c67b71e35d3724db56e3546f7177371af4cb638bfe36fd1efabdf4fbe8f7d31fa03f487f88fe30fd11faa30c900130d061a0cb408f81bedba7fa7fcdaf8d537dd90de947bde7c6bdfb544260c0c0908111036306260c4c199831306760c1c0928115036b06360c6c19d831b067e0c0c0f1d6f98df75af0f1e51f9e8fbb461f68f0666477c7a9fe127e831bd5b62e6d68e9226e3f51bbbf1b2706ce0c5c18b8321063c060c064c062c06620ce40828124032906d20c6418c832906320efce8bbb7cce6f702350d093e2a307439e70dc90d0712f37ea0c141928315066a0c24095811a03f262830171a6c5409b010f035e067c0cf8190830106420c440587f3ce2bae1f211bfc38d885a2ad2d8a8c740545911e4c3fa912018ecdccb8d639da715634106bb0cf618ec33386070c8e08841f9ea09835306670cce195c30b86470c5e09ac10d835b06778fc79ab96eb8bc83e3865a5dfb4870ff36efbad18e337860f0c8e04915710b9e19bc30786530c6a0c1e0dd6ab7c5c23ccb77898a362f7506e536120c26194c31986630c36096c11c8379060b0c16192c315866b0c28b3c56d56640d70d970f50eb70c587da0f3c5f40bb119476d96050ac68a92369826d063d0c7a19f431e8673070c77c43f40806794aa9169ff6f22adf1b62505e8c301865880c81a10e435d867a0cf59548a181fad421e0e61b2e9f20edf6b918bfe24668c8d08885054363559c2a346168cad08cb9164373861677debfd1e469a4fa48924584960cad185a33b46168cbd08ea13d4307258f285108a90faa1de461371777f99cdfe4c691a1932a51153a3374e121c6d09521793418fab67ab86d7dddf891a93fbca7a50b2cf8ddfde22e5fe3b91b214bf19e0921fb358e1b718612cc8b154986e42f749aa10c435986720ce5192ab835785cfe499edc70c4f81537941545864a0c9519aa3024d1a3a6ada833d460ffce6728bb6eb8dc09c78d27317e296e345591919064176d863c0c7979947cc3c7739efb30cf53d70d977f1269b7213f43811f3c6cf37e452df71ac78da026a44a448724218e301465980c838921c3779bdf70dd70b92b6a0cf7270d0e6f13eebec6a9f95960b8c7e284e13ec30386c58711c36386e59529c3775e33f2b91b0d354e159e33bce065c1f0d275c3e526941befc870ab1be115c36b86375a922dc33b86f70ccb078e3c4eb8fbf6739b54cd4f8f9af73827193e317c66f8c2f095e118c306c3a63b86eb7213bfc18d9287618b615b9d31108e332faa24189676297fadd30c67be6f0c37b8e329c47096e11cc37986c5d522c32586cb0c5718ae325c63b8ae3b57ae1b2e9ff13bfa54d2161b0c37352d86db0c8b2d5e867d0cfb19bee7bcb81094161f64589408331c6138ca081901231d46ba8cf418e9f36c31766064a0a38a9b6fb8dcc66f881b91212323cd989109235346668ccc195930b26464755f37226b46368c6c19d931b267441c38327262e4cc735c4d93ab77bab9b8cbd791765b9ddf46f8358e1b1746ae8cc49837d4dc5fc460c464c462c46624ce48e2ce6e2419912f4d33926124cb488e913c2305d5b98a14951b125522251d5b82ea6970ab3ff8fbdcb8eb3e247793d31f44adc3f5dcc4fb71a3cc4885912a233546ea8c3454872a22adb6c5489b11cf9ddd90eff231e26724c08868204a841989301265948c82d10ea3dd1f17d783fac8a7fbfe9eff1b7dbc11eff64de4bfc0c79bcb5deeca6b37a2bdb779376e44fb8c0e181d323a6274cc7d81d109a35346678cce19bdf35ac373428d4145976a002aba6274cde886d12da33b46f78c1ef4a3587164f4a439f332bfbb1bbf0bd78a3b71eb7ef1ffeac68551699d31460d46a5815a8cda8cc6194d309a64f49eb5db846383d134a31946b38ce618cd335ad01745464b8c9619ad305a65b4c6685dffb4a1b6437decc6f1558bff60fbf8eb9a3a1fbcf893666f6e19ffa0a2cf2d95635c6ee1c63a23efc9f033cdd7386eb4186d33ea51f977d4cbbdf45e7c8cfa190d301a64f4fee76fa4e5ebc25c94b83c73098dbe884698133fa53b45106007ec823db0fffbddf8e9a71f571bb9e5b77df0e29bafb87c891beb53ddeac61b2837c001cf2170088e1832c0313801a7e08c7b6994f73fb729ed0317e283a305577b2edbe00a5c831b700beea0943d40a9e0bae172735dc3ffecc60994767901af608c21131443e4d1026df0fee7c42a371260124c8169300366c11c98070b60515f94c0325801ab37b9f1f4cff7411bfdef6e7cd07d7aef2bdc6ed56fe117e386ee2f35774f80354dfd358e1b0db009b5e54ffe5a7ba04e7f91c6ea872a961604efdfa70a4aa30f434df845a13a4ff2bf0ed0057a401f18283d300446c01898fc456ebcf9ffd97b5ff1de6f73f9056ecc37d461aecf7895700353e1e7b709157da6193003e6ca0a2c80a55e5f281f5871dd02a45773e7797171e32c8d7e036c811db0070ec011380167e0025c81186000266001b6aa4e728b1b3ffd531e5fb5ce7bf7a97efa0ad78ddfc82dff80d26e2be917fc94703fc68dd7623cb9116744c44800c947126a5a234c3dfd77e7f98d073752401ac800592007e4810220e1a20494810a50056a401d68fcba1bc797b1f8975bf3c77da40fbec2ed537d27afdd68c4dee695184f6e349f8bc1a3fc859688d1d67868dfbb9682ce37e005e4d10f048020100224de4580283a543dac4e079d2e3a3d74faaa068fbb66c4e553549faafb82afbac1551b9dc1830676019d213a23cd58ef8ccddfdb0d7426e84cd199a133476781ce129d153a6b7436e86cd1d9a1b347e780ce119d133a675dd7d075c3e5335ec78d9f782bcd7819373a1774aee8c4d031d03119123d2c746c9ef3e8c485fbbb914027894e0a9d343a1974b2e8e4d0916f973b29a25342a78c4e059d2a3a3574dc35ea2eb7f1da0d277abcd6e32d739c71aa1913d2ec1a34bce834d191c62a91c4838e3cf509f777c38f4e009d203a2174c2e844d089a24b3552d5ed707140b78b6e4fde8c6e1fdd81bb0ed7e526a4dd16cc27d01db2ba11d01d090fafeb57f4d9b03fe3e41b09e54677ac992837ba53cd0cdd39baf7cf370e6d7497e8aed05da32bb7be457787ee1ed83dee171742e88a2447778dbacbadbc7443e1c9ff4c73a378d78dee09dd33ba17e586c48dee558b1143d7d06edc7f5e5cb9215a5be8dae8c6d14da09b4437856e5aef8f7daaa5e03cba6eb8dcc67b6e383e3ce73d372405d76e48d0c8a09b654e9a690edd3c8fa76f73e3f97e71740be816d12da15b667be8d61971f945a4dd4abb7f1625d0ad3c52d5d41ea9bfc6891b0d74255c4857aaad838647c4f8836eb835785c7e0f8e1bcff440d7fb0adf7b386ef8d10da01b4457faf461b5ac299614d08d387ab86eb8fc932c86e8461fe851f1990fafdce841b9d1eb283d7a5df47ae8f5d11ba037143714ae1b2eff22ca8d779b3ebde6131fb83152c9464f98a027597856bb311354cdcf43c575c3e59fe4b14f85de1cbd85c0f246406f89de4a1ef5f55a2317db1f92a8f7ef9cb9bf187a7ba58443efe088a150e947d675c3e59f44ad19e9a07764a9c6664940efa4ad38d33b141c43d0bbd02bbda48d3a7fe62998941c377a57f4620f41a3673c060d5363a1677faf1badc7175b8f2f7ab427ae1b2e5f44fa54bd38cb6101bd842629a8bacf1afd34a5911fa5d1cbb059502209ed8ee346d6718391951643c8d1480b5a92fe37bad1422f8f5e01bda246442fa35741afaadfe6bae1f215a4dd969a8a9634aa9ac0d65140afeea09fe604ad87849486d2a3d45001a4d074c6a9448ca6a0c6a67a2dc78a47375aea95ef7203bd367af2e8d548b7cf8f5e00bd207a21f4c2ae1b2e5f43c58d084b2d7520596ba790eb9f78b0450510b6e48f72147d0acc4f1d37b28e038abeda69c7eb5240bfa3f4e877bfcf8d7e0ffd3efa03e5467fa8c4e88fd01fa33f417feabae1f235a4ddb63a2c75d09fa13f477f21d70ee82f9fe34882fe4a1d25d02aa86e5828a8e7c597f2b7d9565da9fe1afd0dfa5b9a59f477e8ef95271240eeee863e0ef35043ffa0ba52e2861683d50cfa72c727f4cfe85ff4fa11efe3b291ffe0c64f7b65dd6d46ffaba85c5cacb8a21f43df40df44dfd2d8e8c785474f124e3168f4932ce6d93a08e8a774dce8a775e890df226d31abc96937f2e817540cb9f73a5c4ab810254ae89755a19d7e05fd2a53f228b6d4d16fa02ff7dd523fedb7d1f7dcb446fdbd1d76ef6ddffbe3ff47bafc76a44fd5970e884f2362f8992f3b6843028e219a20fa214dd8e96ba11f71dc883267ea89f0390654a50b725d0c3a18c8630f837be7e2750c06180c31186130e6ba80c104832906330ce47e16182c315861b0c66083c11683dde7f5706ff1e1f5db5cfe216edb2f8ec11e83030647cd0983f32317ad87f7c18dc1158398c66071a4f293524bbb313031b09804063606715a411ad25813182431488924778f1b833406190cb218e430c863207a1431286150c6a0824115839afe9158d4c0a0f949dcf8b896c27b3cbdedd3575cfe066eac33a20a9f3f23247f705b8f5c9e60c9cb48edc1907ed0e96b396eb4d59a918147a51c0371c88b814fdce03182815f5ddcdd0df9f62006210cc218c8974631a4aab933ec60d8c5b087615ffd6838c07088e1e8937ce3d35a0aefbdf8fa831fc41f973fcb6df5a9301cbf64228821af2469293d84504a3fbd62e88c530d6718ce315c60b8c47085e15ab931dc60b8c57027dcd50d0cf7181e303c6278c2f08ce10543b9b318860686268616863686710c131826314c6198fea44fe5baf1ff815be2b97223c3a8b4a22c86394d1ec30286454119a2ce0ea86258c2b08c6105c3aa526558c3b02e386e343094362aafb631f460e8d562881e7e873bbb11c03088610843890c110ca3185155691b7530ea62d4c3a88fd100a32146238cc6184d30d2e3b9dfe3c69b5d2f973fce8d716334c3688ed102a325c3d27e5618ad1522c96883d1f691dd8bae575152dc837663b4c7e880d111a31346678c2e185d318a6164a8c46374c7b33031b230b2318a6394c02889510aa33446198cb218e53092ff800246458c4a189531aa6054c5a886515d555ffffeb8e1f2f7705bbe815103236966ad67b4351e8df7253e2546abce88b47fbfe34600a32046218cc26a8ff82882511463ea47607cc75c1ce32ec63d8cfb180f301e623cc2788cf104e329c6338ce7182f305e62bcc2788df106e32dc63b8cf7181f7ee73895dba7fae7b8719c6a7c64aef50375848602e3d30f1c31c6276e4be206c667758c59beec9c31204df082f115e3180f158ce5c7f2610b635b4d930fef78de1fc6718c131827314e619cc638837116e31cc6798c0b1817312e615cc658eeaa8a710de33ac60d8ce583adbbcc6fb8e354ff4bbc7203e3f603aaaff58cb1c77143f275ddadba3ef6a9c6228d0f633fc601aec5a420c6218cc31847308e62c2bbb951c704987430e962d2c3a48fc900932126234cc6984c30996232c3648ec9029325262b4cd6986c30d962b25373e4ee9a11970f103726fb1771431d64a9c0e4a0393ea0855171c3091d2a2977dc989cf4d17e1e55d47072d63b6383985c30b96212c3c4b8931b98c82d5a98d898c431496092c42485491a930c26594c7298e431915b2a6252c2a48c4905932a26354c44aa863a52d975c3e5031edcb868312e8a95f74d3069aaa83269a9d031f2a931ab49db19a79226e8c144dee1c3c48f4940f4e0caa2b954151572d6dddc100343988431896012c594bade7b07d32ea63d4cfb980e301d623ac2748ce904d329a6334ce7982e305daa33635d375c3ee0871b0f60bac274fd8ccd0393bde881a9f4475aca8de9eec90d69767b4c0f981e313d617a56cbaba617e586dabfd153df31bd6a37f6bfec06a6b19fdd981a989a985a98da98c6314d609ac43485691ad30ca6720f394cf39816302d625ac2b48c6905d32aa6354cebea3065d70d970f78e5863e19dc612ebc7463ff961bd3869a10998a372d6e264ca45461dca9f4c062987ad00d6837bcbfdd0db6252cc87df8310d601ac434846918d308a651cca80e05997530eb62d6c3ac8fd900b3216623ccc6984d309baabd50ae1b2e1fa0daedfa25ad2718f5aa576633c1e977fde853cde6189cb41bb3859a0d992d315b319ce621a34a47cfe4958dda28db0dabef986dffab1bb3dd5b737f0dccf6981d145d31e12830286f3e09ac0798351447891255452cac57b3d73f9afb73717170dc989d7ff0ae1b2dc70dcc2e0f6eccae8e1b31cc0ccc4ccc2ccc6c466ccce29825304b6296c22cfde486fedbff7bdd706b29b8dc0dc993775e01b3cc232b25863c4a18f8e14656251b0af9510eb3fc73370a9815312b6156c6aca2f2f25915b31a6675cc1a5cd9ae1b2eff24aadd1634cd079ee2c60b37662ad9184b9fa5f54c8f0737da9879d4dcdf4c0c9380e2c72cc0ab8491206621ccc2ae1b2eff24aa4fd5d2dda2475ef7a91c3d9c5c5cdc98451edd886a37e6544acca13b515ecc3b987731ef61de57137f86dba772f93751ed36f61cee2e0e4a8ff9e0871ef321b719cc47cff47870638cf904f329e633cce76a79d57ca1c4982fd1df62be72dd70f92779cb0dccd70f7a70c288f5e8c646f4c07cabf490ced57c87f9de71e380b93c3f617ec6fc229906236dccafea4cb3790c73c375c3e59f44daeddc7c8985b9fda273352ba8e8318f3fea2124941ee3a3e34652951a1987304f619ec65c824b169d18cf695a36e6b96f74a3c5428885941ab45555455c375cfe03ca8dfc0bb006cd176ecc75a6aedc88ff7043ebe1b851c4bc8479591932af605ec5bc86ee991bf9641df3c637b951976f97bb942f95a8e5c1dcab3c71dd70f965941bbe17702430643ceb621534f1977a28431c37fc984bbb0cf22cf986448f30e611cca358100b60d1f9263722032cba58f4b0e86321d74386cb3c9f5d375c7e9177dc500164311294248e1b7af6c3990c51f3213a0971f636b5990d429afe6282c5148b1916732c16582cb1584135fdfbb811284af7494d81773b90df102862b185bc73b1c7e280c5118b1316676d91eb86cbd79176bbb83c8751cf831b4a8fabb8c1c8e5d9cce03343a25eedc6228685a176712c4c2c2c2c6c2ce25824b0486291c2e26e63b8f3164303c6425864b0c86291c342eeb880854852c2a28c45058b2a16352cea5834b06862d1d2d7421b0b773d95cb87bc72030baf7643e7e50b9fea592dfc8a977a38386e04d484c6cc062568480091c61ac6228245144b62897bb9112930b8e3a98c6507cb2e963d2cfb580eb01c6239c2728ce504cb2996332ce7582eb05c62b9c2728de506cb2d96bb8ff6c4deb859efc6ddb32eff22d26e977bcde1912396272ccf2fb96079fdc1e324ba766319c3d2c0d2542762cea4e55958da58c6194de88bc49ddcc032c9738a67f9961496692c335866b1cc6199c7b280651114194a588a3c152cab58d6b0ac63291f6c62d9c2b27d532d858f9bb8bb23fc1fe5c6fde2944e94879bacc343f4f829095179c8f839ce0488e386074b2f963e2cfd5806b00c6219c2328c6504cb2856bc971bb313835bac805507ab2e563dacfa580db01a6235c26a8cd504ab295633ace6582db05a62b5c26a8dd5062bf9e03b71e3bd7fb54ff782bf7efafcf1a728f47159c43fde74fee7b9b1cec89b6ebcd6e3a51b8e1eda8dd51eab035647ac4ebacea7b4d1335617acae58c5b0bad7dcdfa31b26561656365671b513d0e94aad125825b14a6195c62a835516ab1c6341acf25815b02a6255c2aafc2b35787e7afa699feab512ef7dca55e23bb9b13e9576e3490fac2a3f50fdab4756d5476a4f38b5a27758d5b16a60d5c4aa85551b2b0f565eac7c58f9b10adc2bdfa8071891562e2d3e845518ab085651ac8935b0ee60dd05b358f7b0ee633dc07a88f508eb31d613aca758cfb09e7f21dff82f6ebc7e83ebc61fe7c6ba868f6e3ca027259e6028e3000614bae53da16bf0e4ba582fb05e62bdc27a8df506eb2dd63bacf7581fb03eded78df509eb33d617acaf58c7b036b036b1b6b0b6b18e639d50c771ac253311675258a7b1ce602dcee4b0cedf344ef5babf748b33c7afbb717c15645ceec717e3c69b6e3ce9f1e0c64b3d74dc5817b096365a7a74a3ac4a7dae2b6205d655ac6bf772236b301cc4ba8e7503eb26d62dacdb587bb0f662edc35aee21a0cfa9d1ace59d21acc35847b08e62c32fbbf1c14fdf7cfa0b6ebcf9d4e51e7c25df7886efb51e8a27379ee9a1ddd8009b0e365d6c7ad8f4b1196033d48cb0196333b9a31ba1153653e5c66686cd1c9b05364b6ce4c535361b6cb6d8ec94189b3d3607d5bfda1cb1396173c6e6f2ae1b5ffd4bffe6eb1f7ff07552fede2f71b913378e53cd82d85c9f784aca7fe6b173f51cc78d183686c6c4c6c2c6e6b8884d1c9b043649e17e6e6093c2268d4d0692276d72d8e4b1296023df5ec2a68c4d059b2a36356cead834344d6c5ad8b4b1f17c2ddf78efc5e3abc6fde638d5ebff4bde1cd172fb547f1537bbf1663071dcf062e3c3c68f4d001bf95d216cc2d844b089624b2c52f772e3586768892db0ed60dbc5b6876d1fdb01b6436c47d88eb19d603bc57686ed9c69f9e902db25577b6c57d8aeb1ddfc2df3e2ae0f7f27b7bb217dad576837b65b742f98f819f663bbc3561adf01db23b6276ccfd85eeee706b6576c63d81ad89ad85ad8da8fc4b14d609bc436856d1adb0cb6596c736a84779b57a358db02b6c53fe9c62de3242e7f1669b7a284dadafdc8cfe9c7b33ce46d37200db1a47d28635b5107716cabd8d6b095b6db10ee183702616c9bd8ca37b6b1f560ebc5d6a71fc5d200b6416c43aae84e5a5e0c6b3d22d846b12376c0aef3b7c40d97bf93dfe0c6ae8b5d0fbb3ead38ad187692fb4eb01b6237c26e8cdddd727169f4d7267653ec66d8cdb15b60b7d4acf45387f5c30ea76019bb0d765bec76d8ed190bbaeb705d3ee177b871c0ee88dd494f6bc8c519bb0b7657ecc413033bf38efb370ad265baeaa79fee890d32280e5bd8d96a1596bb46dde553bee086f767e09c13bb8babad7fbb0476498c0c8573dedf2e855d1abbcc5fb35fdccf4891a795bb7fc3e526a4dd76622f78a904c3198787579e65edd8651d3772bafb24e4b12b285576713559decff1ba72ce17ff3bdc70f736b97c05679ceaadb8f164c5a76e1455c7499d989c526bab76255e97fac4a6067665f4be6b4faceb86cbefe52d377eb24291a83cb8f1f436e54645afa7ba149515bbaa5a81bbab6157c74eac902cb9855d1b3b8feb86cb3fc97f77033b2f8db40a143b1f767eec02da8a207621b5cf69e673dd70f92779633dd597fb5461ad843edd6fe0c12eaa0a8eeca9a63bf6105c375cfe49b41bafa6c0dff0e4e15ad5b9d5881b9d987663dfc1be8b7d0ffb3ef603ec87d88fb01f633f5185aaf6d3ef702310c65e849c63bfc07e89fd0afb35f61becb7d8efb0df637fc05e1dcdf1a887eb86cb673863b8fb931e96f5a9c7fd19fb8b7e94d763fa515d70dfc2dec0de04fdd85bd8dbd8c79dbd4d6975c6df3e817d12fb14f669ec33d867b1cf619fc728f40d6e605f60440428625fc25ee25505fb2af662661dfb06f64da8bb6fa37fd131c475c3e50654dcb83e46062f96474a13eac85f7f935645c0dea39f8a333eecc58a008f8658a477743cc48d20f6210ca581ca1fef08f6511c880358cde1d0c1a1fb1d6e1c7a18f6711006380c7118e130c66182c31487190e731c16382c7158e1b076dd70b90969b712010e1b1cb638ec70d8637e55859ead158fd2c60e381cd5b5258deac4580b87b3aa92beb9aa03930fce7ef1c31587187a5d0ca5091a3898cccacf2c1c6cfd18ff8e3e552184430287240e291cd2386470c8e22072e671909b29e250c2a18c43456726ae1b2e3720edf650c5a186c909873ad4d1c472d1d488096dfdd4a3f1e2e083e4b7478391b824e21839f5700f0195850f97e8067008e220cd348c430487288e14bec38dd30847e0d8c1b18b630fc73e8e0388dc47797d8ce304c7298e331ce7fab361d70d97cf91767b5ce0b8c471c5cc9ed9138e6b1c37fa718be30ec73d8e071c8f389e9895379f71bca8345b120f2c9d3a237e1caf6aeded31a6eaa88fe5a981a3a990f4e3687dcb38550b471bc7388e091c9338caf7a671cce098c53187631ec7028e451c4b6a97b9eb86cb2d2837ca385670acaa626bc71a8e751c1b2a92483c3936716ce957da387a70f4e2e8c3d1cf7418c70046733df7674afb0be218526e1c25e5c8333a57050e8f111ca3387d4bdc10a2799c805307a72e4e3d9cfa380d701a4242ca698cd304a7294e33f4a77a30f743377e6d7385bb13e37f0c69b7a7394e0bb592eab4c46985d31aa78d668bd30ea7bd3a4ee374c0e988d38961b938e374c1e98a93cec519f5e364e0642a261e9c2c55f6734b9c6c9ce238ddabaee14f6ee094c42985531aa70c4e72c7399cc496024e459c4a389571aae054c5a9a6673cde77e397776fbb6efc43dcb65f9c891a3a1eb5cee354c7491e9b38b530f030277f85db6aea622a0d4fdabc17279faa0a3d93a7a24300a7a0ee539d423885718aa88ba52811c599aa437506ce1d9cbf639c4ab971eee1dcc77980f310e711ce639c27384f719ee13cc77981f312e715cece8e8e9bdd78fde27b7bbe5f97e7f9f81577dfdf1fe4c63a23aa316f70ded292c6bcc3d4a3d67c9cf7381f703ed25e08389f703eabe98af305e7ab2a9a7e8e3132d56e9c0d957ccf8a58a47116252c9c6d9ce33827704ee27cb7fde23fbb21df9e5165a9ce599c7338cbbd16702ee25cc2b9ac22c6b9827315b3bd9ee2f8cf6ebc7edb9bfebcf7910fdeecf20ddc589fea5cc3b98e7303e726ce62455b1d6779f6302a8fe2804f21dda5b35f75b4ce018c038034fb20ce2167bff89e9116c6224d18e708ce515c880b70e9e0d2c5a5f72d6ed471e9e332c06588cb0897312e135ca6b8cc7099e3b2c06589ee41bf3ff0f918ee7b75468e2f83c6eb7fee37af5f7ff6e337bb7c03b7a494d26e2f2b5cd6b86c70d9e2b2537fee2f7b958e2fc2b848e820576d5c8eb89c54ee21c9f6e58ccb0597ab98e3aca7121962b8182a41b998aa8a827872b170b17189e3f21df9062e495c525a8f342e195cb2b8e430a8e192c7a5804b1197928e18de2faf19f949860f4a4bbd57b0e7a75a3b6fbef98fb795ff6fdc18372e655c2ab85471a929372ef227b8814b139716435e56730c8b18d2fc3c8a514829a086a3ba72a17371435aa417171f2e7e5c24ac447009e212c245348a607eb79a9f8e1b47b9dd28a3195c892b70ede0da0522b8f670ede33ac07588eb08d731ae13308c5efbf371aa9ffe119f5f7c102e3e6deeae1b7f0f37e61b8e039129aec20cd739ae0b5c970c85715db19562f8c09034b635ae1b5cb74a0fc9ce77155c773a6e5cf7b81e14bb12ae475c4fb89e71bde07ac5c044ef9eb9f8b1896b0c57035713574bf5a9aeb63ac3095b5ce3b826704de29ac2358dabc893c535a796965cf32a74fcc238d5c72ddeed53fd43dc364e856b01d722aed2b0cbb84a8bafb22926d4700a2aae7555a5eddac055da618b118f5a5265add498efb5edac35eca05f506228373c1aafe2e2a591c22a76af3306ae3e5cfdb8067095bb0ca903feae6175f2c655ee3e8a181103621dc4ba88f510eb2336406c88d808b1316293c7d0f195f98d377b4daf3ff8de2f71ddf8b790761b9b2236436c8ed802b125622b7dbd466ca393903a53f2e216b19d3acd6f56416cafd6edced692843fce8b3f28f18ad801b1bbf5a90a21c44e889d11bba87584b12b6231c40cc44cc42cc46c4673e8e5118b239600362aeb90c75812b1146269b5dfe3abf3e26e23fe7f85b4db6101b18c5a13181143b20c4b93ce21268d4a5e2f225642ac8c98285145acc65055a5e9d29789d571349edcf0be218684915803b1e6fdea5321d642acad766ec4e4a6bd88f910f323165047d2c482e8791f8aa86fea5cb655b5cfa5fcf7885161c422ba4bf615375c31febfa1e24614d386da7361502d9732a0128fa30f46472d12914cdde8c2e8a9045d65dd35180318f2a99964298f7daaf7e2862421c6e86ef986ae876b8c614c604c7992c7993a8f46dc58775fb861cc55315cd1467a5cc602867c6aa506b8dcf5542e1fa0d6a88b066b181b6588b185b183b18721adfa08e384e309860873817155ab458c180c438511c384613dbaf122d978967218368cbbad510f14612454be61242189cd320b23ad2206c572419ee660e43505f5ca4efec38afa47251865352be2bae1f2016a5e7cc9651067af5a6b6854700e2966869add3e5275b7ce351d46aa306a6ca560d46134186e4b12a2dd309aefc60da3855dfd5e6e04e586da303c581c542e6e888d61552fdd907bf5c308287316627310468861097f611811fd1885493592ebbae1f201ca0dbd68eab48309981d351d6e76d58a41b307b30f73a0d67f9843982398639813ccb230a78ccad39933f757823957a8d0e155a515cc05cc25cc959adf18ceef37860b732d9903cc0dcc2d1672bbf2dfb08779807954d572e5cdf2180bab4707e75afd12bfbb46dde513d4fc460ce6496d4f32cf302f30af3063585acc11a601d3846969616c9587c4a69266e074c2620d33fee8461faa5edbb0a1caa7f7ba188730b9a8df3b0a601fbeebdc9fd2c34cc04cc24c61308099d6553d7d6e9d1197ff8ab45b338379451d9e614a40c8c1ccab69bea5c48d825a27621631f3294c090f659815985546a66a50ebd27a3c43b99f56d37c4b13f309cc1acc3acc064c69b82dc1adc1e3f24fa2dc68c3f4c0f402d298c501912480731766502da032434a8cb1c413e92b45d4a60c33aaf6091e2c58d46e8c6d58c038a626ccad0e234db5ab691156585d58dfb3d6d075c3e577b318b215c56803abaff62dc5b26ae78535c029016ba88e613a6d55fd9093016ba4e2813586358135551bc22d27df18ce54f749de67cd55b85804612d5488b196aaa882b572dd70f92791766bad61891bd2b6770c8f60edd58af49d47b9f1b0a6d083594dad4eb70eb08e121b9421cb38ac937643120ceb0ceba2b213e98a2dd2b0ae6a35af158365881eae1b2eff24ca0d539514b124e18ea9696f15166cb5244422817494a61e5c776a05ee31a6fa57f383de22bb83256e249edc48c24ac14aab05ea56462dbd3a125656ad715f44ef9b8b5b3958798dc4a822ac9246a2560596fcc7d46049b06b3c22ef6fb96eb8dc84f4a936d27eda3c4e6149acf0aa9dde33bd81e972566ec8a3ca237cb0fcb0026a9b864ad0e59520f6792717bfc092e7925d48372b8a15615327ef4db519d0fe510f978bfd931bb03be206ec2eec9e7663f73e1fba61f7610f600f618f608f614f604f61cf60cb572c34f22d2bd86bd81bd85bd83bd70d979b90766bef9d626d7a69ed4e7599ec036671d595929ed5758bf95c55fbec36d44fc513fb88ce55315b6b376247359b21869cea3c2654b96895a67854fa619f609fefecc605f615760cb601db7c85f18805db861dd71d2dd70d971b506bd4e5ef69428138eca44a2d145e3539211d272700d829355425d9842017765a9371f66f5c14634b0d58f56cd5c51a8912aab49b3a43d9ce7d8b1b79d805d812a64a9ab2a602bbaab511316ab0ebb01b6ebee1722b2a6e48036b69dab03db0bdca04f1411f9ea14c70b07d6af04a908bb35755f7b49db3306d3f26c43cf9801d6044fa3041d8210923ccddbb4f15861d811d459ce236e21dc4bb88f710ef233e407c88f808f131e213c4a76e2eeef20524dfc834119fa9529df139e20bc497ea541933a8f2eaf84ab356a8393d8790ea34492a32766a454b57acd7476fa6983514f18d668bde80b9cedddd88ef10df237e40fce88c53217e42fc8cf805f12be231c40dc4cdbb8c53b90bd7ff879176db6da8fab6714b17843e60d8e4d5c23cf530f1278f82e4df93c00fe2b66212d06ec4e3eac938f4688824c7f28e84ea62492a32b6efeb463c89780af134e219c4b3e206e239c4f38817102f225e42bc8c78458fe4dee6c69776847f507cc4d5e65f47da6dbc8a9efc6dad29ec104661c5a9fd80986041e1a812afaba0b1d345d3b7ce7ef15902f186d243328db834d69642aed5d3b6707f373c888b12122eb288fb1117338388cbbd4a4889201ed59fba797ee34637de7cc5f5e15fe1c6fde2c3852af43c5caa2334c40a31645e51c53fb717cc3b989590a0daddb11843d2f5634dad63b7322ae54874b41b099d7c3bc45b5c069421899ea68fc4e0ee6e2486488c9090fb9b2031456286c41c8905124b2456dc4fbf36f7f79e006f16d4f9e9f1cd8a3bef55bb728b1afe416eac3322622837160f48a0981ff4306e058935121b24b648ec90d82371d08517a4f91d5599cf5951bb3168ab1ed470a68efc4b0c940cb90e122775bdf4e07ae731dcc419890b1257246248184898485848d8aa6795882391f8f2bcf8efed537d5a70c4e58f70637d2ac9aaf75db53c24915473e189942ab1a36ae07ad5e2c2595b6d2817126986c7eaacb2634bd5f54c48e870d61a26b24a0c35803b50cbd4e5c2f1449e8a36d637b8211ae491905b2c222161ae8c4485a7141255246aae1b2e6f705b5d43957927ea9282abc333b667356e6bc5d57447a281ce45cd94279aca90444ba9225813553a7d9182a56b29f0905155a6777eb50544c285732dc413ccb490b873be91f02021b7e843c28f4400892012212444f4088f0d9eca6a3fd39f75e37581c3a7d7ff7813f97fcb8d7143920ab5045d4ff0d9d2cca27a697917492209243b6af5a098204f4d4b155e3885f462755168a2e346b2abb680482e2e99bb4aea9b2a5f919e59af834d12bbfbbb91ec21d9477280e410c91192632427484e919c316821391737905c20b9447285e467e7fddd356ebcf79b5dbe991bf38de4063369605b75dc527287e41ec9832aa7903c227942f28ca4440fb9b8221943d250e9f822c56892d19473a6590b904ed8491d38ab0e0bfcbff6ceaba9755e0bc3f7e76fbcf71e6aca9c2b2004ab5885920077d44042a8010233e7bf1f494e8fed3881c0dedfa79967f6242e296c3d595a96b47ceebc69e0ec1aed065a0f4b9f4f15ee20340eec22ac22dc0bba469210a1b19922640839c208a14028112a841ae1feec5ad1391f2fd6a74a7beaf931f25da70aca2db7e4d5b4fb03e34950bc35c1217838b525a2c343b7770fe111c21a2a7bf68602c68db06efd69c77546c2e3a074673b5ecd130477b6ef159ed8418fbb4784e6255696efc66a50374d7f0de13ac20d84264a14101611961096410210809c819c835c805c825ccd1efb4b8bb919d7a9120f187da9e92dbfde443c19d85c7c0de4da5e96bd59b7fd2bd2c0cb4a503a05b9b1eb3476ea76d26047d85a24f71537a364d5ad983d36da3837c82d48d3565868b510dc5a9a27c1cb0748cbd23c59ae1be40ea41d1c72907b900790c75e0912f204f20cf202d201790579037907e982980ff6e9e78c786663eb8c547a13a88c06377676ada523dcaaef9a7ddc283836ed5e3bd7f0d34e437465126237b6ec6d3b9a8f20db683e21b801d901a9d829efc68da0b964377641aa207b202108c1851aac6d02a1200cc4681381081009a24034c8ac3e95c7f3e6fa54c5c00e6dc702c4560cf488c578feb053ce6dcafe3914c33d8dc7c54d707870e1e2c9def2cc74a5ac18abc60a9003b4d697ef86891247203590fae8ba3f10b3f704c4444063e92a88898feb2039ee4de3f1bcf5dd301ac458193686748a964ad5c593b531dc7cf5d80dde0b17dd4f904ddc99c65ab0e9786bdd9dbce4b986a4085202298306636b625feba0003d033d07bd00bd04bdf2f3703d7360daadfd718fabecd45c6a51ecc587987857fc20de12afe218bad174b9b88915f41ab461c568edc611c3e6ef8d8de5ba416f406f419beee9d87a71d016e81d681bf41ef401f4d1bbe19983381737e975771bf4c9b6f8783d533c02688835181832b0c5ed756ed06737de5171d9c50ee88b1d51efacd9bb8cd3cef2dd300ebc81be4fd75200ed827e807e826e819aafb7e3ddf0cc8169b76fa6d954ecc806ddb5b7e9ebaef6d630c50f2a37fd4cfdd8c596baa366f38d9e1bef15a3412236742c3bdfa055d0bdb43a23a0212801a5a0ccd719f1cc87addd766ba1bcc7b5008d2c8d473b7baad3dfd2bab7dc9adf68f354822a501dc78d7d9b5d2411948965996ef81a3c9e6561daedc00a83ad5958b3b5d7623e5e2df19676799c92211e173f44b3934cab6df06e78fe4a62378c12032adb3d9af521ae08dbd816877363e7d656b64a027781c1bbe1f92b31edb6bbe78a40f769d66d2d4263023db013d10df4b0f774c0a81b41a164ef339b4cc9e2ddf0fc8dd87c63448c578ca9621e77abc32d66ef800e33c4f5a9eed2dd708cbb017a045a1b7503b49ee9c60be8b177c3f3d398763bd2d62dcd177bdf197ae2ee19dbc73ca5a7a02b23ac1ae25cdce4dc8d44cc2ebbf7c7dca8ee80ae836e806e8216408ba025d032580006ef86673eac1b55773f8d3e27655b59dd347d763664e2691fd7a7320e8c6a34a6d4cfb901760e760176097605760dd600bb01bb056b82b5c0eef0eac7fe3cf360efdb748cedfa62f4dcf8f5b801d606bb077b007b047b027b067b713cbba71db0d7a0ba6bbb5bde0d4f4e4cbb5d548c3fc68dad2202132edec0dec1ba601f609f605b8e6db01db00ad82e58d5e801b6e7ddf0e4e2eb6e98bed32fba01168211300ac6c038580426827a014c1a6dccbf600a4c1b31c0f6c10ec00ec18efe756ef875540b30e6c6a5e31bdd30ddb58fe325bb5103ab83990727f68ee3ccf4af5646ee85b90e6652a53530f360036c13cc68539c6fbdf8d7dbdfcc857e89f516be11efc6020cddb85cdc8d54dc41cb7303ac0456060fc0017e66ba552e2f9fba867bfa017e0e7e017e097e057e0ddef83937d2569ce739f7bbf06e2cf007e9b971b918ce0d171c9259b61bfc06fc16bc09de02bf036fa78d6f80df833f803f823f813f83bfcce7c6ccda8419bffa0bbb91b8d07cfaac890f9078ba7723f16f9b7dcc74bec13bc97c24c496596e2cb94f05fe0afe06fe0ede05ffb0d976dad85fb805fe096efedd06df01af2c528367ba45661c96e7942fbee9a815798ef48cfe41f2d4a7cae9c6227163e96eecba865e05df030fddf5dcb471f17570024ec11938078f7eda8dece831fd1b3f971b39377a12ffe069c79876cbc528c1094f6432653761e4e3f7e3860457e01a7c1ffc00fc30336e1c81d7c08dfde6c493afbaf196a3c54f1f9ff32dd2ded4bbf15de48c1bfc748cd4ec623c651fb89135bee132f265bab102be0abe066ec2c206f8667abe51002f8297c0cb880244f80637269ee6ccc5d3528b3c6feaddf82e72e61bafd53132f3eaa4eb54f6e6e4c9f42459ea75aae80cd1b9e302d125a2abe4eb54d135a206a21b44b7889a885a7fbd1bf97b5f3e17cff3079fa67d3d316b165bed64122489f38dc6730641a1b5dcf18de80e511bd13da207448f7604307a1a7503d1b31bdf5843f482a883e815d1db8cf18dc40b44695b26fee2694d7fe2dc3cff55897de2e99c24bbcb97961d796662ef4d2347090a8789207a8f87b9fb7af47371ab5469c760d7cb3aece34e6457cd76f8f4fa8def76a38bc884854f445bc15b1dd136a21d3b8b24aa20da75e1a28a680f51689d795d414410d17fddb8b86701ecba3f35462c895b29de5b9b14c793ebfdd1c1ee61dcb0fb7a27cbd890a11bee85963d9f0a9189151c518448d8518e4822528834a27d4407888cd647886a88ea76566274ece753797231edc69815c3257dc68d580f541e7bd1e3e3b81f37cc7165f3836d9aa9697c2b43ae85e127e6a86f15839ae93ead22327da77544e6f126a2022213404a8e324400013f0fd79317d36ee362227d864b5927286fdbf65f79e921ce0c2edff85441a9159fd62f4c32de4bfba1b54d358873880b884b882b886b8806c40dc42d44d326e2a2e5d76f78e6c0e6e2531a1c4663c288bbf18e96cb408aaf68c7f5a95e31b63a7c60c8c0b665b951b74fdf1bc15b2d908540128836c43dc403c423c413c4338491b803f10af106f1eeeee174ea72f49277c333832937c66a8e8c96e799d6a3501ab89114687a1db2a5e5e2c60abe6d6f5cd6ed0685fbe09d048587a0a483ad4d882ec407c427c456b07960b6049b9560f319cf9fc18672526d7a373c33b06e8c5f8f1a756314b13da8d663038b5b62eedc689707ae4ca7294baea550778f5df43031c1606288036207cce52166973d26ee7dadb9118fcc39ea1e4fcc941b435c829114091c26c528c5f7a68963ca64d632728eaf33e2f91b316e1c46360ef4e3435068f5c6b5fb176d7b933f9286c6e3da6de50931066e2c39dff06e7896c920df70865846cb86b8423b3dd2dc984ebebd1b9e7f02d3b9787f1c6372d2606adc1095e92c3cfd3a557be006c42e441562cfb8615b7f0ade0dcfefe0dc184c9ab2637cd1fb907892c8d85491c4f5e27f861b10210419de7f43500806c12122ef86676eec3d941b1062d88f9ab5c475ca0dba3631be31ec4d25e4e2cb7203424228080db10f7100710871045183a8431c439c40986356bc1b9ebca4d552c8ef86ed75a58e6ffc901b10ab106b10eb101b109b100588222eaf204a1065c80012906790e7901790979057de0dcf0ce2ba86a3ed7ed632be5152fb543fe606e4356403f206f216b209d982bcb356c4c836e43de403e423e413e433e40b6407f2d5bbe199c137d46e13629e3aeadfe906e41be43b6417f203f213720b727b448c1dc80ae42e641572cf89114212480ac9beea469e254a7ed5c45fcd37d4fc74a380592ccf8dea3a24878c2005a4845490da59b10f791010a3c421e49169fe9035c83aa4d1e904f21472057275861bd92d3bbf1b7996edff24898bb73cd3fc9a1b726de046d07ece70a3476a9fcae8b101b90959802ce2d1c4871264192a8002d419d439d405d425d415d4355403ea06ea16aa99e5c6cce57233dd485ce5f727b4451fdc72f20d7daaede017ddb06b9b540bea0eaa0d750ff500f568c3857a827a867a81ea60ab08f50af506f50ed585fa80fa9cd1a74a5b6e9abd5c762e3766aebccd58109bfde2d96121637d79f62b4c7fd3b4b3e6fd3abfaec1b2dc505bbfe206d436d40e54056a17aa0ab50715429180ed43512806c5a122280125a114948632bb0ea00e675fc34dac4890479e9c6ecc7cb5e9c7394f991916323a7ef37ed36cfde6fa3a7f20d68d050b7ef6d7c4969a1325ae86388196e58649c4d511540dca78720c6502c829d40ad42ad41ad43ad406d4265401cac48d1254193a80c6ecf18dc55a73c689195165e1c634f1c1b23f67c696affc0aa4b5ef7f8c1b690d3b07bfe9c6b04fa5cfa0cfa12fa02fa1afa0afa11bd037d0b7d04de816f41d741bfa1efa01faf127dcc81340d2ba28391b53861bd3af3c71e2f4de6f7163aeaf3338fed71d48e3ef8d1b63637ffa09fa19fa05ba03fd0afd06fd0edd85fe80fe84de82de86de81ae40efe67223bbf52ce646da01d947e67cafec574e7b97996f9dfdeef93ff0ccd7ff03f9ba1b99b5102d3fe246157a0f3a8426d0149a4173e8085ad8310d2da115b486de873e98e146e26fe1f4ff6ec6c63ccde21bfb54f3b6bcafbbb140a0fb97ba31eba04937f421f4917543d7ac1bba3edb0d3dd30dd3b332ffae40af429b575e87de80de842e4017a14bd065ec07d807f6cfe67363a2414f378bb48d339b42fe8e4dc629696f91d6a14a6b8b795e61fa9b7ea54f95f109ff10bee8c6fffefb9fff03c5871f5d</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxStyleGroupBox</sender> + <signal>clicked(int)</signal> + <receiver>KbfxConfigDlgStyle</receiver> + <slot>KbfxStyleSelected(int)</slot> + </connection> +</connections> +<includes> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgstyle.ui.h</include> +</includes> +<slots> + <slot>KbfxStyleSelected( int )</slot> + <slot>ChangeForm()</slot> +</slots> +<layoutdefaults spacing="6" margin="0"/> +<includehints> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgstyle.ui.h b/configdialog/kbfxconfigdlgstyle.ui.h new file mode 100644 index 0000000..eb8001c --- /dev/null +++ b/configdialog/kbfxconfigdlgstyle.ui.h @@ -0,0 +1,30 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgStyle::KbfxStyleSelected ( int id ) +{ + if ( id == 0 ) ConfigInit().m_KbfxMenuType="spinx"; + if ( id == 1 ) ConfigInit().m_KbfxMenuType="kmenu"; + + kdDebug() << "Selected style: " << ConfigInit().m_KbfxMenuType << endl; +} + +void KbfxConfigDlgStyle::ChangeForm() +{ + if ( ConfigInit().m_KbfxMenuType == "spinx" ) + KbfxStyleGroupBox->setButton ( 0 ); + + if ( ConfigInit().m_KbfxMenuType == "kmenu" ) + KbfxStyleGroupBox->setButton ( 1 ); + + kdDebug() << "Style: " << ConfigInit().m_KbfxMenuType << endl; +} diff --git a/configdialog/kbfxconfigdlgthemes.ui b/configdialog/kbfxconfigdlgthemes.ui new file mode 100644 index 0000000..9378b6a --- /dev/null +++ b/configdialog/kbfxconfigdlgthemes.ui @@ -0,0 +1,1032 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgThemes</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgThemes</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>790</width> + <height>616</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="QGroupBox" row="1" column="0"> + <property name="name"> + <cstring>groupBox8</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Select default folder</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KURLRequester" row="1" column="0"> + <property name="name"> + <cstring>KbfxURLRequesterThemesPath</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="mode"> + <number>10</number> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Please select the target folder where your themes are.</string> + </property> + </widget> + </grid> + </widget> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer11_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>28</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="4" column="0"> + <property name="name"> + <cstring>layout7</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QListBox"> + <item> + <property name="text"> + <string>SpixBar</string> + </property> + </item> + <property name="name"> + <cstring>KbfxThemeList</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>200</width> + <height>0</height> + </size> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="toolTip" stdset="0"> + <string>Installed Themes</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Here are listed all the installed KBFX Themes</string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Selected Theme Preview</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer1_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>17</width> + <height>21</height> + </size> + </property> + </spacer> + <spacer row="0" column="1"> + <property name="name"> + <cstring>spacer1_2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer1_2_2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="1" column="1"> + <property name="name"> + <cstring>KbfxPixmapPreview</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>270</width> + <height>210</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>270</width> + <height>210</height> + </size> + </property> + <property name="pixmap"> + <pixmap>image0</pixmap> + </property> + <property name="scaledContents"> + <bool>false</bool> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer1</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>17</width> + <height>21</height> + </size> + </property> + </spacer> + </grid> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout14</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout12</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxDeleteTheme</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Delete Selected</string> + </property> + <property name="toolTip" stdset="0"> + <string>Delete the Selected Theme</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will delete the currently selected theme. <br><b>Warning!</b> You cannot delete the installed system wide themes!</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxGetMoreThemes</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Get Themes</string> + </property> + <property name="toolTip" stdset="0"> + <string>Get More Themes from the Internet</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will launch konqueror and go to the KBFX Themes Section on www.kde-look.org</string> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout13</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxInstallTheme</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Install Theme</string> + </property> + <property name="toolTip" stdset="0"> + <string>Install New Theme from KBFX Theme Package</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will offer a dialog where you can choose KBFX Theme Package to install in your home folder</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxThemeInfoBtn</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Theme Info</string> + </property> + <property name="toolTip" stdset="0"> + <string>Show specific theme info</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will show you specific theme info</string> + </property> + </widget> + </vbox> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout10</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox18</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Personal Image</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="6" column="2"> + <property name="name"> + <cstring>spacer9_3_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>7</height> + </size> + </property> + </spacer> + <widget class="QPushButton" row="5" column="1" rowspan="1" colspan="3"> + <property name="name"> + <cstring>KbfxDeleteDudeImage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Theme's Default</string> + </property> + <property name="toolTip" stdset="0"> + <string>Set the Theme's Default Personal Image</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will delete the personal image you have selected and install the theme's default personal image</string> + </property> + </widget> + <widget class="QLabel" row="4" column="1" rowspan="1" colspan="3"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Maxsize 48 x 48</string> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + <widget class="QPushButton" row="3" column="1" rowspan="1" colspan="3"> + <property name="name"> + <cstring>KbfxSelectDudeImage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Select New image</string> + </property> + <property name="toolTip" stdset="0"> + <string>Select a Personal Image</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Pressing the button will open a dialog to select your personal image</string> + </property> + </widget> + <spacer row="3" column="4" rowspan="3" colspan="1"> + <property name="name"> + <cstring>spacer9_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>18</width> + <height>54</height> + </size> + </property> + </spacer> + <spacer row="3" column="0" rowspan="3" colspan="1"> + <property name="name"> + <cstring>spacer9</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>17</width> + <height>62</height> + </size> + </property> + </spacer> + <widget class="QFrame" row="2" column="2"> + <property name="name"> + <cstring>frame7</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteBackgroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>KbfxDudeImage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>48</width> + <height>48</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>48</width> + <height>48</height> + </size> + </property> + <property name="pixmap"> + <pixmap>image1</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </grid> + </widget> + <spacer row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>spacer11</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="2" column="3" rowspan="1" colspan="2"> + <property name="name"> + <cstring>spacer11_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="0" column="0" rowspan="1" colspan="5"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>This is your personal image displayed at the KBFX menu.</string> + </property> + <property name="alignment"> + <set>WordBreak|AlignCenter</set> + </property> + </widget> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer9_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>10</height> + </size> + </property> + </spacer> + </grid> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox4_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Misc Options</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer13</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QCheckBox" row="1" column="0"> + <property name="name"> + <cstring>KbfxWatch</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Watch System Installs</string> + </property> + <property name="toolTip" stdset="0"> + <string>Watch for applications installs and reload KBFX if any occurs</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Watch for applications installs and reload KBFX if any occurs</string> + </property> + </widget> + <widget class="QCheckBox" row="0" column="0"> + <property name="name"> + <cstring>KbfxShowOldThemes</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Show Old Themes</string> + </property> + <property name="toolTip" stdset="0"> + <string>Show Old Themes</string> + </property> + </widget> + </grid> + </widget> + </vbox> + </widget> + </hbox> + </widget> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image2</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Please select theme folder</p></h3></b></string> + </property> + <property name="wordWrap"> + <enum>WidgetWidth</enum> + </property> + </widget> + <widget class="KActiveLabel" row="3" column="0"> + <property name="name"> + <cstring>kActiveLabel6_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image2</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Installed themes</p></h3></b></string> + </property> + <property name="wordWrap"> + <enum>WidgetWidth</enum> + </property> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="88915">789ced7d5973e33ad2e57bff8a1badb72f26f4695f62621ebceffbee8979e0029014256fb2645b13f3df279127012e925dd5ae2add6a77f984441e2091000e565232f5dffff5d7f5f1c15ffff5dfff183f7bcf49f057107b4f7ffd5738198ddefef7fff95ffff71fffac775b7f35eab5bffa4d3afef37ffce39f61ffafe0af4a8dfeda1de63dc7bbccbb8ef798771cef336f3bee316f39ee336f3a1e306f381e32af3bae98d71cd7cc6f99d76bf54ecdf0a02ddc837dd0729ced83a6e59d3af3ae705fec1b96775acceb8e73fd4603f0a6f2387e9438dee6f2dc306fd41a529e8e705b9ebee3287fd572294f4fb82d8ff5177458afe0da71d62bb8759cf50a2e1d477d2f2cef727b0657c243b1af592ef1e78e737d8223c7b9fd8303c7b9fd837dc7599f60cf716eef60d77194f750b8127fa78ec3dfa6e3a8ff86e3a8cfbae53de8bbe638f45b751cf579731cedf9e238ea37751ce5d912ae25ff15cb25bde738d2571c477aed38ea93380e7d52c7797c04778e43af27c7d1ded23fea35e4e7f71d477eb1e3c82f721cf98d1c477e0f8e23bf89e3188fe85fcd5a53fae3b170dbfe678ec3ff8970db9edb8e43bf99e5a2dfabe3d06f47b8e8edb72c87bddf731cfe7dc751dfd0719467e838eafbe838ea3b769cebeba37f36eb35c97fc771ee6ffea9e5e86ffe99e3ac8f7fed38f737ffd2f126f386e3a84fd371b467d771d42f701cf5538ea37e03c751bf7bc751bf67c751bf2de175a9dfbee3a8dfb9e552bf23c751bf2bc751bf0bc7b97e23f4b7668b2630ee3fb06fd55a1dd8633e68397db71d47fe27964bfe078e23ff9ae3f077e338f4ed380e7ddb8e43df3be175f457ffc171d6cf7f749cf5f3c78e43bf37c779fef2678ef3fce96f388efa6d3a8efa1d5a2ef53b761cf5ab3b8efadd3a8efa45c21b988f7ded38ebed0f1c47fd868ea37ecf8ea37e2f8ea37e6b8ea37eeb8e63fd457f6ed3f28ff2613e6b53fd509ed8719427751ce579721cf94f1d47feab8e23ff15c7397fef5a78a3c3fa7a378eb3bedeade55dd6d36b3acee5f5ba8eb39e5ecf71f417e538ea133a8efa8c1c477dee1d87be13c751bf57c7b97ede99f0a694ffd27194bf66b994bfe538cadf771cfd21701cfb0ff48776abe961ff85f1d9a9753a6c5f1908d74d2e5f65e43897af82f6ecd46b127fe738eb5f8984d785bf58dee2f255a68e23bf99f086c4bf390efdaf2c173d2e1c871e75cb458fb6e3e87f55c7a187e738ebe1ad0a6f7678fef4561c677dbc2dc7b9fdbc0dc7b9fedea1e3dc1fbd3dc7d11fcf1d47f94f1d47f91b964bf93b8ea3fcbee3287fc57194ff55784bca3f751ce5df751ce55f771ce5df771ce53f761ce319e5efd6bad23f52e1b67fc48e73fa0ae693aeeb1ff78e737d2bdaf216cf6f1525dcf68f89e3c8efd971ae6fe555b8f48fca8ae3881f3bcee3b3123acee3b3f2e438eb55d9731cfd7bdf71d4675578b3c5fa55761c87fd96e3b0df701cfdffcaf236ea77e238faf78be5d27e33c7d17e2e3f69bf35c7d17e478ea3fd0e1c47fed6bed586de978ea33ce78ea33c56af16f673ded071cc2f89e3b07f709cf5f61e1d67bdbd89e3a8df9be3a8dfb6e3a8dfa6e3a8df89e3a85f55781bd77b5ec5718c2fdf725c4f799ee3a8cf9de3a84fec38eaf3e438eaf3ec38d76784f9b4db6a7bb85ec57cdda3ed18fa1fc65bcff5a76dc7d13f1e85dbfef4e038ec371d87fd81e35cbfcabae5d29ea78ea33d2f1cc7f890f2b9f63e761cf1d78ea3fc378e63fc1c3a8ef153779cdbaf52731cf5e93a8ef68b2c97f6508ea33dee1d477b0c1c47f98e84b7a53c0dc791ffade3c8bfef38fa7fcf71f40f6db99427701ce519398ef2a48e737942e8ddaff5d13f2a586ffa4e8f96e3284f47b82d6fd3718e1fa17ff65b5d0ff73bd0df3dda1eb37f8df9c4ebd4022e6f88f6f36bbef4478c07bfe579b81f02bd02ba9ec7fd16b45f48d7efe0e84faaa630fe86682fd50a3cccf798ff744d4b3ceaa75bcac3fd149e2febb57a0de335e4fe5ea73f8cd76113bc4d45e4789ebfea0d5aaf513f1e0ff526cd4fdcdf8735f076d367fd439e4feb2d3bde431e0ff536e9cf7c7803de6efb680fd6a7dea97764bde2f151efd2f6129ce73fda3cf7b0fe0e2fc1db5d9ffb7bc8f37bbd5fef633d0e793da97b750f7c780edef67cdcafe1f9b9eed7fd2eeac7f3593da80758bf87a7e0edc087debc5ed5c37a88f890e7fbbaaa2bacefc363f0b6f2b11fe3f5bbaeeb5ae20fc03b351f7af37cdaa00b7eec07429e9f48de3af603c31978a7e9e3fa9cd7c306fd213ee4f9add16c34b17f0d793ea2cd570bfbd7e13d78a7ed437f9e9f1aed461bf121e23b8d0eeebf0c3578a7eba37ff0fc4a9baf2ee2431e4f8d5ea387fd702500eff43c8c6fdf712e5fda11eef9680f5e7f1afd461ffbe78a07dee9e3fe59a522dcc3f564a5ea38e75fed0bf765bfcbe3b9e1353cf8abf6c0291ebc2b3cc0784caf2cc7f8ab7684871eeb5b6d3b0ebd78fe6af80d1ffbfb6a0bbca330beaa4dc759af6a43b8f6b8bed53a78d78e1f5e6f1b4123c0f541ba03de5101f78f6a0d9cecb97f556f85d77dc4df086f60bc54af1d67bdab57c29b321e783d6c848d10f9552fc1299ef5ae5e086ff9ac77f5dc71e87d26bc8dfe5c3d751cfd97d783866a285cbfa52fe0dd7a80f29d08efc0be7aec38f43c12de45ffae1e3acefeaa07c27b3ec63ffaa76e68e457dd07b7f1d53de17df4dfeaaee3688f1de19eccbfdcdf9ab5660dd79bc355f04e88f87400de6d06d0775bb817a07db684fbd27e9bc203a9ff86f010e943eeef345dcafd82ea3a38c5a33dd684ab00edb1ea38da6345b8163e731ce381c71f4d070df81ff4c0bb6df1f706deab05688f57c7d11e2fc2eb01da63ea38f49e086f80873cfe9bf487fb1dd567708a477b8c853703d4f7c971d83f0a6f85188f0f8e637ee5fd6bb3d56ce1fec910edd1a2fec57a0fae8477458f7bf05e1be9ab778ea37d46c23b21e65bdebfd072d586ffea10dcc60fb8ffd066de13bd52f05e17f1d581e3e81f3cbe9bdd5e0f7c00fd7ad41fa06f0c6ee3ab3c7e9afd5e5fece1cfa3f686fe1adcc65795704f38f4f18973ff49d13f022a2feb91a0fd036a3fb44720dc877d15fd25b43ce1f9b0a95c7b79c203c40fd1bf69bcc978c0f8d1bd50f2e7f9ba55a3f2737d932678af8df63e79161e86589fb83fb5ea545e4eaf86e03d85f884e7c3162d37684f950a97783510aec51fb76fab49e391ebaf12701b9ff0fcd96a919edc1f542c5ce253d6abd5a6f2f378521178bf16b2bf94e777bad8a9213eb9141ea03d9406b7f64a09af830f50bf2e7508d65785e0363ee5f9b7d5a3f6827ea7c215f4550178bf21fe58ff96e93fdc7f950f6ee395279c9a98fdf3786f79bd16fa5772044ef943cf8a70b157684fbfdf92f43c5e5b41af83f19fac835bfbd1ae706b0f7d435bdfd10e78bf2df6db8ef3f84ae05f593eda12de011f70ff6ce95e5ffc6d82dbf811cfb7ed5abf2bfe02c759cf01af47ed3ab517eb355a07b7f6a335e13de13cffb61bc4397d7c2bbc1f72fd075cbe7693fa33f7cfd10a38c5233feeef6dd3bfb8bf8d66e0363ede171e843c3e473c3fd3c584c48f5e857be029af87ed4ecf47fd933e38b537ee07be0817fb78265c853cfe463c1fb569390cd1feac7fbb47f6cc4713e1121fdf837b7505bd509f3e9517e9513e8f38eb31ba171e8a3f9ecf69b3203c467bf85e53617f8df60a7a21e6a744835379a12f8f7fea0c0dd1ef51b8c48f9e846bf048ecbdb6e2f979087bd553d25fc6e0d63eee817bb590e323e8abbd9ec2fe9bfb6f872e10317f0dde847764be63fd3b752a1feb33b813de437cb402ee798ac757c4f353a7e1050ae39df7939d268d1fd663e009f7643ee0f1d969f565fd4af6c1bd3afa4b1409570ae38df5ec74fab23e25286fc76ba27e29b74fa7db97f52719827b6df48f08f977fd9a42ffe1f14fbb795fa1bedc3e9d7e5fd69bb80d4e0b16973f827ddf6f2a6eef01eae7517f42fd4fc0a9bccc63de5f9addbae2fae92eb8df565cbf01cf879d80fa0feb11ed8053f9307f40efb0239f670f9fc0a97ed81f6c0ad7986fe22d70aa0feba351fed0ef29f40fb48f3260fb29389517e30b7a6903f69f8253ffe1f94237c17d4f61bc71ffe99a1baed8bf54c0fbb25e0c3438b50fc63baf075d73c1cb7aa6b7e07d595f9315701290e3e344b846fb440138e9c7faeb9af040637e42fee6828ef54977c1fbb29e8eb83edd6657ee4f473d70bf8efeaa6f842b8deb59eeffdd9601db5f82fb2d691f5e8fba6d03ceef19dc6b487b748487d21ed7e0414d63fc22be63c0e9e1cff467d63b3e04a7fe80fcb784d310e7f4dcffbafcc7f1c8bfeb77d1bf35cadb0d9a1afb1bd4b7d795ebdb01ea4b57b3689f21afffdd7e57ae5f07c8bf4f178cac773400f7fba2ff3978d0d6d89fa03d3d03e6684fcf93f57760790ff3d3107af806ec1ffdc3f77d8c0f7d0a1e7435eeeff0f5266d86035c1fc54370d203d7f77cbdd70d0d98233ef464bd1e44c27dcc17c9049cda1ffda129bc0b7df53178e069e8cde3b9abbaf2f9ff10fd5179b23e0f79bfded506dc9ed0577b76bd46ffd3347f707bea23f020d0d08be78f9eb9418bebb35370cfaecf7570ea7f684f4edf33378c303f6d82937ed0f34178a8582f7d001e680dfd79beed991b1e182febe09eac9731fc9b1b00685f9e6f7b4d03b61f83939e688f35709a6f58ef2811aea43df7c0c39a46fb70ffeab50cd85f04eec97e61c8f35faf6dc0edd706f742c4c74fe0341f717e7a073c6c6ab40fef4f7b1d034e8ffa773c8df5406f81872d8df6827f1e20ec5f83d37684db2fe5fed5e33ff6f702eed7e02fd913de95f9aa2b3cc4784c793fd2eb1b70f960dff764bf31809e7dbf81fd483213de83fe29cfd73dcf80d3bf827bb2ff1804e0beec3f928170bb3e5f08d7e81f29dac737607f29b827fb8f08fdc10fea68bf147a05066c1f8253fdb15ea33d82a021eb1bea1f1a70fa6b705fd6f7d8f210ed3740f99401db431fe537305e07685f6dc09cc76fdfdce0c678d904f79b688f01d7af6f6e9862bd817d9dc60ff633dc1e7d73c30efd3f00a7f904fa71f9fb4d03b6af83d378c0fae481074d8caf84fb4fbf65c0f647e0d47ed8df6c0897fd4c740c1ec87e2081ffb601a75f05a7f916fb9d27e11ae9139e6ffb1d03b67f00a706847d084eedc7fd2dda15dec17e207a15dec37a9ef07ac2d33fe6d33570bf237ac6c203cc5f710d9cda1bd773dc9edcbdb1fe1d80072df4b784dbb7cf7fec7f0a4ee305fd9de783be67c0e957c0491fe8cbf32b2d3f046e2fb48f4ffaa03d507f5a2fc41ee50f0c98f3feb01f1a707ae417fab25f8aa157487aa03d783dee2b03b6877f45ed87f502eda568438ffd14cff77d6dc0f1f0af031ffac6dc9f3df38109fadf2d7850c37c916c096f43cf685578a0a10fcf879eb9e18ffd34fcd5a97d71fdbf2abc23f3bfd80721f64731cfdf9eb9a18cfde30c9cda0fe923e13d491f0b57921efe9a06ccbbe0547fccffac97d732607e0e1e78d03392789aff39ff08f56f1bb0fd0e38e985fd2acfdf5ec780fb0bf431fd19fe5f8487d29f793de3ed07fa2fe2bbd63e427d7902e5f403f040a17d22de2f70f7c3786980d37ac9fa47bc1e78fcc7fc143cac439f88f79f34ddfab8df9ea23c7e20fb93f44d78073cd9111e8a3edbe06143f4b917de04d7bc7ff30203f6f7044efd1dfe9e85cb7a1ba5e0b4be717b295e5fe8e239c4fdfdd4030f64bd4e46c215f4d4c85f7972ff3f41fd54a0452fb48f0adb1af787501eedc9e70303d45f53fb633fb926dc97ebaf0bf0b00e7f9afb976f3e30c4f8b80777f6abe0a40fc76b9eef7df30117c643084e7ab2fe8aaf8f7df30107eb178fc0490fb6d7acb7df34e0f80a38d5077af37ce9b70c98737dfcb601f72fc49bfe8af97c0f3cec426fcde3dfef1870fc0b78d813bd783ee1ed2ffa6b021ec87e43f37e9097675cffd6c1a97db09fe0fd3d4f87d89f409f7e5893fd39ef57b93bc21ef5f76c7cdc10de113db83d7cfe637be8e153fbe07ec5b5f0868cf763e15d991fd685f7443f9eaffdc080e3c7e074c18af514e50f0d98a37c61d892f93412ee49ff457f5006ac670b3cf4a1a7e6f9c4d7061c7f031e0612cff50dcc07ce18cf1be06188eb23cdfe02f30129d67fd89b0fb4501fbe5e0b9a061c7f004ef9239eaf17839601b7e7367828ebbbe2f536681b70fc183cec207e18398ef1160b0f50ffb82f3c143d78bc041d034eef81875da44f9bc2e5fa3fbe14aea047c2fd8f2fa7303f9d8087b21f4867c2fbb27e6d0bd7481f3f82ab1af453dcbf797b88fdf8c071f4e791f03ee253949fae6e24bfd0728cef3805b7fe35cfcf26b5f84f1d87ff58785f7822dcc3fde601f4a0051ffe07a7c2e5fe8186fe9e49c15c0b97cf47b4721cfed07f3c9b7ef0245cd6dbe80c5c35707d1cad096f6adc6f407d7df287f96a2adc07d7bef000f7a307c89f0684ac0f1370e78ff7af64ecc35eaf0b97f4bae238aec7d05f42175f152ef72b55cf71dccfef0b97fb8d8ad77fc3e47eed39b8aacbfc86f1a209b06f3b8efd26fa9b267dd01f371d477fe2f118d642b93fa99a96cbe7010de175dc5f4c127025f73b14f737138bf818fe683780f6884f85cbfd0bcdf36b683e50c67ab1096ee3e389f00ef456b06f1af0f85b07a7fe8afc62e1d69ef7cb61cb80edabe0a417dab3235cee7744e7c27be08ae7b7b06dc0e3e50c9cf4c2f5f89af02678f428bc8ffb178ae743be9d88ebc914dcda0ffa8ea3fd505fbea1c2f1c7e0a41fe2515fbec0e378e4d723bd70fde20bef487bf0fa419b6fb1576bc2fbb83fa278fde2ed098f2fc5eb072d0e965f0ab7f7f777c1a97ed097d72feebed8ef8fc19587f844398efd8e27dc177d79ff14f21fb71ffc87b4e141f9a0b732e0f857701b1f2be1a1d8a3fd7428f71b22e8ab6d7c742d5ce1fe8fe2eb1d65bef084f5e94db8c46bd64b992fe4e0f3851de19ef45fa4375f58c0fdcb07e1123ff485fb62cff3bb6a1a707fa809f7a1573a141e88beb06f1970bc121e227e70e638fac3ab7005aeb97d55db80e3abc26d3ceacb37a899233ddf70e3f682ffaeae41bfe4d8715c7f4e85d7454fe8c33714b87d9ae0363e3e11de10bee138e66394872f0039fe19dcc6476de14d70cdeb1f6f97717d70046ee3a3b1f016eebf295e4f793b83fcf8fa86a753ccc7a80f7738e63c1e15ffb13dcf4f4a2bd98f6b2e9f365f88c3fd78cbdb523ece5f9b2f6ce17ec8b170891f348477a4feac87365f48c1f5e2ba701bcff5a3dac9fc91bc08efa17e49d571ac27bc1fa6dacbfc115f0997f8c8f2bed8f3fe8a4a27f34934156ee3793fce1f57e0f35dde7ff3ed57f4571ebf7cbb08fd8bd767be3cc77acef3155faea0bff07ac0db47d48ffb072f57682fe8c5039ad3f3f862f9f17d4de8cb7f869f3c572b04cfc127048c90a1089a1111624222181052c2903122dc39dc131e088f8227c298f0ec30214c092f8257c61b61c658a9ae12d608eb848dea26638bb0cdd8a9ee12f608fb8403c2610e478c6387931c4e19670ee7255c082e05570b71ed7023b82dc3e8cb8a667ae6d5ccb47c5fc9452a7ea460a69f5130d330d37143b4dc725aeeb0967ba2a55512fa658a7d5ba9efd168814a825a01f53934e6c1fa860b14cdeb99a999d7b2ac64a663b917e635b40a6ee67a63d623ad92792d6d6fcc94cc74bcc8a976fd813af39a2cd0e21d3417a0f5bd607d8b9ae6152dea392ef44aab6559c9b5b911bd39a761a6e0fcd83e2a69992999f5b81ba75b51ab6f29d076e82c40f7e783f5cd467d51d3bca2793dcbb3e35a69769c9f1fad8a87b9de789c9b0df323fba2a0e562259b39bde675e939f43f46a5fa797ccb37814ac0fa5a55f39a667db4a8e87bab4d79865cd417f3bdb138b2af7323bb56d0d2f6c576a187f572fa983f6f0e7e01c10fc397f70cf37916c17f46df4a5851155d892a7125210ce47d20ef79a4126aedb25786a4706e90ba70eb372d59260b7c0ce7c292dc3129f85c54e2a4e477be3683051ef3b52c5b2654a6791f8b6c4795bbca3da98affb779a83c569e2ae3ca7365c298e6de279517b29bf06b22c72c66920bc5fbab0b9b14d24de94c39bf8adea7ce2eef4f398b49c9dbb7f09a2bd3a274591955a136281b8e26dd5b21d52c17af2ac59aaa9c06aa52cc6d85145dad3cb0be6b95f5ca4665b3b255d926ad0d761838dbadecf1d1bcefbaf83d8edf91901d09376c2f973a9f1e1e1e24dd432e058e26deb23df7bec3717be2e5c179d89534bbb9d2ee32f225c9ce77a5c4bb39ebcc6366bf932bdb434e85ac3e7be2235ff21df18fbaedd36bab726074657d0f2b4795e3ca09e1948e67743caf5cd0eb92cecff81c61978473b6bbac5cd1eb542ccdbbb1bca030a4bf229cd1f915c79c70dc19a735298f39fe8a535e718a63ceef8aedaed8f2ccf93d97dc8ef968ce4ec4f705c79b3c6ca92e39f494de4fb974975cca4b0abb70799f738ec6e2422c4cd96077cc0a9cbbfa1cb3af334e79ca61c75237e3ff9c5f275c4694e02a57f26b52f586f5bdadd408f54a83ceea9526bd6a74d6a2e32d85d52a6d8eadf33b6c6b148ed8bac43424d5adb3a873ba9a7835b6f0035f0d797528a649614df1749bb3699105fc76e4bdc1a175f17feb2c6daab694a541fe50f6ba94c196b029e5ad494ab0963bb77541896d996f5dfd8d2dfcdd4a0ea8a92dbd2d0d80ff67ee11fa95be57a5779cf7e42c63fc4e8b62df9edb542e9d89cda531b6b0a7f89e79b10d9f0beb71cabe0d97b00a7c67de5c5c5fcefbf9dcc58be499f97135e8570a7540399df77cfee2954beeeae44adfcf7b9552169492daf4f325e6fb111e7ff4177821bd9b3ff3c185e729bee1e17168e045f87c976d3d0ab7963e87798e1b3bdf5906e2cbfab4219a59c07906025f2ce02992184d67f0e0b16ff8f2a46c997fedfc78ec554b9942a999f1143a2b73ab58e5d207ae2c1e973ecaf9575c827ce97dc93f608db2d2c05249e9b9dcac6f4c48bc011f075ecaef084378c261b1bc23dcd825fc42ca844353e72171b626fd5078169ae6de13496d30925c6d1962970f7284c7bb428ec863c021b6f4e6fc8e5ef79cbb4931608b584a6c73495caac4953c250c726548a41403b1193aadaccfd895cdfa363e287fd6f7c1e191df9f4afcc11be758f68e97b57972678f398ff9148f85b0a752d8638e3dbe93cae2a994cba32bf3239f3f2fc8fda954c3476fbea4e51c8ddd73ae74f3a5c9f235e74fa552f1fecc9b7853efc57bf5def838e1e32b696af1c2af29851b1b6042789577633f757c22f1334af5c66153c61b5bccd86285d3c0ee4dc2a6fc9a396e626ca94c8a1987db74c6f39463671c87942f9cabb59a49be6f52ca55b67d91f4537744acc9712c79bf49a96d3caca7acc244eab22afe4dd9569c47940ae5a230d677cd5ba7d706c39c6f32d6898d39669d8e9b2e16f16b1262b1295ed69da579df721ed7e5cc586ed3fb3ac5ade7f25ca7d0358edd60dfc86543d2c2eb8e0b5b636cf0f986e4087feb5ce64df1694b6b4bb529361b2e877529d99a94d9a6b4fe37a556c8d1a65f9374b6d6bb4ebf4c0313cafb5f6fcfdbf70ebc43c611bf1f50d821bdc6126a7bb2b13cf48e8521e6d09d191cb0854db5e7c24daafd9ca7438e3b747e0ddb279bbd82ef7df1b027f9eccfe5572c5fdee3612ef7ccee50ca82d063f1bc978bdb77b1fbb93a1cbad80329f92133bcefb9f343b139f44e8c25eb7bea9dd1eb9c7041c7533ebfa4f74bf278c5e1630ebde6a36126ec948e175c8e53b232ef17e4c7845d703c528fd9e7b9bcdbb4e7623f26ab4be71f3e519a338ebd70616361385eba143822d753f63e963a9c4a0d6eb82ed6ce1c6f9ccd58d2c0f29c4b7c21b53ce7d28d5d094e999b325c53e9ce5d89812bc72eb9ecc258df5b41cdabd3eb965f381b7b0dfe9ee798431b7444a8458d5e750aafe5c26cfaa6c48ff14d4f0ab9658e33841aeb0633e4dfe23435afcd1eb25c1b9c4f8dc36a923ecbcf7aab31b339d425079b2f4a5ee7d87c0d5007c494eb67429af26ab85cdaacc9adb006951ae56c88f78e5312cf47e97a3dafef57f91ddfebece1dba1e4d19cf5f9d8238bb18476e9bccb7163634da9104321b481add20691e3c8aacfa9c71cd7138ff064721cfbbec9958e48d1cbfcf079cfe667cec96f20f1f0d3675fbef5ca29fa6cd13725345f10826797cec45b8f6465cbe96a3a26cb9e78ebe6f3c69162336dbaa282ad37eb67e32506cf8b0b054a5ef63d248f7cce47cb2d53e628e79a8efc01381f433ff2e3cc8ecf94af4d78d163ceaf4915fb318744c62387c6928fe2f3c44fe8a84b25826562fdd81878b439e7f2b3b994eb9788375b072955ce9652a296ec85eb2d4a69a79d726a1a8b98f51df8a93ff447f43ef0efe87dc4e774249f230a1bf091c2f8989aa381b1a6f794d28c8c0d87dd71ca81b1374c4247ec75c061a93b720ee26988342ec50056363dfbb8874fc22097f24eca8572a62809ca644bca76b6fc2393de95cb966a20f535feee726990f35da60552481da1d548620c1ef8fc8e41e1acef23e1c91fd3eb99ce267c1c131ee938e558b009b3295b3d71ac394ef90cf1f0f3cc318f1c66429e38fdd8593f4a3cd24fe4f8223e8de5442c900f30c9f978f25f25fd337b37b113f230258cb91cb07cf2c0e067cc65799694593d5096672ec11387bdba1453b1183bdb09a77dcaa93361f64ae95fa4cec617fb657ddf1c66eeb8e2c256257cc6285a66ef33b19de5e2b314f0372bd85a3b6b352b789b49aad95c8ab7429ec5b46b251bbadae0b315e7bbec09a957e7ea3f2b84ac1742ca2a14cbb7923be7eb0b7fc3dff4b7fc6dc20661878e5b14b2edef32df66188b0d7f8f6336fd7db23296266c8bd3eff3d19e199b0dc62e87196f7b7cb6c7e73bec69432c7739d53e1d7739a70d872db6dfe2b03df1bfcdef48bbc7b96d4b982da3f1665edbe20d69f6d916fe325f9be21f25dee6941b52864db6db93106bb32f675b9cb351017e4c8d7639cf3da939c5b3be07fea17f44efc7743cf14ffd333a3b239c50a8c139c71cc9fb29591a1c9185893de15426355ee76461383c1df1d909879c71cc19871cb3dd21bdcee9dde67ccee10782632e89b135f9185b93e28c2c8c9743b63ee1d791f83b91721eb0ed01db1fcbfba1e47ec6e538e21a1c70e8017b3067c75cab53cee3987340fd6c094f2417137bcc79a096671c7ec6b53fe6ba421ddefffa17fea57fe55f17de6ffc6b9ee3af05b72684e200136f8e35bf4ed6b40be7b09a581abb1b97b2c6bc4e2157260dfbbc106fe675ebfc5c8bcf2b4963525f71c825a5a8b1458dcf50ca1afbb9143f97cee385cbf78253c3da94e19acb51130b84da5a5d116e50737e5db10dca99e57825beeb128bb2dbdcaf5c9d6bd080f56df0ffb6b4e8d5c8403a14385b3524accdef1db229db369935ca9030ca67815febb5e962da2eac51383368bd93da9eb7e7732fd8b55c6e36bcb320171bd2992b23de3b1f9423e789f535ffb9d3f47bf80f1ebf8f336f1c5425c4a047e1d6ae2776e6baa00b5b09efb125ff27129f75c5b6c996bda0e2f770e677838a78b4b9e6f3ea717a7b4e39b9b2345d698a365d97174a9a856476c68bd483cf7a2eb5396b06955c1e08ebd3795fea63f5b16565df815728b92d4f53f2c0f3e17dfc2f03ffc701ff1781e1d8039aff5990b328880da757182414ac5d4c627799e485d29b902074e98de7d8b1d8d99a9cb25c94f5207189f123e78a7c445c3a4a8fffd320ee73b829b596501c637ef7510bfc17061f23ae1d42e01171e05af209259de1a1a9b3f8342111a74ed85fcc1e7c4e017f9a4b82b4b1f5cdfa0ee82ca5f73418f2bb79913ef44e603d077c1c727d876c9792cf94951c22cef8e05608614921c61bde53e1a380f6e9ec3f45bb50486a7d1bbf8895b8289787c971c4eff9b20e383481c79c5d88b2b3c590c253173fa29084a0d816f6297b1b527ef61c5e8d9748e2524e9b728cb54825047128d7884b3912bf43d6f72eb827fe40b8a7f3077a11a85ed99162e8f8c0e78f0c1b66ce1e73b68f1cca5740d69358208db1b93779c19febcd776c7f0f4fd6838d335e2936650fe2874afce8fca772fe28ec8eeb646c1f3874c8210f391b29175bc0eed1797fccf1bb021e4b1e6c1a840c5d4e7792f31debfb54c2985ecfde182c7f94f389b55c64e3d8336b53b25ce86f2e6d392e18bb777b362ec4ccc3864fe6629eddd97cdc5842cb794f8279bff3394fe6cf59dff1829c1669372ed5799c8f2ba8f38c9238fb054a8b86253de7f5f5c6a88bf79e9279f5cb7a2f4a93b77b5e106b5b713ca7f2386753b6ca149ce4523ccdf5dfbc0e92524669a65ca1154a3a4dac3a92665cb49cefebc570782ac571ae5e59917ced27eef87e2be4551a2ff432afff7b21df82533ba76fb91dbe5dd2f76d30c6b2b1bc607ce4c65dd94bbef6b68f7c9cd3a2924c824cf18fea52ac09ac27c1a2d923f3972f5d5ebbb99ac8fc305fe78c3f3bcff91294cbf8be02c5148bdbefbd715c6e99c579408dc56d359f72524895852cea05939282e53a2c9ec173be64ff907e03c3021bbdc38605cb51c9c3c8ed74ca3e47b9b362aacc6e98db0b2d2ed547a52f5b663bb391db6b0d0b79974b5faec922cfc3a05c26ec1fcc5eba124c8397e035780b6684157abdc93bb0e2ceb2b0b79cd52c6733cbdefd56ce5ae0c2564ade8a3916739b954a302be4582cd7ca7b392fa84d2935a55a99b39bcd5966359cf3441e5e085382fc7f37d9ad066bc17ab0116ce6b0156c1336bf135b1f842df202dfeffbdf9e4bb91decbce36f3b97fb7629cdbce7b297ad92af8fcf1797d886eec8d906a9b946aaf2fd5f62bbc15eb01f1c0487c1510ec7eeec30c78e0b3659fc7caac538ce9d0147f23a96d0c305a94e3ec8e1d8a5fda83487efa49dcfad9ce65bb53a9cf3711a9c91a2bbc106ebbb1f9c0717c16570155c07377ff0c3b80e6e49cd0b52759ff5ad51483d6804cda0c54f45e9e0d92872d675cc867472569d528aa27519bd859eb274e5bc3a259ebdf79c874e29be7cde9d3b2ba7c87c641e7b731e8b5ee6f3caf2e9875552b34eaa5e187dc30ac32bc17ed01ce4f0bd7f6a0edffb6773f2f13c07069e8d1031e230210c086938248c0877e17df8c078243c11c68c67c2843065bc105ec337c68cb012ae32d608ebe1066333dc0ab7193be16eb8c7d80f0fc243c651781c9e104e0967e139e122bc0caf08d7e14d78cbe0a78ee05922f6f92054e66801740e9512ca6df1fd287bcae7522e41a6a551331535a1e7bde899696975b44a16b5ccd45ccfa959d47357f42c2a6a3585a299a699aab582aaac2b9ea622bf5f3058886401e2efc6a2d4494eaf79a40e43d7338d96e5de59d6d3f6cab28e7925d133ad967935d13f17e9995734eba7ef695a5095d0ca9e3f233599c7f0bb30725a7c1b7705dc3b3ccca138ce270535ad9ef93e99ef91791d8b4a16b5b4e3ddf6cf7c0fcdf7d1a2a2654d17a84a6867cfe75950bb1fc163094f0ee30578164c1ca6b9719e1fe5b66f2e9a2f7772f3657184177b65b967e6fb6651cdc57ace2bba40533cb9287b7ed1c27a7f1bcf054c162a342da8f5e266c64cb73c666e8c2f1ae5e5d9b2b8fa1c2d54b1ac63d62baf736bd27b5a2e5233af67a66841533ce9297bded387aa94d5296ab45827ab94d5caaa95614db02ed8c861b330ca773e5879ca6b79b12fdad972918a651dad921f69f9be9e0545093d817dde5555505908cf41be3c882703e5603761f64f971031624152c080913286194e9ef9a935d9136bf2cf57c99e54537c6ac5f73ca1a6f88c9ac9a79fb0b2f8f9203be5675bb0bedfa7dbf7aa36784f33a75aa5f4bc9feca93f56c7a296da6999149eaa925731ff849f45cff8c9149cd7705ec5f2936a163d6965819af3cf0a617d17f5bbbc7a8bfb5b4937a7dcb774cb9ef2933de927ffeca4fcd393cafd32d372f1d33fe69f9164d5837ec57e585630d3b0ac6251c7ec992b070b9fa7947b8e12eb1b2d54b1a0614ec145fa15b50b1728577ceed4fc1393ac8aa305fdb2ace534d70b8b4ffe785fb9c5dae5d5cbeb9757705ec3b28af67954a7f34fa3627d0b5abed313f32a8685b1bbe8b95defa9579c1bbf3d3b4e73cf50795bf08c9ff9274d95c7ee22dd1629577e9ed7fbeabdf78caa85cff2faf3fcb33fcf3ffbf3fcb33fcf3ffbf3fcb33fcf3ffbf3fcb33fcf3ffbccf3cfd448dda97bf5a01ed5931affc10fe389947c2045ef14ffff9b7a5613d278aa5e28e4f50f7e1877a4e494149da8673c3f5acdd40aa9bcaad6d4fa1ffc30d648c9675274a6def07c6ab5a9b6d436e9bcf3073f056fa4e616a9ba81e767ab3db5af0ed421e1e80f7e1846c70352744fede279e2ea8470fa073f1546d3633c8ffd0f7e15fee8fb6bf147df5f8b3ffafe5afcd1f7d7e28fbebf167ff4fdb5f89cbeea4c9dff8b382be1997121b8645cd175a5b94637b8e62bcd09e346dd12f8f7b8f0ab5b746ddfa097f9c5ac16ff8e554775558f5e7dfe98c0fc9690af0335a577f3c54c452fad231deb845e03f542efa97a31d0437a9910e27a84b045d077ea6c79faeafb9fd5befaa10cbadab13811c88e5d3f329e00baea34d79de6ca739faf3e0ff80a1457501b6a438f09cf066a534f1853ba6635d8d62f06f67e807ed56f166a66a133987b33affaee33f5fb64fffd49ea7e87c699cab92bccbcd2ac3394b66a5bad736a17f536b09a3bd5cd1d1851dee9cfd0ab6a45ad2c575f1af13353b6ff10aca9f325eb7b46adbaf59f029a21ce96acef33cd51dbfa553575f56b8356df6deabfcf4bd6f782e6fd175af39fbe3af43ad57385eafbb7e8abeff4c697c61df5e1175a6d96adef25cd496ff4be4965d8fab2d8a0fa55a99ee7a6272d55df559a937628d76d2ac3ce97c506d5af4af53ca3fa2e57df35da11be52aebb5486bd2f8b0daa5f95eaf9acd6fe267df7a90c075f161b7a5f75a99e174bd7779d76dc6fa4ef2195e1e8cb62431f92beb4cea8f5bf415f7337e681ca70fc65b1a11e48dfd5bf41df09cdf9331a3527a4efe997c5863e515daae7aa9a2c59df1bbaa231fa9e5119cebf2c36f419f55fa3efcdd2f5bd607d2fa80c975f161bfa42b54d3d97aeef2de9bb42fa5e5119aebf2c36f415e9bb42abcded92f5add1b585f936e03d95e1e6cb6243dd93be6bb4dad496aeafb9825bd7b7a46fedcb6243dfaae6dfa1afaed39c744eab6a83cad0fcb2d8d00dd5a47adee8fad2f55d677d5b5486f697c5866eb1beb7cbd6578d48df33d2b74365e87e596ce80ee97b46b3e16899faea1ee53a31ff57a0fb7a23aa7e5590be7daae9b3aad3fbd3f2f48d2a94df0dffdfc62be9eb2d843cbb3e0a224fce16dbfd4cc853f523f573fcd1fee195462af4fd84ba9fd657abb6d90193c677a4efe23ff9a5802889e4d7aadeb1fb997f36a7f4e7b8237def48df0b5a6dda4bd5774857e5b7ea92f47d217d470b21f355741fc973ec255cbe9b123d464f057b1b7a2fa946d1b3f330614e69a3692eed93b3e41ca29752095ea3370e1f4777cc1f993d472367fdc2674f73651790be2fa4ef25bdbabab7447d67ba6a76c0b46f8949df95855815dbb5685dce4ce846c1cf7acebe9cc766b42567e6b53d977633dae1a3c97f97cf565d8aed2cff5cc89ee4b925e55a89d6f86ceb9d1aacd0fc1b93b6abb4ba5523bd447df749df3aebab48df838590df6e8d8e22f93d560a3b91b3d3e88c8f6739fb230e3977d617d1652ec75397f63097f68a531c44a7c514647d10f1ef2745371277e5ac0e914374edf25c5c7e02e9abb4a96793f41d2e51df5bbdce5718b76a4afad616c2fd8a68d490632d6aca593d6af1b19db36f734827ea8a4d37921119f5e3ea3b69fb38c6150ee9b9140d8abbe2b3962d47d48b3d896b88e2b5b9329440f3c394ebd9d6ebd16c79fac63eff7fa2b9ebb1ae37e2602142672dbf7d436132c6e2308e50b7cc1efac6b1b3d1b1fcee4e3c608bd2f8e4b4a9f8b5c75c8ab9322731f7c0388ae5b72585c7ef949f40fd779dafa4ba6a1aed2f51df3badf8ff3f6f35ed11e3fb8590552d7e74a9ee63d943c60f318ecf397b5ecde289b3798aa7cefa3e4bebbc99b4bc3ec5d3f855b84df112cf7dc393acee258747d37b8d15f3f13be52790be55d27742ef2aba2d7bfc85fabed1bc6f76c0351a391bf16c2156c4d6ad3314b626672b31af79713e2daf5ef1a6b3598bb79cf5ac90b69447bcc66a6d13b729766219cdf17aa14c1b9ce7aeb1c60bb6ef81e68736e97b43bd388efd25eabb47fab659df26e9bbbf100762eb7ea39cc28ee4ec20e635263ec9d9f3fa159f3a9ba3f8cc59ef17d29ebbb41c26fc82b84d711ecb688e8f5dba338ae7f52f36ad71603c30bb7ea7fc04d2b7a9acbe4bbc3e8e69dfcb3b60735dbe11df2e84fca677ecc61585c95a13d7625e63e266cebec9212d67538fdbcedac4771cebbab4bc9ec5fc0bd67197b84d41e74995cf1ace5f9bc22a384f3ceb8dc23bef949f40fa8e48df5bf36c81f86d79fa263eebcbdfd7d71b49b0102154a03359dfe84cd6a8244af8ea2e89337be89b24895c832569223ba224648b2c2daf4f89e25052114a260362436723b9520ed69fa6b048cee3c4ad961cfe0e485ff3df0835a36fb2c4fe9bdc270fbc03a6bc49dfc785e0f52819d3995c87716852f033c9d9f3da94bcb8b8d7447a4cf22416cf85b4330ecbf80a319b6295ce0bfba9e499ad67b978c9ef9dd233485ffe8f0fad9287f86689faaea93bdeb9d0d8217dd71782d7ab6493ce64d5e1d0ed6447d86eb257b09f8a3d5b275b1422736892e5b005fd73690f5c99d67329b698ed25bba2e19658e73d1e88a7c5a56790be3407ea3aad3677c912d7b7e4d0e97b43fa1efd14f08a979cfc246f3f05a4ef8dd3f753ffd3f3697d5fcd1586d97b93bea73f0567ecf9fc2779fb29207dd7cd1a4eabcd6bb2b6447d2f749fae309ae6da91f4bdfcaa207dd7cc1e94569b7e72b5447daf75c7ec80cdbd0fd2f7e6ab82f45da519b84db3612739fcd775fab4beb74e5f6ae3a4f65541fa5e3a7daf97a86f3d69981d30e9bb42fa36bf2a48df67d2b74bb36f23692d51dfb66ef10e78a4cdfcdbf9aa207dcff81e569feabbc4fb3b495737cc0e8d5656d37f7bdf81be4d3ba81a3ea80aab0ce4d3cf814fa1eeaee22044ba81b2690672c53508accff7acadbf41c461f23960d26796bbcb89927c04d2f79cef3e747423a91735f895fa0e127dcb3bb4a6e9bf83eff94b73a987c4e51eece0cec60cee29d4fde2f4e051d23d4189ccc360ec7cbe639dcb29cdac06cf73e5a87eabd0a4ef0aed80a74943df26dd25ea3b29e83bfd0ef075d7e095dfdf88cb95ea60652057c483550a5db356837549b781103adb14bb17e7f3236bbeff3998d199dc1f1d6cb1c5bc970fa037f49ad577b0bd447d77d4bdec8067a4efee77803f5b1cf0f5e9e080b8ec76e85cee1f0e0e29f4386775c2e9f833b3c1199d9dbb14d6e747d66788a333eb1f16f35e3e00e93be3cf185bea7e907ca4c84fd6f76270c93bb4a632fa5e7d07787733e07b24835be272f772501fc8ba31a8516883d5a9c396d33545b1ab81acdf83b6f3f99175c3d9cabc39e8b0c5bc970f40f3c38c3f236f0c2e079325eadbd557bc436b6bbabe18f4be03b4be0d1a29af6a69c584c053eaa5767debd9d894efa4a481b14af92e67aae84c56a63482c7f7ad2d244c56c1346656f2f231a8ffaeaa897ad1b7fa6ab0b33c7dd3c4e9fba637d2c1b7c1a9523a1bd271c861bcd2a4a394efab7218df41491f52fec42e7d62ab522c9d8fc5e7bbd6b9723e5398f4bbf4314b252177df2a35e9fbe6f45de2fa964ef585d901d395cd0ee9fbf24df0ba96bed119af6be90a9df1ba93ce525ea5d2550ae135295d4f79c54bd738e54cf47d49e5db25269ef1a135e607f62a2b5afaca16b9efa850dedf2837cd0f3b6a42f5bcd717e9d612f5ddd66766074cfa9afebbf34df07dd8748fce78354a0fe86c4fb4e0cf1cd2430ae1352f3da233d3cb8f39e58958eda4b24ea5a7e2f3636b783db3f9d0f9395b94bd7c08d2d7f4df3b5a6dced225ae6fe9457ac93bb4aea6364eafbe89d2b57b7a4361bcaea5b5947701e935859476f06983c29a627595b67269afbe695d7367d7b9f8792f1f82e68717b5ae5ef5557a994e97a86f5b9f981d1a5d996f93be9d6fa23477a55d0a2b7c5f2eeda79d61b56835ac5018af7e439fece50a7018c0e7c7d643df9dc99a97f6385dc9cbc7a0febbadd669277aa14fd225ee7f87caeaab690f3ed4df047fae388ce98caf568789094d8f731e074359d9d99ed73e9a3a6c4adfa6a4f3217c7e683d80ef616463e97cc4b6252f1f83faefd4e97bb1447def58df0ee93b217defbf09be461d3ed2195fc10e1f3834f3f74c4cd6798ee1b1387cb1366cff98cb7ffc9175ce6e4a61af39fe9af7427cf271b949df8932771f8cbeed25eafba61e069774d558559ba4efec5b90542b742edfea19aed2b9fbc465b84e4c56f6e1269d6fb9501e95c39d2c9ef9f647d6ce6a9773d9cb85ec0d0bdf71e5d41f409b27d3af513dcfd4c370899fcf0ff7f5a1bed22d5dd5cfa4efc15705f55ff3648d16ade687c3257e7e313c227d2f8cbe6a83f43dfeaad0e6c97f56df257e7f6778a2f7cd0e58afab23d2f7f4ab82f43d227d1bea41ef0f97f8fdd4e199de257d6f49df43d2f7fcab82f43d54abb4d37fd0bbc39325ea7ba1b77907b1ae688e1a5e7e5590be076a95eab9afb7874bfc7c7e78ad37cd0e82f4dd277d6fbe2a48df7db54af5dcd59bc3b325ea7babeff4e1e0524dd52ee95bfbaa207d7759df6d7d375ce2e76fc3863663e64a4df513e9dbfcaaa0fdd913cdbf57ea51df0f97f8fd87614bf768cc5c90be8fa46ffbab82f47d5497b413bdd3bd616389fa7648df6da3afa23dccb0fb5541f3c3a9d1573d91be4bfcffcd613fd23466ceb452b4071f55bf2a48df63d2f74cdf477ab8c4efef8c2ad14c6fd2558dd20fa4aff75541f3c383baa47af6a2d96889dfaf267df7694e3ad1ca1b93bec15785def0cc93784f22aaef52f50d474adfd3554dccfaeaaf0ae8ab1e223d52c3febfaed3e7f58d7d3576fabef7effdfff670face627fa9fac631ed58f4a17a617d93af0ad677551f92be77cbd537b98b2a7a5ff41d7c5588befb23952c59df782fd27a3779f88fd07737ba8df746e9bfaed30fe87b130df5aebafb0fd0774defc67e7cb3547d87c97d34538feaf53f415ff518bf25f74bd6772ddab7fa7e6578e649dd8fc95db2b6547d47c921ed8037d5ebbf9ef6df0d6a5d6fc67b54dfca67527f5adf8bc8dc03ded7fd2f8f337d17df24174bd5f74e3dc43ee9fb1f82c44fae97acefa17dfe03ffff3e418de4171b9bfc8b8d5dd5955fa05ad7eb6aaaa65a31621d9bdf5b4c1e0cd41de1d5807b4ac72069240ddd223418b7fa56ddabfbc1a581be225c10ce0c5273e7e5449fa807037d48d827ec32b6f536ad0f8f7a93411afdc86f3c256bc9ed72f5d563fc8220ff72e0befb6d46f32b81f6f718a7f82546f32b8cfa957f8371957f757145afe935b5c2bfc9f92cbfbd697e7573ddfdd6269eb950e7f66a733b711b99d6312d835631edc12d216dc0ea5f58d559ef7dabb351583de9fbcf22b91aec8cc27f5da7cfff7fc020a136bda77103dce7b0e670e57098c385c3750ead1c6e1dea39b41dba1683ed1c1287490e3b0e179f46379da6dbcbfcff805f87746b78363cfa342e92aefed4f7487f157e377d93ab616f78f8695cc47b3f5e869f89df4ddfe17eba559837fe2550da4f7d0befd7e1b7d39766dd78efb3482e3ef72dd25f87df4b5ffd46fafaf1dd6791aca5176af7efae451ebf97beea6c7831523f8234d12b7f772df2f8bdf44d1ed27634fb110cbaea53ff27f1abf07be9ab1be95654f911d0eef9e1c7cbf1f3f07be96bf4f9b15f2ba6eb974f7d8fe957e137d3975637b97ff049449ffc9dab5f85df4bdf74aac6b893f359443afad47d985f85df4cdf2d7d66eeb07d1eeafe73cf81fb55f89df4d5b3c18e5a57173f8411cd309ffa259b5f83df4cdf6db5f1a388f7f46ff4a9d56fa56f9cdcf1dde01fc248a9e71f2fcbcfc2efa4af7a8defcc671b3f067daf3ff59f12bf06bf8bbefa49dd25177af3277c1e79a8efd5f9df5d1f8b9fadaf7ec0ebfd7803754c38c96116ed27f76a8c4fe57e147a5bf774434f0b399c983c91fbe74bff77ea5bd0edf43de43eb3b3d8a63dd53d5d17ecea93c125a9f363fb33f32ca213eac39b743537d5e35c3efb94ebae7ed28fef972edf0ebf8fbea22b69c7ca1da823c682b5dd7cfaa9276a0b9f7a9acf3dd559ec47157e5692fd24799d7f11e133a8535af3d9e71d797b5177fa423de835f3d9aac94bbd51ae5b7a4225182fdc79a0d407dc0aa60d58e7bf5f5f56f7844a649435cfa3d8a69ae0f3e279acea9936bf3b7ba156f933e3b5c1a5ee51cb3c50af3e349f3cff28c8c791da276fa6c58fc87b6c722198fc2ed439e93da3522c2a9b698737b54d3530ff15bb47353af971857f92bea7d4730f595da3e18a5ae1cfdf570a309fc79b4fe42fcdaf8d9bdec69fc2b7a221c51c53ea37bda27e18e463874a71c8a3e94cef6b857c784cdc50ce975402538ef9d2716abd4ae5300a1f528d4e7f1b7d3fdd7fcdb73fa37dbe773b24684685668c1ef56bf33bc0fcfd0373678cbf49c3df16e1ef8d6c13704f67ff0374a4f7fe1bf7df1f9b7f97837fe7f93753f993fb87e5e1df74ff5054f953fbdf65e0df7cfffb078bf047df5f8b3ffafe5afcd1f7d7c2e8fbad35ff0f3e055e53595ffb1de943fe8ef41ffc288c8e07d80fb2bee6298b5be6ba8bf7e17ff0e3a0eb405274536db0be6f6a4657dfcff22dfd3ff85198abf1675274a6de58df67355123f31b9ef61ee11ffc10cca75c53fefded67d6774421f7ea413daa27734fe50f7e104fa4e403297aa74646dfd13de3a1884403a3c71c9ebe13e3397c6f4ac98973b665b91f3d3b4c4653c20be175f44698115646aba335c63a6183b0c9d8226c137618bba35d5555158647f055c008090aff3ca62215ab843150a91a1a9c3c572b554fe05703424850fccf675135ae26844135ad0e19778cfbea43f5b1fa54e5fd1995f9f91bb82fe1e1d3287bfa28d74c4ba3e6aba8093d5745cf4c4baba355b2a865a6a6caa959d433859e2545ada65034d33453d53c6a2a539575ad3e1326d529ebfbb210d305987c3716a59ee6f49ac7abc39beb9946cb72ef2ceb697b6559c7bc92e89956cb9c9ad23f17e9995734eba7f39a9655655dab2f84d7ea2beb3b7b076fdf8599d3e2db582960d5616d0ec571be5d50d3ea99ef93f91e99d7b1a064494b3bde6dffccf7d07c1f2d2a8a7e6a35cdfaaa55d5e8fa569d1156aa2bacef7ced7e04eb256c386c2ec09660db61271be785516efbe6a2f97290cd9773233cdf2bcb3d33df378b6a2ed613bd34df4fcb9a1a5557096b8c75d67751bdbf8dad02b6172a94c72ec09a65bae5e1b931be68949767cb45ab4f59c5b28e59af1ce4d6a4a2964535b3515fd63353149aae594dab1b844dc256758bf5fd4895923a258d16eb6495b25a59b5328402fba773880aa37cf0c1ca535ecb8b7dd1ce96451517eb68955caca55533eba1853eca8a6e0ab618db8c9dea0eef7f3f522ad3ea736a1515cbcf8dd90c0905ddf87e57cbb29ae53527df0fdfd3b0ace2e44325cb5a5a35cb7ae614adee12f604fbaceff7e9f6bdaa0dded32cb7c2544af3a31dddd9f82eafe08bd69bbbb9151cea65fa3d3bfd3205e7359c5731d3f13d2517aac938201c0a8e58df8f4769fc4e7f2be9e694fb966ed9dc989f1fb319b2b8da0cdfd90d2dda0f59ed16a907fd8afdb0ac60a66159c5a28e7b4ec74c49d292714c387138657da3852a1634cc29b848bfa276e102e5a282728b66c7a17b2c6cb95f96b59ccead302bdf546eb17679f5f2fae5159cd7b0ac22e92838639c67607d0b5abed313cb6b73b8b0ef7d4bbde2dcf8edd931d3f22ddb53e65696dc4abd40b7dd77745ba45cbeff7dac5e413fc605e352709587d177c1aedb7fa73796751cbcb363fc9e15fa79e1da525ca7ed88ceafd1f9d5c4aa579ef7e6f55aa4d8d937147b4733876b871bc16d19fffc7ffff31fff1f031c5b9b</data> + </image> + <image name="image1"> + <data format="XPM.GZ" length="55092">789cccbd47b7eb38b2ef397f9fa2d6e5ecae5e7cf266d0035266cb6da7ed77af1ed07b2f1aa9bf7c83883f704c56d5cd7c75bb5f95d6c9ca5f8a22114044202200f0fccffffcdbe7d3fddffef37ffe8fea625c02eb6f966f947ffb4fbb4e92ebfff57fff9fffcffff88fe160f0b7fecf68389bfe6df41fffc7fff80febf96fd6df9401ff5fcff64232ffde36244f7a762ac953fefd56f29cf35cf2a267f3072ff9f733c906e7836493f35eb2c59fd74ab6797b1f243bfcfb46b2cb7fef0a1e72799c5af2907f7f94cce5732cc963fefd483297cf3a8387d43f992999ffde0c25f3dfb79a64de5f662099dfcfe924cf386f24f3fe4a44ff0fd17e5b327f9e772799dfcfb8078fa87d662499cbebbb9249de6fc9bcbd9d2f99dab795ccc7b31a48e6e3b71a4ae6e315ed25f3f1b04f82a93f0dc1636a9ff32999daf32599f757a54ae6fde17e48e6fae23892b97e78a2bd63ea1f438cef849e97e892f9f7652b99b76f3d91cce53763f0947e6f08fd9c1137b664de5e43c83fc7f53bf0022cf475499c8be719c4f113d824de5cc01671fd0eb6895dbaff50d8ab174ae6f2ad3ac9a47f63c924df4832d73f732a99f777f324998fb73993ccfb5f7f96ccc7df3a49e6e3514592b9bd3aa664ae1fd6bd646eaf9a2b98f4ddf52573fdb58e60d89f6d49e6df9b13c97c3c1d45326fbf634826ffb2934cfee40086fdf88164de7ff65232d9eb9b646e1fa607867e9bbe641a8f816092cf14f2423f4d070c7d8b9f25f3e7bbaf60e89fb791ccfb3b15df43ffe22f30f42f13f240ffea1b18fab716bf877ee967b043dc92bf1f0ea16fdd9af3a8f740bc3dbe64f2f70bc9bcbfcd2fc9bcbfbd4432f90b4730f5cff55e3297bfc9c0187f732899f4772099c6e35b321f7f6b0fc6f8daa6649aff7692f9f3724d32d7f7cb4932ef6ffb4e32e9b302c6f86723c9dcdefc50326f9ff32e99f7975382a10fd75c32d7e795906742fdd3bd49e6df67a2bdd09ff20886beb89164fefcd54932ef9ffa2c98fca72bda0b7d6a9f25f3feb0c4f842bf9a07b0d02fd13fd0afe2090cffd6c660e85b24ae87be05a40f63e1df8277c9bc7debab643e5e575732efef6e2799cb1bfcf89ecbdbed2573fd5cfd781e1fcf952d98fa3b91cf277f74cd24f3fe0f3ec08807ba8d64ae9fc54232e98f27993faff9f13df787ae680ff4d57995cce57103c95c7fac3bc97c7c7c5f308d67b8028bf9f72299cbd3dc49e6f2981f92797fd69664de5f7e2499dbb33b92ccdb6f2dc1d067772099fca72e99b7ff6a49a6f946f437f4b9bd48267934b0d0ef77c9bc7dad68df9cee9fee25f3fe69447fcc31df88f1843eaf6e92f9f3da89649a0fee25f3f1cb85be41ff0331bed07f5f8ca7f0a7d43f13a1df9d2a99f777f32899dfffea80111faeae92b93cee41f090f7effa0c463ce77f48a6f9ee51321fafeb4930f547bb01433fecb164fe7cff5b321f2f2f92ccfb3f93d793bd745b30f421ae2593bfd94be6fd1b2692b93cde4e32b79fda164ced8ddec1d017e74332f9dbb564de5e772899e299140c7dcaa692b93db8df92797fe61d18fe3117e303fd59b792e979b164de3f8918ff05f5cf46f40ff4c715e301fdb9bd80e13f57f792797fad4a30fce906bf17f3f51ae331c4fc19a13d43f89780e693a9f0a7ed028cebfd4e321fafe6198c7cc00b2473f9bc77c95cdf4a4ff0908fc75a5c8f78bfb52553fcf02999ebbfdf08a6f10e5ec1c2bfdc49a6f97c2b99e6ff27c9642f3fbee7fab416f2407fc299643efe912f99ec692099cbd3b492b9bc9ab8ff94c63711fd0bfdb2a792c93e2ac9140f689229df5125f3feed5660e85ffd2a99fce34432efdfee00867e5e14c9941f8ec0d0bfcc904cf9572a99b7a76e25f3fe73c760a1afaa646ebf99e85fe86f2ec61bfaea0b79e11f0ba12f2eda8bfb4b7d267b98897c64dd81a1cfeb503297afbd934cf1d45e30fc93f81ef363b896ccefbf3a4a26793dc1149fae7d30f247ff2a99ea1d3fbee7fed68b05a31eb1924cf9c2083ca5f6076bc9542fd948e6fa900e2473fdbbbc09463d630246be1a6692f9f84481643edef95532b73f5df01cfd7993ccdb7be92453beb5924cf3c14432efbf5cfc7e01fffa2999e6bfb1646e5f9b022ce2cba364de3e37114cfec132c0d047f74d32f9e37b30f26b2f05431f5763c9bc7f42c1d04797e6cf99d0c71be41fc21fa52a18fe24207d9f0bfd5a1d04d3f8570fe009d573dca3642e7fbb054f697ca237c1246f3a944cf53a5b32c5a72f60f81bd796ccaf4f2bc994af2d2593be6f2453bea682e7345eed4e32d5ff14c9bcbf2f57c95cff7dd15ef8a35097ccdb93cd25537e2bfa6b3124fffd055ec2bfcc24537c548045fe518331decda7647ebd2eda6ba37fc478c01f6d44ffb8d43e1ded17e3af3960cc97f5022cf481e257a6dd149fd96bf08cc6ffe64aa6f92604c35eec4032b7efab2799e2375b30e94b2aae5f50ff58aa642e6fe148a67ce1065e927fb80d2553bd2494cc9fdf3e49a6fc45c863c07e1dc97cfcd3a3606a5f7d05633e887682497faf4bb08df8e2030cfb2bc9de17a2ff4bf49f886762f4cf10f666bd80618f3e8dff92f5177f5e914be6ed2f36e005c91b5f24533cf22598ecafeec04be467ae64f28757b041bfaf5f040f29fe68c0268d9726da63917e14a2bdd0c7f424998f5f44fdb314fd91bf83a18f8105467fdc4660e86783e789fee94a30e215e3118c78a3a0f9dc60fd45fa34072f491fc329d8a0f685a964aae7dfc0265d5f2f05537f568f60d86bb091ccfbe36248e6fad988dfbba85f8e24533e48f66f88fe892b30fa67634ba6f97508467f6d1cb0a827435ed11f35fa6388f9c9a7f8c814f157fd065e92fe5f6e6083e42f5cb0897ac417d8227dca3fc036f55fb305431fba77c1747f3b02bba4df3ad9ab29e42f669229df46fb647fe460d8d3aa0243fecd2758d4bbefc0a21eb403a33f2a8a772c263f6fff35055ba827d1f85aa2bf2f1a58f4f70a8cfb252a18febdf1c0f02701f58f2dda7f5d48a6fe9b8071fff21d2cfc83603caf51c1b87fb106433f4b1a1f87fd17eebf1b17ec903efbd43e46b0f71a0c79cb2d58c4e72d18cf2f1bb078be0dc6f3339abf5cd11f8906c6f5de1a8cf846e3f6c1cbe724df068cf6548964ae3f1b130c7f9096608c7f7603a3bde90e8ce7bb2f60b4d77e00c39f075c9f98f639e47fa34832d7e7f84c2c9eb7ba80216ffb08c6f3cc042cd64f1a30e42f9760d88fe382d19e1ced19c11e42aebf0cf17cd306435ecb04a33d610e16f20b16f1470a16ed3981457cf9443c82bdae2660e19f79bc341c8be7d70e18cfd71ec022df8ac178feaa05e379d72bf108e3df70ff369cc8fe1d8345bc9c81d1fe60452cfaeb7a03c3be74ba7e2adbd382f1fbcb3b18e3910dc1689f4df24e657fd4603cafb2c168bffb0cc6f32b1ebf0c67e2fe01e9d34cdcef1283e12faa6f30ee67f860e1ffe660a1efdc7f0ee7e2fed58c58b6e70cc6ef8d002cd6173db0a83f2dc0d0b78edbf77021e5bd078bf6aec1f87d41fabd14f2155bb0f8fd108cdfeb2330da93de83f1fc8ac6d310f2ac1a309ed772ff3734c5fdb48d64ee0fb72e58d4e75ec0f87d7202a33f0d713df4a5237bb7e4782a60b11ee681d15eed112cee1782a1cf158f4f86b6b8bf6581c5fa2af5a733823f762d30eed7d2efdd11f2efcd1d18d76bdc5e468311f2a3c007e379f5082cea75f760e8fbfa8d782cf49dfba3d150fcbebc030b7bdc83a17f099faf472371ffe64c2ceed73460e883cefb6b3416f7ab4fc463e10f2c30e46b8927e279b94b2cee6f6cc1d087ec092cec4930c6f342f24f85fc46442caef75660e8cf85fb93d18cfd9ec783f1162ceaa37cfe19cdc5fd3ceabfb990d79d80d13eeb152cd64fe9fa85f8de7c05a33df9188cf66cbec0d0c7f50d0c7df3b8ff1f2d85bcce002ce227078ceb1d0f2cfca54e3c41fb6f74bd21ef5780f17c5d058bf53beeaf46e618ebd77a2299c77f5bba9f25c6b7f4c1c2bfbd80d19eeb07f104fda1933cb678de2603e37eba01c6ef6f57b0a8ff71ff3d72c6a8b7e8d47faee88fb507c6effd188cdf3bdc1ec67d38c739e2e3c5a63393e21723269e60fde4f22c99d677b93e307577285eb7b8fd8f27ecfe9cf50e0c7d8a79ff8ca7ec7bfefb6b412cc627db81c57e823730ead9eb1158d43fb8bce399b8fe7a0716eb5d7330c663c3fb733c67eda1fa484d2cc6c39a83a11fed193ca57a651282b13e16f3f96ebc9860bdc8d880c5fe810c2cf21bae8fe3e544d4cb23c93c5ed30a30ea071b170cff92d0f81813d443d71730eaed9a07c6f53eb7b7b1c9bee7fa117c49a6f5024b30c5b3760cb6b19ec9e3adb13331e8face93ccfbaf3883f13c23013ba8a72e05d3fd0d1b8c7c734df23b53d8df86facf9da03e7e1b80f1fc82f7e76430813e6d63e229fa3be5e333194e4cd40b52b04ded31b8fe4e4653110ff2fa0a73a736f28d9a788afd67fa180cfd6a1db0588fe3fe7f32610accfb77c3f59721f2c77c493cc5fe0aaf00e37eb731788afa4e059ed1f8361f60d48f6dde1f93d914ebc7460a46bd2fe4fd37994fc7940f6cbec1e89f98cf5f93a578def5013c433d86da6f4c51bf09b9bd4dcce982f2b39cebcbc49a22fff6b83e4dec29ea15d95932adb704c433acffebf43c776ad1fd039d7886f5d315bf3f5356f09acf77d3d1d4a5fa65734f3cc3fe035d134cf7372c30ec355b824dc413dc3fb0e9906574dcdf79c4e2f74501c6fa5b74104cdfb73c3e9d4ea6d6887f7fdb10b3e791bef1f9940ddf1ceb078fe005f5b7c5e7e3e96c86f58f8d0246fd3a76c1f311f9b377b043e31bf07c693a9fa1de19df816dec07f804bb584fa3fe5accc47a86069e517b82002cd6f775b043f39bc6e3dde9923d8eeb7332035bd47f3705ec60ff824d3cc7fecf84ebefd498c19e2faf609bfa2be6f9f0d49c2d51cff5c016e5fb2b176c8f78fb8b15d8a5fa99c9e7d7a93543fdab1b831dfafde6287844f5d10e8cf1af49bfac39c63bff024f499e98ee6fb3fb937f7d023bd4fed407bb435aafb124d37e2d5d30b53f03cf87d43eeb0d8cf5dd7803c67cb7e1f63d75587f707df1e9fece7c30a2fd5d7b30f6b3469f9269fdc792cce5594dc1587fba52ffb84c1edebecd5e326f7f41faebceb19f2cda8271bfa6133ca2e727e0118d4fb2164cfa9c2892f978af4c30eca1f1c19321d7bf2bff7e3660e34ff5e53bb043cfaf5dc174bf6c0076a97fdb929805acfcfb6d0446bdbee4ed9f0d857eddd660f89b6e2298da5f05c4ac3f687e6bc0c311ad87e07a263f9f0fda77f094da537f8067245fc5f569369a1963d29f2b31eb5fdabfe20ba6e7a777e0d188ff3eb9815906c29fa78227d04f053ca3f6b65c3f6663260fd553a93d2cfca4fec91bc95cfeea041e517f5fb8fece2662fcdd023c86ff33c1d31167cd06cf21cf5c308d679d8017d41f0df72fb3e9cc1ef3ebab14ec8c69bfc05432ed47d38885fe5d4cc9b4fe37028fc8fecb37c9649f25784cf6ebbf82e7f47dbc042fe87e05f5cf4ce8936b82e7f4fb36113ca6f17a002fe8f986b8de80fe8bef4dd28fc292cce52fa68269fc4d1effb0db2f49decd0c0c7fdc92fe2ce6131a3f6d2d98fcb7bf02cf49bf370330d68fea5a30fdde38831dfabea3fe59b2fea178b0009bd41e4f03db23aeff37713decb5f00593fc2df5a7c1ee47eb6f2330eadd17156c8ea87ff7609bfc45590b267f78d5c02e714bfa6ab2f1207ff80136c87ef22918f34dfe06c67cd186c48b018dafcee3cd99c5ee47faa48217647f99609bf4c7a0f1b2160392afa3f6da6cfc68bcd69279ff949f6093daef4ec1f067f5817831a4e76de8f70ebb9ece177c806d6abfb3235ec0dfba2bc9b4df9bc6d7ed1376ae5f5c3fe703263f6f4f520a1e53fc99102f66d4be8cf7cf7cc8e4e3d7673e784c7cdd82a7d4de5a03c3fe751e9f3265c2fca09be009d94fc2e397394b87c99f186bf08cfa4fe3fd3b9fb0e7717dacc792e97c0b8f5f58f8bb20d6793d613e5f2cc7b49fc5005bd49e35b56fb1c4fcecf1fe9e2fd9f7743dfdde582ca83f8267b049ed59f3f9686eb2eb69fd782699d62fa83de67244f67de1fa3eb79643b237ef2698f4ab9e8347d4feb0008fc99e1c6a8fbd70d05f4762261e6f9f46e3e730a6f3160618fdbbe6f9c6dc5d0ea8bd0df5bf6b88f89aebdfa25f00a5f8ff4e32edd749c0636aff66019ee17939780e7de2f92a73f643e8bb031e537b7c133c237bf5dec073ba7f44f71f1a225ea3e78f447f79dfe011ddcfe3f22dc68c29feff06e379ba0e9ed2ef0b1effb1747d44f3b1fd0d5ed2f78d0236c65cdf367c7e5fb0009858bf07cfd15f7bf082f4a3492473f96f19d8257b6df8f82e66cb05f55fbe223630ff6f797cbc98b3f67079527afe82319d17e1f6b7581a03fafdc693ccc7d7a0fb194b97da7bbb111b63f2af1bae9f0bd31810eb7cbd61612d1dd2bf94da671943c8cfe7af856d8c69be6e0563be594f2573fdd7b8bd2c1c763ded0f53c01392c7bb4ae6fdd3717d5db8c684fa4bbb134cdfa767f094e28180fba3e5c080fff15fc0b309f5ef9764d24ff13dfc43cae7a3e5d0807d6cf8782d47acbdfcfeed0b783ea1fad50ebca0ef6f3ed82079a32f30f2c5644f6c627f5acce7df655fd0e1e3930460a662dc3f1cc14beaaf40133ca178a8069bf47cdf90ccc74ff3c10e8de78dfa676c8afd09b564daff5982b1ff36a6f64c58ffd2fed40b7836a1fac504bc9c50fd6101c6fc97abc426e2b3700fc67911f3018cf33ac99d643e1edd198cf3176e07463da4fa0063bf8826be47bd53e7fe773965e345fded806db217eb1d8c78f29612b3f6923ea9603cbffb0663bf4949d7b38083c663b3022f68fceb7bb043f6118682a9ff8c02ec92bfcbe9fe7dba49f5c30d18fb636c9e2f2ce7ecf7144f2a6097e4bbe5c4ecf7140fcdc0b0b734018bfde03a784af3c53504cfb15f47dc0ffb0bbb8160ecbffc002fa95e58edc1d8bf1a4dc1163d2f36c1a8575495609c5f1a4aa6f3a134febd83e2ed2f376093faafa3e72fcc01f1f50b3c217ddd5660ac37ad63f00cfe5407cf69beef5230ea35c6026c60bfe55532e55b39d8a4eb6f73b0d8df20ee6f637fe04a32cdff03b043fd757b904cf9d9168c7ae7ed2299ce7b3692697fc898d8c2f99ddb128cf3b317f49f85fa6348f75f1a06d9afb604c37ff817b04dfa1c0ec10ee9bb4ef22ecd015d7fdd8047345eb5079e907e598e60d2d7b40363ffe3762598e2d5750e16e703d692297ffc128cf35768af897afb36108cfaee5c32d56b0f9269fe2e24f3f61731d880ff5125d37ed80558ac974c25d37ec09d64de7fe64132f73fea27d8a2f15732c9b4bea008a6f655a23fb1dfb28c24d3fe470d8c7ae1ed5132e95b2099cf8fa6e82fd4e3c32fc9b4bee3125b38ef7723ff641816d99b7d03dbe48fc22bd8a1f9f95a825d9adf4af28706eb1ede5eaf060fe97aaf133ca1fc5605237e6d8ee009e5bbd5198cf58b4efc1efb6fb71730f67bae66e025c5df8a09c6fecae020998fafd248a6f3ba909fd93b6f4f71025bb0af52329ddf9849e6cf533fc036e993924ba6f96726993f2fcec00ef57ff12e99e2c34a32ed7f0cc1f017d5bb649aef7cc9bc3f22f13c97fa4fc3f859388f5a6d25f3f69443c1d86f3b06e37c4be54ae6edd354c9bc7dd791643aefdc4aa67acf2b18e7f134f13dced325a4ef26d3379affc95f9826e2cb952a99c6f7153ca57835fd0463ff691108267fb579028b78c2001b34dee14532bf7f62814df88b4832d52f2ab085f59d0118eba3752899ecff2699eae307c9b43fb405431f9454329d2fbb97ccdb938cc02ee95b2adaebd2f8b590dfc279e448974ce3f12998e67b4d30ce074713c934ff403e0be72d2dba9fc5e607defeca014fc85f5413f094e2313b954cfea0114cfe467901233fd41792a99e6a49a6f527c198afd71bc9549fb9822dea8fba944cf9502799dad782b17e6d7592c9be6782495fea42321fdff8c7f77cbcb477b043fa1deb9229ff4904e37cc697641a7f0decd27828aa647abfc45032ade7b982495f13b25fcbc2fb0c944032d9cb93606abf5949a6f314cf60bc4fc00a24f3f6b79960d29f5a914cf11dfa53d87bf82999d6df303e16ceb755a4cf369b3fc8ff7660ec3f57de04933ff0f760ac5f665bc114df2b67c1a44f57156c507f5f1cc9b49ff3198cfdc69bab60aac7ac4f601be7fd22c1781fc95132ddaf95ccdbabd492b93e794f60e883229e87fd9ef959326fbf3a964cf9e00318fe5d9d4be6fda192fed916ce83a92f92a93dbe64ca8fd11f229e4c6f92f9f3938164ca1f4f82b1fe994ae6df871f60acf79a6bc9bc7f62f49785f3b1b75230d95775914cf30bfacfc279b22df90f47c413a621995f9f7be011f99b6d2b98e2136d021e4f683d63059e4cb83e7ae2fa19dd4f3b83e734df943118f581f22099cba33c8397549f592dc026d69b8f9279fb6f9f60e453d6156c537f5a63c9644f8160aa47695330fc8dee0aa6e7c5b964f28791648a6fe692297e580aa6fa6628da8bf8c3bc974cf9642118fa38954cf58f89649acf1692e93c27e9936361ffbdd149e6df2b9e609c1f7d96ccf549ad24d37974e887d0676721998f8fba924cf1fa9364b247713df687754f92e9fc672399ea45a23d581f35af92f9f7b9f81eef13885ac1181f4b32d5dfa10f16f6a3044bc974dee9158cfd3f892399fcbb2d993fff26fa6786fd3ba23f711ef146d7bbcc7e283f7b944ce7995ec0639aafab25784af671db0a9e52feb200cfc9fe320f2cec650f5e52beae7d49a6f319e2fe4bd457766083f453bf80b11fa878154cf6b2adc1585f37c4fde0af235530f251717fc45b9e90d7c17ca848a67add5530ad1f74a160aa8f76e279c8e7c34630f97f3b174cf2379a645abf247fe35a781f90ff2818f3c1443297571d49a67cfd4930cd87da1b58e8ff5630ece74b32cd1fa564aaef7982697dc87900633f73694ae6faa0be4aa6fd789a648aa724637fd25a32ed3f79924ceb3d3330f6f325ad64de1fd98364927f2598facbd42553fd3594ccafcf311e16cecbdf22c95c5e652a99de7f267e8ff3c9e1bb641a6f4732bf3efb008bfd812f92297eb32473794b31bec87fa30a2ccea3ee0493ff30f79269bfe23718f53e6b2099ea0377609c7f34be2453fc7b914cf91c1f2f63c0e6478a0fb6e019d58be207c1538aff8fe039e503712b99e6eb5c3297a750c04b1afff22618fb1922c1347fc73bc9b47f4630f2f9eda360b2efab2e98fcd1ea158cfd83452598f47f6b48e6cf8feec1a8b7a40bc1f05f3bc9bcffb61918f596f85d32d5e3447fbaa48ff94030f6ffdc24737bf267c416f6a7ac3f2453fe580bc67e99122cceeb9c24533d6b2299f4ad108cfce30773fd500cc9341f7792a9fe6b0ba6f5da6b2399ce372ec1d85f1d9d25f3efd59b60f89f3bc9bc3fd4a364f22f6f60ec97543792797fa8a960d8c74d32f9932918f61ed49269ff832d99e44d24f3f61a23c1d43f96fc1ef1fe1c8cf763448e645a3f16cfc3fe3d632899e2955832cdafd01f0be7d5ad4a32ad9f3792b9fcc64030ced3d792b93e9723c9b41feb02c6fe67732b99f68b7c4aa6faa3180f9c17f6499ffa032dc46bf098ec5d8f24d3fe08133ca1f530ed049e527eb7f50593ffb83c48a6fd570a7846f7d36b30e6fff25b32d5ab73c1145f28ef82299ed1e660d473b64f92a9def92698fcdd5a3cdf46fd24914cfbcd74c9b43e21e445fda611f7437cb1fe124cf65edcc02edd3f7225d3fb001e05d3fc5ebd108b7879bb93ccfbc72f05937e66a9605abf538e92493f56e021d99f6249a6fa5b2b98fc9f72914cedc3785a789f52f12698e42943c964ef17c9e40fe792697e1849e6f2648e60ac470660bc9f243b4aa6fd3fa1647ebda20826f9d24c32ef0ff55e32d5d7447f60fe2f9f25933f5a4aa6f8e62c18f9502299f40ffa61e1fd4b4a2899f6279492495ed19e29e297028cf795048d64dedef05530e29137c9e47fe4efb19f740cc6fed152134ced0f55c9fcfb488c17dedf74b9934cf64dfa3c326754ffab0cc1643f510ac67a78ba04633e77466083ecb309c026cdffa921998f476582b19fa7ba0aa6f93e5e0ba6fca6188051bf4b447bb1bf4aff00237ff60f92e9fd41f792e9bc7d2599e6f717c1d8cf247e8f7a5d160ba6fecf23c1b4bf21a0f86264e13c72f82499f2fd57c1f06727c954bfcec098df755b30d9ef7a2e98ecdf78974cf54cb447d47b3d5330e2cb0fc9b4df47dc0ffbd12ea9647a9fec1e2cde07f92e99f60b1c05239e3e4ba6f9df974cf9d74932ed9ffff17b2e5f70014f90ef288261df8664b25f5332bd6f0ae36be1fc4ef92499f22d4b3297ff593c0fefb7525dc9e4df3c30de5fa53a9229feb12553bc2ec66f46f2565f92c97f37609ca7b4df25d37e825a32adff89fba39eaafb92293fea24f3ebb7627cb13ebbfd944cfbadbf2453fe37154cf287a664d257d15e715e80fa6fcce673f2af117846f94076075e503d2188c1d88f9a9b82c91f2457c954cf38832df2279ba9647adfe70a8cfaecf62098e2ef6e2699ce27ed04533cb2d5c0d8efaa3c09a6fa46f12199ec5d3c0feba51dcd9f63517f5dbd0886bd3f4be6d76f7f30d59b62c164afde5432d5271f2453bdf0118c7abd77124ced4f1ac914afae2553bd5edc0ff3b9f32498ec6d1308a6f66c55c9341fdd83313f9ba23da8ef46a564dabf664aa6fd21f27b8a37e291643abfe249a6f9ce174cfb13a2028cf78b25b9647a1fd4a364f20fdf92c97f0c25d37a512599d607a03f22bf375ac994ffa49229ff78944cf94a2618fe48fe1ef59e4632bd3f270163becf2ac994bf8beb71fe4b0d2453bd27964cf552d13fa807da2f9269ff612499e627d13ed40f424330b55f13d763bfc6ed4332c50f37c1f0f78a64daff3d964cfb43c578637daf7a138cfd39429f719e6745fa30314df21f590ec6fedd32134cfbb10c5d30f98bcb8b64da2f3c01dbd87fbc174cf5c92001e37c4d25eee760fff1b7605a0fc8b792e9fc81b8bf43f149740263ff68fe2a989eb722fb9c8878201849a6f75f9e25d3f37cc974fee15532bdaf752898ecdd0904d37a475080512faf7e30e9432e18e7f56e82914f5482c91e0bf13ce4ff7e2698c627fb924cebcfe2f7d8ff1b3e80719eaa934cfaee3992491e717ff80f6f2699f22ff13dcecfa753c9e4bf0e92293f394aa6fd139660b2cfc8904cf9df4230e68b4a32add78bf1c0feda740ec6fbebcab3648a8f2792c95fd492299e1848a67ccd164cf25b2d58f887ab64f2379d64de3fea4132bd6f4efc7e8e7827944cfb7f1e2553bd4f134cfa6c799269ffb6781eea8df14432b57f2718ebe591645a2f8b05231f15bfc77e0f652699e229f13cbc7faa9a4ba6f361427fb03f5013fa8cf5e2c495ccbfd73dc924af180fec0fd33e24737922f17c9c6f6cc91ea626f69b5e13f082fccfe64d32d547bfc0385f565ec0886fba1cecd07a663394ccfb237b05633d627b144cf6779949a6f75fd682c93f06349f4dc5fa433d154cfaace982697d721b4aa6f3c11918f585742299fce5bd64aa67958229be5ac560ac27ac12c178bfd79b64da0ff1e37b7adf95fc3dcef70592a95ebb174cfe3a10cf47fda01c08c67e1b5f32bdcfb0134cfde12a92493ed17f585fc81f25d378dc49a6f8e253308d57249e3f417c7a904cfbcd7e30c5d382b11e982592797f24df82b1de954ba67aa6907f4af69baec138af6c8d24533d692f99ea733bc1e4ff3c0b2cde37be944cfe712499f2b1b964b2675732c52bd0670bfb45d54832e58fba64da0fb301e3fd8d4a2499d67f857ee0fc72f82d99be5f81713e3e194aa6fd49e27e588fb89ec1884fae13c9d4ffa27fb0bff0229e67537fae481f66e612fb2d776083ec3debc026eaa53618f18a3b0323fe580f04d3f5c98b64da7f63825df217852e99ce77907c33113f6c4dc134df6f1f24d37c9982b17ee04f05537b9a77c9148f88dfa3deb07a92ccfb7f73168cf365778229be48bf25537d19f28bf501e55e309d4fc94f92c97fcec158cf2b12c1e41fbb4fc9b43e3d104cf3f7f6158cf87ebb170cffe448267942c1e47fba05187f1f455049a6f5614330f4ff0d8cf3b88ab83fde3770d94ba6fafc12bca0f6a557c1c80f6dc9644fb964aa7f1492a99eb1934cf3f718bc44fd632199f2ab67c914bfd782518f16e389f78346a23dd8bfa58c25d379ba4030c95b5f2453fc5c824deacfec2299f6eb6c25d37ae74630e2b94632ad170bf9b13fb87b964cf514713df61bd4aa643a9f0f7bb31cecbf10fa28f6e3f89269bd83e2adb9399f52bd33032fa6fcfef9086cd07e8d95f81eeb1b97a964b2bf0dd8a2f958ff02dbb41fbbbb825d9a3f2eb5608a3fe28560caafb6141fcd45fdb11a83b11e180f05d37e5c5f114cfe669d8051ef6f3dc1a40fab108cf3d9e55a30ce3b1a60d4d78bab649a5fe5f7645f978364dededbb360f247452899ea616730d6e7d6779269fdfb4330f9bbd4148cf8e7058cf5b8e44932bdffe25e30f6835c24d3f9d1b964b27f713decdd16ed9b937fd2f792a99ed2082679a247b0380f33964cf3ab18af05c52f57d1df381f5baf2453bcff0046fcacfe60daaf6a4aa6f9ed4b30ce7fce25d3fedd1918f65f8af1c37e6d4f954cf9cf5a32c927fa17fbede254326faf22aec77c1bd582a9fd971d58ecef3524d3fe5ea1bfd84f97d1f82ec47a83be124cf5c8ca07dba4efbab8de9df2dffba44f0b51afeb5cc1747d32154cf61eecc043ccf74f9269ffd3098cf7495c1e25d3f9c14a30ad9f281f92693de2001ee3bcf34430e94f71114cfe259883f17ef6b52599de2f36144cfaa23c4aa6fafd188cfa79d60a267de832c1345f1786649a3f7e30cd97a2bdc86ff55232c54fb9648a6fc4f367e44fbaa1649a5f669269ffb7f87e4ef6915f2453beaf4ba6f9443c1feb655a2c99e47b944cfb532493ff6bef25d3f86ec1e2bc532318ef1712fa82f3cdc55e32b5ff1b0c7b5acd25d3df9fa04ba67ac25e32bd0f44b4cfc0f95ad13f787f759c08c6fb8f34c9141f6e2453fee80b46fe22fac7c2fbafef24933f17fa8efdf9590dc6fb8d4a8a079626ceb3d513b04bfa5a527cb664f645eb65067848f359fd8369bfec063cc27ae45532d5e31f25f3f15c3d83315f5d12c9544f740553fe1e6592a93f3dc158bfb88127145ffb9560b2873a96cce5d75f25537ce90ba6fa62f283a95e2ae49bd2f82b0f82c93ef385645a6f17ed453d39984aa6fac04c32fdfd5607c1a42ff14a30cdb7b74232e5a76f60e483fe5132cdafb960c4fb5f60c4aba52218ebaf7b30d69fb6e27b9c1f0ceec1d82f962b92c95f1d24537da7148cf93d05239f534f92e9bc8bb81fcefb1547c9544fabc1383fe68af1c67e92f807d3fe43213ff6af7662fcb19fdaa37cc410f5ebfc5e30cd1f6b07ecd2f85a347e06332faa8f1cc0d0efdb17784cf6e91a82499ff44ff004eb318f92693fdebd649adf5f05937efa67c1347fe91618e7bb6e7782112faa60ac8736a1601a8fac00a31ee98c05e37d155bc1347ff8aa647a1fc009bca0f1f21682c99f9ae2fe0b6acf360763fd62bb168cfcb0148cf7790879f1be9ad4954cf53cd17fd8bfe49f24533db1164cfdbd7d07e33cd346fc1efb17b789643a4f300423bf303760bcdfec42f669b27885ee47f38169e1bc977e124cf18d3706e3fd11fa163c22fdda9482a7b43e7805c3ff058660ba9f2b9e87f364d14632d5fb4792e9ef37fe02e33cd926028bf364efe039c9b712f747fdd9ad24d3f58231fee58b601affdb9b648a6f7230dedfe12d25d3fa760a467d3817f218145fd99f9269bda1924cefdf93df23fe7e009b349f98623c2c1a5ffb2298ee97d8609c3f32e6609c3f8b2cc9646f0bc914cf3f4aa6786607c6fe958ee20f8bcdafb43f81e20b165e93fe5c3e25d37e30f13dea3ddd093cc27ede2d18f5983804e3fd1d9a25989ed7168269ff61fa089e223f9e8167d47f862699d6f39e25d3fe68152ce2b70318e7c9ec67c9f4fe12138cf70f252918f1932b9e67507caf08f9f1be9938069b648fc15e308dbf32108cf7df88e7637f627c150cff7a0163ff42f000c6f99c88ec9b4d37a867d1fc62b3f1a3fd3c743f5b8c5ff102463cb2da82117fb4df9269bde12498ec510f25d3fef01c8cfcb8b425d37eaa5232bd5f2506235ed85a9269bda4154ce31d89f6cef17ea8037841f76b447b17d84fb6012fa9fd6b211fea49978b608a4f0c156c423f3bc9b49f3602c31e6f7bc1d0bf4a32c50fe44f6c1bfb3be22918e7e93a6287d907adb70ec063eacfd51b784afdb3d1c0c85f8a5232cd97afe0398ddf652d99fcf75130e5879d09c67c961482c97eae7bb049f74b3ac9349e86649a4f2692b93cb978be8df749b88229be509660eca7f39f24d3f922713dd6afaedf8269bcd690c7c6f9d755001e52bc5b533ceb5a63d29fab2199ce63edc1139a9f82083c25f9f5068cf745dd2cf082c6238d25d3fb1d378229bf503ec178dfce6a0946fce9bd0aa6fe5ccf04e37d0af27aca77ac1bd8a2e747df9229fe2dc136f98ffc4530e9f34a934cf9f10fa6e78be739387f48fde9daa8f7273c3e310716f67b260f9269ffde1318efefb91e24537dcd06e3fd79f6156ca0deb1904cf6a080d1fe6a2199e67b5f303d4fbb801dd8fb0a8cf8f9a611db78ff5dac8211df745f60d413133e7e2c389be17ccc183c27ff97459279ffac4b30de27947e0826f94c4532bd7f5d032fa9fd6d2a784af58e21d8a0f9e1aa48a6f53f5b30d58ffd6730de5f94ad89ed01d9ef86eb2b0b2eb0feac6fc04b92af7525d3fbcd8f6093fccde64532d9cb4d30c57fe1128cfd33eb77c1a41feb028cf7355a1f82e9f9ee1cec62ffea9b60f227892918e785f0bd8dfdafe9b3601a4f270463fda81980f17ea59adbbf3966fd41ef472dc14bf2075b1b6c60fdec4132d50f0bc9944f1cc126c693dad7bf5e9ff2075c6f63bd6b45fd33b1e6549fb8adc0580fdc7682c97fdd5ab035a5f74309c67961e50bec523c1de2f736eaf7f11c3ca4feaba8bfa6d664467fffdc080c7f53b492a97e6f08a6f686776013fab4964cf69982717ed224ff30b5b15fe81608c6fbd3ce60c48b2d8dd78cdd8ff2eb5430c5839b5730f2dff60086be74a4af33d6ff148fdd8391ff6a74bf390b30693de808b6917f64c436ce8fdf1230f6bfb7345e0b6b3a27fbe9c0f319bdaf8bfcc782a5f7e43f0f60cc4705f99f256b3fedf71c826d92ef3625b627349f68dcdf9b2c9f9b927f237d3458ffd1fc5b8327f007241f530f1aaf6b00467cad51ffb2f8674efd41fed5b6711ed0e4fac192cf39b57733022fe97ecf977feda32abf7d8c9f3e26ffa7827fa74fcf0afb9da5daaac3fe58ff6a0be8f3df21cb2f72b9ecf3bb5c0afe9b90afff77f7df5116d62247f5d81ffad87ddba87590cbfd87bfb3f1f9779605f20899fa6be8cfffb79fff167b71e9f393743ffadc1663f4e33aa96fbdedf8eccf3f18b9ffff65e16dfbc90e6009240d1fa9bf2b3bc9439ee0df4d1661eb3f64f9313a3f24f3e4e717cbfa7791e5379fecfefa91d758f05a8e94457a8a7f2b590235542335561335553335570b364ea55aa917b5669f86e951ab76ec7365b2de544dd5d99f15ff9dc67eb1fe379365a3aed827652391a85bf6b963d2ecd43dfbec982c07464726dd91fdfb4e3da9f74cce7bf5817d0c76e53ff4daff5b6479e43dfdc446e699fddb597d515fb94ebda9efea87faa906ec9a9449f8c524f85607ea501da96375a24ed5993a67d2fc1bc9c25a7a5637ec9f91ba607f02d8fd92c9f2cafe6929aafaa4284cc7be15431d2ba662b18fad380af31a8aa7f8ff3d92fcf7cc954aa0844aa4c44aa2a44aa6e44ccf5ca63d2dfbf4b6622a059b45064aa954ca45a9954669954eb92a3745537465a5acffe8b5ff37cab251b6ca9db253cf8aa2ec95036bf1513929f7ca83f2a83c29cfca5979515e9537e55df9503e952ff6dfbf9581325446ca589928d37f23596c65a6cc9505d3b393b26413cd83f261288661b044c0b00dc7700dcff08dc0088dc8888dc4488dccc88dc2288dcab8a87746fddf23c99f9345b58ca6ff23a390df6677a3353ae36adc0ccdd08d95b13636c6d6b83376c69efd391847e364dcb3cf897d8e8c1fd8e7d178329e8db3f162bc1a6fc6bbf1c1b4b0cf02685e757f9b797f9aadfe999ff8af6561527c1a5feccfb7313086c6c818315fd4186363624c8d194b9916c6b2370ad3304dd3326de3683aa68b8fc73ebe19b04f684666c465eaa53a9a31936a6726666a66666e16666956e6c5accdc66ccdcebc9a375333757365aecdcd2f33b1f2eb1cfcd764311a736bde3169becd9db9e7b21ccc8379344fe6bdf9603e9a4fe6b379365fcc57f3cd7c373fcc4ff38b7dbecd8139c467648ed967c23e63736aceccb9b960992a3334e3de322cd3b22cdb722cd7f22cdf0aacd08aacd84aacd4caacdc2aac12b9dc2f91c5ffaa2c56655dac4b3f2e566d0cad5a3d5b8dd55a9d75b56e9666e9d6ca5a5b1bd6d3f7ccd96ead3bd6522689b5b3f61677bfd6019f2393666a9dac7beb817d1ead27ebd93ab351da592fd6abf566bd5b1fd6274b98bf5884b0601e3d61b3e9c0faeea3cf1fd1d1bfa2634cb31a8bfe82f001fff74a89aca135b2c6d6c49a5a336b6e2d7acdb196cc74fa4a9ed18f85b5b34d48f2439643bf4c614e6ddb766cd77ab03ddbb7033bb42326cfc178b4633bb1533bb37336abda766197ea935dd997de92fecce74fc932307756cdc6646055aa67d77663b776675fed9badd9ba71303fec95bdb6376c249ef9676fed9924625414662bcc5e602bf766681bf6d6beb377f6de3eb0cfde3eda27fb9e8debde7eb01fed27fbd93eb319d7b35fec57656fbfb1d1b07efffcafc9f27cb16a66274cb78cc6f8b4df992c1ff6a7fd657fdb037bc8faf3c47a7864bbe6dc1edb137b6a2db924bb7e64fab161ff9cb1f6ce85fd9b91bdb0972c485698ddcc1dc3311d662c8eed384cd2bde33a9ee33b8113b218f5dd89545df17fcdecfe155954d7183ab113333bb1edda499cd4c9ec2f27778a5e0ea7640ff0ed3d6b55653d3b17361acf4cc706cc6216dc6ed8ff3b356b6be3b44ca6b9d3998173756e8e66f7938feeac9cb5b3b1b7ecf78eb365d21c8d9d73e7ec9cbd73708ecec9b9771e7ec9107ecb7a7eb6a03f234b2f09f3c683fe7ecea3f3e43c3b67e7c58cadb33db1ced6b33d6656cc3ece2b6b5dc5dab5c0a7f765ec63cfe9e374f8bc39efbd24f6d20e9d0f66fd47e7d3f9ea7fe954ce379366dffff5f6cec8e9ff5acca933b3eb9fe4f8576599ab9db3b05f9c25fba1e21a6ce2b08c23f34accd3bab6ebb8aebd702a73e17ab66b1f5d9ff9a8931b981fccdacfaca5f76ec86c2ae673e6d18ddcd84d98bde0e3746e6a7acc73b02b594fbcd93336be67377373b7704bb7722f6e6d176e63356e6b358ae67656f3afe8987a70afaaeddeecd6d55cdd5db96b3626cfeec6dd9a43f7ceddb97b3622dbde86dd837bb4576e6031ed331df7e4debb0feea3fbe43e1b817b765fdc472195fbeabeb9efec5707f7c3f9703fdd2ff7db1db84377c474f1c0fe7dec4edca93b73e7eec25daabd2f6091b8a7aa81f70fbdda9f91c533d8f46d79b6e778ae937b9e71b2179eef055ec8e4601fdbf0222ff612e6030eb6d1eb8c977a99977b85577a9577f16aaff15aaff3aedecdd33cdd5b796b36e7c7c6c9db785befce7a70471ebb0b1b5d9dfd3ff36fde8e59cec1db7b07efe89dbc7bb5f01e58467af31ebcc71f5af5bb1ff853b23c79cfded97bf15ebd37a730637362dbde3bd32f2e099368cbe6f229b39ae7de76bd0fefd3fbf2bebd8137f446ded89b78536fe6cdbd85b76441d7a3aff8866ffa966ffb8e71f45ddfb31e7c9ff9e8ad6df8811ff663e547ee8069e4831ffb899ffa198bd6be51bffd523c9189fe75599e2f7eee177ee957fec5af0d6603e6d46f7a49fc967d3aff6acead27ffd6cf77bee6ebfeca5ffb1b7febdff93b7fef1ffca37f62f966a2bef8f78aea3ff88ffe93ffec9ffd17ffd57ff3df8da3bdf03ffc4fff8bf9f485bd30c74ee57ffb037fe88f8cbd3ff627fed49ff9737fa1382c27fd6679f70f597ea97dfc99d8d25f066aa004060b112da65f6aff97c0f7fae5b7811d38fe3570cd0fe31478811f04411844411c24411a64411e14411954c14509839a7d1afb3d68838ee59af3e06a3f07b7400bf460c5fc48ef0d9560ddeb99ad30d906f6c27a0e36ecaedbe02ed8057ba50e0e4a191c8353708f0af54f35ab3f2d8b1d3c048fc153f01c9ccdd829ad73f012bcf6da15bc05ef81137c049fccf38c83afe03b1804c360148c8309fb330d66c19c49b47016c1325443253442d3188416fbc39c71e8865ee88741188651c86cc73a8709f3cb4698f29881c50f61d6fbfc300f8bb00cabf012d661e32fd421d3b41fb2387f94e5e77af6cf63d25f1db661175ec39b19875aa8b3bbafac636f27e13a5c33795e8c7b2f0d37e136bc0b77e13e3c84c7f014de870fe163f8143e8767f52d7c095fc337ab08dfc38ff033fc62d2982c22f6d97ff90e07e1301c8563e3184ed82cb40dd6e1943d63e6ee99fd7c9b53f6dfe7e1225c466aa428456444e68fcacdaf5a46b288ff862c28f1d4c8525fd5d7c88e1c7f19b9e673e41987c8376751c02375a61351c8e2f7cf88e524511c25511a65c62dca8347ab65f369cafe3c4645f01895aa1255d125aaa3266a5910d345d7e8166966678ccc75d4467ab48ad6d126da4677c629da452c82f0039ef778d68ecdb40bf6bc7d74888ed129ba77d2e8217aecefcdabed866af4d1eeaff6f2932c068fb043b77516ca2e7a8a9ea373f4629ea357f6a437e6750d16a79ca37773c2e6e8aad7eae823fa8cbea2ef68a0ce153f1a2aea8f2a2c7f9e1b8da27134096d2b8ca6d1cc8aa379b48896b11a2b56111b319bac629b85166eccbc3d9f73962c7f93b29843e33ef6e3200ea3fb388ae3f081f554cadbcafc5a1f25fe2c0b7ff68f7131d4f8f9e22cd4f73889d3388bf3b888cbb86277bcb0f87111d7d6dedd5b4f7c2639b959dcc46ddcc557ff515dfdb4f662cb3bbaca5875e25bacc5ba3f8b57f13adec4dbf82edec57ba5890fea323ec6a7f83e7e881fe327e3143fb3d866c9bc7380b86e689de373fc120ce2d76011bfc5effd88736b3055a38fdeff992c0ad34726cb6b9cb8adba8a3f4c23fe649db7641ec6b09ee3da665ed3fc0c33f6dcaff83b1ec4c378a456eaca7e51ee94713c862c3c1eecff9dfdb7493c55f57816cfe345bc4c54e3c17e4894c448ccc44aecc449dcc44bfc24484263efde9b3e8bd8d887e7a42c3b65f3d6d17c4da2244e92244db2a84872b1baf07765b1c886f8155b36bbb2fe65914fa2b8499194e69b71f26fd69e8dc9d9b998dff6c13ad953e39054c925a99326d6d5f7beea9db4ccca52f40d55c1d97d95bb385332bb4abae49adc12cd38252ceb4956c93ad924dbe42eba26bb641f1c9243724cd82c657a8ec272014364d94c9b4b2f4dee9387e4d158264f09b34ab146d2e722ff4c96e499f5e198e50e2bf6efe7e4257935dfad3e3f3f276f56ff8afa7df26ece8dfb709c7c249fc957f29d0c143d192a8b64c4abe3bdc7b4fbac8dc9c264b2df93713231de9269324be6c63159d8c76469c6a99a2aa9919aa995daa9e3dfa76eeaa5bef1603a2cbfe1b2f45910cb54b769601cd3308dd2384dd294cbc2d76dfa7cc4180aaff6932c96b0fe3453466e6b97cc8e9d344f8bb4343fd22a4c98f75a5afdfe8687f4621becee75daa46ddaa5d7d451f4a04b6fa996ea91c9fd3f978549c3644957e93adda4dbf42eddb15fedd3837d4c8fe9c9d8a7f7e943fa18fae953642b7a344c9fd373fa92bed2c8902c2ca7db4681719fbea5efe947fa997ef5feb197a56f7f9f5bfd2acb8f91e17a78607dbb5412ff2139a7dfce9069eb673ae86da5f7c54ee5fa696f8f553a4ac7e9249da6b3a4b50b65c3f42c5177fe23ef31361a7d0edad724d379ba4897999a29c63163f971b4efb3e3ccecb3e2649559999d39ea57ea0475e6665ee66781e9fa81a3a06ab0eb675096e1c5599845599c25ce23b3172e8b6af5b9d52fb2889a9add3f99d14efd4a064ccf952c553eb2cc74cc2fe61b077dcecbf477613d982316e37efaeb2ccf8aaccc2a61e7e45b98b34db24b56678d5dc763f53b6bb32ebb662c62f343d6df6ff6c2fd66de9c652c99661ce3a74ccf56d93adb306bd3b36d76e74efa5999c53363a603cf76bfcd8445369691edb23d93e5901db313d31d85db7491ddff268bf28b2ca67a973d3032b24743c99eb82ccc37f67d642ebcc4661146f69c9db397ec357bcbde852c1855577d4bdaec23fb8c9e93419a655fd97736c8d8e866a36cec8eb24936355da7cc66d9bcf7ebacbf17d93257734509552b377233b7723b77d8377d3d6dc29edad74398b7cedddccbfdec900779a828ff4496be024a7dabf8bd36f63edacc23c330ee982cbd97efed70c024619219f7799c27fe364ff32c3c30597eac4172bf95e779919779a556f925aff3266f8d63dee5d75eb7dc613f1ef9cdfdeeb3e25cb316f153aee7ab7cad9eed32dfe4dbfcced67396c1b09879c8729a4bafd9feb7719f29f93e3fe4c73cc88e4c9b1392c52afe812cbd0f559209d332db2ed5263f1926f32baed05ca6678eed5877ecbfbce6f7fe5dfe104cf347a3fd690d92d97afe943f671725cecff94bfe9abfe5ef7dd4937ff49909af719cddaf6cca73628dcd8871fe997fe5dff9404d9cc833f3613ecac7f1579ff1997dbc4c51b4cfee30c9a7f92cc9988e1d59a699f47e377c0bdffe200bb75792259fab7b854d65ea77be302c63cfd2fb1dd5bc481673943bf9b2500b8545f5b3e8814547b6dcabc0575793b1fa919f0ba33059b7d9ac557d2cbfe8f312ebaeb7e4c2e96b1785cb62ad53e1157e111461112923d52ee22229d22233f67d5ec365611ac6aecdd98cb92f8aa22caa3c2459faf6b398f5f597f9e5375958c6b34f6fcc62be8b0b7be4ce74a97227646177ae8ba6688b2e288a6b714bf25f7684303d53fc645268855eac8ab5710835e7b597a5d8b06cabaf6a7ef4d5be60cd243916dbe2aed815fbe2a0d8c5317b284ec57df1503c16cc3efa1a279764614e0b268f7128cec54bf15abcfd248b1aaa7f57164fcab22bde59fe742a3ed894b5efa33c5420875c9645f1597c15dfc5a01806398ba2c90bffd8555114a3625c4c8a692f4931ebd72c989ea8c5bc8f467b5b6677e03163b12cd5ecbb544287c540d7d250c2d22cadd22e9dd2354ebc22c2ae36c7f6a1f498cdc6a55f06e1ae64290dd731f7efc822d654c40cf3adb665c472b053191b2ecbef852cfb5e16f3cb3a9749999659996749745f163f564a7824669465599597b22e9b5e92b2cd34661b565f3b6371dc985bb4e10ffaaca7ecca6b79b3be4acd0a4a9d8d67c4a45995eb72536e992cbabdeda326368e5bebbecf64cabb7257ee7b591425cd7a6d28b552fb45961fd13ef773ea8dcd103b75c56439183e1bebc81c5b7d3d2cb0674e63cfcb63792aefcb87f2b17c6271ce86e527a398c594ca9d5d97cfe5b97c295fcbb7f29d79d12eef32adafee9bb3bebec13f337b5f7eb079bc2c3fcbaff2bb1c985d392c47e5b89c94d3c42d67e5bc5c944be3c45c7d156a7c4c0f665f1939564a655466d06746a7e0d4ef2ab2aadf62fedefb3059d8b7663f36c8d834bbaa2c26cbbd19b2deec97483a264b6b06c6a1b22bc79bc5e3a00996e5c4dc562e538ba86236cfa29545e5574115329fca66bb3ea736471513d73a313946fd9a4515dbdb2aa9d22aabf2aaa84a2bacaaea52d55553b5556745c1b1ba062b362e5ba7a355b57ebda3aff254b74aabf42467b21c83a36ad9f51f641151a5cf6571d488e9e246bd315559556b264bc4662c268b193269f64c96a37bf65a6fae2e2387e9eb5bb5a9b6d55db5abf6cab53a54c7ea54f575e17be6c717d681c5d5233e26a3fe2ebd3d570f4c96c7eaa97af646d5b97ab1aaead5dc556fd57bf5517d565ff128afabef5e966ac07ac2e5f5cf678bddb11a56a36a9ce4ce23c6c5339adf627e4bca6270efba60d1ee539ac5a36a524db98e912c51af654c965335f33a8f656bca3c34ccae9a87af9eaac6ac3f17d5f2a26637f7f5a25cb81fb615f38349d17f26b406c3ee7570377d7e75312fd6c5be38e1cbc5bd78179f8d897f092e6134b8449798c9d2b91fccbadefb159cde673059946a7449823e47f6d9c7fea32ca859283c96225912f549bdbfa4ec9e593fc6fdfa9c6df523d4af3d18a774e75d2fb9925e8ad0c8eefbbcfd525eaacbe5525f9a4b6b9c2edde56a6fcdd1e5165f98bd93244764f10773e445d68e5da55df4cbeab2b6c2cbe6b2bddc5d7655a7b697fde57039ba2fbd2c173633b1d8cde27fd5d684fde2fef27079e4b2a0adfd5add3f95256071f24d29c2faf27479eeb585d61bfb95a07ecd81e9d8a377f35545b3df7975c88ca6feec72bebc5c5ecdc4383afae58daf136d8235f75dbd7e8db92c7c3d96f5f196c5dd5333bebc5f3e2e9f97afcb777cbcf06a13d388e16578195dc66c869ddb6c66cd466c967db5ee7adbbf4c2ed3cb8ccba2f0bcc2fe5d16392f4096545373b5cdcf97f9657159f6eb90bdcdb2d8b85fd50accc08d8c83a7298f8a1fb4c620fca8d55a49b6b5519bc98ac9f9565bb56def1cc38bfaf99ecd8d336ef74cc7b8341e9b3146e6dcdef82cdeac9ddaadbddaaf83484b46e9ad0eeba88eeb84e5ca9fcce3796c6e9db008f4c9dd32590e755a67756e325990875bfd0aeaeff9cbcfb2287eaa2b6e5dd4a5f25557c68149c0bc0fb3dfa8978569716cc69eee2b6aa9cc422bfc8caa9a4590ec7f0d6b5beb7eb84347cdaf2c63af9cd73063f67faa22f6ebdeaff7d27875c746f9cbfc626d5cd6d7fa566bb55eafea35d36ca77c8af27a536fcdd8b9b23cdceb6318d6239bdec2eabb7a57efcb3d932515759e3fe695d8112074cc55efd44370523ae5b13e184cb3597e7f6fdbbc12cfda581f599b4ff57dfde0b6a1556d13b77eac9fea67e3549feb17a65b8bfab59f159cd728b02d1691ceeb37bfb1b7fe376fd994b220ca89acbdfb5abfd71ff56738a8bfeaef7a500fcba01e992ed3c27db17077aec3f29881cb324b63578feb493de5b2507ef20f7264f6a797a59ffb13f6ff0d9bfda7f5ac9ed70b9657b2fc8bc52e5b7b592f9d779bcdc98dda288de13f5a35f3ca1f8dd958c64363db47f6d9374e3f438693be6ed3fbb2c665ff34a2d0def09a9af1cb1ae0d074eb5be3357e1334a1f3d4444ddc244dcafae291e54977eeaec9ac2dfb158b429bbc299ab2a9b8bdd09ca8f42b763fcb42732397c5e4b364aa8cd2cc99c77a7369eaa6316377c3eefb7039352d0b8359d6e186c6aee99a6b738badd0b48a466b74fbc18c9b557aecc7c57c6fd64cdfc76c2c3efa5cbdd9345bebdcdcb9dbbe8283d53fac9c9b5ebfb3a4d935fbe6604d9a63736aee9b0726c363f3d43c3799bbeb6be64c2fe3e6dcbc34afcd9b948559c51f65a1d95ecaa2f1959bb5faa138cd7bf3c1a22ac7ff609e89d973bfa6686f9b4fe3e0dbcd57f31dbae167ad3483669828d60b7bde283359ae356bc66c961b46611f41369366dacc9ab971b296eeb6e1e3815566167d9b9ed3354b63efad5bb5555aa3355bcbe8ebd581396efb15c45d9f2b87ba71689dd66dbdd6ef63181e7719aadfaf09ff365752a5cfa4bdc2fdfa937a8bc76de03dc65d1b1afd4afdb658703fbbed6dba8d8c531bb7499b865ef5de666d9e9fdaa22ddbcad8370fed85595585fce4beaddba66ddbaebd5e5876dfded8bcf3ddd70ee4eabfefed5aaddf1de36baddeaeda755bb35f6dda6df0dede056f5ec89eb7734a63d7eedb437b6c4f52163f38fd41161bd97abff39945bc2c951e313ddbe5b9a2b7f7ed43fbc8b4f7686ffa9d05b5d53ef55adf326fdf9edb97f6d518861f4e5c44ed5bb269df59ccb3cf3b7bc9645ef5f949fbd17eb65fed773b6887eda865b3068b697aed123b19f67e906bf6b69db0acf8d44edb593b6751cb397875ed76d12e3bb59fdbeace38754a67746667c571922779af472c8e39fe4116e75759d84c99a94967770e93e6dab99d67192cd770d89cb063be56ef7c7b5b9f7d3753baa00bbba8da767197746997b1b0b8e8ca7e6dc8db75157bfea5abbbc6df756dd775d7eed6699ddeadfaac8e723b5ec95b326b687b8fe2fb4e65dce75db7ee36eeaedb76776c02d875fbe6397aef0eddb13b75f7dd43f7f8ab2cbfc563b40fdae2fbb87b59fabdb76ef7d43de7cfddb97be95e6bc738b9ae7de8ff1a4166c38eb3eddeba77964f9cba8feeb3fbeabe9d85fad80dba6137eac6d19d195b0b33f6b56ed24dbb5937ef16ddf2aa5e95ab71358d9dfbca7763f9bd1ce6d00ffa99fd6ad97bc7bada4cbe73b7bb322bb18ee1cadd5d5deffdea3109dfaffe35b886d7280fa302b66ffe1d1d13eb0b72bf196a7fdcef5de36b52b2d65d53ebe19ab119ef6c9dddcf7eb5f79ab3ff5a5ccb6bc5e29897ebe55a5bfeb5b9b6d7ee7acd27d7db55bb321d5533b30bdf8da69c5c57d7f57573dde6937efe655aa8f4750ce623a2be06c6f7638dd87c74ecfd38d515ade7de5aaa8171bcde5d77d7bdda3847b5edab2c5993353c07367f9c07f8afd7f89ca7ebe17a8cd953afa7eb3d3dddbf998b6641d1eef5e1fa787dba3e5fcfd797eb6bad3069deaeefd78febe7f5ebfa5d75d74139bc0eafa3eb987d26d7e975769d7b6bd60b8bcccccceb92dba2f5f327f2dd7d73c7fc1c27ebcc52c3a79b7263f955348c4c36f3b9aa6dbf33591cbebef31764b99937eb66df1cd6379ecb66877edf8bad140b2fb9b139d0b8f7b51b0b346f8152ddc25b748bd5db2db9a5b7ec96df8a68d025e15755df4a7377ab6e97f0e3c626c65b5bac6e9db1ef772df0fd16d6af1f5eafb0d86cc4246aee7236b3dcaeb7db4d4bc6d133cb2d44fefb87ddf3ffb52ce6e34dbfad6eeb86c5860d1b0d663515f3f8ecff6d8fc5eecc9fe593dbe6b6bdddd5a5fa62d7cae2b65386b7fdeda0d4ea58dd869f55773bde4eb7fbcbddede1f6787bba3ddfce51623f180fb71733643e7af24759983454afa4fbbfdede54f7f67efb48068a226ac97f7d7d3f2a6e9fb7afdbf76dc02b565f2cb35c58776c86d89a73162f6d6e43e3741bddc6b7c96d9abab759eadce6f1241ef77bf56f8bc80a5fa2eab6d4d4a8d394a85202f5ac199aa9599aadb1b16e5acdedade4e78fbbef3396c82759cc58f3345f0bb4508bf242d1d20ce3f287d3597fc25e1eb5584bb454cbfad981dd7b617e7a119385f624cdedad96f733a75668a5566917ad564325615ed0b65fe289b25322add15aadd3aedacdf84c1dd573979aa6e9da4a5b6b1b7ba16da99af0ebc8b03f2a8bb1ad7667dada9db653bba0b9bddbef2c7f37642dcfa1f8f22fc8926a7beda01db59376af3db008efce9cfa1f2c3bda71eb6451633568f92e43ed517bd29eb5b3f6a2bd46b935d2de8c85f61e4fb40f36269f2c216e94246ccb2767e999da97f6ad0d3436a6edeeefd98bf5dcee2c35f2b59136d6260a8bd955d72eed525db37111f562ef2fcbf2a84db59936d716da52578d7da8318f79673d9993b86e6fecb363518056b6bac26c79a71bbad92a9dab5bc64db77527327457c97596ee844e7fe622ce597e32d4033dd4233dd6133dedc7e0d74f98f5b2447e2f95bbd7333dcfebb2d20bf6fbfe0c84266b797c86ff2b3a16157aa957fa45aff5466ff5aedf11c3f2de39af8f322fa45ffb798faffbfaa6ebbe66817ed3355dd757fa5adfe85bfdcef850bff59dbe77c6d5413fe847fda4dfeb0ffaa3fe14bd07aece722db28dde4ef86e0bf3e78fe9e8e764adbfe8af4aa36ead86cdca34abf4f6eff075c43fbd8724c9f537fdbdb8ea1ffaa7fea57febcc07588affed6ed3ca56a3f7beea637afd3a561f4733895c33d687fa888dd0589fe8537da6cff585be5ca92b6565accc95e5eddd3c7ded778d38d5ca5e39b6e1eec90f0b0ff68b2cae7170dc95bbf2567e3c535f56415f310a4e2cdeea57df6a5a7bfb73b2048fab701505b355bc4a56e92a5be5ed78555807166b6efa5ccb3afe248bc9b28265dee5ceed8565b4b755b9aa5697555dcd568d3e5ab5b1c7f7c23129dcddaaeb76abab395e752c5bbbe3f66e626ef955166f7533e3b261f9d270a5b1f178e335567efeafaf2afd9571311f57fa6ab55a6bb362b8daacb6abbbcbc76ad75767d2a05f79b0b67d0ecf64796372ec983c0adfc570cff7819ef85efea3d8cf6bdcbbdf76e87ff8cd6abf3aac8ead1d7cb84edffa7e9e679aa6b63b6627bfcae2af4eab7b9643ad570fcdfbea919fce727f3a052c4f69fca971795a3dafceab176db67ad5ebd5dbea7df5b1fa8cbff26ef595f615a31fbbddf98749f7c177bc0f9d57f6795b7daf06d17e35147b2cfbbdbccd9339ee7739b58bd5a8d72e173b9358e3acdf65b1ceab717d67ec5693d574355bcd51c3b7708ec1fdf3314c92af16abe55a5d2b6b439badcdb5b5b6d7ceda5d7bc69e45cffb1f7bdefb489eaffb32097a7b62b3105fc7e3fba9f9beea7e36627e6318266b7f1dacc3c0091cbecb91452c6431bd17f85d967e7473dbd8d7efeb681dab77e20c2d9745f9b16be9cff8b1f03198af933c5d5bc1789daeb375be2ed6e5ba5a5fd6b5b5b437741601fbf7fbd5b30fbe57a25f6bb15a16fc34ceba757416dfb3e83e9ce9d77ecd807df6ebceefd6cc62bc50c8d2eeb411f366bfd90bd7d26374b7beadb53573e4b2fee5fed5793f628aba5eaf37ebedfa6ebd5befd787f5717d5adfaf1fd68feba790c5fdd69eef5ac1b8b04fbf9ef76a7e704b3e584bbedb9f5950bffba8f7e2eb7e97fcb1df83b63eaf5f02d736cc28effa73246c8e1feb193f73d2e7373edfafe4b23c69bb7e5dbf35cafa7dfdc1e617c8f2f7f78ffdf38ff3283f69566595d196e7f5e7fa6bfdbd1eac87eb11d335bea38c568b980e4db0afbf8fa6c6acc7cffc04c6b2dfadd7cbe90f7a7bea77569a43967505d5e0a69a713e6171d79d36d1f3f5b8f776eb49bfa3b61f93cb389f38de7aba9eade7eabdd8d32b674be7afc8f2d3d9621ecf798f6a11dcaf179774bdcc5f36ea46d9181bb37faead164ebf368979c230a77db5439cb4602336661ab91436d3dc39174ba1fd0a2caa7f6511e4ae0f0b36569fdfacc6cce59f8ce3c6c9271b77e36dfc4d607da94f56f35b9bfed2b8fc7eb6381a2a9ee2da55972acd26dc449b78936cd24db6c9f9aa0bcb6eac27ffdbf68bbc782effdf76ae6549552488eee733a6f615fdba7dbb6356a899203e5a6db51f3b4444f0c14b1489987f9faa8202a4bd37b457331113b9d010943a661645669d93b6d9e37b5a6207f5ce54d90a7b630ee6244ed8f3c2d4532060d9afca32ad349d280e4d481246103617866ae8b10a11c3b2b36c86248e1fe983506f36cb7bd7f59cde1344592e9dd23decc91c0e90c0115250a0014d680104cf80a691efb672cf7c667bc1191af13a6a6c8d2ed758790ea8a041fba8a546ca6681e23a2c67047dffd9b4a1130fb9e20cbad0833e2ce34747a706bc2c0e85fef98baee722bfd4f4404187dc51957668dcd0c2d0b660004318c12b8c61025378f3347fb13bb0acbe5df0f8ab3a31cdd0e01d3ee0136ee036e9c2ddb1ed7437f7e95459c13d7169c0bcfd003fe0117eb2bb700a4ff08c94def1b9eef5e9337dca1557dfc052a8ea8aefae6ed98c216b9d45ef4ffa485524aebeeaa181333471eeaa5edbb7f71bff47100423b4421517519a70a1686ff7106f632dbe471b97ebe0a027b3a4874ec8a276354cdffc603e255ca59dee228325a4b8c2354b719e8d29bbca113774bcb961e319c8f15c1f6327bd3884873ca043ee1bdcda7dce35430f7d0c30740718e10e636fed2f7ddd7f0cc2861b3aa1161991827b3cecfa8d66ec6112bce2115354f693204dfadb96d559cd6ccab25f967cd21655d61b3627a2d61336b0892d72a03dc20e53978ef868d8fa229f5faee75a7fe935c07eb745b764495b08ec7d0311d5f514356ca3bffd70224ff774bfb3f1822818bb5ad8461d3bd8c5de6e837df6fe0507fb088787258ef015c7d68bd0fa1a7cc79ef3f0a8623d21573237714a0f6bb636061dba66de58d0211dac1b76bfe293ef6039b59ad281736c393795d713791dceebf80ee712f96e3009ddd07544a5d179e13613e6e4967d435ca3ec245389a0cad56bfd58aad7bf7aee9fc122ff178e852391e3f3ba9c7d9399eff23a234758aeb7d96b869def6fe7fb0f468e60216ac18678a2378b9890bd31a42ee18c42f1d27b720dcf09969c1fb0909d7904e76ec356026184f0baafc89d66956e3da5fecbf6f6f369d67545d6b5c5d924df135a7ec542cb5e26e49a7cbfc201afa191da8093df3604f79408ae9ab0ad576031ca9ca3caca1635c83935653d22cfb448ce3bcf6adc752c32e62a9eb9443352aa19aaaae7e288acea1ab4729f2cb50e052bf5d4871cf952b02732ae47d9db635ea9689b453c57bc2062244752ad5f5e84c592fcc3e1ee4c949995795bc152fdbea830d827ffc84c20e9088f91d2fb395e4b665b520152c3422492ebf27dce3a1163b10a2cc60916c11710bad85b6ed69a7320cdc09db863ceee0a1533e20c1ccef6c814cd995eb334f9fc9ecf4b7ebda988b5c23b67b1108e04dff03d63da7fc32f8b9a5f4caeec2fc7c9c7e6f5bc5e154b795ce2e596e3679fca7dd222b624e3bc58134fe3a1e0bbcd199677fcb81c4b3d6a7ea7d6aeb0fb7e71ceb9a3f5738b7cbeda2ba7de3ba79caf57e52fff15fb1fcbbfd3fefcfbaf3ffe0193cc32fd</data> + </image> + <image name="image2"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxURLRequesterThemesPath</sender> + <signal>urlSelected(const QString&)</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxURLRequesterThemesPathUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxURLRequesterThemesPath</sender> + <signal>returnPressed(const QString&)</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxURLRequesterThemesPathUrlSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxThemeList</sender> + <signal>highlighted(const QString&)</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxThemeSelected(const QString&)</slot> + </connection> + <connection> + <sender>KbfxDeleteTheme</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxDeleteThemeClicked()</slot> + </connection> + <connection> + <sender>KbfxInstallTheme</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxInstallThemeClicked()</slot> + </connection> + <connection> + <sender>KbfxSelectDudeImage</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxSelectDudeImageClicked()</slot> + </connection> + <connection> + <sender>KbfxDeleteDudeImage</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxDeleteDudeImageClicked()</slot> + </connection> + <connection> + <sender>KbfxThemeInfoBtn</sender> + <signal>clicked()</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxThemeInfoClicked()</slot> + </connection> + <connection> + <sender>KbfxShowOldThemes</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxShowOldThemes_toggled(bool)</slot> + </connection> + <connection> + <sender>KbfxWatch</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgThemes</receiver> + <slot>KbfxWatch_toggled(bool)</slot> + </connection> +</connections> +<tabstops> + <tabstop>KbfxURLRequesterThemesPath</tabstop> + <tabstop>KbfxThemeList</tabstop> + <tabstop>KbfxDeleteTheme</tabstop> + <tabstop>KbfxInstallTheme</tabstop> + <tabstop>KbfxGetMoreThemes</tabstop> + <tabstop>KbfxThemeInfoBtn</tabstop> + <tabstop>KbfxSelectDudeImage</tabstop> + <tabstop>KbfxDeleteDudeImage</tabstop> + <tabstop>KbfxShowOldThemes</tabstop> + <tabstop>KbfxWatch</tabstop> +</tabstops> +<includes> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="global" impldecl="in declaration">qstringlist.h</include> + <include location="global" impldecl="in declaration">kmessagebox.h</include> + <include location="global" impldecl="in declaration">kio/netaccess.h</include> + <include location="global" impldecl="in declaration">kfiledialog.h</include> + <include location="global" impldecl="in declaration">ktar.h</include> + <include location="global" impldecl="in declaration">kstandarddirs.h</include> + <include location="global" impldecl="in declaration">kbfxthemesdata.h</include> + <include location="local" impldecl="in declaration">kbfxthemeinfo.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgthemes.ui.h</include> +</includes> +<forwards> + <forward>class KbfxThemeInfo;</forward> +</forwards> +<variables> + <variable access="private">bool KbfxFormReady;</variable> + <variable access="private">QString KbfxInstallDialogURL;</variable> + <variable access="public">QStringList KbfxThemes;</variable> + <variable access="public">QPixmap img_nopreview;</variable> + <variable>static KbfxThemeInfo * _info_box;</variable> +</variables> +<signals> + <signal>KbfxThemeDoInstall( QString & installUrl )</signal> +</signals> +<slots> + <slot>KbfxURLRequesterThemesPathUrlSelected( const QString & path )</slot> + <slot>KbfxThemeSelected( const QString & name )</slot> + <slot>setKbfxThemePreview()</slot> + <slot>ChangeForm()</slot> + <slot>KbfxDeleteThemeClicked()</slot> + <slot>KbfxInstallThemeClicked()</slot> + <slot>KbfxThemeInstall( QString & installUrl )</slot> + <slot>KbfxSelectDudeImageClicked()</slot> + <slot>KbfxDeleteDudeImageClicked()</slot> + <slot>KbfxThemeInfoClicked()</slot> + <slot>KbfxShowOldThemes_toggled( bool )</slot> + <slot>KbfxWatch_toggled( bool )</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kurlrequester.h</includehint> + <includehint>klineedit.h</includehint> + <includehint>kpushbutton.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgthemes.ui.h b/configdialog/kbfxconfigdlgthemes.ui.h new file mode 100644 index 0000000..fe28790 --- /dev/null +++ b/configdialog/kbfxconfigdlgthemes.ui.h @@ -0,0 +1,367 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +KbfxThemeInfo * KbfxConfigDlgThemes::_info_box = 0; + +void KbfxConfigDlgThemes::init() +{ + KbfxFormReady = FALSE; + img_nopreview = image0; + + connect ( this, SIGNAL ( KbfxThemeDoInstall ( QString & ) ), + this, SLOT ( KbfxThemeInstall ( QString & ) ) ); +} + +/* +void KbfxConfigDlgThemes::KbfxDudeAnimationButtonToggled(bool) +{ + if(KbfxAnimationButton->state() == 2) + { + KbfxAnimationButton->setText(tr2i18n("Animation is ON")); + KbfxAnimationButton->setPaletteBackgroundColor(QColor(0,255,0)); + ConfigInit().m_SpinxDudeBlink = TRUE; + } + + if(KbfxAnimationButton->state() == 0) + { + KbfxAnimationButton->setText(tr2i18n("Animation is OFF")); + KbfxAnimationButton->setPaletteBackgroundColor(QColor(221,223,228)); + ConfigInit().m_SpinxDudeBlink = FALSE; + } + + kdDebug() << "SpinxDudeBlink State is:" + << ConfigInit().m_SpinxDudeBlink + << endl; +} +*/ + +void KbfxConfigDlgThemes::KbfxURLRequesterThemesPathUrlSelected ( const QString &path ) +{ + QString tmppath = path; + + if ( tmppath.startsWith ( "file://" ) ) tmppath.remove ( "file://" ); + if ( !tmppath.endsWith ( "/" ) ) tmppath.append ( "/" ); + + QDir d ( tmppath ); + d.setFilter ( QDir::Dirs ); + if ( !d.exists() ) + { + kdDebug() << "Themes folder does not exist: " << tmppath << endl; + + KMessageBox::error ( 0, + tr2i18n ( "<p align='center'>Invalid user themes folder!</p>" + "<p align='center'>Will use default user themes folder.</p>" ), + tr2i18n ( "Error loading themes" ) ); + + tmppath = ConfigInit().m_UserSpinxThemeBasePathDefault; + } + + KbfxURLRequesterThemesPath->setURL ( tmppath ); + + KbfxThemeList->clear(); + KbfxThemeList->insertStringList ( KbfxThemesData().setThemeList ( tmppath ).keys() ); + KbfxThemeList->setCurrentItem ( 0 ); + + ConfigInit().m_SpinxThemeName = KbfxThemeList->currentText(); + ConfigInit().m_SpinxThemeBasePath = KbfxThemesData().setThemeList ( ConfigInit().m_UserSpinxThemeBasePath ) [ConfigInit().m_SpinxThemeName]; + ConfigInit().m_UserSpinxThemeBasePath = tmppath; + + setKbfxThemePreview(); +} + +void KbfxConfigDlgThemes::KbfxThemeSelected ( const QString &name ) +{ + if (KbfxFormReady) + { + ConfigInit().m_SpinxThemeName = name; + ConfigInit().m_SpinxThemeBasePath = KbfxThemesData().setThemeList ( ConfigInit().m_UserSpinxThemeBasePath ) [ConfigInit().m_SpinxThemeName]; + ConfigInit().readFontrc ( ConfigInit().m_SpinxThemeBasePath, + ConfigInit().m_SpinxThemeName ); + ConfigInit().readThemerc ( ConfigInit().m_SpinxThemeBasePath, + ConfigInit().m_SpinxThemeName ); + + kdDebug() << "Selected theme: " + << name + << endl + << "Base path: " + << ConfigInit().m_SpinxThemeBasePath + << endl; + + setKbfxThemePreview(); + } +} + +void KbfxConfigDlgThemes::setKbfxThemePreview() +{ + QString path = ConfigInit().m_SpinxThemeBasePath + ConfigInit().m_SpinxThemeName + "/preview.png"; + + QImage tmp ( path ); + if ( tmp.isNull() ) + { + kdDebug() << "No preview available for theme: " + << ConfigInit().m_SpinxThemeBasePath + ConfigInit().m_SpinxThemeName + << endl; + + // QString default_path = locate("data", "kbfx/images/nopreview.png"); + KbfxPixmapPreview->setPixmap ( img_nopreview ); + } + else + { + KbfxPixmapPreview->setPixmap ( path ); + } +} + +void KbfxConfigDlgThemes::ChangeForm() +{ + KbfxFormReady = FALSE; + KbfxURLRequesterThemesPath->setURL ( ConfigInit().m_UserSpinxThemeBasePath ); + KbfxThemeList->clear(); + + KbfxThemeList->insertStringList ( KbfxThemesData().setThemeList ( ConfigInit().m_UserSpinxThemeBasePath ).keys() ); + + kdDebug() << "Theme path: " + << KbfxThemesData().setThemeList ( ConfigInit().m_UserSpinxThemeBasePath ) [ConfigInit().m_SpinxThemeName] + << endl; + + KbfxThemeList->setSelected ( KbfxThemeList->findItem ( ConfigInit().m_SpinxThemeName ), TRUE ); + + setKbfxThemePreview(); + + KbfxDudeImage->setPixmap ( ConfigInit().m_SpinxDudeImage ); + + kdDebug() << "Dude image: " + << ConfigInit().m_SpinxDudeImage + << endl + << "Default dude image: " + << ConfigInit().m_SpinxDudeImageDefault + << endl; + + KbfxFormReady = TRUE; + + KbfxShowOldThemes->setChecked ( ConfigInit().m_KbfxShowOldThemes ); + KbfxWatch->setChecked ( ConfigInit().m_KbfxWatcher ); + + /* + if(ConfigInit().m_SpinxDudeBlink == TRUE && KbfxAnimationButton->state() == 0) + KbfxAnimationButton->toggle(); + + if(ConfigInit().m_SpinxDudeBlink == FALSE && KbfxAnimationButton->state() == 2) + KbfxAnimationButton->toggle(); + */ +} + +void KbfxConfigDlgThemes::KbfxDeleteThemeClicked() +{ + int messageBoxReturn; + int messageBoxUserResReturn; + QString KbfxThemeRcDestination = KGlobal::dirs()->saveLocation ( "data", QString ( "kbfx/themerc/" ), TRUE ); + KbfxThemeRcDestination.append( ConfigInit().m_SpinxThemeName ); + + messageBoxReturn = KMessageBox::warningContinueCancel ( 0, + tr2i18n ( "<p align='center'>Are you sure you want to uninstall the KBFX theme <strong>%1</strong>?</p>" ).arg ( ConfigInit().m_SpinxThemeName ), + tr2i18n ( "Uninstall KBFX theme" ), + tr2i18n ( "Uninstall" ) ); + + if ( messageBoxReturn == KMessageBox::Cancel ) return; + + messageBoxUserResReturn = KMessageBox::questionYesNo ( 0, + tr2i18n ( "<p align='center'>Do you want to keep your personal settings for theme <strong>%1</strong>?</p>" ).arg ( ConfigInit().m_SpinxThemeName ), + tr2i18n ( "Personal settings" ), + tr2i18n ( "Keep settings" ), + tr2i18n ( "Delete settings" ) ); + + if ( messageBoxUserResReturn == KMessageBox::No ) + { + if ( QFile::exists ( KbfxThemeRcDestination + "_fontrc" ) ) + { + QFile::remove ( KbfxThemeRcDestination + "_fontrc" ); + + kdDebug() << "Deleting user's fontrc file: " + << KbfxThemeRcDestination + "_fontrc" + << endl; + } + if ( QFile::exists ( KbfxThemeRcDestination + "_layoutrc" ) ) + { + QFile::remove ( KbfxThemeRcDestination + "_layoutrc" ); + kdDebug() << "Deleting user's layoutrc file: " + << KbfxThemeRcDestination + "_layoutrc" + << endl; + } + } + + kdDebug() << "Deleting theme: " + << ConfigInit().m_SpinxThemeName + << " - " + << ConfigInit().m_SpinxThemeBasePath + ConfigInit().m_SpinxThemeName + << endl; + + if ( !KIO::NetAccess::del ( ConfigInit().m_SpinxThemeBasePath+ConfigInit().m_SpinxThemeName, 0 ) ) + { + KMessageBox::sorry ( 0, + tr2i18n ( "<p align='center'>Could not uninstall this KBFX theme.</p>" + "<p align='center'>You may not have sufficient permissions to delete " + "the folder <strong>%1<strong>.</p>" ).arg ( ConfigInit().m_SpinxThemeBasePath + ConfigInit().m_SpinxThemeName ) ); + + return; + } + + ChangeForm(); +} + +void KbfxConfigDlgThemes::KbfxInstallThemeClicked() +{ + KFileDialog KbfxInstallDialog ( QString::null, + "*.tar *.tar.bz2 *.tar.gz *.kbfxtheme|" + tr2i18n ( "KBFX theme packages (*.tar, *.tar.bz2, *.tar.gz, *.kbfxtheme)" ), + 0, + 0, + TRUE ); + KbfxInstallDialog.setCaption ( tr2i18n ( "Select KBFX theme package to install" ) ); + KbfxInstallDialog.setMode ( KFile::File | KFile::ExistingOnly ); + + if ( !KbfxInstallDialog.exec() ) return; + + KbfxInstallDialogURL = KbfxInstallDialog.selectedURL().path(); + + emit KbfxThemeDoInstall ( KbfxInstallDialogURL ); +} + +void KbfxConfigDlgThemes::KbfxThemeInstall ( QString &installUrl ) +{ + KTar KbfxThemeArchive ( installUrl ); + + if ( !KbfxThemeArchive.open ( IO_ReadOnly ) ) + { + KMessageBox::sorry ( 0, tr2i18n ( "<p align='center'>Could not read this KBFX theme package.</p>" ) ); + + kdDebug() << "Error reading archive: " << installUrl << endl; + + return; + } + + const QString KbfxThemeDestination = KGlobal::dirs()->saveLocation ( "data", + QString ( "kbfx/skins/" ), + TRUE ); + + kdDebug() << "Copying theme: " << KbfxThemeDestination << endl; + + const KArchiveDirectory *KbfxThemeArchiveDir = KbfxThemeArchive.directory(); + KbfxThemeArchiveDir->copyTo ( KbfxThemeDestination, TRUE ); + + ChangeForm(); +} + +void KbfxConfigDlgThemes::KbfxSelectDudeImageClicked() +{ + KFileDialog KbfxDudeImageDialog ( QString::null, + "image/jpeg image/png image/x-xpm image/gif ", + 0, + 0, + TRUE ); + + KbfxDudeImageDialog.setCaption ( tr2i18n ( "Select personal image" ) ); + KbfxDudeImageDialog.setMode ( KFile::File | KFile::ExistingOnly ); + + if ( !KbfxDudeImageDialog.exec() ) return; + + ConfigInit().m_SpinxDudeImage = KbfxDudeImageDialog.selectedURL().path(); + + QImage tmp ( ConfigInit().m_SpinxDudeImage ); + if ( tmp.isNull() ) + { + KMessageBox::error ( 0, + tr2i18n ( "<p align='center'>Image cannot be used as a personal image!</p>" + "<p align='center'>Will use default personal image.</p>" ), + tr2i18n ( "Error loading image" ) ); + + ConfigInit().m_SpinxDudeImage=ConfigInit().m_SpinxDudeImageDefault; + } + + KbfxDudeImage->setPixmap ( ConfigInit().m_SpinxDudeImage ); + + kdDebug() << "Dude image changed: " + << ConfigInit().m_SpinxDudeImage + << endl; +} + + +void KbfxConfigDlgThemes::KbfxDeleteDudeImageClicked() +{ + QString tmp_dude = ConfigInit().m_SpinxThemeBasePath + ConfigInit().m_SpinxThemeName + "/menu_top_image_person.png"; + QFile tmp ( tmp_dude ); + if ( tmp.exists() ) + { + ConfigInit().m_SpinxDudeImage = tmp_dude; + } + else + { + ConfigInit().m_SpinxDudeImage = locate ( "data","kbfx/skins/default/menu_top_image_person.png" ); + } + + KbfxDudeImage->setPixmap ( ConfigInit().m_SpinxDudeImage ); +} + + +void KbfxConfigDlgThemes::KbfxThemeInfoClicked() +{ + QPixmap _logo = QPixmap (ConfigInit ().m_SpinxThemeBasePath + ConfigInit ().m_SpinxThemeName + "/logo.png"); + + ConfigInit().readThemeInfo ( ConfigInit().m_SpinxThemeBasePath, ConfigInit().m_SpinxThemeName ); + _info_box = new KbfxThemeInfo (this,"infodlg",Qt::WType_Modal); + + if ( !_logo.isNull() ) + { + _info_box->KbfxThemeLogo->setPixmap( _logo ); + } + else + { + _info_box->KbfxThemeLogo->hide(); + _info_box->hideSpacer(); + } + _info_box->KbfxThemeName->setText( ConfigInit().m_SpinxThemeName ); + _info_box->KbfxThemeVersion->setText( ConfigInit().m_InfoVersion ); + _info_box->KbfxAuthorName->setText( ConfigInit().m_InfoAuthor ); + if ( ConfigInit().m_InfoEmail == ConfigInit().m_InfoEmailDefault ) + { + _info_box->KbfxAuthorEmail->setText( ConfigInit().m_InfoEmail ); + } + else + { + _info_box->KbfxAuthorEmail->setText( "<a href='mailto:" + ConfigInit().m_InfoEmail + "'>" + ConfigInit().m_InfoEmail + "</a>" ); + } + if ( ConfigInit().m_InfoUrl == ConfigInit().m_InfoUrlDefault ) + { + _info_box->KbfxThemeHomepage->setText( ConfigInit().m_InfoUrl ); + } + else + { + _info_box->KbfxThemeHomepage->setText( "<a href='" + ConfigInit().m_InfoUrl + "'>" + ConfigInit().m_InfoUrl + "</a>" ); + } + + _info_box->show(); + _info_box->update(); +} + + +void KbfxConfigDlgThemes::KbfxShowOldThemes_toggled( bool state ) +{ + ConfigInit().m_KbfxShowOldThemes = state; + kdDebug() << "Show Old Themes is: " << ConfigInit().m_KbfxShowOldThemes << endl; + + ChangeForm(); +} + + +void KbfxConfigDlgThemes::KbfxWatch_toggled( bool state ) +{ + ConfigInit().m_KbfxWatcher = state; + kdDebug() << "Watch for Installs is: " << ConfigInit().m_KbfxWatcher << endl; +} diff --git a/configdialog/kbfxconfigdlgtooltip.ui b/configdialog/kbfxconfigdlgtooltip.ui new file mode 100644 index 0000000..97d5218 --- /dev/null +++ b/configdialog/kbfxconfigdlgtooltip.ui @@ -0,0 +1,719 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxConfigDlgTooltip</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxConfigDlgTooltip</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>648</width> + <height>526</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>KBFX Control Center</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>10</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel37</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Tooltip ON or OFF</p></h3></b></string> + </property> + </widget> + <widget class="QGroupBox" row="1" column="0"> + <property name="name"> + <cstring>groupBox24</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Turn off or on the tooltip</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout21</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Turn your tooltip off or on. <br>You can see the current status of the tooltip to the right.</string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer4_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>24</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxTooltipOnButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Turn the tooltip "OFF"</string> + </property> + <property name="toggleButton"> + <bool>true</bool> + </property> + <property name="on"> + <bool>true</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer5_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>KbfxTooltipOnPixmapLabel</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>120</width> + <height>80</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>120</width> + <height>80</height> + </size> + </property> + <property name="frameShape"> + <enum>GroupBoxPanel</enum> + </property> + <property name="pixmap"> + <pixmap>image1</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </hbox> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="7" column="0"> + <property name="name"> + <cstring>groupBox3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Tooltip Text</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <widget class="QLayoutWidget" row="0" column="1"> + <property name="name"> + <cstring>layout19</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel6</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Type the text which you want to be displayed in the tooltip.</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer9</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>19</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <widget class="KTextEdit" row="0" column="0"> + <property name="name"> + <cstring>KbfxTooltipTextEdit</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>100</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>100</height> + </size> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="vScrollBarMode"> + <enum>AlwaysOff</enum> + </property> + <property name="hScrollBarMode"> + <enum>AlwaysOff</enum> + </property> + <property name="textFormat"> + <enum>PlainText</enum> + </property> + </widget> + </grid> + </widget> + <widget class="KActiveLabel" row="6" column="0"> + <property name="name"> + <cstring>kActiveLabel37_2_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Tooltip personal text</p></h3></b></string> + </property> + </widget> + <widget class="QGroupBox" row="4" column="0"> + <property name="name"> + <cstring>groupBox26</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="title"> + <string>Tooltip animation</string> + </property> + <property name="alignment"> + <set>AlignVCenter</set> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout20</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout9</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>kActiveLabel5</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Turn your tooltip animation off or on. <br>You can see the current status of the tooltip to the right.</string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout8</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Minimum</enum> + </property> + <property name="sizeHint"> + <size> + <width>26</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxTooltipAnimationButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Turn the animation "ON"</string> + </property> + <property name="toggleButton"> + <bool>true</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer5</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>KbfxTooltipAnimationPixmapLabel</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>120</width> + <height>80</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>120</width> + <height>80</height> + </size> + </property> + <property name="frameShape"> + <enum>GroupBoxPanel</enum> + </property> + <property name="pixmap"> + <pixmap>image2</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </hbox> + </widget> + </grid> + </widget> + <spacer row="5" column="0"> + <property name="name"> + <cstring>spacer6</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + <widget class="KActiveLabel" row="3" column="0"> + <property name="name"> + <cstring>kActiveLabel37_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>29</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>29</height> + </size> + </property> + <property name="paletteForegroundColor"> + <color> + <red>255</red> + <green>255</green> + <blue>255</blue> + </color> + </property> + <property name="paletteBackgroundPixmap"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="textFormat"> + <enum>AutoText</enum> + </property> + <property name="text"> + <string><b><h3><p align="center">Tooltip animation ON or OFF</p></h3></b></string> + </property> + </widget> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer6_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>1</width> + <height>1</height> + </size> + </property> + </spacer> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="XPM.GZ" length="4075">789ced974b6fda401446f7fc0a8bec5095601eb64755174d7080a669d3b48b4a5517e33134a1101230e151f5bfd7f7bbc3f8510bb29a45d5b331e77e77c6c6067b7cd670bede5c3b8db3da3291c9bd72d49d5c388d78359b6dbf7d7ff3ab5677dda6d3124e2770dcfaab5afdd651ce4953785d11937e822acf63bd81c67bfd0c1d793eeb47ad8118917e20755d4f8a31e935d4f394c48ede4395df941dd277a4adaedf9501e995568f75001dfb9154a443ad8ab547da96412bc2cc97465ba4a1d636a77da348df9276ba818c3cd273a33ee985d688d30d69d7156e14916e8de230d65a5b9cee8c22fd028dfd91c05409ab08549374611407b9d42a387d328af459abe4746514e99cd40b645375491f8c62bf8f5a5d4e6746914e49fdb64c2f12e94fad3eeb049a9e7485eb7baf3566bd23a5b31ce3c4fe808aa813e3fa8ea02af263ec68ac35603d85c642ffea147494a6b80ab156c17a422a9afb34d22a631ca4d41ab19e5a058767157ce52a22a6322bb51debc95a69830b5445cc5466a5b6633d592b6df0fba962cc5466a5b6633d592b6df003b60afe4156c15ff810938c5ca9f4a16c93228509714b39c43423572a7d28dbb4486142dce2521e8acce78f9a3983da3c5f6152a7b17a8afdb042cb1c33cef6e0760d160ccbd290243a5824cb65be6cf449b35a9961cf29694752985383470fd86c36db941d581bb84a6cd6eb7cd9e82ea3d4b11fbacb83e7668173f07705a58b14aeec4378aeab3032ad16356dc753be17863d260cc34ba26f2a3daa6429d337a50c1a13f6fb61a99a178cc5aa63301c0e98a1fe3434952c435533a8e04094efc02ae8a55c8117b7578fc732cc2a58075a050b51ab60256c15acccad825703abfcdfe3bfb3c75babe045d52a78ddb34afdf7ebda1f4394dd1e</data> + </image> + <image name="image1"> + <data format="XPM.GZ" length="24290">789ced9ac97223390e86eff5148ee6ad6282ad5d99313107effbbe7b620e205392f75d96ec8e79f761823fac4c6a71754c3bfb20252efd89e0f203205272d7ef3fe7cef6b6e77efefee3e5955eafec9cbda4e7b99f49f7eeeefddffff9d71f3f7e2b574a735169ae12d7e72abffde3c76fd498b373aac44fcae68cb95cb2e00e38f14cf3e016f8c57319fef689b9526e820d38c27a3be018f34fc1062ce3588f763d5708eb6d32572b15f007b88af5851be01e18e731af9eab35f00db88efd2230e6d33e18f3690d0c3d84f5abd06357996b15c4c73e80dbe0c47355e27d012e83b7c1d06756c0a2cfc7b756833f55c1d0637d7eea5589d72b18f1b5976089afdfbf5ec77ee4e35b6f08bf81b1bf5d666ed4102f7b0f967c6bb0e4fb148cf3985d30ce6336c0526fcf9eeb327e0b96710596fa2b83115f3af2dc90719f8f4613f1a645b0d48fcf67b38e71fb089678c760a9970a18facd1158ea6bc17343eaaf0f96fa697a6e221e7406967c6c81e5bead8345cfbbe748f42c83253efe3e470da9a77330e2637c3d47120fb30516ff65b0e87f078bfe17b0e8bb068bfe042cf7fbc47324eceb378aa55f7499e386d4eb1558ead582110f5307231e06fe11ce47188fe53e1f82e57efa7a23c9875d01a35e6d0f2cfebede48f4185f4f14497d2e8125fe779e6339af3f3f91dcd703b0f4175f5f64249fbe7ec8caf93c9bcf7c1c7b8e251f3e7e86e47e19b0d48bd76712b9cfcf60b9bf9e6d84f3da3658eaa5e639967e54f24c523f876019f7fdce1aa9871658eadbdf1f6ba5df1f83e5bcbeffd944eea38f6f12497dbc83a57e7c7f4a3ef37b0b96784460c947152cfa7c3e1212f6f72d917c9845b0e8c37e56f81e2cf9b804cbfdd060399f7fdfb448f24b60a92f7f5f5a46780f2cf5b606163df36079bff8fbd996f3db3bb0f4bb0e58eaa909967e5606cbf9381e655790e045b0d44b1f2cf1e3fe59e68799f555f84959f37da8f2c37ce4b95602ef83cb9e89eba95aabb63cab75701b7ce559e6930213c68fc006fc01b6d80febd512701f8cfdf4a9e73ad623ce6fb5ee5e887ebd08dc04ef802370171c637edb7303fa540d5c015f80111fb50dae8157c175b006e33c5ad6c379f43118e7d177609c479d82259e4b9e9b389f7e07cbfad0df14bd2dcf91e4af0996f9bb60e8d325b0c4f7008cfd35f4c532ff0a8cf9e4b9d194f337c192ef5d30f2a97c3d3522c9c73258e6bf80a53e6ec032dfd75f2396f904c67efa042cf5137b2689f71918fbe96db0ccdf02637f8df391d4e71b58d6bff56ca59e3c3723a98f6330f2433e3feef585f10a58eaad0c967af3e76992d4e70a58fcdfc1b2df1d58ea31014b7df8fbd43492cfba672b8cf358e9071b60aca7d73c27d84f5f83a51e173cb7a43eb8bf55ddf70bec1f83259f0db0f49373b0d4ffa66789b77af66cc4bf0d967af5f73fb252cf55cf89dc8743b08cfbfee35eafe017b0c463052cf99f074bfe719eb6ac7703c679c8e7238ea59e7dbc63a937f2f18b251f64c1883f19b0e4770d8cf5c8d7bffbfa86f133b0d4cf2158ea611e2cf707fb25725f0fc012ef45cf2da9bf27b09ce7122cebe3bc2de977e760b95f7b60a98757b0e4fbdeb3c45f75c052ef0a2cf5d7004b7d5e8065ff1db0dcf74db0e4c3f73f4a84fdf9a825fd68032ce30b60c487fc79ddf737b0bf6f46e2451a2cf9a882255e2760e90fbe7edcd72f9c97d7af9553e3717e9fd7f8e1718e5fad951a8ff3fba2ce0f8f733eea36351ee7fbdfe087c7f9bc8d38353e0f7fdf6ef2c3feacdfb50f67eccff98feaa931737ea2666aeccfefd7881f668e6f6452e3f5f9fc7125359ecffd3caea796b2e1fcc4fcf07cae9fd8a6c6fe5cef544a8d99f7a34a6aeccfef5be287f7e37e4c496aeccff56c4aa931733d197e98397e26492d65cbf7d3b452e371eedf7c1c7f3eae17cb0f33f713db4e8df7e7f745d2488de7b37ef7f5d719fb73fe127e783f5ebf554a8dfd391f9c5eceb7e2f3b41aa971bcb8ffb5f8617f7e7fb4cba931f378bb965acafbbc5f9b1fcfd36533cdd36133cdd36133cdd36133cdd36133cdd36133cdd36133cdd36133cdd36133cdd3617f9d66ad3469a3eda7258e5b7fb7beefd2acdbbae3345eea2b7dad6f3eedd6f19dbed70fba3d71f6a37eca442ab527fd387146e7d77dbf47b3d374efd43d8fb11737f6aabb13e63fe9b760ce9b7e9ae0dfd3fd5ff5fd0ecd9ca377fda1e727da82cb77675cb6597338e34e2f4ed43cf02c58b35e72777659affc92ad8e53ed340fafb1e63ac3b818f5f47ac673b948cd2ec789ded09bbf6c4ef518cd5b23bd1f26681ef86d15a7d9f5ad27bdad77fe94ed8e523d669d3dbd3fba3bb1e681df76819a1ff4c1d0390fdd6747e8a7c7fa648492d3e17bea349f8d8cd0d9683581e6315e7fbd667793d7f5b9bec859c9f567d26578b4dcfd5dd795c0a7aacd48cd1723ad36aa93b1e6814f719a135dd78d9c35877b948b8cd1d1905ff0de729ae3c0472c1a8e10340f7ce26234eb25a555fea131fd6951af2b93f3b43af47952891af7b4863b59aa39e39114a439516dd5c9d8a5ba52d7637c1fd44dceb7a35aea36d07c1778e4560e3b196b1e78dc15a199f7bccfd9831afbfd4f975d3c9e72decf3a19d27c3fd6863405fb17a399d48b7acd5957bd8df7573dd50ffcafa4d341f37b66ec3df075abe73b99eea98fac7f219a8d9a570b195bd4f713fd955acaf92fa8654d39cd2b99b155b51678cfe73b196b1e8cae7cbf6657abeb6a23679baa3771467ac6fc8cdc7727a7792b33b6ad7602ef0db59bed64c17a057c0fd32d77aabd9ced67b33672cebd3ac8cd38cc668e350fc6b6034eedc0c5f9b3473acd4799b12234933a5627393bd5ea8b39469de5e7689bd37c9e19bb70515d57a5608ff2e05dc89a0723e7dfaf593daa8aaae6acf6d55f435c17ab07738ef4e77d709a1bf9d5dcfbad19f85755a497329a079f370ac8f3938a49e74ce989f779d49c6c9cf2a37e441ba26017236f38dd2395f12fe07b984ec8fa7f75f6695f6a568fd40ae6b4b39aa9138ee845ba0c662474e53b196b1e7cda2944f335dde4eceb3c13dd0673f29aef8647824f53bba787b493b1e6c1a7057c27a1477aa2e79cbdd05773baf416cce90dfa1ef5e97d78843e689e1682598b697dd3abdb71f0d93bf5bf5df3122dd34acebed4ac7ab41acc59cb695e1f35421bb419cc727ba95bd63cf864bd00cd7ddaa2ed9ced7c99e7e139bbb43766745f34ebb2b67410cc3b7475f6ea761c7cb2f5fd9a5dce8ee83867fb5fbd9f5d6d9c04734e0771729acf46af46e7b41fcc3ba60b2ab9d9033e2b20cf5d2afb7f4dfc6955aa7d31e791eac19c4666b44fcdcc48948d6030965aeceef969869bdfaf592b8a8cce99a2097fb14fcd9031b91936fb3d8cfa26198c059a3fe8d4b486f63bcd50f2fd9a4ddb74cc65ceae68e9ff99e1345f67c66ef2378536cc6d30dbf964fefbfafb35bb4c5b7367ee33f66026fe1f23aa99a79cffbd79ce5686d3fc92197bcd6bd6655725dd607e76ff97223453d73c9bb79cf5065d78d854cff403ff8ec9fcb5d0697ecf8cbd861d914ae635989fb502decfee0c7be6c3cce76c61d22f68f3681673de4b94ab0ba7793933ba32fc16083cf2b65c84e6b40f9b55b396b175d3a18f31be1b6623e7bbe6783350b49519dd1ea1f9c3ecb83dd6465a01ef67cedca6d9357b39db1fbd339dbbd31ee43c0f4df01706a7793f333e423347ee28d8f18b9dff6acddcc78ecd49ce4e7592fdcb1e9fb464ce86fda834a4f93c337e314a3377b252b092b7f3a234bbfc5d98726015f7a3b72bddc96cd292f3a9063eb5ec9bf953733de3315233c76f78c7d4ea45694e7f539a8669061699d89c512335f7b54385e396aca1f361cdd6667c9271df6469697845e76f8bd36c5bdadab6edfc29bba48d115afaf62ae33356b3bdb6c6de0cad79559ce6b4bedd196eeddd2fdb7dfeff5fe4340fbc1ec6ff62a10dfb38b46aa19ad33b669fecb37df9257b1dad983577337e1334a79dccbe05eb768bd59ce6da5578cff6bfb077fb314e316bceae30413347793e58bb57b466fee5d3b71f76c12e8eb125bbec7efb0f75ae9ce6958cffeae45fe3ae93e5f75a295e736af69a965ca75e73b69eb10dc79bee4dbe3979761a35dfeb531b5f0fd9bd32d61ff70df07b35a7a6cbd4d549709aeea4df1e7f9fcdfe8deb74d84cf374d84cf374d84cf374d84cf374d84cf374d84cf374d84cf374d8546afeef3f7ffc0fea16a67b</data> + </image> + <image name="image2"> + <data format="XPM.GZ" length="24050">789ced5ad96e1b3b127dcf5718e15b30e0d5be60300f71bcc471bcc64e6c0fe6a1c86e79b725cb6b2ee6df873ce5ae16db962cb6ef600690fae03e9c5b2cb24eb158a492fcf169e1607b63e1d31f1f86b7747b6a17ec09dd2c7c4aee2e2f9ffef9af7ffcf9e163b55659e854166afebf8f7ffbf091b616ec82aae0f3dc1c801b47abb037c06dc60d795ec5e7b935e02d67c77ca60ade16be02dec938fd062799ff0a5cd6b3e79ed7aa8ed761bf07c787f92ec01b32ff097853e6c77ab57cfd4df054e683be7a4df83a783d1baf2d73ffc17e032ef3db14dceb6962fe16785738f251f7eb353c576bccb3f934f25defc9fc3f3cf772381e8d7c34aa1e58af0feee36d812bf046c6e99cb9ffb0fe217833b31be86bb424be45f0b6f04770d1a3b0df8dae0b8fe3bf04a72c5ef55d38ec7a1fdc64767b0b9eb8f9dab0df81a71e58ef97e73e3cb69b6df0aac4db036f66f1d00373ffc18efd698a1e75cf3c8b878ec0458fde652ef9de01ef66fb63f6c0adc46b987b60fc003cc9c613afeff793d7ef82f784d73c6f55326eb09f2dd1a7b69867f19a53f07c7fef8577c1b17eab9e71dd619ef95be4abe5eba1037e229cc76f3397f138bfad66365e5f32cff263dae0adcc4e43e6fe03473db7f2faa909c778837a6e7584a35e5a5d592f61ee81f93e8393ecc79270ae0ff48b96c9b83a602ef9e5fc48bda965e692df33f034b3db4be1043bc7d3cbec04fd5ecef3f982beb6ec9f7e642ee719f96ed7a4be7e82d7253f47c259ef067843ea1b7adb52cf84f3d996fc2a5e0f1fec385fedfcbcf2fa721ecd03730fc487f3dc36723ed0afdaf9f95c672ef1f37c52df84fdebe4f5fb93b9d43bce53a726fb817ae9e47a117f47f4da6be1385f6a85b9f8a3df759a52ff67c279fc2df36cbc1e30f7c0789ccf8ecfa7c1f863e6d2af98b73db01ef2d3e964e3f50173c917c7830f76ce87f447cdf14b7f24239cfb19fa4fc764f5a66f98cbf86de61ee0e8a71de947664d38fb9f32977e5c11cefa797e5fcf0938ee4b7ffc9e39f477ab92cf6be6927ff4b36e4dec7de61e888fe7ab4bbfee08e7f19ab9d40fcf27fd884e994b7e504f5dd95fbdc35cf29f08e7f3c7f1363db01ece6bb795d909ef8f6ede8f7684733d3499cbfa388f5dd97ff315bc9be55bed3197fc3c31f71fecec4f62473febca7eab55e6725ed0cfbab25f6699b90738f6af9b88ff90b9f8e33c74e57c1adcffdd9e8c37ccc58ef78a6fa7cff5d3622ef54bcc3d301ef544d5ac5ef41e73d90fec37c9fda4d798cb7ba12e9cf7eb9eb90738fa1dc9fd45bc9ed487bd13dec3f845e6723f219fd4ccf6cb5e09e7f10fcce57cac0be77ac4fb83e47eb3a7c2e14f782f525e3f77c279bd4438de330af5401dc937ea93ba325e0bc778ea3177e3b99fa3de8864bda6701ecff9c7078ef71f19f1ff029ef78b7de1eccff14bbf374a38d70beb4f3c60c7fb84d26cffcd3770e9271af7bba978c08ef58df41383fe6ca41f18dcb726efdf37cca59ed1af4d4bf287fe6424df1af7af917e6c904f23f9d547cca5fef0fe35d27f09f934f979e4f88dd4a762ee3f70d497b1529f3c9fe44bb3dec4031cfdd0c8fb5e2d0ae77e3c64ee81f9701f989ef4c333e66e3cbfb7906f5b157bca5cecd06f6bb2ffe81f367fef35994b7e5bc2f9bec779b379fe8f8473be50cf56ce87423d59e99784fdb4f2be539bcc33bb423d5be9979ae3478303875e2bf79ffa2c9ccf27f26ff1c18efe66f3fe877e65f3fe76cfdc03f3e33e48e4fdad711f2472bf69c49bc87b45ed0ae7f723fa5392e7e35838c78f789396dcdf249cef8307e61ee0789f24d21f14f291487e544738bf2ffacc3d60e7f829b32bd46b92df27e8678995fdc57d9ae4f9da16cef572cddc7fb0a3de925e6637e8df69c50376d47b5a95f382fa48e5bdabee84b31de73f95dfcf0afd39cdebf182b90738fa699ad723fa63daf2c07c783fa46dd93f8e4ff2a9a13fcdeb0df7712af9d1d097ca79d6a8cf547e1f689c9f3495f3cef3e3831df7752abfd735ce73af221cf5d9cb7f0f1c32f700879e5ec3c3f31de4a7878ff96c61ae793630d73c1b986b9e0dcc35cf06e69a670373cdb381b9e6d9c05cf36c60ae79365046b3569ab4d15690389efeaf95fcb734eb9e3e761a4ff4a93ed3e7820bc72ff595bed6bd89de7d3d18c9d47418e8fe7b7ddfa3d969bad2377a3806b7ce76a7ef27f80ff4c358ef7178d083f7fa96d58c3c3fea27fd7b223ebbfd3e1eb7db6e86c537fc5f62513497f62da7597f716776492f4f859571aa5ddcd3ce9163493497f62da3d9ed71a257f5d7a9e1548fd53cfd2c8c51cd257de335bbbe35d06bfa5b14d65f535d629e6fce63f05edf129aaff577bd51c0a6fb7f5bcfdd715befbcb06fe85dfde315cd7baf8c9c8c3dd15cda3756b33bc9fbfaa7fe15e0c0f567d287cf2352777ef7f551614c459b57358f8ea946dc55eff08dd69ce89aae0768bcec512e3346375f8c2bdc5b2e865630a2adef26d7d85fe31ba7d969e9e8ee28941ed39f7ee87da58291548c4a0f94993c6292e6f2be919a1365553282546fa971b7efb53a0ec626ea449d16e23e0bece7519a4bfbc6685617ea525d05b856af9e104475e8f2310846dfe8a410f730b0c7692eed1ba35993ba557701eed5c3f8b9d4a37a0ac7bbde7e18c4fd3bb07f8ed25cda374ab3518beacb0896f4d5c4b8945a0ec67f512b9a82b85703ebd728cda57da7d7ac0fd59afa16605d3d4e9acb9d85ef058f8dd11bd2c5bd115837a33497f68dd09caa2db51d606774d75ef5b952bb81c78fd15bdac5bd1758f7a33497f68dd04ceaa7fa15e040ab372233ea30f4d1b610f7a8f528527349dfe935abbeaaa86a80da5b7f1ae2ba58bde0d35017237137035b6bc21baaf04bfc3dbe11fb3c506dd5093012ffd43edd3c4faf58c78274b88feff18dd09cd0f3bf8fcdbeb735ab3e99d087eca8664a68da2f2d6a2eef1ba5b947c7a398629f894e429f82e6d382753cce5e682eed3bbd663aa70bba0c7045d79335539f06059f9bbcefd1906e0bd6f1b8a3e04cbec73742f3033dd25380df6f69568ff4b9e0136a5e2c58c7e3cb0bcda57d23340f69899603bca9f9159f155a9d601d8faf2f3497f69d5eb3dbb335fa1660fdadfbd9d5c6f782cf489e5cdc1b816d93b6c6e29eb60b9a4bfb46ec739f766837c00fda7b43f339ed177cb682b87f06b65f93f7a3a0b9b4eff49ab5a2033a0c7044637f493e47764f95c0a33afa0e7371d7026b254a7369dfe935539d1ad40cd0a209bf24dff67071b7036b274a7369dfe935bb9db6d4357a04ca4cfc8d417bc604e3b5b1a39541439304d634467379df18cdd4373d731ce024efc22fa11ecd6938deed7b3d88fb2cb09f47692eed1ba579d55c98cb0057937e411b32d7c1e83e9d17e21e04f69b28cda57d6334fb3e6c86e6760477d43063d6320fe631187bebf85321eedf81fd7394e6d2be719acd9359345f022cd1f0d591cb66c5ac06235fbc0c5cdc4b93474cd45cda374eb3ef6366cd7c0bb0ae93d13fd94344db6eff5f8c2bbe0c5cdcdf83111b519a4bfbc66a76fbb769b60ad876f7703feb4ee6891edc989dc298ddd19b59e2fe118cd989d25cda3756b3ff4d69f6cc7e013fcd2f73c02f3d73688e5ed82ba66a965f89bb16ce12a5b9b46fbc665377f5dd30cd28b4cc2baf1717773b1815f52629ef1baf19f55d35dd887fbca2c2bfbfc8e3b6343ace74633497f72da3d9f7286bacb5c954485f578cb87bc1c8e328cda57dcb69f67badad3db1a76fe0cc9e8f538cb8c3192ea23497f62dabd9a9be77eb9edb4b7b3506d7b6ef4efe8bce15c43d083ca2de61e57dcb6bf6b0437aa02d7beb7037827bc7cf9ddea7c9de3e6b31bfedff2adff769f6d087d4d749b0fed0ddd6137e7bfcbf61fe6f5c670373cdb381b9e6d9c05cf36c60ae793630d73c1b986b9e0dcc35cf066652f3bffffee13f7e30472b</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxTooltipAnimationButton</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgTooltip</receiver> + <slot>KbfxTooltipAnimationButtonToggled(bool)</slot> + </connection> + <connection> + <sender>KbfxTooltipOnButton</sender> + <signal>toggled(bool)</signal> + <receiver>KbfxConfigDlgTooltip</receiver> + <slot>KbfxTooltipOnButtonToggled(bool)</slot> + </connection> + <connection> + <sender>KbfxTooltipTextEdit</sender> + <signal>textChanged()</signal> + <receiver>KbfxConfigDlgTooltip</receiver> + <slot>KbfxTooltipTextEditTextChanged()</slot> + </connection> +</connections> +<includes> + <include location="global" impldecl="in declaration">kbfxconfig.h</include> + <include location="global" impldecl="in declaration">kdebug.h</include> + <include location="local" impldecl="in implementation">kbfxconfigdlgtooltip.ui.h</include> +</includes> +<variables> + <variable access="public">QPixmap img_on;</variable> + <variable access="public">QPixmap img_off;</variable> +</variables> +<slots> + <slot>KbfxTooltipAnimationButtonToggled( bool )</slot> + <slot>KbfxTooltipTextEditTextChanged()</slot> + <slot>KbfxTooltipOnButtonToggled( bool )</slot> + <slot>ChangeForm()</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="6" margin="0"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>ktextedit.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxconfigdlgtooltip.ui.h b/configdialog/kbfxconfigdlgtooltip.ui.h new file mode 100644 index 0000000..196c2d9 --- /dev/null +++ b/configdialog/kbfxconfigdlgtooltip.ui.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ + +void KbfxConfigDlgTooltip::init() +{ + img_on = ConfigInit().KbfxOnImg; + img_off = ConfigInit().KbfxOffImg; +} + +void KbfxConfigDlgTooltip::KbfxTooltipAnimationButtonToggled ( bool ) +{ + if ( KbfxTooltipAnimationButton->state() == 2 ) + { + KbfxTooltipAnimationButton->setText ( tr2i18n ( "Turn the animation 'OFF'" ) ); + KbfxTooltipAnimationPixmapLabel->setPixmap ( img_on ); + ConfigInit().m_ToolTipAnimation = TRUE; + } + + if ( KbfxTooltipAnimationButton->state() == 0 ) + { + KbfxTooltipAnimationButton->setText ( tr2i18n ( "Turn the animation 'ON'" ) ); + KbfxTooltipAnimationPixmapLabel->setPixmap ( img_off ); + ConfigInit().m_ToolTipAnimation = FALSE; + } + + kdDebug() << "Tooltip animation state: " + << ConfigInit().m_ToolTipAnimation + << endl; +} + +void KbfxConfigDlgTooltip::KbfxTooltipTextEditTextChanged() +{ + ConfigInit().m_ToolTipText = KbfxTooltipTextEdit->text(); + + kdDebug() << "Tooltip text: " + << ConfigInit().m_ToolTipText + << endl; +} + +void KbfxConfigDlgTooltip::KbfxTooltipOnButtonToggled ( bool ) +{ + if ( KbfxTooltipOnButton->state() == 2 ) + { + KbfxTooltipOnButton->setText ( tr2i18n ( "Turn the tooltip 'OFF'" ) ); + KbfxTooltipOnPixmapLabel->setPixmap ( img_on ); + ConfigInit().m_ToolTip = TRUE; + } + + if ( KbfxTooltipOnButton->state() == 0 ) + { + KbfxTooltipOnButton->setText ( tr2i18n ( "Turn the tooltip 'ON'" ) ); + KbfxTooltipOnPixmapLabel->setPixmap ( img_off ); + ConfigInit().m_ToolTip = FALSE; + + } + + kdDebug() << "Tooltip state: " + << ConfigInit().m_ToolTip + << endl; +} + +void KbfxConfigDlgTooltip::ChangeForm() +{ + if ( ConfigInit().m_ToolTip == TRUE && KbfxTooltipOnButton->state() == 0 ) + KbfxTooltipOnButton->toggle(); + + if ( ConfigInit().m_ToolTip == FALSE && KbfxTooltipOnButton->state() == 2 ) + KbfxTooltipOnButton->toggle(); + + if ( ConfigInit().m_ToolTipAnimation == TRUE && KbfxTooltipAnimationButton->state() == 0 ) + KbfxTooltipAnimationButton->toggle(); + + if ( ConfigInit().m_ToolTipAnimation == FALSE && KbfxTooltipAnimationButton->state() == 2 ) + KbfxTooltipAnimationButton->toggle(); + + KbfxTooltipTextEdit->setText ( ConfigInit().m_ToolTipText ); +} diff --git a/configdialog/kbfxthemeinfo.ui b/configdialog/kbfxthemeinfo.ui new file mode 100644 index 0000000..69cd3e8 --- /dev/null +++ b/configdialog/kbfxthemeinfo.ui @@ -0,0 +1,603 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>KbfxThemeInfo</class> +<widget class="QWidget"> + <property name="name"> + <cstring>KbfxThemeInfo</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>332</width> + <height>299</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>Theme Info</string> + </property> + <property name="icon"> + <pixmap>image0</pixmap> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <property name="resizeMode"> + <enum>Minimum</enum> + </property> + <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout10</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>10</number> + </property> + <spacer> + <property name="name"> + <cstring>spacer1_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>54</width> + <height>6</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>KbfxOk</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>OK</string> + </property> + <property name="autoDefault"> + <bool>true</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer1</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>54</width> + <height>6</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="0" column="1"> + <property name="name"> + <cstring>spacer7_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="1" column="1"> + <property name="name"> + <cstring>layout7</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="spacing"> + <number>0</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout11</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer3_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>10</width> + <height>49</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>KbfxThemeLogo</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>0</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>100</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>100</width> + <height>100</height> + </size> + </property> + <property name="pixmap"> + <pixmap>image1</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>10</width> + <height>49</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <spacer> + <property name="name"> + <cstring>KbfxSpacer</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout21</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="spacing"> + <number>15</number> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout19</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>_KbfxThemeName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><p align="right"><b>Name:</b></p></string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>_KbfxThemeVersion</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><p align="right"><b>Version:</b></p></string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>_KbfxAuthorName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><p align="right"><b>Author:</b></p></string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>_KbfxAuthorEmail</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><p align="right"><b>Email:</b></p></string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>_KbfxThemeHomepage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><p align="right"><b>Homepage:</b></p></string> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout20</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxThemeName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>69</red> + <green>163</green> + <blue>225</blue> + </color> + </property> + <property name="font"> + <font> + <italic>1</italic> + </font> + </property> + <property name="text"> + <string>Test</string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxThemeVersion</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>69</red> + <green>163</green> + <blue>225</blue> + </color> + </property> + <property name="font"> + <font> + <italic>1</italic> + </font> + </property> + <property name="text"> + <string>Test</string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxAuthorName</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>131</red> + <green>187</green> + <blue>225</blue> + </color> + </property> + <property name="font"> + <font> + <italic>1</italic> + </font> + </property> + <property name="text"> + <string>Test</string> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxAuthorEmail</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>131</red> + <green>187</green> + <blue>225</blue> + </color> + </property> + <property name="font"> + <font> + <italic>1</italic> + </font> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Test</string> + </property> + <property name="linkUnderline"> + <bool>false</bool> + </property> + <property name="wordWrap"> + <enum>NoWrap</enum> + </property> + </widget> + <widget class="KActiveLabel"> + <property name="name"> + <cstring>KbfxThemeHomepage</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="paletteForegroundColor"> + <color> + <red>78</red> + <green>184</green> + <blue>255</blue> + </color> + </property> + <property name="font"> + <font> + <italic>1</italic> + </font> + </property> + <property name="focusPolicy"> + <enum>WheelFocus</enum> + </property> + <property name="text"> + <string>Test</string> + </property> + <property name="linkUnderline"> + <bool>false</bool> + </property> + <property name="wordWrap"> + <enum>NoWrap</enum> + </property> + </widget> + </vbox> + </widget> + </hbox> + </widget> + </hbox> + </widget> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer8</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer8_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </spacer> + </grid> +</widget> +<customwidgets> +</customwidgets> +<images> + <image name="image0"> + <data format="PNG" length="872">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff610000032f49444154388d6dd34d681c6500c6f1ffbc33b3d9dd24a6f9c2fab159d93692948a07535350682b01c1431585f420e41a042f856cf1a437bd945eac395941507368aa2018fca0899542032a2526a1b14dd7da6c3bc9ee6637bbb333fbeebc33f37a2bd5fabf3fbfdb6368ad7938c77144b3d93c1a45d184522adb6eb7e356abb5e9fbfef7b95cee8fe1e1e17f0d8c878162b1380e9c17c218532a64af56278a22ec8485ebbaba56ab2d7a9ef7eee4e4e4c62380e338a74cd3fcdcad373ab60a7791322095ee4463e0b5db581d16c98441ad56ad371a8d37a6a6a67e7e006c6f6f8f5b9675c5d92a76dcbb7397eeae4e2c5313449a2836086383d030915144cad6ec564a35d775c7a6a7a70ba252a90821c4f97ab5da7173758d8419225b5574586574bf448755dc6685c8df45fa92d25e9b542addabb53eeb791e220882a3a629c67ebb7a8d4836910d8767075b944a0e9da6c7813e49a9748f234312ed97a9d45ccaf500d31427676767872cadf5840a143f5efa163b2e934cfb4c9c7993e71eb758bcb6ca4e5db1536ed3f7520799748bab374c84297871a4cf84fa092b8aa26cd9d9e1cfeb6b0cf47a88649d2fe62e92eecff0d3bac49360ea340b57e0f28d905bf56e3c197268a81bc330b296522a8ea2182935510ccfecefe1bbe502774aeb64334ff1d1f4311e4b2739f7cd16eb8ec94ab98e8a34b11e0588ad2008367b077a098d2e4a55c907ef8c7238b78f7397d648d936b97d6d30423e3c95e4d78264e293909eae14dd691bdfd59ba2d56afd1028a5c75f3d46a3ddc3fb170a5cbe5e62e5b6c49716a04187681db37453934e2578f9f90ccda61b008ba2bfbf7fa5d1682cbe3dfd1676e669fe720739736197b5bfbb387c601080fb7b11a72f2a3efbbd8727fb52bc726488564b7e99cfe74b86d69aa5a5a5914422b15c742a3d1f7f3a4f1484885863d970f0098b8ddd2486dd49c216bc7efc10847e310882171e00000b0b0bc76ddbfe3a5051ef2fcbab6c14ee1321300c13cb14e432038c64fbf03db71804c16bf97c7ef59133cdcfcfe780b3428893a629ccbaeb132a856d19341a6e5b4af9551cc7efe5f3f9d2ffbe11c0f77de6e6e6869452279452d92008e2388e6f1b86b1383333b3c37ffa075ed9c8000f73ed450000000049454e44ae426082</data> + </image> + <image name="image1"> + <data format="XPM.GZ" length="55092">789cccbd47b7eb38b2ef397f9fa2d6e5ecae5e7cf266d0035266cb6da7ed77af1ed07b2f1aa9bf7c83883f704c56d5cd7c75bb5f95d6c9ca5f8a22114044202200f0fccffffcdbe7d3fddffef37ffe8fea625c02eb6f966f947ffb4fbb4e92ebfff57fff9fffcffff88fe160f0b7fecf68389bfe6df41fffc7fff80febf96fd6df9401ff5fcff64232ffde36244f7a762ac953fefd56f29cf35cf2a267f3072ff9f733c906e7836493f35eb2c59fd74ab6797b1f243bfcfb46b2cb7fef0a1e72799c5af2907f7f94cce5732cc963fefd483297cf3a8387d43f992999ffde0c25f3dfb79a64de5f662099dfcfe924cf386f24f3fe4a44ff0fd17e5b327f9e772799dfcfb8078fa87d662499cbebbb9249de6fc9bcbd9d2f99dab795ccc7b31a48e6e3b71a4ae6e315ed25f3f1b04f82a93f0dc1636a9ff32999daf32599f757a54ae6fde17e48e6fae23892b97e78a2bd63ea1f438cef849e97e892f9f7652b99b76f3d91cce53763f0947e6f08fd9c1137b664de5e43c83fc7f53bf0022cf475499c8be719c4f113d824de5cc01671fd0eb6895dbaff50d8ab174ae6f2ad3ac9a47f63c924df4832d73f732a99f777f324998fb73993ccfb5f7f96ccc7df3a49e6e3514592b9bd3aa664ae1fd6bd646eaf9a2b98f4ddf52573fdb58e60d89f6d49e6df9b13c97c3c1d45326fbf634826ffb2934cfee40086fdf88164de7ff65232d9eb9b646e1fa607867e9bbe641a8f816092cf14f2423f4d070c7d8b9f25f3e7bbaf60e89fb791ccfb3b15df43ffe22f30f42f13f240ffea1b18fab716bf877ee967b043dc92bf1f0ea16fdd9af3a8f740bc3dbe64f2f70bc9bcbfcd2fc9bcbfbd4432f90b4730f5cff55e3297bfc9c0187f732899f4772099c6e35b321f7f6b0fc6f8daa6649aff7692f9f3724d32d7f7cb4932ef6ffb4e32e9b302c6f86723c9dcdefc50326f9ff32e99f7975382a10fd75c32d7e795906742fdd3bd49e6df67a2bdd09ff20886beb89164fefcd54932ef9ffa2c98fca72bda0b7d6a9f25f3feb0c4f842bf9a07b0d02fd13fd0afe2090cffd6c660e85b24ae87be05a40f63e1df8277c9bc7debab643e5e575732efef6e2799cb1bfcf89ecbdbed2573fd5cfd781e1fcf952d98fa3b91cf277f74cd24f3fe0f3ec08807ba8d64ae9fc54232e98f27993faff9f13df787ae680ff4d57995cce57103c95c7fac3bc97c7c7c5f308d67b8028bf9f72299cbd3dc49e6f2981f92797fd69664de5f7e2499dbb33b92ccdb6f2dc1d067772099fca72e99b7ff6a49a6f946f437f4b9bd48267934b0d0ef77c9bc7dad68df9cee9fee25f3fe69447fcc31df88f1843eaf6e92f9f3da89649a0fee25f3f1cb85be41ff0331bed07f5f8ca7f0a7d43f13a1df9d2a99f777f32899dfffea80111faeae92b93cee41f090f7effa0c463ce77f48a6f9ee51321fafeb4930f547bb01433fecb164fe7cff5b321f2f2f92ccfb3f93d793bd745b30f421ae2593bfd94be6fd1b2692b93cde4e32b79fda164ced8ddec1d017e74332f9dbb564de5e772899e299140c7dcaa692b93db8df92797fe61d18fe3117e303fd59b792e979b164de3f8918ff05f5cf46f40ff4c715e301fdb9bd80e13f57f792797fad4a30fce906bf17f3f51ae331c4fc19a13d43f89780e693a9f0a7ed028cebfd4e321fafe6198c7cc00b2473f9bc77c95cdf4a4ff0908fc75a5c8f78bfb52553fcf02999ebbfdf08a6f10e5ec1c2bfdc49a6f97c2b99e6ff27c9642f3fbee7fab416f2407fc299643efe912f99ec692099cbd3b492b9bc9ab8ff94c63711fd0bfdb2a792c93e2ac9140f689229df5125f3feed5660e85ffd2a99fce34432efdfee00867e5e14c9941f8ec0d0bfcc904cf9572a99b7a76e25f3fe73c760a1afaa646ebf99e85fe86f2ec61bfaea0b79e11f0ba12f2eda8bfb4b7d267b98897c64dd81a1cfeb503297afbd934cf1d45e30fc93f81ef363b896ccefbf3a4a26793dc1149fae7d30f247ff2a99ea1d3fbee7fed68b05a31eb1924cf9c2083ca5f6076bc9542fd948e6fa900e2473fdbbbc09463d630246be1a6692f9f84481643edef95532b73f5df01cfd7993ccdb7be92453beb5924cf3c14432efbf5cfc7e01fffa2999e6bfb1646e5f9b022ce2cba364de3e37114cfec132c0d047f74d32f9e37b30f26b2f05431f5763c9bc7f42c1d04797e6cf99d0c71be41fc21fa52a18fe24207d9f0bfd5a1d04d3f8570fe009d573dca3642e7fbb054f697ca237c1246f3a944cf53a5b32c5a72f60f81bd796ccaf4f2bc994af2d2593be6f2453bea682e7345eed4e32d5ff14c9bcbf2f57c95cff7dd15ef8a35097ccdb93cd25537e2bfa6b3124fffd055ec2bfcc24537c548045fe518331decda7647ebd2eda6ba37fc478c01f6d44ffb8d43e1ded17e3af3960cc97f5022cf481e257a6dd149fd96bf08cc6ffe64aa6f92604c35eec4032b7efab2799e2375b30e94b2aae5f50ff58aa642e6fe148a67ce1065e927fb80d2553bd2494cc9fdf3e49a6fc45c863c07e1dc97cfcd3a3606a5f7d05633e887682497faf4bb08df8e2030cfb2bc9de17a2ff4bf49f886762f4cf10f666bd80618f3e8dff92f5177f5e914be6ed2f36e005c91b5f24533cf22598ecafeec04be467ae64f28757b041bfaf5f040f29fe68c0268d9726da63917e14a2bdd0c7f424998f5f44fdb314fd91bf83a18f8105467fdc4660e86783e789fee94a30e215e3118c78a3a0f9dc60fd45fa34072f491fc329d8a0f685a964aae7dfc0265d5f2f05537f568f60d86bb091ccfbe36248e6fad988dfbba85f8e24533e48f66f88fe892b30fa67634ba6f97508467f6d1cb0a827435ed11f35fa6388f9c9a7f8c814f157fd065e92fe5f6e6083e42f5cb0897ac417d8227dca3fc036f55fb305431fba77c1747f3b02bba4df3ad9ab29e42f669229df46fb647fe460d8d3aa0243fecd2758d4bbefc0a21eb403a33f2a8a772c263f6fff35055ba827d1f85aa2bf2f1a58f4f70a8cfb252a18febdf1c0f02701f58f2dda7f5d48a6fe9b8071fff21d2cfc83603caf51c1b87fb106433f4b1a1f87fd17eebf1b17ec903efbd43e46b0f71a0c79cb2d58c4e72d18cf2f1bb078be0dc6f3339abf5cd11f8906c6f5de1a8cf846e3f6c1cbe724df068cf6548964ae3f1b130c7f9096608c7f7603a3bde90e8ce7bb2f60b4d77e00c39f075c9f98f639e47fa34832d7e7f84c2c9eb7ba80216ffb08c6f3cc042cd64f1a30e42f9760d88fe382d19e1ced19c11e42aebf0cf17cd306435ecb04a33d610e16f20b16f1470a16ed3981457cf9443c82bdae2660e19f79bc341c8be7d70e18cfd71ec022df8ac178feaa05e379d72bf108e3df70ff369cc8fe1d8345bc9c81d1fe60452cfaeb7a03c3be74ba7e2adbd382f1fbcb3b18e3910dc1689f4df24e657fd4603cafb2c168bffb0cc6f32b1ebf0c67e2fe01e9d34cdcef1283e12faa6f30ee67f860e1ffe660a1efdc7f0ee7e2fed58c58b6e70cc6ef8d002cd6173db0a83f2dc0d0b78edbf77021e5bd078bf6aec1f87d41fabd14f2155bb0f8fd108cdfeb2330da93de83f1fc8ac6d310f2ac1a309ed772ff3734c5fdb48d64ee0fb72e58d4e75ec0f87d7202a33f0d713df4a5237bb7e4782a60b11ee681d15eed112cee1782a1cf158f4f86b6b8bf6581c5fa2af5a733823f762d30eed7d2efdd11f2efcd1d18d76bdc5e468311f2a3c007e379f5082cea75f760e8fbfa8d782cf49dfba3d150fcbebc030b7bdc83a17f099faf472371ffe64c2ceed73460e883cefb6b3416f7ab4fc463e10f2c30e46b8927e279b94b2cee6f6cc1d087ec092cec4930c6f342f24f85fc46442caef75660e8cf85fb93d18cfd9ec783f1162ceaa37cfe19cdc5fd3ceabfb990d79d80d13eeb152cd64fe9fa85f8de7c05a33df9188cf66cbec0d0c7f50d0c7df3b8ff1f2d85bcce002ce227078ceb1d0f2cfca54e3c41fb6f74bd21ef5780f17c5d058bf53beeaf46e618ebd77a2299c77f5bba9f25c6b7f4c1c2bfbd80d19eeb07f104fda1933cb678de2603e37eba01c6ef6f57b0a8ff71ff3d72c6a8b7e8d47faee88fb507c6effd188cdf3bdc1ec67d38c739e2e3c5a63393e21723269e60fde4f22c99d677b93e307577285eb7b8fd8f27ecfe9cf50e0c7d8a79ff8ca7ec7bfefb6b412cc627db81c57e823730ead9eb1158d43fb8bce399b8fe7a0716eb5d7330c663c3fb733c67eda1fa484d2cc6c39a83a11fed193ca57a651282b13e16f3f96ebc9860bdc8d880c5fe810c2cf21bae8fe3e544d4cb23c93c5ed30a30ea071b170cff92d0f81813d443d71730eaed9a07c6f53eb7b7b1c9bee7fa117c49a6f5024b30c5b3760cb6b19ec9e3adb13331e8face93ccfbaf3883f13c23013ba8a72e05d3fd0d1b8c7c734df23b53d8df86facf9da03e7e1b80f1fc82f7e76430813e6d63e229fa3be5e333194e4cd40b52b04ded31b8fe4e4653110ff2fa0a73a736f28d9a788afd67fa180cfd6a1db0588fe3fe7f32610accfb77c3f59721f2c77c493cc5fe0aaf00e37eb731788afa4e059ed1f8361f60d48f6dde1f93d914ebc7460a46bd2fe4fd37994fc7940f6cbec1e89f98cf5f93a578def5013c433d86da6f4c51bf09b9bd4dcce982f2b39cebcbc49a22fff6b83e4dec29ea15d95932adb704c433acffebf43c776ad1fd039d7886f5d315bf3f5356f09acf77d3d1d4a5fa65734f3cc3fe035d134cf7372c30ec355b824dc413dc3fb0e9906574dcdf79c4e2f74501c6fa5b74104cdfb73c3e9d4ea6d6887f7fdb10b3e791bef1f9940ddf1ceb078fe005f5b7c5e7e3e96c86f58f8d0246fd3a76c1f311f9b377b043e31bf07c693a9fa1de19df816dec07f804bb584fa3fe5accc47a86069e517b82002cd6f775b043f39bc6e3dde9923d8eeb7332035bd47f3705ec60ff824d3cc7fecf84ebefd498c19e2faf609bfa2be6f9f0d49c2d51cff5c016e5fb2b176c8f78fb8b15d8a5fa99c9e7d7a93543fdab1b831dfafde6287844f5d10e8cf1af49bfac39c63bff024f499e98ee6fb3fb937f7d023bd4fed407bb435aafb124d37e2d5d30b53f03cf87d43eeb0d8cf5dd7803c67cb7e1f63d75587f707df1e9fece7c30a2fd5d7b30f6b3469f9269fdc792cce5594dc1587fba52ffb84c1edebecd5e326f7f41faebceb19f2cda8271bfa6133ca2e727e0118d4fb2164cfa9c2892f978af4c30eca1f1c19321d7bf2bff7e3660e34ff5e53bb043cfaf5dc174bf6c0076a97fdb929805acfcfb6d0446bdbee4ed9f0d857eddd660f89b6e2298da5f05c4ac3f687e6bc0c311ad87e07a263f9f0fda77f094da537f8067245fc5f569369a1963d29f2b31eb5fdabfe20ba6e7a777e0d188ff3eb9815906c29fa78227d04f053ca3f6b65c3f6663260fd553a93d2cfca4fec91bc95cfeea041e517f5fb8fece2662fcdd023c86ff33c1d31167cd06cf21cf5c308d679d8017d41f0df72fb3e9cc1ef3ebab14ec8c69bfc05432ed47d38885fe5d4cc9b4fe37028fc8fecb37c9649f25784cf6ebbf82e7f47dbc042fe87e05f5cf4ce8936b82e7f4fb36113ca6f17a002fe8f986b8de80fe8bef4dd28fc292cce52fa68269fc4d1effb0db2f49decd0c0c7fdc92fe2ce6131a3f6d2d98fcb7bf02cf49bf370330d68fea5a30fdde38831dfabea3fe59b2fea178b0009bd41e4f03db23aeff37713decb5f00593fc2df5a7c1ee47eb6f2330eadd17156c8ea87ff7609bfc45590b267f78d5c02e714bfa6ab2f1207ff80136c87ef22918f34dfe06c67cd186c48b018dafcee3cd99c5ee47faa48217647f99609bf4c7a0f1b2160392afa3f6da6cfc68bcd69279ff949f6093daef4ec1f067f5817831a4e76de8f70ebb9ece177c806d6abfb3235ec0dfba2bc9b4df9bc6d7ed1376ae5f5c3fe703263f6f4f520a1e53fc99102f66d4be8cf7cf7cc8e4e3d7673e784c7cdd82a7d4de5a03c3fe751e9f3265c2fca09be009d94fc2e397394b87c99f186bf08cfa4fe3fd3b9fb0e7717dacc792e97c0b8f5f58f8bb20d6793d613e5f2cc7b49fc5005bd49e35b56fb1c4fcecf1fe9e2fd9f7743dfdde582ca83f8267b049ed59f3f9686eb2eb69fd782699d62fa83de67244f67de1fa3eb79643b237ef2698f4ab9e8347d4feb0008fc99e1c6a8fbd70d05f4762261e6f9f46e3e730a6f3160618fdbbe6f9c6dc5d0ea8bd0df5bf6b88f89aebdfa25f00a5f8ff4e32edd749c0636aff66019ee17939780e7de2f92a73f643e8bb031e537b7c133c237bf5dec073ba7f44f71f1a225ea3e78f447f79dfe011ddcfe3f22dc68c29feff06e379ba0e9ed2ef0b1effb1747d44f3b1fd0d5ed2f78d0236c65cdf367c7e5fb0009858bf07cfd15f7bf082f4a3492473f96f19d8257b6df8f82e66cb05f55fbe223630ff6f797cbc98b3f67079527afe82319d17e1f6b7581a03fafdc693ccc7d7a0fb194b97da7bbb111b63f2af1bae9f0bd31810eb7cbd61612d1dd2bf94da671943c8cfe7af856d8c69be6e0563be594f2573fdd7b8bd2c1c763ded0f53c01392c7bb4ae6fdd3717d5db8c684fa4bbb134cdfa767f094e28180fba3e5c080fff15fc0b309f5ef9764d24ff13dfc43cae7a3e5d0807d6cf8782d47acbdfcfeed0b783ea1fad50ebca0ef6f3ed82079a32f30f2c5644f6c627f5acce7df655fd0e1e3930460a662dc3f1cc14beaaf40133ca178a8069bf47cdf90ccc74ff3c10e8de78dfa676c8afd09b564daff5982b1ff36a6f64c58ffd2fed40b7836a1fac504bc9c50fd6101c6fc97abc426e2b3700fc67911f3018cf33ac99d643e1edd198cf3176e07463da4fa0063bf8826be47bd53e7fe773965e345fded806db217eb1d8c78f29612b3f6923ea9603cbffb0663bf4949d7b38083c663b3022f68fceb7bb043f6118682a9ff8c02ec92bfcbe9fe7dba49f5c30d18fb636c9e2f2ce7ecf7144f2a6097e4bbe5c4ecf7140fcdc0b0b734018bfde03a784af3c53504cfb15f47dc0ffb0bbb8160ecbffc002fa95e58edc1d8bf1a4dc1163d2f36c1a8575495609c5f1a4aa6f3a134febd83e2ed2f376093faafa3e72fcc01f1f50b3c217ddd5660ac37ad63f00cfe5407cf69beef5230ea35c6026c60bfe55532e55b39d8a4eb6f73b0d8df20ee6f637fe04a32cdff03b043fd757b904cf9d9168c7ae7ed2299ce7b3692697fc898d8c2f99ddb128cf3b317f49f85fa6348f75f1a06d9afb604c37ff817b04dfa1c0ec10ee9bb4ef22ecd015d7fdd8047345eb5079e907e598e60d2d7b40363ffe3762598e2d5750e16e703d692297ffc128cf35768af897afb36108cfaee5c32d56b0f9269fe2e24f3f61731d880ff5125d37ed80558ac974c25d37ec09d64de7fe64132f73fea27d8a2f15732c9b4bea008a6f655a23fb1dfb28c24d3fe470d8c7ae1ed5132e95b2099cf8fa6e82fd4e3c32fc9b4bee3125b38ef7723ff641816d99b7d03dbe48fc22bd8a1f9f95a825d9adf4af28706eb1ede5eaf060fe97aaf133ca1fc5605237e6d8ee009e5bbd5198cf58b4efc1efb6fb71730f67bae66e025c5df8a09c6fecae020998fafd248a6f3ba909fd93b6f4f71025bb0af52329ddf9849e6cf533fc036e993924ba6f96726993f2fcec00ef57ff12e99e2c34a32ed7f0cc1f017d5bb649aef7cc9bc3f22f13c97fa4fc3f859388f5a6d25f3f69443c1d86f3b06e37c4be54ae6edd354c9bc7dd791643aefdc4aa67acf2b18e7f134f13dced325a4ef26d3379affc95f9826e2cb952a99c6f7153ca57835fd0463ff691108267fb579028b78c2001b34dee14532bf7f62814df88b4832d52f2ab085f59d0118eba3752899ecff2699eae307c9b43fb405431f9454329d2fbb97ccdb938cc02ee95b2adaebd2f8b590dfc279e448974ce3f12998e67b4d30ce074713c934ff403e0be72d2dba9fc5e607defeca014fc85f5413f094e2313b954cfea0114cfe467901233fd41792a99e6a49a6f527c198afd71bc9549fb9822dea8fba944cf9502799dad782b17e6d7592c9be6782495fea42321fdff8c7f77cbcb477b043fa1deb9229ff4904e37cc697641a7f0decd27828aa647abfc45032ade7b982495f13b25fcbc2fb0c944032d9cb93606abf5949a6f314cf60bc4fc00a24f3f6b79960d29f5a914cf11dfa53d87bf82999d6df303e16ceb755a4cf369b3fc8ff7660ec3f57de04933ff0f760ac5f665bc114df2b67c1a44f57156c507f5f1cc9b49ff3198cfdc69bab60aac7ac4f601be7fd22c1781fc95132ddaf95ccdbabd492b93e794f60e883229e87fd9ef959326fbf3a964cf9e00318fe5d9d4be6fda192fed916ce83a92f92a93dbe64ca8fd11f229e4c6f92f9f3938164ca1f4f82b1fe994ae6df871f60acf79a6bc9bc7f62f49785f3b1b75230d95775914cf30bfacfc279b22df90f47c413a621995f9f7be011f99b6d2b98e2136d021e4f683d63059e4cb83e7ae2fa19dd4f3b83e734df943118f581f22099cba33c8397549f592dc026d69b8f9279fb6f9f60e453d6156c537f5a63c9644f8160aa47695330fc8dee0aa6e7c5b964f28791648a6fe692297e580aa6fa6628da8bf8c3bc974cf9642118fa38954cf58f89649acf1692e93c27e9936361ffbdd149e6df2b9e609c1f7d96ccf549ad24d37974e887d0676721998f8fba924cf1fa9364b247713df687754f92e9fc672399ea45a23d581f35af92f9f7b9f81eef13885ac1181f4b32d5dfa10f16f6a3044bc974dee9158cfd3f892399fcbb2d993fff26fa6786fd3ba23f711ef146d7bbcc7e283f7b944ce7995ec0639aafab25784af671db0a9e52feb200cfc9fe320f2cec650f5e52beae7d49a6f319e2fe4bd457766083f453bf80b11fa878154cf6b2adc1585f37c4fde0af235530f251717fc45b9e90d7c17ca848a67add5530ad1f74a160aa8f76e279c8e7c34630f97f3b174cf2379a645abf247fe35a781f90ff2818f3c1443297571d49a67cfd4930cd87da1b58e8ff5630ece74b32cd1fa564aaef7982697dc87900633f73694ae6faa0be4aa6fd789a648aa724637fd25a32ed3f79924ceb3d3330f6f325ad64de1fd98364927f2598facbd42553fd3594ccafcf311e16cecbdf22c95c5e652a99de7f267e8ff3c9e1bb641a6f4732bf3efb008bfd812f92297eb32473794b31bec87fa30a2ccea3ee0493ff30f79269bfe23718f53e6b2099ea0377609c7f34be2453fc7b914cf91c1f2f63c0e6478a0fb6e019d58be207c1538aff8fe039e503712b99e6eb5c3297a750c04b1afff22618fb1922c1347fc73bc9b47f4630f2f9eda360b2efab2e98fcd1ea158cfd83452598f47f6b48e6cf8feec1a8b7a40bc1f05f3bc9bcffb61918f596f85d32d5e3447fbaa48ff94030f6ffdc24737bf267c416f6a7ac3f2453fe580bc67e99122cceeb9c24533d6b2299f4ad108cfce30773fd500cc9341f7792a9fe6b0ba6f5da6b2399ce372ec1d85f1d9d25f3efd59b60f89f3bc9bc3fd4a364f22f6f60ec97543792797fa8a960d8c74d32f9932918f61ed49269ff832d99e44d24f3f61a23c1d43f96fc1ef1fe1c8cf763448e645a3f16cfc3fe3d632899e2955832cdafd01f0be7d5ad4a32ad9f3792b9fcc64030ced3d792b93e9723c9b41feb02c6fe67732b99f68b7c4aa6faa3180f9c17f6499ffa032dc46bf098ec5d8f24d3fe08133ca1f530ed049e527eb7f50593ffb83c48a6fd570a7846f7d36b30e6fff25b32d5ab73c1145f28ef82299ed1e660d473b64f92a9def92698fcdd5a3cdf46fd24914cfbcd74c9b43e21e445fda611f7437cb1fe124cf65edcc02edd3f7225d3fb001e05d3fc5ebd108b7879bb93ccfbc72f05937e66a9605abf538e92493f56e021d99f6249a6fa5b2b98fc9f72914cedc3785a789f52f12698e42943c964ef17c9e40fe792697e1849e6f2648e60ac470660bc9f243b4aa6fd3fa1647ebda20826f9d24c32ef0ff55e32d5d7447f60fe2f9f25933f5a4aa6f8e62c18f9502299f40ffa61e1fd4b4a2899f6279492495ed19e29e297028cf795048d64dedef05530e29137c9e47fe4efb19f740cc6fed152134ced0f55c9fcfb488c17dedf74b9934cf64dfa3c326754ffab0cc1643f510ac67a78ba04633e77466083ecb309c026cdffa921998f476582b19fa7ba0aa6f93e5e0ba6fca6188051bf4b447bb1bf4aff00237ff60f92e9fd41f792e9bc7d2599e6f717c1d8cf247e8f7a5d160ba6fecf23c1b4bf21a0f86264e13c72f82499f2fd57c1f06727c954bfcec098df755b30d9ef7a2e98ecdf78974cf54cb447d47b3d5330e2cb0fc9b4df47dc0ffbd12ea9647a9fec1e2cde07f92e99f60b1c05239e3e4ba6f9df974cf9d74932ed9ffff17b2e5f70014f90ef288261df8664b25f5332bd6f0ae36be1fc4ef92499f22d4b3297ff593c0fefb7525dc9e4df3c30de5fa53a9229feb12553bc2ec66f46f2565f92c97f37609ca7b4df25d37e825a32adff89fba39eaafb92293fea24f3ebb7627cb13ebbfd944cfbadbf2453fe37154cf287a664d257d15e715e80fa6fcce673f2af117846f94076075e503d2188c1d88f9a9b82c91f2457c954cf38832df2279ba9647adfe70a8cfaecf62098e2ef6e2699ce27ed04533cb2d5c0d8efaa3c09a6fa46f12199ec5d3c0feba51dcd9f63517f5dbd0886bd3f4be6d76f7f30d59b62c164afde5432d5271f2453bdf0118c7abd77124ced4f1ac914afae2553bd5edc0ff3b9f32498ec6d1308a6f66c55c9341fdd83313f9ba23da8ef46a564dabf664aa6fd21f27b8a37e291643abfe249a6f9ce174cfb13a2028cf78b25b9647a1fd4a364f20fdf92c97f0c25d37a512599d607a03f22bf375ac994ffa49229ff78944cf94a2618fe48fe1ef59e4632bd3f270163becf2ac994bf8beb71fe4b0d2453bd27964cf552d13fa807da2f9269ff612499e627d13ed40f424330b55f13d763bfc6ed4332c50f37c1f0f78a64daff3d964cfb43c578637daf7a138cfd39429f719e6745fa30314df21f590ec6fedd32134cfbb10c5d30f98bcb8b64da2f3c01dbd87fbc174cf5c92001e37c4d25eee760fff1b7605a0fc8b792e9fc81b8bf43f149740263ff68fe2a989eb722fb9c8878201849a6f75f9e25d3f37cc974fee15532bdaf752898ecdd0904d37a475080512faf7e30e9432e18e7f56e82914f5482c91e0bf13ce4ff7e2698c627fb924cebcfe2f7d8ff1b3e80719eaa934cfaee3992491e717ff80f6f2699f22ff13dcecfa753c9e4bf0e92293f394aa6fd139660b2cfc8904cf9df4230e68b4a32add78bf1c0feda740ec6fbebcab3648a8f2792c95fd492299e1848a67ccd164cf25b2d58f887ab64f2379d64de3fea4132bd6f4efc7e8e7827944cfb7f1e2553bd4f134cfa6c799269ffb6781eea8df14432b57f2718ebe591645a2f8b05231f15bfc77e0f652699e229f13cbc7faa9a4ba6f361427fb03f5013fa8cf5e2c495ccbfd73dc924af180fec0fd33e24737922f17c9c6f6cc91ea626f69b5e13f082fccfe64d32d547bfc0385f565ec0886fba1cecd07a663394ccfb237b05633d627b144cf6779949a6f75fd682c93f06349f4dc5fa433d154cfaace982697d721b4aa6f3c11918f585742299fce5bd64aa67958229be5ac560ac27ac12c178bfd79b64da0ff1e37b7adf95fc3dcef70592a95ebb174cfe3a10cf47fda01c08c67e1b5f32bdcfb0134cfde12a92493ed17f585fc81f25d378dc49a6f8e253308d57249e3f417c7a904cfbcd7e30c5d382b11e982592797f24df82b1de954ba67aa6907f4af69baec138af6c8d24533d692f99ea733bc1e4ff3c0b2cde37be944cfe712499f2b1b964b2675732c52bd0670bfb45d54832e58fba64da0fb301e3fd8d4a2499d67f857ee0fc72f82d99be5f81713e3e194aa6fd49e27e588fb89ec1884fae13c9d4ffa27fb0bff0229e67537fae481f66e612fb2d776083ec3debc026eaa53618f18a3b0323fe580f04d3f5c98b64da7f63825df217852e99ce77907c33113f6c4dc134df6f1f24d37c9982b17ee04f05537b9a77c9148f88dfa3deb07a92ccfb7f73168cf365778229be48bf25537d19f28bf501e55e309d4fc94f92c97fcec158cf2b12c1e41fbb4fc9b43e3d104cf3f7f6158cf87ebb170cffe448267942c1e47fba05187f1f455049a6f5614330f4ff0d8cf3b88ab83fde3770d94ba6fafc12bca0f6a557c1c80f6dc9644fb964aa7f1492a99eb1934cf3f718bc44fd632199f2ab67c914bfd782518f16e389f78346a23dd8bfa58c25d379ba4030c95b5f2453fc5c824deacfec2299f6eb6c25d37ae74630e2b94632ad170bf9b13fb87b964cf514713df61bd4aa643a9f0f7bb31cecbf10fa28f6e3f89269bd83e2adb9399f52bd33032fa6fcfef9086cd07e8d95f81eeb1b97a964b2bf0dd8a2f958ff02dbb41fbbbb825d9a3f2eb5608a3fe28560caafb6141fcd45fdb11a83b11e180f05d37e5c5f114cfe669d8051ef6f3dc1a40fab108cf3d9e55a30ce3b1a60d4d78bab649a5fe5f7645f978364dededbb360f247452899ea616730d6e7d6779269fdfb4330f9bbd4148cf8e7058cf5b8e44932bdffe25e30f6835c24d3f9d1b964b27f713decdd16ed9b937fd2f792a99ed2082679a247b0380f33964cf3ab18af05c52f57d1df381f5baf2453bcff0046fcacfe60daaf6a4aa6f9ed4b30ce7fce25d3fedd1918f65f8af1c37e6d4f954cf9cf5a32c927fa17fbede254326faf22aec77c1bd582a9fd971d58ecef3524d3fe5ea1bfd84f97d1f82ec47a83be124cf5c8ca07dba4efbab8de9df2dffba44f0b51afeb5cc1747d32154cf61eecc043ccf74f9269ffd3098cf7495c1e25d3f9c14a30ad9f281f92693de2001ee3bcf34430e94f71114cfe259883f17ef6b52599de2f36144cfaa23c4aa6fafd188cfa79d60a267de832c1345f1786649a3f7e30cd97a2bdc86ff55232c54fb9648a6fc4f367e44fbaa1649a5f669269ffb7f87e4ef6915f2453beaf4ba6f9443c1feb655a2c99e47b944cfb532493ff6bef25d3f86ec1e2bc532318ef1712fa82f3cdc55e32b5ff1b0c7b5acd25d3df9fa04ba67ac25e32bd0f44b4cfc0f95ad13f787f759c08c6fb8f34c9141f6e2453fee80b46fe22fac7c2fbafef24933f17fa8efdf9590dc6fb8d4a8a079626ceb3d513b04bfa5a527cb664f645eb65067848f359fd8369bfec063cc27ae45532d5e31f25f3f15c3d83315f5d12c9544f740553fe1e6592a93f3dc158bfb88127145ffb9560b2873a96cce5d75f25537ce90ba6fa62f283a95e2ae49bd2f82b0f82c93ef385645a6f17ed453d39984aa6fac04c32fdfd5607c1a42ff14a30cdb7b74232e5a76f60e483fe5132cdafb960c4fb5f60c4aba52218ebaf7b30d69fb6e27b9c1f0ceec1d82f962b92c95f1d24537da7148cf93d05239f534f92e9bc8bb81fcefb1547c9544fabc1383fe68af1c67e92f807d3fe43213ff6af7662fcb19fdaa37cc410f5ebfc5e30cd1f6b07ecd2f85a347e06332faa8f1cc0d0efdb17784cf6e91a82499ff44ff004eb318f92693fdebd649adf5f05937efa67c1347fe91618e7bb6e7782112faa60ac8736a1601a8fac00a31ee98c05e37d155bc1347ff8aa647a1fc009bca0f1f21682c99f9ae2fe0b6acf360763fd62bb168cfcb0148cf7790879f1be9ad4954cf53cd17fd8bfe49f24533db1164cfdbd7d07e33cd346fc1efb17b789643a4f300423bf303760bcdfec42f669b27885ee47f38169e1bc977e124cf18d3706e3fd11fa163c22fdda9482a7b43e7805c3ff058660ba9f2b9e87f364d14632d5fb4792e9ef37fe02e33cd926028bf364efe039c9b712f747fdd9ad24d3f58231fee58b601affdb9b648a6f7230dedfe12d25d3fa760a467d3817f218145fd99f9269bda1924cefdf93df23fe7e009b349f98623c2c1a5ffb2298ee97d8609c3f32e6609c3f8b2cc9646f0bc914cf3f4aa6786607c6fe958ee20f8bcdafb43f81e20b165e93fe5c3e25d37e30f13dea3ddd093cc27ede2d18f5983804e3fd1d9a25989ed7168269ff61fa089e223f9e8167d47f862699d6f39e25d3fe68152ce2b70318e7c9ec67c9f4fe12138cf70f252918f1932b9e67507caf08f9f1be9938069b648fc15e308dbf32108cf7df88e7637f627c150cff7a0163ff42f000c6f99c88ec9b4d37a867d1fc62b3f1a3fd3c743f5b8c5ff102463cb2da82117fb4df9269bde12498ec510f25d3fef01c8cfcb8b425d37eaa5232bd5f2506235ed85a9269bda4154ce31d89f6cef17ea8037841f76b447b17d84fb6012fa9fd6b211fea49978b608a4f0c156c423f3bc9b49f3602c31e6f7bc1d0bf4a32c50fe44f6c1bfb3be22918e7e93a6287d907adb70ec063eacfd51b784afdb3d1c0c85f8a5232cd97afe0398ddf652d99fcf75130e5879d09c67c961482c97eae7bb049f74b3ac9349e86649a4f2692b93cb978be8df749b88229be509660eca7f39f24d3f922713dd6afaedf8269bcd690c7c6f9d755001e52bc5b533ceb5a63d29fab2199ce63edc1139a9f82083c25f9f5068cf745dd2cf082c6238d25d3fb1d378229bf503ec178dfce6a0946fce9bd0aa6fe5ccf04e37d0af27aca77ac1bd8a2e747df9229fe2dc136f98ffc4530e9f34a934cf9f10fa6e78be739387f48fde9daa8f7273c3e310716f67b260f9269ffde1318efefb91e24537dcd06e3fd79f6156ca0deb1904cf6a080d1fe6a2199e67b5f303d4fbb801dd8fb0a8cf8f9a611db78ff5dac8211df745f60d413133e7e2c389be17ccc183c27ff97459279ffac4b30de27947e0826f94c4532bd7f5d032fa9fd6d2a784af58e21d8a0f9e1aa48a6f53f5b30d58ffd6730de5f94ad89ed01d9ef86eb2b0b2eb0feac6fc04b92af7525d3fbcd8f6093fccde64532d9cb4d30c57fe1128cfd33eb77c1a41feb028cf7355a1f82e9f9ee1cec62ffea9b60f227892918e785f0bd8dfdafe9b3601a4f270463fda81980f17ea59adbbf3966fd41ef472dc14bf2075b1b6c60fdec4132d50f0bc9944f1cc126c693dad7bf5e9ff2075c6f63bd6b45fd33b1e6549fb8adc0580fdc7682c97fdd5ab035a5f74309c67961e50bec523c1de2f736eaf7f11c3ca4feaba8bfa6d664467fffdc080c7f53b492a97e6f08a6f686776013fab4964cf69982717ed224ff30b5b15fe81608c6fbd3ce60c48b2d8dd78cdd8ff2eb5430c5839b5730f2dff60086be74a4af33d6ff148fdd8391ff6a74bf390b30693de808b6917f64c436ce8fdf1230f6bfb7345e0b6b3a27fbe9c0f319bdaf8bfcc782a5f7e43f0f60cc4705f99f256b3fedf71c826d92ef3625b627349f68dcdf9b2c9f9b927f237d3458ffd1fc5b8327f007241f530f1aaf6b00467cad51ffb2f8674efd41fed5b6711ed0e4fac192cf39b57733022fe97ecf977feda32abf7d8c9f3e26ffa7827fa74fcf0afb9da5daaac3fe58ff6a0be8f3df21cb2f72b9ecf3bb5c0afe9b90afff77f7df5116d62247f5d81ffad87ddba87590cbfd87bfb3f1f9779605f20899fa6be8cfffb79fff167b71e9f393743ffadc1663f4e33aa96fbdedf8eccf3f18b9ffff65e16dfbc90e6009240d1fa9bf2b3bc9439ee0df4d1661eb3f64f9313a3f24f3e4e717cbfa7791e5379fecfefa91d758f05a8e94457a8a7f2b590235542335561335553335570b364ea55aa917b5669f86e951ab76ec7365b2de544dd5d99f15ff9dc67eb1fe379365a3aed827652391a85bf6b963d2ecd43dfbec982c07464726dd91fdfb4e3da9f74cce7bf5817d0c76e53ff4daff5b6479e43dfdc446e699fddb597d515fb94ebda9efea87faa906ec9a9449f8c524f85607ea501da96375a24ed5993a67d2fc1bc9c25a7a5637ec9f91ba607f02d8fd92c9f2cafe6929aafaa4284cc7be15431d2ba662b18fad380af31a8aa7f8ff3d92fcf7cc954aa0844aa4c44aa2a44aa6e44ccf5ca63d2dfbf4b6622a059b45064aa954ca45a9954669954eb92a3745537465a5acffe8b5ff37cab251b6ca9db253cf8aa2ec95036bf1513929f7ca83f2a83c29cfca5979515e9537e55df9503e952ff6dfbf9581325446ca589928d37f23596c65a6cc9505d3b393b26413cd83f261288661b044c0b00dc7700dcff08dc0088dc8888dc4488dccc88dc2288dcab8a87746fddf23c99f9345b58ca6ff23a390df6677a3353ae36adc0ccdd08d95b13636c6d6b83376c69efd391847e364dcb3cf897d8e8c1fd8e7d178329e8db3f162bc1a6fc6bbf1c1b4b0cf02685e757f9b797f9aadfe999ff8af6561527c1a5feccfb7313086c6c818315fd4186363624c8d194b9916c6b2370ad3304dd3326de3683aa68b8fc73ebe19b04f684666c465eaa53a9a31936a6726666a66666e16666956e6c5accdc66ccdcebc9a375333757365aecdcd2f33b1f2eb1cfcd764311a736bde3169becd9db9e7b21ccc8379344fe6bdf9603e9a4fe6b379365fcc57f3cd7c373fcc4ff38b7dbecd8139c467648ed967c23e63736aceccb9b960992a3334e3de322cd3b22cdb722cd7f22cdf0aacd08aacd84aacd4caacdc2aac12b9dc2f91c5ffaa2c56655dac4b3f2e566d0cad5a3d5b8dd55a9d75b56e9666e9d6ca5a5b1bd6d3f7ccd96ead3bd6522689b5b3f61677bfd6019f2393666a9dac7beb817d1ead27ebd93ab351da592fd6abf566bd5b1fd6274b98bf5884b0601e3d61b3e9c0faeea3cf1fd1d1bfa2634cb31a8bfe82f001fff74a89aca135b2c6d6c49a5a336b6e2d7acdb196cc74fa4a9ed18f85b5b34d48f2439643bf4c614e6ddb766cd77ab03ddbb7033bb42326cfc178b4633bb1533bb37336abda766197ea935dd997de92fecce74fc932307756cdc6646055aa67d77663b776675fed9badd9ba71303fec95bdb6376c249ef9676fed9924625414662bcc5e602bf766681bf6d6beb377f6de3eb0cfde3eda27fb9e8debde7eb01fed27fbd93eb319d7b35fec57656fbfb1d1b07efffcafc9f27cb16a66274cb78cc6f8b4df992c1ff6a7fd657fdb037bc8faf3c47a7864bbe6dc1edb137b6a2db924bb7e64fab161ff9cb1f6ce85fd9b91bdb0972c485698ddcc1dc3311d662c8eed384cd2bde33a9ee33b8113b218f5dd89545df17fcdecfe155954d7183ab113333bb1edda499cd4c9ec2f27778a5e0ea7640ff0ed3d6b55653d3b17361acf4cc706cc6216dc6ed8ff3b356b6be3b44ca6b9d3998173756e8e66f7938feeac9cb5b3b1b7ecf78eb365d21c8d9d73e7ec9cbd73708ecec9b9771e7ec9107ecb7a7eb6a03f234b2f09f3c683fe7ecea3f3e43c3b67e7c58cadb33db1ced6b33d6656cc3ece2b6b5dc5dab5c0a7f765ec63cfe9e374f8bc39efbd24f6d20e9d0f66fd47e7d3f9ea7fe954ce379366dffff5f6cec8e9ff5acca933b3eb9fe4f8576599ab9db3b05f9c25fba1e21a6ce2b08c23f34accd3bab6ebb8aebd702a73e17ab66b1f5d9ff9a8931b981fccdacfaca5f76ec86c2ae673e6d18ddcd84d98bde0e3746e6a7acc73b02b594fbcd93336be67377373b7704bb7722f6e6d176e63356e6b358ae67656f3afe8987a70afaaeddeecd6d55cdd5db96b3626cfeec6dd9a43f7ceddb97b3622dbde86dd837bb4576e6031ed331df7e4debb0feea3fbe43e1b817b765fdc472195fbeabeb9efec5707f7c3f9703fdd2ff7db1db84377c474f1c0fe7dec4edca93b73e7eec25daabd2f6091b8a7aa81f70fbdda9f91c533d8f46d79b6e778ae937b9e71b2179eef055ec8e4601fdbf0222ff612e6030eb6d1eb8c977a99977b85577a9577f16aaff15aaff3aedecdd33cdd5b796b36e7c7c6c9db785befce7a70471ebb0b1b5d9dfd3ff36fde8e59cec1db7b07efe89dbc7bb5f01e58467af31ebcc71f5af5bb1ff853b23c79cfded97bf15ebd37a730637362dbde3bd32f2e099368cbe6f229b39ae7de76bd0fefd3fbf2bebd8137f446ded89b78536fe6cdbd85b76441d7a3aff8866ffa966ffb8e71f45ddfb31e7c9ff9e8ad6df8811ff663e547ee8069e4831ffb899ffa198bd6be51bffd523c9189fe75599e2f7eee177ee957fec5af0d6603e6d46f7a49fc967d3aff6acead27ffd6cf77bee6ebfeca5ffb1b7febdff93b7fef1ffca37f62f966a2bef8f78aea3ff88ffe93ffec9ffd17ffd57ff3df8da3bdf03ffc4fff8bf9f485bd30c74ee57ffb037fe88f8cbd3ff627fed49ff9737fa1382c27fd6679f70f597ea97dfc99d8d25f066aa004060b112da65f6aff97c0f7fae5b7811d38fe3570cd0fe31478811f04411844411c24411a64411e14411954c14509839a7d1afb3d68838ee59af3e06a3f07b7400bf460c5fc48ef0d9560ddeb99ad30d906f6c27a0e36ecaedbe02ed8057ba50e0e4a191c8353708f0af54f35ab3f2d8b1d3c048fc153f01c9ccdd829ad73f012bcf6da15bc05ef81137c049fccf38c83afe03b1804c360148c8309fb330d66c19c49b47016c1325443253442d3188416fbc39c71e8865ee88741188651c86cc73a8709f3cb4698f29881c50f61d6fbfc300f8bb00cabf012d661e32fd421d3b41fb2387f94e5e77af6cf63d25f1db661175ec39b19875aa8b3bbafac636f27e13a5c33795e8c7b2f0d37e136bc0b77e13e3c84c7f014de870fe163f8143e8767f52d7c095fc337ab08dfc38ff033fc62d2982c22f6d97ff90e07e1301c8563e3184ed82cb40dd6e1943d63e6ee99fd7c9b53f6dfe7e1225c466aa428456444e68fcacdaf5a46b288ff862c28f1d4c8525fd5d7c88e1c7f19b9e673e41987c8376751c02375a61351c8e2f7cf88e524511c25511a65c62dca8347ab65f369cafe3c4645f01895aa1255d125aaa3266a5910d345d7e8166966678ccc75d4467ab48ad6d126da4677c629da452c82f0039ef778d68ecdb40bf6bc7d74888ed129ba77d2e8217aecefcdabed866af4d1eeaff6f2932c068fb043b77516ca2e7a8a9ea373f4629ea357f6a437e6750d16a79ca37773c2e6e8aad7eae823fa8cbea2ef68a0ce153f1a2aea8f2a2c7f9e1b8da27134096d2b8ca6d1cc8aa379b48896b11a2b56111b319bac629b85166eccbc3d9f73962c7f93b29843e33ef6e3200ea3fb388ae3f081f554cadbcafc5a1f25fe2c0b7ff68f7131d4f8f9e22cd4f73889d3388bf3b888cbb86277bcb0f87111d7d6dedd5b4f7c2639b959dcc46ddcc557ff515dfdb4f662cb3bbaca5875e25bacc5ba3f8b57f13adec4dbf82edec57ba5890fea323ec6a7f83e7e881fe327e3143fb3d866c9bc7380b86e689de373fc120ce2d76011bfc5effd88736b3055a38fdeff992c0ad34726cb6b9cb8adba8a3f4c23fe649db7641ec6b09ee3da665ed3fc0c33f6dcaff83b1ec4c378a456eaca7e51ee94713c862c3c1eecff9dfdb7493c55f57816cfe345bc4c54e3c17e4894c448ccc44aecc449dcc44bfc24484263efde9b3e8bd8d887e7a42c3b65f3d6d17c4da2244e92244db2a84872b1baf07765b1c886f8155b36bbb2fe65914fa2b8499194e69b71f26fd69e8dc9d9b998dff6c13ad953e39054c925a99326d6d5f7beea9db4ccca52f40d55c1d97d95bb385332bb4abae49adc12cd38252ceb4956c93ad924dbe42eba26bb641f1c9243724cd82c657a8ec272014364d94c9b4b2f4dee9387e4d158264f09b34ab146d2e722ff4c96e499f5e198e50e2bf6efe7e4257935dfad3e3f3f276f56ff8afa7df26ece8dfb709c7c249fc957f29d0c143d192a8b64c4abe3bdc7b4fbac8dc9c264b2df93713231de9269324be6c63159d8c76469c6a99a2aa9919aa995daa9e3dfa76eeaa5bef1603a2cbfe1b2f45910cb54b769601cd3308dd2384dd294cbc2d76dfa7cc4180aaff6932c96b0fe3453466e6b97cc8e9d344f8bb4343fd22a4c98f75a5afdfe8687f4621becee75daa46ddaa5d7d451f4a04b6fa996ea91c9fd3f978549c3644957e93adda4dbf42eddb15fedd3837d4c8fe9c9d8a7f7e943fa18fae953642b7a344c9fd373fa92bed2c8902c2ca7db4681719fbea5efe947fa997ef5feb197a56f7f9f5bfd2acb8f91e17a78607dbb5412ff2139a7dfce9069eb673ae86da5f7c54ee5fa696f8f553a4ac7e9249da6b3a4b50b65c3f42c5177fe23ef31361a7d0edad724d379ba4897999a29c63163f971b4efb3e3ccecb3e2649559999d39ea57ea0475e6665ee66781e9fa81a3a06ab0eb675096e1c5599845599c25ce23b3172e8b6af5b9d52fb2889a9add3f99d14efd4a064ccf952c553eb2cc74cc2fe61b077dcecbf477613d982316e37efaeb2ccf8aaccc2a61e7e45b98b34db24b56678d5dc763f53b6bb32ebb662c62f343d6df6ff6c2fd66de9c652c99661ce3a74ccf56d93adb306bd3b36d76e74efa5999c53363a603cf76bfcd8445369691edb23d93e5901db313d31d85db7491ddff268bf28b2ca67a973d3032b24743c99eb82ccc37f67d642ebcc4661146f69c9db397ec357bcbde852c1855577d4bdaec23fb8c9e93419a655fd97736c8d8e866a36cec8eb24936355da7cc66d9bcf7ebacbf17d93257734509552b377233b7723b77d8377d3d6dc29edad74398b7cedddccbfdec900779a828ff4496be024a7dabf8bd36f63edacc23c330ee982cbd97efed70c024619219f7799c27fe364ff32c3c30597eac4172bf95e779919779a556f925aff3266f8d63dee5d75eb7dc613f1ef9cdfdeeb3e25cb316f153aee7ab7cad9eed32dfe4dbfcced67396c1b09879c8729a4bafd9feb7719f29f93e3fe4c73cc88e4c9b1392c52afe812cbd0f559209d332db2ed5263f1926f32baed05ca6678eed5877ecbfbce6f7fe5dfe104cf347a3fd690d92d97afe943f671725cecff94bfe9abfe5ef7dd4937ff49909af719cddaf6cca73628dcd8871fe997fe5dff9404d9cc833f3613ecac7f1579ff1997dbc4c51b4cfee30c9a7f92cc9988e1d59a699f47e377c0bdffe200bb75792259fab7b854d65ea77be302c63cfd2fb1dd5bc481673943bf9b2500b8545f5b3e8814547b6dcabc0575793b1fa919f0ba33059b7d9ac557d2cbfe8f312ebaeb7e4c2e96b1785cb62ad53e1157e111461112923d52ee22229d22233f67d5ec365611ac6aecdd98cb92f8aa22caa3c2459faf6b398f5f597f9e5375958c6b34f6fcc62be8b0b7be4ce74a97227646177ae8ba6688b2e288a6b714bf25f7684303d53fc645268855eac8ab5710835e7b597a5d8b06cabaf6a7ef4d5be60cd243916dbe2aed815fbe2a0d8c5317b284ec57df1503c16cc3efa1a279764614e0b268f7128cec54bf15abcfd248b1aaa7f57164fcab22bde59fe742a3ed894b5efa33c5420875c9645f1597c15dfc5a01806398ba2c90bffd8555114a3625c4c8a692f4931ebd72c989ea8c5bc8f467b5b6677e03163b12cd5ecbb544287c540d7d250c2d22cadd22e9dd2354ebc22c2ae36c7f6a1f498cdc6a55f06e1ae64290dd731f7efc822d654c40cf3adb665c472b053191b2ecbef852cfb5e16f3cb3a9749999659996749745f163f564a7824669465599597b22e9b5e92b2cd34661b565f3b6371dc985bb4e10ffaaca7ecca6b79b3be4acd0a4a9d8d67c4a45995eb72536e992cbabdeda326368e5bebbecf64cabb7257ee7b591425cd7a6d28b552fb45961fd13ef773ea8dcd103b75c56439183e1bebc81c5b7d3d2cb0674e63cfcb63792aefcb87f2b17c6271ce86e527a398c594ca9d5d97cfe5b97c295fcbb7f29d79d12eef32adafee9bb3bebec13f337b5f7eb079bc2c3fcbaff2bb1c985d392c47e5b89c94d3c42d67e5bc5c944be3c45c7d156a7c4c0f665f1939564a655466d06746a7e0d4ef2ab2aadf62fedefb3059d8b7663f36c8d834bbaa2c26cbbd19b2deec97483a264b6b06c6a1b22bc79bc5e3a00996e5c4dc562e538ba86236cfa29545e5574115329fca66bb3ea736471513d73a313946fd9a4515dbdb2aa9d22aabf2aaa84a2bacaaea52d55553b5556745c1b1ba062b362e5ba7a355b57ebda3aff254b74aabf42467b21c83a36ad9f51f641151a5cf6571d488e9e246bd315559556b264bc4662c268b193269f64c96a37bf65a6fae2e2387e9eb5bb5a9b6d55db5abf6cab53a54c7ea54f575e17be6c717d681c5d5233e26a3fe2ebd3d570f4c96c7eaa97af646d5b97ab1aaead5dc556fd57bf5517d565ff128afabef5e966ac07ac2e5f5cf678bddb11a56a36a9ce4ce23c6c5339adf627e4bca6270efba60d1ee539ac5a36a524db98e912c51af654c965335f33a8f656bca3c34ccae9a87af9eaac6ac3f17d5f2a26637f7f5a25cb81fb615f38349d17f26b406c3ee7570377d7e75312fd6c5be38e1cbc5bd78179f8d897f092e6134b8449798c9d2b91fccbadefb159cde673059946a7449823e47f6d9c7fea32ca859283c96225912f549bdbfa4ec9e593fc6fdfa9c6df523d4af3d18a774e75d2fb9925e8ad0c8eefbbcfd525eaacbe5525f9a4b6b9c2edde56a6fcdd1e5165f98bd93244764f10773e445d68e5da55df4cbeab2b6c2cbe6b2bddc5d7655a7b697fde57039ba2fbd2c173633b1d8cde27fd5d684fde2fef27079e4b2a0adfd5add3f95256071f24d29c2faf27479eeb585d61bfb95a07ecd81e9d8a377f35545b3df7975c88ca6feec72bebc5c5ecdc4383afae58daf136d8235f75dbd7e8db92c7c3d96f5f196c5dd5333bebc5f3e2e9f97afcb777cbcf06a13d388e16578195dc66c869ddb6c66cd466c967db5ee7adbbf4c2ed3cb8ccba2f0bcc2fe5d16392f4096545373b5cdcf97f9657159f6eb90bdcdb2d8b85fd50accc08d8c83a7298f8a1fb4c620fca8d55a49b6b5519bc98ac9f9565bb56def1cc38bfaf99ecd8d336ef74cc7b8341e9b3146e6dcdef82cdeac9ddaadbddaaf83484b46e9ad0eeba88eeb84e5ca9fcce3796c6e9db008f4c9dd32590e755a67756e325990875bfd0aeaeff9cbcfb2287eaa2b6e5dd4a5f25557c68149c0bc0fb3dfa8978569716cc69eee2b6aa9cc422bfc8caa9a4590ec7f0d6b5beb7eb84347cdaf2c63af9cd73063f67faa22f6ebdeaff7d27875c746f9cbfc626d5cd6d7fa566bb55eafea35d36ca77c8af27a536fcdd8b9b23cdceb6318d6239bdec2eabb7a57efcb3d932515759e3fe695d8112074cc55efd44370523ae5b13e184cb3597e7f6fdbbc12cfda581f599b4ff57dfde0b6a1556d13b77eac9fea67e3549feb17a65b8bfab59f159cd728b02d1691ceeb37bfb1b7fe376fd994b220ca89acbdfb5abfd71ff56738a8bfeaef7a500fcba01e992ed3c27db17077aec3f29881cb324b63578feb493de5b2507ef20f7264f6a797a59ffb13f6ff0d9bfda7f5ac9ed70b9657b2fc8bc52e5b7b592f9d779bcdc98dda288de13f5a35f3ca1f8dd958c64363db47f6d9374e3f438693be6ed3fbb2c665ff34a2d0def09a9af1cb1ae0d074eb5be3357e1334a1f3d4444ddc244dcafae291e54977eeaec9ac2dfb158b429bbc299ab2a9b8bdd09ca8f42b763fcb42732397c5e4b364aa8cd2cc99c77a7369eaa6316377c3eefb7039352d0b8359d6e186c6aee99a6b738badd0b48a466b74fbc18c9b557aecc7c57c6fd64cdfc76c2c3efa5cbdd9345bebdcdcb9dbbe8283d53fac9c9b5ebfb3a4d935fbe6604d9a63736aee9b0726c363f3d43c3799bbeb6be64c2fe3e6dcbc34afcd9b948559c51f65a1d95ecaa2f1959bb5faa138cd7bf3c1a22ac7ff609e89d973bfa6686f9b4fe3e0dbcd57f31dbae167ad3483669828d60b7bde283359ae356bc66c961b46611f41369366dacc9ab971b296eeb6e1e3815566167d9b9ed3354b63efad5bb5555aa3355bcbe8ebd581396efb15c45d9f2b87ba71689dd66dbdd6ef63181e7719aadfaf09ff365752a5cfa4bdc2fdfa937a8bc76de03dc65d1b1afd4afdb658703fbbed6dba8d8c531bb7499b865ef5de666d9e9fdaa22ddbcad8370fed85595585fce4beaddba66ddbaebd5e5876dfded8bcf3ddd70ee4eabfefed5aaddf1de36baddeaeda755bb35f6dda6df0dede056f5ec89eb7734a63d7eedb437b6c4f52163f38fd41161bd97abff39945bc2c951e313ddbe5b9a2b7f7ed43fbc8b4f7686ffa9d05b5d53ef55adf326fdf9edb97f6d518861f4e5c44ed5bb269df59ccb3cf3b7bc9645ef5f949fbd17eb65fed773b6887eda865b3068b697aed123b19f67e906bf6b69db0acf8d44edb593b6751cb397875ed76d12e3bb59fdbeace38754a67746667c571922779af472c8e39fe4116e75759d84c99a94967770e93e6dab99d67192cd770d89cb063be56ef7c7b5b9f7d3753baa00bbba8da767197746997b1b0b8e8ca7e6dc8db75157bfea5abbbc6df756dd775d7eed6699ddeadfaac8e723b5ec95b326b687b8fe2fb4e65dce75db7ee36eeaedb76776c02d875fbe6397aef0eddb13b75f7dd43f7f8ab2cbfc563b40fdae2fbb87b59fabdb76ef7d43de7cfddb97be95e6bc738b9ae7de8ff1a4166c38eb3eddeba77964f9cba8feeb3fbeabe9d85fad80dba6137eac6d19d195b0b33f6b56ed24dbb5937ef16ddf2aa5e95ab71358d9dfbca7763f9bd1ce6d00ffa99fd6ad97bc7bada4cbe73b7bb322bb18ee1cadd5d5deffdea3109dfaffe35b886d7280fa302b66ffe1d1d13eb0b72bf196a7fdcef5de36b52b2d65d53ebe19ab119ef6c9dddcf7eb5f79ab3ff5a5ccb6bc5e29897ebe55a5bfeb5b9b6d7ee7acd27d7db55bb321d5533b30bdf8da69c5c57d7f57573dde6937efe655aa8f4750ce623a2be06c6f7638dd87c74ecfd38d515ade7de5aaa8171bcde5d77d7bdda3847b5edab2c5993353c07367f9c07f8afd7f89ca7ebe17a8cd953afa7eb3d3dddbf998b6641d1eef5e1fa787dba3e5fcfd797eb6bad3069deaeefd78febe7f5ebfa5d75d74139bc0eafa3eb987d26d7e975769d7b6bd60b8bcccccceb92dba2f5f327f2dd7d73c7fc1c27ebcc52c3a79b7263f955348c4c36f3b9aa6dbf33591cbebef31764b99937eb66df1cd6379ecb66877edf8bad140b2fb9b139d0b8f7b51b0b346f8152ddc25b748bd5db2db9a5b7ec96df8a68d025e15755df4a7377ab6e97f0e3c626c65b5bac6e9db1ef772df0fd16d6af1f5eafb0d86cc4246aee7236b3dcaeb7db4d4bc6d133cb2d44fefb87ddf3ffb52ce6e34dbfad6eeb86c5860d1b0d663515f3f8ecff6d8fc5eecc9fe593dbe6b6bdddd5a5fa62d7cae2b65386b7fdeda0d4ea58dd869f55773bde4eb7fbcbddede1f6787bba3ddfce51623f180fb71733643e7af24759983454afa4fbbfdede54f7f67efb48068a226ac97f7d7d3f2a6e9fb7afdbf76dc02b565f2cb35c58776c86d89a73162f6d6e43e3741bddc6b7c96d9abab759eadce6f1241ef77bf56f8bc80a5fa2eab6d4d4a8d394a85202f5ac199aa9599aadb1b16e5acdedade4e78fbbef3396c82759cc58f3345f0bb4508bf242d1d20ce3f287d3597fc25e1eb5584bb454cbfad981dd7b617e7a119385f624cdedad96f733a75668a5566917ad564325615ed0b65fe289b25322add15aadd3aedacdf84c1dd573979aa6e9da4a5b6b1b7ba16da99af0ebc8b03f2a8bb1ad7667dada9db653bba0b9bddbef2c7f37642dcfa1f8f22fc8926a7beda01db59376af3db008efce9cfa1f2c3bda71eb6451633568f92e43ed517bd29eb5b3f6a2bd46b935d2de8c85f61e4fb40f36269f2c216e94246ccb2767e999da97f6ad0d3436a6edeeefd98bf5dcee2c35f2b59136d6260a8bd955d72eed525db37111f562ef2fcbf2a84db59936d716da52578d7da8318f79673d9993b86e6fecb363518056b6bac26c79a71bbad92a9dab5bc64db77527327457c97596ee844e7fe622ce597e32d4033dd4233dd6133dedc7e0d74f98f5b2447e2f95bbd7333dcfebb2d20bf6fbfe0c84266b797c86ff2b3a16157aa957fa45aff5466ff5aedf11c3f2de39af8f322fa45ffb798faffbfaa6ebbe66817ed3355dd757fa5adfe85bfdcef850bff59dbe77c6d5413fe847fda4dfeb0ffaa3fe14bd07aece722db28dde4ef86e0bf3e78fe9e8e764adbfe8af4aa36ead86cdca34abf4f6eff075c43fbd8724c9f537fdbdb8ea1ffaa7fea57febcc07588affed6ed3ca56a3f7beea637afd3a561f4733895c33d687fa888dd0589fe8537da6cff585be5ca92b6565accc95e5eddd3c7ded778d38d5ca5e39b6e1eec90f0b0ff68b2cae7170dc95bbf2567e3c535f56415f310a4e2cdeea57df6a5a7bfb73b2048fab701505b355bc4a56e92a5be5ed78555807166b6efa5ccb3afe248bc9b28265dee5ceed8565b4b755b9aa5697555dcd568d3e5ab5b1c7f7c23129dcddaaeb76abab395e752c5bbbe3f66e626ef955166f7533e3b261f9d270a5b1f178e335567efeafaf2afd9571311f57fa6ab55a6bb362b8daacb6abbbcbc76ad75767d2a05f79b0b67d0ecf64796372ec983c0adfc570cff7819ef85efea3d8cf6bdcbbdf76e87ff8cd6abf3aac8ead1d7cb84edffa7e9e679aa6b63b6627bfcae2af4eab7b9643ad570fcdfbea919fce727f3a052c4f69fca971795a3dafceab176db67ad5ebd5dbea7df5b1fa8cbff26ef595f615a31fbbddf98749f7c177bc0f9d57f6795b7daf06d17e35147b2cfbbdbccd9339ee7739b58bd5a8d72e173b9358e3acdf65b1ceab717d67ec5693d574355bcd51c3b7708ec1fdf3314c92af16abe55a5d2b6b439badcdb5b5b6d7ceda5d7bc69e45cffb1f7bdefb489eaffb32097a7b62b3105fc7e3fba9f9beea7e36627e6318266b7f1dacc3c0091cbecb91452c6431bd17f85d967e7473dbd8d7efeb681dab77e20c2d9745f9b16be9cff8b1f03198af933c5d5bc1789daeb375be2ed6e5ba5a5fd6b5b5b437741601fbf7fbd5b30fbe57a25f6bb15a16fc34ceba757416dfb3e83e9ce9d77ecd807df6ebceefd6cc62bc50c8d2eeb411f366bfd90bd7d26374b7beadb53573e4b2fee5fed5793f628aba5eaf37ebedfa6ebd5befd787f5717d5adfaf1fd68feba790c5fdd69eef5ac1b8b04fbf9ef76a7e704b3e584bbedb9f5950bffba8f7e2eb7e97fcb1df83b63eaf5f02d736cc28effa73246c8e1feb193f73d2e7373edfafe4b23c69bb7e5dbf35cafa7dfdc1e617c8f2f7f78ffdf38ff3283f69566595d196e7f5e7fa6bfdbd1eac87eb11d335bea38c568b980e4db0afbf8fa6c6acc7cffc04c6b2dfadd7cbe90f7a7bea77569a43967505d5e0a69a713e6171d79d36d1f3f5b8f776eb49bfa3b61f93cb389f38de7aba9eade7eabdd8d32b674be7afc8f2d3d9621ecf798f6a11dcaf179774bdcc5f36ea46d9181bb37faead164ebf368979c230a77db5439cb4602336661ab91436d3dc39174ba1fd0a2caa7f6511e4ae0f0b36569fdfacc6cce59f8ce3c6c9271b77e36dfc4d607da94f56f35b9bfed2b8fc7eb6381a2a9ee2da55972acd26dc449b78936cd24db6c9f9aa0bcb6eac27ffdbf68bbc782effdf76ae6549552488eee733a6f615fdba7dbb6356a899203e5a6db51f3b4444f0c14b1489987f9faa8202a4bd37b457331113b9d010943a661645669d93b6d9e37b5a6207f5ce54d90a7b630ee6244ed8f3c2d4532060d9afca32ad349d280e4d481246103617866ae8b10a11c3b2b36c86248e1fe983506f36cb7bd7f59cde1344592e9dd23decc91c0e90c0115250a0014d680104cf80a691efb672cf7c667bc1191af13a6a6c8d2ed758790ea8a041fba8a546ca6681e23a2c67047dffd9b4a1130fb9e20cbad0833e2ce34747a706bc2c0e85fef98baee722bfd4f4404187dc51957668dcd0c2d0b660004318c12b8c61025378f3347fb13bb0acbe5df0f8ab3a31cdd0e01d3ee0136ee036e9c2ddb1ed7437f7e95459c13d7169c0bcfd003fe0117eb2bb700a4ff08c94def1b9eef5e9337dca1557dfc052a8ea8aefae6ed98c216b9d45ef4ffa485524aebeeaa181333471eeaa5edbb7f71bff47100423b4421517519a70a1686ff7106f632dbe471b97ebe0a027b3a4874ec8a276354cdffc603e255ca59dee228325a4b8c2354b719e8d29bbca113774bcb961e319c8f15c1f6327bd3884873ca043ee1bdcda7dce35430f7d0c30740718e10e636fed2f7ddd7f0cc2861b3aa1161991827b3cecfa8d66ec6112bce2115354f693204dfadb96d559cd6ccab25f967cd21655d61b3627a2d61336b0892d72a03dc20e53978ef868d8fa229f5faee75a7fe935c07eb745b764495b08ec7d0311d5f514356ca3bffd70224ff774bfb3f1822818bb5ad8461d3bd8c5de6e837df6fe0507fb088787258ef015c7d68bd0fa1a7cc79ef3f0a8623d21573237714a0f6bb636061dba66de58d0211dac1b76bfe293ef6039b59ad281736c393795d713791dceebf80ee712f96e3009ddd07544a5d179e13613e6e4967d435ca3ec245389a0cad56bfd58aad7bf7aee9fc122ff178e852391e3f3ba9c7d9399eff23a234758aeb7d96b869def6fe7fb0f468e60216ac18678a2378b9890bd31a42ee18c42f1d27b720dcf09969c1fb0909d7904e76ec356026184f0baafc89d66956e3da5fecbf6f6f369d67545d6b5c5d924df135a7ec542cb5e26e49a7cbfc201afa191da8093df3604f79408ae9ab0ad576031ca9ca3caca1635c83935653d22cfb448ce3bcf6adc752c32e62a9eb9443352aa19aaaae7e288acea1ab4729f2cb50e052bf5d4871cf952b02732ae47d9db635ea9689b453c57bc2062244752ad5f5e84c592fcc3e1ee4c949995795bc152fdbea830d827ffc84c20e9088f91d2fb395e4b665b520152c3422492ebf27dce3a1163b10a2cc60916c11710bad85b6ed69a7320cdc09db863ceee0a1533e20c1ccef6c814cd995eb334f9fc9ecf4b7ebda988b5c23b67b1108e04dff03d63da7fc32f8b9a5f4caeec2fc7c9c7e6f5bc5e154b795ce2e596e3679fca7dd222b624e3bc58134fe3a1e0bbcd199677fcb81c4b3d6a7ea7d6aeb0fb7e71ceb9a3f5738b7cbeda2ba7de3ba79caf57e52fff15fb1fcbbfd3fefcfbaf3ffe0193cc32fd</data> + </image> +</images> +<connections> + <connection> + <sender>KbfxOk</sender> + <signal>clicked()</signal> + <receiver>KbfxThemeInfo</receiver> + <slot>close()</slot> + </connection> +</connections> +<includes> + <include location="local" impldecl="in implementation">kbfxthemeinfo.ui.h</include> +</includes> +<slots> + <slot>hideSpacer()</slot> +</slots> +<functions> + <function access="private" specifier="non virtual">init()</function> +</functions> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/configdialog/kbfxthemeinfo.ui.h b/configdialog/kbfxthemeinfo.ui.h new file mode 100644 index 0000000..e67a134 --- /dev/null +++ b/configdialog/kbfxthemeinfo.ui.h @@ -0,0 +1,19 @@ +/**************************************************************************** +** ui.h extension file, included from the uic-generated form implementation. +** +** If you want to add, delete, or rename functions or slots, use +** Qt Designer to update this file, preserving your code. +** +** You should not define a constructor or destructor in this file. +** Instead, write your code in functions called init() and destroy(). +** These will automatically be called by the form's constructor and +** destructor. +*****************************************************************************/ +void KbfxThemeInfo::init() +{ +} + +void KbfxThemeInfo::hideSpacer() +{ + KbfxSpacer->changeSize(0,0); +} diff --git a/configdialog/main.cpp b/configdialog/main.cpp new file mode 100644 index 0000000..fe5e508 --- /dev/null +++ b/configdialog/main.cpp @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2006 + * Siraj Razick <siraj@kdemail.net> + * PhobosK <phobosk@mail.kbfx.org> + * see Also AUTHORS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License version 2 as + * published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include <config.h> + +#include <unistd.h> + +#include <kaboutdata.h> +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kdebug.h> +#include <klocale.h> +#include <kmessagebox.h> +#include <kuniqueapplication.h> + +#include "kbfxconfigapp.h" + +static const char description[] = I18N_NOOP ( "KBFX Configuration Utility" ); +static const char version[] = APPLICATION_VERSION; +static const KCmdLineOptions options[] = + { + {"install <theme URL>", I18N_NOOP ( "Install KBFX theme from <URL>" ), 0}, + { "prepare <folder URL>", I18N_NOOP ( "Prepare KBFX theme from folder <URL>" ), 0 }, + { "about", I18N_NOOP ( "Show the About page" ), 0 }, + KCmdLineLastOption + }; + +static KbfxConfigApp *mainWin = 0; + +class KbfxConfigApplication : public KUniqueApplication +{ + public: + KbfxConfigApplication() { } + virtual ~KbfxConfigApplication() { } + + virtual int newInstance() + { + KCmdLineArgs* KbfxArgs = KCmdLineArgs::parsedArgs(); + + /* prepare kbfx theme cmdline option given */ + if ( KbfxArgs->isSet ( "prepare" ) ) + { + QString m_KbfxThemeFolderUrl = KbfxArgs->getOption ( "prepare" ); + if ( m_KbfxThemeFolderUrl.endsWith ( "/" ) ) m_KbfxThemeFolderUrl.truncate ( m_KbfxThemeFolderUrl.length()-1 ); + QString theme_name = m_KbfxThemeFolderUrl.section ( '/', -1 ); + QString archive_dir = m_KbfxThemeFolderUrl.section ( '/', 0, -2 ); + QString archive_name = archive_dir+"/"+ theme_name+".kbfxtheme"; + kdDebug() << "Prepare option arguments: " + << theme_name + << endl + << archive_dir + << endl + << archive_name + << endl; + + KTar ThemeArchive ( archive_name,"application/x-bzip" ); + + if ( !ThemeArchive.open ( IO_WriteOnly ) ) + { + KMessageBox::sorry ( 0, + tr2i18n ( "<p align='center'>Could not create this KBFX theme package.</p>" ) ); + + kdDebug() << "Error creating theme file: " + << archive_name + << endl; + } + else + { + ThemeArchive.addLocalDirectory ( m_KbfxThemeFolderUrl,theme_name ); + ThemeArchive.close (); + KMessageBox::information ( 0, + tr2i18n ( "<p align='center'>KBFX Theme <strong>%1</strong> prepared.</p>" ).arg ( theme_name ), + tr2i18n ( "KBFX Theme Ready" ) ); + kdDebug() << "KBFX theme file ready: " + << archive_name + << endl; + } + + kdDebug() << "KBFX theme prepared. Quitting..." << endl; + QTimer::singleShot ( 100, mainWin, SLOT ( deleteLater() ) ); + } + else + { + /* install kbfx theme cmdline option given */ + if ( KbfxArgs->isSet ( "install" ) ) + { + QString m_KbfxThemeUrl = KbfxArgs->getOption ( "install" ); + kdDebug() << "Install option argument: " + << m_KbfxThemeUrl + << endl; + + mainWin->lb_Main->setCurrentItem ( THEMES ); + mainWin->KbfxMenuItemChanged ( THEMES ); + mainWin->KbfxThemeInstall ( m_KbfxThemeUrl ); + } + + /* show the "About" page */ + if ( KbfxArgs->isSet ( "about" ) ) + { + kdDebug() << "About option argument given on command line." + << endl; + + mainWin->lb_Main->setCurrentItem ( ABOUT ); + mainWin->KbfxMenuItemChanged ( ABOUT ); + } + + mainWin->show(); + mainWin->browserInit(); + } + return KUniqueApplication::newInstance(); + } +}; + +int main ( int argc, char **argv ) +{ + KAboutData about ( "kbfxconfigapp", + I18N_NOOP ( "kbfxconfigapp" ), + version, + description, + KAboutData::License_GPL, + "(C) 2006 PhobosK", + 0, + 0, + "phobosk@mail.kbfx.org" ); + about.addAuthor ( "PhobosK", 0, "phobosk@mail.kbfx.org" ); + + KCmdLineArgs::init( argc, argv, &about ); + KUniqueApplication::addCmdLineOptions(); + KCmdLineArgs::addCmdLineOptions( options ); + + if (!KUniqueApplication::start()) + return 1; + + KbfxConfigApplication app; + + mainWin = new KbfxConfigApp(); +/* + Don't show initially untill found out if prepare option is given on the command line + mainWin->show(); +*/ + app.setMainWidget ( mainWin ); + + /* mainWin has WDestructiveClose flag by default, so it will delete itself */ + return app.exec(); +} diff --git a/configdialog/x-kbfxtheme.desktop b/configdialog/x-kbfxtheme.desktop new file mode 100644 index 0000000..1551b13 --- /dev/null +++ b/configdialog/x-kbfxtheme.desktop @@ -0,0 +1,20 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=MimeType +MimeType=application/x-kbfxtheme +Icon=kbfxconfigapp +Patterns=*.kbfxtheme + +Comment=KBFX Theme Package +Comment[bg]=Пакет KBFX Theme +Comment[da]=KBFX-temapakke +Comment[de]=KBFX Theme-Paket +Comment[el]=Πακέτο θέματος KBFX +Comment[es]=Paquete con el tema KBFX +Comment[et]=KBFX teemapakett +Comment[fr]=Paquet des thèmes KBFX +Comment[ja]=KBFX テーマパッケージ +Comment[nl]=KBFX-themapakket +Comment[pt]=Pacote de Tema do KBFX +Comment[pt_BR]=Pacote do Tema KBFX +Comment[sv]=KBFX-temapaket |