From a71efecbcc6f714d619a922a0eaa665a3c68a3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= <juri.valdmann@qt.io> Date: Mon, 12 Jun 2017 15:57:31 +0200 Subject: [PATCH] Update Simple Browser example - Accept downloads and add a downloads list. - Fix toolbar icons being pixelated on hidpi screens by - enabling attribute AA_UseHighDpiPixmaps, and - replacing the 22x22 icons with 32x32 versions. - Move favicon selection to WebView to reduce duplication. - Replace UrlLineEdit with a standard QLineEdit using a QAction for the favicon and setClearButtonEnabled(true) for the clear button. - Fix bug where the "File -> New Tab" action would create background tabs because the QAction::triggered(bool) signal was connected to the TabWidget::createTab(bool) slot with the bool argument having a completely different meaning between the two. - Make the toolbar unmovable. Nobody wants to move the toolbar. - Add tooltips to toolbar buttons. - Add tooltips to the tab bar (page titles). - Stop adding icons to menu items only to disable them right after. Task-number: QTBUG-60655 Change-Id: I10cc0fa82dbf39281bbdbbf9ef901e1b26402f80 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> --- .../simplebrowser/browser.cpp | 34 ++-- .../webenginewidgets/simplebrowser/browser.h | 14 +- .../simplebrowser/browserwindow.cpp | 109 +++++-------- .../simplebrowser/browserwindow.h | 18 +-- .../simplebrowser/data/AppLogoColor.png | Bin 0 -> 6113 bytes .../simplebrowser/data/addtab.png | Bin 469 -> 0 bytes .../simplebrowser/data/closetab.png | Bin 516 -> 0 bytes .../simplebrowser/data/defaulticon.png | Bin 1473 -> 0 bytes .../simplebrowser/data/dialog-error.png | Bin 0 -> 1645 bytes .../simplebrowser/data/edit-clear.png | Bin 0 -> 1682 bytes .../simplebrowser/data/go-bottom.png | Bin 0 -> 1263 bytes .../simplebrowser/data/go-next.png | Bin 930 -> 1219 bytes .../simplebrowser/data/go-previous.png | Bin 955 -> 1200 bytes .../simplebrowser/data/process-stop.png | Bin 1272 -> 1927 bytes .../simplebrowser/data/simplebrowser.qrc | 9 +- .../simplebrowser/data/simplebrowser.svg | 24 --- .../simplebrowser/data/text-html.png | Bin 0 -> 1759 bytes .../simplebrowser/data/view-refresh.png | Bin 1364 -> 2024 bytes .../doc/images/simplebrowser.png | Bin 70625 -> 47620 bytes .../simplebrowser/doc/src/simplebrowser.qdoc | 69 ++++++-- .../simplebrowser/downloadmanagerwidget.cpp | 86 ++++++++++ ...{urllineedit.h => downloadmanagerwidget.h} | 41 ++--- .../simplebrowser/downloadmanagerwidget.ui | 104 ++++++++++++ .../simplebrowser/downloadwidget.cpp | 152 ++++++++++++++++++ .../simplebrowser/downloadwidget.h | 74 +++++++++ .../simplebrowser/downloadwidget.ui | 80 +++++++++ .../webenginewidgets/simplebrowser/main.cpp | 29 ++-- .../simplebrowser/simplebrowser.pro | 18 ++- .../simplebrowser/tabwidget.cpp | 52 +++--- .../simplebrowser/tabwidget.h | 6 +- .../simplebrowser/urllineedit.cpp | 95 ----------- .../simplebrowser/webpopupwindow.cpp | 35 ++-- .../simplebrowser/webpopupwindow.h | 9 +- .../simplebrowser/webview.cpp | 44 +++-- .../webenginewidgets/simplebrowser/webview.h | 2 + 35 files changed, 750 insertions(+), 354 deletions(-) create mode 100644 examples/webenginewidgets/simplebrowser/data/AppLogoColor.png delete mode 100644 examples/webenginewidgets/simplebrowser/data/addtab.png delete mode 100644 examples/webenginewidgets/simplebrowser/data/closetab.png delete mode 100644 examples/webenginewidgets/simplebrowser/data/defaulticon.png create mode 100644 examples/webenginewidgets/simplebrowser/data/dialog-error.png create mode 100644 examples/webenginewidgets/simplebrowser/data/edit-clear.png create mode 100644 examples/webenginewidgets/simplebrowser/data/go-bottom.png delete mode 100644 examples/webenginewidgets/simplebrowser/data/simplebrowser.svg create mode 100644 examples/webenginewidgets/simplebrowser/data/text-html.png create mode 100644 examples/webenginewidgets/simplebrowser/downloadmanagerwidget.cpp rename examples/webenginewidgets/simplebrowser/{urllineedit.h => downloadmanagerwidget.h} (69%) create mode 100644 examples/webenginewidgets/simplebrowser/downloadmanagerwidget.ui create mode 100644 examples/webenginewidgets/simplebrowser/downloadwidget.cpp create mode 100644 examples/webenginewidgets/simplebrowser/downloadwidget.h create mode 100644 examples/webenginewidgets/simplebrowser/downloadwidget.ui delete mode 100644 examples/webenginewidgets/simplebrowser/urllineedit.cpp diff --git a/examples/webenginewidgets/simplebrowser/browser.cpp b/examples/webenginewidgets/simplebrowser/browser.cpp index f1420c2a3..5eae4f3c1 100644 --- a/examples/webenginewidgets/simplebrowser/browser.cpp +++ b/examples/webenginewidgets/simplebrowser/browser.cpp @@ -40,38 +40,26 @@ #include "browser.h" #include "browserwindow.h" -#include "webview.h" -#include <QAuthenticator> -Browser::Browser() -{ -} - -Browser::~Browser() -{ - qDeleteAll(m_windows); - m_windows.clear(); -} +#include <QWebEngineProfile> -Browser &Browser::instance() +Browser::Browser() { - static Browser browser; - return browser; -} + // Quit application if the download manager window is the only remaining window + m_downloadManagerWidget.setAttribute(Qt::WA_QuitOnClose, false); -QVector<BrowserWindow*> Browser::windows() -{ - return m_windows; + QObject::connect( + QWebEngineProfile::defaultProfile(), &QWebEngineProfile::downloadRequested, + &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); } -void Browser::addWindow(BrowserWindow *mainWindow) +BrowserWindow *Browser::createWindow() { - if (m_windows.contains(mainWindow)) - return; - m_windows.prepend(mainWindow); + auto mainWindow = new BrowserWindow(this); + m_windows.append(mainWindow); QObject::connect(mainWindow, &QObject::destroyed, [this, mainWindow]() { m_windows.removeOne(mainWindow); }); mainWindow->show(); + return mainWindow; } - diff --git a/examples/webenginewidgets/simplebrowser/browser.h b/examples/webenginewidgets/simplebrowser/browser.h index 0fdbd46a7..27e2aaf43 100644 --- a/examples/webenginewidgets/simplebrowser/browser.h +++ b/examples/webenginewidgets/simplebrowser/browser.h @@ -41,6 +41,8 @@ #ifndef BROWSER_H #define BROWSER_H +#include "downloadmanagerwidget.h" + #include <QVector> class BrowserWindow; @@ -48,14 +50,16 @@ class BrowserWindow; class Browser { public: - ~Browser(); + Browser(); + + QVector<BrowserWindow*> windows() { return m_windows; } - QVector<BrowserWindow*> windows(); - void addWindow(BrowserWindow* window); - static Browser &instance(); + BrowserWindow *createWindow(); + + DownloadManagerWidget &downloadManagerWidget() { return m_downloadManagerWidget; } private: - Browser(); QVector<BrowserWindow*> m_windows; + DownloadManagerWidget m_downloadManagerWidget; }; #endif // BROWSER_H diff --git a/examples/webenginewidgets/simplebrowser/browserwindow.cpp b/examples/webenginewidgets/simplebrowser/browserwindow.cpp index 0b85e2bb0..43c25e633 100644 --- a/examples/webenginewidgets/simplebrowser/browserwindow.cpp +++ b/examples/webenginewidgets/simplebrowser/browserwindow.cpp @@ -40,12 +40,13 @@ #include "browser.h" #include "browserwindow.h" +#include "downloadmanagerwidget.h" #include "tabwidget.h" -#include "urllineedit.h" #include "webview.h" #include <QApplication> #include <QCloseEvent> #include <QDesktopWidget> +#include <QEvent> #include <QFileDialog> #include <QInputDialog> #include <QMenuBar> @@ -54,9 +55,10 @@ #include <QStatusBar> #include <QToolBar> #include <QVBoxLayout> +#include <QWebEngineProfile> -BrowserWindow::BrowserWindow(QWidget *parent, Qt::WindowFlags flags) - : QMainWindow(parent, flags) +BrowserWindow::BrowserWindow(Browser *browser) + : m_browser(browser) , m_tabWidget(new TabWidget(this)) , m_progressBar(new QProgressBar(this)) , m_historyBackAction(nullptr) @@ -64,10 +66,11 @@ BrowserWindow::BrowserWindow(QWidget *parent, Qt::WindowFlags flags) , m_stopAction(nullptr) , m_reloadAction(nullptr) , m_stopReloadAction(nullptr) - , m_urlLineEdit(new UrlLineEdit(this)) + , m_urlLineEdit(nullptr) + , m_favAction(nullptr) { - setToolButtonStyle(Qt::ToolButtonFollowStyle); setAttribute(Qt::WA_DeleteOnClose, true); + setFocusPolicy(Qt::ClickFocus); QToolBar *toolbar = createToolBar(); addToolBar(toolbar); @@ -85,7 +88,7 @@ BrowserWindow::BrowserWindow(QWidget *parent, Qt::WindowFlags flags) m_progressBar->setMaximumHeight(1); m_progressBar->setTextVisible(false); - m_progressBar->setStyleSheet(QStringLiteral("QProgressBar {border: 0px } QProgressBar::chunk { background-color: red; }")); + m_progressBar->setStyleSheet(QStringLiteral("QProgressBar {border: 0px} QProgressBar::chunk {background-color: #da4453}")); layout->addWidget(m_progressBar); layout->addWidget(m_tabWidget); @@ -97,15 +100,14 @@ BrowserWindow::BrowserWindow(QWidget *parent, Qt::WindowFlags flags) statusBar()->showMessage(url); }); connect(m_tabWidget, &TabWidget::loadProgress, this, &BrowserWindow::handleWebViewLoadProgress); - connect(m_tabWidget, &TabWidget::urlChanged, this, &BrowserWindow::handleWebViewUrlChanged); - connect(m_tabWidget, &TabWidget::iconChanged, this, &BrowserWindow::handleWebViewIconChanged); connect(m_tabWidget, &TabWidget::webActionEnabledChanged, this, &BrowserWindow::handleWebActionEnabledChanged); - connect(m_urlLineEdit, &QLineEdit::returnPressed, this, [this]() { - m_urlLineEdit->setFavIcon(QIcon(QStringLiteral(":defaulticon.png"))); - loadPage(m_urlLineEdit->url()); + connect(m_tabWidget, &TabWidget::urlChanged, [this](const QUrl &url) { + m_urlLineEdit->setText(url.toDisplayString()); + }); + connect(m_tabWidget, &TabWidget::favIconChanged, m_favAction, &QAction::setIcon); + connect(m_urlLineEdit, &QLineEdit::returnPressed, [this]() { + m_tabWidget->setUrl(QUrl::fromUserInput(m_urlLineEdit->text())); }); - - m_urlLineEdit->setFavIcon(QIcon(QStringLiteral(":defaulticon.png"))); QAction *focusUrlLineEditAction = new QAction(this); addAction(focusUrlLineEditAction); @@ -114,14 +116,10 @@ BrowserWindow::BrowserWindow(QWidget *parent, Qt::WindowFlags flags) m_urlLineEdit->setFocus(Qt::ShortcutFocusReason); }); - handleWebViewTitleChanged(tr("Qt Simple Browser")); + handleWebViewTitleChanged(QString()); m_tabWidget->createTab(); } -BrowserWindow::~BrowserWindow() -{ -} - QSize BrowserWindow::sizeHint() const { QRect desktopRect = QApplication::desktop()->screenGeometry(); @@ -134,18 +132,16 @@ QMenu *BrowserWindow::createFileMenu(TabWidget *tabWidget) QMenu *fileMenu = new QMenu(tr("&File")); fileMenu->addAction(tr("&New Window"), this, &BrowserWindow::handleNewWindowTriggered, QKeySequence::New); - QAction *newTabAction = new QAction(QIcon(QLatin1String(":addtab.png")), tr("New &Tab"), this); + QAction *newTabAction = new QAction(tr("New &Tab"), this); newTabAction->setShortcuts(QKeySequence::AddTab); - newTabAction->setIconVisibleInMenu(false); connect(newTabAction, &QAction::triggered, tabWidget, &TabWidget::createTab); fileMenu->addAction(newTabAction); fileMenu->addAction(tr("&Open File..."), this, &BrowserWindow::handleFileOpenTriggered, QKeySequence::Open); fileMenu->addSeparator(); - QAction *closeTabAction = new QAction(QIcon(QLatin1String(":closetab.png")), tr("&Close Tab"), this); + QAction *closeTabAction = new QAction(tr("&Close Tab"), this); closeTabAction->setShortcuts(QKeySequence::Close); - closeTabAction->setIconVisibleInMenu(false); connect(closeTabAction, &QAction::triggered, [tabWidget]() { tabWidget->closeTab(tabWidget->currentIndex()); }); @@ -156,8 +152,8 @@ QMenu *BrowserWindow::createFileMenu(TabWidget *tabWidget) connect(closeAction, &QAction::triggered, this, &QWidget::close); fileMenu->addAction(closeAction); - connect(fileMenu, &QMenu::aboutToShow, [closeAction]() { - if (Browser::instance().windows().count() == 1) + connect(fileMenu, &QMenu::aboutToShow, [this, closeAction]() { + if (m_browser->windows().count() == 1) closeAction->setText(tr("&Quit")); else closeAction->setText(tr("&Close Window")); @@ -288,7 +284,7 @@ QMenu *BrowserWindow::createWindowMenu(TabWidget *tabWidget) menu->addAction(previousTabAction); menu->addSeparator(); - QVector<BrowserWindow*> windows = Browser::instance().windows(); + QVector<BrowserWindow*> windows = m_browser->windows(); int index(-1); for (auto window : windows) { QAction *action = menu->addAction(window->windowTitle(), this, &BrowserWindow::handleShowWindowTriggered); @@ -311,7 +307,7 @@ QMenu *BrowserWindow::createHelpMenu() QToolBar *BrowserWindow::createToolBar() { QToolBar *navigationBar = new QToolBar(tr("Navigation")); - navigationBar->setAllowedAreas(Qt::TopToolBarArea | Qt::BottomToolBarArea); + navigationBar->setMovable(false); navigationBar->toggleViewAction()->setEnabled(false); m_historyBackAction = new QAction(this); @@ -328,6 +324,7 @@ QToolBar *BrowserWindow::createToolBar() m_historyBackAction->setShortcuts(backShortcuts); m_historyBackAction->setIconVisibleInMenu(false); m_historyBackAction->setIcon(QIcon(QStringLiteral(":go-previous.png"))); + m_historyBackAction->setToolTip(tr("Go back in history")); connect(m_historyBackAction, &QAction::triggered, [this]() { m_tabWidget->triggerWebPageAction(QWebEnginePage::Back); }); @@ -345,6 +342,7 @@ QToolBar *BrowserWindow::createToolBar() m_historyForwardAction->setShortcuts(fwdShortcuts); m_historyForwardAction->setIconVisibleInMenu(false); m_historyForwardAction->setIcon(QIcon(QStringLiteral(":go-next.png"))); + m_historyForwardAction->setToolTip(tr("Go forward in history")); connect(m_historyForwardAction, &QAction::triggered, [this]() { m_tabWidget->triggerWebPageAction(QWebEnginePage::Forward); }); @@ -355,22 +353,22 @@ QToolBar *BrowserWindow::createToolBar() m_tabWidget->triggerWebPageAction(QWebEnginePage::WebAction(m_stopReloadAction->data().toInt())); }); navigationBar->addAction(m_stopReloadAction); + + m_urlLineEdit = new QLineEdit(this); + m_favAction = new QAction(this); + m_urlLineEdit->addAction(m_favAction, QLineEdit::LeadingPosition); + m_urlLineEdit->setClearButtonEnabled(true); navigationBar->addWidget(m_urlLineEdit); - int size = m_urlLineEdit->sizeHint().height(); - navigationBar->setIconSize(QSize(size, size)); - return navigationBar; -} -void BrowserWindow::handleWebViewIconChanged(const QIcon &icon) -{ - m_urlLineEdit->setFavIcon(icon); -} + auto downloadsAction = new QAction(this); + downloadsAction->setIcon(QIcon(QStringLiteral(":go-bottom.png"))); + downloadsAction->setToolTip(tr("Show downloads")); + navigationBar->addAction(downloadsAction); + connect(downloadsAction, &QAction::triggered, [this]() { + m_browser->downloadManagerWidget().show(); + }); -void BrowserWindow::handleWebViewUrlChanged(const QUrl &url) -{ - m_urlLineEdit->setUrl(url); - if (url.isEmpty()) - m_urlLineEdit->setFocus(); + return navigationBar; } void BrowserWindow::handleWebActionEnabledChanged(QWebEnginePage::WebAction action, bool enabled) @@ -389,7 +387,7 @@ void BrowserWindow::handleWebActionEnabledChanged(QWebEnginePage::WebAction acti m_stopAction->setEnabled(enabled); break; default: - qWarning("Unhandled webActionChanged singal"); + qWarning("Unhandled webActionChanged signal"); } } @@ -403,9 +401,7 @@ void BrowserWindow::handleWebViewTitleChanged(const QString &title) void BrowserWindow::handleNewWindowTriggered() { - BrowserWindow *window = new BrowserWindow(); - Browser::instance().addWindow(window); - window->loadHomePage(); + m_browser->createWindow(); } void BrowserWindow::handleFileOpenTriggered() @@ -414,7 +410,7 @@ void BrowserWindow::handleFileOpenTriggered() tr("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)")); if (file.isEmpty()) return; - loadPage(file); + currentTab()->setUrl(file); } void BrowserWindow::handleFindActionTriggered() @@ -450,24 +446,6 @@ void BrowserWindow::closeEvent(QCloseEvent *event) deleteLater(); } -void BrowserWindow::loadHomePage() -{ - loadPage(QStringLiteral("http://www.qt.io")); -} - -void BrowserWindow::loadPage(const QString &page) -{ - loadPage(QUrl::fromUserInput(page)); -} - -void BrowserWindow::loadPage(const QUrl &url) -{ - if (url.isValid()) { - m_urlLineEdit->setUrl(url); - m_tabWidget->setUrl(url); - } -} - TabWidget *BrowserWindow::tabWidget() const { return m_tabWidget; @@ -483,23 +461,24 @@ void BrowserWindow::handleWebViewLoadProgress(int progress) static QIcon stopIcon(QStringLiteral(":process-stop.png")); static QIcon reloadIcon(QStringLiteral(":view-refresh.png")); - if (progress < 100 && progress > 0) { + if (0 < progress && progress < 100) { m_stopReloadAction->setData(QWebEnginePage::Stop); m_stopReloadAction->setIcon(stopIcon); m_stopReloadAction->setToolTip(tr("Stop loading the current page")); + m_progressBar->setValue(progress); } else { m_stopReloadAction->setData(QWebEnginePage::Reload); m_stopReloadAction->setIcon(reloadIcon); m_stopReloadAction->setToolTip(tr("Reload the current page")); + m_progressBar->setValue(0); } - m_progressBar->setValue(progress < 100 ? progress : 0); } void BrowserWindow::handleShowWindowTriggered() { if (QAction *action = qobject_cast<QAction*>(sender())) { int offset = action->data().toInt(); - QVector<BrowserWindow*> windows = Browser::instance().windows(); + QVector<BrowserWindow*> windows = m_browser->windows(); windows.at(offset)->activateWindow(); windows.at(offset)->currentTab()->setFocus(); } diff --git a/examples/webenginewidgets/simplebrowser/browserwindow.h b/examples/webenginewidgets/simplebrowser/browserwindow.h index 03c8d385b..745061691 100644 --- a/examples/webenginewidgets/simplebrowser/browserwindow.h +++ b/examples/webenginewidgets/simplebrowser/browserwindow.h @@ -42,14 +42,16 @@ #define BROWSERWINDOW_H #include <QMainWindow> +#include <QTime> #include <QWebEnginePage> QT_BEGIN_NAMESPACE +class QLineEdit; class QProgressBar; QT_END_NAMESPACE +class Browser; class TabWidget; -class UrlLineEdit; class WebView; class BrowserWindow : public QMainWindow @@ -57,15 +59,11 @@ class BrowserWindow : public QMainWindow Q_OBJECT public: - BrowserWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = 0); - ~BrowserWindow(); + BrowserWindow(Browser *browser); QSize sizeHint() const override; TabWidget *tabWidget() const; WebView *currentTab() const; - - void loadPage(const QString &url); - void loadPage(const QUrl &url); - void loadHomePage(); + Browser *browser() { return m_browser; } protected: void closeEvent(QCloseEvent *event) override; @@ -77,8 +75,6 @@ private slots: void handleShowWindowTriggered(); void handleWebViewLoadProgress(int); void handleWebViewTitleChanged(const QString &title); - void handleWebViewUrlChanged(const QUrl &url); - void handleWebViewIconChanged(const QIcon &icon); void handleWebActionEnabledChanged(QWebEnginePage::WebAction action, bool enabled); private: @@ -90,6 +86,7 @@ private: QToolBar *createToolBar(); private: + Browser *m_browser; TabWidget *m_tabWidget; QProgressBar *m_progressBar; QAction *m_historyBackAction; @@ -97,7 +94,8 @@ private: QAction *m_stopAction; QAction *m_reloadAction; QAction *m_stopReloadAction; - UrlLineEdit *m_urlLineEdit; + QLineEdit *m_urlLineEdit; + QAction *m_favAction; QString m_lastSearch; }; diff --git a/examples/webenginewidgets/simplebrowser/data/AppLogoColor.png b/examples/webenginewidgets/simplebrowser/data/AppLogoColor.png new file mode 100644 index 0000000000000000000000000000000000000000..2a49717828ba3977b2b49eb13a690ce1777ab6c0 GIT binary patch literal 6113 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 literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/simplebrowser/data/addtab.png b/examples/webenginewidgets/simplebrowser/data/addtab.png deleted file mode 100644 index 20928fb402aab20c838fca4dae2e9c1db2c54373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf_5hy{*Z=?jtE;Q)=;&BlTH4v$ z+1uL#*}A&A4h{~Ej*i;e+Q!Dlc6N3yF0McT6t}Xn0*ZThco-QOnVXxtySsaOdg|-z z12sB1IeB<^dU$%8nVETcc?ARnL`Fse&G+;31F8uM3i9#s@%8luni&`vsHUa{RO9dO z4>ZKW!otSJ251Y=5Qx1lE-oP<A>m=+Kue>eqhn%XQc_Y<Q&Y3DvJ4Fk!^6XQdhf^r zy&zW-<QL3f0s`qk&;SAlfZ!?+yaj=eAETt-{s5|6@9E+gA|aW3@TFK|fC$@#^ExwC zgYOpaYUU6XJoVdNeDziTYUckYY?H5M8D%WE7CT3;u*On%*NQKDLfE`mjlNd>$h0zd zv@G^}^vs0uM)=2?=VyNY)?8=S@N!}tt6}iRMUO=eSShUw+`_gYuqoRqm*I>{!9DpI z{J)D8(iqy@T&)uQN|u}vaLAUd^Dy$>)qYy6?pNK6lbfbQzW5%vF=nwme{Kx-)^8d6 gZl60Y`{y%j_;1m)-KBXCflg=eboFyt=akR{0MYZR8~^|S diff --git a/examples/webenginewidgets/simplebrowser/data/closetab.png b/examples/webenginewidgets/simplebrowser/data/closetab.png deleted file mode 100644 index ab9d669eeebed9718363bd06ba84fdfd9e7cd6b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf)c~Im*Z=?jtE;Q)=;&BlTH4uz z0FbS#tLxz4;OOY6t*vcrY;0#|=i=((>goy<x3aPVihH<w0D+N_k-53KyE}-Zudff( z>*VC*;Rym}W@bPVXt<Y`m%qP%KtMoHP>_v{4bWI$Utd2zKcFE%#ZggFv9Yla9z1yT z=+WcHkDoq$`uzEGpmovF(ca$PK*OD#o#W!-l9G~KTwJoUva++Yi;Iif+uLW(oH={; z>^XDh+`D%V=rEugfYybCgoK8MIyyQW>XKdu^q_o6kY6x^2?(SEK?4XJ0D-GluU>l# z0v|tqT5?z%sC2)li(`m{WbVQ1Vh0^WST8Itzqt7R8J}4qF1|`02mjX#o&J=O|6qPh ztW^KfDn9$C2OYoKd^ON`yn53GBWDif%VMH6PulHvw?8kgNdITRzaVjwbgtfX-n%ny zGF%9px6S#suI0Djmkcuuyx+tsmFw%6F&c<|%X}`hbN6K3WemISa9w+1v4v0P9_xiG z^5I>frpsPC=QC;a^n{j}#2?Q{?cw^dLN8eNq0PlhsiN_wkryqmi|%ZjpS0V4_V*~& bKcCs&oRdi2E+elG^a_KgtDnm{r-UW|i^$5o diff --git a/examples/webenginewidgets/simplebrowser/data/defaulticon.png b/examples/webenginewidgets/simplebrowser/data/defaulticon.png deleted file mode 100644 index 01a0920c93c67e94ee3c9b8317fd6dd1437e8e4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1473 zcmV;y1wQ(TP)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX000GuNkl<ZIE{Uk zU5H$F8ODGA|M{Oe=giER&z+f_-OcW1lTBi1+>#iI23lH6uvH4ZNN=n~#N4zON-uJu zc;k&A(yQ8Bh$zJyTM<kUg(j_v3T-JQ{fOCRH*WSL+1=SQpJ!&y_wiz}Acnm6&+mO7 zczGU?rYR4a)0aLe4*kxv#|}@u>h$`vx0g5bnpASSS&5`B)`BGY&1Wm^U!=ePM(;s- z@gVRsudV*j?F@gsx!;kC(-Z9Wx@05>P3Op=IeN}Mj<d%o2-D`=)a7?BoqFY=;OAan zsjh5#*R?cV(xk^;yG^}dGLg?<DUHKNj$mX=%#4YQHCFH3VtH+YiRPqpV|DlB-mjn8 z`#<nEf4N!x@YCJRqtg@C`K2j-^42vL8+j&dlbNzf&d&4r7w2)@1SJ&hA?&*;o0}`# z-QL5CMY8PnCtI&S+X7Jk-LSTo++3QgTjx(Vv28`OWU)Az=j_o6jgrAVCuC*2!&ero zbjAmoI1vQ(8GLU**F~PIm6m}DfCM=IbLXcyzd!xu6E!>~`DCX@(Nr{wCXJH8Of}0F zW(%A<W}~!(jkZhA8`1N6bi;sBsY<m{#A)@*_3vEyE`YY%c%`(ywfTp$$7e)jDSr0W zUs=0zk9xsms%%os8c0oJyA#o@7}RWy>5@*A92mBZJg%SM`7X6`jpfzVr{DPV-W$@< zv<sE2E{tN9-@SX2et(3n38a8+$K!rC;MUfdQqCZV1Z7K-%}7qqW_V)JpiuzJF!58c z3nplKHWcyGY8d!0*|{8_t?w}QLxcb!#OI&Vc0(qL8T#XdCz}c-Ax_|47rY1->p-gG z4^lFkVq&63uRnM~%I>})Or2wgswgQ5<CHK?h~ktuN%4XhKZvN>2iHc)0XRv)apBf| z$Y?3Yr}Ic9al;6a@|bkTgEM(cF;U2I>B1QnnnlJz%s7nkqlA$c;En_C><$@)DWd?q z5P}Gz7)%9*j0j>uy=XBQ1(3uiw5i8l`oW>ex^lgUFpel@B{%Q1Fm(+>X(&yQrYU}q z;75|Iq2u}yLExha*zRkzI&D%kx}l9T93a9lRtWuLcQ`sbTRKG9(wI7CQO+B@{g-7- zC6NNs6#Ova!<7VgG-fak`FOpDoi&+kO!M!p7TLlymX%O1*%WkfU*&A$cHec+#!*7w z)6k^JmkuB1-0>#2*LT?1?egeck-3^hs~7P1f3@hiA%2vwy6bXA*Aco+Hd`bN6I%N{ zYQ@|?)b`%simkifT9_Y^p~x_RoB;*X<nc%5F_%JK{nbAi`{{uLDM*qOFNzs>5wioI zMr8&eB&$x3a2#USb63@{A6^Tzp}Tdjl|MYIfE-&L*y(|(L+H2pV68*mR2WJkg&;{& z{3yZoBKF>2=i=8Fh?1CYw?jr#Zezy2rgd+;>AiM!eY@>A&)2GDqz+1END+hyIQ=f0 z&X_0>_)*F@Oo&s7u4ky&dFrJC13%_|dx+ca^T^`t#mg^N-~T+_=DvO9dc9J4>cpuj z>}-*oZZTQXc<;tGgR#fh4+x`}Bu$Y*kWmWD$dI>8@`g^o?_*oWyTASZ%vb*>-GW$u zVRPsHnvikv<Wj<PC19ai$9lBM-F=T%->2_|oSHExWfgZ?5q(dPk&2cxAn=2ps_8F0 zFz6dE{;8VLqPI&0_2lf4CbOkE4%PECY>BBuO2TYeP%lbuY$SZN=JL_X4n{_QPi3PE zSHE}Md1y5qefgb>mWnS6lx7(=)k>L?okQ0%WMs%_?6KpF=?(p1v1q=0{YNL?d}uWZ zAuON<)KvM%ynXU(PwB<^Gs<o(=w_uNgcK?n^wZ(a#&Gxc&Gx5%{9Dl7xC`t8TR<;O b(-`1CE1{QKcOYYB00000NkvXXu0mjfy$tXg diff --git a/examples/webenginewidgets/simplebrowser/data/dialog-error.png b/examples/webenginewidgets/simplebrowser/data/dialog-error.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd95bade1d2fc496e067d2a78e4b1cf76624e03 GIT binary patch literal 1645 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 literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/simplebrowser/data/edit-clear.png b/examples/webenginewidgets/simplebrowser/data/edit-clear.png new file mode 100644 index 0000000000000000000000000000000000000000..5542948bca68a69ee870e7a52d03116319dde91d GIT binary patch literal 1682 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 literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/simplebrowser/data/go-bottom.png b/examples/webenginewidgets/simplebrowser/data/go-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bf973fedc2ceafa07c68be16aa3e9b20cfb71df6 GIT binary patch literal 1263 zcmV<L1Q7d)P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800004b3#c}2nYxW zd<bNS000E0Nkl<ZScUDEU5Hgx6vuyipL6eAKY~(mQ2Q9etcMiKugXeG$cGZfK%+#1 z3WK16LVM|9!g^49?7;{LBP0`*h)~F{!I?C4Dlw<jF?AYka#EXS?$<eIuhql3_d4U; zoA(k!FKyVYefBx$zkX-!ebzb${%`+rGu2!)Z?)B0g<CgBRoZ^Fg72;R6ekful*MU; zlemjU@v)077&h(P0A#Dutr{S7d5&G!Pk-(Tq2viAPvmlhE+8n_e3W6)Jug)&34pEk zLRBS_0H-051Vk<%bOE8u7sh$QD2J19cmS$tg4BFZ4FK^zR2^*NGx69-G@JmSDkwS# z;@Vh{;RH~X*da>%%mtVNP~dW<NDK>r6rHLdMHr1?oJ8cqbj{A8%xhRN>8K*&Pz0=C zP^?j0m?I;X@sglwFy0WI07ydl<TNx7So6%Jv6DBy(zrHdtwq!op4i2XtzZBlpfBhl z>w2*Xuvk<fnMko}>6$n~0^&5eWADdd&(({smV2(U>GI*X?AmE}KKSO-kG?qK`>s8t z!(NmSXF?o#u4KFD3;qDBU<@V>5U8RGB1*!HWI@9UTHE$#J34>-sAavpUe1?SZnCpg z4~)3CYmT*k!}Q6I_?OZhI2#gamW%x-$?0F%gu(L+)-zZ?w#G9U3%=(w?~bK(oIM>J zKYjS{gkN-ddwcmET4@t%CZ*5r`)+5)xr^;?YW-Z4i0<?$oXz1S41U7kB`to^;wOsM z;3q8iO?ra9-n4#uY+rXqwQ<`vTm?Us--5O#GA@us+nYE2na>3}ZuG5$CX45rxECP& zB1F>SB`s6N&0@5vXLs|C{>aF}wsrJY@=<XKimmG~eYeeVdr$s)e8v5DKa>zJpx^ai zeT!G>@e&wo7(c3ksW;8%^DjTiX0y4*Z`RAvf6~7p06^y<ejEQlc=~+TnWr9`u_V#! zx(VpROIW;wiLGxKogBl=u}j#wYip+G^6ziAzVEi&NV_TkfUXv8ub-PuUb@^pd%^U^ z#HIWh#O6y8s7t1pJ$4z*t^0Ew=YQJKvQE}iqgyoqKxd0K-#p{$tSFL(S$93|cjtZv zD|ps2V@x9*r_M%)jvPF3CFK_P9H_kMu5YyzBhA$5@*hqdIdksZ`DpqrPofT{jG9k> zPoR66cVERsi%v8V)Sx*u5zTC3<cJ(~6)BX77Vqe?#VhM3PPpCl_4l%Q>xU8s;X?fA zSf%^2De`SiWUikdl8RGlo5qkUj~7pgXlnacpYihZukpp#TU-$4J?pazY@BV%q?}Zm z6jW0SfH$7okSgjJ3)aNeSimaAnAid@G_LmI$Y=@`q);VA1a;s<5K%tZ@=n>vlm&<+ zWZ#92c-F&M#rgwFvBRmuiJ$^5ii?#*f(S_DPz>s{RFIZTTV2+9MSy&iVP5^pYZImz z1%oL@!<f<%8B;7q@o^l1cuqwTDXobQ4Ek&;3$St9yA_H5WwXTCC8A1yFBV7;19}7O zz+Mz93MwFgyRJtC8x+Qaw&;z1pG?8gKnOcvzIaVhR0`vw<ESuK@q4|h|F<gdt^JD> Z_#3A-gu7hy2|NG*002ovPDHLkV1hd;Whnpv literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/simplebrowser/data/go-next.png b/examples/webenginewidgets/simplebrowser/data/go-next.png index 6f3f65d33d303315f0d8d9dd03c7e7e2427d4950..a68e2db77531cb15a2cddd62f567f030513b60fa 100644 GIT binary patch literal 1219 zcmV;!1U&nRP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800004b3#c}2nYxW zd<bNS000DfNkl<ZScUDDe`r-@7{@>Fd(Ls*Wa_5Q6f;u`ihh?a=O`)@EeXr|Ly9sZ zC=5b3BMHKwqR9S{L?bMO<qxEV7-g(!vo_pvD(0`y&6!g-o7%R!yL*1T@7o{uoOyTM z=A7VPd*Hdx%RT3LzTfkGp7Xv325ry=Xaz;KnNe&#cfEDw^(0Rod*{Z&VtXYZ23o@! zXyPpea^;7weQU>)t&cFZZhGEqz3tp@_}5zJx)hL7Fu!o|&;^gZF(;OA_T|6Jgd0l0 zQ!YoFtGH)szVrIL_irC&WgjdkwrAWh0$K+ogE&W<Dj7LqxP1GCk8(y0A6s6q%v#jn z8a)nAL6L0`boQBPh<*CjcN}Oe!&5HCXvSnuWK3)lo6FWD>zfXLJ-$IL-MSSuAOasO zUW;WpNF+iC1OlQMW=di6=cym@wTspYgC;v`G*d=DNO?_Zvij)GJxLkNul<bH-U!&e zQ#0&7u?Z=xE*C<ik-02|)*5XL+9+B&PSc*ez@rb%9Xcv!Y~jyUoBzsRE}yLa+&$hC zOs_MbjKWtQzV-;Thp%0Hm0AaQC_Ho+mGDr)MUlGR?p~ng)OIFLxXpfP&XNhkoUGcJ zMfOwIM8FuG0#hEoa`Ckrf`l%70^y;Aj}|@(m$=`;#bhJrJ5F-0t&ZKtH{n@v@#?&H zvU5h{ZJW8=S=#RwXsrmehd?5w#1>YHuasf`1<C|;c$a8Pwvh1K(Mq9}NpooayMa6M zrt|XLC9!Q4B_C6Kd{*VE;F+ru@U=_AYr~Q@j^hw$g9#Ky1q8;$)p0zPzz6_?v<YVf zQa>7F3`RqsJv{BAO(1|N{Zb&|wbRsAkC0$F63Z4?wm{kfX$hnR>7?EXgTQEmj=+Th zBftpm9{&V+vB_-Nv97bV{o?A%Rl$m@5$HA-(h^83jJCiEqm%*>-f0XN9VuV{gDqk_ zJn32dxHjLHZRkvNbiP@=T5SSMUj#(@e?q4Adnv=Gj=;NA5Fr7B(czN=!<<~E-TXZD zC+mWWnzFXmMzi41W>rh-@Kfm|G6~3Z1zvn$MHf({f{-csg-rFk?97+=fs0nDnqy)U zxi|M|D);X84j!qkJM~Af@JtP7!@A)lU)~*iYJmV)yXBJ}E_Ju!B`dHTfewf7*6jP3 z6w7D(FQv(b(+xY1Y*fqITZpIEC1dx^Bwzqt^+hlo7y>w<r>`BrDJ-@t5M)`FKpTs@ zMm|o=9Y;y&2KV28F0QHlMy&(<ux7e<I~y_y=+G4qglr@4BG^?#2!>|e#QnLmxOBGD zl>D?laqd`h>9HTwt}s7xmA3A42uTCJLYcHe7Jw~=FfC^x`}gk)cK!ZqOXEKM%E@wd zA_Lq{i&uOx^+dn`UI-Wg2jRUI(I5$o@}aDv+&yq)@4@;V{-UPC{FgyAiZ1kgEcfSQ z(!K&5WI>UAAuo5F-*o<L$)WY?y?C5}%PovZ`@I48r9h@dQbx1T^{O^EH!a_@T75<L h0gF@{v_b2a{SV9&9x2I+Scw1t002ovPDHLkV1o1PM3evk literal 930 zcmV;T16}-yP)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX00004b3#c}2nYxW zd<bNS0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$TG)Y83R5*>b zm0M^XRTPH5HM8gBV(mpKDJa$_Z|#GH3N?w)f>s1UMXmZGQl%7pX-P>7f}&tiq(1aT zP)ljdLx@@mDPl`Bh9;&enie%Q#!J+svBm_`ljO{0&t5*9IdzgY(T8-w&&-B3-`fA$ zi`k;8T#fLq3ibbj8=Hf!`X=+>l7rQ;d2QV-?>9CVb}uOyV8_ERRIj^v<E!`VHE(a* zCjOFveLvul&D(1>t-Jr}^J`7#mgi;JV)-V&XlM@pz)^Qubt9p3w))KZP8v6Cty-~c zRl~=9ZT*|}%9hiw>&TVBk{`E*J%R4u*)k_V)uAX(9bH4M2p)H=X<%%8)E(<;`P*81 z@8<{N{{IBOvg2J&{nVa86~&Rd6sHcSmeg5NwcJ*BHyV2!{p9dWDJ(v9>J8g5$L0J= zsk213L}W|EX-H&4k~AVoLt+~ery;Q|@y+iixR{Rd<O4geS#j;^wuU`H)1qMO5=u#t z$=NY36o(m~{*9^9pM<tZLP#nRPGX$I3|#18XyOYVyYHFW8|!X*xv|+CtZ>YHa50=@ zc;Z`>a*M<RKk)FK;0HbhQ@}Gm;shrtYNGN}5JYZR5S+MZ4m7CpFom)_BY3_AEY2yn zuB>NG;dVYeab$LCdg4%TZMthga6bIN!w)=6m3OItX9Q0?*00)%Kf9c^j>EIlQ#1Qc zA57l?;H7zB5ee#>%FD+$>_Y(0NEvPf-v}qi-lVpshC8o+i1CprJ$AfhX7ZQl+3(t2 zH&6>05s6eaF&WeV1%>gq+V-!$Z0APe-Os&PsP>n$@w!Jj_x-uF^Rtr^!@atFw9gFz zHT*jWDk5oR$3Ecq9kA<xs!Y|D_xdK&>r&;el~2&q-4lO(_RF6KKCrtkj_?;y0348J zvVd8%$N30LAs>C(5f2Uy_MAE5UP~ip7D;y%aK4(KDFy_}Bhr4nHU9O7(L-n7bFEo! zk}1x<%d6Z9Rkb2Q1|nz80wzuLs~`JES_Y1~?yQi@K`QVBC;_3W>YRUtl<7g%+ko=a zR2)dofzERo0g<ZOORR-1QxWkgpR}J-#ZCUOQoRD?A1x<`zw_bNGynhq07*qoM6N<$ Eg5-w0LI3~& diff --git a/examples/webenginewidgets/simplebrowser/data/go-previous.png b/examples/webenginewidgets/simplebrowser/data/go-previous.png index 93be3d1ee6b90843d7df0f517733f63ce72f4611..c37bc0414c24b6e4f34096d0c0f20fbe0bf84045 100644 GIT binary patch literal 1200 zcmV;h1W)^kP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800004b3#c}2nYxW zd<bNS000DMNkl<ZScUDDZD`e19LGQBod18j&diD&q$0z#6%iC!v)!p>R-4&_N(%y0 z5>0!N*ydiwAf#TXK|#<H%r`|%$}sRnN|xwF1BnId7G>&u+I8MN-n)D6dFaLezuUdn zt@c3g_Jtq6Kj+W+{l4e-bPh~m3X{a*Mpa+k;JJzJmy_@<qC32u3+}pqukV#k*vNzk zJl)9jnkMhS;`>&-_4*5MM?B?En1DCl4OLCdP2wL~vvkw^MfWcAl~faU4&#hKb))y# zbnn)-H&(y1@ZriOetXwRtkaVsFy;tE8`Sz)GiQIa^~L5g<tsY6PLeTc93a5_e*~J5 z(WJM#a?V3rHq`Bi^kw3l@BSTQHO^UZ4hL#1op5}&7ULoiZDIz4-u{{g>Z+fMZirm! zX(y4oiggBS4aRAtkTk#c3D#L02J37n1{Z2$4ez$RIW(>a)NGH;cfuTAyKLi}MU_wZ z9bG3#X8LfroMGz>vA@2>SdFn79cp8<Xq(OH<@dZg>LEuYP}Ar=UgG=Tt*hHHWA>f% zMBC*b$(nTd*Ws`r92SGc;H1W)aW2rq<g7C|EY6Ldotp?m8~iPI%q-utu6Fx0=|kJ) zBSEf(KnM^L5C9e{3>F)Z5E>^9<fSJFzXmK0M(o!D0?{V_tBUf<=hv@nj9ltFOK104 z1Og!hQU+Q8LJ*t`OUm?<%=9v(lW3F18i#NS>3kF=VQpA&j5w_d2v}>Yg$IL~1bsu- z(Ix`~&Xo`W861O|9{MwJ`m@)`*i_I74x9yR9acN6aTx9Jh>+H)v87<{c~fzYv%5at zzjO1mOJ6Ee(&x;z7^NjX(gQ;pEz%$jQVE0<cv9dH;2hS1FkyxO=OCL+<r7d8&5VLc z*xHIYwo7mC?MrOk_ru<#Z_3=G6?LTTAOqQMG7KV=MR^kCi9mdT=Zk;Vlt6j{sRUAi zR0XZ?Q&bBhjba(wW4`XclBxavr+tYlSFh?P7p~{FvRR?gz=854$`>eKqI`+;L&rJi zLF$6qDTsJM)JJMV3CL3|x^3PPmK?K(TW=(~?p|8;O6hOi2Z^WuMCCbIS<wKFum*xO z1lnPBSQEw-*bc>xMj(d^M~U}#=vBJDZBI{MqIT6&Ya^XQzjA)?mw<#9)WLfnH2<5K ze2i%nyO5m&Z0|LOPJC##WjA(i{$ik|Va=-g$nE9jobEq_P$rk-<GXbf(4l1WB$M}T z^X%tBQVdfh8qlXc*PnKt?%DL^H!TB$ap$Va>zU@?5)7sQNni*_7dh2=V#2i?Mte=T z5x!mgjJqHe2QR12tca+xvPTv?qe@gMM`K607_;veow%4pHY8WjhNIPh3k}#j(SUdE zXWc$<iRI27{j94yUbVWmK9U!K;qVqmaG20dm%@L&r-mJyaI*n)GC}HM%(j*;xG}xs zkM;+XLj&H$nB7@)@^qd|?%7lX5fb+RfAKc;a`+hW!?oOXHH9gR1%CsLV@9Tom>C)X O0000<MNUMnLSTYFF-HFY literal 955 zcmV;s14R6ZP)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX00004b3#c}2nYxW zd<bNS0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$TO-V#SR5*>b zl}%_|RTze!@0@e*&7V^HBN&Y|1&xTHg2tGcEZQg$sloamid{(QrYma`p)R6`8xe$x zE=)JAVs%lCB0?>;8x<m*Dkz9SlvvY<p*CsgWM=NU_j56Kk};-ZT=c-pIg5|yd%u@^ z?h#exN-T3lsDS%F#l8E30TB*_ZNC51sQN~=Yj)f>67IczQ|E_9Y~NZ8{U=yn5|bNt zZ{FN-`>T5f542e0(zO_A*m+=BT65yYyKmi^zpwkzroe@3VKxTmpO<#Qo$9}PN9Ubg z_Xgiie@@TlL5!nPUT}-K{lP!##V{MR`u1A(tAcYQ;T_gAofzD<^P1~6-C!rCJ_VE{ zO?Y9~Tg^rcf*`V-<mlM$_23<_I=J^ax4pHw?dZc>pKddeGBNcDMl99@d@*?#BMu`5 zYb=66M96P>ym1t{;b7mot2ey7qkmV+`Nb)IK6?gh0-Om*H6=|GtZ^8z_|#xB$4MHa zD6$$jKjIFyZ|rzxApcm)<oR!yp8IJTs0o3jq_#puJc-7j;0THARd|hAd4rc78`?35 zk`Vh6WnUx~i=x;Nz++I16~t7%X{u-mis^-aMX{9rSIx;2=l=Zt&_^fVy>!!tZo00$ zhq5n{niALwE`qSx617;GS}jp)^&B)CQmI@XtfQKK{hHtR*X)JiW5*8{*M}YSbUs87 z1lYjfLPHRlDtrlQago7TL4k#H%e<v1L?i&Bi8uTQw>?#y8Bg9ja)0mkw!Y3Mr7-(3 zYAQUq<yo9_*ubEwq+UsUbw^<43@suOt7_~rr~|@G(GTw@-`$w!k>h^+o!nj9Hs){H z=}ylcLsNMD&@1I~F^*P_E-*KL76XJLlGGgAOs=NizD)j@|COP{pFB8!alR|pGZbnf z#AOW%WB!5iMHYZ^rc$=oSgzquXnvZ7!rRH-LgDnu&rXb&7mKAv<@GDAIZiV9I`<Vo zd<iX#r7u>7ewn;fJhF#0jl@vQT*g_QU!iIgs_I1~i>lhOu8{-W_eYbl%HYh8>o&{o zBxWuf-PgfmU=b*(s!IKhkt#g^qHK3{6G$e_R6k`ID61~NDss8UR75P*@7&g@Hcf4! d1W0rh$lr11Sh~C<&aD6d002ovPDHLkV1hiw#cluq diff --git a/examples/webenginewidgets/simplebrowser/data/process-stop.png b/examples/webenginewidgets/simplebrowser/data/process-stop.png index b68290bf1ebf568d8ab080a4e3ec7d75048ec461..e7a8d1722f328be5fa649f774e2fa6bcf049ebef 100644 GIT binary patch literal 1927 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 N002ovPDHLkV1lnLttkKi literal 1272 zcmV<U1PA+xP)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX00006VoOIv00000 z008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_000McNliru)d~?8D*!_)NBaN(1cgaN zK~y-)jg?zyR7V)ce{;@m_L6Mk4YjpuNLx(}7TjjV7!4McQVM~-M8pP^w%9@`wp5GJ z2bIKnf%?#gLi-k>P(cu>t+olJDB6Oi7<19INt@fcyGh*L?Ahx%bEXfwuEs>^z{fny z%x}K=F8>icV;qMifOy81NDJ6=Ej;zmN%%s+rvl_$>k2dh=Ow(;0_uN(Pr~WyhK7%} zHZ{3*mkX3CnzC)MEUZ+DpWE9rgMEG9OW5-yd=~fwoT;v_|6tqBo$h#FAF1(iux+sI zJXA`Ql(-iyV*Z*nTse0xGt}Gr-RJP`;~f17=vUQsb?<N6waXLl>mwZsAw=PBr5?>n zVHpONVNg?F?}*0Z)vtxa%RAtQS>O}!_3A)i&-UhKPpqehbR<H|<3TEg%eH5P!w`b$ zk`f%T7-llbn)U0QQ?Xc0?Zm{=4*01EJ^|mZ_WPT+@80c+-o8yb5+Uk#BdV&%m?m~M zTZAWsAmQ`jUAvZeIE*6}!%C%i#qW1U6N$C86B7$N;EDzy9FF(4H#d8tU0q~CA#zHQ zwJa9w*um0$`$+kGObdabX&7Z?tZHp##ooP`LXcJpBNE}k;2>MKZ1HFw&nEyHfUfIk zLXf_H9|}+RS{9)*XAnZL?7#t1<>eTqrM%qQinFwozYZP3ZJM|Mr4&XujIL>@LM|M| zx>PEkc_Bb4Dr}qh)D*$fr&)3EATJ(2j;?8FN-=QwFa(46aygVzD5bEK0x640)*e;7 zDwfm3k}A*TU~-bF3m0&DJUG2xA{Q@Wjg1wdwryiSgv&?0<aiv6ZRb7L^7kcl9qD$n zxUmsU2sGfi#zx||ZedA@>h4CGCbns!G!05h^3KijSjv1eNJ#=PJRV*;b_{1(8ULI* zMc@AYXhKkP^e9u~<HV&T+0#Sv-aU-|e&p~lwrS1;KZGhN$w*0Z-aJ;dwV`{x{N2_@ zrmKtS*|YQ?IfB#WVq<$d8JCL`c@=UjUX1ejW`;sai8(lkn3^IL3}TrkY}!QP=1uNj zx<u~!bxKD^DF+glFVn4QywKEytD*ucFG%Pv7h>tsnJvA|wym+@;ktDV4bEI7LT+LL zXClFaa2Pc*f@fd=y8zIpr-|OVLoS)b6^)V`8Nsu1B~^g{JvVNcp~=bH9q^3~&;eKL zQYke$Hnwry=FQHWVUP(1(T0Z5L!lznE|^nFa=pD|M@A^EtfVp!;7)I^`RCocf7tMP zCs;+T=zyym(`h+6K3?yyuXpB>NwV>H5vJyt%PK2bSzF8Rot@eKv9Vumc(Vnvv(&8v zuGM8S=4ddu$sY(fbD0d;bQ*LWrR$(+sDhPORk7Uf=h`p7WQJm~A8mNM1+1s(u@hMG zF??3z^L_Z%h7Bdo`STHFW%=SSXtI(L<@M5e{=C^8kN@^19I_z-gn{&v;8I{Y@I0`r z33j{+ZvaB&_X!0;<fEVjr~&A2hjYL<5Cr}O1_4vd@l|;NA5Z}-1Qq~`fO&-%89*F( iP_QU44a6wK7vMjbmt^pwc?k0W0000<MNUMnLSTX!5m$Nu diff --git a/examples/webenginewidgets/simplebrowser/data/simplebrowser.qrc b/examples/webenginewidgets/simplebrowser/data/simplebrowser.qrc index 5795063ca..ec8716721 100644 --- a/examples/webenginewidgets/simplebrowser/data/simplebrowser.qrc +++ b/examples/webenginewidgets/simplebrowser/data/simplebrowser.qrc @@ -1,12 +1,13 @@ <RCC> <qresource prefix="/"> - <file>addtab.png</file> - <file>defaulticon.png</file> - <file>closetab.png</file> + <file>AppLogoColor.png</file> + <file>dialog-error.png</file> + <file>edit-clear.png</file> + <file>go-bottom.png</file> <file>go-next.png</file> <file>go-previous.png</file> <file>process-stop.png</file> - <file>simplebrowser.svg</file> + <file>text-html.png</file> <file>view-refresh.png</file> </qresource> </RCC> diff --git a/examples/webenginewidgets/simplebrowser/data/simplebrowser.svg b/examples/webenginewidgets/simplebrowser/data/simplebrowser.svg deleted file mode 100644 index 9f39deb66..000000000 --- a/examples/webenginewidgets/simplebrowser/data/simplebrowser.svg +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="94px" height="94px" viewBox="0 0 94 94" enable-background="new 0 0 94 94" xml:space="preserve"> -<g> - <circle fill="none" cx="47" cy="47" r="47"/> - <g> - <path fill="#46A2DA" d="M47,92.979c-11.779,0-23.559-4.484-32.526-13.451C-3.461,61.591-3.461,32.409,14.472,14.474 - C32.41-3.463,61.592-3.461,79.526,14.473c17.935,17.936,17.935,47.119,0.002,65.054l-0.002,0.001 - C70.559,88.495,58.779,92.979,47,92.979z"/> - </g> - <path fill="#80C342" d="M93,47C93,21.595,72.405,1,47,1C34.297,1,22.797,6.149,14.473,14.473l65.054,65.054 - C87.851,71.203,93,59.703,93,47z"/> - <g> - <path fill="#46A2DA" d="M47,65c-4.808,0-9.328-1.873-12.728-5.272c-7.018-7.019-7.018-18.438,0-25.456 - C37.672,30.873,42.192,29,47,29s9.328,1.873,12.728,5.272c7.018,7.019,7.018,18.438,0,25.456C56.328,63.127,51.808,65,47,65z"/> - <path fill="#FFFFFF" d="M62.248,59.919c6.671-7.858,6.312-19.644-1.105-27.061C57.237,28.953,52.118,27,47,27 - c-5.118,0-10.237,1.953-14.142,5.858c-7.81,7.81-7.81,20.474,0,28.284C36.763,65.047,41.882,67,47,67 - c4.379,0,8.752-1.441,12.372-4.3L77.88,81.209c0.989-0.895,1.935-1.837,2.843-2.814L62.248,59.919z M35.686,58.314 - c-6.238-6.238-6.238-16.389,0-22.627C38.708,32.664,42.726,31,47,31c4.274,0,8.292,1.664,11.314,4.686 - c6.238,6.238,6.238,16.389,0,22.627C55.292,61.336,51.274,63,47,63C42.726,63,38.708,61.336,35.686,58.314z"/> - </g> -</g> -</svg> diff --git a/examples/webenginewidgets/simplebrowser/data/text-html.png b/examples/webenginewidgets/simplebrowser/data/text-html.png new file mode 100644 index 0000000000000000000000000000000000000000..a896697d78043cf2ed044a1a6cdcae86e736cca3 GIT binary patch literal 1759 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 BTT%c3 literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/simplebrowser/data/view-refresh.png b/examples/webenginewidgets/simplebrowser/data/view-refresh.png index cab4d02c756502f922bbff34df34c0056406bd96..606ea9eba46b82eea04678e64369b97e595f9da5 100644 GIT binary patch literal 2024 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 GLSTY33DUU$ literal 1364 zcmV-a1*`grP)<h;3K|Lk000e1NJLTq000&M000&U1^@s6#I$TX00004b3#c}2nYxW zd<bNS0000PbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$U=1D|BR5*>b zm1#^AXBfx-?>jR)yR%C<mRsZyYmuN9MW|>SkD4Z}F=^Tmf|{770@hEqO%szQ{n9is zHEGgX6eKmafTT2OwXsKHJW8z!1VLK`LOl=`0dax7=XjrfU?CiS@JlE8XOfv`e)F4W zo|%^s5&n;jKTA<rS&Q^6bsP3KXP3U)k^lhgX~rd$->y&;^&>EBHBBo`5EO|sKj&=J z5_Cb3Xb}|nqocOcn7QVqeWz0dr@u@KTRZD39?SzX23GoBb3MSyUw(0^ZDmff>~gB$ zoI%$O1VRQLJess_^m+m#;{k~=9QJeN3zwvG=)Bz$Vg)gg)ls`=U><nmf##FhX>nzH zUSF+63=0$fFk&<nnyNtJ0OJgxX#;;Sf=iwE!`J^F(n-LxsW5BVt^N^Xaw3>_?ZmD@ zc?Mck^<7DVOM82J@iOh}mUc1b4RX!_VG$97nd)|hN(wTZg)gK^L_o+OY+avgFUrrb z_dk3R^J-BR>*^ggbs>p)FV8M3)z7(9XZ@K@nhF@qVOPSI5Z_;`t>7V!6wio%`?=P> zA3pu2HQ3fOOioq8(0B+>0w&hyr!z(7uq*-D9-a>d!)pV>lgu3#<6WMedPCPuFCab# zfSWZH-uC*6wktK|<%Vu;{QXK_`-vYrg7FTH%p?t$ZjC~bI4mJpWT7z$sG36^%FIZv zjn(W8V7$*Fn|I;FwAEE~>4te|Dxga-4h2KwAqW6=g~PIlDMA(iFxz8Gh+v}2@nwv| z{<E&Dk14`V#Vk#pS_m$xYFwqr(%I^_iqxcd4QYu^Y%WNKsz@*eF`Kmj>_|(`Ig88U z%-%Ny0HAWkqWLbWYDi<mf3qyoj<&Q%NDzns!t`DUvguYp0CPT&;;N=G2Dlc{01&~) zxY+*0=I(L%MjTJ80RV-dwx8NNN(7SU9FJ@GWQS~%IRFO6fUs`j<GR+!{gKJ{uOHvt z9j%K@+t(>TyjEIJ7<R|#@!kJEEFBzuTt|e&d945uv)g1`xHSR>LTO$Sn$F*e42=4Y zwjJNqu+UBx&J;-%$5e;!r^&ELn(+IpY_e?4oS!pp)0T!Qkdf#F1JK<+Mx3!##qTsP zUG&@%p0g~mVbT}eef!?vhrU2Kn{nKoz45Fth%o?ba^f&J9>kEB<H&(6_NMba+s<9- z?<uKn`bt>T0b&DOv1B6Yh(lH4dhQNwwkZ<1V>QD&5vpGVo|a|^hIHgFiABV;(0R{` zR|+$w;{0^2<IeC0p2xnhXUxaOCxTAN#*pIHke8E;#5gBw{G}_bnR??QFlUV2e>8<d zHJ2th1K+V}xoyk3EW0;g!XltBFHJ76QeBKq_s<Xn(-fHSN6`4|4Zmd=2QQx78=jRU zA~43J^_2}qtkV|g@4C3d({bie?v~1(?j^a^tDjHH$j?ntGE-xj(_urz5HL&&lK~xF zy&iG(=0iO=F><*3^uZbcVE|zw(r3W-b^98;e$VZ)-gBS*1HciDJ$>!YH7P5%l`C5O zT5zU1RmBKKOo<2(5#OJqeXYj^t~PZ82t^YlqTmdet=@g?&6^GTF9WaxQ0GL6Mv|Ov zB_X3AA?O|U21fh50QBfwN1{+4fCv%MqNRy3Ce4A(L<S&X`ZsSyV??6^Fp0>T%lQu} WX<V9e+}~gT0000<MNUMnLSTZM<aw3= diff --git a/examples/webenginewidgets/simplebrowser/doc/images/simplebrowser.png b/examples/webenginewidgets/simplebrowser/doc/images/simplebrowser.png index 7773090750279f739eb6309283eafcc20e1e9141..b09f7c853959ff0ec5900170bb77ca16c48b375c 100644 GIT binary patch literal 47620 zcmce6Wm_Cg6E4mofnD5T7fo;{ILqSh?(PuW0))jiBoLesTmvDvyK8WF3r=u5Jn#7d z=iB)-*VNoqT~l3kSNBXusVd97!6d^(KtOmSCks<YKtKf`ARt=<kY6Psi7AQ*2uL@o zikea{FE1EC=F`7>XJ_Y6Pfrq~>i75e2#8d-|ITi1ZlCUNA8-Ht{d<y|o$>GA)%MQ* zpYh?%wWZC?T?7=GtMg;DH%uodXZr_#5dm};7Z)g43~Os!&yV-JdxsY%hlmJ>@W^B- z1(Vg~#o4LxuC7i(3O;NiHcSu;->_^?-^l&Tql%`jk(vAT)6M1MzmK01fn=QS-r;7} z-im5g!=qD@vPQZ2m1JPS#4kB_&v%ThQkr^>a?0k*D;w1{EvXrWGz?<3_3h)6vtm;E ze`XfE{G;dQmqNn6=o!1Ra?1}4jc?p;m;Y>7SX>nvQ7S5_5t7jU`YmsLZ;SiAN_f;a z0a1<R>$RctaVvZO#^&zXe+#YceV}*T#}B8m37PgTL3?+HZKu7Hmoxq!<7^!RT|M9p z$88;5gBjT+<nlt1v1xlphxtX-*}3Jv{x*3ne=04nP2J9Q`tWJ%aBq5JUS`~&y}hmH zYzP5?aA0|CY<-$oh<|Z=6&d**wYu2T<pWou^8Ds9$0u#p2_YXZ57|Czno;)a^S#Ep z-xBru>~8iFT{?%m8<Fc@6u?OImeM#lIAkaY>VGUWgMJ#Gx@c_M@TaSx@fuc?m$K;u zi<ao|Vj>!FqUG!s*Hr&3$orwJq#$16{?1+6&DHhkY{F>PDKIclTU%?VDO9r2MMOlz z($Z3H$=D*P=ji#xD{sO@in2e+{8y0rOo=BE2Q*lnsjay|sw4`LNaE#bmx+N+EG3LW z`oq}yl%&gdGE&miZ{HSgUcA#<9qjEBO!=BNpH>&99ygnd_J97G*oS^iOH53l*VjoZ z>y?p$wJ)FW#oP1dD@Awg-OQC852j^0!6G9fjEoG~jlY!^7iPCD*)4eG{kh`g<eX~A zL}pSOIeMUk$+Ora#MUlujQ+NH^o7Gi8;0f;UE?YbYZHfbsuLW)1z3D268&23&LD3Q z(k$a|DkH^1+msV#ScxgB>uFU?TR9bN*Mawa#7q4fZr5}Pyh0z*TG$o=p>9A9CZXxG zc$6s@i7!DAUhtvHElwXr%2x&0Qo_VW1Bk|I*g*R9ql<!|*JqgiTO-D?1biZbW>A6z z+(~22iANvHm4_k06T$iJ2Wh7`3i6LoZxbyt3r|J;mfb)O4UvO(V^0%Ndkk(B4(#q& z0TyVunKTs<xSN9(Hzv_6^>c*O0LRF{Wf4Ha9{%HlI5za!yr(HI^uxOJa<P~?*&6`v zlgf?|4@n?txLE)UkkuT$^_kqiqfM_4{a<i+{4phdv`~~c-_F5S+wxqq=gi_-&`?BK znApTE>EW&fuU>x}6(9ao;5(Ca>XqD^m$AS6<|N^yY+VyIgn!Z$cRd6Wa*i|V(d=jw zjeeRF|IU|%e@VLdaaDKnrf?F`-g+WUqI6dU$3c*~;_t3I&S@HA+M`Swp{khDDeFJp z*Eb*u0;P;0gHtNr;1ZfGPjRBoN6BSe{1C_E24D5i(_iRDG}ht7Y-mpAt~J^oWgqfU zHJ&p-o{!M=;m=|BFu+NzL7W+hbtIr4{^QESSBL!9`@q~cU2xdGAl|#Ik(eI3-`Q+V ze6GivwAMV+s)9*!QyZHKrMkPDqHY%FdQCGe6huERJaRa`7c1>B*5nKA2xE%ZtTd(g zzCAdJQ?{<qUquRZeNWf3Om$Vv2=UmnGayNY7|sqlMx1#5edj64fZEM5A`Wt{Vj0#Z zn_LV=b8e2)cpbl?T)l(^pCh7KL(CNq^S0%jggWTaJY#TfznK0+L|;tEl=ySkY3-3E zo&(YaGp#k%#iYun@{zmqGoxCZlG@8n2#d7Ki>kvBL$*R|*RMCe!pYIe%Hh!kiQkuU z!UjHHD`MWZ{ZMr|7rdq+WDfn9hcs4Xzt;8XH5kDFHBO95fE+Amr&M}y8f~yYPRk-5 zH33hMeI|i`!Otl(VYU{4HA$x1+b}Y@#vQ3Vr^vwVV?xkJ+mxG1v~dJ&%-1Dr{?cI8 z2~B5c>w7CF*<SNUm)2pEIAi39vN4#g-jS>iY0=d~N;g8wPM!NT0tleWc4Z2@N`PeC z)U4@QnRnC97(hode%EDNfEC&*vyUqK$v&zK#uQW2X<EhkTte22es^2bK=&R4S6;vO z7webl9xENV8!tB{wL;mwrXrub#fnx7m9MZ0akXeQVU-a$Wzrx~Ahc7v%T21dbUF62 z8l#&-)E{06K$g<<d9!x{vKM(nm}^X=<0c<Q!5kI6UnE}VNT22LJDVCe!_Mf!b(0F? zD;YXAXbPqtGx2V0=tNC^f8nTavx2m|WH2wJS|(L`)KUe`GrVo|T4v8maLaUFEDW;= ze6v*>>0%YJ50{<;pBFAZIaeF<MAiyLJ;>pG`8Ib8ed`#Wp3VU)K6C(0Nj4><_j$!? zw<uR1y|s)y<Nc_*HIxmoN@`boE!6g?2}tKkJwiSQn4k4GU`op+A+cN&nIm*DS!Jk> z2)zB{lr>Saoa{jWD`d0rIk}pPcuaofE3^<$#_65F5qCq+^n@vN?k0>KcjZxTZXS82 z{DT6a3jQGNnW!o8$`H5F9GbDKS-)~N#-@*R>No(Fc?nTj7Kud~Tm8jSvVKdS(~&lE zqxA*vrv+lrHGa0uPg7HV=iCPt;`&JM6x*!}EfIjX&nPHwQ=DvzHMSNaMVBWT1$p*( zIAKib4HsUAZX(}Ti-U#M+PVxLwO+%7775(tW5tV}?fKxAS5r{YCUbkeNpB`z?GXKB zhFEbhGQ6wsUDz`{Ta>n?V=e|{e>A4>B+@nVEcs8z{fDx1ix=rgxsXTmoF?NTM?Fz- zzcueXZ1=+@3P3K;8MooB)&u5a!3dj3fXo~9gO;q-)xbQY%2CVfGn`ivqypifhp(Z! zOp86e1iPJ!QDW&LXX9{Tb5Fg5$H16K!p(&L!I&5;?HIPJT1YQ({qmkEAN`;F!8Mrw zaSu_hZCfc;xEV>PngQ7*+N;69*mMAC_+4*yE1VAmN2H*p-rwX)ou2&OXCzB(hAPFe zJ{SY1fEW|vM*E!=`{=d$L{E!oR_~hj{2~naL06_ljQWPpo>!J2VA_(9khV|9AyBJK z<aX40i6>!Jmsj=S3Cb^&weauShCzxDsH2s>Zlj4M^U@*qOrx6sgeu~P1HnA2ydWwt zypKQL6#(WLGXsF2TU7taPiENQ!cf2ri4JAgWO@tAOb8IlTZpNJ8tqz}>t~|`1>~lu z?`SpJ1MlnITEc2%rn`gyulUT+A}yMrJ8YKJw<4f82K5pORA_1hiTSJHT5W(CSQU9F zzVA0uWz{o((Mlt1R*~V0wf5YoRc4~XWdkh?Fr&Le30@Ofm*ExaLJN(rI>?iT7bV*? zz&4e+#ucr*8#M_eBY~yWLqbq_M(-yC6AAvOo%jj*x0sYsNoq#F@y3c6D?+QCp%_Zs zr5PkpxT=$4HdoI!rVvy`$3#U($K});V8*F#%st~uN*ke?9ETI1vW2fFLWNtT{#G`( z<nO|fIN&`t7`mU6zG*}RK*_|Uy$jGd0)EKD%$-=+c(ei(gvZ8|0lR!ixNKMMx-ght zd7#TFPD*w)0;OaY_8x66erMa|LSPRMK9RaxQHIOIf=iZOTKa2T>_!F3R6_Y{+g^)> z@;6D5tfF)>T@eHCq&of|Gm-RR_8ok+8W#9Orz+Dl;9E-w@I($*dZi8L?_wA#+|Uu{ ziyBkF*%CX}0Pv=#9|g=)===BZ@Tv1VSrm-m{r+XVDBN(uRgiwLK%WASwNFShMuU@} z$li4ate94k8Av@-vjeuoSZ=YM{Htnv(<TpIc1K{7fn{Mwhz;QRKwFfhHz2~9H|ut> z*yroeSQ>cWZ*ilQ@&nQ1ooWkq1FQGCWYC0u$qVo!4j2v+GXyY_$%oR(MVl3u7D`P| z0Y88+xBxYdAxB5~^bP+$yvXxgrO+phWL*GP4R7}+w=3de>Udt0U>I?>3<ULATWmJ+ zmzVBF2D5N2JU?X%NC4uTSl~4?U+Pt|g?;5y0z)=|e%YawqWd&hU~-Q?NRWvT;w$^; zKdL0%Rgz2ut-64aPQigf-ZUa>y%Y61iqQpcj7mCq+~0aAHoFUr<x?Us`++Ii#GL;+ zdULh4{<>?Y>r)E-=#N`W<tlblXSbwG&?!!KEZDY4k88<VG}QfgwZ9t|Q1kaUQ}zQ% z+qkF?R0t9GTJm`{YV(>SI~H^=cKdhv%kQO#e2vA8?vRe<A3!9Xm${#TE`EMuq1oAO z&(6fG|6(R2luGHy#np88XyEDUZM4%oM9=}#!dfkE9!AP&l_K?~O2)4D_U_*zTqjdh zZT~JNQEqH{wyBJoi8k!DYFvwgx<4fT&NMi=pAJB1!xgR?Nw#CO(VMvqb$hT3u(lTx zW;~o|!K&UsM^Rj=@lksEvU|(6*Xf}ezmw1h&&>IfaRrOr8YIbm`Lt$4{QmiD!>rwJ ze}}Gq$pjBt+1&mUUC{R6_-<7qg2oGfL+OLSLat88fEA594my_Ec|3;&Oc%_3hpIzx zMZ_;)7sg>{J!<I(sRbZasOaEq`2DQ_LR0cm6wWkm<0qO#Xhnq};lnC@j%q2(Krv%; z+yo9&<*JB6%2?t+8Gyn(PR*OrgOD%pp|-J?<5zy(RAMI$Tm?1mvn{^#V3d^=m+zq| z{H?;MVU)QXkq*H_wRP59XDY<Z9_e6$Ew1#uDjIVbU8QYy*o30A(mP%4u?(BS%bPG@ zIG?k<qhV|Akx<tVxCOV?kC{ygxP<&*nVI9V6l8Ay@aFtn7I~tMRvQersjpwMYDEuv zt(v|&ddWXtRDzz5hb3c8_xIr;Kq92swYAGT^2@@%=!D^rus1p41(CTDyGKCd$=Ik_ zm|3SdKth^Ze}@5a{!b`)gyF*#1@=m#Z=-EG^P3IYU-qc)$rfd`bwE&Cf>^Q0%N$UL zy>;(j!6lZl$XXaX-<ne>AC6El1Dqp)aVzI2%RrG<i=;nctHCyA>Id69TE@EKYU4bT zIJCG(y2^B09x@9aV?2v#pSVTzI9$gn+}edjbg+~>BpUQ~fDI+qyhL{yNCR@4Bi9B8 zf2ybN^YJ|kQXc0xCIG5U)~@}WAIlu}ZsQJL%l<=Z^hsd9#0g%DN8NV2Io6n<%)<V& z8piYlPgv()Q^5WB@}x3kv>T(PYujo1<0oFag0FhX*Ewcb>KoYpg`e8aXA>H#0~|E9 zlx9fJs?YA$w&}0OGmEp^5mUM(#;*H*s(=tmZIhQN2Xf%X-zq{9@zA5JYL(xZCIf%U z>q~rHSMX<;P2jHOB<m#t$FUfjFTwmNB$Ogt*BiDh*FHv#{k0Hij7j^QTseCCb03)3 z)+}0;2raY|!5O>W2QO~3xg%JiY=GV!e@Awi!<V8K3a_g;@0p)h)Unagv4KsImW(Zt zg@!YVs^xfryn>!>Yh7rXg8bh*JXap29=O8aEUVTB@(B+VuB~RYa!VV;8?-mSXQ>|> z99WXeycwrX{siEJx$znZGrj@+_?LKhOcLzXhjQNDfrZO}7uDDZgAf&$mg!5u`}05E zk^SvlTbD2;&P9TF_&<o2VmFW*>E3p_^MUMbg9{+Sx(jprSLKkdG)pdwH(s0Q;t{*I zg#dRB5nGrNNICp&QqnQ)l3(w#a^w#yEqa5`Z)sss+MFAWVW?S?vM%Rx`^g}k4DlW= z#ky(w<?}6p*KGGwntD*u<X9@rGx2mRCMdp5IKo@_k9qWj;Vor$qvzw(oY>3t-;K?) z)LK}vokYEmr)5DA{f-+m?&9HOM<~5Td2g$HsLeH_cf$$kQ6{HI>hgv(Iek~08w$ST z7Xu3lg?M!pvHIH6-n|P_(K<H|ZbuJQw7TeRQeAnjPc%4w@_j;rt7;w|vER0%&kooL z*B*c1wADsU6bib0XGa)(JG?W8{$L)rN;7a{*|Sr6gk?yqwj3H}#Ze5qwFv>dC{w82 z|C9l2zQh_YB}r9eGei5oi3Mi$-mC@H6aqpRw8L0KXhgN-J_gckU{=nGW36ryLL6g_ zd`=f^*8C47li76M6@La`e46(=f;_%A2>lzQ8dCY!bwqzAT?iE)8uqDeNS+0-qTkCP zMFIigp;Y@G8CVFd+3P{3-(8p>IUUal&ZM_wY$6?cVWm5(!#mBd>+zPy0H2t66hZbX zTkHl?p9-A$orAw-7jIb0r3~nXQEJ&)gkGgT;!U!46qP7OCO+fNph!6K%EQw=6C`un z79WP0yFBd)(yuE2=b8Oiz;O&e#m@U!I|HaxM>pUTO&y8KcjyvAIdm!dTOn#Z9pKZv zITG2eg(Rm_OtC;X4Zu961W5L1Q3Y8}Czb&A%wAF(ygD!OsAI<Vi6*kEPYFT?_%V?i zq5o=3H!<4*tW67?2K-Pp{g=;O{Vp3}<&Y5*jmQF}noK4M5cMepCY$(rk%?3-B5plm z#{;X$io*pZwk08Sm;j=Oxo=ee?p@ks;jj&HX6PqvIIQ#a$?I*W1wMGVbK(V9*CxYH z8teo)+Vyv;I-wqmtoBqOedxYEQc>v;fL1AefJ?lZN-+e9P9{oL(q@HB4sR-shp>L6 zs#ngoyF1IKR5YPR{>dV0tF*O3^si=|Xg-{lY5w0W`5x{8ISS`U=PXq;Yp%2Vz`oP5 zOH0$7c4p3Fldob9zopjCwYCaR7h@tZy19%FQ1)R{li=Ler=ikP+E)*AkwDh|Rc&o; zh%TfbU;{+&gF-L!S%l0Be(#kKf&_!aV>nK44uZmUZkwCJEXd7Ic6I)(To%3I=?V&X ztZO)#exWG8xvQ0$k82WpvzypSy68UmL4S?J(PyUG_y$+ct}^Ea5G1Ao&wcu<)S+Rh zzgMv^Ifn;8Q7$XJdW|WR-T<!1bQV%Gc3;}|ys+m8u@rHo;U@BB{L^dlK9dpJZ7XV( z&AD5=(jfE|;KW#d<8ED%!8hXkl8Bf!FVeCD>7iiZcJd(_c)VmKHZyW_vpbHb4C(9Z z>sMJ)lX?v*QRD;%2oi8Qq9Qs;?JV$Df`b41kR=Klfs)^&T^27tr&fU^{BYkhXfYPq z1C4n@HhUP^Gkd8IxT<T{X}n?gbxX%Edl0R(z@FV0a|Ydv^4Ha0DYxHghc=%STVq4o zmPl%>3WDo7)8D5gSB8jgwvv19V)#YxYM<1dhe(b}^pbAmSld&)Bj)xmOW=K54zSAQ z%~m9Yj41qhS0(-iW-HD269<+`>g`F>b<Ef&jZA$^Q6YT%o6_@rG9C0sa8*>*#&ra^ zyZ*%V=$Zn=rQw6TG4|Og^K|j5Qi~1b#gp8yhmM0jLbd)lgwgHF;x<N1lF>Kjm+*FY zP~*n!;}FRgh~==^82kKixHtIh*%|b)&-SnOn|qMc?iIW1y^%@e!x#HhsegBq5pA2? zV}7u;FzfSdM=DF;@SvORHQXD$srO8jP)0^uK;wN3Niz)rW9hYGRknsHrHyT3R5X5{ zt~4CESQsa-uC-N#f+kPohc7*n6vvncLCz1?x3Sw??zTzM{htBxA2>I~|1EO_X)w54 z4`vgPU%PXHG`IY+F00K3u&()FwhG+LF8G0#6sW-5Xh&oBNMM|I+(BQd54daS{Jb%1 zYpZ(bPw9VkWsVO{`E+%KyJl|!g1WnKU7D`{p75?5YH*SQNRkx-?g(qY-7?%kqnewU zDsBh@4G){h9EQT|Ral%kLO2J}%UZ?Ob#x+Cb6U$6XO^i|STCxF^i^*5-nyKN|GU$7 ziW>jk2~{$A^vo7^6AT#8)x%vx4&<k1zFHmk&?Fd_&bdMLf4p2}G-@r%)Yjvgp^oqd z8nR`W^PX6(me_3m4kMPg&I4Lm`wD4qI``ez)CU=ppClxlu}QuJ2Sv{u>z+dl*`(%U z<pbzVf1ejRs4KK6z}{uOdFUTXsV2?Z{`_mfm7&Eyx@d>O9{X&BN5#)!fxuiTB4b|M zV|<iN&+OW4;Y(Lx8=nBB6qg3$h=am24_=fedeNh#uU#bp34_zdsr{$s3dhu@U0^N= zoV4tRf6Q=n!s5c};^K3BSzYC_!fS0LYf1Su-@ay;TvXMAQaC=v0&G5oz6-)qzRe#v zVF7<b%>}0|{uwhUn|WEZ`DKFOqsp4)Pp0ZYWM9Zpf!89(XC@uag199b=HPp85KbF; z&jb2nAn&1Oy9)MI$@$Qv%aKflV)TZA5@C^yW0pUSeDW^}r4zHI+Xr)mbE7P7vXC;# zP<8lEnp8xkJC0ui#cL6=X$Nn<8?iT4nI-S$bNQnkY0c0~TsPa659!=ns$g!J&ytk0 zF87i=>wYHO6zXc>(ZMVa!Yb<9akaL*Ot-*k?)4^fSZ8Hs7WG&Xdbn<NpT6Gw#q~<r zRrBq%Ete<Z;Tb0bCZM6(&!SmGc!pYV4)u5dWv;}|XdP3#4^nH<t(3(r&}39>JCrNm zc$4&Il<in3krw)vjC7R&>I306<`%QdmRlIuDW-?M=OcIaGeS`zzwh`U<F6Z)=t;e_ zxahaO4@NdU{zmG=-(FYind!X|u0VDIn~0gf4CHY5{E0`8tPYR#F5;JzEqqMk5C62V z^btfebltTNFSq;Xi^$uzP?G9P<d3Z+!jP1Cb-1rxDH1)@GkM3A`SYj)Ra3CVRWs4* zhlC=&$u<`g|KVIK#%$UDsID0xX2x&aYh2p?W#ua^v{5`X0Ou~*yMhgRw6wVZ@kocj z5_gb=A&xi5FBDF63y_|oc8fh+a^hUL67~8+ni5<P#<Z3-c~c!sCY}HJESbHHf>&xj zpmTV=vOx)+@ZELKxH`Ze6~Fh3z>k^vQV7csD3{x#z}7GHR3*~2V4MshtV4HMO%L@? zzk@hxLky!FjV~vlE^2;GAnof~x<w)5fNG1iEyk3TrvKZ01b<2CzRZWRS9Kr$HSuGW zfyW~j_iS{;MQCi6#i$1SWt6OrO@hN<^#H-GT}G9yFSTK`DFC%fuk!hmgK#H@SQ?xN zz^^6%rBCjmhP%UK2|bil<Xkh8m)+Ep5hXNR9xiY>c=F!B!i)&RD|y~9y1c@Z;~osE z<<%zDgM2L{W&%0eI+Wk<-$7suv?S7a>IPdaJePHSj)&6?lGrxVUa51!zk_I|sb!uI z`D#Cp^0`>Bcx?|0;YVe;ThZ_AyoY$a_Aw-A<OB+YfJgXTZub(WyBevjsr}-Y<}l*N zW#dOk&~tG=V@w!el&JYG+uvSexac9j`%I`+_2fjvSvIGwTr=aMXz8S)TPakT&^?K< zzB%F!rR8%uDFBx$=P=w=m5c?{zKJui-@Lev_aZ<GIgk?QcI_aAz&VAqE3Z0&Hp9Ce z_mxB}lp`&EKB$tU@JmcB=SYY5D+$+7IODl(H>_zT7uZ`8=|;vUH$#E)m(>>Zody9A zJ5glxe`hsiwF}_#4-WF@y8l}0Mw-9>mF470Ds>l!tEcXtTU4YpG2j~)tBfI@?~s}+ z5yq|XQ?9a?m+ZDpG5V`J-p=2xJMQ~Z|Gi>Vs2vih-0R{!F@8}sPG?5NL6z<rO_IVc zf@I85KzgEYmG~xBdWgp55?Zogm_(Jj<{tkB<|Fc|bxmG3E6GMOuSpzb2-^KFTs$G8 z|9<bA%0F`q0n%L=Ts??pmEPp$zWbJLZ{)l4fBjeZX!r>U6c^R!orrfNG2H|kZ09|( z8?Ihkvx6R~#G{>beH?orpOj7_r>%>(cpC7Je@G3RG)-WdL3lqtCrtKmv#yT=BZRNs z-eUVDN+0h$3YCB5f_zOFcP*eh7m!yg;~>Mi%?5vk?F3+NWADU7;gF4cxPOG=(Z+mL zN#pzqcnAZapSRi(1b!(5sEIiCeJeBWNxDplo7vXN$&{;JWzLh;+~(-zR2Jl}@e=*| ztx(JKi8IV0(CIdioBT4Je3HQp*&0~C9;gwpiJY9;<=Pn<1v7VM`y7c{dicL47X_@M z_#n*WkYF?aXiQsY6p=TJmpilRN=ayoIx$odL)${x3uE+(CB*0V%90t-*d_4iqln?& zJ>#qq<F-Uj1FX(uRN8Y+od1&68BA@>v}UY%i-e?>|4R_l#=1+u+TK~4fYc*n#FyMa z4#mJi5r$fi2Nl=MpiOs2xL^^J_<p~wj2R`sP3e|9q2&cL`<SjR;UykU#{H{lSKAf& zyq;9>!!T&07`U-N?Cz6L`>zrEm1n;LK+a_JU8BJ>Nn13Mk!LSbt}S_6lu|PNJ`-mD zEpsvP%&5@60Z8XPY;-J$-V0g0DyhDfA=#+=E`#4^zzZ7*`q62^e+>$gzKeCwb$Ll- zKw!Cb<$R6SU+R_UB10A6JwcSOYT}l#{pCaIM|a>eMZTTOVZR)N?xW3kyw(!hCPFOr z)gTXN2+=PB`3NsN)FPv1n~IQ6bCpt|Yd`c_uzvX*XjmS7B_0_57xZhh`455Ax!hP_ zJHDVC;*Rk4mLlF%xT|NQp_CB&@v?G+jE!3zqd#{{??0mJMfT4IUU1o1xNB|G*F190 z%AAu&>hZ^Wy9I9jDL2lamj_+mn4VW}WP4<;x}PxStA$5vn=z=GecR@^21_z*e$xpp z+dY=u6X%EppyHj&v^E>}TIBh^F51pRMZX1pc%qW+Ax1?Q)C<65LXaJU<Rh5!ILTOE zU}1oRNhiD%<p*it2!;6%7m<?j+T@l{0F7vrib}Q&mRY5wmq@5&@hgt=H$~g>Td9v^ z#~BIi^$VV8r+~SjIXJL`$qcDL)e6QI`4QtP5m-rmLN)s;RXCst?MF+W0tjWv>QOQD zyX5*+R)%`3L!p56f=6t9<1$5-f`fY3j`*|9=b@(dR|ooz&>sj{6hTpMKau#+PjkLF zwA_h|Y^k8GSDXnkeJOsK`D2^D+qXtg8VO!@tT8JkM_pHPedtstu{yrd;!Epu!psY= znzx1nWs~P5EJn5|N9-+H@T9SFJraRPC743GimMXjU2I{C(FD)~8ZZi8f!2Jd`2~)( zr&<GEA7<{tf2!Z+I-##P3^N00J$)<?S~Cm)C$il1-cCqx`=ZmsB^4R~ai^wQBCC8# zfz2<<fDnQPoJFAXNaYZNwhP}cyqg^XC?JES>Zw3b%E&5f#krmy-Vt;?R#+5A8@u%q z*_lLt2?4U#g%#3=v*oKUP8H@BD5=XEEIVsx6}(Aip3?pu!4uC+Dk>hhZf>`OPu!6d z#=3Ar!J;L7fr>FG!(w@7ALTM>V?B4Y*xNVJ7vd45cI{;CZ7nmzKF(c3$4-kKE1(pM z9P+l{5>*nyqj>uRMgkAh>i&osEZ0kv8#g*Et7OiC?ZFEpDaOE9V(t==ePk|c!kEzj zDK9~OSNmd^6#_hQD~(Y>mHN=G>loF~&oQO2y*ifPQnnVCN!<Vi@dmO6%vaM)lF&nA ze<>1_YMWFxOla+Y&$+riaMKYt2tgb6O0x6Xpwa{cVf8p}dITC-on)~B0LILJJ}5{Z zV{aVJ0CU#>7<S<1Cx|8k;@6Qe1fQvrN+p%hRECf0PN2nkL$!Gw>IDDYRTAO$&4|;r z6YAzG)UxqdEAf4kz;j6K{b=GuDxG5<z=B3`E*XKPj7yP6w@%83a$&J22ubqI39QU> zF2O<GF&k^uCA|N1mGUxHOv;@|l=|aw=MrvTgjkM99AGqfVoerasy>QISV~j>E{kjr zPmfKN^(IqWb##e!2@S#{2~8tcsndW<Ak0>gz|CXM^nrWulpei&yyE_3@v<ZLD3_?b z6smXz+f3Xp8d8~Lqxj*fF;qMDY(`pCd)oRaKfe0KiIMg`Pw(}b2W(ogvE_yc>qidP zEfGe9y*Yj~Dx@kD_$aJ6#`Hq1LE|$s+Mx;{!WGh*TNHgLfp8{sAkbvU1xFMAto3&6 z-WkuE&pfNtBztfMK&T;)3`)W%gE+dwnEagvKN14}rGwp`lp`Y-AuXl(Tq7H2=Xpd@ z0z;GUjNS_X_~t!9Ae;}D&11man-A*eZig_H%q`y^1;ot}Dfg->Kjy=&pLy%iR^gU* zkCn}75&hOD7W;b!IsZ(}91C$rVgUu{<kD~lfrVA$zVK30tz<L+Gh!m~Q=}aIW7tgS z7oo^#y;@VPw;xfgX2v+G+^P@-1tsLZMn?PZro#!jO2AOFuDTcw6w_`<mmLD9|IDp^ z;!v=_ki<IdO>d7F*HmsyWR-;aQfJ0WvJ~C33WzH>D@{shj4(I&XMJKc_q``+-EG>q zMWm(v&`}mEzdOdf?<nr|xYn>J<uhj7UE2$~Pk(rSgw5``!^>Z3Ye&$=ulCOXi!M~e zUIH*`sLK9L)H&!^181yU!9U8`I)x@cUOs`|6$*h&2_!rgGQDtT>38+{9d1Tcq9T*V z)^)Tic@?HU#yq5jZy&O}AzPT>jyhufo}C>*HZt~oh!k5M4}W4VRx+!yWnz(&bF~yG zdb+{z`(7ae%Y^Y3uwg&3Ka3ckY%V?*KOvGll6EpgV8|CC!?3W=h|K5^>7Aw~N=HtC zkBI|BIDFq@4Bb!i>132*?*K$okNZ6{Ut4CFqVo5^?xb2`*f08H()2H~k}_W5<3Ch{ z>EgH;iL8EZDF+iD@ZQAqAu}7c)lghv@og3K+XRZ2DzXyb9t3iIAh^0=w*TF3htpVx z#reUur#U;v>};pQz&3Udc|DYzdUMr*8o6FrnU=;;4gT)2R0@8G*@dXNRa^}0M!Ozy zNtA;-Bx-538^@g_n8jUeoz4!tMQ7p#Zv09kuQ!6DBh0caoR+e7IfSxxvBmXhtbX{U z(*dCnm?G-j#E3nF97)5PqfR75DpuyCH`)%I)!;Q0vPIugznvlpcTNn0U1J3~i;ufU znFEg!B_mX1znMnhP}~Vz_iAvxb=;Zg=TCG0osj8+PrD%8;cE%1h?<CyZOouLL`x9R z8%GKsh>JJJ@q=WG{&2RBkYp<I=h%n)_(38(MTeV+jck?QY0-8WTWUD-O=H2L5iq<c zDGxsRT#0)1;L2>@p6rDeTdGmN1})EuVt#LBz>?8c6|3fmfp=qfP&8#Pcn<X)XN2(Q zsTV)Ho&;p-&hIuyL}V9LFPyFq?g(pR2r3V!X(pgU4S4?d!V<TtKLoh|WSugJ6^u`P z%5gvPi^Bm5kwYwg>SJi{9Ocz|%#rKz02+K1*{ofJWq{L`$jAxhxS#Y*fZ?|k1y+`} zwzU3CLyDk7;_o?(!?q!8te<7K89hK$h)lcZv2&v!b$n;GuS3Mj6;VD(ANQ`N8)UxP z_tSNiPOHiy%un@*RE&b+d!%;gW&chZyQZQRAAn;3h#YLAi$%EIvfsjqB5e*~#mD-) zfJ?VK{ifAU;wuCpf0i{3>Z=&ungNOJrbH02y6?i%A=5ogDo2E2Y;eGxwD5HRQfOGn z>15*1httqF5rnfb>~8ZHf5#*}?k#Hwf#NrNSaGG<qG})h*MF|>Y_n)%--TF7MXKsV za`h5;qRImcL{O6Lf*c?O434K18{R~qRYc$`PqWHeUET%6!(G2t9wIgxosH^)rcgED zmxc<IO=HAn^l6G?=@7;Is+`)$iEnZ?cO`(p-STy9B0A%(*mABeN+^8b0=mO+e63WQ z$qtoRL_LFX=?zkXyN5q3(SYW*#`Qsd??V-POa96P%vPM=e!f`-v&=>%cC|ceYr)Uq zJe9-1jih;>PHrB)omkOBVh8Ilp|XsgpxxdX%^s58WlnNMqM>xF0jXyEmMFmeso?j^ z!7~k>Z4o@M^El#d0Jb{3+zQl3K+lId^R8<Q569MlWa7*$4sbxn024rc3mt$9)V&cD zKFFtQ{0#V3Rz`nJY(@~=JMj)ML$py#qg6@A+$`P-$T@&yib=wIddxD{99en!q)6m8 zCLmpuZQO?(v|XNnA;Yc#uW-PndX73=_h{&>8!H+pUW&kB{GQGaaZVe?tP5*!0c`|m z!5<=eXm};R_zBr6x2ZBh1-z3QGqvE90RzAd_<ZcAJzR_&(ZdS9Kf3TJ4baq=)8>E_ zunag#mLkr#U6A|MHK3CGO(UcFmI>O&yDMC^mzZbVzr=ChbW$=#LC!RVHjRgvf(|f} zWSJqZu38ATg+H>{6=RxF-`TfCQkbiimX^+=e<UAaE|1xRlrB=o*Ywk}A_4>W+$T-6 zq^4<s`kya%hwGH$5ou)p@3E(n6(Y}4kx4dymg)$Huz}m+KL_x-P>(L)27?UvtrSy9 zzFOqKbb}}8`V3W4qS#AL=L0|W=To&DGIrNgf*4zz)~`LPM(ilgWDT&=bh4Wd)6pFD z4)OP>8P$b-SCDOm3*OlZ$ntpfEZJ6@$k{o|`n~0MJ!|Y;-wZz7aFOmcu4>(>l_r1{ z%m@8n7Pg*b9OQc{gdiAI>%)5VyT>AJDcKq11Yluzaw?gDgk~x|oDl+#HUC)+7+r2y zfnbM5&V1Cim4VNN>VrN}BN5_QevllqSwQLdQeO0fJ*7&5xWjvS>@zBV^SC!VxXbxt zPm3ImMADE;N(?V#dD25heQZF6vdzQrYr}0hL9Rtt@BMx_+ppxZOgkeu7oB3Vk!u5m z?x7i_Z=7Qbs*E(;X+dJo`n7lKvY64XOkCgyL`-llbxOO-Wrk`4sc(HhvkDp-(RHng zMrdGfnmJd6-VFq<gn48EXy3C_get#3BzBS>=05u1-3r*-VENF{fGa6i1~3YU6q<y$ zxuAuM{Jg@AT`4^1>T8)1LyT>?SSS+dP=B$pHG&s)(U4=xXT4536c~BHIUNFqKKbeP zByqHjYcQy_R`L+%-hs`8q?p>jVWgQPkrzz6JWyM=9`?i}k}%WY>y6d4BH*tjSYCD% z_W2qYmkzvFK?03&Z<493Q(W^7?{Uk~@-0p_q-+2MhBLo0>r0_!t&g)X=Ls3s=_nKb zb0qCxi(r-+?Q0I9JJwKCZpi8vM4y!8%|dNb$SCSRpavXo+peKE96&=@e&^3AYMcua z)%+ed)Bdg7<BNSDb^$J99PoZCI9iFU>^FoLhs?Xq=QkW^UQ>))RL3Us^kXzO#qMT= zq+HR^M8?hihcK>YF-O|$2somz#uoG8X{NE!W%b`j-}*F+2kX8zKi9mVhM@J%KTBK2 z)1x3ZegZSs48Y*a80<}WU7qx610@e_i7gXc&h0lb=JDW@SCl=qBNlV1zsHx4{vHoB z(lfYqlJ>Nq%HJk%21bO!@-)tCWz>>I$YXog$dhkX;a>T*`k#K|O6{^YhE&!I!syGH zy!%3u@1ibU1tdnseW~)mxFXphb3y($^>gUL+5V=ykbmTm7Gbb^>(xan1pBuEyzn8# zf{St$EA!d4x(SIUzjULD6-u757nx~li*hOz^RI<Bp>H|oa-`+*S%^Ekk^XTHqN!q@ zHD?SzBtv0V!I^yo9%&Kxc|Kl`lP%5b+T{TPDPBPFKUb;#Qu{wtBO?gW^0pzpV9#L@ zf;S?PO?lP-+a&zK$;4nJt7?ncL+H-ug}jQ+P#C~9CW*^xj<2iw7R`CkMjAx3JNM1Y z^!C4ZfZ;1sCIZ$4cX&{ZcYmpqq!~##?|?za1ejF*+T8XArxnR80S|zgf)<Apj;ZF- zieNIe5XjsX^DMaM9Z$b81&l9`ypbCqvGKd3&=c$^mo?RelXbPl1(rK*=X995bqH}t zx(T-eXCL0eCl>zpCXpZh1O?+(j;?R7lFh|j{@nwdQgw~a=A4OY2E`x*1Uv~ToKSc9 zxxKsecnALNO{K$2iLzTZy50k2qU70iz9GYPD%A-5tMWvOm>OEb3SE+LZ!a3hb|Ufs zrq&9yU760F-{DXV&Fz7dY2f^m5~d6cL|t{E=oUj|F@0a&Z15p*;CFK?Oy&8JE}ifA z3~|wdDPBgBp1##DOh}lrZQA-o8)bhh7)&n&CeOd$GeX$AR35|{{L8D9B8PVAonwxU z@Z#cA>1F`^(uk)$%l2Eo0f%o&0%PN<u@4RuS3O_<Rn2NvLQgOw8?AsY6sjsFEek+I z@${_iQGv3WY3OR{N@@Kjo0Fh~KWA}*QGnV<#JS2{fAOLr!Z{L45@LWSsV%}+xhf0V zmx&Zr4U&d%rAYz3`p{Q+3{YIR3GhUBl%mRGF~AeL_zLHRgI>|`Y+a{(@D)6JEE!X- zJkpUrt2A_Qgszyd9QeHpR4JE(SdU~%T&?Z{nAC%E`r+?UZPNb+If6DEDtFNl`j&ab z281QoPdTG|0)GJz;X9K13i}%SUyr>>VGqq(@9>VlS5f}YB>QQcKRrQ75^QH9|2pE! zEzUI>_|=1?9C#ZXQayD}H(U2d0tzq{PJ&W~EkYSd$7lH_bS6e6S`{yLfuf?K!ongV zV(j0BRW`X19+z+(T8&@yUVh=so}N>dw;#<_J1=n%gl+ub0sv{4I*?I2O{u^xiM0mA z$G%8$7sb6UtCAOszooRDqX#5bE?1bjSk-lnKGOBC_aFSbRHBgg7vE_)6|~57a0bVY z<rCcV&EtbA1dhf<GS_zT4b3BEk{Zq<Y56)0MlK72AJoZjze<E+YeRjspmm9nCnQts z3Ehahq^$5Q(nC6|ew9GWo%hii9HFqPA8{YhnZZYDP-IGV04r#c@@=@JyqSl5e1eDk z?mmK~&rhO_va{eJQgQSL2%MiDp2A7@!_$8-H<2WK@GPQY<U$rD0>#O>Otn@D{V&*q zVIQe|`a`3k^QuP_B93~u*+-6meDNgrYx|}S6gKz-o20E8RL;!V%zLBJkd5EPPdZ2O z&oqunMQ@!CzTB#M<#)@f17`3DeeBs2B}gr+{R#3Lh}Aupij;7*;zD}l^y=;JKzT3; z<i|r>e+`!OzI1|ndKE5@GVN?a2+DZ5E0BABNgv>j(Md9!7%2*wt>SUwvN6hJqI1pS zW*eZK9tIxjLTx*ED=n*pea_ZHEGEMzNjcNc%@pUE0-SfXzdKKaR)niADPTS@e1O4j zl4}#S(?|Q#h_{Sg2aWA!SMmJ@Y4+s-?wFwrSuj{o-yrFi&=o_LGb`BI^iJgtwzedI z?_gYvbTPYo!*v!d11#`k;p1xeUACBa913fT+mBrA+$21<9-qye%iYloZ{N^2xVsJu ze{1-#1l6Sg$x~f;pr=+HN8x)`9nrVh)Olg*Rsh;Sx2qMR;S7G4)#PS@b6u8fo^zk4 z9u0%cUX(_?VZv&AsDudod-B-!3ysPD%pTX_b@W$VwHs}d+Oy&_8U1F4rrJS%>=pd5 z2YAby5u5Y#Ms#mHUTVyj7?E~~gFsKzUaD`vOnr%w*_86cT9T>fdy)`8zUD4@03ja^ zXp&patt;Ba3ZM}Es%GAfWBensTL9<981p72!pvzIP?twnYzK}`ld5P2Vi<poH@=!0 z6l-6AdHrG~@}|8A%sw?Uvq9VC2uQ6)uZdcV0MewHKy|4SiXz0(tXk|`;5)ljX$zqy z7W#l7AHx<rB;2(Iuei5h$A`T}KJEwRj8r^mu*d61H5EX}zyI%-M5!gxfBf2*k23JY zv{>o9tP2~3(f2tSYu(P%=vIi?&Zq6d?`r%nt~YOc2md}*4DX@B6T`@7uRQIV4?P6u zh6}7JH0Fq7us3SnHAPryJ5ZMzFYjx2v%kVnABfaWzoyi<xvqXqS&3Y|3xxV`?Bk~F zz1jFk=+ydWwmV?{)PxWS-St>##V=^J%}h?YinPBH1wSsv`0>~PA|{JhDT62s%W=zW z9V@>Y6oD9D%{Gc@1dXk#Gm`mxPc`Tfk#@<DKXodn$>DDlo3O4KH)tieC<D@F4vXq$ zkp5gj!mT!2h%;99S(2mPnfu2B$F>3q)u?M<_N6_%!xB%AR#p_2R7v{J_xhtHm?&>u zUw4q5@LF|2-K?gRx<73r-=fWXF{4%4Gnu#~yg0A-RKC>N+2?0r9d)hk^_3R*UG2z? z$#E5gnNUO9xu686Bvp9#C;=>;Swj>2SS>Fq;PSf#@|h~}&tSUnM7-Kq*;T;~GsIgu z$$GStqZhcVL`V|M6JgF25CzVsTX~;~O!}*;Y)95)3~}@^2S`Qsol)%#`Vj}b2dJK8 z%v>exM^XOE-i)??Opo-<M)Osi^QkFI)Mc|jd8_kje;eG3@`xWJfBWrEGV+y-?&il# z;a^Dm4x|<#h9q4nKu-9-aqJ1Qtj>5C4?wpAF-!t*WpwGUmW3Fbf|Gx$Q2WC^3(?f^ zT0ekwTm#|oj)u1F`MTv73eI9@|NAoIy4rUjsqai%g27`k0nIN!WD<5)Rv0!|!~jb- zDdgRm#x`Kr)x-P<2Wop54Q_rLf+XFT5NhWP<NHW$R(Q<O#cMfTj>Jn^PtoEsYz}|@ z`}eB5#PHqjV7Tiz>Jg=Ms(x>M3=Q0}$K(Bb_9C>nY;&o)w0G!Sze3-DE4cZKze6ce zu$Bp%D4Y;staffTo>@wzLgb5@5|-gmg8}kaY6hrQ5Z9G&OBb93dXN5>Ewg8p$zwIa zMEjl%A&WA6g6NuPyK@;7{OPvs#KzKe;mTW>J^znC&Na`mKR$lfI)2UHsc*(lT>Q^D zxfJy%p;n(Y1+(ms`_q2AXh)Jj{px&C>$=Z>l03?yALygVa{+P#$=`?A>{R1?|5@15 zQ;9t9>pN8&atGdO(_5$2iF=(?7%L(whT*jd(Z+SxDk0r3dy4qzy0-}doUS$+;T-7Y zgMa*j9eUW@iAkX5fVXN6;&S0u2Up+3K1Q?WbtpLkei|O(^_GUcPvwGdq;%*Sp(w@4 zGgl1&@g!xV?ooW+p4+t>ihQT+J9@_lKj;K|PN#%5W^uu#zC%=&(3Z81b{HJ6!JP1~ z#eG#e%|v8@VE$l!d~)b{u)DA23p;ckaXC!*An*uw8;<`U?0Xf<j>OgC<fLk;xSTnZ z#N9Mwq5a;?U61=uM3p1Lmxq9x6PGbin}%uFe;J*mMZwZN8_sR)Ulr4YqnQIRV|$z# z@yr!%Xh8WBp?c`EKJCFar%_$jhwetp==HyM)T`|*X`)XRI?qC`?L2p3XMj&$Z96%v zyK7&$KvM<PLWBP#7s8HvPiRLB))^&bvBC5X<f@JQMHAke&D`QaZ{~Ly!>a5NzBvRg zv#jl`@g08!V~;qOZ%=m>4JQzNuV&f8!Je@Cuc9oo1m`PEu}s;7K}9a1x4tD9VBuQv z^CQx-K4h%B54E<4^Q|&}yKCobw}rwJNucuD(xH?gIU$4x!>I3t5D&S)a9;8HZC@}p zZ^Ai~gMzqPA0a|>?|;F^7)G;MIqVo6s6Y@yFDX&R+`yYiDT1cv5Ok?xs7C3=HdCA7 zRB>T%RKJ$pSNJFDucR)P!Oa-b5?Egu!zPeL`@+wLI<u6iyR5{yxk_Ut((@Q`49oya z(AQGOYYIMBAuPo{()X#knCUuE2AIiPKuL_9_yYmW!G+XDO5c);-<ej@Paqxs4_`^~ zuhtN@%N!<@jEt;Om<lkc24`w~7YYQZAh6Se9D*BxCM32b2TO>WuX!xr6^mZaM!DXM zT^oX>hjxfBsf+0NuH29Ws%GkR2pnTWENIvxYyYN775rAlC0O!5kK{Y#xbFp;-PenK zv5yq7H|QUU+g65IJ|Vg#4t%UtcLR^C?d}!0wEjkM97@GUP8~{!y&c0O>QLK`@=Bij z&q<`x;Oa^GMPy`Mgq<jGrVc{EWz4X>0V`FiJo}%u3v>&GE5B9}A&@h9nQ`@so}*Sd za$?43H&)~h+v>moP4&H?IyeQw=*;OAJQAEAG!^Rd*6-yHx|g>(U`L<RvW61<-%nLJ z!pWkv2B0wn@}N!ikWXUOHXQj&a?KlT4mil!4)Vv<=j!sq{Wv_a@#Ot5$<Gq~^K&g4 zhjtC44J1O!!9$xWUx-Y&?DFR0@|G}vynASWupp}^{cPE2()F4JqNde!ZuK+ugw(6K zw{|51bGQ8P^f~^Wr7~0u$3RkPr{~H!k!6Rm0etH^vieqM?>tU+6$63h<JR^@(I<OE zf8N=%xRcT2h0OoBn9Gs;JKZY>wp!975Whxf3M-{Pcqg3n)m16xV19j?@I>Q=*if%k z07z1nUDwx2;dSmHknqIFNH87591!*YyuI&Uy=yIuhnwA^h5~`8>;xELV+C|H4DkR` z!XTIw_PZtI=<meu<kgs-Ux>@T<mb(1H?3rgtgM`de9?%NTXospe$Sn!^@&Cnjv@i1 zgMOj`;DIH8C{c+tfKM=4Aj<2%<=5k!|DE$pd_B?ne_<{Io@0X{G=R+@nIpVc$m8jM zfb;f<SB0JzD!h$)ac0Id?=$pUoUesG3NKc=z213~eGk(ge_iG%{W=Ksp~l<bhj5;9 z)};1-?j!<VQw2o{IBdD|#9YiCZxrQ!TqZc)LNk$H35ALYuMdp*RxWE~*42`@6Z3Xh zWV*ZSp?*(D7x-1TcIZj4GyXiV$ychfS~b5B$RN4A{e1cJw4^~)Rj$$-PVi1OAIA-d ziMQbmv8a5IZe~M6=tG51r@wp!T#kuAMw~pCJ1U=`AcnLM+Fs5R^MwpDY5zZHm@5&Q zr7MJ@--o>pYIrK;T=E_<vO6DQu}m1d9>&@4Z!`^c<SM<E3CxlYXvSzjA8E500evE5 zs;AI%ELibIWIUEUgkZy_iu@Mv^ap}6K1BYslZQt~HcXp;7K^_M!OPXU(|aZve_~O; znTuA<62n1t*tEbjNZz*ZKL&xny^)0_0@^{lG-qK0-EJe=4$p$T&Ob@raV5UQGkSho zy6cn>2otDEzWzNF{CxDGKDeRyXV{r}BKERTf<c@#XF#zB&`}Mkga1u4LW}P53UrFl zxok$VLPu1z4xJ+>b(s~pDu+sm@1VHE%??hRjGTCl;!P~Q8Sz#>uO;?W52yYCFyNtd z694)6^Fju%B^FM-@tGgV@9JSngF%Q08B3}jhLo;Q>d1k;?Qg@?`;f_VGBK_>dY0D4 zLG6MIc-p1y<9rLASvEZ~s4dlPIh`!x&K;`rxzZu(-qPN^<_98^!E*JMuCSL%1#LHV zyzf?Nnk2~Ce>q@8f@%@ZaoTt$@4CBWP0?AoaPsb3va%XYyI0!T2ipY0Su(B90Uo!d zDBqi`SsC=NzOP-fX5Myt=vU;*Ctdh``uS)ZfoGN)IBd8|X7u%*OwNiri|-Buz}pa$ zV<8*58X6e=)~Luu=DOW8FY9S7sO-3so0BaR7EroShV1XlUlA@oc~TUMv$<KFb24uv zYros}Wl^YCZ!w1;_}!9-Ft#2chm!wUu-VVFe-&=)2_<<p=EaTO%B5g=@sg~uF=a89 zBmJ5Erd)s?no{_L)~*Hb&K|!06qPlXI+y;cipaDS6NSU1BB@qBWq$_!hF2VHHNaN{ zo3QLFm%I{vmxd9!J9Xx=OJPmcD$zNCgAJE#WnFcwml1SMFq~Q7QoYn=mZo}kK>@^| zD-*5iP3EHzC9(4wTKm_~TI{;_nPVJ{NDI!O5JjY!5iD!mI?umV>l24>8Nb~icKSYe z;a4bxXzaK!E@9|0qpYRy(c{^9eAz3}nGAPEj@Zp;gp2fz_6=Cu0&R1QFKzif>FAzd zurGh)u9i8e5xv}XS;=%B`EexdHr>eOmm`C_acOk^ubM(b1q2DmBcq(mu+EoiefA`X zBNtO$cIFEo;#VCT$Ve7dQnMfenKcs>OJ)QuxCB`<T0p%VVORNN0C`?uk}OwnQ&lWu zi8WlE;h-K8V7idu02jP;>%zS$>U}#cy*@CZ9zl6M=LAHqs-K?LeNMELo+ohmKb*aF zR9wOHCp!4x4DK?xyAxy>B)GeK2oT(z!Civ8li(17%iswX5-fPo;DiJT_9oxoZ_nHF z-q~|@_pf_zpYE>e>gujfOVw39G}!gP2NYwcF-f`Ui#US68Dn<W_HvPRvP0flDs(q8 zA7w58!e=v^cZr4<CtJPA`+IdLqV~NU05((O9l${=ipl^S|1CMjPTazhfgb3{V8SBs zK1FZe$N_i8iS~K0=v~!d8xvvFXyYPK|C-|~ud04}`3Vz*aQls1yt@xKoc#FO7PvxM zVTz=CqXu)WelHBE<M{C7<98${LEPhR@6Qswsf1h%yoEtmHj`IGDdf}1eb{KIi@}@_ zF$-xAg!`|FbDRkM9@RoNQnRJphRIQLm+AW-aRx8aaY~jP(}8r~3+yi;uqEbF$uREj zURh;N-SfN!Ll8?9ux~sb$K7{`6ZB4b=>wbgWk+vusui=&2MzMjqjyO<u(G_VS4?m- z`sN6<mtTsjXBEU^nO0|H1`?Xha44k+x6%Cr(Q%4(!M%qyg`0E<BUM0sUv_w+PK7du zWPBR*HfRE>Yx_Ek8FD*o@R_?LajqyvzRQydPWW{Ox@>(Z2%`P;i-9InV7HXHJ<hs= z$q<ZlU}oD9`rSkY_DBU*(|0-3n^7R-mDsov$x<5D2jiUaDBCK<z8e0pH7Z2NI1})m zPP%FO$FE&M#|0WPUWHl}EpXD=(>AK3|EM9TT7g93n0~)kmeBkn8K}>s|2Z1y6Z<j6 z-O{!S8>F}`n(~QF!Kv9r?3gP)RO-eldippzW&Q?x3@c9+B%<D<#on9H%p;l5P?p%* zIM7VaC#XM^13qCC<j=WEm@rGwvd2eI3`wqR%>=%L4aB=6sS<tV1gVIWhpEDP7LMci z?)rf@5x}NcUE^#Rn3o5-Oo|U66@{|RHaaw^djXbFP_u#n?OI2=9$wH|Jjv*btN|V+ zSUJOS-wW`A7L51$J&+25ZNWt$(Ndsmi_l1&4`wOA5Y*;}AaE}&h;loQKr$Aam+GOU zVse7vr~bAMtgrhdK^b-rhDhLHTL{1Oq>FuY1xeG{DVfJ>+2??J+4L23R*Xxa%HRiF zZ?bLk0&E{Y2FP#ck5Dn;1<LJMFb-LGuZkTgeSkEQa64)H1<1je!>l2T_~Rf)g80qM z?snoy-j>5QV#KKl2sS~DK2`w*r|^%H+cdHi-d-T|t<MnjT@@7!J6$I(`_u$B|5k3Y zK`D#7_68xaEHDhX2$UT3uix1DMkZ$aG2_7Sk4yQUiE)*4d2e!>zPL;FA^qD*qj>0Y z5kfCd<n;9a%@47OIn0C%@fUO~d;TF6ZC=;EMpGPwsn#9;wik)`P7N@_xj1XS2l)Z( zPeVVwc{YPdQ%OtV<kA`Mu5j4v>eFS^lk4F!L*&2NC{`>jY$Oo4E!8e+=)4m8swmH6 z-0)yE>1y>iPh*7wb}cQW+fTRQpMU4X^!H4IX7R*OcRIQT%Jyr;Wx6h!_od9ZPC?XL z)U|_mbh}#2y}WS6P0jn&%w6ntJ&AQLi8^Ii|HLNYe_Fmk_-Arvow}eNH)~q)JKHN! zXsv(>Xr{rT{Ky!Ppc!9?H{o&GOHkKfS9x#1EEQ&ydTQSqFsly0Xfjz4ZZn;(enf3< zYva!&+KZmw**MY@<e2Qt(GVKfkX{2Jx-)j!AOs;E@8U;~`Iobc$f)rbC41YG_9@5P zaUI0vgng-ezU~yJ)ASU);qHrKuU{@)T67trXK1pBz8Fz*1)QeSZhR6GSV2B4r2W)H zZn}qbQP-<Bx>vrWFt})E;6IXy(VM&WPN@DbJ3O5(fEhjm%bWd-(tL)=;`kPya~~Cx z4$buRlLjU$AzEe+Nu?6zPx0Ap1B#>OvQzgP@jB?CQPRqX3mRAT#Gdt)A@pA_+*s^V zM47qhKz#=dE^<0Xd1lnV;zCCo3v>o-M9Cx?4^#C*Nq)W~U0_|MCF?`m#ZRe<ty8>f zo}iGKWqVI^lR_Z?=qO)sE)q(m5u^gvE=Tr|aQ_n=|MtFThj)0&bP--s`BrrwQhww| zlM{;Y*&-zv)6x{hJErdOkunhn{OuH?4Z)e#B{PTOoOj^56Mju#lg2qC6X=Ol1U??? zbaXyj7IF;~Uwp8yG$!=BEDGcQv2K-YK{%+jrJUk;fvMvuvIf#QI>WJyOZo@0uobX3 z^WazmDMI(Wn~Ccl7Z3%!!ND=d+7*9uh>$;_W$b^l;pUw`4AI9&7mSKC!S7eDzqi;e zWcFWn+~P3vPc!M-rlT~QZegdVBk;2azKQv8lRQt`qu&>f7c=VtglU{zB|q%pon1ok zg&kg~BKZFVZvTH#`7I5bI!NpFj<hpPFrMq*R@Io*pa2=;o(N3=&TZC_&zNSO&!c|m zPZII1F_x-67a8N5V8g|-LmcU+*cJr%Mv1>L{X)0>)>S*C?IL7ZICyXe{Uh5o$CX)U zUp2cej+)tJXlu@bqs;e__dBeICn~@FEUDc^ZjW!dLjB$#)kOvR&e_n-TYpwTX{+JA zTWh^Ut~I869%j=E-(%bu-H4(GJz31J@)B=9&RT_h=wmsbF!j9^Rj74sdlm=1+vt9< z5rc7GGf0|pc>Q7qpNO83ZM#JI)d?e(7z6kNP=p6$r2fKnen$9iC<xD><dN%sZ<B0$ z3mY-li=DBK>f8IZ-c$xePJF+Q-eiVsg@XE1pBe^Gw>OdEFL*O}avQRjV>hL;=%O<l z9#nwuY2upQoLSdhSjA4Awqa-gu&r!xJ1^GuC_o55$=D5-@Ns3&4QYau+N}?u92D7u z&3HLX+@NhC?lxLD&h(Bk=R+Yz7h1K5C?{oj{xq!U5bNW@k+l_=O3lqQz=<StRd7pP z;82sr@AR$24S(X~^rTQOWsX5F^GGeaw1vb;S|t1e_4v;bz=G?{EutZj5f|MqC$ix^ z!n03Q?@tF{?7eI1N(kGAMer6Lx0^8dzi@Dw_&ngS0uSPhktuGjF1@*bW+CxzoW^uy znBD#K_QJhQXoUgSJK>Cf4rMOq#bPd>7oJPrXH&-AB_1LRJo4P5V5C!F+cO6AEWAi= z71=N1*Uv8Cl+_;yZ{E$sRu%H`0WH)BCVy=h>a;x@ET2J)^pTG_Lu466L5qw+ftc&@ znXE=}y{_Yh%%;~&vEPB$mz9d^sZ7C8-@>KqS1p3d`2Z7MQS%4Y-=w|~eFeYmOct;< zN>NHBV<D@@s=uNOOl=YPtQr}ej(jp;@8eh>((0oQw9akC<G7Fe3UxzfX`8Qfw`vxn z*vN(${LqqBFVAdgMEBJs%Qk~Jn>xLbHPurMrfmWeXia<>Kh1fk$h6em9*+FS?~@ZP zKp=0DgjY?$Dc9DRrX{~XM?MIpy_;1Dm)%mJ#@+%*4^AxX<xkI<=qyyVX!%O1@6(5r z{agKQ?C3n4!$QOlVvxo?ImefEl#(Lj5F<wW@*UCD^2JWs$p^53T{}c#^k{1Opsax` z;bZa}CWnQ$2_MgpzcyPY{H6edk$@K3a}GLp(D(5`b;b;nZZCcLpvrnDw4{S%zjilE z=`W#RxbboZco?;QEQEirwn<NMTlz)6lBw*HtFk9+5vYUfpmil7=$+#fQr+GHu`O;p zaCIqz$^>Inx-RRp)?er80t_q1r12iDDnWf(?!=3U7J~vp{Hm1>Js!Q(E1fRAW=8r} zA;9UWE7|K~3ySvvdPhB((9gt!dasd}i%aKJ??d)g7(r#wYWr7vk?FWNp%!_-D18(3 zpfL2`rP;>>!mnS4pq`gVzasuTM15Bfar2h*WiTcT_)PuArMZ|+;jr+op`~B*jqC?| zlh0xm%H{1RcMuc@uTYHN7C%FB-s(1`V+|+;vN7v{X)}rEm;90GTU9SC?<lQ3js0c; z4(P=D(vDaBf^XSe@>0e%5@4)fjMJcw-|+_1h|~Bz+Jqqu>5J%#%W7_U*_`vNCq>#O zY|`&}=xB%hzxxN)_**c8+cPANLApps7;9htq|*-cIedA!1Ps`|za8<~?|XY9iR$+n zMpRV9PkXLX5}t0LCE6$;dP}(-j7)84f_huC%45-*S%d5^m^s~nL2ix}-Z5{wqdTRr zybh>4xf|R%5GG>SX9Zj_j@3s!8h<BURN9bv8N<Q8i7ypFu#LY<AVpHfud2}5Ai<&o z>Zb)PG=j?xKLiSK?n$d{3=4~@HBIOy3Dxh3GV#D${m_6plSeB>h}#$A!0laaSi^hN z-=bWQ4u!C(BuowuP^xP#_MRNf_?2(`x3m`LYH-#vREt6X8wx#`nc86T6DiR)9C_9J zCG-5QM9{q0Yl3y|`w}c7=619|p5+fSb+~?1D8{b$hRP%N^zi+JJuVcsRLXTp5bdlP z?5*`qT3p&Vimp4~j0eB(#~W~=aKx2Bu0UVN;g5ROHjQ@G@4)mTO@&VPE?_d_*K1+` z9r;6Vf1*1bivEu>*JkhFMN%S$^Aa_fABv`)2nhU8CS-`nE^WWCh_PtO0<S_>JFp_g z`7CqN_8w;5=y9(I<IYg>tg|=CqWRiUcoNqa5&@v3Fr)u$3L@pc@BWff`iE8lC=mlC z_7?J0zU6OADd>(H=P6!9#1G=?Rtt>QS%L(X=@SV?U{9Yz7SNM83VzbsmcDAy;$(qC zxe2vfL~nUBH7PYy-J0@%3w9RNzFI6;ij@;2&Z9$9{$yoD&9-z3w}Dn7x@9rjW8zvo zkVR(>c)x>4kpmb)n+l@&9kGhO@0zV2%nL7y=`}xdE&Col&O^)U7!0VqG-0q<%^guz z=xpx<+DdfF=HdNEAwUdN<R{dAE3~b9;NG7lq%>sjd>(zbFhN+LCnJmFb1=0`0qF0c zQI{T!SrRTTY$u7D#`+O#=6CJ@tGcIPsAy6Lcts{jt<jL*2*QCl(u|eo;NOle0t?tf zx4Fi%pXvu~9N9bs<NMoPT9b?8n~SG`oUeYlbik1Z8VCKQ8SNxxUP%>zD1RntsXM~> zHr*w5XuhK~50I3peVbM2#9i(<0OR!3uPcEZP7ZG~DXbS7ljW6t`vt=eZ9)x;G;KN$ zC5-ApQ^oNYQfRDH|LJ4`gQ$?|Or$Yg&=04TZ%u2sQVb9VIGu{=EcEc&jfdNDdI>nY zswWz^iY9<;yBCHCif}zixh-JIsK$3K8;m+$@&Z&QJ$b#DZcMNH3F>G_P@?w2VX=lV z{AJ<DKJ^aMU%M#O(6YU&`1awGON#GX`Sua1`^iA1$|>)Rmm@{Z1e%lw;KJElpj@Uf z92CT>`XazF51I-_H3nQ1Cu)^QgRHBWT2ZdPu!5n>h#?-*p*Yb7?ewOmcj=pv_V!5e z-^x18*y!wqyp|%`c1FRYBX7TCgI5p#wXS>220Dt;bp473Mgzm71bnh;iD)DK23K-@ z{5idt=KI3l$N{Ctg<EI6ed!#<w_IUQdo_P8&Rwm>Gwj@Va5>*roD$r$p#SQGHp0SE zJIIi%cP!oTN1}6Iem&lmA6TlpC*cG)0xd*$ArwR+artf6=574c;+7BNJGS%(e!<R| zBcJ_C^%F%^{ju&$s3nEY2X9t*sL8ldnP7l7PS2p+8*@VCZ|&^>W$$XeZ`vvG1l{K^ zLyEXP>N3cTn62jS>n}BGRTAX)pfJup-hloY2O}))h+^Cr--*edHj8eMp)MUq4{itt zT%Akb#OHGm0mI=&qSfC$m0`cCR4^A$OhO<N2rSUBz{2zix?CfviEfax0Vs6qyq_Cg z9ve>hQJ1Gy<D1@>T^#QYP4QHxA@N}Trx%`}Ywv4L?k2R2D#@w?u#iQS^QFfY!T^LZ z;eK7j+XqeDW&K@05r^*;rZvwNW6O{8u%<RZJM@)QiZX7OJ4_~*78M7GBVIZkkN>{I zx~?zUM@e|Iax%S|M(As3mKgs5ItKk1FUcD|`qHum-<7hlDM%gSL$UlCsyV>7|2+yB z@JinGnDE@z;ZvTIocTcfY3?`QqF};4rPHDCGo&D-(!Ys+`@7?c+<Ml#P<Cl<GGqZ( zPODTb3BoPHUb#|thIm4fg)LI%tH1Q=!K1U3=bdHhALRj2%;CmPujMGnfIdiK>U@85 zI->Sg)MWOCFcOfeRv%R__uqR@17y!e<?mcf$I7LxRx?ACinw(MagWv(MLs8w+FbgR zc{=8#`D2!XhzLc)D-$E46oN~~HO^*e^<=#H6MUvSe!DF`kDzW5-1LE;;0{9>7$9F3 zhDKu~#($#y8~dBncYaXBLr%E1A+N^;kXuvmH1yQ{!^!6igBBG6lgYmVh2i+c^M0b6 zu79%t;CjiNn&dzgmfn{No1rNAf>{#wmN|6+YcM#XB<4YesGckvpvI0UNO#8zt^Lj% zto~%>utMa<Ot?)$_;~t;UZiG#9e&Vk`e50AMDZwrDrk10OoGe+$9SRw(JtMVKWtA0 zeit*;vHU>CpSlf3ed+}&L4%8~@mug?yD|<62!Nocwkgfd?dRL2^e2CZprU0rb9k!N zHO6nrFVaC*Igbs$Mkgf8TzfeAeMrH?KvZM~NQ5js!T<H^1A7X`6TtHKn_rJCUA~vw zJGemvKo}5>uEqD(uZ8T^PwVB`_D<jEbCV1OQ>T2KmiuSKo`5TU$*+>Q=C83^s|--K z+ZHg_Q&+{+ZNctyH;|Pd!4&*lUcA|b+YPCz+urio^taDvk#X7Wy>{ls<BP5Dfs91k z1#Ue-fMITiGx69Ta%~^lO_Wa+(D^({P`Mun`&uZ6q@c0H5ua4CsWv@cN+HXb+*Jk7 zOH4LgKF$B70$hD)OuqxZ1iin&z370saaaj;@RWtVeXCQhM`z<OF-=zLQ*F1d!pRlA zdR$O<+Nf_vLBYek`aKGm*pz>o&%Z(C)R%>%%uCxN%tLFo>iWy<3%~0-QHEP%gvlk% zeX8A0CXvN=?!wbfe*^VwP{n4`8eq6tzu?YrY|qWLp}ba2mzIA!qZiQ51y7A_T}p7T zf;iV>U1XM`y=w@v2S}lI_*ex2A}^+OMGYe88jP|BxLP=}{(}yQtXzGigxw>0eQ_IQ z!Czb3J%|1aXAZ`BzX-@0mac4*mh!A$s2=HgDxDZcD_wXY?yTGi{?MCmQ%?saA7^~& zV{?ICkH+bolQkwZ)l#40--!ENH)|U&vV?>I{s!r16n}@?`w_C2u*$h0zv&c8*6KM* zfG_D^R7^K~b~Bh}B<Tbp4lObv1y8#aff(SI_hhQUAscs&89fK$#M(#`Nf|nnvay)b zO6l)djxs}$6oNy~-R~xL_{!>=GTKejWFJt!oar^JH)5YNd_N(ckNe}S*Nb=oBpGoC zY!f-8uYMb{YUO*0MBHbPif0^sQE#KOY+IcchbqgkK#e&j&O+f;CY5kut3{ePBoA=? z>PpY8nbJ9(YM?AmvYlqvYC@;$N_SvI?jkQWO-Uz$Ct)?^mMG`i!}Ws{<nxz#UwD9F zyXaT#mk`8tc`%6KO=%53Lo0PmWn7PDM@5Y_Qe+7kLJ)F|lB~Z!#5Ia^%671kXNN5h zBsL!inEU3k>$wirf+Y@7KH?H<zJ}!QNrI#?KPgPe1F}>6KyEh=PCRh_RXh9*1+lRw z97VOJ9=6q_e~_jcuU_*bxbS0MyG<!cXH+xFM9M2ujeHeyw?dRYGV5`5g$b&(xC93F zW@?j{LsG?@*;KApBJ}@JD-r*{IIJj`rv$RaQY6;VS%WKI_#4?ghzvhLt-%lES&3<} zR)X-o9^ipes1TX8FLv<(SSsJDux1NpE)wwQtvKPCtHu0bAJydzp!5$P<B4$|FaYH* zYK`DL1%v8yK4(pPjRG)K2ZmU>zXzyt->)DBYANm-f$yN$m{l5Sc<~bx8yN#WLwcwt zXC;_x4qYZckxxmAuM_AeR07)!m-nrUEb?K2^eY}pZrz#lU&n7&Ya&dU&fi;{H>Jmn z(m#BY(+>VVamrp~f}ywEM%ViG2O8;1$W7%?LKYJ}+7Atrx**!$1`5|;VlsJ!7a73h z>~~2%tZx?<b%R=-`2SHKVzE0$A#l-S7cjf1=mNGR$C8ZdzJca0iO2_3+WePc{2F%8 zV@TQ0X|3E-EWlL*PMT;pC`beD?I~Y72*v(`2X$8>EqbpOxX(3U?zjubQ?_eDbLAvI zssuLv0f~*>?!;YfbCmrbp!^b|e~O@6(-DeXO8ISZibku3NxGxKU_1KJHh%Qv0v#t? zcEiJ!5`Ch`9P)#C>!0nDBL9_VG#z!%#FjWZ0b!a2En1iWA=8V<Klh#X6h8Ia7}me; zsPb!T`uI5CNo&7y23pR8bvmFKe(P#*&8EUOn!&`puip>)dutUOGW(tR_ZmhA1M@y= z(yx_{B!v*bIrF$Qt-Lr9ckOYf>tF|a+OAe$pWX45ndz}=WIqS=_A3}MsTw|^L$)3? zqGm-OEv1XM!cqvzwk#Qp<mhi(fgr5ne_1pTFHa;QK0s7U(tmc~;uQ4H5Ny)^FF%Sc zS3cSnphwb&muqz7fRMz6jXV!U2#~;tlWLD3p(utuJn`$WrnshsnIr<_00?jwlOc^2 zCR_Z!`WSo>7*tdc(u>XD9+uMPCJF(rl{GQLWY-8GrEV~SS|SKN;<}v_1L`jr!NmX3 zN3XG@#z7kaGG^QA(D1MVFd}m0bnEMAB7t)5Bi>&|R7!`BQ8CQ2BlWoBuQAk<BNA37 z)^|QcEjorL8Ha_?;_<RFpmKCT`~#oZ%LtG`Z5<EUTEK`H<9lXe2)*^94B}C0wHS(7 zw0t=|LsKDw6J<@FU8ZPwn5#{k|AO_9V2;qqi9W48C^9zVtf<d!HrLksM&C0L&rS66 zCxSxFU-xF)J7Gi1<m70EF()@tlqlqAp~Glazkv+lUl?Hk#Z&@^^C4NRC}6iPkc<@N zPGHHu?Qo2K<-XGtNQM?;(<IR|j=WCJ6qMOd5O`3*P#J~UTv$Yku1$nh)}+xdRd4tO z|J_e3WG=^=Xt{5w@|`PxKTS=groz(jSOz_PO~|3@Y_J)jQ1QnNN-|6a8ny7flXkwi z{9=OcgQz#<|5JT9+kv`y?|P?f{-?Cy*Jf0<(vQCuHl<*^Xf`o@lBT6(QFgrKkg z`vB?9r-sW)SscF{QFQIEG>~(XelARF^iD~BobqZ(*h2S*cP|*G0Di17a^JjTFYKNc zV0<WRMdXOg&rZR?`9Y9e=`#(SsM=TZ<n4kf1l6fMM8ovXU<MbUHQs;KA_H@iW`<F0 zosA%vJ|j5uYv}5_Xl45ET4>;74*>^~aLenn+z+nwI4I3BwPA3%%SK%`At%8{T(nf0 zPb3l~?d^61G*B3U|6CsZp;g>a6b=O{4H_l%#@#9HK;!#7dsrE(cuJL!^G_?UjQ-eN zzE8Km`m((Vf1(shj#|;b3+M+9te+SOa>1nsyL55T%k#rrvbPGD`@+3y$Z?>;MlkvR z-&=!%*lNRVqX*sA8aq0Qwz?^(xUYv&)llYwq=)vuYgq(SoByjO;=iilPMuwARFZM4 z^7?-X9VA{HIK4@}0R{mMH2BHmoQruO$NQ^?OUXiG(;5GRokjB<Dr~>xV-{Z4`I1;( zR@AJe$F2f3i)>(8PS6M0PdF2MwCJA5l~|Rpz^5{ni)ykVt_ouJ-L$I5O`WgJtY1dU zMbXyp_m9i^6qWScYUp8Yf$LrhrzHiWY)#)}i_|t=MW{86%FPp;PTxEv<Gp*mE*$D3 znJqmqG@X$!#EJgx%U<vvPeb&tsHHz$oUqRR{rRk4S#-PBI64FhB4QgTel6~@9_IK= zq>+|ajsa^yaC2i*E%W;wL48mt<yj+t1iH>E+F$z-cvd{Y3j-Gt(ti1!1#rB*LU=_z z2SjqJqSrU8A$UP^UXm8rMdTq2{!>-d-;(w0?92@prE_$2+_@Sm207>XP85wPj8)ag z{bcak?*X7Hmj+L*7fX8bVma|b81YZ(v9<<{QA<1AFpy(9S!8W!iPErT8FB{76043x z-AqMQLz5Nhq>~g&FuIM)tH2AT&~~t9CKF~ATLOHIAE-CgCBHn6?i`RXzINHwLv~pP z^s0W9AIb*#0Y&1^=0s0D8AboLcqv=`gI1OZEL^Ls>s<NLdC>Ck$>0+66)$|{@9FW< z`69}?aQ2Jb_$&aynEj^!Qo(6HAqR{A@@QH{`W9x}etVS16a{~^zzX13LK$KPY%eS; zrA9;w;WSunzH(E+=uvZa<-{dTfi0+cE0T!M4tGCV?h`phCN@J%o>IEuo`xO11S)TG zYJ&wV;8WF)7N8HWK;EnT_gzs6{v7%s$kfjFd4%J9sLDs)82{9ZG7KNKdDu8==>*`n z6ss&UM)>mCnkZ7~k=!~puY22WZoY!iCMhPQK!NtMobA`aKVHDCz<8loT&EJ|FvE&Z zJxJ0@%5;HRvl;DdC`<uPCkbha0X~Dj52)x(KbM`6(v`gOs27ARa>2v-YDO-SF7&E@ zq&yG3c7L6F*3@kRb38aWCM#Kd^9IBJl@!UVm8dM%H2_Q4(7v}JtlJTVoEF9QRaf^b zq7I|ZcQWt4+;#P6zE;Ss97WvLd55BvfM}H>$9#7)%e&k8A4AJ0o}d&S2fBfzB{~d$ zMP;nZxhMbut8oC(R{^*;>)`fzp)FfN8Tu!#N5;>1XMQ<cNluT1;SVx$f&ASHDd~3l zm*-OXnnd>(L1Fy;l)ESkl@s1uFBLz{8skW&ph)^^JzCp#z1yTZnOqZ|0bWH)b3-~j zG1uMLNw?oz&y)zeF(nP(lRg2zRt``QDd(O|IEpR*npdOm`XQ?hNnjY=k^}0o!GR;n z(SxH{9Y)InX>hYQcw{e&K8=z-k&4cL%5GnD3yu~QoR@mZbSlwk5sH8QknYXZPjE}O z%mu$&eSde42sO;oWu$Yjc@y<pF!}{w3Alu{I>(Q?tLF?id0^u=lw1NtTeSJqSDXao zl`gLQ>v%v^$XI{td51fk^SD~!$rDbzc59!Zy?Yi|!{`lu7=4hY0Tma{{IL!Ym=1x- z_L~cYbl-KC^2Hglr(GgP;Tje9^aJb0;xBT3-R~K|P#I-WMd`zP1nV@+L5dv-7r*t_ zu`POwcIS-nlRm!fH|7eB3Zd6)JSC?#E$%4>l99++!qSPh`5Dy4ZC6=?6-5(c-eSo0 zSy0ncyzZUh9qCALw`ibz&GPpbOK?E^_6!Us1|&YL?V_OS<ag!^C3mt@f>jZ1x4eQ* zyfY0pa>qcSxTVCbmuLaSx!?U<KbiGA-v|kO3QhnsiT;5-SQC}!VrSK>hs{iqdoIyY z+D2l!yacntE57=|E>0-k;o$-qLTbgo(%TIH!={|8yNx3I&42iEPCKV!QlOOX8!kVs zo%+IXN*N*2^zd)-7cXB)LNM#YL^0*#Hwg%w2KUG9X6JHe9mxv4`V0i*K!n$Syv7q+ zMYj1SELWS|T>{R0_kn!|Fb_ufTKt87yB91`!CgkFGr?IZYuwN3UZGZh;usNg1-N86 zAUg{iZN}tBOJCs=>5%l3l($7626GhxQxzB?rR~z~zxxOI&_Odf2W0v0**9!%?g)n& z)s!pLwA>!>*zdiT$jV|d6pX|`w6PtGBch@>%?AO<C|4ZsQeQOx0r%!EsCg`qn}@F6 zL1N@tMgqdMM}~q=X3Q;N@8ACGc_DDGMMHmCWuRqIumOy+xB}+Y-(N$)n?7d(DwYnr z+g2JyjUCg|1W5~(8KT?VyhfeSoDRE9I_>JQ@P-<7rd%9Sp8<vOB_UmCrie*y!R`R~ z9%DvI$Qt1=X+@^zKw6)@T!hdbFEwBUH=+;If6juydNhIUC1qp2pqXcX(UL~s8!IwO zvaFDU_IncB$a1EuL4U4Ub3<6b<Btn~a|Y4Sq6y4{89otzVbrX^4SDkcEA1Ov-L^38 zr@Q<n;SDk9?ZNx^39Fbq*=t<130m%$^Z_-UY}2h=BRY9c@C?xI8RamIKyBJIzDklR zI@2Yf5|tHhJC~656GFe}20l4ww5uT4{^`=4$ZW$vmtBnEIAJO1lx}aVlEt<Jk`_M< z+lJm&wu50aTAh6^6j4CUY+PMx%3}eU!Glfgvtg7%U<s|r15eTel7d3G0%`clvPGJO z(xE7ya-h#8rjS*lLhW18k`fKilr%h?WTYHzGn-|!yF63jQ0GQ65(U+74E?NYg#4^< z)|dtfFW8O!#bD}de-t+bauZJY-9qBZ$>;);<wc4$0LmUItwTUuMJg3G_G^t9JM{%E zmIh1{$CO!1j=c^K7Xb4eLa58ejK$NRrNos}gpTR?3lrlF2{3c9wfyN~oP^+z4chXB z6K!YCClH*ksel0^*O9VlnL1cDAAy>d54yO?mIJw4HkhRXYlPH1CCbfO5kHwbWc-4l zao84C2*G_#(5kjh$?y)rw?D2|1Xx8vs`SRfzxNuI(@mKaNoyb!E<DimaQ5x1VUzg1 zuGJ+_Lax^~)ZY%z5BA465Y<R;PAIF3Fq9*mFBBXSrgR(FO|!j2zc4Tt!wy;X%Be@i z0bN*cPfod(1W1^GkjJ2OLIBj)`Kf?GxSFo4v2e7A5H`j>aI-h`(cwBY!wZ&*qyR$G zysN%>V4Ns2LbGc|{W~j9z@DU8yodG*dKleeIZ(1YA}`)FNB7m+98Br(k|LW}nUG{d zCohcZ=t+NP^`LF#YV~C!C3X{bw47EcQ-aH~lx@gasoCB9s)C9pUOJQmW4NW4J{g#I zt~w%dletR>Ek2-a=CVJe(4&XR+ds)m-o&|EuxmaSX==m3Yw(XJ$9Dusb)Hm|h&Cy? zcXc<7cQg0Me{d0@+M|*&w+@hN2gcHM1LmmvGz2o#L(!`dDD(HU=kf4OnC6AW&bT*> z*bqtm)CuT1O9QZmA2Yt_!dD#h=Hdlnucm0-a>H)_JTie(TTua%y-WZ#ZtNXXxHYJF zcD@1l9J)iQiXN|n#b#Ko`6-prPaY91yp80=T_@IjoYvR^by+s@CZX;p-4rA=V^X4U zD7!vDwoxSejPXJ2HIG|OSIGXsgkC9>WdDZNc4D1Cz(#Ax2D|u4up_d$xyN};CoEhA zRxT0E&ZDQ#(%r5HBg-T!y9iW9A0&4vE0>_J)4}q!3OGZT-OCpaLU&#MBHbF<d@&>q zp)Yo^GJ#dehL>|;<`9Q7BWy>ouXIzx&GjBsf&6@G;yw<lElB=ZusT)8SU}Dx><lkH z&A#d<1(l_okx?XzannFW<;+BW%e}&T;M;e2u|{rsn6mKX26<cQf{^ap+smU<yBm-| z6Fv&zC{R`az<UKy`5+YL^-bCHKmsy62VVOLL}MtIP{l<#ddtx{Kw;*B^(uI_+3|iV zb|pKk`j)(rhg?pc8?oyH3}-N5qq6uel(9xr$e3hzev0WkWng5HrUHw_lvs7#Wf2OM z`TC^v=UGff=6Uddh|HRhxswy3xBE9dQ;lSQ$ycb03iaawIw9<{J^6BTxP5>eIqx>T z8aKZ~WxpNU_uPS=a?mzGW=Ntr2B>KVCZeMz8x_t{r&6WA!~faKP#z6QE`mP<ZTBoe z$dII8rGjn!mNa+nSESb2u$*#Zf)i2TV0rQ{QPrz^#A(KG8qD!n$~qSSk>yiOP~%oD z_%3(vWtizc<_}4TWLlUCjx0ycsjDSbEw6otVH!iuK+VIQ+t%Dme|R4sK1{5lzyTd% z(G&5Xi@&HLFs^UoO2$$zWH;X&iOjau>-xIYx)so$@{oJ~rF)`{P4lbNR01SApkoRx zT<cYtu^X4sNNXSc4_Md@Rm=wUjxF$0TNTGVZe}zZtv5IrH7?K|RGs%}9-Q{=o!q6E zC&u6p=bSN#)%m^;My?!o3m`Y=P=qo0X)SK~x-}^4h?Lnj91z`2nGi`5;Q<b&KCB;0 z$WP((131RYordv0qd)T#qZZMiaugfu;IhK&tisL|V>shpiGehbawLb{(fARm>|36W z<c;*z+lb&6W@k9VBqKtFz?$&SMb@2>xiLiB#O_^!IEDmY-NA*(Jbp3TST>XzFx|nu z89p;Pwc+>+8Q-I2MQZ?7WNp<~61n{}i!`?IG#0jOhe18S%JOp`sevTXt$7mSr$z3_ z1Bv{~$pji(e*EZlAUNg&<ThL@Z)+l)O?A$a>L39`y~ljT%a3n?}h{ICyS@qr(XM z-zn^Xy{!+#pZQmyE&75ThH>zZ!V1J+5_`Ml?jP~Rz0=FE$9#gbw131L%%yogzFF6V zbV~jsmhW@7P(pB)^1sc;L}F3fYjwsr_(jlR1~UQSA)kXpl@*Tx2rYSmT+POX=oka{ z<(w>2DH)59GB$(Z<6V)lXphI~xQ=t)mXs(>wWHqkA1UK;ANAn`car81M{*H@ug!=} zy6#4taV~NtcTw4S)gAlmB5&htWPdR{Yd6_!3u<)qAKeeej2F>d$hVfUb=HwjFfpz( zQYPl11b1;hdd+WiCn{hM7~b?(1=(2AFQ2DKDkDO2!bv+&Cl^cKkHspt7&)$!KmD>a zpr<}0)c<OKCJHIppB#34k{R(fQKhXOo78`{(%H}m2Gj#{P)&z}%JEWA(`#!lrF_H& zh^?Ea^rnt`nAWy4={ur(DGmSl<J}Ei<UF?`Z_5@rMV2wyG=1|gzL6m+!}iXMrI;(* zgl}wrwPIpJGJt_T6ItU+VuNAFj19mX4Ko<)Z6_PN?$N228st{mMGyaQ-WbD5!0`Mk zx8?|`mwM5-mo3!pZx)afZeOM_Az6~nQGErD#Rj(szDo7$)q=_Sw}#F+pD&6>lW2aP zP(v_=*pIE++>(0n$*hz$F6iT_K@C-cyA0QhE^boE3^uNxcqSQ<se$M=7W5{t;NYkV z-@h=|3Pq-0qd)$<WJjzbzgwAPL92eoEv*iE1k#sNge)6-4QOU@6Z_qRN%!mHkAAt$ zkww=r`L>w$UO$BU*N9ENN1hFvGVf99WXedqK*|rgJk`w+P@1ET&jn&%Q0N*BMcOO+ z7R86;=)r_<v$|_;GIF-Bq<J9MSoz6Z(af}ikNM!dxPS;JPy&_^H@_68_9=;wJO$A< zgUCWH`UKH!=NFv4mOc!<pUC+!Mg(Q3JR=lmqS~Nd<Y{5nBT21F=Wnom;R;kE5Dz9d zM51^6`cJ2d4ncBrsCcJ~)QH0Jz?*aF&>_l1j^gaR_<)d{+oTJT=+Bqt*)S%&UG$2+ zjnOqF+id1MT6Nk)yt8t`YrNRdazi`tK3ciL1U{u$AI;56U<PjGHO4sI^&PLmaxeP# zot8qPvU0-%yqV7p!bxP%L!=O9h?On9qWk;~!yHpfd|S_Ahc1ZunIF55&`N>amLdp7 zDGp61$^kz(tr_4PL4!$OvD7yQ!H_<GXZ+?JaSk=RU<Jh-90$gP4fErx-qI?D+9j!t z^vV{Wf}A5ivvg(=$Ia!{iavh}Vu9DZfQy3~&AsI8f9K9LvD$#MxMkTucs)sN>cnwt zx|Oe#nyOf|uxSNB2(42kVb~mY_{+!0MqD<Fmwv&6M~ie`2M;wSY}Nw>4yqgb5KPBw z-H?&34@2-a{q=MPmE=-yZT5xL_t9GE;nW?htV}kWl%mf}a9rWt@!LQjAK@{P_ou1E zM0M~rM7WxRL0UsF7m>DNP^wb`e(N4*W}n<f!W`fSxUw5%^p&Utqgu_^uM)zVW$s(i zBnF5k6PNYIIxrPO#XL#Wa9J<z#wrN$(^?}iDdGbnMii7;=XRa9DXg^z?)sR(S@^k^ z*$Yu&!=D{Jp%K7>wgwh%Ic|BdFRYcM42df)&F-KTnRRsk2B<J2F4^gfY@uhZK;8@m zWz=g@vX@dnx9(yo8y?@Nz_c-gVmVBeN|F##C50-l{CZ?BOo%%L8MM$6mF345fr=|~ z7L&R})j5411>xnCzZKZvlxYl)S(Z=}nTC{ZTLmWo;)eVdcLf2@kt_?LwU#0CCj_~& zoV+d?dxuSCvhCN@S}^Zev3-8f#x^5kXdNP=(8UY2f@(JqCAqR0jFM*q#Z3(svXuwC z|DwhOp)6wvBdum3X1FqZUwG|L(Ud3SVgDa01`%9Df`5EelSlxxMB7wmf*&#cwMSj@ z>JDK0f6Q$_3901#ij)?vDxz1I_uERg`<Z<TpX`57AN(+WiS!oPZE6iH#Fv%_Y--`o zWm5lG?4h82$IAji#&Y`!N*l4*&TerLBTC@I*ZWhg@Y4@W`~nB<wZx%QJZ+~N6@dW^ zosY<x6z}3~rVVOIVJ;a%7@%VjKoV#K;%Zw0J-r6~Qe{&KmCpT=`aIHzS^q{}JJjF@ z5}t`2%RZU_ku^;MnB8vY)uu2DM0*H_0=g9=SOy#=4OSc=VlW3R!=9sldC`#aZU3Xw z^Anl3vRMQXer;Dr_DGD%q7UTHBZz8op1KLg<&3m9fF*<lensO5xom1*5SpPbZ5`eb zHQy@2tzRdm)HpWA3_`&$7a+Pq-tG_IwIe$AtK9PI6CLcSV=4)5|E$%6H1oX;+d>*r zz?&})3^ool!sr;F9vS{^ZQ99<Ci4@issF8a?kV@yiNSKoa^B!q*UsF}k+*1G=3^DB z?%LtMYw`+`IUej|LJ0($&oed<{yNJ;FzN3$mm+3EEjen^oRh7D)bbyJ>Ns}Sf;P1M ziFa!SmPf<X$qI8g5J#eEsJ$6)_9frW$4(-y;21uUM+riN9tCWN+|ZHRIz0;**8{mZ z*ZqE>_)cmW2oO}XfX&bhTF-O4OkwXS;=UMx8j(3y{5HIukM`95M?%Lr&M>+Sr2*`H z_^IS@b3|?o$u@`8{TYU&U(>u60UFY+#)qQlSd^TGj4{*Y+bD7<wj9IgX=LeJ1&PgP zB%BCY$a1uLf|}=kP`Leyb+wrQ7A!f25BX0@60&s#Ly~MCV}<Op6Od8se1eTYgc1(? zCi#Dx#cYBgkW%YUYhiDB@+_Tp>+O`7$!5jLLr{(@z$%9Fm}+Cs%|LyH+m$9K$FkHX zQkJVBS2Vk}C`_h|r)GQ0^WZdWOBfbZZ4OEHlgWJ5Z&@lw>&O<+DI(NeBq_2edg<Yv zRTOX@zR8Jla{8j8{`q#;jq8J7z?qxY{_{z}xhjV$`FKferCeO3q?)uk^#oZ@BHOJX z38y)?@aUXY8Sp3?u_T;-|MVa!*wbd>JKNXSy`*X>mg2a-va)gzR6M&vvv@=+d#pvD za`r72_4)p!_}j(nhCT*wB$Xgz_`tWrpo7Om&vHG|uqMcf>1bOoPv9DAXPs3k9YN#a z#T%)@BM%Aohah_59C_0XU*?*cTge8Wb$0W|A8`i*_GAe^{6|SMbIzmE8vQi9LP@_3 z;WI<1T|FKe#U2*wmNp2S?af7VVx*p`I1C8~7>-vz${9(L-QsdLsTMD-nfzpVxW@+$ zpfZ5?9ds-EJ+Vv{;@EoyFGD?Ma=T_(u7+Mritk7yq#dX=n@KseSd$D(&rVh0Ej+G8 zY8{<-YZt)|`Cm9Ox~Q7vYloUTsFkKW8vFn;ppQ@N*+Lrp)}!ew{i!^dnN<}%urjU3 zy9VF(x`W4}k+v-lYSH@<F&Q<zH^UqSEJ=JJ+^>1qZP_JqTD|Y?9%#mrg3@U|oA}As z3V$^W2~vz>DX`|rJ@BB|m1T{}oO?T{j)=lSpyDP#+CiJS?|)p-DAeWeMuG*?e&_SL z4`=LcrO*Lp6znIXtxQOgeCy}9AISoyi$!z<p-2#Z-akk>ZdxQquTRp|dcxuq;*iwj zUZdiSGP{o)5SE-EyAW$neZIS8UNiwLbq&s|0^$t$PbwBOWz|q>+;Bt$;Nf#!NXzq^ zw!8ptI*Q(tq3cz5UCnqA&tK!hgT~P&rQb|>P((_wF(?bt5GLg$31lz-;iZttRX4WW zvU*xyeJyShWn8HgE0+nf{SKgK{D+rCt<O4ACld;!V2Pv;ZBJV-0IiCV{S;PfH(ixT zE-T|0t617K_p>}5TZL+k3gGe)Q^si>7gILQk3;n<QFxgw_04pb{}0^s89aB?B$IVV ze}Yj|*|&PJo+p(Tz`0A1kBNls?&T2O_vE>cb*(HG*(@PG;YJZUqRvkdBMHu>>~j&H zUE>@H`XrpHust*y3Q{o30kWD7t^)v(CMdC}!9j$fz;WwkwTNn&s0{rBA#6`$zTw0> z`M9WS=T3J>wAjo8L!3X-k7q+upb)#3K_)`C@*7UbCeb=MnSJNWo_29YZG5*L$JG~} z1^VqF_>$D4U(GgL?_5w{;6gZrY4Qv<1zVDKvi^>2wZ;fe+*=6Gd{J~D`dO$O2+|9Q z?|9c|#k|+*ZnfWoJE6BWL=o@&*;;9<bTNOa2z`4-5<>XJ!r)srZ_2twFO{?s+T;bn zC3&?)qoMI6cGcgS4R$*mpsR(UUI-J4RP97h|H}_W1aIrp%MXAz<s5JZJjzV1#4}(` z;YhQ78L09yYH^()NXe+2y3p(6Zzj|=!kdUMlP~g}bCD~Er!p;YHH?|R7|=u~tR~Tk zcZHgNa`?LAnkL0h9;8c-)_=L|I`d~7?!s*TZO(&jfx72|5z@MahTiqYTtxl(hlr8A zJiWy(aN8*RTgm{5S|G{(*w^n8=E<!9@=@^*g|$O1#yQDKl^>m+e_+5Yqb~I6H5#Ww zo_r(PMPF!@1Rtv;U%Bf>N!;W{9hmO&Eu3kiRZ3(Lq<+kkj>J)3bx7qqx*C$}PcKW1 zJbEMjnjo+{nC%bsT3u>*Zn4%8WkWcTf`cwhBG@ODkIi3csqsDQ7PVqr@H5tj#ojX^ zAQJr$!KwX<2;aNaasVu`ulhYM%VlEkAw4m#SDh^R-k-LSOb=R4Ex{nz7nsTCeXN(W zJ`{M9a`IbWXm6;i%$k)Z%4*9k4(1n%c+e3ec#5{HAO?Bk=Sk&`RKx4?8w!|Uyio`! z4xd|xhQn)c`fF`?g2fHP<|lfcx`q(JeVz89{IS7#z9u#%Lt(q#UB2v8^A~d3>ZB$T zE^)>sSw;G<!Thxf9)ZZd*A9#JJKD5^Y#fz{k&OxWv?|fq!kIzDDo$R?k}yIptHo1b z@#)ljv9RY*&|prmT^4_4=ZT&2M=xsb`Z5{$@76D)00D8aAd&<Z^wx4IVssdu9u6?C z(HHXr+kAL)=c6RSerfr83t+7V%X$%)b3?#-o|3I+X}A;b=MK3J!JY>}U{Rk@hyf92 z0Kb0tinM+<wJfwrTe!PwD@7~DG@2CV3mJ*-vRU(&T5(a4tmJ&yd-+?oj!76eOf}*X z|Gm_1-3T$sp_$yka*CoRcS)AzV-4h-*cR2)Suz77sR&YVacz4sjO{n~yO7FUG>|uU zIkVoq5+IJUK!tqCRm}@lKOF}X&?YD*E)zchVMaxtg~X=T`;{t!`?A7Kh?SIvpXe^E z5Mp{ez?k$K1&;8GSv9s&IXkp+j15DAsJ&?pFpUf{1Q*w)25(04Js)$I%+Ah*H#^BX z-A~zGn#PKm?Z3^qMFY~HKy+15`w(Ke@W1k-_x2gO52yA1!>{}8-@JAMbmULs`P{(( z{AeH>7aS-Gt9aWBqgSIK_}<GA@DW4N{M9?B*kcw<J2@v-s9COL%=_Z2wJhHWw36`z zwp_yTRQjx;?2u9)QJ6`<7{{Ev$4cM?=j4Mi5T4khN#EQ51qrQALJc;<aUL;a)k7NI z97^?<h4bKJQ0gy1ATP!*U`pWGS|ndK^dnmHBTJ5~SlVw?zz}JLo+Q1r9Ctzi!ZV`W zUY2~+mV1V89v>Kn4`Fm2BxeF^E-URM2DLHrlqoe-3_%rc<3PYvQg)I1aZd~L-z2st z4v`P3kl%lkUehMiMJd^aM5fZWr<20Q6rd>bZ5jFm`L>MzW#~pSn{(_}=~rh%TIs({ zHkW%Ehhjp+!$4Rtk*4=YKb?pd@K(Z5eIXIpUTxfvURM=KXi+Tx#Dt&nksS?2>R4yx z2houe(5E3r>mF#W5AD}n!L&Od<WeZB_74*5J1#di<hUSN9$o1(edSVw9;+EL!y~^v z^(6{WVQ0{-NKg#QRJ$V9cM9{q#)SQ#A^VH8y&0~h_S%gHJL8Sz(W4<Npv+~F2IH<t z%Kbz{1TTFnLELW(H8zm%YL4G6u?AKmDP70&mr2hm;fHSx%esn2RGP^jYG&)CJoD5C z4f9YyS+ZF;UrDW)MH3If@Z0)uEj$$xpQJ>^V{<<w;0J!;Ama{_y$B`7&Nh9b<?>xM znx^Yx+4{%}QhUmbTExuZqwsB0W?G-NG%go?(}Ro%%rnJ3Vs>Pn<1Zu>;3D&Bv?y@F z<F~{s9Hq{Bge<}dLdf6CP?YJWM>QVLhQ}W%FdMEV$kwW>s?2&wN2bl>r%WLn`B64U zCT<FA%u~A0%Mb2S(8>x=l*Qeq15hF8FKx_%0Stdi;=ODEoBj@6LP;)#<kwx~%y@?= zz#vxa^Dx=YawfjVMKqhxk}29-mcdY+u4Uw9_V1R(YBzvR|A=Zm+9;?tVA<_kM4tSm zI|e|<?r2{z<XDI_L=SmdhaWZEpYZ(cpSMck>zwfvT9lm=R>Y4V7Zbs(+>kcIykkJp z_n5B^%zx`Uwn9cI>GvDuxNBqn3G6zD*}G5vx)pAa^;Y~61<SGo(^YQ44QY^I^q^OZ z1FzYG^$UjRr{j0MV<G@G)N(Z>J5nNNW5z0zVTJ1@cbC{|06sZ8O%$r%G2rs#`Sed- zCJM@X()cNK*%O5yUw8(E`Mg!$J(BcG3x3gd-J9EwAm_dYF2rswT?a^6Xn{m?BHo-I z8HrI<WMAHFs4*1h3)IAzte?68AYzI~0NHv@Y!BMPnlD+cSVO8JD&ro@)Y(HHJf5Tn zcTi{kbh}8UY+=B{uDqb&dlbWUKE><NBX_fSL1DEdZ;Y!*JcjA_(?jmRZS^N}cZq+m zEG8m+WNKQ@*BuDYlT@!De||6~R382w5yNdISH{h66VN4PVG`p!Ab09J=4p-0b>!uA zQMh|`S+T_TQEGx)^s(d$Qs=t`ZjDCa6kz1Sw%F=6%XhbKG)7^laZ={1wPNcbel;fT z^oYAH_rjf5IU0v&aqS$mBM?~j-62EuYs+uBG3nGv`^^c1{6_|NKIod7YOMr$eg*-r zy09FfXGVbb++E{%Cz0gGNwUb7RIzr|nKmH0Z}AKGz-QgRV~J<ffw%Y{&U|iIgAV@A zD-w-vd+~LmLd%AiJt|A-MC5SDcbKhrPLsbg*=WZ{f)6ot!R7R!M<vfQQ!^`xJqu2o zsyz2m`LC!&e^SqWwQK9qbcTn(9%D9SZm9S_Bp`m{J@6~pN$&gex^4U^k7%snh=$ZU zC~n4u*=HkYQdUgs4ggHVyDmyU=?SBOu`!3T{kluCrK9)~`4CILi|@WzuWlB9JA?R- z>hO>m!+)3gx%QI!0!MB0=S5&q*ezV+*<@FR>V7hgw9@4M+@J9pzaaJ=Y+-s{)uoeD zceSC44(A&F?q}Q@iQ^zZkRspOPt|OPM$v9ZPaSI)B5E~>CE$c$1#j}N+h7KX-CRb5 zJ9WmN^>Aj+iBe{iZ84_f9wb$RG`Y`lQCi>L9lnTLHphA9o4;iI^Z~irZYSF|P=rUf zUof9lAeish9<jOv=K<L+Fv(DT&4}u&4RgOq%2Ng7bXh)2ecV8zsVbfByrC@&8%$Gk zKDPBIkWO((D+hF*fHV^qH5VarCSMQ7$3TAOirqTs#Nip!<z)P{gQ13Lp1=Y+r=<7$ z(Z3j(?6O&<C=_ZU^K~a6_M6e=J8`QV$8C<W$rtVmbVbbg=@BpAu_f<cweydnk?9J+ z(YnyQNXMtsPY#@JgPuB+6T#hA0Kxa*d6KBYOB8Fz<eic#EgscQwjAuq;s_3K!C^2e zjK?J~dggD|ZG-)rk-ul^1ReW@FvdB9Q&)oS=t#eEMVD^9xuMy}<~jAp6%fzF9+{W# z^xYpBEO?2Q=Q=6ZMKdS5cm)c45IQbK(T+@zfAt(<N`^&R+*$Ijct`s(JB(^#hHXly z3b{-s8Cwz;3-AAF@2#TZ3ch|poW>gn)>z~2?sVh9CBcGgaJQh{jk^ZdK#<_>8YGb5 z2_#5xCpZBDxt;&_-8E~?nmc#anwNQ)$8)Mq)!DVB_THz?Z*!sHO*^YlHSTf%1$P18 z)8J2-SJ{PFEORj3sLo%<t!(eYN-!gKU#`zsdp7-DR(jfj>twZsNq`V77jySmm<pIs zUy6v7Hi~c^L%Ut&h=xeWxE`hC%tEa*G8M!rd$*Kt`3sw<h><W5vesvALj4Yt0p}0Y zlonSxPQ^;TQYv1aG8=RqVxP$2(iG3h0(@;o{6fA$^5R|tYe+Gev_Qls6%sFRl(X<6 zoTNHmOwmy+zGg4MfyXeNc@6iK53`hdxQ9^v`_!-+bd%JIs%}wq{$5KAD6w;)(eml* za@sIiQLj%;vt=KC8?p!cY|8L2gzODuokphVK1RHJx<*O5(QydGLdhlJ>Ld-n6J@M6 z%@zi~!pxMxgzBvoK*@F{x^!N6TdLIFuzUl*JNYQ@m?e%2?UZm83D}lDs{A2=2L+{5 zOy4iP^0@x$`~B*fZ&Wwf9e(!hrj`gQD8%Swx{AL|$Wq9c*=MfaD~U~uIW$TXPD_ty zk|IcthUS3kQR}+bH7Az?LY078^Id4Q9LT>Iaa8DT((w@-=bApY`%PFpXbdoiV~U%T z*CTG^hSNO3*NSi4M1bz8LW#BxIKaMRvS0ETPdr$5_D%pfJj`j~lmwH@mwm@?S4WvF zCIv>`{tDu3ehaRq#VNz2PBcX9>P@?}m0wZ3_)zH8*30!VCrse6+A!terxnLHuSqEt znB3=Iu|vr}$rzCQ)mxi*VDUt?GZRsv*deJ#a=zCPeEdZa6Iy58-5B@WjU5d;7h$4n z9)8E0ST(wBqYpM165Yrc*tmK|>^Y8iAqp@)pq>ZgPbF}EvY8zufAter*u)M&#=W+U zu`b=k9?*=3g@~W=ldj~_-+Ebce`4AHbH{zw9*?Fu^A$@i*Z4C^cCdxiMMJ$USYuRd zHnn6D)B->}UkVQhVCDue`89V0xjlXC&y|X8AJ0*4YQ_L83Zv3qxaagTgu1^xK(+oV z-JIO;5P5)|@lEqD4);T(IFP9&IYplR>onCjMYLYO1_x)Bu$_b{d|ywaI=WM)o_w*n z{+azT?@4{LE65VWhn4fc=>D)xm4`yhnfdGiC^`Q%9P<J5wT1{QeI6(0gMGff`PnmF zyAHeyLI9?VBM{48nM`z1Z;R=~$_IG#lM+3>Ke?f^?oq(&eeC#jVfkHaUuW7Z9^T^P z3mek*iMp6<G&R&5kL_zD=O>mxDgQ-gSF)q;BER*2#9pC6cucj2Onm;sF*goWDDjUe zWa1;q6`d%C^-As@+#~S2PX(&u@3=GjkY|t>mZi{YOHZEn%wAj`R!csCJ+kQJ2s(bk z6J~%y*}5Q2BM@Qzi1f?aZgCNE{eoE*el*_~O+q>(v-9u^Udy#Bp+G_UiILZhRi&S5 zXm>Nhf4mpR0xvjM%Tod-KIADT(uWXj9TG*1_q_}Tnt$Ohd%3FH*1eXdBXoR}kVgw$ z%?(k?u7BsF#6Hf5X*-nq%}@|n0p}O~k47({P7E>um5=Q`xAbTbol0I6smI*3i1_Vw z+~-L{HTe;!4hy*s5b=q#28IlV*{PL21ttpdEGEn$9(qJiN6&>!^kk=Lt-MfB`TIKp z?QL{m9AkhQFiN@KPCN$I;8~fM)kcBM(Esb>4YAi!Z>5{O<M_;p2Kb%8Vs@}gSLGrf zioWl=_u}{NiLLakw1_-ipcXNppAzUMS6{u*Ni^g;XPwhhlE8^ZuHVIo3KiQJKjNYS zgrP$PeLMvni2=rLowA<+h<E%*1N20W+$Lc1l>Zo`5oZ9zdg8%(qbiU)-66t<QG(rZ zbR=_k+EqBpYOyIPMswI_qtEhKZb$#vqQHM%4jX4x016tZ!}$5{&tHYyuway=JHH0b z-E4xN-AN_D&d?|~tuYWR9%#V1Y$pv_Q8NS7x?zue`O1t$yl-h!3064Nn!Q)`YoJS$ z=^l~3wptqOk_KAqEMGkSWin!YFb9}4NqYOYn;`Is9AUf92q%w7DLR&2^{zJgk2#T< zI>yny>j5CPHJFx{SDQ7^tw#D=5347}k(J^X`|&f%zV-kSE<w(vN+CT*nLiBYR}NR$ z6_A<Ydh=yh4#(DBuM)HuS?fG!O$XSGPsh*1iictao4$Fh-Ye1|BJNM0RP*PeSsp$f zQauv^ynb`O1$dMGamf?$V##t58<-|<6xChoe+o|-HL$s8JSgpI7^4x@0*{EY1JiP5 zRpxm1%+8Lvu*J8RFb2iw<0E<YbBWZu(rI10<KZ(8yYXPd;+?L^JCODft{^5B?l^*} zzAN3V`mg>ui{C$Tv(Ra4?-gB8KQMeBc7S#-J72Gmq8vYGJ|~wz@+)EeFAxVP*+BNY z{dau*An7_-yo<^D^JS)=ujRd#e4ZAOLA9!+*e9Lag7-u=Fp~Nm)V?h7w$_}fzZr&j z+fUVy_i61JRiX>D&C!+KQXi+H```5lMNiYvtF?M*s2_r=Ux}%wwNc15Z#(gY+Q+(} zX~@uMif_wrUBAu_y@06NR5v#KW2(S=`afxg7h5P$3$Xwc6(nPy!hWWs2>G7=o!ji= z+`q-!7D)`R;8%u}{7vh>a##tWh;fivZma)0a+pv@p`h`P{4_Mdjqw`on^_zxfIf-9 z?8HFv3!jcfk52H3H2L?>X@?S$#ULAA$+Q9-atTZEeB~z|MM+8F%^Td>z?;2tsu!T$ zhj%M^66dYfOkTeeI8glGJ+()waK#TiW9uBYQ%oLZPJh=|#`iskT&B2d{J0cX`A2+_ z^AyP*$XjGaPLoi$UxzSv1}Uc^-Z~$Osy0{}&Nv9eAZzmkbEsbk%aFx(`+Z;~JjG{h z2%e$O7JsO&K5}!kT4QSov~ulZywQ_qr3n=K73V4l4CVBXZT|6OxSVsmY9(BNXmPfE za67Y+z1+1YVzT>#Te|-4$#Z)v^H0W|#vh~6+w_RD`Msv7yD&S4i`FIYk>E`Q+CXVD z=hNL%GWvcP5b&3O(;Ii3aZ;B1F0Z#a<TY*V&~FJBfoHtPIxau9xM8;nByrFqXZ1I= zwdNK<x-A9};wuF*rDr4BPj^3Zrt(>9yZpa}9B5t+bS*Oraa?XoJCFK={*5ze6@1ws z)GNC5klWBj%{ALz&|B`dQZgZ=c-{4z?Kvr$mmbWc=^Afg)s{oZb|nLIgPFaiTR`7_ zyn_R8NKNOZzfHwdil;s~BE9&->8M5y!&U`1fDK~2nwTS~Fsf+`)Pgm2Q485cCFIRf zAz)`))=nTCpEL*Ogt3SHc&WojcWw>kRf548$E6Nkd)mUa%CL>h_wMl|>+|m@hpZLQ zCY>@K@aU<%>!SUq{VcBUaMGK>e@JI<AHufnWoS3nbQ^_>p^y0(3m!&z4<w!vY-cj% zA5OosM5-kUhHno>D83|F9FdfIS44C72luJv)by93`8|H49-D}U(>Rd+Q)Rhf+v8a_ z+Yw~ytEa(+8Qsr$wHvZ-BK10-zd2xA*mpT<M3Xl&vGc<(lY+J`(`>RZ5Tc_u(HQvD z4q>;nol1}T^9@pI5-HL@C-YIxkR0KzrfAVY@hs?*YzU#iCoEOT=J;b)5`qo~8pM!w zPlv+`?$qI}2}*L)Aibr&cgmr$gJKgF#Zk<g&X~m=uWqMG(U~`EM1Q8}z3^`lec0p> zN{ZvK7X>VXm_dvHPFlp&h|pF`uxf?Gc^c|7qw0d?X`Pn0p}IkWl93ZGLB%Z1*muyi z;K`EnHJu=QPg`Yu@NYCTZI7IkoyVNN<fA}(w2&!`jW@zjy31{OAsVk1Iv?P7w<Q%t zIc08L!NybrBneI>C?TH%P1&r2RLYj{tYdVeViMlfJfi##Ay{-(kwd3ZJ6W2bn30y^ zAu0@w=QlSUk)hxd6(-WeE+HaYJ%!}T)}T<kzN_th)1m9|Xl}CO=vwl+a-us+Fh<11 z9aTf5ol()md}<nJ1o+*n97TsEflI`f;x*Czp&Ef8muQZ41$@TX=9?Zh5aZW-l&>%3 z06DR2Z~L$EPSR`&U-SHJ^ZT8{y_n>7i4v_TToa%<h&w2t%;e5|k%+b(l-HaqvA+aY z?G5h#MqYMqt{;crNH&Y${nX3n=wxE#SR8Efh^m9H<BRfBUrKPhs=w13c18<gNWR;b zpEsxb2}$}2Cxre;yw<(NL#wUy%w1CD#2adVCcj$tLsOefy~(>oXLXH8=o4_3;b6qw zKcWZL<YWfANtdk%^zq_jE6uxpM}De+sjdXNS~<kZjoyXiiPpVx2*5SW^x8@<W|R&g zNZ#PO`{>QGONe&yFzPS-+)KNjDa>H-x%?uw_I{+==b+t(KwY?Ny`CzG^PHal%fqAN zcpWk$gTdJZk7q)(h%cb-E?!cMX-gh%YI|Bzoi3gC9(yS{4zthag&g|IzE89z2h8dn z-b8B;F2tQ@5!MIz9>bBrVk`MtxX&@<!>}l3UM(fa9r^3u$V-gVDP2;h-)Qe)G{Ozj ze;z;vvcEPieW)Mn=&8J3;%LhsfP<5j_eX<$ir;#hIk~xfnhnaX^%fgdfivdYV~@PA zpFo1efrAyy&VWTkYSY^xm=PFbYRWmO3UjTHLt@!2a7%O*n$v)9ZuJp3;nqcR26^gs z5BDVZ{QZ3ZX0E|8M@Ak&xxcRFUVaSKdXxvh$`TPY)k5*Ep{|;U<lH`<zoKQq%sR<q zZwAbnt07P$|MNp5WFG)K>?xyF!?3!BUC}TIO_yG)o0DWnEA1lOge`n;x(5UeX1>L} zG&mO)(H^L>A*voN5cWo_Ow>G&XQ*S;nc{xz$e5)mfnzD#dCaj%xCX`%aFofaWB*4v zyhpa>Yc4q%Pqpz(iDJRqZVAa*19shSH|KLR8vjGCI_igj&C(J^)s;rVVJqdFETy>| zi@_@KBEV4b!uNYL^a0w(P^8zmCiLkuTRHrU5^&4=47&t-OjoC^+HvL;7dUP7i1r+u zK}4jteN_G8cxwQJ8R1!8c1i+am*NrX?>hM@gB4;`tA@1!I^o^W0am|M$p!mN37L<_ zR{6CaezXdG>txAx>gzsP6dAdvLX$K-nLFIDxditKfU^QR(+xAp6|$#dT(g-HU^5W( zR@B|F36bnjlj;$eM^_#EOa>|Rfflh56^VNQu+0$zF(TG2p)M?5bYaJyZGEZd=mLun zY3Ie5k5F_z6eltHdh*o}h)l67C`P~A0=sm8g$<6j?1ktM)ZZilTQX%gy4WREUmb#_ z02Ck2ja)mxS0s=a-$$c_!#~zl^>&d0<?l|PqyYsYvEZqYM9dPK%>xS_4WQ(14j!~( z`$h4$+H6u=gAD6k4UuZWtCpddT&c1nZ>PaVY?063F-ndwEMA!4Z^R9V2J4CfXodN4 zhxUFUW4Z;{DHw3c3Ro{AzR14Kq;w=4GLrECvUUlWpiI}Hi(2HG7s<W8{0}YdEoYA( z^(j9te)f0Y#gC@46JRcQQW08gS>^?VI5PH;Almk9fz`@v;c-XHC?7t1h6>AywnuHP zXRMSpZUB~XqrQJ3pXe@|#n(_<ZG0(=uyzm&61I;s#zdnVKt6b>dFyzb9pKelt^w?_ z+5`I-bU*e)2ZU6zmAdG@G?nxx^^h?wN|I6i==2QHl`fVEQgBh)Pb^rhZUHz+DbpZ! z5%h0p5F}c@KxEjkEkIA@7%EIxjZONGHNoPacL8#hy)Rg#<2I{t?9M#1k(QZIjjci| zsA*+v@4&vn&k>gLbLz5wfG8R^bCZt`eZ|W?g=0E~dPm_$NZf9f_i3*^?kBIKtO7wl zL`<Cb26>*~1<XENJu;5oY47!sM!ONb9t%55NAfUfF{+MU*vbMk*&D`TPX<`ZwFPdH zeZUOW$7T>ZKWv~aY$Kcym=*`nF1k_YmbN{q#Z1?F*%7~Np>PG(V=**iztKOjd{CJz zJ)e6rv|$xGeKtj}?pSvCKnNO#EFI@9e&$h$5+2?iY?*=lrc0bjx^o0>E*s==uK(J0 zl$rX9{A60CY-QT7l8w2s{!MKE=uNtCtA@sK{s2<jQXz9Cfp2%3Z%$||eYt`{?5Qk+ zno$eUS7L{nLqk|+o1c#QBaX9BtLLr(9=Z^3n#Ip9fBS<+w$QdEXOx3b#CyzGjzh7- zL0SH&Nd%0pbUvlk1svg3fwBLj)aVLBC+%7yeDQm@^;g7z$(9a61Ncsh@TZy?d8W-K zgBjXX%kH?qbOWDILXwk8@+0YupJArkISO7E8v${PV1n@Zj>)e&p*K3TsK?}d+#tT| zFp)MgEAt|WJH?I^I5H155QEuyCAHX(vR(a&QV<j6BdB`x{y`WjwOfYnYL1Wus2o8C zLQAP@x}^t>dle0OK~Cq&dd9%M64n+OqWEMzpf$U6#BhQjPy9P?cQKo*G<E`@b5#BA zk{^^I)^=KzQ8I>4-<j8hCqW$u|4x~~T6P<zhR>^Z!+Ae<qi{%$^N-F?Jyl08I#YNF zrV7G}KxXDa4e93i3;@sNlpnPu-^8mC;SKVQ$y*^G+|P6+Q{>Iqnq|!Y**2J~0T0kt z8@6gk`Pc-plAZaSzkau@v)%vvirI*)`fqUWi0;NYis?S*Kd3z0KE}256GaMhAw7G% z0BVHImCT)IP4{18JNB)m*J%V)+U3YnPiI@UeW<HNivM~&WPO5pO!>AkcpM8)L?yh} zBSTmPcDA&?dWuf<alhrRZ##K;ndXroGU)rBA{iv7*}z~^ZGdT2@!>R-;Ge(Q1kT5> z^A)rIgij@A2NB2lbm%sfK_%#h9F`<waW(t@&Y_*>qetwN-*MeRj8^-vWU-i*zkXqU zveUF&ov1k}qI}Biw{{EpwKf)EP%rg;>l*abIcF2|>PL6|#`;{x%JfTPAfaMSv?M@o z-0?n8U^vRt=NHMq_JyHhv(vD}OOwM>o~rWG${eY%wd3Nr`sxeNp(QczuSvgdleTzN z{Ma~|KRD&1DK`7T%m6tLIX2DvfOKv^?aC*>Z#fKxt^GBY@T#xD<cRus(X79-U>CU9 z;o=q?%2sI$seEzI0Q`FiwoQN9U^NDUBKc;n05S#)3KOc?^|z*=w~y_{Q4IGblom)p zRu`B~U=M$IO0e{DI$N}rIhM*8zN9&7_!JQ_Nu+t%UZ4>tZd6@P`h;NjR3v5N*gk(* z%R+&f<IwpLR6CWf_H4&v{Ss;uA%ooI1h8!V*gE~zbjeaD9Fx@cOPq${scp=!OT(HR zl8!FH`~H7k7kx17>cksb>RakfGcds~>HQkN!4}tKddir9CH^J98NH^55>HPVoi-PY zFS8lP;FAwg{vP?ISyA0Nt<k9IBLZE8Of2S$wS`J1rj-Vo7YZ$X*B+QA<Jfi=?dN6? zMREDTpef3poo^_c?m((ys;SR!$-9=mj9>d;gFH;q+)UH(m0YR9<B4c3I$Vn_e!g-~ z9~`Vzu`?Y%c}L~90YMiRGjF+FueAS~LwwYIR`o`Xn<%_!#Nr7RYFid)H*c`y%_Tz% z#_6X}e8zbT-MJgaG=QU{#Z9R8+d0k-Njqi8dF%_=UC<d`4p=Ps4|ORr#S<H}&%Bkd zt&@Ek=4z2Ws<D|8;v|1~pd)LSG$NxMl4Z>RDV$DWYQ@Dz;(1n%y-T2zo*KHkoXx-z zm;7W#03D$|Bc8U8+?r9!M0&;8aON966ia1(2M>u`l!iq`BD(&8tI`q0NlY7(%=_*> z%6+P3?eOshsPl(z;-zo8b`Z*WyamLCRkeW)yK&VSPvum|I-%1Y*SjjZiP6X|S!S1E zcj#6%ZJ$=%@JDDd{7iUgcINg6>&xE(O>FeL&V%+OyJQ>t*7%Z`BG0HB5)F<Ilz4iT z)d1X|U62qs*ju}x1$go6W#=1c(w6<K74mDGZ#2WJdn;1feywMOT^k%U(R|eLP(|_% z8%cnT4X|ahN$??Is`W^-ox@QHB5qNs`^Jw07fK(zjG!>@iWPvVys*j{)sr_)VV7<j zwh<rAb}(@98Rq5o=F0hDs8ZYVq+EGpQV39QXtl_4wZMvgaR7NAC1d0iwb)~My0w5? zeYqm|>00VQ+()<k8m{vvKnH8o{Db9=k)XM=K>PkfjodiA+i$%Ym(_&RW=>3;VDbd_ zW=9s4(Zs2wWweVrB82t@IYI!(@kkQD?e*RJDBPluYeDVG^}B)@w}{Tt4+QI1If>u` zWxv!Mrg!UZE}z>P`TX<WfIj4FG>}IJDtRLWuxL-rZKzK9bi+5~Ms@-94nEYKfps)* z68W~p-N<R9`d&UiBs{8kv-?d+IDWCfF=@tVVC>3G2un*Z7S1VIM|*O5Mq`Bm;&4sH z8*=33ID5d&&MYRBoI8#GOg#6M@XhWnU}rehtJVWGsU%?->C%GwV#-S?2>4gU41}dH zTrX={%T``zB!}xM#7;l-EcMk1uV!am3g#}#5C_=+5k&}wXcfTt`j<2wrt~kN-sG2T z@`~y_wl*h;z+1BDOw0`r;C&4Fb9=bQUi6oSs4kAHM$@-H@s=tUgSM3YzEWAdPshFX z9{gA>Uu%MR<~f!wbN4e38aLd7)Cnq|rXXgDc;|k7>Jc3vFXgKmC(7>61jGNOP0iYg z997+W1W+2wJdI~nUt{rxd?m!c5<#V~$Rqz4{gD}ibg)`Rz-P|nJw0DC!#%L?IR#|Y zu}fAd@Swh-Lxr8-k#xKb6NZ9e#w2z-h-yqzcVM@`qMk0&R}3t*`n39)lQyg>95Cqc zN6+AO`83<TZLQK$z^hSyI)pvG=39dm^|l0!3kUB+b4^CVe~dSxpmuggbkt`f!{2(W zlE}19@T<l1MLl)zT>q~MzI`gde6xV)NpTv4f1>f-OQ4rF4Z<_~E#VL|+-*bb*J~As zN9*%pi1@WVP%<e`DcX43<oV(0BG~0s9~r_AzjU4D=;UWrT#_}TrJXRqITmbSZox^6 z@UxHxn7%!x!rllG1k`&f9^eh}=C?k+Aw^`ZE6&(|GNT@uD0q7mnn#8ldp<8nnTd)w z!_OO3n*xCT?FB1(2Ki$6D&FFl6F}cEjf8ys7lw%dXfwE}EUtT^m8CwOQ0bx)<*Ef2 z1PVVr>Jrc;-u>o+RQ_BV?4eY7YdM2iT&!t&4JQ?bEOpRhl!OSgQXqmE+S_WBqDyp5 z4!_8Pq(WE00HS(V;DrDwLK^GhTs~)I3(PIeRQ;YE5Y`VJStHMZ-$!dH)@+wGX2N#C zfMp>HMD;mknDCm`-!g$5Y@LzG4Y2Je+7^F`ZQWl_YNK=>A;O6i#Ux>opS`eLfpro5 zW<hs5C0Q;cR9knX;L>vPrp8m{O2`e}h6OGZn?-%p5YP*Jj3X?#tA5rjrVl&!r9l|M zw_+{>f8giY`3H*woDD+9_0e|iJbXN{3bIYnBHrZn*XA(3EqJk>jLi@l8T3=EjC#~; z+;fFn5<d|cQQs%CKnQ62li)h7puW}t+Ia{iH9UR#xo>+R0uLH!=$O^-nhnmlEy^=^ zSUCFCPn63Ng0&EmXP!WufQ;ePLzgibMy1O(&G-3+a-Hp-j4pf%zshAH11kv%ormBT z%&-&=|3g1)AVvH~XInyAYzC3igLi(lG~5c267YBnsMG1;>oGF2HH8!xs+{ejdn;G1 zF_bVg#g+xAXqG$1jjw?*unEJ*6)2dYp|ID`t{zih8tGhwTCB>B(pM53o@E_e0P)M| zBwj{e5cFtqKNV*Ux?sR=$VCJyiFZ-LznE`4lUG_5+e6{3D3YY?t`b}Q6@}kC`QK|$ zJE!aa+ZPK=f!xnF@~YwqHxIbO9k@Nl9NQ`A;TN0(U)QeayibPk!Z%MVLJUDDqM2A@ z3ZbOI2Dg85F>Nqj9Hqi_WN)e8>>jq$CInW1zE3*unB;tOK&!NY9tgZMF}V5qat|fC zypzcc?KHOfgxx>pO#{RTtCGQczlE$#;5b|2Tw2~rSJ1(O_+An)0}q7{Z*63aGJmdx zGc9-($umkim53l$!ndeb_L3A=CLXE~m6j^MO-~Guzly!rxB%F2OL)n!6V1}5oc`OY z?#*<N5^(M$aG2E#6V?w_oQ;N(XqYy;h~8QRGt9RtMN1%K>jd<#fGs%uktzt3Dit|( zIzpL3$5Apvy|m2%X{4ymNvQDOm(5qC;T$K3si(V5xMJ1%gtvGTWgpChD`+z*_dCSF zPB~H_9@_bwX%PM0@sb2=)tX^QA_(-Ls=!mAHe@_jWT`{-b;(FTmG4bSQ2sVNxxae! zoXd~2b^&B9aAH4n@K%o;flMF{`QFxWwno`PvhTt8)u>O^&s|p^tDo00tQKy5JPGCa z=e7Rl*8jqVr9UqCq0XfCY;@XcL>U;#;l!hkb;a;naWG-_U}jceRK1klJ_a^C^t*Ty zj0;Dmf{&`|B-QpxznCv+y_d~8t}`>UKdiab?9w;uPne)i6S)J^VBd93X7?}{rxOi% zrqp-;pKt5C!5Tt}8&wSBzkw`XRFRaD)Q5c2j*fo*{lzt7K<aApAI*bSCYrk6<|VpG zho`PCCY1YP8k@R-{e!cE*7~`k1#8H__Bw+ELaxJptgD4DFrzYjvn5wrPTOM`6mlLt zx~^Yx;Ur-T>BJejPDU#*F-%)x^mfOx!cgj2H$-jmjM+asJHzBpb~zo2uQ(<9y4JXF zqLF#0dE-oUF~&`mq-oQ!GIC$TDgbOK6C)s}Pomb;bcJdCIwG|e*WyFDq^_gLSUZXK z+8Ij0xL0-Q_xM}*NOkrQ(DJa5E&aD7;G$1kg!22VDZ}%}O%9uF_*o*jXH_T0+Ko)j z9n-3t+X4qFnJ~OyR2QMVz?N*)*dft)vj+BY_tJo!`MQ7<F}RW}#9|}DKZp_V%G-W_ z7nGdm^>1QyaoHt9zNB3t0J@`bTM>7AU^t)1O^iyn_F>&%`t4s_Xv~>d=3lU_2{~qo zR^h6l*w}PLaG?pVBFHFO%|?^&mCbWY6j!_f{nu@87nHiKU<VlUd5o3!4ro%vJb6dS zFxZS&ud3NA8R8Cyg(42XN!~(*x@$5r*g}>rcC%|gom&zH#f<P*WE^1dI^045irC&N zwN)h|6KJR`a#zV4V0bs!g#{Q<AzJ6Zb_AQ+A3oTT0lensxe~B?z}dn2_zDTDgBrD* zoghlYwhVS9qBe|B<(%rW<1AO8QT*I{uFQ&=!XZwF`!QhR&Z+(y4#|-APUC>b$O5FS z|54SIhbCS-VR2T<5_G3eO7GV18sUqHMC<CDGz(uA#oh=s!#wlFt>CqrdoJ+9`G{h{ zoY2&s_IYW3NC$*`<ibj&3;Y2Mvt%o1_MFi0*BfXfSMQ%UB<z56F=O99qWIb<_Jq%n zNu}?)L`<gsAxkYq-MKTNoZ)=){GP=;EmK1~6<=u;k_7yhLhmS~IR(`u!In6TjC-UW ziunALjp$ZoN#8W74_61#-y^6FhyD1p_|_qgB_UY%MglJVd-oEb4rvBHI6^Fo!<*IF z!(3_5xhW#4TtVpZ`Q8iiA}Y-fc(goxz+f_v?MF;fY=Ye{H}(s%7}?kd!LK2z-F|dN zJ<OO^?bpr1VpuTt+0Xg5pE@qiAlc)yP3(XjUDWewv)cM3bcUk$Z3w8*@YxvRx#Mfh zjyf`bOA*e(V=fAW^CTx&<2#F@S`Fb3yil51tFaI9RxI2f1tecMV2Hkt#2d;B#D$Js zLq~Y))}B{2oP)1dJt1UllRn&m=}GIX(}$@}gSh{eDA8l}+GhUjN362TN)?J<QUh*k zWR`Kq$`z;3Hq9;}o~PPqgA!7QbX+W~n)sxn(D9WOv8{&D*oAO3e&G}4lLz^WJ;N@Z z7w^pvWAvGkg~_tI$n|RYd%3AwX`0J}xvrr)<-Ku4Z{ucN&_6rQ=a5T`Eeu$0sj&+M zikxuwqEX}W$@6=rSo+q9ZOIxyLr~K;0(6wPA)hx`H~>;#!(44hd9mQ^CsU33Si~Vf zzlqtVV;N{IuXbjyig>H_Z7fBDT8nUZgocKAEqROqu&pZH*J<(djg$Jj;UwdBoGQGR zcfZ*M5HT<vb*cqz9|GK@qsZP@GS8hHZ&#RX+o&_DhAo1K5O&`ay;iT?W4R>&6Z``D ztuunkv1d2;37t&zutzq**mJ%LKD_7qV%ghZ7bEygTge&~9Xqok>*dNXs`xhu!tV~E zK4K4kHE+SvMnG~BhT=$ea=<Y=@pQlQo8**KZ~V9V*VAqnZko7vODM6}lX0<d1G73Y z$$tDH<ZFnpO;E%h%@1v`Sil-4?^#PF`{)6s+c{gmhzZl+BiY~tuCPKaT0iWKJ^lOo zPG67?HDdRW6Kk0o;WV5Q^JdB1Cp*U%@2q!rm;0Ge9^|aYGxC1h0}1jo77K9J@p#2| zymOf8popJM2puJ77`f^eU7!O@wovbMz2O2Z9+cZ%djJJJs^Fb9g|uOaA3ne~d8;k$ zMDcM;5``r_$kN9tNm%RU<*4oaW1%Mi8g)|+Z@4h~0nX3~q{>(p0V$_vivp-5#x%;c zfN8$gPx~z&`o-o(Am6C<CSC1dDIvyx!B-PW$m8q5BCfrEF2L9@_SLC#$nTdxWslV) zUhN0CN0$^J9+)b$M1i<QpO2d`p+O`WM{n+5u+bF1AV~0Qm8}vZr#{+M!5q6DGOt_v z%8Z)1PK-2aZ}Z+DaG1+3GT}2ni`D@{^>W+S8WLI8h2UomRfI(;3-0`}3@*d)v)Gk{ z)n5lhLqSi-EcindrWJs|$s-kiYrYQ;s{Dlj7uwnYis)D`xyxfD>{<iXLPS!I)j2w! zJOd_BA-|OfF?73fw%{HqG(7RJ2DOo{JbfkQ8*_<XTEw8@e2aAxId+N7*VF_RLA53Y zW6sPhd5`66@b(MbsYRrtEI$QtTw}icfwr`%Zo_Q09p#)qRB_HWM2*K|(?MfF-x;nq zc^l(Y1WySM$BK5sAAw+{BWsr84)F$niwcJhQjzsSHJ(-$1M&W|`e&D8U&_zv(!>Gj zv&za}1YRY<X0*&ZF9R;kem&}<WU><Kxogz`v%$6&3pZr5)I8>CFn-tGN-?A|txgH( zkB(zosU&47K{~KSh{JNoJJ4F8vkNFg5hGZY?Jy6%gg%I)iGVTkc!I!D+#6k^nxcu% zDv=mqN$rZ4Tx1BO64BPtVV7jD@+j3<!ubE0l?rW9#>FVk(+CfZ?%CRI2&4n^#M-%& z6hUq>>LFo2-WfjUFa~YgB`3pVKu7fqaob6k*Xti-j%p}}HQ>=z-uUC)fBY=0#V6tG zRsPIu5O<dcK=mCNT2U50FVF7dF1dRjubT>=NfIqp`kw@U;LVpVf&B<U(%ZGR|A*vN z^tpuU4dyTZgTm5}>Uuyw<1m&Tf)R8`1`T2&1ENTeFtaxK`k5XogBI*U<L20l-@u6< z?cz@T^K1yXgNz?y8q2@3OgfC<qb!)Vy@)$eil%Mm%|*Yble@#i&y+|A>V!@+Aa&(i z&D)xGw4sJRI!jEoT}{bQYVv+GjarTs#DL(5a_1?Q<@^Hrz`<&iU|F?&5v7U!hL=X6 z&6Jrd>d#Y}Ts~Ic@NmT!HLA?l)Ed?RYRr<?3Nn7f=mgastQs3v+*S?e*aJ7!qboAT zo5dj*AsS1eaaq$Jw9x-pWld-F%@>bM@Q0e~__Yx8k!;iGqc7gH=JjkV5iANA1jWGX z#B5Z2vFzy}O?*pe;_^NLYN(%+u8UYv?Q2ModKb8x%~1vn0XB6x8k-;{x*S;2$g&yu zMs2TXuuhe*Zmw)o>wznrpKk=CbBy0lb!oTu=jJ;f>CVc%MD^~y?+6kE<XkHWx~JW_ zR#v&rJzp+LbXzSiM?9i)vT$>2?z=hW92)C<=5mW{14?0`G0JMYmCmBT^|`{)zm4|r zOY?i`Uu|BcY_E*3H;<Bke>?TMWCib0SXf9u4+61so=6mZ9-nXHRJ?DpMT1d6w5UL{ zz19JM@meq!d<vLwJNoF;N>4w*qc1eZS9Gxd7d8R_c#dSe|E%>L?6IB6rtm~|?)u|) z5_{t>4TADF_z%5re~stAhG3vQ0{|)X*IIX7)Qo|x(Pi~CR2O{DE!xjlFChCnM{Wx{ z1QWTzz$AF^s-4DK%7+Q;4e{}BW~1Bxk8X2}LBz8?$u0QY9(Qes|0ap@vGiH=o!*o2 z-P|GTh-&UtQbRjbOXjXK1C>`Pu{VIDIf!5J>e(ddJNFQCcb#L8^1CMwQ`49IzIFB8 z=B}`PZ#RRrH=+0ptfNmM79j*GLWxmc)QHD~W~(2j0_ipM+t*khwL+yHs3GHf_uxNc z5K6P8T^m*=7r;r2x!aHX3rO}gm}W>ko#Ko}wW^Db*$_WNKO$vn!wbxZRWFcJqp(jR z*M|||lbn#=!cT<Y3K|q9Oos8}XDDngdq+=xGkeYmFaZZ#9sG^-lQK@B;qqV>9*UZI zc?Mm+x1Px_BdGxUmJU~@XM6650HXQ7d{P|vZjyr;9yOYx<K<nB!5&TV1H~a}IMNYf zj^%aBPb8%6kbYJ&l_3njd`GU5HE4&r$%b-$O#mNM-#TLl;OVrgN*CnE5APh+A&)$x z?y_M@%7SM9+LPPip~3P~-`QX$!IYPPUBY!mKkl2tCDO`B^swke&ngM|sq}%Y7`-3< z5@de+56wIQ<brYWK}6QZ%XL-@oUHPlB*IFbTknNwcokc~e9i7h?UeN!-aH>Pa4O!V z-eyM2k0S={Hsnbc^-5&hU&N7zTFMdr`VEm{E|mBd#u)q__ssYcD`2;5(6y10ezt(H zwU-GtdfaS-Y5&wb7DEk%bo68`yhWd4C@m+!isA<}W=q8LbLs&lVdicB-f2pF>p??L zPCFwui|dYVgRB=h^YF&z8-yCr9PIR|4}hCA`tkNIpv<$IOnQ@Sa1b<EO%&ZO%QDMw z{zqnLeRiJBs>eIH1*AyWPCS!rJ(ENxPLk)7*ubC$WWC-&@s4q<LX6lA9rlRBX4aT| zFnSZhn5X=K6;#MGC-)b&Hsqf=u)T>4S*Q`~gcQ@$^bG9sRyx4kpn0HB;v^<RnS(f> zhMt{3`vno9`%QkAhpIF^qQC4@o#>i`Y_3UE_k*Sqq>`MI(I}53iEJN!)^8vQptU3< z#u?oSuOgDOqe2isRc0nT__lzEc^L>hJ%y-^5<W|>j|YA#=BGt>oaS<DtP;#Qc5!Ra zH!g@cAJDxGIoGeP>uu6fh0QzgAA$*YQ9w>|#pbp9S-J-`<unTSaS79~ZO>2TwUj!r z?K4{J5(cZ7SivlY2IPnTAgaGXa_f+6>wHgOT&KFCfU&aPnbjiN&M^o?2t^CL#%7r9 zFv=ud4SPKWS&AMujToPqxO<g>8$I#O?Cn>rRpb_GLhPxa1Iz*&Qw=~Wo5J!u5CjLv zXQzxMI7=jZSX9mS=CW~u1m`Kn?g*jw`Q<Pj*FU&JnnrKWb*nlsc(5}}GchJN!NTDB zKCmr_;^6X?0e}`>!v}cq2sk{7YEYGab9&e~RC3`v=A<Ab9h48$F#Yi%a`rT;6zl@g z#VF+h$eCGw6&Z^1L9$?9HS2lIo<Fw#{mz-O!H3zmEE+RE{$%VB9o-QO4JI_R<l3IR z4qwG>!6_8+uI15jyG9=vf$xGf<jw8xG~yXPs%UI6W)h;BBn>JtJ_m_Hz_OoXWohUz zn-w-$_UL-BexCV`&9#&AKjI;_%Br;G<5Q;6S(E~1eW-HC0P5MkNNGaEe<;ekw|+*; zD9OoSj<UjN{e~XJ8dZ~Z|Ai1i-h?ZV&?<i!v&jD7y|5$SGC>9@DAj>ML;>4;i=x7l zWi|c^b_n+2V>}+)h;%EjYTDDAx4Q6k_*mnc)3*DyI=x^s`3HFBwg{sc4L$7jANn}f zw(@BK%OoDbEO}clZDfs;{R0g-ioze@t4}Jcy*!%+le@uLa&A}b>ruk*RX*V|(Id7> zq`wt>FM5~_K>Rok!>1uqxT<$&vWp}d63|OJBGi3ZPu=c0YUq%V%uv>RnME|zsGoG? zCj9@#y!S6vp_8DXpdhRsO-;9czJvrP0%iXjVF>-daESiDen~C0=QhNTFAp(r#Hdec zS)0a~>z+ng8>hw;jF{`4Ud2t80;-b0Aq!wcjmz*`)nAl~_<In*hG6^om)N!5wPY*x zP4Jdv6d%GP)fx1bf41AEu#ZK9W?SODCl1a=lm94-#+92~qI$OYct?S{DuDVq<-zK3 z2O<^j@`Z&NLBNu5^`#S$0~ddr0u;^QpO@Mqi6XRq1%>{0z=>umS$llmL8PFEy)0XY z?2VZDCIw~3LV^=BsMrXIgW?BgI~WjswD{Lw+TkT|N`K@SKL5rbv?ttLfk2mL233D` z=+s7eW8*MrA8Yh(#THOXH`V|cig;rN-{U!*9YB=;iBj1IwD6b>X#m3q@SKzbr6K`z z31uyI5bOjT!aCE!$I^uZMZ^8A`C~wc2GkzX|11Z=&jL#PQsld!{2H+YiU2m=7D%?? z(4d5avwIXT=H7obgitK}q?|?HvGJG3;9A$fd;bITzhI|c{Wmz(|9|-pgzNuuH3CV8 z_8$Ij_;ZZCPRaTf2K^mii2Yc%Elx0Zaetc(lwDnf^m9pQ!CO{npAAKKOYZx#{Oj2b zhyM2XpFO?&bpZ6IhsEoeH18oMr-Zm0!)CNs-Dz9Gs*|gO>o^+^cyc>irt!gjXCDh` ze;~1|QJ*PgN5N3D!<Cvaew5qevRbmj^mJz!o?Wd|53+?U_tAHP#@k+H5r(oM{&Wu~ zX$quFw|Ou9@8Q?~*TC%mn--gdt;Z`bIb4PmVe)yK!o9I=Wq@#ED?%MxCNZM2G3!k9 zjtQfB^w826&2|}t{(m6BuZj0BpP+93uhHBKPreBd49Ek~2X9!s`A^|_yv)+**5zbS zOC*T=B?6euh8RHN!MD8tM0oZB82EXS`0#eEqXQl09|ZV$r$OkGPKn4CBOA+Cg(6s4 miy-u^phje~v@`zM14`0zn8)LoH67AAqNpipDb_(PVgCcYt!8up literal 70625 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�w~txOIGX75eg5*BR( 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 diff --git a/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc b/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc index e57ec80ec..6736f8570 100644 --- a/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc +++ b/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc @@ -43,6 +43,7 @@ forward in the web page browsing history. \li Multi-tab area for displaying web content within tabs. \li Status bar for displaying hovered links. + \li A simple download manager. \endlist The web content can be opened in new tabs or separate windows. HTTP and @@ -52,13 +53,13 @@ \section1 Class Hierarchy - We start with sketching a diagram of the classes that we are going to + We start with sketching a diagram of the main classes that we are going to implement: \image simplebrowser-model.png \list - \li \c{Browser} is a singleton class managing the application windows. + \li \c{Browser} is a class managing the application windows. \li \c{BrowserWindow} is a \l QMainWindow showing the menu, a navigation bar, \c {TabWidget}, and a status bar. \li \c{TabWidget} is a \l QTabWidget and contains one or multiple @@ -68,11 +69,19 @@ \li \c{WebPage} is a \l QWebEnginePage that represents website content. \endlist + Additionally, we will implement some auxiliary classes: + + \list + \li \c{WebPopupWindow} is a \l QWidget for showing popup windows. + \li \c{DownloadManagerWidget} is a \l QWidget implementing the downloads + list. + \endlist + \section1 Creating the Browser Main Window - This example supports multiple main windows that are owned by a - \c Browser singleton object. This class could also be used for further - functionality, such as downloading files, bookmarks, and history managers. + This example supports multiple main windows that are owned by a \c Browser + object. This class also owns the \c DownloadManagerWidget and could be used + for further functionality, such as bookmarks and history managers. In \c main.cpp, we create the first \c BrowserWindow instance and add it to the \c Browser object. If no arguments are passed on the command line, @@ -104,6 +113,8 @@ \quotefromfile webenginewidgets/simplebrowser/tabwidget.cpp \skipto TabWidget::createTab( \printuntil } + \skipto TabWidget::createBackgroundTab( + \printuntil } In \c TabWidget::setupView(), we make sure that the \c TabWidget always forwards the signals of the currently selected \c WebView: @@ -225,20 +236,14 @@ \section1 Opening a Web Page - This section describes the workflow for opening a new page. - When the user enters a URL in the navigation bar and presses \uicontrol Enter, - \c QLineEdit::returnPressed is emitted, which lets \c BrowserWindow - load the requested page: + This section describes the workflow for opening a new page. When the user + enters a URL in the navigation bar and presses \uicontrol Enter, the \c + QLineEdit::returnPressed signal is emitted and the new URL is then handed + over to \c TabWidget::setUrl: \quotefromfile webenginewidgets/simplebrowser/browserwindow.cpp \skipto connect(m_urlLineEdit - \printuntil }); - - The \c loadPage() method calls the \c setUrl() method of \c TabWidget: - - \skipto void BrowserWindow::loadPage(const QUrl - \printuntil } - \printline } + \printline connect The call is forwarded to the currently selected tab: @@ -249,4 +254,36 @@ The \c setUrl() method of \c WebView just forwards the \c url to the associated \c WebPage, which in turn starts the downloading of the page's content in the background. + + \section1 Managing Downloads + + Downloads are associated with a \l QWebEngineProfile. Whenever a download is + triggered on a web page the \l QWebEngineProfile::defaultProfile signal is + emitted with a \l QWebEngineDownloadItem, which in this example is forwarded + to \c DownloadManagerWidget::downloadRequested: + + \quotefromfile webenginewidgets/simplebrowser/browser.cpp + \skipto Browser::Browser + \printuntil /^\}/ + + This method prompts the user for a file name (with a pre-filled suggestion) + and starts the download (unless the user cancels the \uicontrol {Save As} + dialog): + + \quotefromfile webenginewidgets/simplebrowser/downloadmanagerwidget.cpp + \skipto DownloadManagerWidget::downloadRequested + \printuntil /^\}/ + + The \l QWebEngineDownloadItem object will periodically emit the \l + {QWebEngineDownloadItem::}{downloadProgress} signal to notify potential + observers of the download progress and the \l + {QWebEngineDownloadItem::}{stateChanged} signal when the download is + finished or when an error occurs. See \c downloadmanagerwidget.cpp for an + example of how these signals can be handled. + + \section1 Licensing + + All icons used in the example, with the exception of \c{AppLogoColor.png}, + originate from the public domain + \l{http://tango.freedesktop.org/Tango_Icon_Library}{Tango Icon Library}. */ diff --git a/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.cpp b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.cpp new file mode 100644 index 000000000..5f32294e8 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.cpp @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "downloadmanagerwidget.h" + +#include "browser.h" +#include "browserwindow.h" +#include "downloadwidget.h" + +#include <QFileDialog> +#include <QWebEngineDownloadItem> + +DownloadManagerWidget::DownloadManagerWidget(QWidget *parent) + : QWidget(parent) + , m_numDownloads(0) +{ + setupUi(this); +} + +void DownloadManagerWidget::downloadRequested(QWebEngineDownloadItem *download) +{ + Q_ASSERT(download && download->state() == QWebEngineDownloadItem::DownloadRequested); + + QString path = QFileDialog::getSaveFileName(this, tr("Save as"), download->path()); + if (path.isEmpty()) + return; + + download->setPath(path); + download->accept(); + add(new DownloadWidget(download)); + + show(); +} + +void DownloadManagerWidget::add(DownloadWidget *downloadWidget) +{ + connect(downloadWidget, &DownloadWidget::removeClicked, this, &DownloadManagerWidget::remove); + m_itemsLayout->insertWidget(0, downloadWidget, 0, Qt::AlignTop); + if (m_numDownloads++ == 0) + m_zeroItemsLabel->hide(); +} + +void DownloadManagerWidget::remove(DownloadWidget *downloadWidget) +{ + m_itemsLayout->removeWidget(downloadWidget); + downloadWidget->deleteLater(); + if (--m_numDownloads == 0) + m_zeroItemsLabel->show(); +} diff --git a/examples/webenginewidgets/simplebrowser/urllineedit.h b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.h similarity index 69% rename from examples/webenginewidgets/simplebrowser/urllineedit.h rename to examples/webenginewidgets/simplebrowser/downloadmanagerwidget.h index a01eb0e66..597e6139a 100644 --- a/examples/webenginewidgets/simplebrowser/urllineedit.h +++ b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.h @@ -1,7 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. ** @@ -38,33 +38,36 @@ ** ****************************************************************************/ -#ifndef URLLINEEDIT_H -#define URLLINEEDIT_H +#ifndef DOWNLOADMANAGERWIDGET_H +#define DOWNLOADMANAGERWIDGET_H -#include <QLineEdit> +#include "ui_downloadmanagerwidget.h" + +#include <QWidget> QT_BEGIN_NAMESPACE -class QToolButton; +class QWebEngineDownloadItem; QT_END_NAMESPACE -class UrlLineEdit : public QLineEdit +class DownloadWidget; + +// Displays a list of downloads. +class DownloadManagerWidget final : public QWidget, public Ui::DownloadManagerWidget { Q_OBJECT - public: - UrlLineEdit(QWidget *parent = nullptr); + explicit DownloadManagerWidget(QWidget *parent = nullptr); -public: - QUrl url() const; - void setUrl(const QUrl &url); - void setFavIcon(const QIcon &icon); - -protected: - void resizeEvent(QResizeEvent *event) override; + // Prompts user with a "Save As" dialog. If the user doesn't cancel it, then + // the QWebEngineDownloadItem will be accepted and the DownloadManagerWidget + // will be shown on the screen. + void downloadRequested(QWebEngineDownloadItem *webItem); private: - QToolButton *m_favButton; - QToolButton *m_clearButton; + void add(DownloadWidget *downloadWidget); + void remove(DownloadWidget *downloadWidget); + + int m_numDownloads; }; -#endif // URLLINEEDIT_H +#endif // DOWNLOADMANAGERWIDGET_H diff --git a/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.ui b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.ui new file mode 100644 index 000000000..b7544ac16 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/downloadmanagerwidget.ui @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>DownloadManagerWidget</class> + <widget class="QWidget" name="DownloadManagerWidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>212</height> + </rect> + </property> + <property name="windowTitle"> + <string>Downloads</string> + </property> + <property name="styleSheet"> + <string notr="true">#DownloadManagerWidget { + background: palette(button) +}</string> + </property> + <layout class="QVBoxLayout" name="m_topLevelLayout"> + <property name="sizeConstraint"> + <enum>QLayout::SetNoConstraint</enum> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QScrollArea" name="m_scrollArea"> + <property name="styleSheet"> + <string notr="true">#m_scrollArea { + margin: 2px; + border: none; +}</string> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOn</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <widget class="QWidget" name="m_items"> + <property name="styleSheet"> + <string notr="true">#m_items {background: palette(mid)}</string> + </property> + <layout class="QVBoxLayout" name="m_itemsLayout"> + <property name="spacing"> + <number>2</number> + </property> + <property name="leftMargin"> + <number>3</number> + </property> + <property name="topMargin"> + <number>3</number> + </property> + <property name="rightMargin"> + <number>3</number> + </property> + <property name="bottomMargin"> + <number>3</number> + </property> + <item> + <widget class="QLabel" name="m_zeroItemsLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="styleSheet"> + <string notr="true">color: palette(shadow)</string> + </property> + <property name="text"> + <string>No downloads</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/examples/webenginewidgets/simplebrowser/downloadwidget.cpp b/examples/webenginewidgets/simplebrowser/downloadwidget.cpp new file mode 100644 index 000000000..a80366f77 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/downloadwidget.cpp @@ -0,0 +1,152 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "downloadwidget.h" + +#include <QFileInfo> +#include <QUrl> +#include <QWebEngineDownloadItem> + +DownloadWidget::DownloadWidget(QWebEngineDownloadItem *download, QWidget *parent) + : QFrame(parent) + , m_download(download) + , m_timeAdded(QTime::currentTime()) +{ + setupUi(this); + m_dstName->setText(QFileInfo(m_download->path()).fileName()); + m_srcUrl->setText(m_download->url().toDisplayString()); + + connect(m_cancelButton, &QPushButton::clicked, + [this](bool) { + if (m_download->state() == QWebEngineDownloadItem::DownloadInProgress) + m_download->cancel(); + else + emit removeClicked(this); + }); + + connect(m_download, &QWebEngineDownloadItem::downloadProgress, + [this](qint64, qint64) { + updateWidget(); + }); + + connect(m_download, &QWebEngineDownloadItem::stateChanged, + [this](QWebEngineDownloadItem::DownloadState) { + updateWidget(); + }); + + updateWidget(); +} + +inline QString DownloadWidget::withUnit(qreal bytes) +{ + if (bytes < (1 << 10)) + return tr("%L1 B").arg(bytes); + else if (bytes < (1 << 20)) + return tr("%L1 KiB").arg(bytes / (1 << 10), 0, 'f', 2); + else if (bytes < (1 << 30)) + return tr("%L1 MiB").arg(bytes / (1 << 20), 0, 'f', 2); + else + return tr("%L1 GiB").arg(bytes / (1 << 30), 0, 'f', 2); +} + +void DownloadWidget::updateWidget() +{ + qreal totalBytes = m_download->totalBytes(); + qreal receivedBytes = m_download->receivedBytes(); + qreal bytesPerSecond = receivedBytes / m_timeAdded.elapsed() * 1000; + + auto state = m_download->state(); + switch (state) { + case QWebEngineDownloadItem::DownloadRequested: + Q_UNREACHABLE(); + break; + case QWebEngineDownloadItem::DownloadInProgress: + if (totalBytes >= 0) { + m_progressBar->setValue(qRound(100 * receivedBytes / totalBytes)); + m_progressBar->setDisabled(false); + m_progressBar->setFormat( + tr("%p% - %1 of %2 downloaded - %3/s") + .arg(withUnit(receivedBytes)) + .arg(withUnit(totalBytes)) + .arg(withUnit(bytesPerSecond))); + } else { + m_progressBar->setValue(0); + m_progressBar->setDisabled(false); + m_progressBar->setFormat( + tr("unknown size - %1 downloaded - %2/s") + .arg(withUnit(receivedBytes)) + .arg(withUnit(bytesPerSecond))); + } + break; + case QWebEngineDownloadItem::DownloadCompleted: + m_progressBar->setValue(100); + m_progressBar->setDisabled(true); + m_progressBar->setFormat( + tr("completed - %1 downloaded - %2/s") + .arg(withUnit(receivedBytes)) + .arg(withUnit(bytesPerSecond))); + break; + case QWebEngineDownloadItem::DownloadCancelled: + m_progressBar->setValue(0); + m_progressBar->setDisabled(true); + m_progressBar->setFormat( + tr("cancelled - %1 downloaded - %2/s") + .arg(withUnit(receivedBytes)) + .arg(withUnit(bytesPerSecond))); + break; + case QWebEngineDownloadItem::DownloadInterrupted: + m_progressBar->setValue(0); + m_progressBar->setDisabled(true); + m_progressBar->setFormat( + tr("interrupted: %1") + .arg(m_download->interruptReasonString())); + break; + } + + if (state == QWebEngineDownloadItem::DownloadInProgress) { + static QIcon cancelIcon(QStringLiteral(":process-stop.png")); + m_cancelButton->setIcon(cancelIcon); + m_cancelButton->setToolTip(tr("Stop downloading")); + } else { + static QIcon removeIcon(QStringLiteral(":edit-clear.png")); + m_cancelButton->setIcon(removeIcon); + m_cancelButton->setToolTip(tr("Remove from list")); + } +} diff --git a/examples/webenginewidgets/simplebrowser/downloadwidget.h b/examples/webenginewidgets/simplebrowser/downloadwidget.h new file mode 100644 index 000000000..e8cf42825 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/downloadwidget.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef DOWNLOADWIDGET_H +#define DOWNLOADWIDGET_H + +#include "ui_downloadwidget.h" + +#include <QFrame> +#include <QTime> + +QT_BEGIN_NAMESPACE +class QWebEngineDownloadItem; +QT_END_NAMESPACE + +// Displays one ongoing or finished download (QWebEngineDownloadItem). +class DownloadWidget final : public QFrame, public Ui::DownloadWidget +{ + Q_OBJECT +public: + // Precondition: The QWebEngineDownloadItem has been accepted. + explicit DownloadWidget(QWebEngineDownloadItem *download, QWidget *parent = nullptr); + +signals: + // This signal is emitted when the user indicates that they want to remove + // this download from the downloads list. + void removeClicked(DownloadWidget *self); + +private: + void updateWidget(); + QString withUnit(qreal bytes); + + QWebEngineDownloadItem *m_download; + QTime m_timeAdded; +}; + +#endif // DOWNLOADWIDGET_H diff --git a/examples/webenginewidgets/simplebrowser/downloadwidget.ui b/examples/webenginewidgets/simplebrowser/downloadwidget.ui new file mode 100644 index 000000000..ee45e0b10 --- /dev/null +++ b/examples/webenginewidgets/simplebrowser/downloadwidget.ui @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>DownloadWidget</class> + <widget class="QFrame" name="DownloadWidget"> + <property name="styleSheet"> + <string notr="true">#DownloadWidget { + background: palette(button); + border: 1px solid palette(dark); + margin: 0px; +}</string> + </property> + <layout class="QGridLayout" name="m_topLevelLayout"> + <property name="sizeConstraint"> + <enum>QLayout::SetMinAndMaxSize</enum> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="m_dstName"> + <property name="styleSheet"> + <string notr="true">font-weight: bold +</string> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QPushButton" name="m_cancelButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"/> + </property> + <property name="styleSheet"> + <string notr="true">QPushButton { + margin: 1px; + border: none; +} +QPushButton:pressed { + margin: none; + border: 1px solid palette(shadow); + background: palette(midlight); +}</string> + </property> + <property name="flat"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QLabel" name="m_srcUrl"> + <property name="maximumSize"> + <size> + <width>350</width> + <height>16777215</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QProgressBar" name="m_progressBar"> + <property name="styleSheet"> + <string notr="true">font-size: 12px</string> + </property> + <property name="value"> + <number>24</number> + </property> + </widget> + </item> + </layout> + </widget> + <resources> + <include location="data/simplebrowser.qrc"/> + </resources> + <connections/> +</ui> diff --git a/examples/webenginewidgets/simplebrowser/main.cpp b/examples/webenginewidgets/simplebrowser/main.cpp index fa9f44c34..93dfc8a8c 100644 --- a/examples/webenginewidgets/simplebrowser/main.cpp +++ b/examples/webenginewidgets/simplebrowser/main.cpp @@ -40,38 +40,35 @@ #include "browser.h" #include "browserwindow.h" +#include "webview.h" #include <QApplication> #include <QWebEngineSettings> -QString getCommandLineUrlArgument() +QUrl getCommandLineUrlArgument() { const QStringList args = QCoreApplication::arguments(); - if (args.count() > 1) { - const QString lastArg = args.last(); - const bool isValidUrl = QUrl::fromUserInput(lastArg).isValid(); - if (isValidUrl) - return lastArg; - } - return QString(); + if (args.count() > 1) + return QUrl::fromUserInput(args.last()); + return QUrl(); } int main(int argc, char **argv) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication app(argc, argv); - app.setWindowIcon(QIcon(QLatin1String(":simplebrowser.svg"))); + app.setWindowIcon(QIcon(QStringLiteral(":AppLogoColor.png"))); QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true); - BrowserWindow *window = new BrowserWindow(); - Browser::instance().addWindow(window); + QUrl url = getCommandLineUrlArgument(); + if (!url.isValid()) + url = QStringLiteral("https://www.qt.io"); - const QString url = getCommandLineUrlArgument(); - if (!url.isEmpty()) - window->loadPage(url); - else - window->loadHomePage(); + Browser browser; + BrowserWindow *window = browser.createWindow(); + window->currentTab()->setUrl(url); return app.exec(); } diff --git a/examples/webenginewidgets/simplebrowser/simplebrowser.pro b/examples/webenginewidgets/simplebrowser/simplebrowser.pro index 197d68091..8120a2852 100644 --- a/examples/webenginewidgets/simplebrowser/simplebrowser.pro +++ b/examples/webenginewidgets/simplebrowser/simplebrowser.pro @@ -6,25 +6,29 @@ CONFIG += c++11 HEADERS += \ browser.h \ browserwindow.h \ + downloadmanagerwidget.h \ + downloadwidget.h \ tabwidget.h \ - urllineedit.h \ - webview.h \ webpage.h \ - webpopupwindow.h + webpopupwindow.h \ + webview.h SOURCES += \ browser.cpp \ browserwindow.cpp \ + downloadmanagerwidget.cpp \ + downloadwidget.cpp \ main.cpp \ tabwidget.cpp \ - urllineedit.cpp \ - webview.cpp \ webpage.cpp \ - webpopupwindow.cpp + webpopupwindow.cpp \ + webview.cpp FORMS += \ certificateerrordialog.ui \ - passworddialog.ui + passworddialog.ui \ + downloadmanagerwidget.ui \ + downloadwidget.ui RESOURCES += data/simplebrowser.qrc diff --git a/examples/webenginewidgets/simplebrowser/tabwidget.cpp b/examples/webenginewidgets/simplebrowser/tabwidget.cpp index a7f855c2a..c9fb32d83 100644 --- a/examples/webenginewidgets/simplebrowser/tabwidget.cpp +++ b/examples/webenginewidgets/simplebrowser/tabwidget.cpp @@ -56,9 +56,8 @@ TabWidget::TabWidget(QWidget *parent) connect(tabBar, &QTabBar::customContextMenuRequested, this, &TabWidget::handleContextMenuRequested); connect(tabBar, &QTabBar::tabCloseRequested, this, &TabWidget::closeTab); connect(tabBar, &QTabBar::tabBarDoubleClicked, [this](int index) { - if (index != -1) - return; - createTab(); + if (index == -1) + createTab(); }); setDocumentMode(true); @@ -67,10 +66,6 @@ TabWidget::TabWidget(QWidget *parent) connect(this, &QTabWidget::currentChanged, this, &TabWidget::handleCurrentChanged); } -TabWidget::~TabWidget() -{ -} - void TabWidget::handleCurrentChanged(int index) { if (index != -1) { @@ -80,11 +75,7 @@ void TabWidget::handleCurrentChanged(int index) emit titleChanged(view->title()); emit loadProgress(view->loadProgress()); emit urlChanged(view->url()); - QIcon pageIcon = view->page()->icon(); - if (!pageIcon.isNull()) - emit iconChanged(pageIcon); - else - emit iconChanged(QIcon(QStringLiteral(":defaulticon.png"))); + emit favIconChanged(view->favIcon()); emit webActionEnabledChanged(QWebEnginePage::Back, view->isWebActionEnabled(QWebEnginePage::Back)); emit webActionEnabledChanged(QWebEnginePage::Forward, view->isWebActionEnabled(QWebEnginePage::Forward)); emit webActionEnabledChanged(QWebEnginePage::Stop, view->isWebActionEnabled(QWebEnginePage::Stop)); @@ -93,7 +84,7 @@ void TabWidget::handleCurrentChanged(int index) emit titleChanged(QString()); emit loadProgress(0); emit urlChanged(QUrl()); - emit iconChanged(QIcon(QStringLiteral(":defaulticon.png"))); + emit favIconChanged(QIcon()); emit webActionEnabledChanged(QWebEnginePage::Back, false); emit webActionEnabledChanged(QWebEnginePage::Forward, false); emit webActionEnabledChanged(QWebEnginePage::Stop, false); @@ -150,8 +141,10 @@ void TabWidget::setupView(WebView *webView) connect(webView, &QWebEngineView::titleChanged, [this, webView](const QString &title) { int index = indexOf(webView); - if (index != -1) + if (index != -1) { setTabText(index, title); + setTabToolTip(index, title); + } if (currentIndex() == index) emit titleChanged(title); }); @@ -170,26 +163,17 @@ void TabWidget::setupView(WebView *webView) if (currentIndex() == indexOf(webView)) emit linkHovered(url); }); - connect(webPage, &WebPage::iconChanged, [this, webView](const QIcon &icon) { + connect(webView, &WebView::favIconChanged, [this, webView](const QIcon &icon) { int index = indexOf(webView); - QIcon ico = icon.isNull() ? QIcon(QStringLiteral(":defaulticon.png")) : icon; - if (index != -1) - setTabIcon(index, ico); + setTabIcon(index, icon); if (currentIndex() == index) - emit iconChanged(ico); + emit favIconChanged(icon); }); connect(webView, &WebView::webActionEnabledChanged, [this, webView](QWebEnginePage::WebAction action, bool enabled) { if (currentIndex() == indexOf(webView)) emit webActionEnabledChanged(action,enabled); }); - connect(webView, &QWebEngineView::loadStarted, [this, webView]() { - int index = indexOf(webView); - if (index != -1) { - QIcon icon(QLatin1String(":view-refresh.png")); - setTabIcon(index, icon); - } - }); connect(webPage, &QWebEnginePage::windowCloseRequested, [this, webView]() { int index = indexOf(webView); if (index >= 0) @@ -197,15 +181,21 @@ void TabWidget::setupView(WebView *webView) }); } -WebView *TabWidget::createTab(bool makeCurrent) +WebView *TabWidget::createTab() +{ + WebView *webView = createBackgroundTab(); + setCurrentWidget(webView); + return webView; +} + +WebView *TabWidget::createBackgroundTab() { WebView *webView = new WebView; WebPage *webPage = new WebPage(QWebEngineProfile::defaultProfile(), webView); webView->setPage(webPage); setupView(webView); - addTab(webView, tr("(Untitled)")); - if (makeCurrent) - setCurrentWidget(webView); + int index = addTab(webView, tr("(Untitled)")); + setTabIcon(index, webView->favIcon()); return webView; } @@ -239,7 +229,7 @@ void TabWidget::closeTab(int index) void TabWidget::cloneTab(int index) { if (WebView *view = webView(index)) { - WebView *tab = createTab(false); + WebView *tab = createTab(); tab->setUrl(view->url()); } } diff --git a/examples/webenginewidgets/simplebrowser/tabwidget.h b/examples/webenginewidgets/simplebrowser/tabwidget.h index 830effa4e..e5a1671ae 100644 --- a/examples/webenginewidgets/simplebrowser/tabwidget.h +++ b/examples/webenginewidgets/simplebrowser/tabwidget.h @@ -56,7 +56,6 @@ class TabWidget : public QTabWidget public: TabWidget(QWidget *parent = nullptr); - ~TabWidget(); WebView *currentWebView() const; @@ -66,7 +65,7 @@ signals: void loadProgress(int progress); void titleChanged(const QString &title); void urlChanged(const QUrl &url); - void iconChanged(const QIcon &icon); + void favIconChanged(const QIcon &icon); void webActionEnabledChanged(QWebEnginePage::WebAction action, bool enabled); public slots: @@ -74,7 +73,8 @@ public slots: void setUrl(const QUrl &url); void triggerWebPageAction(QWebEnginePage::WebAction action); - WebView *createTab(bool makeCurrent = true); + WebView *createTab(); + WebView *createBackgroundTab(); void closeTab(int index); void nextTab(); void previousTab(); diff --git a/examples/webenginewidgets/simplebrowser/urllineedit.cpp b/examples/webenginewidgets/simplebrowser/urllineedit.cpp deleted file mode 100644 index 7e67b635a..000000000 --- a/examples/webenginewidgets/simplebrowser/urllineedit.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "urllineedit.h" -#include <QToolButton> -#include <QUrl> - -UrlLineEdit::UrlLineEdit(QWidget *parent) - : QLineEdit(parent) - , m_favButton(new QToolButton(this)) - , m_clearButton(new QToolButton(this)) -{ - m_clearButton->setIcon(QIcon(QStringLiteral(":closetab.png"))); - m_clearButton->setVisible(false); - m_clearButton->setCursor(Qt::ArrowCursor); - QString style(QStringLiteral("QToolButton { border: none; padding: 1px; }")); - m_clearButton->setStyleSheet(style); - m_favButton->setStyleSheet(style); - setStyleSheet(QStringLiteral("QLineEdit { padding-left: %1px; padding-right: %2px; } ") - .arg(m_clearButton->sizeHint().width()) - .arg(m_favButton->sizeHint().width())); - int minIconHeight = qMax(m_favButton->sizeHint().height(), m_clearButton->sizeHint().height()); - setMinimumSize(minimumSizeHint().width() + - m_favButton->sizeHint().width() + - m_clearButton->sizeHint().width(), - qMax(minimumSizeHint().height(), minIconHeight)); - - connect(m_clearButton, &QToolButton::clicked, this, &QLineEdit::clear); - connect(this, &QLineEdit::textChanged, [this](const QString &text) { - m_clearButton->setVisible(!text.isEmpty() && !isReadOnly()); - }); -} - -QUrl UrlLineEdit::url() const -{ - return QUrl::fromUserInput(text()); -} - -void UrlLineEdit::setUrl(const QUrl &url) -{ - setText(url.toString()); - setCursorPosition(0); -} - -void UrlLineEdit::setFavIcon(const QIcon &icon) -{ - QPixmap pixmap = icon.pixmap(16, 16); - m_favButton->setIcon(pixmap); -} - -void UrlLineEdit::resizeEvent(QResizeEvent *event) -{ - QLineEdit::resizeEvent(event); - QSize clearButtonSize = m_clearButton->sizeHint(); - m_clearButton->move(rect().right() - clearButtonSize.width(), - (rect().bottom() - clearButtonSize.height()) / 2); - m_favButton->move(rect().left(), (rect().bottom() - m_favButton->sizeHint().height()) / 2); -} diff --git a/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp b/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp index 8146dcfb7..63246ac1d 100644 --- a/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp +++ b/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp @@ -38,15 +38,17 @@ ** ****************************************************************************/ -#include "urllineedit.h" #include "webpage.h" #include "webpopupwindow.h" #include "webview.h" +#include <QAction> #include <QIcon> +#include <QLineEdit> #include <QVBoxLayout> WebPopupWindow::WebPopupWindow(QWebEngineProfile *profile) - : m_addressBar(new UrlLineEdit(this)) + : m_urlLineEdit(new QLineEdit(this)) + , m_favAction(new QAction(this)) , m_view(new WebView(this)) { setAttribute(Qt::WA_DeleteOnClose); @@ -55,31 +57,29 @@ WebPopupWindow::WebPopupWindow(QWebEngineProfile *profile) QVBoxLayout *layout = new QVBoxLayout; layout->setMargin(0); setLayout(layout); - layout->addWidget(m_addressBar); + layout->addWidget(m_urlLineEdit); layout->addWidget(m_view); m_view->setPage(new WebPage(profile, m_view)); m_view->setFocus(); - m_addressBar->setReadOnly(true); - m_addressBar->setFavIcon(QIcon(QStringLiteral(":defaulticon.png"))); + + m_urlLineEdit->setReadOnly(true); + m_urlLineEdit->addAction(m_favAction, QLineEdit::LeadingPosition); connect(m_view, &WebView::titleChanged, this, &QWidget::setWindowTitle); - connect(m_view, &WebView::urlChanged, this, &WebPopupWindow::setUrl); - connect(m_view->page(), &WebPage::iconChanged, this, &WebPopupWindow::handleIconChanged); + connect(m_view, &WebView::urlChanged, [this](const QUrl &url) { + m_urlLineEdit->setText(url.toDisplayString()); + }); + connect(m_view, &WebView::favIconChanged, m_favAction, &QAction::setIcon); connect(m_view->page(), &WebPage::geometryChangeRequested, this, &WebPopupWindow::handleGeometryChangeRequested); connect(m_view->page(), &WebPage::windowCloseRequested, this, &QWidget::close); } -QWebEngineView *WebPopupWindow::view() const +WebView *WebPopupWindow::view() const { return m_view; } -void WebPopupWindow::setUrl(const QUrl &url) -{ - m_addressBar->setUrl(url); -} - void WebPopupWindow::handleGeometryChangeRequested(const QRect &newGeometry) { m_view->setMinimumSize(newGeometry.width(), newGeometry.height()); @@ -87,12 +87,5 @@ void WebPopupWindow::handleGeometryChangeRequested(const QRect &newGeometry) // let the layout do the magic resize(0, 0); show(); -} - -void WebPopupWindow::handleIconChanged(const QIcon &icon) -{ - if (icon.isNull()) - m_addressBar->setFavIcon(QIcon(QStringLiteral(":defaulticon.png"))); - else - m_addressBar->setFavIcon(icon); + m_view->setFocus(); } diff --git a/examples/webenginewidgets/simplebrowser/webpopupwindow.h b/examples/webenginewidgets/simplebrowser/webpopupwindow.h index af97ef7fc..c737b4abc 100644 --- a/examples/webenginewidgets/simplebrowser/webpopupwindow.h +++ b/examples/webenginewidgets/simplebrowser/webpopupwindow.h @@ -44,12 +44,12 @@ #include <QWidget> QT_BEGIN_NAMESPACE +class QLineEdit; class QWebEngineProfile; class QWebEngineView; QT_END_NAMESPACE class WebView; -class UrlLineEdit; class WebPopupWindow : public QWidget { @@ -57,15 +57,14 @@ class WebPopupWindow : public QWidget public: WebPopupWindow(QWebEngineProfile *profile); - QWebEngineView *view() const; - void setUrl(const QUrl &url); + WebView *view() const; private slots: void handleGeometryChangeRequested(const QRect &newGeometry); - void handleIconChanged(const QIcon &icon); private: - UrlLineEdit *m_addressBar; + QLineEdit *m_urlLineEdit; + QAction *m_favAction; WebView *m_view; }; #endif // WEBPOPUPWINDOW_H diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp index e4e7f5efa..4bd5c84ac 100644 --- a/examples/webenginewidgets/simplebrowser/webview.cpp +++ b/examples/webenginewidgets/simplebrowser/webview.cpp @@ -52,15 +52,21 @@ WebView::WebView(QWidget *parent) : QWebEngineView(parent) - , m_loadProgress(0) + , m_loadProgress(100) { + connect(this, &QWebEngineView::loadStarted, [this]() { + m_loadProgress = 0; + emit favIconChanged(favIcon()); + }); connect(this, &QWebEngineView::loadProgress, [this](int progress) { m_loadProgress = progress; }); connect(this, &QWebEngineView::loadFinished, [this](bool success) { - if (!success) { - m_loadProgress = 0; - } + m_loadProgress = success ? 100 : -1; + emit favIconChanged(favIcon()); + }); + connect(this, &QWebEngineView::iconChanged, [this](const QIcon &) { + emit favIconChanged(favIcon()); }); connect(this, &QWebEngineView::renderProcessTerminated, @@ -115,21 +121,39 @@ bool WebView::isWebActionEnabled(QWebEnginePage::WebAction webAction) const return page()->action(webAction)->isEnabled(); } +QIcon WebView::favIcon() const +{ + QIcon favIcon = icon(); + if (!favIcon.isNull()) + return favIcon; + + if (m_loadProgress < 0) { + static QIcon errorIcon(QStringLiteral(":dialog-error.png")); + return errorIcon; + } else if (m_loadProgress < 100) { + static QIcon loadingIcon(QStringLiteral(":view-refresh.png")); + return loadingIcon; + } else { + static QIcon defaultIcon(QStringLiteral(":text-html.png")); + return defaultIcon; + } +} + QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType type) { + BrowserWindow *mainWindow = qobject_cast<BrowserWindow*>(window()); + if (!mainWindow) + return nullptr; + switch (type) { case QWebEnginePage::WebBrowserTab: { - BrowserWindow *mainWindow = qobject_cast<BrowserWindow*>(window()); return mainWindow->tabWidget()->createTab(); } case QWebEnginePage::WebBrowserBackgroundTab: { - BrowserWindow *mainWindow = qobject_cast<BrowserWindow*>(window()); - return mainWindow->tabWidget()->createTab(false); + return mainWindow->tabWidget()->createBackgroundTab(); } case QWebEnginePage::WebBrowserWindow: { - BrowserWindow *mainWindow = new BrowserWindow(); - Browser::instance().addWindow(mainWindow); - return mainWindow->currentTab(); + return mainWindow->browser()->createWindow()->currentTab(); } case QWebEnginePage::WebDialog: { WebPopupWindow *popup = new WebPopupWindow(page()->profile()); diff --git a/examples/webenginewidgets/simplebrowser/webview.h b/examples/webenginewidgets/simplebrowser/webview.h index f06162ea3..23a9a29ee 100644 --- a/examples/webenginewidgets/simplebrowser/webview.h +++ b/examples/webenginewidgets/simplebrowser/webview.h @@ -56,6 +56,7 @@ public: int loadProgress() const; bool isWebActionEnabled(QWebEnginePage::WebAction webAction) const; + QIcon favIcon() const; protected: void contextMenuEvent(QContextMenuEvent *event) override; @@ -63,6 +64,7 @@ protected: signals: void webActionEnabledChanged(QWebEnginePage::WebAction webAction, bool enabled); + void favIconChanged(const QIcon &icon); private: void createWebActionTrigger(QWebEnginePage *page, QWebEnginePage::WebAction); -- GitLab