From ebf8c1eaf06a4fdefbb5787d65598808ac4a65ab Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 25 Nov 2016 18:04:33 +0100 Subject: [PATCH 01/27] QmakeProjectManager: Use "Default encoding" for mechanized editing When performing mechanized editing on .pro/.pri files, until now, Qt Creator reloaded and restored the file with [from|to]Local8Bit. That broke #comments in unicode. This change implements that the the "Default encoding" from the text editor options is used instead. Task-number: QTCREATORBUG-10274 Change-Id: I783fc3a2c6a2638e4603ced2eef25c2a3998e2c1 Reviewed-by: Oswald Buddenhagen Reviewed-by: Tobias Hunger --- src/plugins/qmakeprojectmanager/qmakenodes.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index e25359110ef..623afe98e6e 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -1203,7 +1203,8 @@ QPair QmakePriFileNode::readProFile(const QString &file) QmakeProject::proFileParseError(reader.errorString()); return qMakePair(includeFile, lines); } - contents = QString::fromLocal8Bit(reader.data()); + const QTextCodec *codec = Core::EditorManager::defaultTextCodec(); + contents = codec->toUnicode(reader.data()); lines = contents.split(QLatin1Char('\n')); } @@ -1320,7 +1321,8 @@ void QmakePriFileNode::save(const QStringList &lines) { FileChangeBlocker changeGuard(m_projectFilePath.toString()); FileSaver saver(m_projectFilePath.toString(), QIODevice::Text); - saver.write(lines.join(QLatin1Char('\n')).toLocal8Bit()); + const QTextCodec *codec = Core::EditorManager::defaultTextCodec(); + saver.write(codec->fromUnicode(lines.join(QLatin1Char('\n')))); saver.finalize(Core::ICore::mainWindow()); } From c8215d4b6e7cb932af9f7b201f83d254f965423c Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 5 Dec 2016 12:46:48 +0100 Subject: [PATCH 02/27] Editor: Fix search result backgound for declarations Don't add a background to a format without a background if a mixin is applied. Task-number: QTCREATORBUG-17314 Change-Id: Ie76fe7f69e98e9cfdfa290c40f0774dbe6f86cea Reviewed-by: Marco Bubke --- src/plugins/texteditor/fontsettings.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/texteditor/fontsettings.cpp b/src/plugins/texteditor/fontsettings.cpp index e0017a4e896..c0abf4c24b3 100644 --- a/src/plugins/texteditor/fontsettings.cpp +++ b/src/plugins/texteditor/fontsettings.cpp @@ -233,10 +233,6 @@ void FontSettings::addMixinStyle(QTextCharFormat &textCharFormat, textCharFormat.setBackground(mixBrush(textCharFormat.background(), format.relativeBackgroundSaturation(), format.relativeBackgroundLightness())); - } else { - textCharFormat.setBackground(mixBrush(m_scheme.formatFor(C_TEXT).background(), - format.relativeBackgroundSaturation(), - format.relativeBackgroundLightness())); } if (!textCharFormat.fontItalic()) From 4b661c3130d15742a37301d13355c96d29dbb8e3 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 5 Dec 2016 13:14:46 +0100 Subject: [PATCH 03/27] ProjectWindow: Delay panel update after target adding Parts of the machinery are not yet done when the signal arrives, waiting for next event loop iteration suffices to get a context enabling us to show the proper panel. Change-Id: Icbf33a4f5a900058ecc89ac125eb43313e12b74f Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/targetsettingspanel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index c62d9aa60f6..69cec0e85a8 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -701,7 +701,7 @@ TargetGroupItem::TargetGroupItem(const QString &displayName, Project *project) QObject::connect(project, &Project::removedTarget, d, &TargetGroupItemPrivate::handleTargetRemoved); QObject::connect(project, &Project::activeTargetChanged, - d, &TargetGroupItemPrivate::handleTargetChanged); + d, &TargetGroupItemPrivate::handleTargetChanged, Qt::QueuedConnection); } TargetGroupItem::~TargetGroupItem() From 6d9afdc4ff9045af3e55c7f35d29f2a523716cc6 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 5 Dec 2016 14:07:16 +0100 Subject: [PATCH 04/27] QmakeProjectManager: Compile fix after ebf8c1eaf06 Change-Id: I4e1315dd7b1cdc11a355330dcad653667967ec8d Reviewed-by: Tobias Hunger --- src/plugins/qmakeprojectmanager/qmakenodes.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 623afe98e6e..1ac2f9f5656 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -73,6 +73,7 @@ #include #include #include +#include #include #include From b662a5943700d893c864ddf832a53869e3783ad4 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 5 Dec 2016 13:23:28 +0100 Subject: [PATCH 05/27] Core: Make initial default window wider The new project window works better with 1280 pixel. Assume that is a good default width in 2016. Change-Id: I0c96db1bd279f6587e69c36ca01d1cd4f5243769 Reviewed-by: Tobias Hunger Reviewed-by: Eike Ziller --- src/plugins/coreplugin/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 308a1ee5783..6d3c24df7b0 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -1155,7 +1155,7 @@ void MainWindow::restoreWindowState() QSettings *settings = PluginManager::settings(); settings->beginGroup(QLatin1String(settingsGroup)); if (!restoreGeometry(settings->value(QLatin1String(windowGeometryKey)).toByteArray())) - resize(1008, 700); // size without window decoration + resize(1260, 700); // size without window decoration restoreState(settings->value(QLatin1String(windowStateKey)).toByteArray()); settings->endGroup(); show(); From e351c693c666f7e8f245b257bad7a80562abf8bd Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 5 Dec 2016 16:10:03 +0100 Subject: [PATCH 06/27] Debugger: Add a test to check the automatic expansion of 'this' Change-Id: I90fad62442d677ba441e2e61b660cae7ebea52ea Reviewed-by: Christian Stenger --- tests/auto/debugger/tst_dumpers.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 48e10ce52d6..2c8359ebc88 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -5278,6 +5278,20 @@ void tst_Dumpers::dumper_data() + Check("p.a", "0", "int") + Check("p.b", "2", "int"); + QTest::newRow("This") + << Data("struct Foo {\n" + " Foo() : x(143) {}\n" + " int foo() {\n" + " BREAK;\n" + " return x;\n" + " }\n\n" + " int x;\n" + "};\n", + "Foo f;\n" + "f.foo();\n") + + + Check("this", "", "Foo") + + Check("this.x", "143", "int"); QTest::newRow("Union") << Data("union U { int a; int b; };", "U u;\n" From 98e0b4b0b5fe8e329363e46a5bcff065681a2825 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 5 Dec 2016 16:39:38 +0100 Subject: [PATCH 07/27] ProjectWindow: Add a buttons to import builds to project tree ... to a shortcut to the Kits setup page. This duplicates the functionality from the context menu but can be directly spotted. Change-Id: Ia5c2e1208346dc7191a04fbb9c2569ccab9aab31 Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/projectwindow.cpp | 91 ++++++++++++------- 1 file changed, 60 insertions(+), 31 deletions(-) diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index b1642c91b07..ae4338bd51c 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -386,6 +387,14 @@ public: this, &SelectorModel::deregisterProject); connect(sessionManager, &SessionManager::startupProjectChanged, this, &SelectorModel::startupProjectChanged); + + m_importBuild = new QPushButton(ProjectWindow::tr("Import Existing Build...")); + connect(m_importBuild, &QPushButton::clicked, + this, &SelectorModel::handleImportBuild); + + m_manageKits = new QPushButton(ProjectWindow::tr("Manage Kits...")); + connect(m_manageKits, &QPushButton::clicked, + this, &SelectorModel::handleManageKits); } void updatePanel() @@ -457,7 +466,6 @@ public: ProjectItem *projectItem = m_projectsModel.rootItem()->childAt(0); Project *project = projectItem ? projectItem->project() : 0; - ProjectImporter *projectImporter = project ? project->projectImporter() : 0; QModelIndex index = m_selectorTree->indexAt(pos); TreeItem *item = m_projectsModel.itemForIndex(index); @@ -468,47 +476,65 @@ public: menu.addSeparator(); QAction *importBuild = menu.addAction(ProjectWindow::tr("Import Existing Build...")); - importBuild->setEnabled(projectImporter != 0); + importBuild->setEnabled(project && project->projectImporter()); QAction *manageKits = menu.addAction(ProjectWindow::tr("Manage Kits...")); QAction *act = menu.exec(m_selectorTree->mapToGlobal(pos)); - if (act == importBuild) { - QString dir = project->projectDirectory().toString(); - QString importDir = QFileDialog::getExistingDirectory(ICore::mainWindow(), - ProjectWindow::tr("Import directory"), - dir); - FileName path = FileName::fromString(importDir); - - const QList toImport = projectImporter->import(path, false); - for (BuildInfo *info : toImport) { - Target *target = project->target(info->kitId); - if (!target) { - target = project->createTarget(KitManager::find(info->kitId)); - if (target) - project->addTarget(target); - } - if (target) { - projectImporter->makePersistent(target->kit()); - BuildConfiguration *bc = info->factory()->create(target, info); - QTC_ASSERT(bc, continue); - target->addBuildConfiguration(bc); - } - } - qDeleteAll(toImport); - } else if (act == manageKits) { - if (KitOptionsPage *page = ExtensionSystem::PluginManager::getObject()) - page->showKit(KitManager::find(Id::fromSetting(item->data(0, KitIdRole)))); - ICore::showOptionsDialog(Constants::KITS_SETTINGS_PAGE_ID, ICore::mainWindow()); - }; + if (act == importBuild) + handleImportBuild(); + else if (act == manageKits) + handleManageKits(); } -public: + void handleManageKits() + { + if (ProjectItem *projectItem = m_projectsModel.rootItem()->childAt(0)) { + if (KitOptionsPage *page = ExtensionSystem::PluginManager::getObject()) + page->showKit(KitManager::find(Id::fromSetting(projectItem->data(0, KitIdRole)))); + } + ICore::showOptionsDialog(Constants::KITS_SETTINGS_PAGE_ID, ICore::mainWindow()); + } + + void handleImportBuild() + { + ProjectItem *projectItem = m_projectsModel.rootItem()->childAt(0); + Project *project = projectItem ? projectItem->project() : 0; + ProjectImporter *projectImporter = project ? project->projectImporter() : 0; + QTC_ASSERT(projectImporter, return); + + QString dir = project->projectDirectory().toString(); + QString importDir = QFileDialog::getExistingDirectory(ICore::mainWindow(), + ProjectWindow::tr("Import directory"), + dir); + FileName path = FileName::fromString(importDir); + + const QList toImport = projectImporter->import(path, false); + for (BuildInfo *info : toImport) { + Target *target = project->target(info->kitId); + if (!target) { + target = project->createTarget(KitManager::find(info->kitId)); + if (target) + project->addTarget(target); + } + if (target) { + projectImporter->makePersistent(target->kit()); + BuildConfiguration *bc = info->factory()->create(target, info); + QTC_ASSERT(bc, continue); + target->addBuildConfiguration(bc); + } + } + qDeleteAll(toImport); + } + + std::function m_changeListener; ProjectsModel m_projectsModel; ComboBoxModel m_comboBoxModel; QComboBox *m_projectSelection; SelectorTree *m_selectorTree; + QPushButton *m_importBuild; + QPushButton *m_manageKits; }; // @@ -545,6 +571,9 @@ ProjectWindow::ProjectWindow() auto innerLayout = new QVBoxLayout; innerLayout->setSpacing(10); innerLayout->setContentsMargins(14, innerLayout->spacing(), 14, 0); + innerLayout->addWidget(selectorModel->m_manageKits); + innerLayout->addWidget(selectorModel->m_importBuild); + innerLayout->addSpacerItem(new QSpacerItem(10, 30, QSizePolicy::Maximum, QSizePolicy::Maximum)); innerLayout->addWidget(activeLabel); innerLayout->addWidget(selectorModel->m_projectSelection); innerLayout->addWidget(selectorModel->m_selectorTree); From 6dc56994230acc4c43e205b00b8a3cdf638ec589 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 6 Dec 2016 14:41:53 +0200 Subject: [PATCH 08/27] Update qbs submodule To HEAD of 1.7 branch. Change-Id: I882be8dad05ffcd9a2f3f0c78b278bb5d94b985b Reviewed-by: Christian Kandeler --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index bf31eeeb789..8e2d2afcd38 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit bf31eeeb789572dd919f797b21cbab15758916ff +Subproject commit 8e2d2afcd38c8e89b8e7c5329ee29e15f4e5d518 From 81dbec7c50919e7bf4327e9f4e6a35a99d792530 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 29 Nov 2016 14:15:56 +0100 Subject: [PATCH 09/27] Qmake: Add some breaks so that the expected OS is selected Change-Id: I3d0184bb408125eecb6a8e728fabe593233115c2 Reviewed-by: Orgad Shaneh --- src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp index 2860a6496a1..687b72a7169 100644 --- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp +++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp @@ -54,8 +54,10 @@ LibraryDetailsController::LibraryDetailsController( switch (Utils::HostOsInfo::hostOs()) { case Utils::OsTypeMac: m_creatorPlatform = CreatorMac; + break; case Utils::OsTypeWindows: m_creatorPlatform = CreatorWindows; + break; default: break; } From 71b27b0d8bb05f42d83717fc1e5428429d0d1f48 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 6 Dec 2016 14:56:27 +0100 Subject: [PATCH 10/27] Doc: Describe the Import button in Projects mode Update screenshots. Change-Id: I9bffcb3689ef4d4a4cd55161bb73ba6d25224710 Reviewed-by: Eike Ziller --- doc/images/qtcreator-ios-add-kit.png | Bin 46365 -> 23695 bytes doc/images/qtcreator-project-kits.png | Bin 27758 -> 30590 bytes .../creator-projects-settings-overview.qdoc | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/images/qtcreator-ios-add-kit.png b/doc/images/qtcreator-ios-add-kit.png index fcde8b8c14ed801d74d854cffc963129a78ce263..fa3bee62b51829e612a03dd00fb3b2717a90eb97 100644 GIT binary patch literal 23695 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 z zbld4?mmWT4S-tM$4yH{N-%~ZyZ$C|1**B$m?Mc7xRasx0f^t(<_WEABwe7Ai_d(%G z-s^L$eIILnl@UmJ^=k5}vmgI1<_#=h*`1bP+$_1ma+?0~ zZI5Q@m(H8E)cCZd%+{Lc`KF(@?09ziipz;zY@4NLmZ%u*nibcd{b+vvqgnsEp@U{z z>n!JgD)HT9$Rm0Cf^yX91~#_qHD$h)%V$Q)mxXct*|EU+&b&QSvz~9+lel-sqeJYjUd!5azPD$ebNGB>>apxIZ<`fN4}Eh}k;$}= z*d;I}CjMJ<+ZUgh;$_OZ6Kg&*T|Al-QY?5;IxDELjph2BlODIHmz*=ReK;p_!Gp^l zxBB$1{XFGdIZ^(>tXVUcXKQUUJ#>A`oms0~lp|+}eB7@yRenv^!u7mIO-+r`&Tl(p zXtZx_8qpulTom#( zw>L8{`?20*v%ym4ua0Z}-f&3%RO0(C(f#m)hIw`{odX<^oM41I6`0 zpB)PHl=LN@>^N{rtRcF1=Wn68(U&E-JTuL|U4GiOuwC`_U8k2a#q0k$-r9J~#cYP% ztkpj`Uj>|XcQ2gq@6-&PFIP4!Tg<$yQpnX+V~wD}$J-a@@NAa&n*BsECFReKjkXE> z1^-?ChOdkaddVdq?wDKV^3$BnmeW%-mQ9jbkh3$y;WY=3se)#Wte-1y#mTcuzuDzg zTtZ?h+SpeeoVC4g+0Re;+TYAJX5Q}eTD;CecG({-xBGiJ6pxKv3a~0 z{6)VA|K$a{ou9}}^w?seJ40Vc)bi~?smhNLy2krX1fD3Dh$(hf5m_6iclg_a}hzKI^A2x#VmL^o+gt@0VV6gPs_WQ=WB6k(ViJk`-Dxsf9RgQ_fE?4p1=G*PA-&uQ5bPoM?B12IHhwJONzm) z@KrN^t&hrhHj&uq)vxvkmgcVg)Foudwv%&eP}t9RVaH8xOjDO^H+-{u zL+QdP$-07~&lUQ7kEShm^?Lg`Fv-~e!8D0I_wG!ZRCHzwU&Nm@tC%h3Gq)@LTV$hQ zW}5GL;x~6p!jFYduCLwc!&I@yPvk?(+?{;e9kxF4RxM5TZ1k_)93IJh{?5fpyMnK3 z{vrFG=p{@waNKleuBw)OXa@V{(0wVp**4Vab4~EMo0$9V=P|4DL#~`{dnAhePab{e zy!+l6v*eBD7iVW0`G@~wQ!)!b<Ri4|JjxDoPF`Kx`_tsH0ZeuY933+qvj-;o|8!ZniIhb)2 zbQw5J+2PyEI!VB_gk7emXN|yt6P+EtibXw-ti$DXZU~=Ky`vzKb2Ui*My&jc86`$q znO+au3iQ$!)Wn`kOiWB%xnjxW8rO&IGrFTDEt_#_y?@XXxi{i<=jmeac6vU*Sa}Ddn`mW-dz)0 zzQehoyuBlDbj^W<0r1q1{% z^jKUTypaFR{Y$%};lOe?heICs?%)3(Jl*+3yu*WTM+Hku)|;1dEG(_+3`>QyK2<6! z{M*y5KPAp#!4t&;g+7zTT^trXQBV-5Jy|L4II%PHf|*hC=5*5^6}z3DS6=M;>C;+VJw55nnX?zR79IRze{I38 zwRwimKNe0F?)dlkk@gZjg#Z;6i@uu2E4DH&RW11%^gwihOW0ADIs5)-pF4ZAcbaL{ zLf7U#12ZG7pk4A(mLK2AUCFlQ@-kfzq_r?;wc@2o4&m#)mn*-si$N90YnEx1@8Qqg*Zm8GkVLGx6=>XYx6TAlyDltsfJ>f6w22C@h@C^;&RF^d6q=PNjkd2@Fix5f3i> z5w(z<$gup@*}(H^QrzMHI-kghdWC2AENo^!aQ4Ylwl~K*ZFijBEx4-9a&`EE`q^3m zDz?X(F3K7tzKxv|SuORwUXCL>OJt?!p@V0&H)K7pT=7COw^q31XP!vYpHq$#C42YI zzVRb8cY`h-B% zMh?U2-;qnwSewVO#Wr z8*eNUR`)A#{TO%hO_A5DU7UThxfW>5sSD#U@H-QhsW{!PlCL%Xte_HMe}p_XysI-Aj7jbF7ZUrv7hVn(I4*hJA7*Ja%?sZvEpIRj3s zdh`V;eVQb(E{gYq@9l>xBDQgD+1ed&L21v{7uu^IJi6WAvCpb3&c3HC^wSv=$^L&$ zsXx~*P%(RJU(X-)O2%>bd+~z@7U}BQ-t6RZQ%Z54>$+gJ{5gS(z4z-RCtFW-Tz`x) zqW+EA7Tz<7CzdMewx<_pO*A{TRiZz5_wmEK0zxg;$Op;p6^mPLu`gm{KC6}ar`Xg3v zR&y@j;^XIz>4(x~_w_BCsV;CKQNrkq%!l)PH6;GuWj)KD@4PI6ecG~L9$pJScGqky z`+Q8k+D~yslcC=l*={}O=ZcE9=Kt48lx=(F(c#|~bzgWj-+Y(#S(y?SmvT<~E6kep zdR}MWN@Xkm=uXr7=6@45>9aiDEE88eY3|(KFJGRER{5GJMmQ{RQC^_@Y{ScihJ5y> z4g17a`mYzt;_b*zbg>CK7uC}zdbD8suOH5RXFjT4esT3onE!Jr_ZgL4QzfjDygjan zop2QK@mjh#YJ%Y+xp@crPxCLVo2mCg;)3{9t)F{Vxg8ZzbMN!<%8YbS^*(x(Ieq1x zN|m>7GI#>L=Beokb}v*EzjphAM9GOY=etiS@O!tK2rmnLrFh^f5C8i31A9AMTIS5` z-@MRX@x1w@}u&&%cWjx_-7B#hx0cBAG~{e>W%7Kx|pf+)@Fm%>A^mC3gpgPNgr8Tsniy+s$pw&uujZ< zj?R^t7fiP~6`t8#mA>fw*|V*Dy&GoFp8Z_>)!X(pOISL3R%9z&WpXcvod~)-qVnt)@hI5JvH7Dt>7vfU4ABVGt1YzZ$F$jT*aV& zM(10ZX6!D#RYE6?KduPj({s_kZoD$_tfKXK?nUX3I_{glap}+Rdw8VN*`lPvUe4~U zTaXi1&|%N$|9MtfRZ+^1u9^Nj`K84$W3QE|TKlXbqd@6`^>R1aAlI+Oo;krsQk`KGh&_n22K7ZUx)@hQj4d%ei3 z>uaaoKdiXB=J~N1-@jKL`S{qNVQI5^){IvVi>i43{mB*h_CJwPS~~kiXm;;?HQvQ> zF$;6LdH1%cfG+HugUPf3H zPqe$N%>IoM>EdtQi{I;I++U);Mt5fBW9OqX%FoZX&aY)V)+5n>d!poqEqbi`SEYIw z20x#z5+RrJ=tTJIttz+HE7XP+ID{wtJF`YvEYs2Yzqx+pMsJ6gsxI!z#?hX}lV>dq zdt4@AE9y~G#hl&tza_AKUW->1*L3H@n)+#Y>ywly61t$1MHw4E+1D&+-d zFui=NaOlD=A)b}Gjm?JK!p`d!x%w>mdHQADzD3{bB=*gJfwoAiLzdjV-Gq-K({ckRl)p{>3`K%Jtc`kZU*4q$P#WhsW?mV@>XuiVg&#P-k z4rpdi)OzfpoD}PKs!2>{&ONUvhqt#@+}&WA_I3vkYwg0No%{y7k`-QETitz4w(j8K zA3hnGnSs|Mxqr2sU%LO<0{`{%KdP8AN~iTT#5e!SxSlD%cQ;+k!jXmLo;+jRVs)nJ zg8H7KN>@rm78a}Op0Qtk>?VilzSS#PwV4&X&jrf#aZKNLMvATCf6o11OJ<#z8=QUd zj2UZCaZ;iFPa~(G#Vgz=`X+|3{4&r>by@#&MJId6EdJKba*cClXsg-^OFq(xm~QH} z=Nj{zJyjbdq*lkANU6N`^c-{Bq0Kxuqju!1nYmkR`eLJpVW*~EUq1Eb#vk#=(^hz! z{W#$F-&yJJy>2Ca=iIJM^CUUyrTT8SKVQ@vANob!Qfx2t--~4zjO;RHo2^#7c*i$? zSMR}TzDw`KcB_4zm2_`WCC4h^hQ8R{3(qh3+2Nx+p=0Kj73oKwe7kvc#hZ%)ug|*% zZ@9MkLv&4ra?Wm{lb?m;E&rdtJtaysoaLi79f=O4Gt zPLa6o8XMQW@9sXgv&2P-!|kWqmpiBiq~2e;bK!m` z{RF9P>!Mp)X18znT_)n|xp>`-b$XBV^N%0dx%7mJ7bVEa~aGW{IfNQtf&Z zczpyI8~Gg^9FLsXQn75U_fsW{*lhu)@Q6LCIbot}zMa#1BLQ4eKcBk+lH`^Ru#q)^|j|)zl z#9~^y*yzPN8{^5xC-9!#^g1WXVH!Vs?8HkG&T1WaeiFl zZ9k^me}CTk{9=Dk&xKrFah4LZg|~5kt&%yiulRJr`BRQ-BlUc(XI)w&2jdNYwOBc(j^lg7S3`D zz0Voxe?IBQg_j(mFD^2;3ite7D1I}j+bHfs-2)E)+MOI{_`{M9m-4wi+0+twc@i5LeD-&M4N;r1E>%DTh+UpN{6Rw(YD(>8#5isNY zG<6$a=EHBkznSxYLva}2ufu73HyEUSGrVZpGIO1((czP}4s%5RoZjZzuD18#vnT(i z1?~S?=I3QmCcn?&XT%~o!Rd=b@4fe*DB3Rj+wViFz|F8@;k?=o^F-Qe+x-<4P1%K* zrDt_sVpw&edxzY_&Qo7!EoSmPY*YWtLTS;Y#LRHfUZy=iI>kTrc+9b>6Fa%nYQ;ST zfz-DvyuU75ak((%f1(Xnb=MXjO^aFUGc#YeL@_q5cy-Fh=;xu61)smv#njF4=sOW| z;i9qI(x`tcf-iasH}@5_+}qLO{ayLz2CaXM8tLby8V^0ZD!sK~tqtGt^D)g%;qtuE zTbs+yl*-utXUG!H{=sh2Vme#Tt8$)oDU*Nl<%Hl}YEst>jxEjZKR9Qh=hl+Mb*tIE z`?XHoGiU4FAKj2LS?fmK4-Ko(%`H~iZ0vkE444obc>M;;)z_wuq2==exu^X6 z>vz)O(?g}SZj()m1$`Gk{g!f@r?!AUOS-yFz}q)gu~;}Z<$lM~PFItsowp8hNZs6| z{$J$Rv!YjBM;YJodGzwR`m8hT@s!=D@wz$wRz%|M8=4>fR!eH#oO0BEa(#2uq66pR z_qncjlsT6p|074>`QdDZB_HCQ9XvNj7Iog)dh`8ct$g>#<&s9r4nB{K7COE{!;g*k z%qG!=IcO0FmC2lla#`d1^YX*3PyD{mG&nm?)Z2e{+L4#D9H%bnKH@Hu zwR?;E_kYZR>wJ!WzxL=S&!_({qIWFv7Qf!)_-E&~iLzGZFQYVK&Y$9y-Mv$k%lT#4 zhgE-VR&0w87TNJ6|HXwhvzEQ(TK@G<=O5#ZnzOdNYf;m`TcPN%g#A66?2FG%6$`y( zr!2JmlWL;&Fa3L*XkOQXb@R?A9aySmbz%90fO(}WH?Ej1e?pZl`NnqHLgOI5+ft1Z zW($mS-uWEtiJzu4vnp1tkMDzq?=pR%je(k5-h7z0>-qBEcI`=uRd<7~UOeU7*BHyT zI6t{qC$?U0Z(Tf>Zd8QgX~Bc1_cInv<2%0Lp;ARgta|QU-qU}iAFuo(bj(MV=jLBF zi|yH_T3;d?yt;Gm6whyFJi9yjSxj%*U!95l z1&4CJ_!y_l$3-t+tQK$A^YrAq;N$~rQ@&=->e{)_a7T*m68DV7lUCYWmA-G@WydJL zu*7MStD{4T@8=)vX2<#`mp%S?(f3EAomAncPtNZH_b=+=%@q9KB+~t|O+P(MhcEAT zb9<2Ksw@01%=zMXtZPMXJ&`=Oc#34u{J4Yfn8hdho|_@Xvdz_X)6$8(?8m>oKXiA4 z#f_aIE&;C@Rs<;(KCWWfBmL7c-piQn-_EvAy?-Var_1}r^()H@Oue{ms(lXcf7ynA zt>p?SA2|hP)XX`&$@|Q-vmH~KB_oy8%$35~O)mG{eAeGy_~S3r*)s}j=UFZF=zYAQ zzJbGT-4&xfuJ^8&T>kl-VMVr`%N(O`k{699J@1^?Cnd~#`BS9&ty>#JCY)3JYbUs; zG`1xBmu$`IUmssH+zWDf_-%j3fy>g*GZp@rRo*_c^!?;nX^(asTAx^3VQFZ5ali6W z_b>nbDqCY%Sh`pnKe|g!d@g9~9pI>w(re%s&tidCsw-8({$eQ-HH+2-;KO>eh%K8vqkz1FsJ9;3?5V<&im4{4khTwHzL z;cC%71Cx|uUlu`u3dzQDv%3b<*|p5ty#*K>^%)q?+Emqjn5y~GWTn-tWq~C(=4?-B zW8LT&Wwv^f;o6Rg|J=7-G>-V0IVoj-s2etX`gpS;N|zCMAc$P z`~CA?T>CY9`m%o;OIQR2G&&Ag3-8tQo!rx<Y z89dkX#=-@SZMv&grL1e?U2h=1=dio}HhZ7u^ybw$T`I~IVSHsFEU?dd4HKw@RMVc%jReFObgw2D4e7m?Xm*vNDZhjZDk>s_%`Hn_u7N(!3)sP@&A^s`SfznaUjzfgfuGew3fs ztuevmQ*NuTy7iQX)r`IL_93L;Jp4ZbTw76m>16!7Gkf~OQ~;WD{1y=zYN z?=rBD`%zaT0h)-Bs5^9-iRoxtgG+af?ghRep;;G>nXL`bp5mc;-~3XH^9+d@j_q@j zYWJL+do+w!aiLI0gToiq4@)^*f8{GFO!PRhTl@Q&w`*H$*1eqJz2H=+f~vLPuOj7J z(=K~N9RGCxPgPC8TGmDX6@Ij|v$AyYGv?~%7EL`}?neP3o7njN|e`54$ zgJye~-fgk-GxlWdOU%poDC+I;lH0*S;g|jcRj$weV_TeyMF#Q z(=Xm5f?@Wz^E=|4;wn^Jemv1uoL%OA>GHMZp|7uaaJ0m87(IMs$;5Qg{`Be#1@c%-kl2Z|fO8+DoYj{H_0Tl>4e) zCC3M|vY>PK(<&-W&)To&@4d~Xq!7RXvizW83AMUL9+`qNK zK>u~HqW%+Y1rYe4uc#pKcR$OP3B3&c&{MjtBu4c=8qr0s)8fl0|-q@L!=(fGrQkGekc)=ZPd^A0@9-+k!v zVd1sA&O3O#Fzv|BRN9TF4U)~Kr+)?SoPuui*gvq$Li^gNeC&o|V5>l9Yc zsBKkXVq#)C+Uk&$B=r5s%gc|v)*V?gxhP%yc{Zot{+}g&t2C#YH2vP$#~Qd*{d@Wc z<-FT--aW~?JY#jhX1nVf_VK4L(tns$zqw7Tvlgr^l1ZEd=3ve~#k_w}QrSHF}!J@Ms0d-yzE>YftQ)ZuIPO!!*t3fd^-6=jI-X@4r>l z8JuSS@Ye6@LW7Nuv)D}@)@VHbAI36YS(k8&rYjf7j!=J z&eF@TcYg9Kli6=}c8AIJMdtzej;Z-*X{gD0r4vS@I3p*Np9sun}Y;pCA)Jh zvxDLVrt)+eUhL@iZ=B?)*U`|>aA3J(!^+!1rhn5uZ@#|S^{3UX50!CiUHol>TBKl!8myxIzx|G8p>D;M~^y>!BAKj-$KCmi=Gc{GD` zue>v0DLeAGs8uFR?&^kzA3SC5SP5?n*>uXWx!}PQ%{8+PC9dpHP|=cnc#yr&@&{wj znp?>SPhE{LC}i;2$@3YlR_yGoukDprpWWC|r}>6^YED^MOHc@7E=lg_b9da{PFLg_6Gn;ct z!ci^!+0A=fOD?Xd6_$`@_&V!1Q*yXs_*7>-X$jWnonF%#TU-vT%oM(|CV^e{*IsWK zugmYE6$7L#7uUAFx>5Lyp=|EHwm0k_Ph2&1-<~&>;ilxT*vXUfQrY~~y>Gk>ZR1vb z`ONp3yms)4+_#x2jmH?aSfniXp6IM5uJ@CHt%Qed`IN&KZplqEi@FlAVx>*ij9XC) z_RJQ|d6F7G_?m8x;!Il z!^N+CGrJJBL_tkcdRH3XjGbR)+DwY;awqL_JGSE9F1dMe>-o5CWAB{wa5^%XBjxG7 zoDY}8v<1Y(7^`<%)O}c9Z0-72MRb$%3D3r&gs_mSY z??3Z(uJO{_YmnS=MRG#mE*4=6$$4QzdU4CS++7@?G(9d#_73BH1Au;w=H{nSKyyQ z&v}pTx~r_=tlcNi?_)G9y0o~u!!P9Eu{gH7Jt0crs)9QWXMN4(`@Fv|`S>2q3;k6b z?F}1OM0fRQeq2*9rPa$fg;z>H;8UH0sFtPe$#tTYe-8fsroR20$g_(N-QWCNYpxRc zv7*49C#yC(;$@1!#o*=zK_6dUXkfJLUVNg*-=avyy;tn@g_O%`275N-#6Os|M_Tpy zdv?LS9TP64+3GDXi`ZQ&6jL&3W8$Ck85`|c-2K{S zdjEL#hQDt#cKpnG{Jx&g>H1pDT_#%m6OAOR!*bkbEfsIN^;@ChvfB|U%SC&Z@~po0 zrs>cfQRenuCtmf1<{u7a3+nB6V3|>!A}Sbl?r11SRwdh`H4$_66ilw$mG&d=mj}z0 z&#oTptt>W`$RGPRg}L15Zv5T?zRXkGc9iTEDpa&xGc7UbyqU%RlcMGRvIZ<~@cTz@F~9wF?eN8;(ifH|%h;@aVo~x#Nafht3tKix`s6fUxR-4;ZQecq z^AZoI-#q*C<%~5oS(lDnW!+P6#HV)J^88^hQT9jmk8%xTYF{sOs+6AdBb$@$`JJYH zCPL4f-Y?kmzvNBCyMxtCspm6W>{Y*o3%-0A;Cw{l^_^22B{cSSc0T^czFR17Uu7qk zsc7|c%e}#bh3AUa>RcvKq(54Mp1)sOhsTKGyI0^FU#Sv&;HZ9mlSnY~C35 z+S+9O`^Lr6>Io$UwI=yNQ_Xx&WDBWURh{6lY_p3mKiIh1Q{bgk(t9!GC0>>{_8&UG zZRK3ytm)>5?2q#$HhyC2Tk>jA@LD4Sk^Q@7h6ZgvbLggEWACdAAsehZc2&1_{8L!i z;`iw&m$vUmJ_+wG=-hE|tDCpaOp94>p5I!cdO3fR$EIxl{5f~`O%^GTE?Icf$bQRO zzN3$iZ`io8ajD|UPeQd{{*~%JQmRTmd2(}w!>b+b@#cT5GRzK;Im6ie?~{*_($92!FWb1DIdV-Xugq+N(KLtqx1>*p=^cHM z-}Y#}?CgVqcdXvlAKAeZ35qV+jy=3nEDhzxnd1qJT-XH1H=kGoIHrArWe*Lu^ zmGWo5Li664>sm(D91qR8G_gA@z=_pm=GQ5|mzF!*+0}OM*md`L;m3!^cXmEjFPhD7 zqa!f+anYggMbq4(=F}dIy3_Uc_m2J7^q)li+I3;`vOAj|Sm?d`!*wo}e~$NZQJGBE zF9)30HFwTfePIi?`1HS1UT69*w%uiRr=zucM|S%5qP1EQ7dCI*IazRK>nB0If44bm zR&LI-_!YV$WR;Wrrq2CNAu(lcR?}xqJExhk%yphhL2Oir+SRE3+rqQXt}I>}Qx7CL+gM>zwVUh3wdK-t zd@OA&ew$CrvF(Yx{5;{}g{(j8%#)-V5`S48pXOtHG<@dry`Rf=if<{IIH_#U^1lW% zS^k|(ecZ?HU-%QKn(WxGH)Gd#!&_fpw$6^;rf8+dQvKcL$Q#!B zqy}&IlB-9~+P`}7Qt{h4)-V58h1PXg?&6Q@)U(@mVxLc$yVm>@3iaCN6Ir4}7HpI+ zGFg=W;AQ)}yU~YlJGF_eeU*Iwu1ez0Z`=~x)8n<6zWmm;c=&hgRguF7Zm^i#`xVnM z?d@6b!<{diQk(=YE?CC6xjv(%@Gy7GfipXQv9-;T_!Btyo5bPYrN?%19N2yH`;Vu) z`wSB2Oww=N9$d3=kAB={zfQBBvo~aBHGS%;Fp<{i-#YKO_MGdVKTN9l_R!@#o93I< z4}S|XC;Bg6m9}(4;&DzHn<9aSceO6C9oxBOVxdUU%X!+=W=oZQ`2|3$BOjdQ=+H4J`{ue zgo~$5Y5sHW{tYp&kJ>^rv%S8(QL%4$Q~Zr@+n+0E?z8(lX+~Pd#97L%G&=CGRV;o@ zE(`Z6$B+}2Isbp_Xi4o{SSFgBV?UoM_VKI>hE*GR(|S9k*p@9@5p(h;N|_B5vAfA+p-wc z`py=((4>0y)W({#cguOjJik166!$K6G55z$f+uFb`ZTX#gYNk&Yi^6waw-3=?L8M; zo%HJ#_XlpNj+w&87feYO?UB5|8uP}vNB#zI*xWvjw&8T*DuVcV_Q%0IXMy2r;8Um^0V@9GEL zvj@YM9)B3F^*;Xlkri2IKcyyrWfArL8*(YB(dOQANsg4XBwsP0&^wxfoIC+y*{(9@&&BkkdKRuH!-1%}x`ESNcotNjH+A*Pk& zc7;{6va*`Y#+_^*iZ;8KdFd!62M3(ms-x3evT%yp!*k6XQH{&lw{LnEaHLJq`8dZq zJwN?3{o#s6Uj&sFKR#izgjt&1y}}|&QAdTv(u;G>$@{IXb@K%KC#OI9x0vJ77vG;H z5gBe-HuGFm9a3`oyY#{Wo-cXyZLa%?q~HxUHYaL?TXhVNmTz;nIm>x&L0rr1)!ZeS zdWBw2B8whRE%;p2xbPeM)|sq~BIoRjStd=Iq zIdkTTlP4b@XYAhnfa#*R`68z(P+ymc$<;-{)>c+hQgXwF4Gj|mKkg0@?AX_#@6w?M z8v0NOn8R^_D<&m9{qVVSe7knZAJ6P__;U2;v6d|?Ec+5zG79b23O|XRyf@_ZpJ@Ho z{SpUOicCoJTl16v%uSfHQiyC_%(|#vRmW)oCC-if@eMzWU3B z%@#%9ZfVyhWS;tcROX~?!yK^(PdoXT*uT10E?3|2Lq%F$thU|NTKK{`=VF_n^pRr;rbWZ8)ep0_td8( zTt4Ny!ae%m&6QI+xb6ELo2Mrm+>WgL`J?c#Z%^DG_G4c+9A2+n{WxuvNWK38lSeTdGJd`< zsPfW&nR#8q?Tetec=G9QynEPwPh1`QXp;EL=mVE8$lTkaFpru}&$eW3GC zP3(5^IZEji+k1*ruXZjH?CRys<*GeUN-3HeB;|LuF8ew=ac>mYfihS*Xn*{ z^C{Khh>{W$nJl)%sPAkSCbeG7t1&Y;cVF`AkvmZeRlF640v#M29_VsR5I!tZ#1*md zrTK~-oAm4UEOtoPU%BDp{+=A8+Z%pbh)uiq;@{ox8`RQUHBavRuqvzbjkVFI$fZ?g z!ETPvuP`b+Z~GE|zUkY%sRvG76u7u>qR0#1#oK3c_;)YAyT~VT@luzP94iMGeShyJ z&6$-m_#H*xGHZu-cf8oYP-3ekATeHOcRCh1-RF!p6eS7eNeO7Xas^K&KI9-9is~3tof$~Y5OM~+I^+rmG z!tF&FH*PTf4a-U_F_u5UFYCN6guN`!^kMQQrrZ7Z9fT)Kthw=1;<4G4=JiuGQzk}l z%&0GC*?D2#>Pv5GZdxSAE_@^13&8@nDGWVmx& z$+^hLYm;fMl*-ohJ^!e#Za&M^BDWJuXRo-jN7BdRb^V_Qaw)sct$32vwLw~a!}A}e z9U1E?Zm-|h)~%{5_h?gL*?X%w^%~Accku>9X|wv-`6^V4^mq%pWe7(6+$l zNuSAS+AA{kodkXPmTeSu1nrFZm(0WpWF&m+kZ4DfRV1 z!Yq4BQ7xN&b+exRcXPOZinWfBHzE5+61!*Thv@W)3*K_gFFJRg&5bMU&9#H~H@@p) zac1LhnEbN)ym-&g#OEg;PA~ZLruIq3%f(r98A6IS>P<<=`H_2vx3_&`aO#g~Tir4~ zSgLfrc@TYjuRvL=oRA*K*IlfPxw*MJcJ2DK@5M~XGUipG8Q-*=D&6p%X9M0v&6zXL_wlv<{KLMts(vjk z$@^?~6`RoYrt)f5U;}!HV4%&aD(Zd7?LptJ5|4#f{QtrJoETk>_RA z_Zn%=D%)CfDdml&aQnyXz6XbPcHgil=g4~-*>TnS`{Vgriw%>1%H_;47d5^5JU$3Hk=Gn0t28w?y{r%74 zhXT9U%a@43U``X`MS5DXp4*Ao0KE#dnTVQUZ|oQHT})!TUxdye>3%dnHRY|_#SNV z{P;80J=<3XtV%QfV^pKi);qIX_jCK>Ys(C0YD6fk~J59w7-n-y7gndt(KEo zxbl}nf_E-&JhI{D><_Cs5Aq^_*&tJ+$dn4Q-!<&4aev}F$pGenA} zRvr;6E0Il`ThZnAB>(npH-62Df*jp`O?_*{nYI{xcycXs$;l$Ys{c}QPW;P$^<4Vg z>Xz@S#Cmqc$!E+ZUwakKdmO#|L*z+N|D$tXXLtBd4BET0aKSX+nI*D!tNM?A4X7^p zw~F;mkc&dNoQjFWn&sTNv-jL<**H~r>B_d5&CFA_O!;%L+1DV()~bv zkY8lcsV%41%dV;r+SB*BaPy;ttfQ8%r47oSB?M0X{hN<>&8o{gS($4!e5P~%x*vb% z^TJrx@`BSM=c1U_O{(W!H*LFideo`Ox2ttqZW}z#?uu`;mQ;K!GV@`~bgr;DkvkdQ zl}Twk37H?^o0EGsEXIZJ_}qv~otsSzo@QP7_WX^;eXqB559F5HoNo*kr65Jvlq(c=zRPE6%;${h{S|by6^2-oHCvkC*QZOO>_sK5liV zVc%MdV6V%Y6aDq<9vfaiaiuTY`ngK~;a>|&Ez|ca=;_%``n@q!cHNX#?&ra`W*6({ z9*hjlK6}@@PIBFHce6s%HL7zGm$J<%w^ToO;nvLP5}TIEOOF;$*Pr)XFJ{k~Sc`oV zi?>~V-1FD1VEcTvqB)N=#h)lX%-SM#WNH1L!bj7&f3vo5G;fSQ;Qi;&st=ya!?iB^ zInJz_oWouDHZkvwREJ7h%KBy5m;5XC zNWO1mqh@F7dHeZNB{BWWjb~O_X<0=*ytps$hGc4EqVlf;PeN^5|1585ZfIz5IO+ai z@~>SFGq&|=sW+*Y%4wPMb{I{&erj{==8X{(&2p7|(%Q>~Sr6seHcabPp7Zw1y|)wl zCA??;68Ws&>lk)*pTuQjhAqNTA3gmf+OFj_A2xZAlfJNh#c{9j@})=^A$dL zcK*A+;=%Is&b(5)TU&CwgU?KwEYjE=zE0W9lHKfGXyEDPGCW6%mRww*wO0JJxS;NO zvzCPm`_vxD_R0L@e*VMpPWY|A_Z3_J7l|~!_ukYV^+IplkAuaEtQ$(PCX1rhLf}`T1ri%L-96VhY{J45%QdIE57*MIn#PmOq z#crkB`5LQ~)QK}2mvQg&nz31)nVI>;3z4I5KCGJ3V!#LjjsNwS=1+NX`O>8yb3-L& zUd~zOl;1dUPmCUW@wdm%o`t=LJIMVlrlP`PNs#85vu7VVd_H|&?d8jt6@Pvh&R^Gh zboXq_h~_C%rW~2x{q&%e!n4x8saq{ntgWTrd`_CB<8OHOw7yqlyw3T>?)^VXB;A@o z15SUo3;bB(a=zp8i4z>trcKk&{Mut9S(%=avgcdxhPDTPetxczaocs~Xu6XV)2gtw zr`l~RJ}}tX+1Yqz2?c6R-BJ77OoWSdhWv{~9M#Xx&9$!4Z?Qdn>iw%%U7wzw7C*IE zBU7yB^fuw$)!+4`OfndPgX{d%-*5VIsFi!e)~&U=7dNv_HjOdOx}q^7X5r`M{_{Wa zPImaxnjomx)sS;ldLryB0EXaIaVxJF$gZs@nOm;a8{?(@V(ZrhtN$i`nW{bck`AYr z`=_VT8|-;jmRITK_Z``1(_?UR`GO7lBHYza#kK8~l;4~=#M6jO(ZMhb{4V9$;sJtE}O7k`dM(){IC;7PN}_JYO>$w*R z!_mZ_87Jo4z09F4t*xxhz1sS8bL+-q6F9YnSBoD$cIHga`R>@w={L$!)~wO-|2EM> zrDon5^8@GZw=7kwf2g7G!HUIbabD8tch(s4-uIX5Q&{qc;OABAJ3l{5aP>1X(~s|& z9DZ0~*~^o>)nDAEFWYy*xA)*-57Sj4dVlk`Md$0~7~cK+#O435DueyH>%)a5I*oj% zWnS+2FvG&is%fIx<(^3910I%ER86qTCg|0p}`Txhq z$A6YY#I5o9{{H@R&UsHyniPn|1w=ePT&1>V`GHesI_8f|_ zA+c}WntN;3>ExI7A1z!M$F0qN+WB%o#wVdZCMH)`2iJ4cZC>40s5l&v!_~Lw_|Xg7 zuQ%@H`@7FVlW*Nz&i!nRA6|d6EsO0>do4Sk`(;j)P;}Iu@62rcay^Cnb&vmgKWAg^ zL6;?gYvyd&EOGHXKjXi;89S2f*MGf#*HF4x{QTi9^Q{*-?tK=q<*!m@_|->O_uHrj z^jaS`TaY@L;fHx{?@#tTW$Uko(|Y6^Zhx%YdH?Qi8Sd#h?2?(ETpO#W=O5mD{d&gD zHFmfDn@D><^KbP%m&!AHlMw&HU>| zwmzbTF;;4E-C;S466Ll_PYZrOu=>K2!STQB?uJhnWLI#7#!ddd+}bYvfPVm+o1Kqw z+P6G6w>Kv|?EF5mR8I~Uh$#B>cwO^8%j7_>`%42jf9`PE)$>E*QK(VoCy(^g)b~Q=%d!-@%GJ|36m!`7e7Du z(Uv2O|C)8eOGBo#XN#L&ZrI`TI_=0Ak2zBtP1SU4eI+AnoSnDrI5}baPUB1IFE<=( zncDr;Wrj`VrxyE7MVoi9zCP0N_uAU%8jI8KkAC{h&sERDa*w%j&Xk-hx&N50vf>Ya z$!}lquho8``~GmthnJlXB<<{$Tu z$Q69yY~x$|G2qn;rMCwidE_?>_}0zqWfSW+sBo~qu`a6T%8TPSHa=(5`uh3EzrXAg zpINtkSC}2nlWUT3n=yOY-xkJ9#}(n5xwNil_h|81{jj>g-+yU|#I4n$DgAs8e>>JM z_y^bXUfHoszx40m zEB9c9V9^ia{t+o&pPq5M9m?6(cWlomtqjSPSspWI#!6Tk z^F}XTxcT>+&svErr#fb5-Z&F-h{M9jXp*_?#yE$AkuI}JA`TyXb^27yazEL93lmDO zPuQa-KTYg)slnzD4-by}pww{c^pRGR(rexcFAW!^e~(;z)WN*S3q{r2^Xkex5)}LV zt5al+P1Z)UDM_4DJ}O$woYt{KS=uo1msZNL55 znw*PYh|2z}YUytp%$(B}WPauPvFg6YkErDj^Sb0JTh}&C4R%ZXwacXB-@fWjrOLLi z>Q`S#N*X^(K4em~)Ty;3R7l5n?ZxAT+%i0;5~9BD-=JQ^Yji@tZ(i6#MtOaG{W$M5 z=0!fmsm;^QlpHjPO*2buseXA$wN8v%*bNrd+dj8OlUNO5B_rekt9SYZ`m^@1(^+ z2Kf(T93IRScreA}@llS&>Hbc;&+RqPvk|p7x!Sz7kt4A442ScfrHYE}-)w7JZ}V?V zo4I3B)#2Uc3fDFWt?6;SaIMJYu%2z;-6-~(Z}&Gjj!2-q(^$zp|(-+Z(v~Lfn~1i(NnS zXIy*T_s{+syU5)I-qP%{cE2U=PZ6Ie>Nxj#^29I7-mkTOtP0Pc(HW9)Ka%DBscAR1 zy0tAiQlS+n`RTIjskl{hzAZI#zrS$*g0Kpid2zQ|AKouNJZtaqfRm3Vzqzn-4UVBg^`i9)4%2IfL(Yrb*tN8Shy)Sg@Wx`e@Upj4Hudj3Lwbl#6{W zq@xqAuUVMz^x~7tOFSp1m!_sB+A?3;vElcd#Vd_Zy9+Qjes^pLKK1kdj5!@s?_?%l z^LONU^-=oLw zk3Vek(Ks2swz@%oQ#${#7Z;bUNG#<4t<>`&d+8>D*^vv1pSt|n@Py^roS#c4n4R}= z>pWPWc;(Gr36E{{E%AphMi}?3f6He4)i%X7=jf%ycRx<8&JDTroBQ`VHw6dvIX0); z5-0WR_Z-c%*j~gk?Zvm_lZ$76II>EthS$kpL3w<|R>?-Lq+fSmPFb{azH0lEo4fTU z`kj5ZH1^=F37H$NEspI^`S{~lvdpPjRr}AE2UoZ`JcxIH;9Z(EP4+KG|D(+hL)T{Q zI~(11diVE>X*`T8UZ(YJ$o{?I^NZL=my9wlFBP?U^Mxxx|M17=-v!?TO)P&Zuf2In z^z1CN_UXBCGNo=NW$SOY{ob-Wa;DYUkD<+{ENu4*tEq<`U%*vWG3Ug@+`Zgcl{X)M zyI32r`^SOXclk~Vihp>%?(&t#=1uY3xAJ#3iOzq1cP;b9%+0Ll-p%3aK6JQb3x6?J z-}|`!2hl47USCvcJJ6RAeYA6%k?+x$ccTm3x8M4Ib2s0C6D+;|_?bn|_td7pyEAiVGvE2J_NPzu&dk`(#mQEFB}0$-kWq9-(DGRk@vm%6itXAZ zKJwgNm0R7yzT?4{d8RYAf6`xKy<=fw_w3`Uw{iVI~=jQevzV$G9xmd*A|3`OgI4rCAXUICYir0Dd$Ik`< zZ+`RZ%`n{PocyLTQ)=JzdB-1%6zN>F_fyb{6lMCxp|NPY`{R54mxc8ociogc$hdRU zjQG6i%S8>B^C>Bv6c#-#HmULU?W22tSDy^mQ@nap+|lma-l@CKKM!1fLeQ+rkMqeE zkGuDLs!iUW|E3)!Z)&j0rnSLIp<1xu>*fuS>t8>Y*>Hv3?`yW@*V#ou_u56jXwE3_ zVt;(Qe$%PcdVl+KQtix7_LQ$)u>7&Yu6=F~!U{LX?Y~@=;=BBuDARvemZBCnf8V(8 zZx2ql;Sa(|xeTUo+RvS%3bXu>H5jJc%7yGa4g`)cBXz7=4hum?(3(C{4(|CT+^x z%@b}U6n?v$89CiSoImySw5?OKy=%Vm&zFB(P^Bfi^W&bhv$MVh=2iMs?y%@hz4W$~ zi;J=Kz+1r+hA#e}9x$n#b5!SinKmc7)4xcuu^{i~TBeiE^Z!+>wy=C^b@F3k#ut_H zb1T&!PSXr#`|{kme}2rCqdWiYE`Ptx_w^OenB&dd2X>rm=-%bAMkUl%pxSIfj>(TX zHyC9`0BO4ZMv(o zZ`Zd1fd{``pSHZVy-^+f@SwtjHwzLUtIA8J7qm}q4wcb4@#RGJVv$EILFaZd#wgme zhj17wL|jw+6MRC@#b5DfvSMOE-p{%JGCV})%=UXbpXFFvQ(8mP(XN{&wv%j3FJE31 zIZ5UPciU>uOtD4Jy@j+-_VKcbM+bVVt}L9Y^ZZD$qgeeJ6_LApj@aDz{lId)vEAnd z)6Q&VI5XX71EbQ%i!xJ9H>|7v{%-5l$o}Q#IcNI0=k17^-dOx><b|cB+FB%xdFLxXeZD#Id|UUq2)p^p zj}3J1T1^OYmAQa9!N)YU3W)<$o?RdXUBTJ@n3|G$Wr&TT4A zn^ay-cJPQYN&H|X&3o**lI||&X92>!SkF=Ub4dav3)x>}8dB}aVt>uZg(ULVPx93`y-#R0&;u*^)t3J(LGD3cC zOQhb($u8b&=eYRQTkXT@xjyx|n^!`lYJu;QI^`7#AGc|H&W;e1N zu=+epZif8)$#H6(^FD39m~{8X2P64wz2_&Es!%BvzEBz}4Fo|4`vM;v+QKXE$r z#P-<2XWoZYG$*I*ESj>!ElKs}G=VbW~Y3A1sN@|(6vTyG>zo}xr(WZ?HJD11pt=jhMRb`-^ zS;w2w8?*g8I_uU=U%LFE`DZXIr+$`9W{Xx zKYSmhUpOm~Gr{A7-Np0LHEFG5 zmp@;*{9*Rjr1y<`1faFS$y)GvH8i@VbhH^ zq<+lO`Stk7TBSRms=k~{eetJ6_R9KjcGU2M`P6SMTQ*{Op@Z<)8|PFlV%k@NML zv*9;h7)+RPbHfFmW$dT?CX1$<&K0}Nb9uwZMJH2k8hw1CzG-5L=dLsJD+882Jw5&Q ziTS*8rnP1)Q@X!yeQ&toql(*`O2Z9$YmBRnR0_W}WJoQ(v**|zjm3UCf6|zb$4P$- zQLGlYP~X2@>+Y-)iO=8H9GY=HUD@pO)h1O{sngSRj=ghspO|OrG&w!fcV~yG_O#^3 zzYZVDdK7j0+|24jPq_`M_jkxI``-~Kd&qFf_1ix_7d*2TtSoAu@FQtXm*>V#fnqx$ zaizY5kBg34RLt71s~&O5*F!zqtHWleboY~ciL=9fg}=@3a!QiAzmi9$Yez@LT*Iv{ zHUG~gh`jzTJ56s!Thj4qiLc_tH&h>9|Ke7mN!b6Xp5F|QZ}+V8F4UUzDWjve^Tl8w!kDq`vB;!C(rv;LG0&W^pwj11 zYSppjZRgus>`R2^*d?6$eWv}E!CBWUB{RdX9r)zgr{eQX#NzMdO+jfwTAve>U2j&- z|C%&&&$)^<+^I`rcx=*Su1)^5!LBNy#w@H#`PeT3{Zr>l&P?89Aa`Cef<3l7J$A-C zH3K$T@n`Onp60jTFb>c=b@0cO)?Ve)3upFJ-eR9MBV%6D-x=zcH~P%#>fpX?Jony= zjd3|KGt4(G_3U|hGa>Nb9Fd^lUW4=*x%-#SQMukcrS*K%d6)mZ_jKN$?LKO~G(U9< zS469B-T4J+_gKEX`?icnA!=g9kMbO!bM4=JxgTBr?w;^;qJ+x3o1M%T9X6+JJ^I%3 zS^ld}GxtW6o3Pxy9q#zh=+Qmvj}m2bwk&FRZusTpc9wN^ff0WW$A}2_*1tR;_hR=O z1DmymGd{g7KM}oAD&}$Orbb19ojR{C{%x)_*x{D^b4mQe(6vH!GB@Pg4qXknk*L3` z)|5MS-ilTMeJ!uFH#fe>hRN+}df+7bG3dH^p!E^P+5cjCShf8Zl=RNx@QZ3twExd} zc1DN%vUScIxmY)T={7egeH)menf`Hq>t}(mZGv1s?%vKX_HAi%HeAHw*{*))enWY- z#iJ0N2kLQ7_t(E{aBjLRSt#bU>Abqhg&kM!S04K}^UjKYH}6-r99JMu&_m%cJD84uP@$`zt7R?*Nb$T<;b-g)yiL(*iDvm6YZ`?K)FYclwD8 zWiy>wP0E!~5B|P#EljG4KVwxOIL}l3;*Xhn5_jHZo_Y0`r%cYGN$L^vL4~}w?Rr1N zQg8VmbJrI?G=K80QT9;b6bs8jmw;#1jLqV^>b`L|J<~n(XQ6z; zo|8?C!OtEaHS0B~EXyp(jTN*n`@yhrU+;&IwXY&f>J_fNsS;Y*C%58KnuJ}B1kZfO zy&E$BN?y^6_!JfT?%4qyTZJ+M9;5!E*O7+tRZ$=BO?G;A>EBt~jH6;Zk0ng0Nb^ox zJfrgIv-)C|i=S1uy=U7eY{ulOKkeAD6-Qr$v^{U5$Ej~G^W(18-wzei z|GsRgWoH^+pZo^*5B?9+j{Nh_l>1U^W+HR`LN#;wZ2RLj?@Zs`owoGReOsnuFNA+& zKlNMCB>wC~TI0(=`{e&iuN8df*>aYlu{Pqd;zg|X6d3T-t`7Ph$|GQ4O*`Bp)S?*^z&0@`M*-mk*?{3jQ zeO?DkDT~QE%$Qy(mDYD3ymDOK+!I{6!+G+q zyV)MXpSDF#;%G=a;4}05M1?eIJ|2CmNi$bF8W?r$y{Du$ub#`Y>BY}OxAt$jr?>M% z(vRE!Reo>%t+MBT)`D%TZ{Le zX*K4*YIW>i^}mY-`~3T#JM9V=?8&;pA=l>^@#!+ln@AhM zi-rFrZtfMDRF*&S?{eOXRbO|{xVYNb>fE$k_se@OrsuepiC)}zBY@||1pfJbTo=2y zY&EnF|JUKa?+07zryUPciYiO0f~#I7sq@>~%E{Nt>Fj&6JNfW|%pW>Q!fV#K8muU) z+>yHE;r4%bH>#g$DL(1?;pXht_0KD(yT42-_ZQuKW^1Izp^5vsZx)N~-MnG1@5ZUO zSEe=3;QVj-S;q0pf1PDr3k3o=Z2UN;thvj1-(064G$nn@yB~r=Mm7SEVg;98>&~8Z zf$7CF_2LhAnLqgbf4Jhu^+Jm$r@EVtaw*+7mmP6Kcv*+Qi*up( zwxv-?Uk)(5u~K~OpgP}Sh0n=8bG8Sq*LWxBZH4yS4jrOcdYa z<^0E4gXLOm0zDo*IeN~!@I?3`8LnSktj`ONZO$)uKN{o7!Lz=vD7^OV{nN#dzj$SR z;dA=Hqf(Lefk*NZ$A-m+jL)4BT>ag?EvGd2%uO+wH;)(e?RCr7H_hE3qY>h$_+f{_ zhxmfvGbfp3)EC|~N&m9$%nain>`(Hq3Wc8jxB2I!{Y!24^BlafGmK}h8B1&4oacq# z?M*L>&h-6a&6Hi@x^&Mj-WTsSUkompyFT$)T%`7)jWHJ=@ER?Qw^F-qQgb+TtzE3z z_dVf$haZ@2*Ef#toY!19$Ejj9qv@@=nWuFlHY|wypM5_^#^P%0W`S`iR*TV-oH_zU|HJ$nR zoM~D1AF7ORYVxyZSblEnwLfq9izDC+>77Yt8>J2mj7aT)XbBEmQtE=4Ef0_N1OTXm+N+wA*LyygzF1 zo7VK|JWM!vBs^vHg*i5_+w8^m<M8eo>WX*zLUwMN^yI4n$C2sWhke=)tO5nWoDzJHr}Z{*-=TZdm5MW?fv@#yGY6?`M&7IomG=D=S;3se0@?vgg?Q*{pHTy?quf z-*#e0j>M1V4(`C!rIG{ z6C{tcJ`MJ}=C9xX(R0h5`2BUYw{7QLHZ}a1Bz3J_(dwR{!Tm5|PzW02L|M+$+w5@;r$9MII z1ObJozPfK%R;#i7h-TUM_?@2Lr``MZo^Fo!77QRQerS!ggYZO6S$p;kUPl)EaWEpIoxz*0d!DcBshz z+wpQn&y$148h>7R&l_G`bV|Y3>q?2oE0wrO7Q45ZhzERDxfzt5`cK7w-KD1`j*~3x zRg#|hFIqO|jnw2B8r&x*UiaL$hW+${7?Z#a3l}OI9DD42qIm9u4t?K5pTj?<%zS!f zW$^JZHN(f2;TI-ZRG!)SXHNb3soQgSBKWVh7a8Z=*l=)Kzh3dxRiW!=Uc51(P;t(? z)X5(^rNhN9$G9ggx9K@7*JXQgvWY~y(FVDgCC7{;G}NU<*_J&u{G6)rF*thpd-+q| zJ{f+>a#nmjhv&&X4SM)b@Impz{OFl^@8nOn&vf1 zRGRCze|`OHef#q(GcRSUa8|#)we|X&9V(1vzda4M+z#qi>zpvbbCQZ(ochd3f4;D~ zf4Sq)J6B54G*pQBv7!7VJ=0JjF3*WAN3C8o8f^%Cc!P;^Hm|_>%vA|ir?T{S&+EJI zbNcs}D;{sZetCI$ThYtgb6Mo|c%?Zj?(Qlzv#gl=#7&s<Gt<&;rnt+@r&Db^xlgA?Jvwfq$^ZIbk>@v+A|d-i6+>ZtvxKSy+lqC3O)z$QAfzW zbB_Eq<80d*>e7yEW^QMu@8vvo(B|#ydIPf1XJ#IS6>TTLepii-YTcF(PD zy;5d1U-rz9zic=m=H~7M=aX^lp8YC$@p4so!^yzYs<-NCpP-j zWn4~se5B~6#D+VwC#tXCs58qiW6>g+H-8QIZ6{p0`FTNQFZ1d(!f#(r37^k-*sbCG z89RaKZ%sFj+ZuXXe%JwBb8{xh)dS)zQ0xqXgC z#r(pV>`xP<*kaYSz}#r6-EPhN}=w&cI(_pd_l|Ll6@%41jJOD3_M zbWl(HUGp`0-;S!9xXW8#MBm-se>!=V?HlIQb6!eSQq@g6u6{iGX-Q9&!ol0wi}sxR z{q1^0dfl65z2?7L*BswIY4*pwuywWbei?pLHVjfue_-=x_Syf-&!}XxeM>3X%zM7G z*Vb;&GWKWr|9jp%erfcgFtW{-FXzjbHvj(Q|7Yh-e3yCIPXBMj|84$@`$U=gjhQT+ z7VnpAxcF$L-mMD0gL14BZh!sNaQp0|RoOS289L|9GVV0XcAjA?^t2~vs@r_ydCij^ zSuvTfYQDZc{deGm**Ouq@}fn0OjkCQ=Gs2@TB#Dup~3R*EXT?M5JQBCtMND+qwAOc zvx|e8v{*p=YG((*zk44p3(^F0hm`b#eRo8%ukjo?J*_x1?BRRdw4IBwwZZ9u8OI&*i?fB#B|Z9`pYYU`-9j=Y z+T!M|bJ`0OUYS%f+wQt{^uBrF?p~Fm?E7~TU)U$vuCh%&u=%^!muW6%=G(H13-M&! z+{Wy*d5h(sVw4;r7ny??0TU~_=&o%h?A+~(iviWmFW%2hi1 z@yk!GDeBSOWx8{EdDABc{Jj|-pnFGncX)00zUJo-EOqT)O@H5Trk6c`_S#)51p+uU zSmgAWHoe@Mv$HZ^QMYRTH@D1!#ldTHrk;xG6k^Re?y%z9!JgV#89!!ODj%M<)6&-0 zSnBL`E-!P*r+1btovnL)oof88wYrgeB5rSde`#y>G@i{zCht(Yyfyn*qiJ)cl<8zm z-~CG>FDq@i^|U#~IHErH<;~ZXuLaHie&|zsvRbiTckTHL52IGIiRKuI*S=EL_3BSK zdqOAp)3%89aZ}#Q7Ta$-TKjkN{VgSN+oiVpXHB1y9e3-4sQA)-v!)4@Iz@jvF7)=p z&Wy8K|BcS1{nQRLzO?m83(MIl^E!`zU34ioHPv7e%gxQ9r}k7SJy($Pbz8M{FlseXL_khF@NyFpNC{WUjDOnljE1TGZmjB4Z~v&%yYe6 zSognX&y8=QJQAjC{^43(O;7C(?7U*3GslJ_^wY1?--;Pm+i!p%WCn`ei<`&6r`@>kasAP! zJ0#Bhtuf$pQ(>0Wtl0fGJ7VAODZ2W9&re;k*`ryUjaRbqqCD@BH$OLD_`0<1#B*8p zV73W0iQ;VK^_+I|G*{w}Kf6g|1@%N+n4Eth{eK#vb z3N}6Z{V+fA)TXyPO49U~`ONCu-{`&VIcuX?RqP4RQbnQiM6|NT3? zttRQ)8mH~gvlSH#74+-iJ@$TH4tIRt5&{_;a2?_i)RWBcE@4I<9l( zf3Db})3%*%{_F{-*BDmp{=NKySBUfKUH>9>mRMPBvEh9EZfVAZ5~0sxdTlGu+!D8;_FL-q3J0Bgcj(5wxeq6q>sMVb7k`w~yYu&*fcH128O*ueZ79F5saSLW z0?S1SQ|pt$8{M;bCZ+fX|9-VGcs=*f)^^2d=|HGsBjz7)j zV3_1rcf|z)KfWs$*e{#?WyasA>*_~%9)&tf+x?Ty&AC4>YH30_FPr?@uRDBiE$tOH zjaO%18#7n#*2WbTy1L)Cd@G!NNJ_>lD|q|7$>)N1nQbkPy%@+F^|(ANQ{3F|g3X?y z?A&8HSM}CNBpGj^D?fLo_ z7x}HZruD4&noX0_migiNSGTR3v8>hF>9ba#`)%Qw3*SbY9GbT5@r`&>Wnax{F1ap; zy=G00mdiaMFSu>fHhr12?#q8)SKj)$w>~3uiOm0B@>znNYPv5^$VcrA;MZOArTW&o zyT)55?c|M0SU7!4Z{W$Osz;G)!;9rTrB~E${?M@P)$DWIYP9y>ijLk?HF;ak)tcO! z=ahrq-Cwmt?}-7+l$UDlwgResW&fpYr=Gr2JLAt$4U4oThhGUbvCZ9;e8<`}A#%55 zT6w%k)&(xt=Awf|KXvrvY&6yWd|MHx6e1)Qu)HjEN9{JTY2M2xYJKr8p0Iea=yLvd z&5Q5!+f)hG?%vDkJLQW}=&D0E-*mVHcdcdBi&wR;k$JkIAoYuEl;-4JYo8}hkaXbt z^zmES=A)bcKc2Xp$L@corCpa@_u<{!k~Z=z`}h8PYJ|~GWt+*{xs8O*7_E5Ip#N(> zbMp<)Pd0(9j&Tn?#Ma(DZz`2|dQCR> z))nYSi0y1{7RWa{Fk?c)mK5HdSy!FUD)dQIFACe~B=P%rWkl-bx375bAF%d+d;F8` z{zp$;gA=B0nwNQ#T%B-)jY*Ej)PHo@FW5^UaFYekDP^9M>JPJ6YKI<5{M2F{kAo zy7o6cMJiR}+PYgBX2tG1L^;~0KU7%qvGr(@!@WsICn|cCpInu@A?09zMO@#3W4_S~ zTkRSfW~6TWWA@g%v%<2-a+7HMUmNjhAErrsaI=e+3tKI!HaYTLobH`zhgw*b?GG&K z&Z}7ax;^90FJ6VeUmAk>cLt(|BhKJbln@v@ov2 z;?yZ7wd7fAtrdj5QnOaFtv+Mc<-aiUxc%mh8;|b#cRXR5r013Ms{7PDF9&TRv*C73p{)>yt zwO_SV#-5Ln)nt(qWa?aAzTo`szXB7V@vv9=pZzrN*(u>RE8qEtqu1N>>o2XhS)^Y0 z{pcO>i`==2y)juQdb>ndF9;A@8a7$Y{_d2%o{+%fl4q4!dZo7>H{aa;`0h1cgGi3o zAJ#R0;M8m2i_Jdt@lTv|W7HW*j{0AsCa1siPFwR=hBs?{`(i^j_deGJZ!;uCa%1`R z!^;n?pKRxNws-#_fl4lR{kUV<^UbGUJHok6PtPFUvUQ#BtE4MO-hc4gJ89de)GHxU zjS@a{jiig8pLaibNYP{Z%W3TWM--NPkzNtKRg7=CR)3=Q^Tnl)t4_R4IyCXHd*G6~ z>?*_;T_cSNr2TlF!H_sFCf_ng$^(7Gw{c2(FRckll$w|{LFd^NGHS^ee&k9-#{%N?(>ZSGf_aZMHK z-9LlpjhFSKm<1wCdt=uv-~6LjtE@IiV*TV{w?uwn`wkiI^&+2 z?#FANdv{Grn<}@i`A^%=WgS9C?(cIvx0HQC<@rFVP97C$--4o&_SvhmWaW+q?^z#d z?x!cG5xLYzD_l>(s&d)3Z2c{(^EFo4NAjw6J=s-tQ_$4<%klo;UyD*UNKcw{DR9NT z*)w((h(?JPI^TI3@iQ^PWwGycw}m|W;w{*XI+01{~3+wOPL(%TIhL@BQKW$Hg-YH_ZA_X~Q?i zs&mET)fYD9Y5TzSq7eckqdT=n+MsmkZ( zJOA}h*U5}pbSB$>+w9x*&QdeI^DAdC&tIv&b^ERT3ruSl&NWMH$)*ybh7{l4UCp~nJeiP}rwdmpb)7IG+cJ=%T zwceP$OJ;ZWU-k7{@9y1H-4}L|dsg(`jZsct>fYY$`e%}mmH0F}^Xn?HOD@x|cZJsn zc2~`KAKCYRtBn-n`_m=G|9b^?m(NrzIxVGRz3Aamez(Q%v;AL8H{LIsue#`^ zQ3ejHRx~*&xGN~EXZ4w_{&3|h?uW~kKK!z9Zvlr^@AB8C4eKv6O}r?0E@@Sw!3h`E z^qKq*kDL^|I;r9CLAExyktLh7*cj>m4g&GzM@w)z6ah>V-n>nj& zdp}j$JZ!tP;=$wATu(_4<4bR5C$D%hYtR2>%`(m_`SkKWeEiuzVb5Lt6Q}hB9=3KZ zsxX|{w9?}qpJeF_VZjN7Av>=9V)*@C{?Lwj=MSEp&^AL@dV)rrc`=F7S6hM{uZU>w*13j34i& z%uY?8_VVZ)pF4}o{jUhQH~dbo>swjOe^}eX{!@37U4D^$$oeSJ^ZQLjp8E&|UMg&x zcXUo)$;=H4+NYElUrH65^#(F`ft|!H}4u`nRzdWyF5~v*-z+scXB686_ z!6CE^+}BlDuDGDXZn>?XYQK|%;sSw+0~{KQ>JK!mdLzQb#n|fL=jsPJhCD+>E zPWK``KTpS-~WEo(5pU_D1ixAE;dsqeG?g}oHHc%MtMG#1>8uu)>sc{I<~uk5{- z|Mb{jDe~RyvLYAlGh9OJz!pEy6YS{kZ@-w~;^4qwW0O+;hFu2PVGr^I7MS@@IzL&R zKPIJok2U8P7A?JpDPKR%<=uQQa*efS221kmB;RyCG)iP{kym=RP+3Q z%@pa2+0#m5`nry^p74m7bpB`ernU1YN?*9u`bCAYL|RX6Y2xuo@f#}gm)!L&T>+Y5 z^nuqAMbl{A$W^MCcidr_v##B;xkazb zS8eeQ^MAkRUD~zfnTc}GGHGd^)i+a&(<4gHZ9D76xMtJ*ErDiY+heckblfs!e;u214x0UPna-DcPv$3OjcY$J@^TQy2h4u5L z*IW|r=rdK+eQ47ow@_oAy~o>IQ@$Qwd`^_9ytCnGj_XGCtVdU$&ue}o*f)Xsvw?!D z*v0DUk5;E1|9GwXz2X^LuGqNQ9ck~&ToTR{{n_$K;GFFJW^GTuO}@`eOx6mN{f*tS z<}mBlo5ROj#Qu z629nj!lUPBFJzxF+VefHJcR%IfjN!u6;{@jZ{g@Zw&MKq2X|I({;>W6o9z6P-JE-m zKkAvx{3$%Mms5H7;|GuCZ~S|JZO*&fvOAaiwSJskxM9nSw&~d{NtY&EH_WYFGb3)# zh0Gr+d*YT0g#EYU+-yGQz)NN8i3#71d|1DHah_uOnV*G;m)SWBq*S=_-vkEhwX0B_hniAbZ^XqmCxl+m3`+rHS-+Px?+3qL9+ub||R&74H zA?8+x*;}hc&hr^(Y<}3VWxJLJiwM*A?uPE&#(nc{^hU0}mh|@2(jS?1EL~4E8JweR zzRj^|cA4$8T2b?zM$lO|m-%)*YYiEH6urtR$(CrFUq3VT_6C>fk565E`r>N7rd97x z+2XoiJk$Adjx7wX{`j%_vA~}{*MB7c^J#JW-?`m=ZS%9NgU7bcp13|z|IF;4tbYIO z#H?jkB_7zlHsE9LJqi0i%0IFVEjGO4iqSbKalKsPoY?!GouBu)2QKHnvF9a&(4<9$ zPcImr_@^$k#-iel!lK8M7pl4^zT9pSS9l$iDygOL%gE zj+wCrZ+mofY4Gnt11+Av?0Y+-O5>f*uhSJQE@2KkAKkfYUFzE+1_qP;o-U3dvhIs~ z@4l+ocKXE|<*M*}e!(K;Tjs0Uca^?cly~`DM7fIC>$IA#!~51J9_@N6@#~lIg>!S- z)m}M!h1duM&AE^ekZ+qx!5?x8x@$LO1Nl>exAl z`>*<$0}bJ?Z*J+YcMCZR8d1$_Z&=)|ye`J7Tlx352eT9BZd@H;%Tu*jOy;P~W6fnO z;obVjxmUbd@wbopGZEn??vR7em6t7=u)5>X1EzR;b)Q@Hf?IEywC^?vXI*{e=wwrI z<%3H+r~B4*~heL_GV?HNs|)zYM8cmKYt{9B{zie^D-HyRbi5q-R3Tfnf`5i z{R-4#DfrJZBPGaX>M7ofPxs1sXuNGpZ_7D0Q-s@#D{`6Ia;0Xr$5&WXVmqf_zrq+c zd2z%(W6zUrW}oKWW)BZ{U*aZzjP+$vyOrd|Z|8MSh^I8nHe_pG)WdQ9d7trbzQa$Z zx))6}Y|z%*u<5#j&FeSEWR9-W<7KdyQQR=qW%0hn);hr{OfCEZ}HnLKl-H9z16nGL*~zhT{{(~@85Flo!E@0i92`f zSd?%y;mo}6(mv<+_Mec=-dI&^^Qv_E@tniq54Ku4Pqx)oP7Z$fN?|_qGEI4{#SuZcm)bX=QRVC7M;9DNW0})uBvjLF5^OWiwkY%nexaaCOGt$1Xh* z-?h`eYIiq$PX2hZojLGUfyC`^#}+g%UcIN@Xh-IWIj>JRUiq@+i%-*@s7`^4kFqQO zcj?Xjy|8QjjO6XnAO7}StazL$&y#VTbNA~f2Vc4VzVPbu`-d|NJ9M`CO`Di+(ve4gTR_CvA6*NfIS z0xkK==GnKU-)ZT&`P*Rm%}>qU`d(sX2c9k6f3QeHayGxbt6enz0rsVz<{ssb=X0); zv@h^8Kg3dQb9V!yTIoNY{8X9d(-Y4Yti2`_+Wq|S9aps_uS>VUb>zt2#q$D|>BRZb$F2NtfOxuYS{8?q1ib zc2wwN;`VnIGVd9uKTvp5RPHeU;N-#=o6{`r{|V>G6X}uM8+Z6XDBp~Kr=K5KmVcr8 zj8jFs)xk;2`Rx8?X=q7JU*x&pWzCG6ae{wk|IG>6!rp#hf2p=(@Ecc`W6Kq{1UN>& zxB7aCF~|CG$MRKEUEchA8&Uqi;to^Fp0oNqt=&(WLrsb&qtq97|;1P zGvixt3suW$|GU$mEfyZK{xXAWQ>}}$_oSCsvMcSYqNowuT}f-{R*M>NwoobK4%n#(%W_Y;$-gc6l_^sM2}7D@yhA_kItL!PW<@AeZ_k5Pa?X_ z8yw_S;%;>JR-aQ?5)><$Vb|5OAW37warTS9wEepS*dIG13jf`ajEMcL zpmT!x*o@+&^VbEGj_j#F&iF(#mi1@tdi|b9w_3cX>n(I>Wa5A4K0|eRj&jwBD=U`# z(Dv|3)y|zz&$sCA^S0?cKb9;#qG;sB7W(JYf%uMl7jHW6YV6#wqvG)4n~ah#SMI2> zl(gH){P5u-#czjLV+=ca^;Janz4Mz?Y9(~^&g9d^-tmUsPp__YdXT8_Az$@Zd*ju^ zCxZ{Kll*J=;kN0Ddml7&et-5C$u<>xTxB9K?PO)6i@d04>xK;*+SOvd3I26nJ?T`0 z;)J~%8jH@y{W135{@~C@XNw{&u73}g25hYG@Dq5o%%~vs&CSi}6V3DEcI@7L-{joi zxDd5Bzg+{ChI44J6e%$Eap*=}`*yPN&|QT|lP6C;JMreq;N=2BLQOF{jnt>#5qN3m zFLLp|dV|(ZaBp%)JPT9mEj82M#m~<@d~$N~^{`L(^7mC$xqh({dKC@sC#DE9_4W0g zn65wHcX7SM?EWVli?;tfIpOJ^@btO&6t5WB2B$?^oshX|&8u@<;prXU3pt$$2b?MPsZiOrd&s>~hs z$3|fH=e^x^rN!?O{KOVsT?z3PW25!ME7C$X8-yblnxz+5*Zet~C9*nz@2Ai1k43-N zMHD^xBrEz*Yu=3W$5j<B6Udo90o19-FxkbqJbXfcGom(ruU;TEY@?=j-@M?n% z-u^20f}+h86cvMPzWq&B+^!jaH;4n&^t{>aur2e;^!~L+x1$i>YWv{! zS5KYz{p{zbt>_gE{{855V|l*|a(&SH~Nxgl3| zqaj!P_t*XQeeRv*d;KKL)~N0&jqX-keLHNO^W3`4ALF)va@ZcW;>%f|h{s9>xgS*4 z+^QB?|7BhiV=vRjief3Zx=&qeHuxRNpIqM>%=vNh<5x=0+Xw zjz$9+nfCK_5e20yw>-)Ia3uI^R`P%U{KN+{@;B6+Welm>DZ6TlPJ>dZ_Cect#ggic zie0Q058wQGd85)X>}A}Y-uq(zIh+gf6l*_jR$eFh&A(ngIW5lNy`XY{=_mg!)#;ml zT>07mzbfRbC};r%Q)7;D)#@EfN=kV5C0cH2wvhcK_O$NvLg9*Kmv>ieP0Zc%H86fk zuYLdA+uM@w-^Yv6HlpLgh7sPsc6zs_xWHEmwV0E~&siG5s^VrI{f{o} z+xtlOy{C!RRPL9L436J4l+#W-ooB?j&SFoh@uTLwg@wPvT(lR}>(o8*@@PF!FWZ=7 ze7EJWr^<4NCq$ z;a*b3^6;dWtHJl%`XA0Vxz4ze&!W_@!7uh!32djQMSU>{`1;*EIr5bNU!w#m-81EKCO=UvV4m1*YY=BUz}$KDV}&M z&2-#b{o~;`cMUq9#qG--E&b$h^;WMyb%Jo1PJAn~;L3`%&&4zJ zo7YsPdLMYydE6lXXV#o@?T+(qU!6bRxu+4lP)hGjbbILRzC{Uh(=TpFi=3hpCUZ6A z`BY=;@Wg|YObfVIw|%$T%k@6{vubSMN=MTrb7H%GcAGs)*z%_G=6B(e6^g-Hsm6@% z*HzZs73yF9I<#r}bo+DXXEP=@zpGeYXL!)XxhhM^=F=3{ziqlM&G&V8Khbe>agwaD z*fN>tSloAq?=KibRG)>g1O@kQ<5iG57W8dSRJv;TIX4GO)64Vy-IVI)USO}?*LiHc z_VR}(neP3P{km3Qhc?TU;LW?6yj|;9I8tW!{u8|N_FdP6gAXrVjXSVLEj7@0;-9;T z%acHbfTa|p>z7}T3(MSZ&g%VQ{B^BB07r^rgIz>WaPY)QlRh1oo0qETHP;R?GznTq zsy3NZP*Bil+Edlrb*nzEJpR&Bdr|$IdDA9^Do*I-kmz-*sH!?8@>pTX^3|58nF0)SE z%WAiH{hMz0&2C#Ko_;#*T=6>f0C%p&;{uGkE}PCiyCK5p`evK9&>#L?e==rXoX4S5`;M$DhAlc3AIY*+uzNiB~q3{`m6PzwjsHpR`~l{=|=~_A5j` zSOrZZB1|`zU7VegT#){qp~f^_imP+y`vY@2E8d?i7YND_oTn|%p=-P6@N8%pZu-<9U%&PQX*L@t(1J9?N?tqqtNoz znjOXkuAMO_smdi@lx;n*PPgOEtO9|_bN(&{^hnv>S zF;)2Y$MZ-k%c78%2oXK$8OG!45xs9i#X1|X8&)*Yq+VO)iLhMGhK_afSR8Y zvH=@HBw4)T1m0T*KJR<{Q~Z|2Nvop&@m{;T7wb@M+wn^DSfHrMgUzvdN}D=qA5mz$o; zozax{x31ylVcDI+`pTEKZ~3w4{DEDb&4vXJ=NA|+JG}VM=^sTd@pES1<9-}APyAEa zk#lDQ9~nQ_{x~(5TV1@q{kwa8U&;D_BQy3GCVUdP(lN7}adpoOlNH9_{@F?WRa@7* z+(d4k>(SUlE&LBEvN-R(whxtBCnC|C_`>RA@fNLzzbDAAKNSaV&cu{{o>c2_LND-o z%wFrqKcAmcPCG35CgPKD-R+k>E4jrJAO2@cx;lmPMyZ(?=f&j@XY3bBJ0IWoGrr{L zn~D3APv4sQBj*d#mpMOH?{J&ZwrBdkDaR7*gM43l7_~p1{r~KtGx}8zZ_JSw%-))wjY&&)xUSH>e1ylta=R?^zFEzBi~k*Xm{#SizL6mFaR@|lsU za4m02!vA%_9JPxKFFiW<@Y77$9}l)pGw3k)+W+9shf>kSy;}|Dt-Q`L&yP)H%}s`* zd#*h?@w2<5cSp;~W~&F$H={2keRYeq=l^K+vQ_A*wBq*J%rVa13(|H-_bd}RGPCAm z&1A0vk$JkecJN&aKi_(FMgzA|>6_<_vLA%EOK<6jX7!f3lqwjyRqCsNMyhnP_kp{= zMRX)jc9dy${-hvC3E-B#Ph0b-r{fF-+oIi$U1FQ z(dG93!L!ai_gXJJyt6 z7QAxiJIl56{}|hA<~s#vZd`Loqq1ZEQzh5W3lAT$4_Lo}HF}zEdpcwN9LtStU#)!( zeR$RPW5YFJi9fNvI#QwE7474u?gh7Z88-F4h~0BXur$j!ET>6NTFX1;%o9g$l_*3SB?Q}-hH;;+f;KcuV`+E8-8 z#c{oDZ=s!^htagdOJC`^Wqr*Du_(e@eM4&+2OcIz=lF3wkMfhv59P}ppUcT!e6d^M z$kK`jZ#mB&unapjp-p>5PVSca-C}I}KA9B#v`|o8yXZtP`?3?cFYF5pio{R0N8JDQ z;_|YlUw<{hYhvA-9KKnaZcbD9=OrRE>9Xr$^8>Lq?riM8VpeZS^E>jg!=sS(P1m1? z4?h%i9=#zr`9atZ%PlM3wV5=FbBS~8+%>U+O>bVOLsQOA5eb>TJ9T;nm-lYCDOeY0 z6z{&}V~F9(9Zx?oKi_}E)m6dBjQQYCr-z9i(|b?WKHU{5HP3j54&SS0ZV{J;<;Is% zJ{L`HRxhgbkTZI3Z)WFvN2&VuCyzZ9V$X$x9*9rjuY5Yo)Rwg~Q>v)4+B4T>UPrKp zfuz8U?F~DepJ_R9uXCB_7_#PxU<`vI<9F-g|572Z6xtO(d6IHLJKe4A z$Jelj8yyvXcl=wY=yhOG=H~|yD>!Fe+~WWl|xzO(i> z*!L~HV|9?X+-O7PH6ES21#j9`msb^~eSZJq@2%*LU6)z3=7AIS24{ue9dX|>=9(|D z{Z+q{h1E;U{oN1WiiNr1Yi#A)RWcd$j;Prd^ja3(zMk>(l*N*YsSb75C3teb>!_{W z!Q=c$Y|oEZ87j9KCw~p-zSSUpJMCEEC(W)#+o}aM8>+8mnA>hwdvmxw_twJyEAl7S zoPB!Ock#V1Nm)@!er~bTIA?)p7PuOByDQvIyBlM??`V}o>zlk^Y-uFX066KYXuj};4|294+(R9I6%yR3BS6%+cd=7p*y!+zP<@|Q9 z|Eo>h=3SQI**k;+r|B@&D;Gv5b zS&w~Y|M0Md_l51FTo!BQ+tbb*oc~)k!7H-+Zne?_S&0UQVu?7pJKX+aMaMSD|4O>_ zhvSKEoaEuQx*mqhnL05R((3&3$0ZBbnEg22c%oKR`s-4G0FFEMOl*gH-`j1EKeO&Z z!e@Qw`lL+}Cc9fKN^|5N9h&D-D}6HE>*CkbOC`QI=|-dmGdEAztNBl+PR>?#sZ>oz zdGyqy|Lxv2&oxxb`JbzD?EKBHX|cPNe|#$8k=nu}_A%q;=3IRl&fK>0IE}vZ?EFXP z9NnFNp~?GdmDsI$A79-09;_3$Q?Bvrtp#_v{U5#LS}GtAAhtHzmc9NhkKO+=#zS$h zoB88)TQBat^*EtRepZNnf5V-pA0Bb*3Oo?$zW?0saAmU5zSm#G>TXE3eYbnlcX;*k z#206B&7HD(kLw%zFFb$1FeCb`c(&QPjbB58^xhmh(QoJGHFMjGFEIkgzWotV7rL~e z_G-+Utzt)yJF^{l`D6Vfwj@iVIY(~xrM0fkXE?KZ`Qz!P7lYhvp83dk3UB)H>ghE7 zM|=6J7S`<$tk=2E60UEa^E;8pE^twwMvKnbO#+eMt86W*ekfkQ8tnV$@{XTv3%@Sl-&l5?^$cklWL3? zm3d6#rCXPMJtR0~hq(Ni8~sZ((q+nYyKgSO?=<6yp=FhPn~vxHWoM0VH}zH}`>i|l zqwH1wj2|y+WV%oH8{YRj__=ho;&=1u0h_~E3w3i2R`0b+xO$EGhI(EPZ{bFZ=?_}k zwysi8(C~`Uo6;VB%2DD@%)=QKV%+B}lP_#%4%oj#K5Lp@_X&}8O?%}o`Q;zF_19CQ z;-`&}p7e&I$7V;qRXED5TzYVMrg=%-R@Ek%Q;DCx*mdm4aoO8;Uis7(p55EtHyG+N zU%bd^@O*KYg3J4<;=H%*8aeIHxo`J6y78}zpij!3X z%#cslT-f+ui=L6N7css*ZyN86zYkwNWvXnuE~Wi1WM0k{mt*43k}ib{2fjGEJ;2K& z&fBVuG4_|@j-MPQYoY^_BwfS&D}J#ZK7CvIr`F!ClePDS{O2{y-`xD;?Q{)rsm;&B z*t}R+$p5YLk}s#SO>)$BKQnci+;&w!1?5rEROakETo$EmHkFJx^8HIM~S9a)pd^w`KnNH_wdkERfdObp3ps z;-dv;Q$%kTiadGrp?gWPsk*+6d1L7P^-m7Iv#lt}dv#R(mj0XMqvF;tEnoP~tEy3O zX6sKmBr7`8;&U`-W6tsgJ8n47m)Xq4oqIzyDD7D*kB+F8pmge^GauKctUh`+aru%B zCv@Am)`|LW*3dqzzO?xJUEe2Zg86pWy7ez9X9V6nx@qZY%jx+GJ6+t(GpJqp}MLc9E4+F5lkw?BTuK7n5$ZEzCcwd^^o0-}<2YdK>TCez7n09-e=` zOy=>MZ}}CepLEXMJ~Qe1FA;y98Am?xuJoBd>BuZgq+aITYebtDt+6x(0{(&;#DClKdJkEebs(Za;-_{dj(;?#Fyr$J?_pw zYwN$ybH3SDSH+pVyDML2EmPhWY17zedS>?gGq`{Al%5^G#l= zMwhyG{97iGGRb6}aQn#zPu^Ino1dzgZQhe~c#`Fk9DB#L(zh>d`FQq-D;wtqF)5S$ zrtRmX(|?6syY<@e%ffH(f*n4Y1s<7Id~;)^@Jj1#!dG_)bLP$#E-PT({7hfvuE4<# z#lI_`Jy!_dQL~m!mm}<;#nw;pjtdqn5SX147V=^Jrw}e~ZcR=J!U_1^UU5pKCLQwrB^%U+^=L655Knt&TN;LpMAP( z+x81f>sYVt)G~bYa-zwH^QoSnvffS5scp7u|M+Re`4!^w{?{6(>ioVq`{Vk)=lLR6 z-f-EoyNl)X>}buk`&g0}aHw5=-IHhSc8`|YU5{V*`2Oo}ZI$|;PjnppQvaEmP379Z zs~g|FH=X{;YpvLoHGB5mJbnJOM)!UHlk%T_Eze$YdzbLOD#4jQ!j{H5DKBbHyrlcK zBDJ;mCi^wP_)R@*v2u%}Vv=iI%&OIDt*5@5>9SYXQ{ta#+w$G!CEcZ5shdAsE;p9^ zd)9N~ENN%o&yIPo|0$LC*G)YqTK3_@pJtxd<`bmqey;iPMK(>}dvc5S&zzefPM5BG z%0#Oe{dy5Cd3XQkt-;6QGJW%es^&FZL~-@%l>oc|GgsZ*mJ=%8kzzN8j9WUC*;`N<_HJ9yfg% zA*Edg?sH6B+4MK%_{}>ll-XwfeEXRvM_n^*e&30Bb#wd23kUe`eyUP^WM8NxJke#k zvYY;Ty%kZ)RVSAJ5%XNA@o3Jfr{ztz&X}yX3=314TaVDRNen0uPNrx(ToyxzbnP1*r?)-W9UgC_;5`Aam z3(st~_FQjrr23Kj9-B0k(BkcrcYWUTp;Gx+LqN^s>7V+_ec_G@_|c3m(2z`e_v#F)yri)eiGl>fiDn z-2Pg9A$rxtWx>T-KVMsHD(sDTC99-hGKb;5#=6zYJ+>DP{PWGescHRfS!e9V_c6y` z)wXkTt?yfZw10e}oyv=OK1HXpNULCnftUPK+4W!USIu=6d1Pj|m_;h+PZ$-&a|Go*GwB{&)@PzX>s_w!&mlo zy9T!jJ}y^vi$C+}=3~i;TYSRop2noA?f4kG$Nr&b5_5{_m9Dl1Fg)POvQBdG{)f{J z*4$hp-#+>Hrz3kfp7~Y^yqRZL5N zm)B+c+<;kL*6I6mot(OI1+|A?BbR?Gdg3E^aOx^S*z+Dc^^4vz6Spi@q@q1 zgIT97LpXdzPX)7>Pni>U_H%yi`Ni+mHXB*a{C4oTgl%4{h6I;o(F=w4r^O#;c3Web{7I^|;W@=FWe^MtMQNh|61IA-_TFml%IddZMm@w|+@jr9^t z*XLY}@7f+KvW0b_`K5hz99GE;ov~7nZAu#^TZ@0J_#bztyk5V`_N!s~=Mafx&UeaD z&$^dtOiy0)*#<$qb$*%qnoi%-W)C>>y({+a{$cfV-Td7h0mq&e?eOggNqsky*+<@d z4!7ak6~Ue^jz`raW>!u3p>=)ot|!);{x*NuJE`vbq>EdmHQ@1zPvkce=_r`=?A=i*8F*uaIHRW;+{h_honnVvMvcY zt=ZR8@i0!VauvVqvbG5`Umw2^eqZfMz`VHGX5tXjSGzx$W$kmbyXb_*6=AKi5A%Gt z_XhvIY#IAPWl@yQ!@B9q)HG+$=>BtudyeI7%|IsCp2w+*N>;~Y8}_epeYVkA=Jc84 z_BL&+5}#^!CES$Ry1(9+#iV`Z{%6%c)q_jVmVfbz5&qUaVP~96O!(yg_KcJGR>yB> zxjS`3!E{a0q*Z~6&y38sW`X=^FUk1vz?V-#{=Og2iTL}^_D!|_kuBCdU2?I?V-2D3 z(DToN_IMucI=@ETKkTE6>FnMcT`C$gB|4`}FX}YgyvN6Lb~~u?_FshYIa5li<$je2F@AEoHQmS8Q@J>w%iqSn zbFa8c$w5)uFaNVP@3yg(TD;%J?3OIZb=ryxj1$bB7*=0s=8^a!^qYUV;p?Z3TWTNW zo)cMZQf}3G@{#gN!`h7=IpX~9uOv=7a!qaX_AAkbm7Y3cH&a)e-An6lUJ@7dxzh8G zn7sVz8XXB9w(nc7zEU=fwc&|+duHvW<5^ohPWk)Kl{&5>`MAaKGnS?aWS zyrlo!gu2)(wcQtxMjsGeJi>S z`F;xGuA8?{jo;3w@8P6<(=VlzUVb7O-@EYE)Qjll7}Uj0~($i{d1zu9G~51 znDHt6&Sj%%Z@$RCsE*IKyM1BqL)k^1w|}r^U)B={`^$FAEWcs8ZTnnn|K#)b=eFHV z&%Ck7cA?+Nd)xHp?vT!Vw(OVb39G`UGjn8u%JbdRIhWS1uG0Bcr22E0L)7+cZbGG>q5@Q1x*;#Y&6 zDU3fwo5L6nh^#kdJ?^pYx`Ng(51sGI>?cp{I&dy_x4{qBi|b;unRMB>^xvd^>?%#M zT(f1`iHU}ydsNA&#w`+^yQnkynMOQ@`MU)+J?A~RV)DU#&A8+)>)v@h|V%s;&aCeEPhmKE^vPZUs$Bfr}J_XCSQr_@;SKW^^J)d_TtA|{>^#gQ}*uWVN-9_ zim&#nYnQeixX;~K@2BN>bLQ*ZHBmnVmmlT%b@JZai{j6dxw@7e?d4q&w3qAmGXJE2 zOGc`JYW9#;FJ6vdJA=rTJL+b z@ZbC3H~DGT`R5zuK4UxC{3_}5D*qc%5>Agbtex3xyvq_q(zolT{`+;enprNP1(KpTa zKRMTh&f2x@^Pe>$QCo6OKC65zX;Nw`%DneS**$g{Gq;NtLC0q>`fu2GqyLff>X~~g zX16HidAoM2e4VyqD%){MH&3}Yrs=vrp1w;vHOF+#aS z!#CzBRyD5S-Sh2Rh>U68^0H?+zxGZ(w|Bew;oJX&ljW)=9q8M>sql}%G5_0&iCv$6 zq#R?{i7Angzi(qV=a<~QueSov*R(vBlRov%Mtj@c`-Y_t6NRke&hyXjd;U`LH3#RU z*njt5&!6D77F4#xb1?>HrHNMwYF*2LBG2CS zs_Md%cI0Mo9k0H+;6zxf+;`h^%A9PwRP9ckeOqPp=o`no7d9=6mm76xpHo}+)VF7* z!lMN@^*{V7Vt0<8=kf29c}3d6Fr(@%$sb-koHB#yJUmEV~pZ<^SoO`btrGJ+7EQ2WhPf*&mGO zZ2c_|Fz4JXMg7gs*SOp)owL03|G^&V8us1xyC#b*}`)pqQGs?Ux^Z;mKyubA;kZ&NY%OzWqnoaXP9mYtJz+I%op|J|P(#@|2O zobvs~yqA+KE$>uuEiKg$o9O3J(eOh2&67Ek8hS&sgjK%0C=EPvl`C~_b)jL$*M9YN zdmO)r$2BdE>Iu1jpkQ^&is_fz&*)pJ1w8p@#pLXg|3GJA#P>~ZDRPe{FS-82XW`<& z)z_}9$auIT@&$kYF>k3qVUs_&-`jL84AgX$?`b&VFJ4)`xh3yO&cB{Q`E%-<7fdkO zm{nQf5O0=R6?|X6`DMJ`agK2M#3MT={h#C4UgMPocmktczY5RUR{8D_N(-X=U?l&Z~XScJB;R zVrFZ!JQj*7P)Sugy_`-l#>$G zHCxI5fnV83p{e?q%EyB{mUnEaTFAeF>u{*rEG2FGeG`{Pm-f_^OD+DT{vdhF&iRX9 z6rGaEQPs;T_eiWYt4BhPg6?3=myWzUvU}t@bFPEQg;^~9JZ=(M4W=cN4n|Q;v z)_Y??zjCptRp_BfI_=^QLzy{0_CI+ju4Y_%$YBwau1B13Oy#FDHks8dzvW^_-*ym8TbK*o6?$4n+nw4f?l&L`s72gdK-RR?EhOb+lC z<2va6>s5O6#Egx5L+>vN>Wn8|xRPuZhz)bjxXdA|{f&DdKM0q%3yrLwPr4c56)f zQXZ!iXV~@T_Cgndp!Jh@Ir~LZSHy5XE{dOi&3kS1mPHb?Hr0kFiJkY0c5(jX`ZnY0 z4pmh?Lwl1>$)z3oPb#ezI_q-0n^JY@obKbW^TLy*mix|G;Ib#lNa{&tQP++Vcm4AM zT6Y3VLgl{~i@yCN^WATMiB9RKfG<@>Rxj^9n~ z%0Kn));VcLL6YW)cBawgOLx7r2#%BTJZtD(v9ENCMNa4Cu*8kker|@=rCR6zU)tBj zXMQgA^KOs%?9Nj=y);{<9-h9)Gx2@hGJ)l9U#$PKK5X}T#RZB5t}Ii2uzuA0Dyl7c zbff6yQt_h)o*vTqly=lj^nc*dvs-MZ%Pk8j(|v1u^ze_Xr8k=%tkX~4vntNcZF15A zzRG#O*UfI6ZWz1$hx@J7k3ydHpK1wOr+?|$zTjW>M{T_I@Aky5yW8y_Ioo^Q>$E#Y z@}hHGJ4@;!r@T1c>R9%%>tvkQ^xbnWWO1!O&oAjuzqC9fXqTXB_kNGdt~#b}@on?Jg@XzqdpCzC2UBCd zg(t@@`xUE?%8rpiU|b&OEPV`EPl1^c5+1I6AQ1df15w9TeSVyi}g$@Ydax* z=J~x1Lg)Xi?-F{M;p*%Fh6`kr7a0C3`ct%ZWhO@kM+S!mi;3I%zkHza2osi5mP}HM k^`GlU%$^4^;XkA5sR;*Td>JP&FfcH9y85}Sb4q9e0M>enD*ylh diff --git a/doc/images/qtcreator-project-kits.png b/doc/images/qtcreator-project-kits.png index d8f5a69c4ebc60804cbb55373ac55b079c7ae44f..0a3eb9964bc1c1cc20f869698e0135b1d7d16c7f 100644 GIT binary patch literal 30590 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 literal 27758 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 Date: Fri, 2 Dec 2016 16:53:59 +0100 Subject: [PATCH 11/27] Doc: Update Valgrind screenshots The icons have changed. Change-Id: I93150735a15228a9a21bd5586b5a633ca7f94fbc Reviewed-by: Eike Ziller --- doc/images/qtcreator-valgrind-callgrind.png | Bin 5250 -> 5148 bytes doc/images/qtcreator-valgrind-memcheck.png | Bin 2487 -> 2345 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/images/qtcreator-valgrind-callgrind.png b/doc/images/qtcreator-valgrind-callgrind.png index 14781917831978adec9d645d4020ba6c9ffe256c..34396a566331cd0d57c5793e7c712d653dcfb08a 100755 GIT binary patch literal 5148 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 literal 5250 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 diff --git a/doc/images/qtcreator-valgrind-memcheck.png b/doc/images/qtcreator-valgrind-memcheck.png index 3054d4ffbe609c987d28b10092f3faf892ce5d9b..8bcbcbc404b044e5ae97feb6afe39163eaca754b 100644 GIT binary patch delta 2235 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 Date: Tue, 6 Dec 2016 10:51:26 +0100 Subject: [PATCH 12/27] Doc: Update info on Beautifier options Clang Format options differ somewhat from the Artistic Style and Uncrustify options. Also, the "Format entire file if no text was selected" is enabled by default and also applies to Uncrustify. Change-Id: I19d6badbd71275a185894e8c5dff96826d378afb Reviewed-by: Lorenz Haas Reviewed-by: Leena Miettinen --- doc/src/editors/creator-beautifier.qdoc | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/doc/src/editors/creator-beautifier.qdoc b/doc/src/editors/creator-beautifier.qdoc index 1ac074ce246..308aaf40a80 100644 --- a/doc/src/editors/creator-beautifier.qdoc +++ b/doc/src/editors/creator-beautifier.qdoc @@ -106,24 +106,37 @@ \li In the \uicontrol Options group, select the configuration file that defines the style to use in the source files. If you select several - options, they are applied from top down. + options, they are applied from top down. The available options + depend on the tool. \list \li Select the \uicontrol {Use file defined in project files} option to use the configuration file defined in the qmake DISTFILES variable as the configuration file for the - selected tool. + selected tool. This option is available for Artistic Style + and Uncrustify. \li Select the \uicontrol {Use file in $HOME} option to use the specified file in the user's home directory as the - configuration file for the selected tool. + configuration file for the selected tool. This option is + available for Artistic Style and Uncrustify. + + \li For Clang Format, you can use a predefined style, by + selecting the \uicontrol {Use predefined style} radio + button, and then selecting the style to use from the list of + available styles. + + Select \uicontrol File to load the style configuration from + the \c .clang-format or \c _clang-format file located in the + same directory as the source file or in one of its parent + directories. \li Select the \uicontrol {Use customized style} option, and then \uicontrol Add to define your own style. Define code formatting in the - \uicontrol {Edit Configuration} dialog. It provides syntax + \uicontrol {Add Configuration} dialog. It provides syntax highlighting, auto-completion, and context-sensitive help. For these features, you must have the tool installed. @@ -143,8 +156,7 @@ In addition to the \uicontrol {Format Current File} command, ClangFormat and Uncrustify provide the \uicontrol {Format Selected Text} command. If you - select it when no text is selected, nothing happens. To format the entire - file in this case when using Clang, select the - \uicontrol {Format entire file if no text was selected} check box in the - \uicontrol {Clang Format} options. + select it when no text is selected, the whole file is formatted by default. + To disable this behavior, deselect the + \uicontrol {Format entire file if no text was selected} check box. */ From edc55eb7dfc12b30b06ef70662fd89e26e5e8441 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 6 Dec 2016 15:59:45 +0100 Subject: [PATCH 13/27] UnitTest: Fix compile with gcc 4.8 Change-Id: Id620b803bfff7b677d7552c1a7e9aba78e17802f Reviewed-by: Nikolai Kosjar --- ...angsupportivetranslationunitinitializertest.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/unit/unittest/clangsupportivetranslationunitinitializertest.cpp b/tests/unit/unittest/clangsupportivetranslationunitinitializertest.cpp index dcb970e4100..3c75c20c6f6 100644 --- a/tests/unit/unittest/clangsupportivetranslationunitinitializertest.cpp +++ b/tests/unit/unittest/clangsupportivetranslationunitinitializertest.cpp @@ -122,14 +122,14 @@ protected: protected: Data d; - Utf8String &filePath{d.filePath}; - Utf8String &projectPartId{d.projectPartId}; + Utf8String &filePath = d.filePath; + Utf8String &projectPartId = d.projectPartId; - ProjectParts projects{d.projects}; - Document &document{d.document}; - Documents &documents{d.documents}; - Jobs &jobs{d.jobs}; - ClangBackEnd::SupportiveTranslationUnitInitializer &initializer{*d.initializer}; + ProjectParts projects = d.projects; + Document &document = d.document; + Documents &documents = d.documents; + Jobs &jobs = d.jobs; + ClangBackEnd::SupportiveTranslationUnitInitializer &initializer = *d.initializer; }; TEST_F(SupportiveTranslationUnitInitializer, HasInitiallyNotInitializedState) From d98d9025b8a0fd842ce5ee4d157f4e58577f4458 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 6 Dec 2016 15:39:05 +0100 Subject: [PATCH 14/27] Debugger: Fix environment passing with LLDB Change-Id: Ic51a5ee1b9ef69b60279f045175be6d59b53582b Reviewed-by: Filipe Azevedo Reviewed-by: Eike Ziller --- share/qtcreator/debugger/lldbbridge.py | 14 +++----------- src/plugins/debugger/lldb/lldbengine.cpp | 20 +++++--------------- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index bf3dae2f2db..8bd31a2f68e 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -789,10 +789,9 @@ class Dumper(DumperBase): self.breakOnMain_ = args.get('breakonmain', 0) self.useTerminal_ = args.get('useterminal', 0) self.processArgs_ = args.get('processargs', []) - self.dyldImageSuffix = args.get('dyldimagesuffix', '') - self.dyldLibraryPath = args.get('dyldlibrarypath', '') - self.dyldFrameworkPath = args.get('dyldframeworkpath', '') self.processArgs_ = list(map(lambda x: self.hexdecode(x), self.processArgs_)) + self.environment_ = args.get('environment', []) + self.environment_ = list(map(lambda x: self.hexdecode(x), self.environment_)) self.attachPid_ = args.get('attachpid', 0) self.sysRoot_ = args.get('sysroot', '') self.remoteChannel_ = args.get('remotechannel', '') @@ -883,14 +882,7 @@ class Dumper(DumperBase): else: launchInfo = lldb.SBLaunchInfo(self.processArgs_) launchInfo.SetWorkingDirectory(self.workingDirectory_) - environmentList = [key + '=' + value for key,value in os.environ.items()] - if self.dyldImageSuffix: - environmentList.append('DYLD_IMAGE_SUFFIX=' + self.dyldImageSuffix) - if self.dyldLibraryPath: - environmentList.append('DYLD_LIBRARY_PATH=' + self.dyldLibraryPath) - if self.dyldFrameworkPath: - environmentList.append('DYLD_FRAMEWORK_PATH=' + self.dyldFrameworkPath) - launchInfo.SetEnvironmentEntries(environmentList, False) + launchInfo.SetEnvironmentEntries(self.environment_, False) if self.breakOnMain_: self.createBreakpointAtMain() self.process = self.target.Launch(launchInfo, error) diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 00830be482c..a669515c3bb 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -301,17 +301,6 @@ void LldbEngine::startLldbStage2() void LldbEngine::setupInferior() { - Environment sysEnv = Environment::systemEnvironment(); - Environment runEnv = runParameters().inferior.environment; - foreach (const EnvironmentItem &item, sysEnv.diff(runEnv)) { - DebuggerCommand cmd("executeDebuggerCommand"); - if (item.unset) - cmd.arg("command", "settings remove target.env-vars " + item.name); - else - cmd.arg("command", "settings set target.env-vars '" + item.name + '=' + item.value + '\''); - runCommand(cmd); - } - const QString path = stringSetting(ExtraDumperFile); if (!path.isEmpty() && QFileInfo(path).isReadable()) { DebuggerCommand cmd("addDumperModule"); @@ -345,12 +334,13 @@ void LldbEngine::setupInferior() cmd2.arg("useterminal", rp.useTerminal); cmd2.arg("startmode", rp.startMode); cmd2.arg("nativemixed", isNativeMixedActive()); - - cmd2.arg("dyldimagesuffix", rp.inferior.environment.value("DYLD_IMAGE_SUFFIX")); - cmd2.arg("dyldframeworkpath", rp.inferior.environment.value("DYLD_LIBRARY_PATH")); - cmd2.arg("dyldlibrarypath", rp.inferior.environment.value("DYLD_FRAMEWORK_PATH")); cmd2.arg("workingdirectory", rp.inferior.workingDirectory); + QJsonArray env; + foreach (const QString &item, rp.inferior.environment.toStringList()) + env.append(toHex(item)); + cmd2.arg("environment", env); + QJsonArray processArgs; foreach (const QString &arg, args.toUnixArgs()) processArgs.append(QLatin1String(arg.toUtf8().toHex())); From f1a05dfb35eaf8a24b67d8b018b957aba12a8c4e Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 6 Dec 2016 16:06:08 +0100 Subject: [PATCH 15/27] Debugger: Suppress putting full environment contents into logs People are known to put things like passwords into environment variables, and we pass the environment hexencoded to the debugged process, so it might be overlooked when logs passed around. Better not have the data in the log to start with. Change-Id: If93a42a291b8b62c38d01e606cc0e49b8f2e3e95 Reviewed-by: Filipe Azevedo Reviewed-by: Eike Ziller --- src/plugins/debugger/lldb/lldbengine.cpp | 8 +++++++- src/plugins/debugger/lldb/lldbengine.h | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index a669515c3bb..1a8593686bd 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -61,6 +61,7 @@ #include #include #include +#include using namespace Core; using namespace Utils; @@ -125,7 +126,10 @@ void LldbEngine::runCommand(const DebuggerCommand &cmd) command.arg("token", tok); QString token = QString::number(tok); QString function = command.function + "(" + command.argsToPython() + ")"; - showMessage(token + function + '\n', LogInput); + QString msg = token + function + '\n'; + if (cmd.flags == LldbEngine::Silent) + msg.replace(QRegularExpression("\"environment\":.[^]]*."), ""); + showMessage(msg, LogInput); m_commandForToken[currentToken()] = command; m_lldbProc.write("script theDumper." + function.toUtf8() + "\n"); } @@ -392,6 +396,8 @@ void LldbEngine::setupInferior() notifyInferiorSetupFailed(); } }; + + cmd2.flags = LldbEngine::Silent; runCommand(cmd2); } diff --git a/src/plugins/debugger/lldb/lldbengine.h b/src/plugins/debugger/lldb/lldbengine.h index c3aca9df412..3cc52f5ea34 100644 --- a/src/plugins/debugger/lldb/lldbengine.h +++ b/src/plugins/debugger/lldb/lldbengine.h @@ -61,6 +61,12 @@ public: explicit LldbEngine(const DebuggerRunParameters &runParameters); ~LldbEngine() override; + enum LldbCommandFlag { + NoFlags = 0, + // Do not echo to log. + Silent = 1 + }; + signals: void outputReady(const QString &data); From ad04908a521977f1f214c370d67de32c721b9913 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 7 Dec 2016 10:47:30 +0200 Subject: [PATCH 16/27] Debugger: Remove shadow variable Change-Id: Ia2e8ad88429a682f8569070eb8c12544f929d2a2 Reviewed-by: hjk --- src/plugins/debugger/watchhandler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 33a8cc7d58c..b5652e17829 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -734,10 +734,8 @@ static QString formattedValue(const WatchItem *item) if (!isPointerType(item->type) && !item->isVTablePointer()) { bool ok = false; qulonglong integer = item->value.toULongLong(&ok, 0); - if (ok) { - const int format = itemFormat(item); + if (ok) return reformatInteger(integer, format, item->size, false); - } } if (item->elided) { From 52b14f24f171ee3f393ffa076771e4e04dfc838b Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 7 Dec 2016 11:20:37 +0200 Subject: [PATCH 17/27] Add API 25 to known APIs Change-Id: Ia06bd8638c8939918383b8274f06fc73d9c86122 Reviewed-by: Tobias Hunger --- src/plugins/android/androidmanager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index a137338cbcc..a91a7404aad 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -285,6 +285,8 @@ QString AndroidManager::androidNameForApiLevel(int x) return QLatin1String("Android 6.0"); case 24: return QLatin1String("Android 7.0"); + case 25: + return QLatin1String("Android 7.1"); default: return tr("Unknown Android version. API Level: %1").arg(QString::number(x)); } From 2497f5ea1dd0bc1e1bc37164f2e4c49401485d69 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 15 Nov 2016 14:27:56 +0100 Subject: [PATCH 18/27] Debugger: Remove unused createBitfieldValue function Change-Id: Ie439d9cd551c33e9c5db6c16e8d221d2c75a7218 Reviewed-by: Orgad Shaneh --- share/qtcreator/debugger/dumper.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index cfeb8f652a8..390be8953df 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -3499,20 +3499,6 @@ class DumperBase: val.type = self.createReferenceType(targetType) return val - def createBitfieldValue(self, targetType, bitsize): - if not isinstance(targetType, self.Type): - error('Expected type in createBitfieldValue(), got %s' - % type(targetType)) - targetTypeId = targetType.typeId - typeId = '%s:%d' % (targetTypeId, bitsize) - tdata = self.TypeData(self) - tdata.name = '%s : %d' % (targetType.name, bitsize) - tdata.typeId = typeId - tdata.code = TypeCodeArray - tdata.ltarget = targetType - self.registerType(typeId, tdata) - return self.Type(self, typeId) - def createPointerType(self, targetType): if not isinstance(targetType, self.Type): error('Expected type in createPointerType(), got %s' From f78dd2be6402bc075cda592f36bedd2b8f7c39df Mon Sep 17 00:00:00 2001 From: Marco Benelli Date: Fri, 2 Dec 2016 12:31:37 +0100 Subject: [PATCH 19/27] QmlJs: disambiguate help lookup The help system used to be confused by types from QtControls2, since they have often the same name and version as the ones in QtControls. This patch resolve the issue by looking for a number in the module name, and then using the url found as helpId. Task-number: QTCREATORBUG-16851 Change-Id: I48196d90b0fea5edf50751900864a39075894866 Reviewed-by: Eike Ziller Reviewed-by: Erik Verbruggen --- src/plugins/qmljseditor/qmljshoverhandler.cpp | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmljseditor/qmljshoverhandler.cpp b/src/plugins/qmljseditor/qmljshoverhandler.cpp index c83caef54d7..a767d6713ba 100644 --- a/src/plugins/qmljseditor/qmljshoverhandler.cpp +++ b/src/plugins/qmljseditor/qmljshoverhandler.cpp @@ -29,6 +29,7 @@ #include "qmljseditordocument.h" #include "qmlexpressionundercursor.h" +#include #include #include #include @@ -49,6 +50,8 @@ #include #include #include +#include +#include using namespace Core; using namespace QmlJS; @@ -143,30 +146,57 @@ bool QmlJSHoverHandler::setQmlTypeHelp(const ScopeChain &scopeChain, const Docum const ObjectValue *value, const QStringList &qName) { QString moduleName = getModuleName(scopeChain, qmlDocument, value); + + QMap urlMap; + QString helpId; do { QStringList helpIdPieces(qName); helpIdPieces.prepend(moduleName); helpIdPieces.prepend(QLatin1String("QML")); helpId = helpIdPieces.join(QLatin1Char('.')); - if (!HelpManager::linksForIdentifier(helpId).isEmpty()) + urlMap = HelpManager::linksForIdentifier(helpId); + if (!urlMap.isEmpty()) break; if (helpIdPieces.size() > 3) { QString lm = helpIdPieces.value(2); helpIdPieces.removeAt(2); helpId = helpIdPieces.join(QLatin1Char('.')); - if (!HelpManager::linksForIdentifier(helpId).isEmpty()) + urlMap = HelpManager::linksForIdentifier(helpId); + if (!urlMap.isEmpty()) break; helpIdPieces.replace(1, lm); - if (!HelpManager::linksForIdentifier(helpId).isEmpty()) + urlMap = HelpManager::linksForIdentifier(helpId); + if (!urlMap.isEmpty()) break; } helpIdPieces.removeAt(1); helpId = helpIdPieces.join(QLatin1Char('.')); - if (!HelpManager::linksForIdentifier(helpId).isEmpty()) + urlMap = HelpManager::linksForIdentifier(helpId); + if (!urlMap.isEmpty()) break; return false; } while (0); + + // Check if the module name contains a major version. + QRegularExpression version("^([^\\d]*)(\\d+)\\.*\\d*$"); + QRegularExpressionMatch m = version.match(moduleName); + if (m.hasMatch()) { + QMap filteredUrlMap; + QStringRef maj = m.capturedRef(2); + for (auto x = urlMap.begin(); x != urlMap.end(); ++x) { + QString urlModuleName = x.value().path().split('/')[1]; + if (urlModuleName.contains(maj)) + filteredUrlMap.insert(x.key(), x.value()); + } + if (!filteredUrlMap.isEmpty()) { + // Use the url as helpId, to disambiguate different versions + helpId = filteredUrlMap.first().toString(); + const HelpItem helpItem(helpId, qName.join(QLatin1Char('.')), HelpItem::QmlComponent, filteredUrlMap); + setLastHelpItemIdentified(helpItem); + return true; + } + } setLastHelpItemIdentified(HelpItem(helpId, qName.join(QLatin1Char('.')), HelpItem::QmlComponent)); return true; } From 572396773beb2b21bcfeea5165221170ea033c0c Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 7 Dec 2016 11:12:44 +0100 Subject: [PATCH 20/27] ios: Fix the default device icons In 4.2 the IDevice constructors need to set the device icon, and I missed a few constructors. This should fix it. This patch will not apply to master, and should be skipped when merging. Change-Id: I66cf529dfe539a90a753dd15e8f069e1f11e8176 Reviewed-by: Eike Ziller --- src/plugins/ios/iosdevice.cpp | 16 ++++++++++++---- src/plugins/ios/iossimulator.cpp | 17 +++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp index e63c4945afb..4351929e12a 100644 --- a/src/plugins/ios/iosdevice.cpp +++ b/src/plugins/ios/iosdevice.cpp @@ -79,6 +79,16 @@ static QString CFStringRef2QString(CFStringRef s) namespace Ios { namespace Internal { +static const QList& iosDeviceIcon() +{ + static const QList icon = + {Utils::Icon({{":/ios/images/iosdevicesmall.png", + Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint), + Utils::Icon({{":/ios/images/iosdevice.png", + Utils::Theme::IconsBaseColor}})}; + return icon; +} + IosDevice::IosDevice() : IDevice(Core::Id(Constants::IOS_DEVICE_TYPE), IDevice::AutoDetected, @@ -92,10 +102,7 @@ IosDevice::IosDevice() ports.addRange(Utils::Port(Constants::IOS_DEVICE_PORT_START), Utils::Port(Constants::IOS_DEVICE_PORT_END)); setFreePorts(ports); - setDeviceIcon({Utils::Icon({{":/ios/images/iosdevicesmall.png", - Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint), - Utils::Icon({{":/ios/images/iosdevice.png", - Utils::Theme::IconsBaseColor}})}); + setDeviceIcon(iosDeviceIcon()); } IosDevice::IosDevice(const IosDevice &other) @@ -112,6 +119,7 @@ IosDevice::IosDevice(const QString &uid) { setDisplayName(IosDevice::name()); setDeviceState(DeviceDisconnected); + setDeviceIcon(iosDeviceIcon()); } diff --git a/src/plugins/ios/iossimulator.cpp b/src/plugins/ios/iossimulator.cpp index 1ae8caf4f77..c1a086ffb3f 100644 --- a/src/plugins/ios/iossimulator.cpp +++ b/src/plugins/ios/iossimulator.cpp @@ -45,6 +45,16 @@ static const QLatin1String iosDeviceTypeDisplayNameKey = QLatin1String("displayN static const QLatin1String iosDeviceTypeTypeKey = QLatin1String("type"); static const QLatin1String iosDeviceTypeIdentifierKey = QLatin1String("identifier"); +static const QList& iosSimulatorIcon() +{ + static const QList icon = + {Utils::Icon({{":/ios/images/iosdevicesmall.png", + Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint), + Utils::Icon({{":/ios/images/iosdevice.png", + Utils::Theme::IconsBaseColor}})}; + return icon; +} + IosSimulator::IosSimulator(Core::Id id) : IDevice(Core::Id(Constants::IOS_SIMULATOR_TYPE), IDevice::AutoDetected, @@ -54,10 +64,7 @@ IosSimulator::IosSimulator(Core::Id id) { setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator")); setDeviceState(DeviceReadyToUse); - setDeviceIcon({Utils::Icon({{":/ios/images/iosdevicesmall.png", - Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint), - Utils::Icon({{":/ios/images/iosdevice.png", - Utils::Theme::IconsBaseColor}})}); + setDeviceIcon(iosSimulatorIcon()); } IosSimulator::IosSimulator() @@ -69,6 +76,7 @@ IosSimulator::IosSimulator() { setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator")); setDeviceState(DeviceReadyToUse); + setDeviceIcon(iosSimulatorIcon()); } IosSimulator::IosSimulator(const IosSimulator &other) @@ -76,6 +84,7 @@ IosSimulator::IosSimulator(const IosSimulator &other) { setDisplayName(QCoreApplication::translate("Ios::Internal::IosSimulator", "iOS Simulator")); setDeviceState(DeviceReadyToUse); + setDeviceIcon(iosSimulatorIcon()); } From 87b39ddd5a2352c67eabe4955c0735c2ec72b418 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 7 Dec 2016 16:48:26 +0200 Subject: [PATCH 21/27] Android: Merge stdout & stderr channles On Android 7.1.1 the error is fired on "stderr" on previous versions on "stdout" Change-Id: I72c06694a22084d455e26eea95ddfdb8a93a39b2 Reviewed-by: Ulf Hermann --- src/plugins/android/androidrunner.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp index f3110db2da6..81bea64acfd 100644 --- a/src/plugins/android/androidrunner.cpp +++ b/src/plugins/android/androidrunner.cpp @@ -668,8 +668,9 @@ void AndroidRunnerWorker::onProcessIdChanged(qint64 pid) logcatReadStandardOutput(); QTC_ASSERT(!m_psIsAlive, /**/); m_psIsAlive.reset(new QProcess); - connect(m_psIsAlive.get(), &QIODevice::readyRead, [this](){ - if (!m_psIsAlive->readAllStandardOutput().simplified().isEmpty()) + m_psIsAlive->setProcessChannelMode(QProcess::MergedChannels); + connect(m_psIsAlive.get(), &QProcess::readyRead, [this](){ + if (!m_psIsAlive->readAll().simplified().isEmpty()) onProcessIdChanged(-1); }); m_psIsAlive->start(m_adb, selector() << QStringLiteral("shell") From 326845a8a2ede89371ee62df7f2580e3a3958e42 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 8 Dec 2016 07:47:38 +0100 Subject: [PATCH 22/27] AutoTest: Fix internal modification of data tag location Task-number: QTCREATORBUG-17398 Change-Id: Ibd4cc52ce16d4b7b9adb0ec6f857f6b3ae17e703 Reviewed-by: Eike Ziller Reviewed-by: David Schulz --- src/plugins/autotest/qtest/qttesttreeitem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/autotest/qtest/qttesttreeitem.cpp b/src/plugins/autotest/qtest/qttesttreeitem.cpp index 95237cc1a0f..7f62bf60b03 100644 --- a/src/plugins/autotest/qtest/qttesttreeitem.cpp +++ b/src/plugins/autotest/qtest/qttesttreeitem.cpp @@ -268,7 +268,7 @@ bool QtTestTreeItem::modify(const TestParseResult *result) case TestSpecialFunction: return modifyTestFunctionContent(result); case TestDataTag: - return modifyDataTagContent(result->name, result->fileName, result->line, result->line); + return modifyDataTagContent(result->name, result->fileName, result->line, result->column); default: return false; } From c226d311b7401f272036952a83901493478ac88f Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 8 Dec 2016 14:38:44 +0100 Subject: [PATCH 23/27] Projects mode: Disable "Import" button if not supported by project Task-number: QTCREATORBUG-17399 Change-Id: I79b64298c902776282d54d70efdc0eef03415a51 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/projectwindow.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index ae4338bd51c..2c4bf79cc28 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -391,6 +391,9 @@ public: m_importBuild = new QPushButton(ProjectWindow::tr("Import Existing Build...")); connect(m_importBuild, &QPushButton::clicked, this, &SelectorModel::handleImportBuild); + connect(sessionManager, &SessionManager::startupProjectChanged, this, [this](Project *project) { + m_importBuild->setEnabled(project && project->projectImporter()); + }); m_manageKits = new QPushButton(ProjectWindow::tr("Manage Kits...")); connect(m_manageKits, &QPushButton::clicked, From 5f054990d694e82a9876df073c712ddceedbd6d6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 8 Dec 2016 14:40:10 +0100 Subject: [PATCH 24/27] iOSSimulator: Try to avoid flakiness of starting in simulator Put in some delays between executing the various simulator commands, so whatever might need to startup internally has time to do so. Task-number: QTCREATORBUG-17336 Change-Id: I1d4fbbc14c8583fce1b72ee31d5fd4824f377efb Reviewed-by: Vikas Pachdha Reviewed-by: Tobias Hunger --- src/plugins/ios/simulatorcontrol.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/ios/simulatorcontrol.cpp b/src/plugins/ios/simulatorcontrol.cpp index 4af05f00e3d..e3436d9fb01 100644 --- a/src/plugins/ios/simulatorcontrol.cpp +++ b/src/plugins/ios/simulatorcontrol.cpp @@ -362,6 +362,7 @@ void SimulatorControlPrivate::startSimulator(QFutureInterface Date: Thu, 8 Dec 2016 17:51:14 +0100 Subject: [PATCH 25/27] iOS: Fix app launch fail on debugging Start the relay servers on the same port. Task-number: QTCREATORBUG-17407 Change-Id: Iad22cdebffdf3e88021718d4a7c232e08650c92e Reviewed-by: Ulf Hermann --- src/tools/iostool/main.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/tools/iostool/main.cpp b/src/tools/iostool/main.cpp index a02fb446e32..83bba027b3c 100644 --- a/src/tools/iostool/main.cpp +++ b/src/tools/iostool/main.cpp @@ -103,7 +103,7 @@ class RelayServer: public QObject public: RelayServer(IosTool *parent); ~RelayServer(); - bool startServer(int port); + bool startServer(); void stopServer(); quint16 serverPort(); IosTool *iosTool(); @@ -115,6 +115,7 @@ protected: QTcpServer m_ipv4Server; QTcpServer m_ipv6Server; + quint16 m_port = 0; QList m_connections; }; @@ -404,20 +405,23 @@ RelayServer::~RelayServer() stopServer(); } -bool RelayServer::startServer(int port) +bool RelayServer::startServer() { QTC_CHECK(!m_ipv4Server.isListening()); QTC_CHECK(!m_ipv6Server.isListening()); + connect(&m_ipv4Server, &QTcpServer::newConnection, this, &RelayServer::handleNewRelayConnection); connect(&m_ipv6Server, &QTcpServer::newConnection, this, &RelayServer::handleNewRelayConnection); - quint16 portValue = static_cast(port); - if (port < 0 || port > 0xFFFF) - return false; - m_ipv4Server.listen(QHostAddress(QHostAddress::LocalHostIPv6), portValue); - m_ipv6Server.listen(QHostAddress(QHostAddress::LocalHost), portValue); - return m_ipv4Server.isListening() || m_ipv6Server.isListening(); + + m_port = 0; + if (m_ipv4Server.listen(QHostAddress(QHostAddress::LocalHost), 0)) + m_port = m_ipv4Server.serverPort(); + if (m_ipv6Server.listen(QHostAddress(QHostAddress::LocalHostIPv6), m_port)) + m_port = m_ipv6Server.serverPort(); + + return m_port > 0; } void RelayServer::stopServer() @@ -432,11 +436,7 @@ void RelayServer::stopServer() quint16 RelayServer::serverPort() { - if (m_ipv4Server.isListening()) - return m_ipv4Server.serverPort(); - if (m_ipv6Server.isListening()) - return m_ipv6Server.serverPort(); - return 0; + return m_port; } IosTool *RelayServer::iosTool() @@ -728,12 +728,12 @@ void IosTool::didStartApp(const QString &bundlePath, const QString &deviceId, int qmlPort = deviceSession->qmljsDebugPort(); if (qmlPort) { qmlServer = new GenericRelayServer(this, qmlPort, deviceSession); - qmlServer->startServer(0); + qmlServer->startServer(); } } if (debug) { gdbServer = new SingleRelayServer(this, gdbFd); - if (!gdbServer->startServer(0)) { + if (!gdbServer->startServer()) { doExit(-4); return; } From 4d342708747607f94b96938cacd9bfa423d67c40 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 9 Dec 2016 10:49:29 +0100 Subject: [PATCH 26/27] Update qbs submodule To HEAD of 1.7 branch. Change-Id: Ifde10cab3dd3f93cd95a2cb72a9017866683802a Reviewed-by: Eike Ziller --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 8e2d2afcd38..64e336b7af5 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 8e2d2afcd38c8e89b8e7c5329ee29e15f4e5d518 +Subproject commit 64e336b7af5b863de7e8108448f9103706786714 From 5071dd80cb352ebfe67209e3f3bc70ef619a5ccf Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Fri, 9 Dec 2016 11:34:23 +0200 Subject: [PATCH 27/27] QmakePM: Sort function keywords They are searched using std::binary_search, which expects sorted input. Change-Id: Ib2d59ab6e747e6ce36220dfd33dbe9bb145aeb92 Reviewed-by: Tobias Hunger --- .../qmakeprojectmanager/profilecompletionassist.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp index 8594f862801..dea84b50dc3 100644 --- a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp +++ b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp @@ -236,13 +236,13 @@ static const char *const variableKeywords[] = { }; static const char *const functionKeywords[] = { + "CONFIG", "absolute_path", "basename", "cache", "cat", "clean_path", "clear", - "CONFIG", "contains", "count", "debug", @@ -252,9 +252,9 @@ static const char *const functionKeywords[] = { "equals", "error", "escape_expand", + "eval", "exists", "export", - "eval", "files", "find", "first", @@ -269,9 +269,9 @@ static const char *const functionKeywords[] = { "isActiveConfig", "isEmpty", "isEqual", - "lessThan", "join", "last", + "lessThan", "list", "load", "log", @@ -283,20 +283,20 @@ static const char *const functionKeywords[] = { "parseJson", "prompt", "quote", + "re_escape", "relative_path", "replace", "requires", "resolve_depends", "reverse", - "re_escape", "section", "shadowed", "shell_path", "shell_quote", "size", + "sort_depends", "split", "sprintf", - "sort_depends", "system", "system_path", "system_quote", @@ -306,8 +306,8 @@ static const char *const functionKeywords[] = { "unset", "upper", "val_escape", - "write_file", "warning", + "write_file", 0 };