From b2e15551eded721061158504e554efecef14e3e3 Mon Sep 17 00:00:00 2001 From: "a.yankovich" Date: Mon, 1 Apr 2019 15:47:07 +0300 Subject: [PATCH 1/5] test new cqtdeployer --- .gitignore | 4 + Hanoi-Towers.pro | 37 +----- hanoi_towers/hanoi_towers.pro | 14 +-- installer/config/ru.qm | 1 + installer/config/ru.ts | 4 + installer/deploy/deploy.pro | 41 ------- installer/deploy/deployFiles.pri | 8 -- installer/deploy/targetList.pri | 17 --- installer/installer.pri | 106 ++++++++++++++++++ installer/installer.pro | 90 --------------- installer/packages/HanoiTowers/meta/ru.qm | Bin 165 -> 248 bytes installer/packages/HanoiTowers/meta/ru.ts | 4 +- installer/packages/HanoiTowers/snap.pro | 41 ------- .../HanoiTowers/snap/.snapcraft/state | 4 - .../data/icons/icon.png | Bin .../packages/installer/meta/installscript.js | 12 ++ installer/packages/installer/meta/package.xml | 15 +++ installer/packages/installer/meta/ru.qm | Bin 0 -> 217 bytes installer/packages/installer/meta/ru.ts | 53 +++++++++ .../{HanoiTowers => installer}/runSnap.sh | 0 .../snap/forDumpBuild/snapcraft.yaml | 0 .../snap/gui/Hanoi-Tower.desktop.desktop | 0 .../snap/snapcraft.yaml | 0 .../snap/static/snapcraft.yaml | 0 24 files changed, 206 insertions(+), 245 deletions(-) create mode 100644 installer/config/ru.qm create mode 100644 installer/config/ru.ts delete mode 100644 installer/deploy/deploy.pro delete mode 100644 installer/deploy/deployFiles.pri delete mode 100644 installer/deploy/targetList.pri create mode 100644 installer/installer.pri delete mode 100644 installer/installer.pro delete mode 100644 installer/packages/HanoiTowers/snap.pro delete mode 100644 installer/packages/HanoiTowers/snap/.snapcraft/state rename installer/packages/{HanoiTowers => installer}/data/icons/icon.png (100%) create mode 100644 installer/packages/installer/meta/installscript.js create mode 100644 installer/packages/installer/meta/package.xml create mode 100644 installer/packages/installer/meta/ru.qm create mode 100644 installer/packages/installer/meta/ru.ts rename installer/packages/{HanoiTowers => installer}/runSnap.sh (100%) rename installer/packages/{HanoiTowers => installer}/snap/forDumpBuild/snapcraft.yaml (100%) rename installer/packages/{HanoiTowers => installer}/snap/gui/Hanoi-Tower.desktop.desktop (100%) rename installer/packages/{HanoiTowers => installer}/snap/snapcraft.yaml (100%) rename installer/packages/{HanoiTowers => installer}/snap/static/snapcraft.yaml (100%) diff --git a/.gitignore b/.gitignore index 08d9d65..432e477 100644 --- a/.gitignore +++ b/.gitignore @@ -37,11 +37,15 @@ ui_*.h Makefile* *build-* +hanoi_towers/build/ +installer/installer + *.snap installer/packages/HanoiTowers/parts installer/packages/HanoiTowers/prime installer/packages/HanoiTowers/stage installer/packages/HanoiTowers/data/* +.snapcraft # QtCreator installer/HanoiTowersInstaller diff --git a/Hanoi-Towers.pro b/Hanoi-Towers.pro index c7688ec..470a35e 100755 --- a/Hanoi-Towers.pro +++ b/Hanoi-Towers.pro @@ -1,39 +1,6 @@ TEMPLATE = subdirs CONFIG += ordered -include($$PWD/installer/deploy/deployFiles.pri) -message( DEPLOY_FILES_MASTER = $$DEPLOY_FILES) +SUBDIRS += hanoi_towers -ENABLE_SNAP = 1 #only linux -ENABLE_INSTALLER = 0 #only desctop - -SUBDIRS += hanoi_towers \ - CQtDeployer - -equals( ENABLE_INSTALLER, 1) { - !android:{ - message(desktopVersion: enabled) - CONFIG(release, debug|release): { - - SUBDIRS += installer - - } else { - message( Selected Debug mode. The installer will not be created ) - - } - } -} - -equals( ENABLE_SNAP, 1) { - !android:{ - message(desktopVersion: enabled) - CONFIG(release, debug|release): { - - SUBDIRS += installer/packages/HanoiTowers/snap.pro - - } else { - message( Selected Debug mode. The snap will not be created ) - - } - } -} +include($$PWD/installer/installer.pri) diff --git a/hanoi_towers/hanoi_towers.pro b/hanoi_towers/hanoi_towers.pro index 9b3112f..36447c3 100644 --- a/hanoi_towers/hanoi_towers.pro +++ b/hanoi_towers/hanoi_towers.pro @@ -10,9 +10,6 @@ SOURCES += main.cpp \ RESOURCES += qml.qrc TARGET = hanoi-towers -include($$PWD/../installer/deploy/targetList.pri) -include($$PWD/../installer/deploy/deployFiles.pri) - # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH = @@ -36,10 +33,13 @@ QT_DIR = $$dirname(QMAKE_QMAKE) LUPDATE = $$QT_DIR/lupdate LRELEASE = $$QT_DIR/lrelease -# Default rules for deployment. -qnx: target.path = /tmp/$${TARGET}/bin -else: unix:!android: target.path = /opt/$${TARGET}/bin -!isEmpty(target.path): INSTALLS += target +CONFIG(release, debug|release): { + DESTDIR = $$PWD/build/release + +} else { + DESTDIR = $$PWD/build/debug +} + DISTFILES += \ android/AndroidManifest.xml \ diff --git a/installer/config/ru.qm b/installer/config/ru.qm new file mode 100644 index 0000000..be651ee --- /dev/null +++ b/installer/config/ru.qm @@ -0,0 +1 @@ + + + + diff --git a/installer/deploy/deploy.pro b/installer/deploy/deploy.pro deleted file mode 100644 index 8e69c6e..0000000 --- a/installer/deploy/deploy.pro +++ /dev/null @@ -1,41 +0,0 @@ -TEMPLATE = aux - -INSTALLER = deployApp - -INPUT = DEPLOY_FILES -deployApp.input = INPUT -deployApp.output = $$INSTALLER - - -QT_DIR = $$dirname(QMAKE_QMAKE) -QML_DIR = $$QT_DIR/../qml - - -WINDEPLY = $$QT_DIR/windeployqt.exe -MACDEPLY = $$QT_DIR/macdeployqt -LINUXDEPLOY = $$PWD/linuxdeployqt-continuous-x86_64.AppImage - -message( QML_DIR = $$QML_DIR) -message( WINDEPLY = $$WINDEPLY) -message( MACDEPLY = $$MACDEPLY) -message( LINUXDEPLOY = $$LINUXDEPLOY) - -win32 { - deployApp.commands += "$$WINDEPLY --qmldir $$QML_DIR $$DEPLOY_FILES" -} - -unix { - deployApp.commands += "$$LINUXDEPLOY --qmldir=$$QML_DIR --qmake=$$QMAKE_QMAKE $$DEPLOY_FILES" -} - -mac { - deployApp.commands += "$$MACDEPLY --qmldir $$QML_DIR $$DEPLOY_FILES" -} - message( deployComand = "$$deployApp.commands") - -commands += "chmod +x $$LINUXDEPLOY" - -for(command, commands) { - system($$command)|error("Failed to run: $$command") -} - diff --git a/installer/deploy/deployFiles.pri b/installer/deploy/deployFiles.pri deleted file mode 100644 index 0ddd315..0000000 --- a/installer/deploy/deployFiles.pri +++ /dev/null @@ -1,8 +0,0 @@ -TARGET_PATH = $$PWD/../packages/HanoiTowers/data -equals( TEMPLATE, app) { - DESTDIR = $$PWD/../packages/HanoiTowers/data -} - -equals( TEMPLATE, lib) { - DESTDIR = $$PWD/../packages/HanoiTowers/data -} diff --git a/installer/deploy/targetList.pri b/installer/deploy/targetList.pri deleted file mode 100644 index 1b649cc..0000000 --- a/installer/deploy/targetList.pri +++ /dev/null @@ -1,17 +0,0 @@ -# Here you need to specify a list of end targets for each platform. - -# windows -win32 { - TARGET_LIST += HanoiTowers.exe -} - -# linux -# by default installer create shortcut for last binary file of the list -unix { - TARGET_LIST += HanoiTowers -} - -# os X -macx { - TARGET_LIST += HanoiTowers -} diff --git a/installer/installer.pri b/installer/installer.pri new file mode 100644 index 0000000..364987f --- /dev/null +++ b/installer/installer.pri @@ -0,0 +1,106 @@ +QT_DIR = $$dirname(QMAKE_QMAKE) +QML_DIR = $$PWD/../hanoi_towers/ +DEPLOY_TARGET = $$PWD/../hanoi_towers/build/release + +LUPDATE = $$QT_DIR/lupdate +LRELEASE = $$QT_DIR/lrelease + +win32:DEPLOYER = $$PWD/../CQtDeployerBinaries/Windows/cqtdeployer.exe +unix:DEPLOYER = cqtdeployer + +OUT_FILE = installer + +CONFIG(serverbuild): { + EXEC = binarycreator +} else: { + + BINARY_LIST + exists( $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/ ) { + message( "QtInstallerFramework v3.0: yes" ) + BINARY_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/binarycreator + } + exists( $$QT_DIR/../../../Tools/QtInstallerFramework/2.0/bin/ ) { + message( "QtInstallerFramework v2.0: yes" ) + BINARY_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/2.0/bin/binarycreator + } + + isEmpty (BINARY_LIST) { + error( "QtInstallerFramework not found!" ) + } + + EXEC=$$first(BINARY_LIST) + message( selected $$EXEC ) + +} + +win32 { + LUPDATE = $${LUPDATE}.exe + LRELEASE = $${LRELEASE}.exe + EXEC = $${EXEC}.exe + OUT_FILE = $${OUT_FILE}.exe +} + +SUPPORT_LANGS = ru + +defineReplace(findFiles) { + patern = $$1 + path = $$2 + + all_files = $$files(*$${patern}, true) + win32:all_files ~= s|\\\\|/|g + win32:path ~= s|\\\\|/|g + + for(file, all_files) { + result += $$find(file, $$path) + } + + return($$result) +} + +XML_FILES = $$files(*.xml, true) + +for(LANG, SUPPORT_LANGS) { + for(XML, XML_FILES) { + FILE_PATH = $$dirname(XML) + + JS_FILES = $$findFiles(".js", $$FILE_PATH) + UI_FILES = $$findFiles(".ui", $$FILE_PATH) + + commands += "$$LUPDATE $$JS_FILES $$UI_FILES -ts $$FILE_PATH/$${LANG}.ts" + TS_FILES += $$FILE_PATH/$${LANG}.ts + + } + + for(TS, TS_FILES) { + commands += "$$LRELEASE $$TS" + } +} + +for(command, commands) { + system($$command)|error("Failed to run: $$command") +} + +BASE_DEPLOY_FLAGS = clear -qmake $$QMAKE_QMAKE -targetDir $$PWD/packages/HanoiTowers/data + +deploy_depends.commands += $$DEPLOYER -bin $$DEPLOY_TARGET -qmlDir $$QML_DIR $$BASE_DEPLOY_FLAGS + +create_installer.commands = $$EXEC \ + -c $$PWD/config/config.xml \ + -p $$PWD/packages \ + $$PWD/$$OUT_FILE + +OTHER_FILES += \ + $$PWD/config/controlScript.js \ + $$PWD/config/config.xml \ + $$PWD/packages/HanoiTowers/meta/package.xml \ + $$PWD/packages/HanoiTowers/meta/installscript.js \ + $$PWD/packages/HanoiTowers/meta/ru.ts \ + $$PWD/packages/installer/meta/package.xml \ + $$PWD/packages/installer/meta/installscript.js \ + $$PWD/packages/installer/meta/ru.ts + +create_installer.depends = deploy_depends + +QMAKE_EXTRA_TARGETS += \ + deploy_depends \ + create_installer diff --git a/installer/installer.pro b/installer/installer.pro deleted file mode 100644 index d47040f..0000000 --- a/installer/installer.pro +++ /dev/null @@ -1,90 +0,0 @@ -include($$PWD/deploy/targetList.pri) -include($$PWD/deploy/deployFiles.pri) - - -TEMPLATE = aux - -INSTALLER = installerApp - -INPUT = $$PWD/config/config.xml $$PWD/packages -installerApp.input = INPUT -installerApp.output = $$INSTALLER - -QT_DIR = $$dirname(QMAKE_QMAKE) -LUPDATE = $$QT_DIR/lupdate -LRELEASE = $$QT_DIR/lrelease - -OUT_FILE = HanoiTowersInstaller - -QT_DIR = $$dirname(QMAKE_QMAKE) -QML_DIR = $$PWD/../hanoi_towers - - -WINDEPLY = $$QT_DIR/windeployqt.exe -MACDEPLY = $$QT_DIR/macdeployqt -LINUXDEPLOY = $$PWD/../CQtDeployer/build/CQtDeployer - -message( QML_DIR = $$QML_DIR) -message( WINDEPLY = $$WINDEPLY) -message( MACDEPLY = $$MACDEPLY) -message( LINUXDEPLOY = $$LINUXDEPLOY) - -win32 { - OUT_FILE = HanoiTowersInstaller.exe - LUPDATE = $$QT_DIR/lupdate.exe - LRELEASE = $$QT_DIR/lrelease.exe -} - -message( QT_DIR = $$QT_DIR) -message( LUPDATE = $$LUPDATE) -message( LRELEASE = $$LRELEASE) -message( DEPLOY_FILES = $$DEPLOY_FILES) - -# todo get inpot files -win32 { - for(command, TARGET_LIST) { - installerApp.commands += $$WINDEPLY --qmldir $$QML_DIR $$TARGET_PATH/$$command && - } -} - -unix { - for(command, TARGET_LIST) { - installerApp.commands += $$LINUXDEPLOY -bin $$TARGET_PATH/$$command clear -qmlDir $$QML_DIR -qmake $$QMAKE_QMAKE && - } -} - -macx { - for(command, TARGET_LIST) { - installerApp.commands += $$MACDEPLY --qmldir $$QML_DIR $$TARGET_PATH/$$command && - } -} - -installerApp.commands += $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/binarycreator --offline-only -c $$PWD/config/config.xml -p $$PWD/packages $$PWD/$$OUT_FILE --verbose -f -installerApp.CONFIG += target_predeps no_link combine - -message( installComands = "$$installerApp.commands") - -commands += "$$LUPDATE $$PWD/packages/HanoiTowers/meta/installscript.js -ts $$PWD/packages/HanoiTowers/meta/ru.ts" -commands += "$$LRELEASE $$PWD/packages/HanoiTowers/meta/ru.ts" - -for(command, commands) { - system($$command)|error("Failed to run: $$command") -} - - -QMAKE_EXTRA_COMPILERS += installerApp - -DISTFILES += \ - config/controlScript.js \ - config/config.xml \ - README.md \ - config/ru.ts \ - packages/HanoiTowers/meta/installscript.js \ - packages/HanoiTowers/meta/package.xml \ - packages/HanoiTowers/meta/ru.ts - -#unix:extraclean.commands = chmod +x $$PWD/scripts/clear.sh && $$PWD/scripts/clear.sh -#win32:extraclean.commands = $$PWD/scripts/clear.bat; - -#distclean.depends = extraclean -#QMAKE_EXTRA_TARGETS += distclean extraclean diff --git a/installer/packages/HanoiTowers/meta/ru.qm b/installer/packages/HanoiTowers/meta/ru.qm index 910694ab6fc2ba431e8341d4f7b9b60e098c9ef4..a775f1c4197af4b6030348ef65eb1ac96d2ca4c1 100644 GIT binary patch delta 137 zcmZ3=_=9nRNWB2VA;ZlK3=H0UKOzqUX@*Q7-op$e{u*W99gVbELcn# z6j%&_Vje(I3l5NCHX!EqNX*O649PD~Eh=UQ@_94!ic1o6a*C6SG7Cx=K}OlII0KDv Tf*NN8G|T{KlpRoPqC+YGOy?RA delta 24 ccmeytxRh~%2p HanoiTowers - + Ханойские башни Install HanoiTowers Install SoundBand - установка основного компонента + установка основного компонента diff --git a/installer/packages/HanoiTowers/snap.pro b/installer/packages/HanoiTowers/snap.pro deleted file mode 100644 index 09d5e48..0000000 --- a/installer/packages/HanoiTowers/snap.pro +++ /dev/null @@ -1,41 +0,0 @@ -include($$PWD/../../deploy/targetList.pri) -include($$PWD/../../deploy/deployFiles.pri) - - -TEMPLATE = aux - -SNAPCRAFT = runSnap.sh - -DESTDIR = $$PWD - -INPUT = $$PWD/snap/snapcraft.yaml -snapApp.input = INPUT -snapApp.output = $$SNAPCRAFT -LINUXDEPLOY = $$PWD/../../../CQtDeployer/build/CQtDeployer - -QT_DIR = $$dirname(QMAKE_QMAKE) -QML_DIR = $$PWD/../../../hanoi_towers - -unix { - message($$DESTDIR); - message($$TARGET_LIST); - - for(command, TARGET_LIST) { - snapApp.commands += $$LINUXDEPLOY -bin $$TARGET_PATH/$$command -qmlDir $$QML_DIR -qmake $$QMAKE_QMAKE && - } - - snapApp.commands += $$DESTDIR/$$SNAPCRAFT - snapApp.CONFIG += target_predeps no_link combine - - message( snapComands = "$$snapApp.commands") -} - - -QMAKE_EXTRA_COMPILERS += snapApp - -DISTFILES += \ - -unix:extraclean.commands = $$SNAPCRAFT clean - -distclean.depends = extraclean -QMAKE_EXTRA_TARGETS += distclean extraclean diff --git a/installer/packages/HanoiTowers/snap/.snapcraft/state b/installer/packages/HanoiTowers/snap/.snapcraft/state deleted file mode 100644 index 0278549..0000000 --- a/installer/packages/HanoiTowers/snap/.snapcraft/state +++ /dev/null @@ -1,4 +0,0 @@ -!GlobalState -assets: - build-packages: [] - build-snaps: [] diff --git a/installer/packages/HanoiTowers/data/icons/icon.png b/installer/packages/installer/data/icons/icon.png similarity index 100% rename from installer/packages/HanoiTowers/data/icons/icon.png rename to installer/packages/installer/data/icons/icon.png diff --git a/installer/packages/installer/meta/installscript.js b/installer/packages/installer/meta/installscript.js new file mode 100644 index 0000000..0a53e04 --- /dev/null +++ b/installer/packages/installer/meta/installscript.js @@ -0,0 +1,12 @@ +// Constructor +function Component() +{ + + generateTr(); +} + +function generateTr() { + component.setValue("DisplayName", qsTr("Installer")); + component.setValue("Description", qsTr("Install components")); + +} diff --git a/installer/packages/installer/meta/package.xml b/installer/packages/installer/meta/package.xml new file mode 100644 index 0000000..1b31ce5 --- /dev/null +++ b/installer/packages/installer/meta/package.xml @@ -0,0 +1,15 @@ + + + from script + from script + 1.0.0 + true + + 2018-08-25 + 200 + true + + + ru.qm + + diff --git a/installer/packages/installer/meta/ru.qm b/installer/packages/installer/meta/ru.qm new file mode 100644 index 0000000000000000000000000000000000000000..02fc36ea264a04211f98aed179d64f796861037c GIT binary patch literal 217 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZfa&gbs@`izAB@ zivf!*iyey*5W53e-Yk|33M^JYo(+pVkhEnn1!5--paupuAQtk>D=taQ$x%qo&n?K$ zOU)}OW(NxMW{}*9m J`K!Yv3;=W + + + + TargetWidget + + Install dir + Папка установки + + + Select the Installation directory + Выберите директорию установки + + + + installscript + + Virtus Rlo Images + Изображения Virtus ИВС + + + This package contains images for the sidebar of the rolo mode + Этот пакет содержит изображения для боковой панели режима ИВС + + + Choose your target directory. + Выберите целевой каталог. + + + Attention! This directory is already taken, to continue the installation, select another directory! + Внимание! Этот каталог уже создан, чтобы продолжить установку выберите другой каталог! + + + App + Основные компоненнты + + + Install HanoiTowers + Install SoundBand + установка основного компонента + + + + Installer + Устанвщик + + + + Install components + Установочный компонент + + + diff --git a/installer/packages/HanoiTowers/runSnap.sh b/installer/packages/installer/runSnap.sh similarity index 100% rename from installer/packages/HanoiTowers/runSnap.sh rename to installer/packages/installer/runSnap.sh diff --git a/installer/packages/HanoiTowers/snap/forDumpBuild/snapcraft.yaml b/installer/packages/installer/snap/forDumpBuild/snapcraft.yaml similarity index 100% rename from installer/packages/HanoiTowers/snap/forDumpBuild/snapcraft.yaml rename to installer/packages/installer/snap/forDumpBuild/snapcraft.yaml diff --git a/installer/packages/HanoiTowers/snap/gui/Hanoi-Tower.desktop.desktop b/installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop similarity index 100% rename from installer/packages/HanoiTowers/snap/gui/Hanoi-Tower.desktop.desktop rename to installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop diff --git a/installer/packages/HanoiTowers/snap/snapcraft.yaml b/installer/packages/installer/snap/snapcraft.yaml similarity index 100% rename from installer/packages/HanoiTowers/snap/snapcraft.yaml rename to installer/packages/installer/snap/snapcraft.yaml diff --git a/installer/packages/HanoiTowers/snap/static/snapcraft.yaml b/installer/packages/installer/snap/static/snapcraft.yaml similarity index 100% rename from installer/packages/HanoiTowers/snap/static/snapcraft.yaml rename to installer/packages/installer/snap/static/snapcraft.yaml From 27b9acc0ae450335ac1ecdc37a30bb555d10e25c Mon Sep 17 00:00:00 2001 From: Andrei Date: Sun, 7 Apr 2019 13:51:23 +0300 Subject: [PATCH 2/5] simple fixes --- .gitmodules | 3 --- CQtDeployer | 1 - hanoi_towers/SwitchLvl.qml | 2 +- hanoi_towers/about.qml | 2 +- hanoi_towers/android/AndroidManifest.xml | 4 ++-- hanoi_towers/game.qml | 4 ++-- hanoi_towers/languages/en.ts | 2 +- hanoi_towers/languages/ja.qm | Bin 2928 -> 2973 bytes hanoi_towers/languages/ja.ts | 16 +++++++++++++++- hanoi_towers/languages/ru.qm | Bin 3402 -> 3447 bytes hanoi_towers/languages/ru.ts | 16 +++++++++++++++- hanoi_towers/languages/tr.qm | Bin 3248 -> 3293 bytes hanoi_towers/languages/tr.ts | 16 +++++++++++++++- hanoi_towers/languages/ua.qm | Bin 3030 -> 3075 bytes hanoi_towers/languages/ua.ts | 16 +++++++++++++++- hanoi_towers/res/help.jpg | Bin 38736 -> 179206 bytes installer/config/controlScript.js | 2 ++ installer/installer.pri | 2 +- 18 files changed, 70 insertions(+), 16 deletions(-) delete mode 160000 CQtDeployer diff --git a/.gitmodules b/.gitmodules index 20008bb..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "CQtDeployer"] - path = CQtDeployer - url = https://github.com/QuasarApp/Console-QtDeployer.git diff --git a/CQtDeployer b/CQtDeployer deleted file mode 160000 index 56411c0..0000000 --- a/CQtDeployer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 56411c0fe893464b68493ca2322c53c4d731a51a diff --git a/hanoi_towers/SwitchLvl.qml b/hanoi_towers/SwitchLvl.qml index f3c6984..2ac7725 100644 --- a/hanoi_towers/SwitchLvl.qml +++ b/hanoi_towers/SwitchLvl.qml @@ -27,7 +27,7 @@ Rectangle { color: Qt.rgba(0.5,0.5,0.5,1 / (Math.abs(spin.currentIndex - modelData))) text: "" + (modelData + 1) - + width: tumbler.width verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter font.pixelSize: (spin.height / 4) / (Math.abs(spin.currentIndex - modelData) + 1 ) diff --git a/hanoi_towers/about.qml b/hanoi_towers/about.qml index 823fb28..082af94 100644 --- a/hanoi_towers/about.qml +++ b/hanoi_towers/about.qml @@ -39,7 +39,7 @@ Item { * Programmer: Yankovich N. Andrei. * This game is distributed under the LGPLv3 license. * Contact: https://github.com/EndrII -* Copyright (C) 2018 Yankovich N. Andrei.") +* Copyright (C) 2018-2019 Yankovich N. Andrei.") } MouseArea { anchors.fill: parent diff --git a/hanoi_towers/android/AndroidManifest.xml b/hanoi_towers/android/AndroidManifest.xml index 5806519..058de4b 100644 --- a/hanoi_towers/android/AndroidManifest.xml +++ b/hanoi_towers/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + @@ -63,7 +63,7 @@ - + de3Mb(RFNUze31&e;1nr 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

F`Z_c-7 z&2F8x3J3ewg8N9Ild+He6&+x(-cr=}q`M|{v@I3|B3;sW$Hsw%`Ku4{cV9YG3yoC7 zPhgtQVW;}k5p>2lr2s!SEY@yQ32^#`j{rNKByfl{PW;v!s`db{;IcJ@RIfv#XN)xp^GLr5EImc$)f_tsB<;CB(w%>IN9 zus7MU^kpo-=Lb!W1#<4~5)Kev1f~#{Y<4rARqfJ>%A9-!!}b(FVF? zX!>Qzd=55QxKfGTj*B+POrbHn>A%EB$Xr92p}HZ%;<9U-c?1Yd7|(ao;T}zoitMbyzli|JsQf1gm2mM*s?i9ajXC#Daaq)qn zgOdx)!R=$GS5fEQucXs?1N^-0tOo6*(n~7}mO$bo;&;G14zA%*z#U9%Wp|7G=HpkA zY=#bQs)eg9E5;IXhN9y2FozBjirs^Hk87khQUwBs@}BgjhUhruoZIQj#kbCAgEGF?k${M)bY}W^%F4b zBDmHyt=V}e?GxaT>fYT~uHhht_U zvn!xTSTgkPr%#F2{*=sWi_)vl!^4!OZ$(b%khGcxT(UOq(d@2uo z)6Ah`YtR^!rGu&vz+`35KNn&(aY7{TDV_mZGQfKsV=2O=$%WM4hF9fjeA$fTu4a&- zAQu~qy9aSRH0$6tP9`dixYy1qZ8)Ir1>lGAT4?~#yen~gR3V`SE|F5hNTVzRLhxh@ z3d!ZK$(4S<7v;jSo#IhvP}6`HWQdcGYDHlCJ#aDOVWWN&l_TRlgX{O7)y{quLLE4& z@61er@!S>B>ogdDo?_+eem?DWb&oK3!AF#54}C1WNHK#L-P(ET@iu}Fw}$rL>=Lqb z4q=anW7P^OM_7-K_kqy1Mn-_s6nH z^yHnG=lFXTSBo4^-^mcdUM%39P<-a=>5{N}zogKk5%gZiDaSZNR~c!NZM7eH6&rJ2P7EeeL~hnl_zoonL{Pf{IL+ecIqWJtFpU#u({pypfVD~fCYts_S6 z%^W!#utWw-iFcLb_o3Lx^P!*&6}!}JbuLVMOKsI1m+k=6TD&EI4o6~fz9%I`6M{f~ zT+x+HK%dHz>BbUhh|&I~`F#9T@kyPn>h7+I#v%;aoV^Xi%uj$su@Gpar#d$@iU#V# zaYlUhhNOyK2>7%1sXMwu9~bN4I}jf1 zrWiTYS52Idvh9HQP%tT*4F4`aM7ML}GIn_=ke>iQlH1fy&8+V9R6!-uZsQwN4^<_G z)TgtVGbVyyOe-NqKr#`FYSjDSk}KSjbm#{Bpf^6!&yYZ&+8WEPUVRE-;Wn zM*C;T+VSGFf=!4Fst5i-keOM7h_|`tVQtbzU0}8v0W!Kcx%#7sL+2xspMOXXYYY#0 zMA(J0B4WN>0T(Bq{cXH6sd(J@5<&ndHq(@#lRy_o!qhc*egk;>e+Y?#kU{roUZy$a z@#M3$u=ts;aGH+3>mef9l1wln2VF8U4I-Dfyja)%Rphf$)uN!5Rqcm<732_f-Bkl= zDaWK7&y6EuF^!J7_kD!5D?pRfbn&x_csJJY+CrZGUI-&Ij_<+A;8*KnIVg~Qd@Hn; z!SNqeCMuF`3qe3ee9Jkqad3vbc%i)%>jN7gMpYcR3tgZv;mU==5VK4oF!Dk-YHdB= zv$Rdn^@4gHP>4jb#VvYav`9mY49owJWSFTLWy-y@wq|^$UqmVHqh0xP_r{sOq_Gy`B@4u3f7aHqyHMi>s#=t%XtK?aX5p^1f(6+&N)wQ;I(t{TMKm z^Hc(gw0iZF>DcC=<)La*lQ;@@TqQ$7prlNk=l)LKoX|^}O@@&g+N;*O|pH>Z1 zC2z-(`pzMEmk|RO>Q=7aI~NJC-~9xb*)*7UC!^-1@|})(oVS)v!qWXq9zI@ePSId8g|C! zg%2k5VyUYHKdO57;tQs~6L@Bx4qVe=0={t{DM-*6>`CH)|8SRiXwj zgxYW&4&>F(>8z9nHXc`_v7i`liTVoX_NuVdd1^=t3qnh&C8<#1vnO(mV}Ed5M2z`f zJ7l;xc*vv@fE&xIN5LvPA@3-{-<~UKJ4+xw7H1FLl-`G8Iwgu&xiMt(Eur0yS<>J; zjTmK6;Lu|*Ny!uaXB_!+x&m3}1WkV`roy7cyY4*Y=}WxF)qVjLKPqN4~O_6w(HD z2U93Sf1^33zxWj3V)+5(V@G-ae!Q#FYaK?7C`zfC*%z?k+=_$v$6 zr7oa*0bupNatx9L5LG<^u;6a2b1TkROz>5MlXr7|BJoR-=Mq1K$Ho{U1 zq~#d%?)b5n#W2o7G|4t2oYIKM_pR5(qOdv?P4fnzWBqe^ts<_%rijDZRJg)%8=%`+ zrJyZkLNomsPdP%q=~}t#9?u`SSnU%;UW1Hw5cVh{+UBX5n%JS{`Ud)h7QauOiExf@ z2khHPeyoY_(Wn(or4IV$oRaKO+J}$R(oF7zGqO61i_m&M(+#G@kFB_9oKR~>Z(ql< zv8d7{-PEIj6yFzJF4ujZ4HwH_PTK`e>wg#VTH1>am83M2ywV!J+IzdsnO@sff@9|lYp;_#}wp-4rp0pP0rV$D{ zeoH$w>}z8G#jMWikl}QG#CNwOSPG$v5QD%JO(W3)ZtXY<&+#7+4qqM0o@aq0Ij86m5Gt(|dwtjD1?=8f4$ju|>+62;hga6Ey@?Rl4&00U1*w`w3uqGAoCZ%%LHw>C zpJ?1!+2~3H`g-R(g_GzLH^aIA7(zy1BTm8p6$ z@;ZCRZrs@k-=2wrPU~pe^0mnE&MJ+|tsZZqMX+Emg(&+*W`mwMrAgMo$7?rF2Tl!I z6EHYbfGk&|Y}fhya6gMBPf0o(si3i4!&2R$cfj|KsrBfp3%8m5dtUtqF%AWD;Su?wnh@Oueyo>U!TE_&NjXP$E zPe&w5fg7yoaXWY2&B>v-rf0#{b;)A8tkg@QUGntC;_y-Q!et?l z6$5sLH(BtThN2mbf(@jV^}n3c>YcuZ9*y1eja}*KKeDVLpX9oBJ;8}K9{1F>Qn(A~ zTx7Skcqje@fbm^>yW~^8O^M&+zgZGTK~8P<>WalG5@m%DRiu1cjZ5~cZ3E3{WOVh{ znEWgflIq6IN!Jv+-ni>%LxzqLjz&|Zrd_tH^Apfw19t)2kyfU0dig-ZrtSvYsWbWm z<167(4_hB@YP`V7?=Pf#6NcZ^Jy0RH)HT)tHlTSt(BNg|byc-q{S(mP@QbC_b&u|* zb7=w1b#Ir&szrOLz{Uus;Ca{WcR^9UGQAXG?`d?Fj14E|<x!mTossk&>wxTO3a8ENj(3KZX8JWh45_cRHio(LA7l|RR zzeRu&$e}8QPNs{7X_kR5F3j9w$##G=FtZ`ej4cKtAhf@80r(mCpG#*bemejBv~{|j zX0uUf=Fc4gEMbF?CH-Own{7i7Rvx$lCf`eVdE~8y)l4*;@0&5H#JWKX1s*9g8s_U5 zD^`;u3oiQ;KoeYgeaRzj5UHWJ{enE7e(sUJzvU6}c~Jg)8rG*p?Z?}RoNaqGFdwg< zfPlw4{y%(Z0+F;6E>kwZe@H(5V`?JX zG}vICn1tb>f7#r3o1cJezLTIeQ;c`kKd26~6~t~mw;3X99Bh2ls~c`)R=XY<`p$js z<4Glc0*p_N+LbUs#-qC^O#oF`yD)LB?yRNG^CS!!e9cn&n!}Ji+tt!uZATT^+wLUv zsETNgQM-;`)d|Fy4~kWgHMqZ!S9)#K8$C-Gy0{ktk%rfZ@w2_%b4rW(R^M(+AUud} zT@P4U=TLx8mVN~2EFufKeUrgc`=Z?%_8}dGfpFQmW9TIf4-2vIZQ3BB7h&eX(1gee zh}q~DwnG2hiIdwq?|r-%v%%-~vnL$eP4tAjL_&lC9@Y{MbIe{%#ik>$0pq|xkU;>z z=K+GGB=7^tPM85@zckiLu%kR@L&|UVOxBw6&06-t{!rFCKI}BBM zI1D1LaLAD<8N%K;CXxWxPAz(S_T+h8Alm!r!jo|0^~bC6ZOg_Z8PfMfx_WL@KXRCG z(A^}8`AD@iFA>)dkD#w43b~pAqC&`E640*Sh-7)M;1k7&*zJ12;~3-B(3JyxZ@a`=`opZ_r-JpQzWqdI@my(o}RW-{0a2w z?3r-B>AFMc$NIt9fVykz9XownwP*P)=w~0UC*Ja(fVURx-*)A37^DQK)(P?bfD4mc zM4Fr3wI*++3W>QmQxZ^<`0Ohj!w6$0vai>iQMQ44=%0d z^rB&PW_w}oP$H;oTNC5D<D|{HU`NH{$2n1Y?`$*0EPvmK^Yl$BDQHuk{-P z-xF#TB`UEVYVie07Yn49R3cKJ=TuORhufRY9YccED8C{i9PwssB5ON()yY9}6!B@_ zQ2+ph@W94(@^_~w{?x)(lirWNK`QU9u>a=AKayttcRO+=wyH_U6orUDpm>kdB^3lG zeYp`FTY0}KfQa`x8yUuc9GMBLQ$BA0#7RY$>aKQ)+-6G7JY1O zLg3rZo!wLQTgJ#73;;-O0xR0ekgckfhFzUfxOBmh!J(l1LZd}((+SVhZtU%R@qoxw z+re84fRs*q-K7%Fx3;ttQC)Q?B2hE8Iw{4#QV8)z6V8@;R;u122w)6E$CI;~R{7+3 zK(`-<$g^G^_mwxIgXhY4bY=Mc(U5GoNEdIxe8V~_mn)Foi+?R|PoMAp=NCL>!0V(9j65*2!%l>;lZ;a(!W1 zi<0AxOrSK#XZ>AeXZdWAG`6-5e7^s(4+=IN{HWNB;o=q{xGpW(O~)I|?g)qiPWSDI z*B<&2_b(E}qrA0c?6q2(!O)C3J`p_#4z`A>TgP9UA}A262wxF;3dn=U^3^JFgWotg z?(c5i+~aP4M@J7TEEdBc5OP(9ry<|V+v2UGfWg;t%kjIDZyv5Rvip@abw?UA;ySg* zD5Q71duzSOd|rI@nbPht9_;&0RWObjlu<%uGpvtUu;Oz+j5MOQzK;;{@`(GZma)W$@>>P zVLsR%`p(z{;RR6L_P$#@aJL+Y=UNvyvROM@e}N-UTk_4G7BO;}1LD++?7lYHvLsVL zef146=0&UR>x7$)jB18`9r5V*-;qp9Qk7(l;&EC$7F}aJ1L8O|c-fo|*x_dLXuiyE z-3!dTrC-TtQD;h{@x6UKq>^oY65>99PcMkz4gf0QCx9FxVVl12pcaZ=?w4%SX7qHz zh`D5=o=O$_G=2#?>$7Codj(9lMyg7_PM#PjA~#Q zY$#;Fv)Z}?T;J{m`ejW_O=mMlO1B#JgX$bl_a17yU>fN2N><@8U$Mo4?i__gtld)-=`!Dl~vzW`qT zPy7Cs)%at3S2x+fa}UCuag{|pzRs|9Jm3{(b#Md>uW%N5rZ@8<$5CCNP&|AhTop9;3oM1PSkI;2r9) zN1E=^-7h8lfqcIHEYZ8up>Fkucbmt$=ZjgVC&9q|g#xJZyKS0$_@>WM0TzS8t+-VC z81ep0#Y$v3#{y>qzxWGdwr+{$97~I8VniZQ9ypnLlSpr9UH!w+(ACPS)a#ywnd6|?r}X$NYp?HLtGVJ^ zC#^k;|s8lck$w@&p5P$8LQ~p>Y^zPc#Q2#1nipVA4=gvs%C^U17Nres>zz@1*i#+#NRs0N^E1T3{dk{}t_pmmGU60C_m6S!-0(>`KYNxG|k$*J-#^Y>=z`#M; zzQBCW6#u?>GDXJF`XffH!O1X(R(M2QaHUGzJgN2jr?z@~xfY``Hou<$#J|V{#miIA z6h0I>FAS6J4Uaq*-`5!U#v-aM*J)mS_sv>nU)=B7A08)s@A+cR`?#yh@pvV#dk);v z|6ZsBA|r{0?noFq^LnYM8W^fo`spSoCttRE9Yw;|Grcf)B$zp# zUW#?amzbdA!|z4bq~KQ&LRkW0thJx^Uo&NocsnA%d&5Cz6bV$X_iBz87w)}$9?~X| z<_gA zPN;v|e#Un_X54#Wc!lyfcs>)C_ejUooo`or0#2k)IP_XRp4xC^SKK28EIgY2t+;qJ z`a155wCElB-6&8>ZTxlMsR;V2(XkUfQr z#FwLv_vgpF)p@Iy>y16XgO>fKFHR>OyLvTv&l4^K$45F2|C^s>e}PqR@Y0*_BR@*d z4#?h5zvC=XPLecePwSn)Q6WdBM z$Dz-;$hyS7JF~+d7WQ28$RgF7cW`@SM!)6N8IE7b4QvdLnbhJmbrh%J%c>mNfWIxOkkZTS+zP(yjr!i9CP-yYNq3Oa-;WAFXzVQ+GV@ERre1w zj!(FhKHi*p{i_Q7(^a0^kPi@;4vL}<1p&`Q&PtkT;=9V9ileOr< zJpExo!HW{7P5WC({3G-^oPw`+Pc^h50wV~V-{94u(fdcf%d}T#KhS0=jKy?cQ}8{D?+}e=oHkX8$X}&94wVNcoR$a02R5 z)w#;1%w<~R#+JIXvTY>JQ=d~^{!#eT^PXf2^b8G(O+ zgl1Q(W<7n_7Jn*4cD*rXUvf*WJ--A39vABg867zn@;3th&tm_tmzX;B{fi#H8+Dwd z+c!0m78mUh=N8LP0`1c+Z|+$q5`cQ>bFI=bd+YLV6Fy{}#VpP>|0kzexqWt@^&}4& z1RwhexL_kRQ>Lh~`=1i_NA&+COuZ*Q%fD*F<~p^~@z8xxKZfMD;hR9NK5A-R`wvbN zG>}3v|1kLf+KhjV_5K^6;Ex^sO}Tpl==`SI)V^9I0BN=6S>bXn4sWl0ptFaP zeg1Li{|zgS9{gCSj&4mDEZ|+HiPLGR5^2$?Zy;QB;?ul6|m5Bcp+8QdR%|JTSS+~qNA{NWF$5nx%pc;cSd{tqSiuMJq;$afhJp4w>( zG-IxEP|KT4b|X!%590en_4%(C{WFc%Ct2{@^zVDp6fU6s2t^4)U4*dzMv?z4?EgE! z<{!lUUl)r%DNp~2U;i7sJ+$8Oig#4)UAg@Sw9LWRK~PT!ZEy*6@OhS#Sey;3!1MXP zBHu;BMqYO}sMB2X%f8M1D|k5$aW5qA#fa!-)?V_rw!gtb{vkH~OJws8;{Ihgrt5n-z*_*S3(0*NB@MDDoblU^WV@0}az8OXyND z>s!ckxf-4!=DVXY21iiFjN=k zVN|ro(Uh1mYDXyah^vP0!8g8$ou6D&ZET+7pc5=q9D%9O$ZfeAQUojP%&QH*39CbT z=t|`^kQBlYkAxAtJ6T@tU*Z!S=a?ttxL%i!?W+k@FUhm*n8z6};xYAgHb>siHhs|~ zXS0eZ$eqe9E~p2V1cQ_(+Zf{Grt}(t9gIuGR^XLROf~$%;r_aS{56oHwG>_(j{Ojc zO3&2J-yp|Go0N*V1b>dYoJJBiQ!EOoS_51c>vLLY;V^hWlB{%oB4;i^=YjUWUSbAx zss;z!W0OEa6O_es6LsTeVQJ)K*`S|542OGvNr#U9UQCJh z+WHro_1D4kXHv)s?bov>R!%1VaM6{_^@jB-Y<(7h^gRU50p3vp$u9jYWoHh&T59W7 zJj7ACJq%h7Gb0ZCDct07?c{>LhO41(?C6&`K8^5W+me-^fQkoiRz+?We7TyHUDFSU zApv9_yk*TS2jT&#yx@1=cHO@MfpAJ%$_&{G9hW*zO4fxh0x?G%eH8eScv#aeIeY08 zZ5er7)_Me><400K&|gsFpUiGL^#{1t6xIQHQXfYP4*lvPq<3bwUo-86#t zDN-C%+ZY5G*i$YoyHYXkJf|zFP1mplozfNI&Zmq8$ zZ+)h{*vmqpOs-Y$;-i8=KzqF^Xk3B)qG24oq@$6|!O1_e?Vlkcy%wKdqjMV{u}ib$ z>+ueRMiJfD0`?P!U`JyPU%@HVZx8;)OzX~PcBkt4+8bz`J<$u<1ssbBuSUF5&Jj71VY8JbLi&RAy5a3Gh4O+v-D5Qbh-u znO|PenB&RiH@*&|QXssbo>7(zg2*xG4eXAc&U1t40zMV=QPrrb9K8G^)BZ`W`UC79 zqL3^rnmjyr38JipDTrT(P4`ab!w%B znjWrr!TpDp{S(St`@^-P>ZPCXZk9b*g#SHcbB>$c#GDWB3+2_s^dBD%Az&p+(o~~% z-)OoEVQR&FZRM2+-56H^07lZ)!CV$ZV-9!Q^hwt$^2Y%-Q3`Z}IOqYm&Jr##J_5mO zA_rJ~ZIc|-z@aIZMDzsZ)Lsk-7$a<5oay5j7Nq=bWpHa*gIrrQSLZx z^*sH?K6OlzDB56-x;p)B=jbFt)M%aH)NNlm5~6Sc@gpQrqf_T5>Lv43sO*AQw?~Ej z?25M!z5VRMSJxm?;p8^>`N>~TU;kQz{EwNKXA@b06tNgPNwZF;_COW|^y1<@$5UkkZc|7f=rr_k1|<*~Z%aTJ%OM;YRS z+0DG0#j0WI8Ml*H`uHVN4;l3uRW!7Ssik=8B%=p-z8HC4H)$`Q@F>jzEn9JY4Z$#1 zQ7Wz`nLjo&Br7Y!C2UzJh-ftgR&=KZ9J3D5tptSpyfuY$4C}@Bu26b0Edd9vpMZw} zj-nKjP5zx)Dm6aC_R9j=tjIIxd0MGdgOW_Fl4EUE-UT)IYd};+AWUkCoBC($Zx$S> z&{EU8;sgP}U@BTo5#mI!F5gh8D2$jO(Q>>n+XlnIfQWlIeWjssGX2^aVbSTpBaukD zr!5HIDgEw#C&nuv5b`|w*#Fqso<5)mBAkE{}-OI)|irHXiret+}e=??(>R|5On zaA<)~5w+>K9SooZQZ}G8OFE%)kKg(EfyseX1NgdqJfXq(4k`8{z1Zz>C_KLNwec ziw(!v;-GK4m=Vei6O!S-wZjy)D?7|Ctft9}h~-)=jtg#L-6njza_v~34;DXLny?8( z_wg{L2Nemzk@tCV@9LVf@zTTk}zUjrD_{;FrB(IZxM?n+{UE7cP1O!BC)Q zd(`5rQ@ud{VbcDsCF>T@(n#WaW%4{j1@gYW${bs0yTN(ox_)-vUVHuSdmNT~DBHR+ zTt6q8EGBJzfL0Jh;1F-VAb1fofh<6_v`9O2`pdYNP~@q;PPEYe&9jkD7AztYw7S8< zOk;aHw4=Y-JMlw@uzS{W`jE{2WEdfFopyp2*XG#;#fNU^vK;ItGV&2 zC?^q+aM#LXiY>qQ5lT8>{@ciz^YR9dJr6>!R5@9a+X|-2!!Mx!Oz-~_D*kT?=jq4b zp)?=S2xrVEP^Iz{5rirrp$ z-}-HNt=&`b>!pRn6LvT$pyS+aaajF=(C8GzX5f<9)xStkqXtLd6Qr}gCm~+PR91t;C}8rf+-xT0lUruD-gx<=S;=pd(Tr>`=hwgFM$zngGNMG+WkT> zHxm+PkC7Ll*EB~W6e<#bt?KR2Vm?i7Im-O{(4=Dg`H4`*YIr4k@Do=&1%7=-%ctOA zyirQb@3bA9@7-{=u?;ENbzCwU&#j_oh%NS8@=uK@OQ}hMg>4OwDP-p4>q0q3a_(5} z(rGI#KR{^0f}K=B;2Ix8Lr|5EcROxX3sO~4*9B<{phq%ZAoepwE8%=}?}4ALmFPn8 z>G;(We?xx#3laVGu@(C|w%5R5j`{I+0V=sicHgzX2SPLfqD$?aK3wJCGII)1M()|u z#o-S}S6+vQLCCE7d=~x;Pvm*o3VmU6GAblj^PIzVH*WHVDc?|ZmSaqNxy^11Okij3 zGZB?g-khw1Umsdah~0vIMH`YoW@vxShbqk!UK-s?{q2kDn9)~PuyCM8AX#vG37O<4 zz=D*~4snzQGzQrx|8_Iq2tS^qCRd4EGh8JZ6Zgw?F$zL$(>Fs5yb7gD}TTm`|xHhleaUUYg5xc%jy7bjX*)o+>+`^^7?poud z3KQyW+jU1lE`4a($tX@!tQZn>x-kmrb|vIu<72}C;}lp6&~7h0gu3Xn2GN@z4bG3S zWKJ17J&TXOCZs>@Zu#Rx@y}$N-`i83juu&%dQ~l8dghWlfe81fAcsK_Rt`N{Hn15L z-87aIy5nk3uP%p2hqd>ETCgTZ2Im8=AEFKpavJraFpfOR9 zUYl51STIB$4zy(I5*V=%oFeK-=Cq`i?h$b?BqX?QTvZ^Ek>_<*!C(44EyI z5QRHTqEQWHID0;WEo^ys&@+NnW&G&v15GnWHI@U&7X%D~cBIqqr}|WXJ>z<(5%T(9WQN*g>fKce`w8K3v# zB)A*(m~#w@lwuZwJr^gn8+{Md@ShX1t@ z??l>1f|Lc4e-Rm>LQ79m#WH8MgX%0Gk z?@U4P-T=yPwQYL2V&=FYM!7IgFSPybw*Oyy#WS5-liSu52h^vyL_QYoDX) zmIz7MAbtM=J`0Rgg#H0U41)D%KGQNcCIk$;J@F_>rGU?>q7EZOSp`5E+dMdwDRM`8 zh|S)hZW3Z&Tje>Ex8EX}5R2y?ke_BT1`GF-1=Ae)^FYq}*!Kt_?O2Au14n9b;0?hg z;p>P*Q92L1K;lG$BXCx5ATmFT`OXn-hWabp)qQb`aLXM=<_3fQVXF%M6%tMUk-upT zG!qXt+zd{?a|l#Z9y}L^6uuzE@}#kpUatRK6|M?p5tz4$BNT!Vn#W_GH@6*xFU5$b zuE$i~(@ikkk4|?00b;Qkkkor^XA!YL0qu}2PeNm_*M~ES4Lgk=UPINEtftF%}~%mw|-g=^w`GFRj#LwWa9G%{x5x%OC7s zl2!U%Tu$Hm?`yVY&_l~bfYVDeMIz)Hsr6D;h_ZD2N;)T75h+fpP;nb_a&F_1d^%V= zQ@fgu+5?@7BJCm+(ll&En_s9?3nD=axs0(25@aVh!fmDD1$c?mQ_CM zh}wUXmb`RIol&kMHuL>JV-+;nVz)ti3$q4>Q@Om*2|~OZ+hc)<6=$nouc2x5ks!pS zjE0HDw>wMJw?BYsMg_MlK+RB*ba>Q*iS^f6V4WwLP!&PitwTnJhB#wY>=78?qwr~{G-42pD@9ZDFy_-v=g*5l3X zQVo-x@d+m{VXJWyK%|&*Bfkmrabd#^XLVSDE=QznO%Lf@b3tPZi~4 z%7>8wrChaBP(_;`4-}VVJB6 zvICsq!}tayDY&w#9qs7HCn-|p9jHJF@G?ZLyCpbINP2v1EabiW26p|A3!2!5&^r{A zk{$phe?Jf|39|mr#NWb-0u`kh*RtF)G!)J9t2jP;J(=@lK*3$hs;Xa@-?b?I- z`?1TT$OOO%cTexfEu@Y^gj`A+;~#Li4a(cz7!1nr0bS~7sAMAt;fFEK6@-!8awSBJ z7AtDHG!Nwbc{L8!Do+N~G#xk82e1pj+ag!ELS0rOhBxBfvtc1;SbcKluh)(b(B{(0|j~fpYTi zE-Be{Qoy$qFm~=AQIDnd3*RozrWE=dwcS-7_$nJahR!4t6G$a~;@|((K7aVC(<5C9 z8VMAJ)tNT%&c4r7T6}`BC00_S-sYg_WRk{Pk;e1RgG1@ z8KWpN5vPt@n4CK^-I82zVzA3}jE)hs4%Z@;%e7M9WHEqB2S9RRT#M3Xa}2d+>o_^=2G2}_qC*)>FGo4K~b%^HksAOM?zD;n;I z>viKx+D8-J^>`N=JqINa2@}%`mVTnn>BzYfav&GX?r?oL)$|zPqc517vZz+imIfc- z*ce9}X(Uy?-q_`4TpPbxJk-d%MFr?D)J?)|Ord$eDb^(iv}YZGN*l)QOq=|KpoSA; zHQE(`2pY+5&-<}9bi74QTwS)+-E{YWc&ayCr&Xwk1sT4k4k5Se%O1kl!Fy3z0|-?7 zdp@X=5e-!dlBz9clL-u735_65rtFfOmE9esEc7TSIh-b*Qx2iIAgm402^5A|)kaxj zgSDMYVR2oHK%n;VbE5JhEt&zcgRA@yYPehiV-4;at-UzDtX(YAxm2c#nosS2Rk!h* zrncdN`I43JQ6`FI2fc=PyvhdthSTrc7QK&wHa{M#I)bpfAPz;LqhQ;h*qMzEC)>B0 zQ2Kl8BEjtzOgW9XAiT_%ozl45$~+x&pX)IL;sqTp+)1$A=exGf92%JYQXjp`n+pDA_9eIg`oW!_vdN+)vIt;*dBXcwf))8j)bH z`2C){i?*9S3Q^7Dus}`pFlSC#{l~)er9(WFw+TbabIL~DU3Qpy{JghFSxH-zh%<2#Rpyh$%*QYXhbN$cGY$(JFAUt~bV3qHQ~?^G&3TbM1L7iSqra zE{RWI{8br@CZ}>Ig1{E(?IhLd0LJ!>cvf&`e93Z`Gma?5;am|jQ^>e+KEU}#BgOBsG8e=6s+*p( z5|I$4I+7|z1`rR$Op<~3VZj`rx6d1@FN6Wmp*v`y3KK_YP}n>H0v^2_eLUUNwXksv#6 zPiD}!C(=}M_Y(_)PBTLc58i#U>G?>4WsITZJBB`2ZkAO z!8a>LDLa^vHQym^9Bv#rFDw4U@R{D-0-=~Z0xqu8&UUpo>Ie*->@R)ZsJCq$DW0ty z(@GLB>aE;rh|_x3R2tR$Oep*k^h}h(2u;~z*YW;PMc5Ir*oeKv_QwXDx?&QN>Xzmc zO>5r6Z?-{p%A}%)e6K&dv6E{+lFIKOUzKWdQm~wcL@F4b^0;>F^!+zVkLA?%5EaZX zQgdGm$HvA6Cdls1({d!y?ySBAVoGWz7`oHyo)DMSGxUJ`o!PgW~gWy8cfT5|2` zEVrz=*Gau2-v1wfnR{n!&Cc0A!`B}b&SS$8#dhC|^?sb49KanvLM*7&wn9)(YHDwn zMo#VVV_Q+v`sBp!7StZz1bAb)5&Ze^|1^2wzxk|hvTyD9`g7sq3+76yTbI}8su$~DvHh;pxx>PeFJ63GY!nnrdem|x;X*}4OzZ0N!>5=1 z2LL#R(9S5^ZMz!CtM5miVSoWu0~V|>U2B^yP3zfMWb-Te4rbj0NLLQdGp zy5oIS1fMx(?=mfe)uxq7%cOFuMhy4JEff~!%?lUP3|PqZl?hJ4vIt$N$sL1Ik3AXU zmATdG6*88*4-Y(yn3F=(BkHzucecP^OFv5NA4M;iP8FAWAr!aMQy685wL-wSob<*$ zm$7dm_t?t`0w<(Zw~Odpr&}NQNnGRKWut1>s(ZBV{9U_}Uf3Rdn3L!cY)2Q>yuYIt zb`hx)M;{+8Rt;ww4K!92qow*mABfKehilGN%dhpjZoc85C7|>|4kIUb-)Y0m059n> z1YoS&zaV3(tLUM3ay~ms)yNsgK9NV2aWs$Cxt2aMm_|KKn=fDaQR{!yCy#{Zdnale zg#{%{AM<}p%R95h+>kkY%*g+kTuQd z$UZzRRq!IaR;L)cN04f9`E{{W^bslEV?+I^UB1JS@Mn~l^QK!82c}Y{r5@F(XIH+E z@7_E0(fG+zRbQ#N(E@z>lyT?bLpwzG&p3JRaW?IeYRk%A=5Tvsnq2aOpiEp#x5zYn z=2_=UmrW28;}S`vy3W{~7?k#~K`|2^bMTtZrpn9n!Fuf{HLfwc-?X33HZ<+n!3^Qm zXe^&|OebL=Y+D!<7YmKp6{%4h?+5mH(RZGk7@CL+p*UYr((czA6QGzOHY;?))LWeN zeNm+mo?ItXoDtOlsT-y&XwUUxm2Invs0Y-q#;r>2&{!wi6($UH7gf!klGRd1g~t%2 zV)6_PLg7YCQx%H@wf1dBwfce|0T&vr3oLrZ+(Tc(qPv5budgVbl{}j!D3lRdcC*%@ z$EwjkO;ZsyBQ7K}I$&RpJLBF)_)@6t0kV9$4rAz(-)n6hxn=K-m8m*Y)$*4giiMbH zbTBJwo#J_2apM`Pkm$)#%6Tn-$Yd2y%V(TM>oPV z;`V5B9S*0ym(ntiok&B*tC2POW3SvC^{ajyN08-I=H3;bqlOrVixACT2Sad9_hoaY zIsIFc9rTamq|QAn$JQHV$bv2p3uq|{n!!8OI3fiKa*vUQ&Lvn0q?C!b4&u78JWl(`~g5<@#Jf{Ymu zI@DYT@~_{6j1|Cb50lo77ePBA+gg%PlX4n&FqdUM$eppdPw-Q(J9;M5-LF-Pgyx+K zl?sZNm`9MAEyxLj$%axpFI38q65&ePv|8k*+Uw_`BC|Hcavaaj!^Ui62U-PKhMUY*io>fL7>Tc62vf!^dQjvp8#F=AUN+|T| zg}i4HuR!sDt~sWZogKmQPIvqmuwhyhig~ZJf|Vizba_%4dI$?s#LaaoIuTgCTHg-3 zPK*8KN!xvAEpP*JtOu2J3GuMPjNEn1`CHI51(%`2n5i@?>$k%p<)Bdo9v#k8v3P3{T2Kgv|%KBQR>UDH7En0I32V6Pl<)KjSC> zXZyn$>(E`;A)@jP)1A>7#kE?NAn$VV=RVJQWB&b*VhkARyDab|8EIPL&a^xJ(?Pe~ zg*ioA#|)Xs%iCR^2Nt!HtX5elOAa^T78;Z2{;GoAeam{FT&^O~l?9ZLs+HN3E?c*!yUhuMI4f4J@x+;5skJ3M2j$#s zh+!@WV%DmoDN_a$Y&?9YC=7Y=%9g6EC}-HisrvwMmLt#bpsWmcQ;9IpaHrfSK&9xY zzBz8%sJjz*+2(D}CTVG)uhJbIuNbeI*c@~Z2Ye{$A;oyAEVWN537xgF@VT}O`!ujr zvls3&=hc<+y4)P)>pxSKQGzgxw9hzkeU&M|uZ$k#!18S}ixm)gdLCy7Y@WeG+$)qV zXywDfhbcQe#Jr=cYdJtH8H|IZD9puSPkVL-nM9yCl?L2m(Vk20!P2mpD=I?8X>xwV z%RQ~enCu;q)9ak$c819C=sumP14S<0aoFZv?|k1{*|STmu0EG?c~E>_ zX}2(m9tXS;{w~<&(>5SXNTaC z;|dEmtzYM;i)l@x`V=T5$k0aCom2r}MHo{^J^?*kG{b!XJVCu>`M9aeE2a=2$3$SM zk>Wccf|#Sn29syZ6_d(m%Yl_H)sBOx9d7`{uC-h{3}osqVe7yfx2+h|RsLij^|aOn zwycGmX)vIg>j+qgbi*yf){IAQ%wPB9r6jX7f|OhavJkmBHchvGDXS+OLfzT*!8)!s z&Oe4=Yb@vYD&fK8lVeV0{AFIEkYEY0K?svg}Xi^SeJnW zv(jV*f06T|AlA56CCkhzP(sV8!Z?LvCn@SpN_)lN(Jk$S^)Veh!@3MPi(Sb6TW6yU zTT)f*vzQN)pq=c8Qm_@2n+or^MU*#%{Y*fVxy&kpnt&CEzxyb6`Q)2oV#>p}BjssU zDZ4+4jt53nxbdATA<7*fA(=_p#FATce`gM$J*4%qjjKB3{@HQ@+l^$i@Vs`maH4Zu z*<^#<7MD#YAFdF}kH~%8vLPginM_uPKq4YwGEY6l6<{jCki(D0Z;D}3g6;J>S7Hqe zAv0157}VvR?at?)g$sy{`2)xkmVRgYLAjZQ4xLC&qjDM1UgSo6v3!m%FE3WIWRs@W zBOIkx0c1l4tqw34iP{74bkdn-?tk0zON%j3j~t%IeV-r)SODLh@Gi90ME zvrGW%H?)_FJz_LA!?fyrC)1TTNm^y)<1}5{A#N$($5_3tuq{;ef;V*x9e;EXVESUA z<$x5hSRG}*KD)%}_D1lU-5mD;)2t^=D;YZq9-&!+Y^lLSp>!`*4-+tvR_x(&LXfqt zv2wCuu0!&Qu8I=spfEmtV~JokTM3~~Eiyjm?GMQ}iXWtwSGyizL3^@{{K9to5t-*> z5*d)0>}~eiz+=j)KH}#@dFRdXa(Hu$#ZYzb#@C|6LMQRd1fA^H)^a@&$5v6ywl3dN zI~_s2siDY2mT98?##u_6@C6p+8T7_>dSXgZz{-_Au_{aEmX zgM0i#UMx3OeiS(Q82o|VFdK8-duuTpky1JE@_vBKWvYbeeb?N3w7RO82$BOU0UH3u zqV*Vr^(yzmbdmN=zBz9BqUIy%^gT$gK-*2@jOmUv|J7?^h^AS+y9%xwRd`gZ!~@Fw z9qUa8)I3f)BqgrHy%Ki^wYJ4|fK#4tw>H&|XB2Ajo`q>RPw{-OpRKv=$mleweQ1ac z&tPCI>>OUJvIY#ioCd&ZoJr7pXm&0doiGNI`^3ypBZE_=ffWg}mUpU8x3eonSK95( zI%xdt87lOCwKLxlth4pfq4=R~I^ffClpA%mQ<^__p&g}i^xQ87gtVg{NCo;6Z%*=>Itt~K{Gq+11BMa z#$r!kd2=I!+t%_|PDFzFt1JS*{B=F}3wr&3lrpT8{^vi^|3}aE|6?{#{7;n=2rOyc z`2!7-!TjMG005H~6M(D5_?N&f2Nn~xu#2zwdC8K+gmlthS9tn&G6=-{e(^O2H06CK zU<|+KLEq_GwD06Ua=?V|1X+GoO-Xmdm9HcL-q+*TkAt$m<`yNO7ya86=pF!A8U_%$ z1<)q)Y2b4HLG$ZPrLeEZMG5nr(K~=@Bmd4Bes`e~_!(O!0Kny+L1g~nhqRXd*QFFz zVC-vF=so`cyv092n1BHO384J-5f>-P?SEY@2m1V(JH`2We#8HV0FVg&31s<|uqXk) z33fTp=}$7^<{xKM5&$5Q&7|`$RDNaz{;Nh10Ven*T;kN382mV!{P+o z%>CmMg5>>0{)-Vnl=+oF=l^RBe9bLNqAh=12>$u)U-N&~2mp|!^Dq8jeB&v@rvaJ#8g1tv7AK%7oqvhS|4#dx z5kQ_#MDzcbw9y};17&?L1Ng>By`4`4^7xFdExP+P3*1TPAEmx#|4M%`0uTRjEzRUJ zqW^X4+ex&OU+^m^|4x4~GE=5S@o88-Biq04{gpAK|HudMy++`{Z7qdN06>-YQ=vaa zx0v{?Mt{)2{6+$~F22pr|0%k~#P5v0Q8fp?<^DQ!>f`N=FtKTgqrL7y?4A z&oq;yB{fUGdT-y-(i$xW17wGW;OCeJA}KL7zTL$g_8VNsc- zj244I7`!I02XgIgHEl0_QK6-b7Hfv#2+p-L*%OS(jIaLXx3rYeVlW8z$yIE!JiR=a zKevnftqA|Tl+$7~4ENh0*6KGY6~+I;gIx42i_svsj`>8Y=+KY>(2lq0BTE_mjRvp| zAX1$_@BL9aR8v!5Px7nt`$t+@rSE7kjJot7+cv}Q`SQw^IGx^$-^%==Mt`FLc)OYu zE`6%iqJnd-9%#|T{8nfwqwi=iC7RY(2-0{`n6Viy7B2d&%r6-IjRw$>v-7;*fMfBc zM>V#|+C6{vt&X1KGQVK-HyVJCXP~wFLY!9G?nyk% z!=L7TE3}l+cQlBv7CxyQD17_es;R*m6s+-EnO`va8w|%XBScLz_rXP|%nM`DYKF^w z9^AdXaN{$Bqw*z#6t8uFHMFbj!ROKs?lY}%GntV2l`RSRHy)l$+UQ?&iwcvGF7L1w z;cc&4wi9h%DCI%Ow0a`8vO!5;O&!_SvUT2Xz-GC7rMOFb`PUsdFhKsM8(@Bd@OR+& z`gHsqH~>0i`_^aP;W4zrIsz$u3O)E7`{xcE{LidK{|7JwIe%598rDWgtMy8D0yn;R z60zNWK1Pae-BpSd10L-tU3sVZflijCUy)YZLYv)s@Rb8PCa0HhKQ3TlU%Qf0z zu+FgM;Hl+X{0-IMfZiiM3)CPWmZ+qLXw0SK>u@MBA|hGF==zg9e3-d;$BVeCBU)iX zq=F)5EY}5}ZpRp4(Z$QAhCZ^%exoVb)VTtDn!6h^Lh0CxmGWeBM)i~Ro@l3ehI5G! zD(s+~;qJAT5n6FgI$NR)jG_+;UGa847IV<8nJ2TdPNuo0^2T0>lW$2f>?lPtm;cM; z>Q|~0)2E1ikG37#zXu6{Fw3FnE>JGO6QXpGl()+^XEgT;hd=CHp&009sHfUqsE(fk$h zG59o$9L`(*)k!l7YGAo;)}V+;^H45-e<-OmAhTrx+rfun74j_3eG#sPTA+uw zbbMg})?(Sfz8kTL&pw*?PkU=^6ESc12(?Nqz4iW+aY4jxXz%rqw{k1ie<`_yc|Uf$ zwdT^AupMtFCuWl_ZvF73fn>=<5k+?iKQmTbIiQhHXpJ|@x609!C`K9((&4)3fq@&Q zu5?-?QD84qPfTF&Ec6xl4eu&juB6-?Vy{@dJ|?nr2#a{+#Y3T4qT4&Pqlojz#Z(#( zMJfc+zr4S8LHKLN&pvc$YP+UX|QcMFcMe0%EY;g=}95<3f)q+5P$k1%Px?^LvziFm7t zZLqBt3DW;fUkZL4E8j)tSnHAFV>U`KvH-JPxty1tasScX2BcxUS6@Qk(2TSxiZqn=6Q=-{#t?j=XXZ$pWgc9ZWO zW6Rn}32b>&mgyShM4$et+6F}6_Sh*3j+x{S(RO`Bw!C>BWY#KkPw{k3xhfsxj#LYP z4~U~dSf4H>QY1yqA;6m)OJ~yJ09nmIkXpNm0M)v0HdCp_P&|NCiIWx)b21w3%Q>eL zgS3TgmjF*V2NNex#%!=H>P3M8Bc7aqU^DQ-WoM;2SHUu!CPa}s)qhe9;{Wn-my)O_ zY=_7k!@l-~c2ZWl(Py`1o^Lz^DmmQ49{UdC*fa-D!pr^&IOl5c10@MZjSm;lBAkTQ zYaX}O+VA{BI03pswXv4#vNCGjws>rNSv(uMzIUIw`=KH$Sq^>wkc-UkTwccx?2u3XG^L~p6XZ|j(QSrd=7=?VuR(d@jIon7a}$^h9i(7 zB*FgxGS@|4rtsu1KxkXwZo5q*Z1cieY+g1#dAI-Le*pR;)0vQ4TXNe^yx^~9KXrEg z=-Jz&olgbKtXTy`c=f0@%6xj3+>rLgjwG(sGIpsCdDTFhg3?j%wzL@$f4NKuOZU}r zvQRv@oWN3f5JwjFlhvs6xFTx5u{6$>$=!78(2%*<3F3yznW=lM?vbfCSSkj?`Mg$i z?8}O+A;C8zwn%jsaJ%iSvt!@2yjE zkt_S)5tK~9WS@K+lkm0Mjv=!~cwPxtcK9Z+rOql@^JIpU@d z3HGS=QM6HwS{YNETvCe@b}*+^g;3!Tphw2kv;P2mV9a>yGY70nR{3-D_49ZlEbfX} zQ@c{#j<);xdaY{el_FqsN)bpco$c?u`|R7uuurHLGbmXIXhQ4L^ z?(#P_>^u@mO}R*Y#lz*Qb)VMs-%85J@{`WYkfP31xCI5xKCfDgq(`d- z-x@yZJ8e8Zd+Kh(jez$9i~E=pfC)7Ns8=$fUNT4B-uZYJ({@I;OEGvBkj84_e*m50 z(o+`Cr4I^A_sqA2IK^b-bxs02cc*zVD{ZZJ(Uv_jNHl^gR9n_U3Tddjv)8W9hN_%< z|7hmzPQA+4Ay2Pm-c@z^58wo0XD}B60m3MdA*Q1QLw-CanPA(3c*`F3dCkO0F zQ3dL)lQKjh{RBz#%{}344NY5Srh(xYI3Ex^XG(tSp|qbdlZnR z4jg|ud+c-cg*Pu(pXetp5=T|eJ|+&UrBGCf9>rdYkl5F~iBMNBYTm)c*UA>b()LPRjG6QyiQ-*NbeX(PMdK2#GlH)JXg)qJJ(1d zF3mbSf!_dME}b;j$=K-$>^*I>;KbhoVScscfvsjoWX5NY9}3;H|LCU!1vY~ys)M(V zjblJ!sOmxtNu30Ab_4jj0(_$lA0A?Yn$c-Tp#l%-ih%(mmh#Fjj&y>9p*X48NwzCR z6_klY2c$`$$;hqrG2V*P!iD`5co3!a9brM5g_I@14)J|rjo!1|6iYZGsd zyUUsr4&fO2SZT6NyXU8uSKoQuD6FUJBF@9MkHOa*`MXQ(j6A!#nKnLhvE{~|+2hw< z0WJd(Vj>Rq^+s6w=i~;+t#7=0 zy5?<}UFf-sx38*S@Z9rq=56=&OA99_NEYyqYfxN;_s2RD%tbN?eg`jYeDG!O^M=pP zCTcu)3*x7){KQvx{!~&Wk3_TLm#=!I6rs6s+spprPZ#yh4;$={-yFE#dG`IMH}CG! z?|j^KZR^Ag-?wG*=+KO?7lfJ5@d7>Y;yn))a}AP+P+M4{0pv`?$&?r(imN^u?JfOS z%e~Ox6%c!9V)2vTJ#PB;5g&z-)~8(Ve0sn7MfA3hdVm-R*c^w0r^@AZ)s(i0mF(_y zN@;KzZ86LgQT&h-eo!39b+E$H+COai^U3?}r?rbJUeJjsh?84!dG^vFnU-@SJ-Tz5 zp-I_m*S|g%_pu=Qf&0-AeuJ-@=3Aci@ErT3)|mPH$d!*kM{`m>Ii<(YhOHeoaYnTj zMJq|StUXCvkmzs?&%${H`Yb?gTePiUcZ*ujmq&~7b0F>I)7^{*kM=yC7^=E{?$VkK zdyjg48L@Qgd6hh>aN6?@S+Rx%*zzG)u}`h989!I1A(~+LdF5Z$va3`lg)x&LQjo17 zaNx@EG~H*$#K!LCCl4aJZl1#~O{y&MCP;}V*7Qx{C{n^4PZg)MfNJx#6{?{L#=wkg{zca~kTc31nQ^JWEc=ut&C z5UpHb+qGkRUXQ*VZz^@I+O~i1vG>O3KA&kq`mZKBb~2_HludhIk-=liFb^W9Cr zR7Gjk`9Hm(AVvQK%#2MY1B_S83F1HRiamzSEOo-_u#TzxZ>Xq9JE4X!-F8+`>Y$|O zm$joudm0I8s9^d{o0v13t-qtP_E!7D`#4dqFhMm;cFc$8 z17$U!`Sa44IKj&wKbriDNOKxq9$K)TP}r$|*e)SS+=2mMQRB|j$LTQ&>&4n0w%@nd z)2jqqfcuO7{T4=bo|`e(w1Xq5($}$K@Gpg;>Q+#Ke}1V@G2Q3Ufn(dpbBhUOHfMUr zy-ecUaEkMrM~>WEYa-kD)k?`aSJOGylN;Y3FM1}+MDrk;gYxW^^B&^kkpL(C(Bk{fXMYtOeIwFNzw}8?Zs<5JKY&AnvI5E1d13M?W`vZS{wrI$-N- z$*PWfyV>({uSL!$N%Y0$FLM(%7F!o>{tU|;-;`pMwEntw9!f%qt?2coLj-#;&uR_j zAl&*>ozdX`0JFcmD@TQHF`lf6PV*XrhAr0es#%xZbQ?RO}@FKcUSNK zT-LOA$LNNTs}T=wZ))1{V1L48{x6Y7E}xzYY70R{pv~M;>4Frl{Hf=6_C2*JxV>%P z`MmG$>I4FZPZfpdE4BqG=_?>0#ckqcqEWcqWhAP*1?7UY+~v4Zw?SP(3SwfeIpU@# zJh)`E6XGv%p-nzC|DaBb&y8Kyh6S!z=jO&L*TP$`92)oKi=0&JI!dr_j3B_R!P^xA95}C ziG&OiPs|_qCs?k(B{zdjsFUG|#FI?+?|pgqeiO{K>z71m|BcZvtoEyG z{~a7Oi*+*M=Gm=9O{LJpp$l6J*UZZAI=t0$@9U3m^6o#s>%RJ&es6yC?)!IhUtL(# zxfgkW5JhHp*CACh#fDl|px^=4bz+d6SuX@~Xx6Ji_ z(ZHKBN4CC+G77J`xcl=*+lY5htB;N6-M`v=A>wJ@hfRwDja&Z#$j{z+)qV9x4s1~xEnS9?s3(Nb~Rse|LmC6sYO!j z(uuYlB)80)-!jYh?pwI`@Wow6{Iw$6W)-K;EB{I3|C@sN24_ckI|s3ycY{TAB((Xf zKi4RvWVVf=Hs)>hDduna_)q%w$JYO)6Zcv7Ps`?`4X4L$Jm!$^||1{ zi~s10mOfr&WG}7R_4LN?>V7}5?!!%cf)c|T&CT~|jP4eF5`H7sFZx&R*AFn>Jl*o~ zPOj0I>52bnJ)CC9kDFA4PcuZTmN6`42i-_pk}lChgVb zo(Oc<0m)-uOam9I$^SEe^(8w>b@B(^)VdvNcYNCQZh9@aSR*C>%!u)UX?cN>t1tlWfipLRWed-`BGt~eD@WIZ|PHNI8p` zbLkMl@2cgW!+K7q)l{&6_Ep_Fd*=VpEC11jskE#6I+S;SvhEKJWBT})Q)j(vR$!W~P%%E%i3WrU z#UtC&Ee(u{*m1V8Xe+j!U+pMY%i+mR4`a5Hk334FP z>?o*Z_g>z;lDbGe7d7^Z4K_%@IcHQJnr5N{iKST?!twaFDn z(E`FOb;`5~UZrFW3Sb01=EU%vdx&=yLYctr_bo_m{!|KdLetk z@+$vlK3Rc^mJuBYVJl?J&Dv)S($nNyo+=BtetTJ_TISsNqVV(|%;2wj+YbtNF3z7* zo>M|&6~lJQE>mQexvg(Tu;y*!0xcqhKsnmN;p#a&GIK!(p0U0-5u|d2L3HEh>*^zv zEr4~YLF-N&(f|T$OF_)^MutY^)**WGDkbrDb&P+HGpmKL7fwixDhhLU&IfdNqzl=) ztS7hK#=<=;U^H@3s~3i>C;};eqEs#>3l?Rlku+6nO6V)?X$HCN)y_SG%mJsuY)DaQ zuf%7$#X|!B>?-{@#QywC!xQJ$xUk4AupWkRM8!DizaH&>!OK zcN$^~0SZ=b23muxWTMB1aJ_`Z+|6|;)~X?eN#o8yOLA>BdqN(X;1x@go4+V17mq1%pgNb616`pt z_DDr@2V^od)XI$Dt&ml&(-lLk4zuK#P}hKnPle>pYLfS@Sd8TV?i&PVR{s&;45WAQ zhc~X7g!B#OII4Kue|%EDZ3=^VWr4*x@prBjZPexTGhCDJ_6I~wHbT;@kxH@0Q1fIm5E_le-IMi-5{8*;15~czg(}rmWMZhNp(5}T zHuYMUv+$Y-jCfMmNJDjHy&8#KB9fzJSey(Wv>ZViA0 zHc+ZiO3+qv1neB|c}r$%Wnhe$*x49b>Y3di(SX)0q)U=i5q_gYfp1+dKFt@;PQhXX zp=$YLMF_jKN-)RcPW=N~FK?BWZDF8&Yl77bOsAG>3+cnIj;QO2qeg{}pbOxdEmPvu z9$#Q&K}UiNfu`-H-?v4@20SF2IE*JF2As`L;G~-$7OJjsc3yvmk{YnH*;T2V1#tCo zE2pj~PF*y5@ej_0CsEC2i!}dT;0a~x*1OMVr&B(meh4fNX0BE{qNwgd5(5*UcO%l$IB@`32!no0>2ueQ>Xm>*Zu8Xr| zzlX2f4 znbV4OsbLiArlpM53>M>Jz2cdmPL?zEQLGN4%8$WPGfn_I$z6fjc4wDc=GGixCL*}t z3Ut#-9Fvd$3S14udMUc(J0c;LdB{>Qlgrc>GtN4l+LvY)oZ$Z-!2QFT9u4QNr%P&* z+G@q=8grYuzZq5jll$`dd9C>N_;+!uH>$MeN&+V31*lcU3HQf#72GeDS$pMX`Uwu% zJWRlDb!R>&E;>)Up)dp^xRK2l$Iw8aNQd-b#BD)HJVJk?{40?2 z8Ep=>z>kQU1W~e>^<`I4CZNNns;2}Xab_DQEz^ZkMY?Oy8+BXTV&tAF=iv`pEf+I9 zL^qLsuSk~BK@o4)Gy)m3q83UMEq6#Za|7+Zf%y)z^M^h}~ zuoX4{VRrR41&20&s@JpIi z+ZYZyGZaE}P%cxB$E!0jRJ8FR2sB1Y&44fXWAC}uLS#W1y_#y-j&T?GbG<-@07g4d zSrI_Og4HhzMJFA`s68eFgvh7FJ+s2}`0tdrlU;Bl=#@bXF(%QQ3?c$2(d`m)Z&aD< z9rc{pdwLvN<5}j2qx?yX5$>-9Y$?G}cPK-7`v6XhjrKo8AGy8q2`cM$``kBz8?HTg z?Z9&VUE3d*6H?k{1WP~Rc1~{LB>{?xP18>t!Qokh>gE+(m zdhr+H41=2T{2}x$WYT`Wa}iD(R}Bs5a!4R)!+Ka*x|z$f2z3CxPv1g`&Q*71Of>|x zoh1;jMVy2(=l~9tN&ZoPWkRkI)s_xqJDmiNk&c{HfDW2v4Z1wR3Tqph)^ zU7(Vzj#8jK8|z+COzno0GW~H`SB;UyMd>WCpPiJ?!?-ct1<+-xbd!_5pQ4(mKZ+bb ze{zKtYGw<%_RMVndxsgp%9dCO*1gaHQ&!ecxT3`4eiYN)S}vHe8VSO=Z)iyDBKb%4B+ z;{tWzsfjWtR&7|%a$VtV388b@Fk9p#*hMg1oNgY*QZw%?qLN3m)Y3ITlWZRuD3vBh zwL}FsOB_*mS8^brP}taF{z8A^nq)J;4fu7pLabs=DFBN0>4V&EltH>}gwaGj8j>iK z)z&gTG}t4YH{801iwCc=tD=ez_~1kmV4}1U(S^s1?1ORm4JCc#?XibR>JxqkBc7$U z8k_}nxxa$^@ZSHQUgcO0A{D!GRk~m_N5a>!sWoffghxZ1!V8_Oyks=;Xm0!8l>!u) zSh02$)h+Z0hBj0NK=t?N<}yDV3eS^jAp~$h;AwxJfs~+%u?=sRPA`ck%f6!#WuE05 z8rA?Utd-k%v#e9qc1{BzSk||lmLRro4X*dgq`65Y$7S8F8$DAz)(i z(mgb1eK#N-r=th=WbwnxT21f!fQR?Gr9hH%z{TG3KgNAa-Um)p#lj~abP8v6$vS_$ zmrUxVL)ikyM$AOsO?44cnAjF{ybKtNyWKW$xOP=BiNF(P!(7!jwg~~E!r2fuku35G zhMxd>v?k?-mZP3W!xTuM^DwcST$ZOB#6I+#+VTO)=UC?l(4J--F4BTTzJTM79<+jQ}%2w$lu%^iAE85 zlmGz2WK&VC%>y0Mu$!fa4!d)Lqt}7V+lq5j={n7KGZJcp(esBxr=qpKSZHRt*dlA(f8!0 zTT>I-7|e=`c**d0k^W3VO5cSr9G)!g4}pq>rU2%!y@Z5Gp_VH<-K8|@1-lda5YjmfM+a2-C-*3#Bm1(35#m>{If}CsQJzGRY1yz?kS|?m&MM1d=Q2*|R&@{iz(g z;|#vH6jf58RqP|^ko5Rb=Lzl+>zO;uzBtiQ33i2lcf{eIRBRsfb)yh(DwlL5Lq=h%GhY$tMr|D6(SCH9ZUsn}q@^FoX(pD~1DSc&>eQ8Lnm(#?%N+lG*2}l?yrmXZYX4PI zC^Bz4S$pi)IdRSx6d;PhR}KLy%{xmdr2it|6xfWNSEV^2-kIr@|G)i zl;+q=N@4O!IG)SeO4Ivr*R2_KG3!Mzs)*4BaT4y#ma{%Udgal;LJNV5Tqzb{#M0K- z*P;+|#S|{gfKVQ3h>_1lOAYl|wVDgw>k|pAEXld&#P%xzL1Io8hh^0rhp09@6xO;) zI%r-+VQ(g=yW3N29`uTni^UqT!lv}m`deV9WI+5JOkBj{47y4AXbD)L!b3=8h^H?UQUW%!yHiCLFK|OUY~?uYKj1Y!f~LZ zHZa{XAopND9_}mDAAl}@xK4VH{S55&ND{ChYujmo?L}$7;P3)QW*%LV=e1@=umffExHKn>TuhI zkg8Da#x6|MCsjzQ-OQ<8SE8q$naU7^D>rmL2X-Zq^a$W6%QLwSC9NKERSz6X)is;R z=*gNl36{m>VqlhYMf?+?Fqw69G?Sj8s2iA2<4fqp43SAeB_v_IMpNNBEVVwvCeU9G zYAJJCh0=OKM`S8%_r}XI{jPP9!LgOg3fsFK5iJaAE5cH(@gRJlG5X@gCa(2q z4A%J8x+4%1%~JS?Peyfdc%_hO`9`r_;U_&Or0*3s!(86)$;`Q&~gxsW;J7e%c{anpKwjMO@#v#9$LMg z5{2vC1$oet%Gn6gX?GD09!n)3?xQ=NE+x&=Y*lq?r-mtE{L$ea>Vh0rT*);XYa5DEFc#2e zkf>H)bXYq3OdfuaA@*=21CyQ+YvA#GMuMA_;g+mF7-ntQK}Kz}wI1-V&T;6FL&mB= zWjb3GlvsE-80LyFqLj;l#)Vt7Dh94Ap_L0(`njFs;sY!bkUX$y#L zH__94>Xd85MzD>Ow9eaJAV>44O_v>MJ;{kG5mz<+SRDlEU@Nk)84^%SRQ~_8}2E5U-QkeR-?AjaN>yvdd*54vP9Q;p-;@JmTG+`KFr6nyt&hlI56i zp41CJ<2VIoIbPg+cum~I8}d3rpsG(3tQc!8ZvRn=Wu;#-0j_Kl)~nd(W8I`FCY2_K zD>dGc^kBC7Zmbx~F6GLJ8OPIy73DpIK*52@tAU^$7#N;M(m7~y0VS$p4rHdl70aS3 zVh}?pGpkdXhU#QP*P!T8@w(xCF0wI-GvmDIOPz?GH<~K zOfu7Hta7Ep83naBF5>W+EtWOum^uc)p(jRkSgOG~X3p`X$LiG@IbC%3lugdB6qL?! z<*^#j2@)*X5^bTc$7SkKhR_vvQnTUa?J749C&*x!V_b~;@}$r!qjEq5wUlDd(Hqf= zs1;#b29la#WDXr!ueDsjq|OTuaMKs-O1V?KDq2Fy+Z=%<;$SZmBEz^R)Au+-_q#Zg zViY;|^9OB;{c>k4V+ks7bERqv!;MJNf>*XC?@k*h01sJdUr?shVQzKfEVBfpO&^GN z&PV#1kI)J0g-C=D1nr=xTj*$r>RW^Vvw?%jnViX(+DvNRCWx#B39*HQ6>y5uUI0iz zW(6fyt60AfH}I%zjTgI>(ZQu!u2+S%8WnNSmFi`KPTabXV1ngEzC&wZm7Xh7pk0|o2OPI{)FO5$jF-zBxDEyv@6M{ z&6qRv>JcoTgcvT)kbc6_A1EzzMrTw4sF3V8K9JQ@L_FM3nQ!E3RZhN!%NPoJala~# z01V@34rrHm2ZGNy3zkxXrDXBv;QYN3EU@=D2WutOA@qFl^gHF=5Um$|xEx|m zUi*40_Ht**2$G+~ke9eZSR2HGU@>^hC5($*(3Mn5Mvn=*!^NDHdts~<-F@%g4_yw& zE1@r#L+!gQ#AQ6vu-J!sf<-#DD}itql8b(cGB&O#i9xf;xa^T(jsmzj0Ky6p$@OaZ zsw;J_3a%G7Tc)q;bd@e$&7}IaN0qM#BQFNN$pEb^kBs<9%*VXV&EdUs};_ zFjqfP&J7?twOtU(CS)KcjdqOG1PBQ;H>e3PMP5uhfh?WH+)FzIbF@4$*dQE|Ws!2+ zMu;?RU+!*`cw(nQoDPLlY*?hH0*F_}`zc5kSX8@JV*-i?nbtHYvR zx3*`7nPC{hp+jQm#vvpH1{fNVln{_E>5@Hg@x?2!XP`X5<6cm*1l#o*VIOn|Q zZ1($|@a*f|T)#hWB4Ax;vHkDeHg$47=8;2(Ltkl$k7EJV6^)v=Qz?W zFjS-Vdik}QG;g0uGnGU}l};wjK$xwqXyzhpvJDpH6#-LW#|1>Hj-i;6M z<|mGhfZOFoB{lKWBmgd&Iaa$|^tv}f5Y-=Cteu86&?E#zhRMm@ZMr%iri^}H61+zC zc`*WVwW2~3W0)te7|)DB%qY>p)zJ?0C~NF=W^OQ=hHG%~Hog$<5$`2({@<5=IQ)m& z{B3eJ%|=lb*lmU_o_KtXP_u`Tsq5{a3S7eV9LVw8xWtazBM4_wHKAa1iuDuSNEZe~ zGf1+K@PrsilAkwSpv#Jm?x(0B8?_`jf`{4)lbI4@WSmIU&;mFE!@vgFC>x_%fF95K zofH%$@|l~as#5`51tF&9whRPQ&lZ8pd|i)u1(6t# z^fB)`u~skan07bHbGR*+Gw>_eIOKyzFd(@8_I1JSDJ>$hoNnC`Wp<>kr)8U*`Czbh zCg;6tec|%muh?Z|eWAE%Ogdk~ndH}->>;H$*Rh#|9v7W&Il8@q2XC};%y2M3-dT?3 zU~z(A5L8~1lM4a5sUV9DLnTYI6!EUZ2=2xIWdcMcN+t&aRG^jCGBQ3jNjU4`-fcCoSwRvbScfJ;4geEmB399Z(yBr*4@V5^lL{YTWT0mEJDC>P+61QmAlE zSH@a__%@cQh{&Aigw?*bGVxNjAVF{E>0iu~|Fa_J-_@~hjiR6>B1kzOr|O6Y0T?+b zA5Pd0XY3L!i%e-~=x8p0`Q|92=ubd-uGJu`vQE2dbijcr=4v_zTKI8=WHA*6icf?K zVZ*(C8gEv6(H)^=(`C<;WQJeDllLV+t5c^z7bXLTb8(fISG?#Gux*#jFEm$zGn&-! zf@APEGD=J@W~~pT#cGaG+zd!!n$OEuqoYcGw^&4`q z4gv!C?a?3wf&`NU5q|C;G8g^rQ&cEG+D$ltF4m<@<}(AwDByM;6hxA;OJ5Yjp;FS7 z1f&anlJFQ}u8V(@hB1h(!d>TLgc*Cq5VKZBkU)^|oly@fsz@v*wI(`^!@g#nq%S-o zL6e%8ftNXr6Shi%hfL^d(_{=G219bv_<1yh_=_<>679@1q60hw-#jHc8S{og(F{v% z+KxnFeGYvA3{?Wa(AF_W<_)7QJW&X_V1d%SP z)^XDrzs#Wi??lb-+D97QsFz8!KpF;7o;M8;O4QahA#Dn|jQX48eJDfc+jtDGM)?2& z?lPs(y4=Ar5tX#6kI$fwSQjB!nz|9w50j=5^(gOBoLO^Q0!RK2TzQ?5;V1az4W2mQ zSnDIQan*c<(VIC=xm4g1?tE)03Oh3jB$a{?Q2SZE3?4=)pLjfRSzb6PJtbEuR1+T} zkWMM9I1?d6Jq2fU0@SG9#@_jq3SNp$78H+1)iGJpv9hG9@@>+-qTtN4QX1#5Dkv-G z*JWL!;hbB^!?GTd6R0pj-$zDsrot^CCHy+#1=9!!rLEin5l9wHqpK-!>n4*;k+A8< z+S^gXI06vL5~zEi=7wS22jd#*nHH8eW{H@Zh&D~H_$31(Dcu_}NAY8cBo zhwl)SwA~{*WyaCPDvGDL@R;T>x2oraJYn@o4?=>68wi-GUrec4q(Oyf0GcdHe0-|y z)=C}Z;nt%tP+>u?K!B3iSGzD^lrb)fsh&Cj0W#<1>ajowPB{qGH`#+ix>7zHxt|~`S9LW@KUww zE0(7;GOApyld0<~AP;+u4 zzUqCgG`>DlY%pq(7$IZ_CpRsVP5B6J^ToPBs5hgoa!{0Wn)EBUu&g2gcU4R+P2&Rs z^#RO30hnyB8E2!l1295S)zzJ7LnEi`bOm9D2%c0sEb2M4B8G+$8_&3@HSQ z)wvl3UR>QZ9D$9Fl}KVka-#DZBJq?7X8YnjCv)1`shB|;)Je3FXJuqSvs$dFIAXd2 zD~Kd!gg%1?&gFU9~sBFT6z@Sqy6isK(qhu#ee}XpZurMDXWUX=t@k~9$ZQl}O8DFillo)#Ph-_IzLq=AaqO*`&BD#k zhrZnX%eQm#FF3Oqx;|(8O1fpE{pH05*pb#<*O}+R;3Uj`u2%|DC{a?Q4TqIo3Gy24 znW?+A=ufpGI%>&;;Zf?Qvqay1|F_TcMFbDQbu|Kg<8}V=9WH(mhEF*q!;A;+1=Fj^ zGxxYSZu$KL1hM)=?X0Bz1Q3yacsO?Q6To>a zHTx5=@^0mO+SGTS6^7pDGs_&dKn-3r)Y!_FXnbmuCMK0D*_Mk;0R!!G+OY45yDQgp zf3)5Mwtsi7z4th~7Pp9!Vc=qw5kCR`S%+f`nM-e;M$29`Y;>Sn5PQeZpr+uv@}2l* zyr6f^TQYa;cd!SAkJ`pqu(_)CB3#y#Bx!+9XK7C)od`ZJ6{Bw0pR8mYdOkRQ8nJt` z_M9%-$$9^~!_8)&a9Atiti{h3+TMuV4D;KjwNRE0I9ENFB9fYMpSOLC0})yEJUlua z2H#AQqLkXFk)fE>@0sXtR6gfgI+P9(Yd$;|W=q6h`hJ0Oc76h4F4}m1e3cg8k30GP zz<*xvQ}OP})9<3^w_Y$TbqQoAU0e{+1~;4wOp|?t1S#tidWTTY0|y+&KlL7SsOw&t zeK&Bin@<&Mjz%$y*J>=!?@t~UOU0S(l*9~m%!ygL>q)ZQ+9xa3Xv)qhC9>8hkileW zw&8FiESQD^N>GT=0Sn!dvThDA(AM`SfRgHgkl;`Zf1`<*hZPaew`(+A^#0e^zjZww z%5`5mxzc%FAE-CBHT@IdxAMK2OjaYrB_QW|jhx!^t9(=Jw{Goj^4Fa%-G9Vi9KFz< z00iU(%aceS-)w#Q^1F+TzdotSBmXbik|uAa4vhTSKVR9y!{S9>cM^-6$k`yyl}}d2 z!s26#Zk~aGfDW^QK=p_CM?|L~Zjv~JcePmLe5DuS9`E>nc)jy z5D*6h1zn6J0$vQ%xfol-F9Xp0%g~~P+V+uMbS?rlhy41tu|*d!@GoPF_CSoVC-aM3 z)K?rhQrdbwDD7F5N=YhO?PjS|fq+G86c|}z^|yB14#m6`#`*LQ{ZqJ-#QJ-N#@B$E zWKgt4Pp zTUK3Tx77?(Y%|-`bpezO=nM^kr%(?dh<`T)ROo$8Gi%UVz+v1K*q6oEY7&-&-UKHV zO{NX!V6m94;UOu?1s|Sof=*3!^M~)I_SR2~jGyJBA#TsSxjM02o7ObCOnNcwG|B3g zmC&bP9TWYJS;G2QT^GHQfXYB?f|JZh%f8h}FP8mfHi;XpkzvqqP~%V-zOS;qgBfjZ zWD9U|&=?IZsqQ=o7Y{65bz;1WVGX1G4v|HyN{5WxZ^IifMdg4B`2x-+Of%d` zw0ENHU21&Va++F`6y@t}oasjyBS{+lNT?}4${}{K8 z$f8@wjUdEK#;227k8HS}RL4w7+(>|{k9QhZU9io^{>BTHxJdS=bNPL~)- z^}gMOyYkD7c0OwG$>Ilh!v^(Jqc_PC1e`S#vx3^TW0AB~ne`nfGF zHM%)xeQ!CjvN5;4C^yT^&JlFbJH!-ZXKVB2K%A=b~$><^*V4(nc6QAzIXV62L9fAY+=s-u@T#%=# zlrYHC3=`HQs|tb4%3=A835jNT`pnouk%efqtWpU}FPM+p7R*LdOX^6lnf)C!(4Db@ zuk~sW;xc-hL|c@sS_Ll4flcoM~p6sVC*+7np@+F_|($)1FsMj_c^IBHD?D zljbz=IIP3Yv~V?q8sA$71X@O&H~d4OmP=+qro-l_*m8&f{%GfrH_p?E(-+h|IN|tN zUPToHnPDA20e{!Mr-6QR`yDDId>k#3=byP!CK~xn?%ZcPndy(%&OuN_-qAsbV}>Jb^Eqe9r?E#bQ8LLQNG(Q6D`J zAO1=?*&&^xT)l4ndy1oB`r`Y6>T~&_j9lBV_;8*ZAxeRG{F9}YYBhSCd2`jx2fl@O z?if#hsC;=QbFR9Z_Xxdoa%k2sG{9EGO>PMtZ7NQBCe9xQ|I|?K8$JjiyQidN1*oas zgY=$73idtp{{SS@LHb1y?@5|H7X~5#I&9U$)G%;&Oa@33;l)aP<)GYZGb_gnZha5x zAxa>lAfuDgZ!1Lk!=5jH+r>R-0@r%TVA3c*SdECQd{+BIT=mS%#`eB}Ovn3RO*tku zc@X?N_s}i_`qhy~Trtaj8b9p7j+ z*F6LP%^XY#gB=derwL$UVp$xYwDbzv=QY z2iwoJ&Eb7As}GOHVDctw2677-4u7+E9JP~1E3h+#`|1cNW4MQGC~oS`~|Gy9L#nZ^bqqJ<1~gZ3E{^;5iUIz*Rl$8kB$9vLt1I zOkUpu^%gO^6lrZo$*cMk5cy=4QjPkGr8RSQ>}@L^K^fv5MW%WFIGt^s$%YKB>N72l zA!Ek}0Ezj)aa=i7{UEkMQm`z_(lB%tbt@Pk za53Wr06+nA&O!3jo!s)_^ZGf#vb`2lJypWn%_FhA8`=~5yi`V1W%F@$-s*4-~_e6C7+6mfuLFjg!z^pC|FcLiGG?PnYIJj ztW4AE?zvF>Ui@uOO1P zZ&FWNc8;owY`maL5!l%%)y?0q+NaAG}w$y9Y{ zkegZ=btvmf zLY1HKUDv)%zS?|kH}SH%FqE$CHxik8mTsJ#RUWTiI#Op@5=bBuPH;)+NM1ORnQ`u? z4m0&0N*Q7drrwJwJcEhFlbvBroa;f81`Gto5VsoJ*8mt{2(uX7HUM5478D>43(phk zHTo1x9M7+T9>C!oJ2b>kFb@SF@bd32=ar2)7ZV?oJWunp8Gj|V8t~+KI?p07d3#d!`?a1ugH7wtu2$U}PwhT#(b2@U!h^3% z`#-vS$c5CC#YqC*#}U%LwyUDMWkPK44f)iTN86^=!4|>@#{Eufnn_Xwkmm;AyS}O{ z%)h=F0wK%!8i$rqi>=`dZr4|R`t|Z@y79noarSL}rw!FmarMW`yR*wyzrx~%mY>BS zHN*+!;A?6auvUnV`Au7v4ABE$mY$fM&c|N#yJ}cR~)=I6OIHv=n zXs>{{6e@FITdzw#eC@xZksC?`<$cB7`Qj%4QgmM_Z=g~)Usf1G%&pL7Yua;XkIrwS z=!-*Yd@hsbJz5TNGnGC%HYR;CT`2Zxk5ayfozxp4a8u5L*&;40Ex+q9t;YM}H$rqeOiTmEh zvCZdSEnhB;6GH?qRIqpYz}tSkY(1$`59A}NZ*~qK1w?Yvk_|8uFkaCqd@tr!s2e}T zGV(!OpEx01Hg*J~Kj2UTAfOaLhmd#l?p>Chgg=y1c(d6>*5aYP?~m+gPGmnzH)?3| zu+1OuLS31}h$l1S)ppmxSQ%pU2<^drYdfT*x|nE9PV2X6F)7LxXV&Z<#|a7}ljc)~-7j0-^@4(( zGh6RN!&6DZL>F=KdZHP&F@tEJ1{SD`hA)&cgch0IA*JCANR?N39CMElY6`-7Jeeh4 z;nNI2m8GL8c2(;UxB%eyf=I#8+fl?_wKA}fxZZW&2V0$KbpLy0h#B;gK|sJPo05`; z-y!1-Xvvf=6~i}iN6p80?4~$f{^P$LwY*+4_e>^JSKYgy?E0hqix>B^jUKuC{0@^Oqj0wEQ zY8E()YryDnuY$O6K&w2!Wi}ib#F<%^s|#URD!AmAj`M(QV^`)cI zl1WsKG|Q^pz@Bq0!+}mDZ0HdE7sZP7lQEh(I3BGe;r=C#R75;#B4i;1x&Gsto(%3m zneh&t+>vOQF+97y~ZJOc*(YdjN-$JifCU3?vN zFXp_)p4tSbPnGM!rwj3J=B&`NnHh}4%NAnpaWgNKX^LOq69Co}2kpY}_J5t8;-P7= zfDhR}0Z(y<55zAYAxl;FJNWV+-pUmC0)R^3yx{0|{{DFB_hc7CcUBcT^|kg;{-eLi zC9n$4!>QS)Hm3lCdFF5IfAOK;byX*d?h&+7YcP(9R6!|rTv9XNxSJM{*6D6f>0FM^ zJdnynYRI=@r5Ca}giZt8x|H6SwdugQy9L&>V3B?fSBdpYn@qOqcYW zPut4)9@K7r^!b7>eM#{GPZUB+0vI$jAsjfx{zlHPAFs5gyv%gfq!JS*;b`xx4)LGH zZTcaS&p9EjxD}?emCEsT;);KxEI59#gJA4Q+V!5F0QDEP^8poUCIAgMoYZ=B!Wxf4 z9?ug}iI6}8eBHCY1DT@dlJmM;c{F4hExw*+Kb3G<#x?Xif50F&eA$qnjYBj**aAxrQLV8>@-Z)>J_itp01bA&l&Qp+gthZvFOg1r&L@_2pUbn;czA< zO#$WtABKb9AmP8T51P7Ou8{#oV7j+hv)$^y2b%w8aq_VAJf@0dD=j>iYeqLda$Q`k zjblozyi0b;21L785V;=B5!=P7t?iubKD;8A4_6XU=2sJZF6qLsgUP{wC73aX>minr zepUQ?Riw`M%i*~wS}1N#$D4H3i8#>BPvIdba{`NmN{_L4im%CpliCjrd!}{z0p#vA zh#`HNNE>?@(}_e-Njvd9Zv5LUZWTcpmK?>(nEhaf7DI?@)#p2B)mNS#TB_7KHc!o0 z3N8KwsQl&xqUb_~Tp|LxbsxZe$7bIBIRDyRI)Zmp-+v!PZL*EN8*=j=?L0-(kim)`rhg$Eh_lvzrTN>Is z@@-)KykEsHylzedAo3}^J9hqp`8q+et83&kMbaBVxhLtosuAv1@hS5u5}Fl7H~i9r zm%|=m4okl2TNH$M`8LKzMN#43-~tWi&|F~u723zveve)+a9FxO8v%&jE>=EI{zqtP z!!{_^udFX7KpW8iA^U5i&rsuBTFas6;uhp^pdq^S*yJam>5A*Avx0Wjqqr%e(kZ_G ziLWl%quu&nmN?)AB7u*p)4{Yis8N9t_x>R&$&byw!pRSaO| z_Z;yW|7%N%A9bUVfvfMz>W`ZBthyz7@wuIEtLQ}9G?^#v+R&yM{L7lqE8e!k@Q9cq z?O^DiSl`{>$O3B-MmHfbQZZ3fp%Ed2iQvpI!RA{Q+|pil+iO+26;`)8j()WH#f|w2 zWc^Eh47u#W9!YDDtvJ!PZT$ZZ?AY+%pMx<<3B$gtk+gB&aCTq+M~iT5cqxYI5&M8E zdbS&0-&^Ey^!->WEO#V?g_1m4qE!vf0%^ z3t^o%x|5Ry`QQiKe+RbBzocONLp5T(Gr{sjl7fFg#qNvF=b_vjSTutY?!xz5aQnQr zcVE)|U&{H})%a!_+K9|dDy=GLTs8I1D%8t55$8R*o()wAd7I4iB$NUErzy7;g#>=) z94Ss@*)iE+@$08&KNh02^GJ8>61PnSTBotE@&8+M^AC_|_y4;W{Qm^Kv}4tW?;4fs z4?GRo`IFT9e}zupkFph8XtjfKg}3@Xt5K;fSO_xw*S6#$3i_8g?vf?3q#O{sj)9#9 zhI69nBu*C|et#;tS^v8z^-t36m_DNzBFvCF0jD00;zab(0gi;AGH~6s{}cX3@;z$p z-PRTFEAd;O=e)#!&3gXgivOv474dmB#EX!LF>K;qCcAzxJg3usZj|3^bV0MiNaP;F z1l8?LC$7%fk=YPbQZPrD2NL5`t?1J(>~t`V(Wj5i?9ZOkhbjC<#7I&628Vyg2z(LV z5&Q66kTN@QoWT7yh$$4K772qK>-{Nq8{WiGQ>e%&7(#_)ykJP*`7HXicZ-S(QoT(U zc<&|5$2LD6|2^N4eeS<=6w9lg*8J%MdRk-A zzlI^?C*VItoqr+>`*WYgzvR171tAwGSsggdnuA;`a}G&Q7HKKHh8YB_|GgY{nE#8~Nwh z?SG+RzsF&Jl6KeqU&OqBAjWw1*qU~+pn^7?2)(#*%X_M2<<9P)iEpNxSK#TAVUN!D zYyXi_`D4ocDNEjC=&fmWY161Cey2ejZMpX zt~Sln^RaIwV~u5>TG*Albw}r8^u>2C3W21bt&NtUum=@&Z4wwr5MCg`M>SpoLn0j^ zF14|YU{L6seqsZiu|pk@g%nRA-k8TcK+r`GgCV1ao>E|Us1wu@;tM}MW?U0^HT={i zKPFAXeK_0(0>E4cM3iB_D5ATA!I(UDyvMU^e*^^eEb=LYG1;&~$;t!rH+uX|fm!JV z*h^#rA4-KBhfE-dQH{XjS)n!+mP>|5sKNpZ2fFIqneP9b!`W)KQV`|I{w0iSTD0vF=53?zy%}@DS775wQ1~PL;9RPK>0pL85Z9lM;uuX)X?D2 z;#!!%OJP=cf=pm*URP7%qaqJaaOu8iOP3)x<1**=Ni*6~ftQp z4FIC)Vk#xP=nd>6qRWiqFN*n}9jME}vr)rILzQRTqk>qt^^z_)&Dk~Ju_W~w*dk(^ zLn1xJ)6!LdG{Tx0^T7jKzs9^4i+TTIrM;5QUvX3NcvV|D(<1ZRiecu8B`QEw7okN6 zfR5r9DGDM?4ZBsDpq6MlIo^1K>Fo zjLI+#3*!@96n+jz@W4@pOdJadW-kna2wev5@ps79aKVe)6EATkzZ}Z;KO=I}x=o}O zhII2RZgKqLUU_VNO_H^QYPkX|PY|9?hQQywHGbr|M$S)BBu6{fGpH|LH9a;Kl}gS3 zP7ZlTt?AyBE-q51kN(xCp8(MD7G9(G{&9Q!V9o)Y+6ril#x1>0ER!o6E(v6V=P|`h zB23ZDBr;dj(o}``Tqwmw$-vysGSBtf2a6*a?~JA15~2d}z?B*X@KWNL4AGcQebOmw zuKPwb{W7-!ruPUs#h&6`=4O5|y7(18g?F00U6XS5-DK&!gNE6cqo?jD+gL#CX@FPN z=d7oN2M7L7Uh_R*KZ>L1tyGo?2qpxK(10-RGLTR%LV!R35|;0I2NZ-WLuGGwUq!|! z_xeC2I}=Hu6&(l`YmCF=V#GwAD)lT-bQl(&0*7N@10n?-Xhe~Qkq4*n+0caPT zA^_9DXD>cmDjNxM`0~Eb z;&~82ZPA6Ni%2}p5&Lcn9c2Mrw*2;6*-L>u6_~8>acS|EE3a(En1QMXq zGRPmUfFVJlV15ozM`z+H$bj6XBAiLnd>EWss$tGXwIfU*SAY)y)J>qS6Zr@QqQ!kG zb-M|otK91QMRXR4%$jx5Kn1YxbeC<_uY%kE=>7wX(32%OoVsYvRO?fOd5WeEKXHMD z^&kjJzOsFh)UaPzX@FDPKnaexE9u2!u=8IQ%VQZ+B@g_waY?p(+z3)h$0Sdm2eIbww&7k> zeFw@7KvbgNjzlEhOU6~kP<2y3h5ms9`ya_|XtDdUr~1m^de*!2_YzM9%kE3rXo3Rm z`o;)pcf${EO`028LZ7I@;LKx|x|&A2dtJJG#HdfJ>;TyiSN9~W6`NhL_%15nyWEvO z3o?B0MgF3+@phdS9}rMdB}^8eaob)l#AuSX?J#}mjV}^lrB8*;VzxE! z2ub4T#FMkp*?uroI(?F*-MlaU+d7`MY5frs4lyFr*UFDi?}$bqE{b4QTJ|Jo=QHW> z8l4o@O*?F^Qm37}wfj+)I-x;2N>d5eEkZLGc(j0AgkUhQSZ~_WEDyPw%gb{%}|`A^;s?ogRIGbR@&M(p!vN?z2( zbXXXLq*>3>V6>;0R^5QcqnwVKy2kV7R;Jl`OdsKbNJ}D>c+OHLSX(38DM*wOi4z%- zCPr?5l@!rtDbNACs-o@@__-i$Rz#c>5PVol+tshp97JxeUdMaL0U{2fX8H0ouOJ8C z90BSi4XAw&rO}W#Lyagq7dw8%w*Dr`wSW>S?FLK{j=@MN3FOv{R=M5{={ zutfD^8X+&oyo0#BJf`M7aqeSjREr!*$ZW2wAsGRVM>VqA>P|R97WrwmC|uL9H&0<+ z7a`-Q!VxaNPEP;D`fDa%*H!`?XBT`aQSyt-rObnTIURId2}fWOaO`!J$V~tKmp4k( z<#vffXlj$K;A{K!4;hN@}MQ(b4WZ7+On?tFB6a-QN^{#HImdC1j7q}{t zz2>{Y_ELciFK3NqQE#Mg#7IW)lwFZ+adT@Sb0dn@#vIpgd3EBozi69H#i@nJaIetY zPYy

L*)YnphVJE$MPf&t5(7T99Q+H?P72bo)(D;8U@fsgBA;Jl`j=8tI3!nS}A+ zSb4i@-6iRw%q5I6Hqpg1N(btDFv)8|ZesC@pdM8Qk!_`#6tVh+iYDda7-)?RvBEe^ z0}mTgv&adgNI@cmfYD?u!HkC_BOxE~%|uB!glJ{2`Iad@P@ApuolTGMaaOJyv7we# z%)o7BQxAME(?%o&SY!jb;3C9JU4}#4u{a-F7J~5eA{Td&K!hBiiX=APB)*@NTY!KZ zrWvSGMoOUtfDCX$Rz$J7xNUfU2G%|I8aa5BB`vkQuc`c2E{Z0H-}}|1bpAVKo!!vE z6B)G7GPl5D&=ZSyDH^eA=y8$&C&~MM)}Pq~?qJ{TjO{*%efHL$GcH%U`m3i_*uAU? zGah>~J~)^4J&7&l#Jarhc{(n$sTTElV8zr9s{FR|E2E6gBcTX)nPNqe2F<%f6kfAo z3LZExd5tJuG}^%Tjy4LkG%hb7XR(@Wkcg01>!@1_zGFk`953Tp0JenD;TUL?g=j90 zR5QMq!$cx;x@1GD7KMZ1(A*9ML`Dc2-H0~h&aod&S<81)9&0#DZzf#c@Cqt`chjzD zS;2+0*xm%hV&w~Dha1i0#gLJhD>5Myk5r4twU*6YS|MafOtV)9f$c0@^AzNK<4mH! zC*%QM#6OB{4yE+BAN*<}{J)?|R%}nD)uR}nB#n1Y#rLwK`TT7vE5_gUbXMGTUJreB zC+(HE24_6Va#y0CjY~UVwESV~>#sWFPdb$HEC3+GDS3+#M?vQY__2c#k7Z>P5(4Fm zSqe}ccWRh3Z5ku#AthdA)hQQ^89^)hnG)dT(UoUo6>8jh3X@#Ocw;8nj%)MnULVY&?*Me0_|v%_+@hY5_j+A+nrTTSdtQhWC+eZITuawRD}}d zJoCHV2ks;#v9x*JLq>vkIF7)?9U-i!o?^M$cH`&meHzIYs~_LL&?cq*p4C3ufnrk1 z3s(RP*ST=_;nU7yY4Vs}EZO5Rt2E?Q%e<-Z`1#bJ?DK7tD?baQ- z4?fAQwe4e1W+#4hH|01jxxJ`ZM7>P3yccceO2%dqU4w-Z0J>)5@v%Jw!Sw9zGo%bR z=9ZcyPnK35eC>5&*EF&+6M1^`!|4r=jm4$RFQS?5g)!^ir$_N8)LmBQkHt2R*jfaU zJ&#sL)z3nwKV-f_fg8gB(gRUZCHye##XbO696zRM z)8$Z6!a$q*rc!CUT~!G`S_>J8(6Pw7YUL)XVOL*$$k@{EcgNDx&FTHsii3oZa7dF` zu?%CtdtZPu37gr3TyHM_EG|eNs6m-LO z0+&ru7-0ZUWjm9^I(p^h03-VDmK)y@?XwU4KC5!{gZ`w2ForTO&&MD=iq;WL>ipk>Zh`N;)FzO+W$Yx7Kjqup_EV}0`mVNoOFn!XYOHQXvVD;FmQaB_>6wH-E8_W4`= z%aLp<9>ZslMk?vE-lK)768ahE?Li;Zm)zW;v!q_j9v9;pO!~@LW1M(H->?;Z!amD* z=QlY+_g9ZiCZcTk+B)M)V(|{XMk^Y=EsE^LAEi3%?3)wrNyzGc*&!t&pmsB~t5ji9 z*gPjaD8n}Xf&vLIs)QKr>!r@5Tb=AwUMn#Nlk`u>l+XhHxi9}c#Fug}p zyB%QK5+fpEN!M+gz<3`%lCWZEQysJfLV%64e*iF9xKT38B?vwag6p=894<)y01OR| zqJ8tqHW$c2O)!ZJK<7zMW=b7+AmGbtsc?l!jM6$=m}iEb)+w6Sg28t+s7bs%j5&z@ zaDm|T6B~}t`hzo)9lAiL&;i)Kx{_UFT_@dC3%oO8NaPyb#B)=YrO@3O6=UQKF%d!2 zj}L9r zmeCprrbNz5xWHw@$F3*MiLxfdVEosf$Gs5h3?9fhR)F9`_2# z$!yV#_UW#Spm2OMFq_$OS{Q)ea)G8uFnP&LI{R|b#V=FtzpJ>v0VgEA5 zI^AaF*9`QJR|@#d#ioHF6P4*8!;N7j6l#bjo1AWa!q(|MQMK}x*1Hw={e6!1yEil~kN~Zf zE5tg$B9**ncfBeyKdtCVZJ)YKcgFKVuzuwh=^=TRXuGml$G*HdWtGPvq|~;3RJ;Kc zDzgGz<@Y+fBqEb)Wky~`HX9Twg=JH45qP|g9H=UE{LC>5vdvVbZocp!2Dk)BOZ2kt6J3 zG!;BpM(d1O4ptD5k+Y@qNm;;Fqlt(lFDNR=#UYjP%{_O=ye)^tx29yV;wQbS)-OZE z)MO9*?WWz_o*|aSY}E_Qo0ksUmu6>)O)3)}j&@U;GAlkwPXud1k~n10fB>c#Wz{4I zA3&Q7Lec<{tw9I~bQI{>g76z^3+^snCN6%BWc^RsgP#Cq6&- z_EOIKI!>K1w8Ym#*n+IS^$r>3S{G)gM5nWm?h=o0~((gTAwbeQA}<^?M~}P~w?D>M67H6KdA4wWvvXm{-L~sY^l zD}O>k6c9SQ_o7IE5U8VMU^jx8IQU#J!@*LZ?E46vzdT&i8WC*4MQ1^QZ{uU3Rnlv) z%&#p9(h<<4d{~+qpTjuHHmJJHVc|y?ly}?n_Vkk1^57zTensk?-v0dkx_jSj$`;amL@fR+f5=q)s|u}~FWp46p`@Z0 zJt=z}Xc5;CH{Q2Ur?z)=+*-MEE>?`baZ{r zPnby@J45kjXn?D={ev3#4IM59^atO4O4FKa;VGh`Vx`?{&l6i(;D!7=eZ_8BEzP^h zsRb!l{BEY#b0O>H{n*qdD4YE^rDY;`Gm){kBF_s;d^u8U9hKd~FWmet(bewUIehol zs`$gD9SH8Fkl%KG+w|VaGfGkDzM@h6Ab)cowT70`)-|0C?!X(hR7;FGGEB+wdjTI2 zuh9OE;PvFYDN__)ANRVDLb2R+N22>aRi1qZ^5ly=L$Yn~E?D!J_{oZo7~V$cv3d!)O50$wRUO&<)|8ZI`Id|gaT=hmVgrBFC;1QxIxt?3f& zFqWJyZ2aI&&B+q~+=g{oAba;!*m>N{w8bmm;QJM~6vc#8zF{~6^0^=iGJ95|MO{~o zr}kgDzLQ#^Y`zfe#&`s4SrtG7Le^EhXLl)l{#D@m&uXjV1#geBW?}_er(ky%X+p2w zSe>&LZQWKKCbztk6vm_GkaDC}6?@n%5lUSkmsUq?_^h?};qu-*WVsx}bnsYa;t`8;nPlrt4N7P3(ON~<|-&^k9XzJol!+5x{aNI#!|<*kg0$@QeFRAQ5bIYK5nKBCqZ)jasVORhza1zGb1udm}bq)BX0z9`1a;wz4IewK>z2 z^-ddZfk7y0Q?mHS!9}4-yOoxufB;VE5W%u_hlhpxvrMbe6`i?+v{nT1-h!A#{0ptz zgm~b3HUp-~n#6*<+>xhn*=KO?hLgVmeN)fO9n3v-oK zlc=Y!_*U+9u=UVp5v;7|^WLwF(IZds)F_U;v0-Fu+FVR7`t6L~c!5}yEVQ+_?^SD_ zjSB3F%tFnMM-S+MjVg?2P^xCE^3Jj(WXu;!GrWA58xdgxRSHl?Z^zF8XmD!zh0 zm$v{Gr$qa5s3AdF0x8>Ca)qAYp8Akhd8|Tsmg=_XigI06ql^7wkm`_EBegl)&`zUP zp{XThMUvysMm|H}eNVhpx!b#NC@JMNH%L_fZ|in1Hbyc4!T= z_}v>S0-AFBegaIT`)C>O5fTWIw76A}x74%3W2JOri}^1 z%r`f`auM<#e8BRM-zyjL(Uhc(IGeSffU8>~fji$KqtD{*TjGzMVNY*NRVe$ue)Z#} zRf7-Q=8EG^H*Xl_nKN*#WQ{-RO@vx8Abl&p@FyU3q{EC*bBGE;b~1Sn#^)!(>z38; zbj#yw<|eI?o6-{ZPH9ZeV5woULTv9te)|b(so5`^F!9?bY@SGpR}o)ydKHbgCAQb` z0_lNmWeZY=e8n7raAI1>L3Ja-Z#wrGM~?-w{;rE3&v*%xsfPwEC^^lTw<+bZ8sbGJ zB2!zJ)XoSa{0ZPu4KvSKxtSmT+%AHcdCjHEhT8PKya&qT#7vOaptHraD-opr#D-<7 z&IK}=ma#-sOz_wci+NKc93wmxx_~1(ppGFP5%>u(`w7TXtLf$JAJm=f0M>;mCe8ca z+Ih1wCVBOn|LY;|Bk}IOBrb?$33aU*6T|PY)vqRn{sp>H)!=`t4~wKG7T`cqUZkSq zgRpAh2~-sAq6w>9UxzNPP9u2l7$Tn~;{pA6BNZq3dKkGAK2=HZ7PPa)uw7Bul0AEj zcJ6D#{2r|3_`L8bH(dpzdg5BT%}`kE!!8`Y;;H4CE!P(j>4?{ zy$^o^U@LDWLWw#d0!Y`?ygL;~MY4UNeFbEi^(k{Z8JQYXIvok7TkIGjXRohA-ZRZw zh{vAqV2)Ha_~|B|Gr1d+Y?5rx15lK<)<4Ktgl<`O_0!c!H9sH6>_-a*O1O`n-RpAh z8}J}Un?y_-J3!OnrxChbF#yxgOQFMWX@fEWwd#*4p)t`#%$f8kR+R%$vM9cCtU*1Y z`QA?Xj_1PQVzgTlyQJSM=W?O_9>Ik5rmxk#MMgfpoT)gDu9MSbZQY8Ft7!~UDHG85 zsXj^K><;(0rf)>By%b-^&vTXx8|I8wd^Qs6_i||G&~=L8j59A{M(Ht8LL5?sY{N@` zMcOWJ+LfI$r&($_Ro`0h$L9K5@Dq;Vnu~dJPZzuXKqf&CLP1ut$mWs{28)jzp6uL+ z^A;_}Rj{D0D>AI=>1L&3K3+Cc?gny1kvam3O;xxcS_Ssu3n)x@L@1sbUf=-7=v--9 zAeHBS_Gn{!jA_p;lgzqYYHb2TbIZ2+RrhaAPd@LG)Q|<`i9wy{KACDn=PW8RUmIS^ zA2^IRX}T2z)Ov~LhYMrb>^#RpJfBH@ z3p6VeU9}HmXBF2}^ch#OG>N;KLMR4ht(fD-pcGX}j=klWlOeY4)?i=*efx7*2Wnoc zNzLSGGFv5UL?o$QLsGRWRJ0x}YpGu=q@#pFjg}EwlG1?hlx5A17#&t$*%mae zQGR|ryYb>|Wo9+5IYyG+Vtp+2)A!gP%#rldU%G`KyqaHqm8#2^$)D}g*Tu{J!t2J( z?6o(;=_4ix15l0nSGu3hn)I9EhcZ6UWg2D@2^Qv zAd>edhr!+sD?X9Wu^w3x|M4<@=kt|E`vuRX@^@Ze>0h&=xkxySxb0g}DXEa(tO6s- z1i-oA7YM+UtgB&2&Z~&79A!v24mhM)t@Q=uHiBdi&nQ3%c0ka^0+mPY(h}NbvBMOC z^#FlrUxYX%i8+|jR0Ke9;pkY=RyDa}-or@Grdjw16?6|E^FH<%?YMg+>ukV0fZzgl z%WEyq;^=mX0ig%-74k}VBmw+w3|c3r8J(J|2!WTxNsO9p&0T{3kG=N}YI^O~hJR_0 zgqA>nfPhH|5JHivfT&4GXaXh>s)$sjsGF*YEeS0Y=^!AuL$4|*C@5;E0-{nC5tSx_ z73|%Y=bRbw%fJMUm~nI&z*6lBb z4dfV4wX8OWe!uixXybdXcyE9IV?5hLkFpEov5sP7u~(w?=H(lIt~($YeA(y>Xv&J0 zR_!c3^0{3Pd#d%(`7e@rP!xYxb|x0eml>4LHTN#^hLG4g^$j~*=7efHK=HJE97nuz z(1y?K#9RWG!HF{qSrc)H6cH;iBPcvp@sW|pK`Yq?E4MYyC)93*-Z6ww!Qg{GfZ5_7 zfb;&dp0TYHvneVHeNQ*}Mx@uIA5;4BW{A0-Y2kpe&M`Py*&X9(XsnZu4;AXood08I z^|#Mo->+Tyr%(R%?S&>^EqTD3h8ceAw}DKb=PgBe6hARL`0i%>^}}Kdn=VDFf6}

37yn}!!QjeLHm=d$u3M(KQuNumiw@y?ZK=7 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 TJuf%goK?Kb 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

35(-39&v%1aQnAQ;N-n_h{1b^W^Q9)6 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 M|45-$^=#~a0LPoB?*IS* diff --git a/installer/config/controlScript.js b/installer/config/controlScript.js index d8c5453..ba75000 100644 --- a/installer/config/controlScript.js +++ b/installer/config/controlScript.js @@ -9,6 +9,8 @@ function Controller() function runProgramControl() { if (systemInfo.kernelType === "winnt") { installer.setValue("RunProgram", "@TargetDir@/HanoiTowers.exe"); + } else { + installer.setValue("RunProgram", "@TargetDir@/HanoiTowers.sh"); } } diff --git a/installer/installer.pri b/installer/installer.pri index 364987f..a1fcc3a 100644 --- a/installer/installer.pri +++ b/installer/installer.pri @@ -58,7 +58,7 @@ defineReplace(findFiles) { } XML_FILES = $$files(*.xml, true) - +message(XML_FILES $$XML_FILES) for(LANG, SUPPORT_LANGS) { for(XML, XML_FILES) { FILE_PATH = $$dirname(XML) From 9101271d30f602d953e477e9c0cf0ba12cc79ad1 Mon Sep 17 00:00:00 2001 From: Andrei Date: Sun, 7 Apr 2019 13:52:09 +0300 Subject: [PATCH 3/5] submodule changed --- .gitmodules | 3 +++ CQtDeployerBinaries | 1 + 2 files changed, 4 insertions(+) create mode 160000 CQtDeployerBinaries diff --git a/.gitmodules b/.gitmodules index e69de29..d80d3c5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "CQtDeployerBinaries"] + path = CQtDeployerBinaries + url = https://github.com/QuasarApp/CQtDeployerBinaries.git diff --git a/CQtDeployerBinaries b/CQtDeployerBinaries new file mode 160000 index 0000000..f4f1f33 --- /dev/null +++ b/CQtDeployerBinaries @@ -0,0 +1 @@ +Subproject commit f4f1f3373c03f76b63d5f63d3f6f02bf83395108 From abce53b4c96f2c372d1d745ce736fd88fd39ff0c Mon Sep 17 00:00:00 2001 From: Andrei Date: Sun, 7 Apr 2019 14:01:51 +0300 Subject: [PATCH 4/5] snap --- installer/installer.pri | 2 +- installer/packages/installer/runSnap.sh | 15 --------------- runSnap.sh | 10 ++++++++++ .../snap => snap}/forDumpBuild/snapcraft.yaml | 0 .../gui/Hanoi-Tower.desktop | 6 +++--- .../installer/snap => snap}/snapcraft.yaml | 8 ++++---- .../installer/snap => snap}/static/snapcraft.yaml | 0 7 files changed, 18 insertions(+), 23 deletions(-) delete mode 100755 installer/packages/installer/runSnap.sh create mode 100755 runSnap.sh rename {installer/packages/installer/snap => snap}/forDumpBuild/snapcraft.yaml (100%) rename installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop => snap/gui/Hanoi-Tower.desktop (81%) rename {installer/packages/installer/snap => snap}/snapcraft.yaml (90%) rename {installer/packages/installer/snap => snap}/static/snapcraft.yaml (100%) diff --git a/installer/installer.pri b/installer/installer.pri index a1fcc3a..a1db396 100644 --- a/installer/installer.pri +++ b/installer/installer.pri @@ -6,7 +6,7 @@ LUPDATE = $$QT_DIR/lupdate LRELEASE = $$QT_DIR/lrelease win32:DEPLOYER = $$PWD/../CQtDeployerBinaries/Windows/cqtdeployer.exe -unix:DEPLOYER = cqtdeployer +unix:DEPLOYER = $$PWD/../CQtDeployerBinaries/Linux/cqtdeployer.sh OUT_FILE = installer diff --git a/installer/packages/installer/runSnap.sh b/installer/packages/installer/runSnap.sh deleted file mode 100755 index 3c1951b..0000000 --- a/installer/packages/installer/runSnap.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -OLD_DIR=$PWD -BASE_DIR=$(dirname $0) -TARGET_DIR="$BASE_DIR/../../" -echo "selected target dir $TARGET_DIR" -echo "cd to snapcraft dir $BASE_DIR" -cd $BASE_DIR - -snapcraft - -echo "return to old dir $OLD_DIR" -cd $OLD_DIR - -rm -f $TARGET_DIR/*.snap -mv $BASE_DIR/*.snap $TARGET_DIR diff --git a/runSnap.sh b/runSnap.sh new file mode 100755 index 0000000..eaa05b1 --- /dev/null +++ b/runSnap.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +BASE_DIR=$(dirname $0) +TARGET_DIR="$BASE_DIR/installer/packages/HanoiTowers/data" +echo "selected target dir $TARGET_DIR" +echo "cd to snapcraft dir $BASE_DIR" +cd $BASE_DIR + +snapcraft + diff --git a/installer/packages/installer/snap/forDumpBuild/snapcraft.yaml b/snap/forDumpBuild/snapcraft.yaml similarity index 100% rename from installer/packages/installer/snap/forDumpBuild/snapcraft.yaml rename to snap/forDumpBuild/snapcraft.yaml diff --git a/installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop b/snap/gui/Hanoi-Tower.desktop similarity index 81% rename from installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop rename to snap/gui/Hanoi-Tower.desktop index 2c4ca58..e7661f2 100755 --- a/installer/packages/installer/snap/gui/Hanoi-Tower.desktop.desktop +++ b/snap/gui/Hanoi-Tower.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1.5 +Version=1.5.2 Name=Hanoi Towers Comment=Hanoi Towers Game. Exec=hanoi-tower @@ -10,6 +10,6 @@ Categories=Games;Application; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=hanoi-tower X-GNOME-Bugzilla-Component=General -X-GNOME-Bugzilla-Version=1.5 +X-GNOME-Bugzilla-Version=1.5.2 StartupNotify=true -Name[ru_RU]=Hanoi-Tower.desktop +Name[ru_RU]=Hanoi-Tower diff --git a/installer/packages/installer/snap/snapcraft.yaml b/snap/snapcraft.yaml similarity index 90% rename from installer/packages/installer/snap/snapcraft.yaml rename to snap/snapcraft.yaml index ae6e0b4..c3ab8ac 100644 --- a/installer/packages/installer/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: hanoi-tower -version: '1.5.1snap1' +version: '1.5.2' summary: The Hanoi Tower is one of the most popular puzzles of the 19th century description: | The Hanoi Tower is one of the most popular puzzles of the 19th century. | @@ -10,11 +10,11 @@ description: | grade: stable # must be 'stable' to release into candidate/stable channels confinement: strict # use 'strict' once you have the right plugs and slots base: core18 -icon: data/icons/icon.png +icon: installer/packages/installer/data/icons/icon.png apps: hanoi-tower: - command: desktop-launch $SNAP/AppRun.sh + command: desktop-launch $SNAP/HanoiTowers.sh plugs: [desktop, unity7, home, opengl, x11, wayland, gsettings] @@ -31,7 +31,7 @@ parts: qtlib: plugin: dump - source: data/ + source: installer/packages/HanoiTowers/data libsgl: plugin: nil diff --git a/installer/packages/installer/snap/static/snapcraft.yaml b/snap/static/snapcraft.yaml similarity index 100% rename from installer/packages/installer/snap/static/snapcraft.yaml rename to snap/static/snapcraft.yaml From ad153d3a42a211e4916d1898d222d74c349ddb6a Mon Sep 17 00:00:00 2001 From: Andrei Date: Sun, 7 Apr 2019 14:26:22 +0300 Subject: [PATCH 5/5] snap version --- .gitignore | 2 +- .gitmodules | 3 ++ QuasarAppLib | 1 + runSnap.sh | 9 +++- snap/forDumpBuild/snapcraft.yaml | 24 ----------- snap/snapcraft.yaml | 6 ++- snap/static/snapcraft.yaml | 74 -------------------------------- 7 files changed, 18 insertions(+), 101 deletions(-) create mode 160000 QuasarAppLib delete mode 100644 snap/forDumpBuild/snapcraft.yaml delete mode 100644 snap/static/snapcraft.yaml diff --git a/.gitignore b/.gitignore index 432e477..7b65363 100644 --- a/.gitignore +++ b/.gitignore @@ -61,5 +61,5 @@ CMakeLists.txt.user* snap/plugins/__pycache__/ *.snap - +data/ \.buildconfig diff --git a/.gitmodules b/.gitmodules index d80d3c5..6b1ea62 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "CQtDeployerBinaries"] path = CQtDeployerBinaries url = https://github.com/QuasarApp/CQtDeployerBinaries.git +[submodule "QuasarAppLib"] + path = QuasarAppLib + url = https://github.com/QuasarApp/QuasarAppLib.git diff --git a/QuasarAppLib b/QuasarAppLib new file mode 160000 index 0000000..6d2c3c9 --- /dev/null +++ b/QuasarAppLib @@ -0,0 +1 @@ +Subproject commit 6d2c3c91fd2b25c75a4067a76a8744312ae8867f diff --git a/runSnap.sh b/runSnap.sh index eaa05b1..e8e7f14 100755 --- a/runSnap.sh +++ b/runSnap.sh @@ -6,5 +6,12 @@ echo "selected target dir $TARGET_DIR" echo "cd to snapcraft dir $BASE_DIR" cd $BASE_DIR -snapcraft +rm -rdf $TARGET_DIR/* + +make -j$(nproc) + +make deploy_depends +snapcraft clean + +snapcraft diff --git a/snap/forDumpBuild/snapcraft.yaml b/snap/forDumpBuild/snapcraft.yaml deleted file mode 100644 index c9794e7..0000000 --- a/snap/forDumpBuild/snapcraft.yaml +++ /dev/null @@ -1,24 +0,0 @@ -name: hanoi-tower -version: '1.4' -summary: Hanoi Towers Game -description: | - The Hanoi Tower is one of the most popular puzzles of the 19th century. Three bars are given, on one of which eight rings are strung, the rings differ in size and lie smaller on larger ones. The problem is to transfer the pyramid from eight rings for the least number of moves to another rod. At a time, only one ring is allowed to carry, and you can not put a larger ring on less. - -grade: stable # must be 'stable' to release into candidate/stable channels -confinement: strict # use 'strict' once you have the right plugs and slots - -icon: source/res/icon.png - -apps: - hanoi-tower: - command: bin/hanoi-towers -# desktop: usr/share/applications/desc.desktop - plugs: [desktop, home, opengl, x11, wayland] - - -parts: - hanoi-tower: - plugin: dump - source: . - - diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index c3ab8ac..b3517d9 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -26,9 +26,13 @@ parts: - libasn1-8-heimdal - libgssapi3-heimdal - libldap-2.4-2 - after: [libsgl, desktop-glib-only, qtlib] + after: [libsgl, cqtdeployer-wrapper, qtlib] + cqtdeployer-wrapper: + plugin: dump + source: QuasarAppLib/Etalons/snap/wrapper + qtlib: plugin: dump source: installer/packages/HanoiTowers/data diff --git a/snap/static/snapcraft.yaml b/snap/static/snapcraft.yaml deleted file mode 100644 index 2020b3b..0000000 --- a/snap/static/snapcraft.yaml +++ /dev/null @@ -1,74 +0,0 @@ -name: hanoi-tower -version: '1.4.testBuildStatic3' -summary: Hanoi Towers Game -description: | - The Hanoi Tower is one of the most popular puzzles of the 19th century. Three bars are given, on one of which eight rings are strung, the rings differ in size and lie smaller on larger ones. The problem is to transfer the pyramid from eight rings for the least number of moves to another rod. At a time, only one ring is allowed to carry, and you can not put a larger ring on less. - -grade: stable # must be 'stable' to release into candidate/stable channels -confinement: strict # use 'strict' once you have the right plugs and slots - -icon: source/res/icon.png - -apps: - hanoi-tower: - command: bin/hanoi-towers -# desktop: usr/share/applications/desc.desktop - plugs: [desktop, unity7, home, opengl, x11, wayland] - - -parts: - hanoi-tower: - plugin: qmake - source: source/ - organize: - opt/hanoi-tower/bin: bin - after: - - qt - - qt: - plugin: qtbuilder - qt-version: 5.9.5 - qt-source-git: https://code.qt.io/qt/qt5.git - qt-submodules: ['qtbase'] - - build-packages: - - libasound2-dev - - libdbusmenu-glib-dev - - libffi-dev - - liblzma-dev - - libpulse-dev - - libssl-dev - - libx11-xcb-dev - - libxcb-icccm4-dev - - libxcb-image0-dev - - libxcb-keysyms1-dev - - libxcb-randr0-dev - - libxcb-render-util0-dev - - libxcb-sync-dev - - libxcb-util0-dev - - libxcb-xfixes0-dev - - libxcb1-dev - - libxrender-dev - configflags: - - -release - - -force-debug-info - - -opensource - - -confirm-license - - -qt-zlib - - -qt-libpng - - -qt-libjpeg - - -qt-freetype - - -qt-harfbuzz - - -qt-pcre - - -qt-xcb - - -qt-xkbcommon-x11 - - -no-opengl - - -dbus-runtime - - -openssl-linked - - -nomake - - examples - - -nomake - - tests - - -