copr-cli-2.0-1.el8> 6 6_ ܉3!y덏%!E/֡f !E/֡(=eu0<'M3WIBg@&T!oⵀ͜RT0(m t^&vcTd_*UI FNMA';Dغ=bDxm:K*4~5?2E[U/M=g=j2sf@қ;l A]GT@XIf`mJZ^Ka"l8ӡ0"]wɏ[]|Y79gl_"\W7}aЬ[)/Yಭ݈nXNópV7ee956c0db3c1044f785d7bd8c621b0bfa5b9eef168beba7a3d7cfd376d496bfdecc3d3b01c5053c9c2fd069c1ecd431f9b16317f1"->5?d   548GVg v    b dl   (8q9q:qAFG<HDILRP\T]\^~defCcopr-cli2.01.el8Command line interface for COPRCOPR is lightweight build system. It allows you to create new project in WebUI, and submit new builds and COPR will create yum repository from latests builds. This package contains command line interface.f/buildvm-ppc64le-17.iad2.fedoraproject.org0Fedora ProjectFedora ProjectGPL-2.0-or-laterFedora ProjectUnspecifiedcopr-cli-2.0.tar.gzhttps://github.com/fedora-copr/coprlinuxnoarchhȁf+Uf.24ddda1b9817c31aa56bcb5b57c6213ffedd0bd10dbd941b0cefedc222997300532dfc1db9fb3cd384c09799197447516a663161bafd5274dc9293a912301804a mockbuildmockbuildmockmock   asciidoclibxsltpython3-coprpython3-develpython3-humanizepython3-jinja2python3-munchpython3-pytestpython3-responsespython3-setuptoolsrpmlib(CompressedFileNames)rpmlib(FileDigests)util-linux1.128.13.0.4-14.6.0-14.14.3f5fLe@dhdld-bd,@dc@cbb@bbJb4t@ar@a@aUa&0``P`@__/@_2@_16^y^r @^:@^]]]R@]>\O\ac\=@\73[@[@[@[~[h8@Z@Z@Z@Z@Z@ZC@YB@YY@Yh@Y:XQ@X@W@W֘WW@Wv[@WbWF@Wo@VVVT@V7P@VUUTT|T@To)@TD@T3T@SR@S@S@SSFSFS)S(5@S(S @RRJ@RR@RR=R=R@RSRSRSR@R|@Rz/@Rw@RkRj]@RM\@RA~R@-@R9R6R6R6R6Q@Jiri Kyjovsky 2.0-1Jakub Kadlcik 1.112-1Pavel Raiskup 1.111-1Pavel Raiskup 1.110-1Jakub Kadlcik 1.109-1Jiri Kyjovsky 1.108-1Jiri Kyjovsky 1.107-1Jiri Kyjovsky 1.106-1Jakub Kadlcik 1.105-1Jakub Kadlcik 1.104-1Jiri Kyjovsky 1.103-1Jakub Kadlcik 1.102-1Jakub Kadlcik 1.101-1Pavel Raiskup 1.100-1Pavel Raiskup 1.99-1Silvie Chlupova 1.98-1Silvie Chlupova 1.97-1Silvie Chlupova 1.96-1Pavel Raiskup 1.95-1Jakub Kadlcik 1.94-1Pavel Raiskup 1.93-1Pavel Raiskup 1.92-1Pavel Raiskup 1.91-1Jakub Kadlcik 1.90-1Pavel Raiskup 1.89-1Pavel Raiskup 1.88-1Pavel Raiskup 1.87-1Pavel Raiskup 1.86-1Pavel Raiskup 1.85-1Tomas Hrnciar 1.84-1Pavel Raiskup 1.83-1Pavel Raiskup 1.82-1Pavel Raiskup 1.81-1Pavel Raiskup 1.80-1Jakub Kadlčík 1.79-1Jakub Kadlčík 1.78-1Miroslav Suchý 1.77-1Miroslav Suchý 1.76-1Miroslav Suchý 1.75-1clime 1.74-1clime 1.73-1clime 1.72-1clime 1.71-1clime 1.70-1Dominik Turecek 1.69-1Dominik Turecek 1.68-1clime 1.67-1clime 1.66-1clime 1.65-1clime 1.64-1clime 1.63-1clime 1.62-1clime 1.61-1clime 1.60-1clime 1.59-1clime 1.58-1Miroslav Suchý 1.57-1Miroslav Suchý 1.56-1clime 1.55-1Miroslav Suchý 1.54-1clime 1.53-1Miroslav Suchý 1.52-1clime 1.51-1Miroslav Suchý 1.50-1Jakub Kadlčík 1.49-1Jakub Kadlčík 1.48-1Miroslav Suchý 1.47-1Miroslav Suchý 1.46-1Valentin Gologuzov 1.45-1Miroslav Suchý 1.44-1Miroslav Suchý 1.43-1Valentin Gologuzov 1.42-1Valentin Gologuzov 1.41-1Valentin Gologuzov 1.40-1Miroslav Suchý 1.39-1Valentin Gologuzov 1.38-1Miroslav Suchý 1.37-1Miroslav Suchý 1.36-1Miroslav Suchý 1.35-1Miroslav Suchý 1.34-1Miroslav Suchý 1.33-1Miroslav Suchý 1.32-1Miroslav Suchý 1.31-1Miroslav Suchý 1.30-1Miroslav Suchý 1.29-1Miroslav Suchý 1.28-1Miroslav Suchý 1.27-1Miroslav Suchý 1.26-1Miroslav Suchý 1.25-1Miroslav Suchý 1.24-1Miroslav Suchý 1.23-1Miroslav Suchý 1.22-1Miroslav Suchý 1.21-1Miroslav Suchý 1.20-1Miroslav Suchý 1.19-1Miroslav Suchý 1.18-1Miroslav Suchý 1.17-1Miroslav Suchý 1.16-1Miroslav Suchý 1.15-1Miroslav Suchý 1.14-1Miroslav Suchý 1.13-1Miroslav Suchý 1.12-1Miroslav Suchý 1.11-1Miroslav Suchý 1.10-1Miroslav Suchý 1.9-1Miroslav Suchý 1.8-1Miroslav Suchý 1.7-1Miroslav Suchý 1.6-1Miroslav Suchý 1.5-1Miroslav Suchý 1.4-1Miroslav Suchý 1.3-1Miroslav Suchý 1.2-1Miroslav Suchý 1.1-1- Allow admins to set storage for new projects- Add per package timeout option - Remove dependency on simplejson- correctly check CoprDir name before uploading large SRPM - assign fallback value from self.username - fix `copr build` +args --help output - typo in --namespace help output- priority=X support for copr DNF repositories added - new 'copr-cli download-build --logs' option added - make the pyp2spec tool the default PyPI spec generator- Show CHROOT in help output instead of CHROOTS - More readable errors related to implicit ownername - General check if it makes sense to upload SRPM - Describe add-package-custom and edit-package-custom in the manpage - Sync --timeout manpage docs with --help output- Bump release version for release mess- Explicitly ask which user checks the permissions - Add `get` cli command for proxy.project.get()- Add --review parameter for download-build - Disable default option for modifying project - Add option for follow_fedora_branching - Simplify `mock-config` output- More understandable module hotfixes description - Add options to download only built RPMs/spec files - Use the --dirname parameter for copr-cli monitor - Disable appstream by default - Use SPDX license- move to GitHub home page - add parameter for custom method repos- add packit_forge_projects_allowed for Copr projects- Add support for pyp2spec generator - Fix the --debug test on EL7 - Simplify cli configuration - Make requests-gssapi an opt-in dep in PyPI - Sync 'copr build' with other 'copr build*' methods - De-duplicate printing builds, and waiting - De-duplicate logic for taking dirname from arg - Simplify and fix progress bar - Add API support for runtime_dependencies - Print the URL of created project- Remove depraceted method `copr-cli buildfedpkg'- list-package-names now uses pagination - ensure that (error/info) logging is printed even without --debug - support for GSSAPI authentication added - re-try 3x the connection to Frontend upon failures- add 'edit-chroot --reset' option - add 'edit-chroot --rpmbuild-with{,out}' - add 'edit-chroot --modules' option- don't traceback for missing field in frontend's output - paginate packages list in APIv3 - fix exit code when a build is canceled - api monitor page to contain pkg_version- More detailed "Request is not in JSON format" error - APIv3 /monitor route- frontend: speedup for listing builds via APIv3 - cli: print JSON list continuously, not at once when all items are fetched - cli: add regenerate-repos command- add parameters for disabling appstream generation - let exceptions flow to the main function - generate webhook secrets using APIv3- cli: migrate from CoprClient APIv1 call for generating webhook secrets - cli: fix output format, new option --output-format - test: cli: Test for get-chroot command - Explicitly require setuptools, copr_cli/main.py imports pkg_resources - cli: test list-builds, list-packages and get-package output- support cli --enable-net for builds - new cli options for fedora-review- allow excluding chroots when submitting builds - raise a proper exception if the module yaml file does not exist - allow etting isolation option per chroot - fix serializable() helper for the new python3-munch- new --isolation option - add --help output for build --timeout option- cli, frontend: custom build batches - cli: propagate build --bootstrap value to API call - cli: move the build --bootstrap option to a correct parser - frontend, cli, python, rpmbuild: better bootstrap config - beaker-tests, cli, frontend, python, rpmbuild: add option to config bootstrap - all: run pytest with -vv in package build - cli: fix timeout option to allow change timeout for build - cli: fix dist-git unit tests - common, cli, python, rpmbuild, frontend, backend: DistGit source method - cli: support project/chroot format for getting/editting chroots - cli: do bash-completion when argcomplete is installed - cli: formally deprecate --memory option- copr get-package supports with_latest* args again - testsuite fixes for el6 - useful error message when new client runs against old frontend- add command to list all builds of a project - more effective query of packages with their latest builds - point docs to the correct Fedora Copr instances- enable deleting multiple builds from cli- add script to list package build order in copr or koji - fix `copr mock-config` to use `dnf.conf/yum.conf` automatically- new 'copr-cli build-module --distgit DISTGIT' option - make build-package honor the --background flag- Don't spam when downloading build - fix chroot-list command to work on both python2 and python3 - add command to list all available chroots- added module_hotfixes support - nicer mock-config (build config) api output - mock-config un-deprecated- manpage: update API token url - support multilib projects - fix traceback when lost connection during copr-cli build - adding cheat for copr- cli: pypi package needs to depend on 'humanize'- drop pylint from BR - use humanize instead of format_size(); fix issue#724- add CLI for permissions - new --max-builds option - rename repos 'url' attribute to 'baseurl' - generate mock rootdir on client side - pass a repo priority to dnf config - Revert "[cli] fix copr mock-config" - support temporary projects - print helpful hints for config parsing errors - fix tests broken by PR#547 - fix copr-cli downloading parent directory for cancelled builds- Don't catch exceptions inside action - Fix storing the custom script parameters - Properly rewrite download-build to use APIv3 - Do not require to set PyPI packagename when it is already set - When serializing munch omit the proxy object - Fix the APIv1 call in the aciton_new_webhook_secret function- fix side_effect function arguments - fix assert_called_with params- rewrite description of copr dirs feature. Use "tag" instead of "suffix". - explain copr_dir feature in man pages for build subcommand - improve naming of copr_dir in copr-cli interface to copr_repo - add support for copr dir to copr-cli - we also buildrequire python-copr with APIv3 support - add missing dependency on python-simplejson - depend on munch because of tests - have numbered string fields because of epel6 - fix copr mock-config- 1639590 - print name of package when it is deleted - set variables for each build - print friendlier error when trying to upload a nonexisting file - put backend the deprecation warnings - better errors with --config - print just 'repos' to avoid yum/dnf confusion - depend on python-copr-1.89 - print additional repos and blank line between projects - rewrite unit tests to work with APIv3 - update resource properties - fix the order of arguments - json_dumps is not supposed to print anything - return proper status code - cast disable_createrepo to bool - write to stderr instead of printing - if ownername is not specified, use the one from config - remove deprecated tito and mock actions - rewrite copr-cli to use APIv3 - use git_dir_archive instead of git_dir_pack - pg#251 Make it possible for user to select pyp2rpm template- python-progress is not present in EL6- pg#370 copr-cli new-webhook-secret fails - fix input under python2- generate new webhook secret functionality in copr-cli - packaging: Python 2/3, RHEL/Fedora fixes- %{python_sitelib} → %{python2_sitelib}- deprecate mock-config commandfix non-passing unittests under f28+- simplify bar.finish logic - rpkg deployment into COPR - containers + releng continuation - #280 cli upload to nonexisting project makes terminal cursor disappear - #220 copr-cli doesn't display build progress in non-interactive terminal - add download-build --dest description to man page - add `copr delete-build` build into man pages- remove Group tag- Shebangs cleanup - fix deps in spec - allow running tests only for epel7 - tests also for python2 during builds - new custom source method - require to specify project when building module- allow to set use_bootstrap_container via API- add SCM api interface - deprecate tito and mockscm methods- fix unittests - run tests with python3 - #130 update requirements - #125 copr build copr pkgs [pkgs ...] builds only the first SRPM - #112 [RFE] copr-cli whoami - Bug 1431035 - coprs should check credentials before uploading source rpm - Spelling fixes- allow to modify copr chroots with copr modify cmd- Bug 1399817 - copr --version does not print version info- use global const map for on/off command line switches value translation- when building module --url or --yaml needs to be selected - remove make-module command - update man for build-module command - allow to submit optional params to mbs - frontend act as a gateway between user and mbs - possibility to submit yaml file to mbs - compose auth url more prettier - describe module actions in man - rename method for making module to match cli naming - split module building into two separate commands - add possibility to build module via MBS or not - add command for building modules - more similar mock-config with real builder's config - put errors/warnings on stderr - fix trace in 'copr-cli --debug' - replace fedorahosted links - use 'avg' api from python-progress- `copr-cli edit-chroot` implemented (without modulemd uploading) - add 'mock-config' command - added auto-prune project's option - Bug 1390067 - Progress speed/estimates are completely incorrect - Bug 1389265 - Using groups with copr-cli is not easily discoverable - brought unittests into passing state - stripped down impl of building from dist-git - Bug 1335168 - Delete build(s) from CLI - disable network by default when creating new copr- re-use PYTHONPATH in cli wrapper- require python-progress on Fedora - fix for python-progress API- Bug 1361344 - RFE: Allow denial of build deletion and resubmitting at project or group level- actually define use_python3 macro- enable pylint checks only if python3 macro is enabled - Bug 1335237 - copr create command missing --disable_createrepo - --enable-net option added for create/modify commands of copr-cli - added man entry about --unlisted-on-hp option of create command- configure more packages to run pylint - run checks for copr-cli - man page for --background of copr-cli - add --background option to new build in CLI - man entries for copr-cli package actions + tests update - Add syntax for working with group projects to the man page. - honor standard build options for build-package cmd + use package.has_source_type_set in API - _No_ to Url & Upload package types - man: add examples - experimental support of building packages with copr-cli - list-package-names cmd added + build-package cmd implementation thub - added --with-all-builds, --with-latest- build and --with-latest-succeeded-build options for list-packages and get- package cmds - support forking via CLI- support for package manipulation - added watch-build subcommand - Bug 1333771 - Traceback from copr-cli when missing --pythonversions - rubygems CLI support implemented- use python3 on Fedora24+ - better error message - document --git-branch and --scm-branch options - fix download-build for dist-git era file structure (RhBug: 1324847) - implement building via mock - document buildtito in manpage - change build-tito command to buildtito - implement building via tito - buildpypi command documented in man pages + slightly improved --help description of the command - add group support for modifying and deleting projects - fix expected warning in failing unit tests - refactor owner name parsing- allow creating group projects - bug 1309101 - copr-cli doesn't handle string input for 'status'- support building from PyPI- gfix 1302615 - UnboundLocalError: local variable 'bar' referenced before assignment when building from URLs - gman pages updated for 1292033 - copr-cli ignores multiple package arguments if the first is a local file - grequire sufficiently new python-copr package - gadd DummyBar.finish() stub - compatibility with el6 and el7 - add --config option - fix packaging for epel-6+ and fedora-22+ - Added MANIFEST.in for python and cli- Removed __version__ from cli and python - Added version parse from specs instead of __init__ - Fixed invalid classifiers - Fixes to allow copr-cli to be installed using setup.py - ImportError: No module named exceptions - Display progress bar if python-progress is available- build action: accept any character in the username- mark license as license in spec - 1188022 - accept dash in project name- regression: enable again copr-cli build username/project- updated man page - compatibility with Python 2.6 ( due to Epel 6)- control auto_createrepo property of project through API and copr-cli; new command supported by cli: **modify**- updated to use newer version of python-copr - minor changes in commands output - print debug logs only when user provides "--debug" option- add man page for copr(1) - [cli] [RHBZ: #1149889] RFE: download command in copr-cli - A few fixes for CI- [cli] Added symlink for executable: copr -> copr-cli - [cli] removed epydoc documentation - [python-copr, cli] test coverage - [python-copr, cli] updating copr-cli to use python-copr- [python-copr] Renamed package: python-copr-client -> python-copr - [cli] In case of missing config show proper message, hide traceback. - [python-client] added a few unittest, changed package layout, updated .spec to run tests during %check. [copr-cli] reflected changes in python-client - [python-copr,copr-cli] fixing, cleanup - [python-copr,copr-cli] Copr-cli now uses python-copr-cli package. [copr-cli] updated .spec to reflect usage of python-copr-client- use correct name of variable- [cli] stop waiting when the status is unknown- [cli] skipped state support- cancel added to the man page - exit code 4 for failed build and man pages updated - error and shell return code 1 when build fails - delete a project - shell return codes with errors - copr-cli cancel fix- be less strict in parsing fas/copr-name- We can choose chroots for new builds - copr-cli waiting fix - building pkgs separately- BR make is not needed - build -doc subpackage only for fedoras - add LICENSE to -doc - replace 'copr' with 'project'- move copr-cli in standalone package- [backend] - pass lock to Actions- [frontend] update to jquery 1.11.0 - [fronted] link username to fas - [cli] allow to build into projects of other users - [backend] do not create repo in destdir - [backend] ensure that only one createrepo is running at the same time - [cli] allow to get data from sent build - temporary workaround for BZ 1065251 - Chroot details API now uses GET instead of POST - when deleting/canceling task, go to same page - add copr modification to web api - 1063311 - admin should be able to delete task - [frontend] Stray end tag h4. - [frontend] another s/coprs/projects/ rename - [frontend] provide info about last successful build - [spec] rhel5 needs group definition even in subpackage - [frontend] move 'you agree' text to dd - [frontend] add margin to chroots-set - [frontend] add margin to field label - [frontend] put disclaimer to paragraph tags - [frontend] use black font color - [frontend] use default filter instead of *_not_filled - [frontend] use markdown template filter - [frontend] use isdigit instead of is_int - [frontend] move Serializer to helpers - [frontend] fix coding style and py3 compatibility - [cli] fix coding style and py3 compatibility - [backend] fix coding style and py3 compatibility- lower testing date - move localized_time into filters - [frontend] update user data after login - [frontend] use iso-8601 date- 1044085 - move timezone modification out of template and make it actually work - clean up temp data if any - [db] timezone can be nullable - [frontend] actually save the timezone to model - fix colision of revision id - 1044085 - frontend: display time in user timezone - [frontend] rebuild stuck task - disable test on i386 - use experimental createrepo_c to get rid of lock on temp files - [frontend] - do not throw ISE when build_id is malformed - [tests] add test for BuildLogic.add - [tests] add test for build resubmission - [frontend] permission checking is done in BuildLogic.add - [frontend] remove BuildLogic.new, use BL.add only - [api] fix validation error handling - [cli] fix initial_pkgs and repos not sent to backend - [frontend] fix BuildsLogic.new not assigning copr to build - [frontend] allow resubmitting builds from monitor - [frontend] allow GET on repeat_build - [frontend] 1050904 - monitor shows not submitted chroots - [frontend] rename active_mock_chroots to active_chroots - [frontend] rename MockChroot.chroot_name to .name - [frontend] 1054474 - drop Copr.build_count nonsense - [tests] fix https and repo generation - [tests] return exit code from manage.py test - 1054472 - Fix deleting multiple SRPMs - [spec] tighten acl on copr-be.conf - [backend] - add missing import - 1054082 - general: encode to utf8 if err in mimetext - [backend] lock log file before writing - 1055594 - mockremote: always unquote pkg url - 1054086 - change vendor tag - mockremote: rawhide instead of $releasever in repos when in rawhide chroot - 1055499 - do not replace version with $releasever on rawhide - 1055119 - do not propagate https until it is properly signed - fix spellings on chroot edit page - 1054341 - be more verbose about allowed licenses - 1054594 - temporary disable https in repo file- add BR python-markdown - [fronted] don't add description to .repo files - [spec] fix with_tests conditional - add build deletion - 1044158 - do not require fas username prior to login - replace http with https in copr-cli and in generated repo file - [cli] UX changes - explicitly state that pkgs is URL - 1053142 - only build copr-cli on el6 - [frontend] correctly handle mangled chroot - [frontend] do not traceback when user malform url - [frontend] change default description and instructions to sound more dangerously - 1052075 - do not set chroots on repeated build - 1052071 - do not throw ISE when copr does not exist- [backend] rhel7-beta do not have comps - 1052073 - correctly parse malformed chroot- [backend] if we could not spawn VM, wait a moment and try again - [backend] use createrepo_c instead of createrepo - 1050952 - check if copr_url exist in config - [frontend] replace newlines in description by space in repo file- 1049460 - correct error message - [cron] manually clean /var/tmp after createrepo- [cli] no need to set const with action=store_true - [cli] code cleanup - 1049460 - print nice error when projects does not exist - 1049392 - require python-setuptools - [backend] add --verbose to log to stderr - [backend] handle KeyboardInterrupt without tons of tracebacks - 1048508 - fix links at projects lists - [backend] in case of error the output is in e.output - [selinux] allow httpd to search - [backend] set number of worker in name of process - [logrotate] rotate every week unconditionally - [backend] do not traceback if jobfile is mangled - [backend] print error messages to stderr - [cli] do not require additional arguments for --nowait - [backend] replace procname with setproctitle - [cli] use copr.fedoraproject.org as default url - [frontend] show monitor even if last build have been canceled - [backend] call correct function - [cli] print errors to stderr - 1044136 - do not print TB if config in mangled - 1044165 - Provide login and token information in the same form as entered to ~/.config-copr - [frontend] code cleanup - [frontend] move rendering of .repo file to helpers - 1043649 - in case of Fedora use $releasever in repo file - [frontend] condition should be in reverse- [backend] log real cause if ansible crash - [frontend] try again if whoosh does not get lock - [backend] if frontend does not respond, repeat - print yum repos nicely - Bump the copr-cli release to 0.2.0 with all the changes made - Refer to the man page for more information about the configuration file for copr-cli - Rework the layout of the list command - Fix parsing the copr_url from the configuration file - [backend] run createrepo as copr user - 1040615 - wrap lines with long URL- [frontend] inicialize variable- [frontend] fix latest build variable overwrite- [backend] store jobs in id-chroot.json file - [frontend] handle unknown build/chroot status - use newstyle ansible variables- [frontend] smarter package name parsing - [frontend] extend range to allow 0 - handle default timeout on backend - initial support for SCL - [backend] create word readable files in result directory - [backend] print tracebacks - [frontend] monitor: display only pkg name w/o version - [doc] update api docs - [doc] update copr-cli manpage - [cli] list only name, description and instructions - [cli] add support for build status & build monitor - [frontend] add build status to API - [playbook] do not overwrite mockchain - [backend] add spece between options - [backend] pass mock options correctly - [frontend] support markdown in description and instructions - [backend] Add macros to mockchain define arguments - [backend] Pass copr username and project name to MockRemote - [backend] Handle additional macro specification in MockRemote - [frontend] monitor: show results per package - [frontend] add favicon - [backend] quote strings before passing to mockchain - send chroots with via callback to frontend - [cli] change cli to new api call - enhance API documentation - add yum_repos to coprs/user API call - [frontend] provide link to description of allowed content - [backend] we pass just one chroot - [backend] - variable play is not defined - if createrepo fail, run it again - [cron] fix syntax error - [man] state that --chroot for create command is required - [spec] enable tests - [howto] add note about upgrading db schema - [frontend]: add copr monitor - [tests]: replace test_allowed_one - [tests]: fix for BuildChroots & new backend view - [frontend] rewrite backend view to use Build <-> Chroot relation - [frontend] add Build <-> Chroot relation - 1030493 - [cli] check that at least one chroot is entered - [frontend] typo - fixup! [tests]: fix test_build_logic to handle BuildChroot - fixup! [frontend] add ActionsLogic - [tests]: fix test_build_logic to handle BuildChroot - [spec] enable/disable test using variable - add migration script - add table build_chroot - [frontend] skip legal-flag actions when dumping waiting actions - [frontend] rewrite backend view to use Build <-> Chroot relation - [frontend] add ActionsLogic - [frontend] create BuildChroot objects on new build - [frontend] add Build <-> Chroot relation - [frontend] add StatusEnum - [frontend] fix name -> coprname typo - [frontend] remove unused imports - [frontend] add missing json import - [backend] rework ip address extraction - ownership of /etc/copr should be just normal - [backend] - wrap up returning action in "action" blok - [backend] rename backend api url - [backend] handle "rename" action - [backend] handle "delete" action - base handling of actions - move callback to frontend to separate object - secure waiting_actions with password - pick only individual builds - make address, where we send legal flags, configurable - send email to root after legal flag have been raised- 1028235 - add disclaimer about repos - fix pagination - fix one failing test- suggest correct name of repo file - we could not use releasever macro - no need to capitalize Projects - another s/copr/project - add link to header for sign-in - fix failing tests - UX - let textarea will full widht of box - UX - make background of hovered builds darker - generate yum repo for each chroot of copr - align table header same way as ordinary rows - enable resulting repo and disable gpgchecks- do not send parameters when we neither need them nor use them - authenticate using api login, not using username - disable editing name of project - Add commented out WTF_CSRF_ENABLED = True to configs - Use new session for each test - fix test_coprs_general failures - fix test_coprs_builds failures - Add WTF_CSRF_ENABLED = False to unit test config - PEP8 fixes - Fix compatibility with wtforms 0.9 - typo s/submited/submitted/ - UX - show details of build only after click - add link to FAQ to footer - UX - add placeholders - UX - add asterisk to required fields - dynamicly generate url for home - add footer- catch IOError from libravatar if there is no network- do not normalize url - specify full prefix of http - execute playbook using /usr/bin/ansible-playbook - use ssh transport - check after connection is made - add notes about debuging mockremote - clean up instance even when worker fails - normalize paths before using - do not use exception variable - operator should be preceded and followed by space - remove trailing whitespace - convert comment to docstring - use ssh transport - do not create new ansible connection, reuse self.conn - run copr-be.py as copr - s/Copr/Project/ where we use copr in meaning of projects - number will link to those coprs, to which it refers - run log and jobgrab as copr user - log event to log file - convert comment into docstring - use unbufferred output for copr-be.py - hint how to set ec2 variables - document sleeptime - document copr_url for copr-cli - document how to set api key for copr-cli - do not create list of list - document SECRET_KEY variable - make note how to become admin - instruct people to install selinux with frontend- prune old builds - require python-decorator - remove requirements.txt - move TODO-backend to our wiki - create pid file in /var/run/copr-backend - add backend service file for systemd - remove daemonize option in config - use python logging - create pid file in /var/run by default - do not create destdir - use daemon module instead of home brew function - fix default location of copr-be.conf - 2 tests fixed, one still failing - fix failing test test_fail_on_missing_dash - fixing test_fail_on_nonexistent_copr test - run frontend unit tests when building package - Adjust URLs in the unit-tests to their new structure - Adjust the CLI to call the adjuste endpoint of the API - Adjust API endpoint to reflects the UI endpoints in their url structure - First pass at adding fedmsg hooks.- 1008532 - require python2-devel - add note about ssh keys to copr-setup.txt - set home of copr user to system default- 1008532 - backend should own _pkgdocdir - 1008532 - backend should owns /etc/copr as well - 1008532 - require logrotate - 1008532 - do not distribute empty copr.if - 1008532 - use %{?_smp_mflags} macro with make - move jobsdir to /var/lib/copr/jobs - correct playbooks path - selinux with enforce can be used for frontend- add BR python-devel - generate selinux type for /var/lib/copr and /var/log/copr - clean up backend setup instructions - initial selinux subpackage- 1008532 - use __python2 instead of __python - 1008532 - do not mark man page as doc - 1008532 - preserve timestamp- add logrotate file- be clear how we create tgz- fix typo - move frontend data into /var/lib/copr - no need to own /usr/share/copr by copr-fe - mark application as executable - coprs_frontend does not need to be owned by copr-fe - add executable attribute to copr-be.py - remove shebang from dispatcher.py - squeeze description into 80 chars - fix typo - frontend need argparse too - move results into /var/lib/copr/public_html - name of dir is just copr-%version - Remove un-necessary quote that breaks the tests - Adjust unit-tests to the new urls - Update the URL to be based upon a /user/copr/ structure - comment config copr-be.conf and add defaults - put examples of builderpb.yml and terminatepb.yml into doc dir - more detailed description of copr-be.conf - move files in config directory not directory itself - include copr-be.conf - include copr-be.py - create copr with lighttpd group - edit backend part of copr-setup.txt - remove fedora16 and add 19 and 20 - create -doc subpackage with python documentation - add generated documentation on gitignore list - add script to generate python documentation - copr-setup.txt change to for mock - rhel6 do not know _pkgdocdir macro - make instruction clear - require recent whoosh - add support for libravatar - include backend in rpm - add notes about lighttpd config files and how to deploy them - do not list file twice - move log file to /var/log - change destdir in copr-be.conf.example - lightweight is the word and buildsystem has more meaning than 'koji'. - restart apache after upgrade of frontend - own directory where backend put results - removal of hidden-file-or-dir /usr/share/copr/coprs_frontend/coprs/logic/.coprs_logic.py.swo - copr-backend.noarch: W: spelling-error %description -l en_US latests -> latest, latest's, la tests - simplify configuration - introduce /etc/copr/copr*.conf - Replace "with" statements with @TransactionDecorator decorator - add python-flexmock to deps of frontend - remove sentence which does not have meaning - change api token expiration to 120 days and make it configurable - create_chroot must be run as copr-fe user - add note that you have to add chroots to db - mark config.py as config so it is not overwritten during upgrade - own directory data/whooshee/copr_user_whoosheer - gcc is not needed - sqlite db must be owned by copr-fe user - copr does not work with selinux - create subdirs under data/openid_store - suggest to install frontend as package from copr repository - on el6 add python-argparse to BR - add python-requests to BR - add python-setuptools to BR - maintain apache configuration on one place only - apache 2.4 changed access control - require python-psycopg2 - postgresql server is not needed - document how to create db - add to HOWTO how to create db - require python-alembic - add python-flask-script and python-flask-whooshee to requirements - change user in coprs.conf.example to copr-fe - fix paths in coprs.conf.example - copr is noarch package - add note where to configure frontend - move frontend to /usr/share/copr/coprs_frontend - put production placeholders in coprs_frontend/coprs/config.py - put frontend into copr.spec - web application should be put in /usr/share/%{name}- new package built with titonoarchbuildvm-ppc64le-17.iad2.fedoraproject.org 1727868701copr-cli-2.0.tar.gzcopr-cli.speccpiogzip9https://bugz.fedoraproject.org/copr-cliutf-8f0106ec254d9f4041c7fb7d47dd3e34dfa0a6114cfef7c4dab4414065f1d484f?c. ̦Ƕm۶m۶m۶36sƶ~W4Mfddbf?Ob6acaab V./KOf{yh? pp:uE:j~? O<Nz|? -zfdX p,ִN`R G;},b4]@N )d3F[Ӯ`y^y5% x5>Y̏H{",̱,}&Z[F+7P@y&on`=SN))УS8( H>gͿ⹂&Yc;%dߢ\f $S?hMKW*jVg.AL`fC=RaQF&\aS͜OhO4?w,cU^}>ۨ&h^OC.=~gm9:g)حl'0R*v]n<кHӥbh`($ZkOaҪ*HB' aRoVmcpCPcTVKQ2A#t.xjb7(Z'*ē׽aPyV7H,huEk MmiöƺS V5aUil"Y ~w4^֢YZ`^gFdn,BB%LQFL.GԌ$n3 ]ۺh>KX{EջoBy2w(j1:EݗGY+;n/j+okæ}9۬f uXtkR3 T:āu٠ 9Y=KtT~jW5|>88;B"4<#WC@\{)5l}8 !y/KDa0)h:4{?yj?aR$Ob GtFRp}\ f@vRlCߤNm(G#XbBü`XKEaẢN&q!qLɴ<"Ÿ!B, i:sDz6WR1Bd%Mie`E|3qמ:`{JקM+δ' wܤ>\ddQTIy㖛WyolfAlƨf J~aOtɥH$NpџP<?cr bjtSl珿BEsZ)a7QlsNÀnMϥXW; (B w.w2L% R [C+% =q%/CtލY'ԌLT<4$$ɬIi,A!Q#թPˠZ<\ݨ @ epF6ܒ`|Hx`E3Sl(k'6IOYŸ!GM "~N8}YN u-׫s9>fqtDJR'b&t!p'ЀSucLYDGZZ <pXHMfH5&U 5yN rǞq8HpK ?mqVqIׇmwԬ[Gpv(`(4fA,Na1r d糡UצQ)6O<ڝ;BuṆsnMbN73Kϳ! Kw]?'.Wi_N]TR'В|PxZO]րXB&RF*^y' _D5vSp RJ5sP,.ZLrԵTɤpb12W0?Qְ1z!a!~2J$Sͽ"n Ų+W(N'C<s/0GҀsx~7{Z]-c=vGLʮgSv%ß;ZL7ˣD"K "@f*d-2 PSkٶ&ڗ׍fL%p *YF>Wz 4PI~!*0qqX@\lk$3EvYmeZI1wEW^wI߮YGBŏ*c}n"Ms9)jJ'=iHF]?`eۭe'pML2Q՚eCfIҷXeتdX_/iA 0F[4{s|<.Ld8U? igͅxH! TZyϢr5YeY4Ot%c=|xC>) >Dj:smX ؔt> ٫7w վp<,Mjr3dߛʞqO5yϓ5M7b䋅}FSBv,RSK#lRZ@YϲS5m:2L~{#7.v<= jOٹ`&;>WA*}( aA )23@aR]_΀.qz) @a-H+[i{}& oS(ѶЅxhs2Vv${l nM'Nu8w:(iwT g(f81zjkQ,t RAw g9t]&m^EX?5 uѝx'0AD27T=fMi[8f{eXZl5|rYemFD8X N%"}D,ҲO9.1+.d`sY&ztQI&' ;tXb0=FG8JuzV4Mq^Js6vݍD~zv]O\rC ҍTHfD)IlJΰP::J")96.G,}'*ű6CT&Q#FL^_S q̓YdHϛ#{3 Mkj~dEZeV6uW-Y%"2^/Gr%2j_}-:唧e;nSYcv9=`Fz3B%8PGbU.;~*ڷ~lTg'5ãL .JۋsNEnݧߺ`*MM#ڒyٗ o.@q'=s Y%Vn5I/^(6^:`b!˹'kٷ{/F{F-V%Rw&ıFVB{խi6dSO兌:!-j̱ۇ)wnʟQHVw_(+HzMܵR1Wǟsf$ƶJZ\cB+x"BJ8f0< _NE`yPHFQ_x6+Af6ZǓ+=`]sJ~!m. 1tM0W_6}w4-=WTQ5~T?\+c]! C)8Oz \1阗qֆ4)oHNXB阷h"$WtUL݊T+;DPzWOwRr\I2;,ԭärZl̹mdr%QLe玪_%*&+*&"4|7u [4\!]¬_^LQ&06jc;<-:KRS=*鄛 H? +HcZ3+eacXlVN".qWK'as.teǗP1@CxɲmOeP칝Ԧ6HC/5.?3O<ʡ!~Mjn2lX@8>3MIP2YNnx2Jz\X3\Wiǻ߳(9Qpg QmTY*sOthk8,BH0 cLy`Edz'X묵', \Yƀh@A䰙SshMCqe1Hэ?ur-u`%zJivA:QK2Ó1n nߗ?_In~=r ?De $">"rxq ?I +c?9s>Lyڳy._ GP]0K?Aw~v!~a| !c/?e N2>v^498 @[F4C'$F:n?w;Q9%CknWp+8{SW nӃn/eu@P _>0S5eM^u ~; (;]~F snLi0}{LuY*{@tⲶ}G9 ޹^7jڲm_̶;@Z ."ETV2+k܆|[: :o&n4ol)xA:?59+nHiA1|)C=6(PG['kw("cW $:±A. AB㉟)"=&6ds=axȥ07epP8'K9֠d f56ox"E TaQ<1t\qٻ@ߵ3XZc:P.ePʎBeUb|z?-n6j&m(;|f$h!=5cJ_ VR8myzu%m^[n?"0rnCnX .9ppv8߾$ ~ocsNb|3nnlLl2mb:&pgx4=(:֦KE$xq\{­~Qޕ*IH:HxBIjw-]Z9G#ϽWI:Hr~uJ@K {ǀ2lIs%}ܟfmop(\; MnWSCBܞ|hMvxvxfzݘ F  y.ݰ>6ja:ܡTd^z/tee>ëtg5>[iB@yɣeeoeǁ/,:`)b]8p WHLcyE^ߞiT,%SX-'S _!;(š3BX0!q'euU84Iz5&0"BQ*9'|N$f{4pųE4U%s*=``N`\{fň|SO&'e3<2rHH<gp7Y Cz(F2HY]ؽP)?g1#F4DVb b?H}!|:Xԫdadp$C+(PI50QJǛkH(w4 Q{N;>Z(:VBDhg|d8ǵ녯40:&L]͋͌q5|OwuO>#0 ?VmB]}(8VyR Δ_VM]Qܧ6Qd"R!;%+˫H䖵`/]Q tiϋCJarVs}V{NĆi}FQ؀$A0FB~ں,+K9=s`DvNC{_׎#;obK!"Amt]R1ǂ=]uQ9(`#^ΖA>YGF [G'ۛp]ĠCEקĉmDr|:`!ø>M0rBܥdDuޗ#]ԬjӟRE(*((tAт];822*qI¤? 2CIφNU%YEE_E=M[_+*`19u7aXo/E]+D K[H˞;o[Jg@ $(Qɚʈa§bOq7ci =e7pkwiXT?9%Y8\61W$2O|']0x1n함E!JZ #u0,$!jRFQ8*0y]PΗqs8}gp Ca{OӆɍEi&7qĊ keJۡNUA"й>$ I͝e) xdXsEI4֋V/#A4 _еQwvV1;#y9)_ .`꽶]srj{]t?(^d uéO.4K18lrxd. 8uT\ 7XpK%EfU!2,.JK9/!@u6CT 9X, muF ?҂p~n .LBD'5NNq+tZ;01o{0[rSol <.Ċ.iR5HX֪\ hC#Mi|ݘ1IEw6J䲒;{Vo%dM:h~6OzS"܄Q~6:c3Hʻyu%(; ->8Ԇ*t(c7q,z|[&9U%2H&B]IWD)XV|D\Ѻ y4cOs{݊e%-cq3)):&HkZ_;#+m%.}qyI>& Ӕ^N+ O苑AA?xq_L)Bᩑ\Or*>~G5=X9_=qukt/_:zpxFpQP;5oBa>L 2-Y"z(k$]oi#o @1>V@n@\c$A=̨!EhWth (SoR&6+N.8+ 6@*1^lY/;GSQ$vƕƗކ t_Q:dRGjƗ6\ӵΙA/ D6cY'5ڼ|?6X}WoK6-KN>s!KARO$'Vn^Kh3T$a"y餚 ھnU6N>ե\_AGNHsVwB%,K\ʾ:`( }`КD/2 f3*3ak 5wk؞f7י 9m"d|#.00 8 uw*A}<$?p5SRD2Џڎؘ1lmbUhܰ4KcEdoMAT۾lbu|Zۈ"d]BV6Z+"(ShIY`(1K1.d-`I# &0@ŠUn-D+g*5i\KG)("p4!'i& 2! d c2MXF]ًCU "NH5E;b#W1k9ln\kL ԝ|ў ⭹A汖>h 6cDORT/w<Poa!bΛ"[򜹱e]c 18[p1BL <f42hިR(B%#^> .g)W&1%ҭX"699%NcEA Wo778fCNH2$όA1VQSߙ py#guW 'U#Io2= 'D` ;Toe[Ir)DJ i36cM#~$'h=l'}R 'Gń׷ks=d`7ܘ=3Utaf!dXJ=(3: G@x2F"Gxy)^Jv1ʉN*ᢓʀ f/ T,@'0-JCO|؉@N rv#ʱ+XsӸo yBr7'Z)>[3oI%$e)IEOYA`8X.\B)"a/nR|)ғ_[@j𖒖J^nr?͆v<~*1g21?%Ti!{pK 6WR8gQG*j)HƟ[]S@QEh0즈CU.sjD#HC~׊ F`9Nd'Y.Z4d$մRsaY?P^ #XAbI݋] \0"ug_4K#24KF EM+IB#,H#oo RI:&:ূdJ{%jlRfgfĸNJ=h\U' G8 , 8KKY۵nA~lqʢF2חdFF ʔ K&ByIfU-GTW抝oMZ04uXc@Xi O(0^ ]&Z$,kG7zB U!{ /c;?w۳%&1=?ьֆgM bD!7)p88vz]lJMr_63D—vQYϾ ,RʣJ 4g.Ft_Z@K4j#&P/W2U2Iѧ:J:')u7W -T3w=O48xAn%0q2:yAp%ANPGqu,W#0UV50xX:-LUj#X˴uu8f܈C ,Y.Z =添<$Yt}I،#~G>KMX'P Rg;51[ º=xTEPZ$0mӱݹ;z0Oj4+k5yޡK0]z:MBL8VB,/ear8}ݶGڪ_>r5Yڞ% 8 Cۯ K¤-/^ĞadBWmrǪ>RE,?CE˘K#$oaS/SĸLV6H>YS:^,"by?llIH>/;gӲ ڑh*det5 x"̿f^;Կ,r0s< hJSA^-e &Mg$M\dl5+^ }W Rl&"jm[6{n*n>{ľ+[޾OQ=YDCE곛a#xk#6\8#Ր/ Od i7~cXLRV(390oX,Kƹ|O\2'VNSPV]@xPqڌ3U ѩy_0zqe)b@h䵾ؔc NYD QVN*>84 6S.@T!fV'̓hՃˊ^FF_Ƅ:|*{՘;CWL$eq=wfRpE,$dAuQLIT[ >v<jE9D`k닋7߹=Vf"&N-_hZ|nxX酼e %!ѵHUKT]yȜ!8`'S{:t8I~"[*=:-]DY nkD!nm#թTc3J]nB 9dQʅFGBu>O>9(VSq,jnEK_HrLXV12MgČA?'vH:Kzy\<FxxgyxvM(DL]mt$X>x8N\MUwhܮn?m";UF 91?$k<vӒozsv<3.b,"W9r>L!i&{P]c0@JkLj #UypSy_+9U|qM'Pk9b.g 96_vɺCRaau33#9嫮>'qH|sgdrT}_l0Ge~R]#,Rg.<}L$5'<,/DSJϠ*g;7#^AΡ+bOLp^8\Y'B[lFwE5u8-cك9{u6S߷E-^Br>,'jEI^)㛒x(\Ym Oؠij;m`h)wMq%M6@uŠlɁV eR;lYi ״mTW"&}p_$uIT/ Sq#;[֎9!s.vO_S'O8kyrr[eg0tꌮKp3WAIEok Ok+#RŞ(=5gDzQ (K&S_>mQAJ!,s⏍XܸBԺ&Ȼ;w?uY9A^H@RڒokWc~CLNA$(T<5#$eG^бu,/fsPH+<{ WZ:pAPҡ:,T {;3dAFyLv՜]׶ C՝pL+G _o q,5rxDߐYBiej{%*.AJ9|[2D{1P) gAC9!fk*P ilJܬG8UHjbXpZ8r"Ry#`[̀>XZ1*$$;av).'zU34~dY/ 69$y<)pQ2:4^5%hSLu͹(vtf0vjlGڶͪe˨Q@17 hՊoTXwضU@CҴ691mߑ7F9{ LU # ~y暌۔ ~/@R {0hE,kIڋPm6iU쥳cT^l^DQeFXЁG=366tkM|/￐oUjo 1붃˛ջ<=NU*PSHښ~  6&H̔oѬmYHr08)EK,JB1ҷIcac*FT}i`TcQ)zv_wL_ըW%VZF:^/^r//A"6ܧv{JGF1@>Q͊tuӎ8߃kW0";q@I ~gx  v\R{Ñ)`a˦Cl!怑bؔVEMW;7gwTz!0vs+!gotfc^Ttcp-yKUNWsȩ x[.Wj!xTDxu:!+Z53vL瑖Ũr<2 ^6wW->pb3ǻ}M&&Nu֬C&&ΓA0dgHL4+̤ݰ(,VMs[QUF-BأC){~Έ`Wk/0TNH)oINWd|mx9JbPh+P 9`K]G{V@5qUGr<" K0sLXT!iZ; HН #F""[>\"De]p[PU,݆MԅE`[??*|̨R# Ķ?py W+I1@ V*tDZUH)I,3̸ `%,QAw=WHghtIl9bIY; M,YOZnxCP 4<@n3P#?Nvg͢ 47we\s,Zg':>;+M93RXU"r~`;v: lC5HAdVzeU7Y0P&ʗOa1"&*|F+&.0.w  *܆7W؜% 2 sk13K/sjz*40,he ,Pӹk&F\ȋbǡ6wZ/TXy Shy;Jx*P8A[miWTӄny#VjLxrͽh>J<+ ^qHY G7XfRYM'Vd=8VO-`ufLX MvjLm/qx9eD.Y'$l'x9ڌ! @;mµ™Î@ir6)ց'ɉ S"=.h;;MDdR,{atgE/E&JfXE0V]f_94 BGL+ v4s$Aoy!))~@?3S"P _-L+Phe!7&>}T‰+X&J(R m|̊o$MQhH-bd:p-BdNHah\6QP)-[p$҈,17l1hmW#QImKR\.@<ys jqTHe8` _}TE9}̱@}pJ`E Yp3_2cu@/d]#4't^>k%]6-y%^5C4`A8IR-D"$? $Ӧ&JLwa$V%G5Bov?z'ށ& HpVU<$  ğvDmZeJ(SG3PrY*T9:DJ ieL,Wۇr 쐇ǩb߼~GG`fXPT={+IFV*/Y~@ V@rPl>n3e@If1] Ge!3Zہ-;x!5׉KN2"7hܑ]z+vs wdg8Vl7>]c#hpС9;*܈1 ٢S> 4HI,(g~kACxJ8;T%Q$xIS)Q@Fv m8LefҐPI6|JeЁ,h{Aǔ%h Q a Ѷ W9qFRɔ6ÁSO&]?0$bZP%o7P28IǠpnҞ'Iˀ=kW݁;D*{UcUԯ3"&:@WNٲZ%Xn8vLnu:*~Cň:k4 O?S¶Tr4-Mmu'nCLRYyӳ?r[+I A13 Wq]ks?|fU` &Wb9$p'kܠz6QT3n!p`mrB$c.,p19+qIgl 9*Wv6&.,E|:c#E=4FXIeݣT<-) M/t) )%B .)yyQ)i}t[<XC6:YZV|OhVH};{L1FNl7Ġt2BvND8 Sү h LebhGxIFu3F!lr+zH7M_if+xXk;_QpȚKPYܡTMwFkkQ)JXκ?je+`$FEG Q#`H LP?]R2Yg~MRؒǯr𮋃 D h~g@ &4iɀxx{ Xd,]8m|אJrDN-'=`6K# 0^8C2R$}7{k޿osJƏ0Q+8Qgp h1\%L';uE\Vf8 gA>Q\Ͼ1g|C>eupEQ+ s2whH}a(``$w D|8)cQz#@' J&DvБƃP}c*ϽiqǦ6ʙ:@lJ`<0up`^&"DCʎKj$,AĀ)qE`;d W2$Kb"'LGeMW(]bÍepJHJEߌ1y,-WRֱ|rW!I2iKsH PZjd%_7KwEC 'X e[%ʂ{kvRRX90>9KbAu\B+\ׄg zitOCFhA% sog3c~69R^ko-!~O:#5)JGc)4_C̘IgHԛl)LX쪭%R0ka+ޜ#;޵(䲓Io=J#qax~}Jri {cn. =N(lڙwymop~@G)M\8~o͸& l-:mb' cJFUN2r;@j>lSAx?nk1oX'ȼ8'UE+fyZRp}^SBŞES]a$-R$k Nʡۂ(]%1Nhsj^|~8=j@m;gbj/o%pYoow=]C{oyvIN`+\^w충M#4 hj~t:nݫ:IitZXPR m\;Z?*W|\]LJgɫ_]K]F=JLȜ 2f/(L^ IOT}Iާ)`_Ӡ)#6ЙCLoe?=n)} ~5>ᴄŃzIG\_4݁ ld8M/*y^]{ݢ.stl)9>^E*廙͒R=hЍ: oGG%gE>t٬3 %'̅EW_hU"NU3]}*YDH5a|`jMhW5EjD)UߛGQofv+m/w$r0:Ns.5ԡNTbob8`{AbBkITqŦ?NEaE"N)|6 $.ѠdǪ$(7 708Jm_d0"/&XA4T8V%p\WgEPhp׬X Bs㦚NMyT5^+,y+j 3OMi,8jv/^ַ#R.qU~e8 C"zXZ~zT ,V$ᵚ]SJ ߛM?OR솈_n#ES$-&sg}`E ` X*tHP7:׬V3J_.V?$]vR0H)s&73KֹJxΘZ&۪6  /j9j, FC1-Yet;R4}&ů2XYiÖcJPbtÒ78TMc^󖛀/zSͦV5gtME t Eꂈ}rPr٨zjF浚WfRTgT+qL1t\Kq TGSX gt*!57״9 lP|?CR~#e%aR An¼^pPNׯ:>|tE?QkIU߃ YApߧKK_~sёӌo?:J%`@/yâ}ݭgRrѡEN:EOPlJ%P]?<9YYZsޱYn)kC~"fg(g7)`>ư:CQ;g5RLr8FmY NwuъISk&ƸL:Ы'(' r yGmze#F'~Or[Qɩz&CpzBM# "8"Mb@j8,B 醡ہ(Gou⁥k0k φYi'E`N-뎠?GoHAzfyA9rW& !x ZƂ::0;'búG?ɰ s׿֙\i7U RCp`k-$OTYREEvD(Ơ p-&kB~/ Xk AF2KhA>  q5I)#ި)+&}6] %'%MܩfT܏z6S?SE4e} &~i.] a2]dg2YA,ps f FL݆ȫt@ֿzPǻW1*?+T&pRl{>-jO8.UP{E$U ͐Khm>̎4G_6jeYGG.Q?¨I'Yl׶j uS_5|6Z-c*zKEVT`q&|G9Әyjr*6m֜bO 9B*(XZ觟@e<;lz@}xc+&Ӌ' KE>捲}X uO* f)-E p8Fs5֍i Vjg1z]a;vi Ø9TU3o1z+c.mo]:Kb ٝbI.ͲL$hus4l@VB4u-e"AV.\/?Hn[/Wnge)A8L(x9|DʭO'`4KI5yH9zg#|DuR!dl~zp dzp*T{o|8@fEۡ}l$G'0~2P)Vs|0>؁7_]pS9ŝs֣IǚHn S;e7,xSrӓ3D_5|9 gɹ},GCdcr>~u1-ME(=&3b|"Y\B`2Z&t*Xa jF ɫX^v4SM<JG>9ranS)>2[?E_nm#H`@ML30rYqm4}RlW?ֈH|D@2Gg^f6@2O Y5ʠkwţ\2ӱZI$M<p(N;(%`;;xrZNT,. f"p [WJs"Ͳ Uwj-8\] KIcJUGN.4lŤ^3{$.=:̢Zy)WN*bXOe\hwTª8obn51m+X}/9Ju@hЮY,v8`J7sY},YҐU!G1UJ[ r$* wCs=g:^C_ȗaPoՒ]i9(͕VW|#֕}Ra) /|ۄEaV; $NZJ]5I6**NZueD\4c2^ Tx@1.yL NyS?9 Þt:fuđ$L I626WT5e&,fk1m+Y?D4K49(ƻV-ɻӦ-lE^_MTJIJwGUڴsȟV;UN΋X sl58Guf"|=9}xWL-%HU\MM1+930~UYCa3zPwzi\ vsѣ`$76jW{.Nا Dr@=[/\(qhTQ&r)+O:b?=Z5N( IU*UХ3̃-`w01nl瓃9eh2,?oՔИg~i6::Ӷj[8\KLUk[#w8xu2c+(`a0snpv3^228<>Uj&XewK}I@NBΗ,P1 W-[*, ~FX8u\N~*2t({ŁFw2V~.|QΠ7 l_~hNeVLP1ӭ1O3^a (ANU\s;u8XҊ 1.OԸVMW j)-#jo&+Y?ɬ5Dheʻ>:ztC. ET٭P LR1W/|naWIܳl VPrV4VhJ-r4 Lږ0?DWH\;U ]d{m>.H"6 7%OV|Š{+ÍO$xD;Ss󷱸b֧K4$*|ev; 3LXTF]5Q8d"כDcH'k!|,# KU 3̡𸯎bmʜϴ`MB!"4¼U¬gd>ʬY ew&c'Z E8%ItD4AӀ^ 52{\y!3vlֈja8"wksss4Vm)0BNA4?'vd=2tkWSA71w}!S^c_!"EC:NU< 1&m'A9j\;%)AwejM0TNn jYͮI]S+[p..Q5[tЪ|̊xza*E+ku'h>W1qk;8]~oMl~n#F„T k!e't^"NJL_# Hp7 VSW (_yBkEAXQ'CBґIwZ  HJȑv J.1d=diU3){r_E*+|WAwr"{׺Al&@C~Y`f ]Y qi3FD=g"wks y ]+8 ]&łPŢ8( VRpK>(Z8"Tvš9QddϢ2nkKkl*a͉ j_>[ßM ۓqor 닆[ 2j`Kg hp>6ϧwe㨋"jMntM`:]q:+c1gY4ͦ C_\ {X3(owˍGH&âf !(~ 58%/n+&HHQKa I@i}3/KNcվb+/Nh} @h[*ukJU8k.F8F}ZFXŞt?Qmb%SA϶w*zf;>t nDWfYdr L:DCon)4eq.կBkؾAʏWpuCp+pb?M_Ba-1Q]f9<]Ao]Ŵӊm9gRCIꝜ\^L''(e䦕,L7gxu*L?+5RxwO"MD'J0[=}Zَž:q8wsn,oceZ/q^JUUpa(ܹPb^_J@KȆ TUQ7*:dڧ3Xn(*e͘BRlh~:rљIʹ=zOk5UNߝ3 Ҿ)+g,-?S̛??F|yNuP&'T9,V%LN[{S0躓RX$;F) |3fEBN3f!f;2,7fi3V'*Cdu)c!|HdoA1W/0-՟%>& BEy6wm\N=ҦYkb5-.alCx4Y*\LI+#RߛfoNQ ݏD2]ڻr3'_3[o7lBHû=a&Q?Lsǔ9<3j',RRq4F׳)fe?VVg3@`"q1 C0D.Áj>3:^[*CeƒႯ/9Jsz҉`Vprзur1ThNu,f_~:,u;\aHHL@Da.EM*YDXl "V*cj_LDCe$Õd֌ƀk]!WDuEͳ wיMo yK9RPf) }'aeͭ&Ks}} f$URQ)RƔQ@&Ow1G* { ,S̽(AĬť ME%'x4՟ #\˳,T*IJ ʎȯC6(LV73v s,w]>sפ!oXӁy<)el+0g8 |Onjb%/Mv ˚r 陾9C`#`:gnNI;0I M4R^>IW! g1؉$?0 DJQ7WU="DV3$9KhhU *m, 8'AD8c.A_sΪH㾼Qafli 0[WnPx2<2 LJG;??:9|{ޟɁ c7+uau/.\` X@Z M4ID jYrHoCjdіL1G; ޭL](a*UI?RD/,MȖ7 = oDѻSLQJX1aM ?TáPp 1PZZ*ѸQ&Ɇ ^& T24?}K %!K3i7՚T/=4!b!vp0(ܥQoЙDSÍ'##~CA5ŖiHl1p['qR:OYa. S:ZCwhll4*eԏaeM2m-ɍCer? q(%?¸K2]uBb'Np swN54&d&HvBMq<²б+_ju93DY . 'z(1j[#HW;iP5,HDokH7i>kOj刻qV'Sꡎ iнP9K2 |60$/%hmhBiPhYFMRtth; &55NJ1%躋]ܟ)1ۣZrg)|ڛ,j `ߡ*2Sj'ѳYk2d6 <9%@ڿCL0H /JU5fc?P*N:ܬ=-ɨ˹Iz* 6N@?Uz-D?|dueN[渊@δ iͦ+="3g/x.̤L("MAL-m[-m EaQ`4+trwSIH[QQW|PND(_A^7[ "Z%OOD*KB{7WT 8&9-O ~n-5K!*.YX:e;QBVU"+'HXc uRHZSrO-+( CYjE\!X^ _rzĹ׮rff ̟RHYVf\FvOWr%'⅑ >WZI]Nhܷʚ$qOyJ5f{4X R뫎$H.9!Z6-]e s73#|Lz<=@dw0r6="i|)N/=B6:f>K^ڌC}Ɩy/mi,H񆦋nd&DqrkӖġ q|kżcWIk?,]K;B…^ڦ_ݰ0v1qTp_j-6XUݍ<[`]> bY*cq`~ƚyg;x!>Ջ/~1{]ّe}'FNEJ`cEDƗ/4GcE~з/D/YQ#_z۔h=ˉ3ѱGu+=T:2GӭaPPYPHA:%d SVWJ"X<6Y.͝N >8I9K+ˌU2s+y-ep%m˥sE AMʺ,sZȗrx[:ە.N0e`0eG' \gę;I Q\g|*CAXe.X@b@j%И*GijM`PYE-I&5獉{N.ܷ㣗nd,:?L%g-GI`[ P5x>Ms&D4Kp!IB5L;J6bL6}IT7:C"wX=$[YUz7hoo pG,Eø&5i'1q&J7+I1Y=qH"c`]f$jv 9 6@q[O߳aeSS/T<9YV?O-cmV%RпJ@Mu <ԾT*LczE\HpLhSi;P6KftI"p;pOa1_T:rᦎ#;.?!0l<k1Ɍ WHm#~{Bck7$lOl cԣ*M/ j3U?>la]l?-X &hdNv)=" WM5V&k5Y {{9nL X?ӟ{mzx A"M z ~=٘m<<77j8r_:nX`m+s5w$$ k+զ6Xێƺ \L5 x3ǒPwRo@_SGҰ;쮊6c0 ZӞ?HV"ͦt'pGZ嶴J d#t 'O/&ƵzSH=/Uu٬+[}^i|,Gc[h\lWl2~-ϼN*ɷQ)e{P(mue|EKY=}Q:%v$9{J=V(t7'Ge"F)rMBM|,2|^A"R;^f zFl+BTr%Ȓ ofku6.Q|:V^yq%OqrvtZ&9ݕϊVY\CJU% $ YU.tMe:+h[u b,7~G7*y8+K薮#kEtՋ+ J/urق;K黋k%Ir.q>gysxOmNLxU5^.0ie(,2S/߼-ZaViiJ`k;|a.dJ0 C= S1Nq(">vG1+lO˹m䐟y/ x%rkCGCS;?D_%p{J;q 6w^uf$ddLZep6κ  $1ty vb[xj{aз&|\PZWZmI\x+oIQoD7 _Y{2Kj8tx>Wpׁ!aԡ>yr3>du?8@E:aW9֋Zd+•wT:;6O>\9U+`]1XFm¿N.0}SGvg$ zaYZbj 2]S IaH~+-=w úIx6f y4LgI(K$)bQM?0-6ktptolϺ^4ڈa'A# @?!xd\ʿ^QFp Ǻi#签u'`a`F9N:pe l0e}^jwv<-)i%5n!8[7lju ՚31a \2@t 7e`:N59GIje [=gD>&>2 ݎsRJ rYܜ\1l^H.=,ŃYP%Ӽj+ :\j%¡v̙,&25P :oLVh.lv;ZQk;+h/42nK4\K+mh20p)~z{%c ֲX4%zW%ye+@:xקwי͐]ޘoI.R)CTmYY:lFEca\8k`]{4K:N"yUp]j"K aaSd-A*vTė a ״鋨)/Mg+ۢ :Z,ׂJw2&2AVI${hUȉN@.Ǒ]&;{,䋷X ,a.zti#y{%.s^|Ƨʰ'A3-t\ۙN^qG2_j>W¬>(VKl cn؊c4B5-/$h܆-=N8$޵![zXgQMtG@ۻZ;ea czs'9y՘oE2N5 %S~BݬoA=F N#SI&]ET82vaxoFu*~` ,~36tQ9Q+ >uVd&jܵ6Hy=RAߣp\UUkä`Rgpԟm9ncp`]/2(@8mI~RK ͿSMv<S5ѡ0EsQJ3g?|x96b( ]|\nU_ 9ጭîX)+@"(#&9SjAʽtn“9ٰ!zm*UqjDE Z9:~fy4$d'&ČI׻ E1rYo+8Ps2:@_ 3mWɁ*RXFqz;1DU.RE W@+un旛J/:\Rξ7X6_hj.m.Z7'*QOvY/03Y9>s3vsQ-35,g]bK},}mjhkފK_l? d6$n؈$YN.,jzlK6XME{6r+k+!*vE)}៴Hhe-|e,L5ֽ\-y]g|WjY(PU$ԉ7x@*3׏APnZem4D,?Y)Gg06 J!-0C5*^%ԝDgx=}/@VZbGP[篞pC_σgmȠ* SH0>:O pg{C5l:3ţn̲Iͮ= ʁ*FM`@sPyw'=tҭ%ާU F|:8?{76_ŨOOL FsHI38.'nSw6.Z  Q\ spX !WUYN.ELKOջjٙ=rSKEY0jd\xQ4~D\ +F-6Qu尸;M@ոC)XE}XtxeVmw6lZ}c#8'ӻ FIǁk hA(j\8 s,<v 0mA>X9W*": Zn3MBo 5#t/#/+> C>0v$if&JO%p u<)=1MP)GLfjvaz,EOW/RHUʣo~9|Go~UH5`q ԅ^=k%52q;lG%}="< opJ!w:Wt^w:ew< a}!d~}l³M“wKk{woloV/7gJ ]bE}OOO򠴁µ}#o%KJ⩗VRNSK *sSU1MԑπN>}ś/{( YIVmEߘA\uJPXiɓHt1bj^ d56_Rv}26E7[&GiMRR1j%enti,puJ-X5*+pVƐńIbKC-P±Nt\J,/rZ~cZ95-C-Rʐwwy}{e1=79n~w4Sm+YJS&f58, 5C%Iɲ z\,2:#pIEAgD6KsbdqpTgU\60+W͜Z M *EJ<;>/5xo+Cˢ*ah6AyJY(,b,E|<4\{OcZweh٫J=VthM`GI5mƋ) MC;rYa}g(Nn"*{jSX~BsẔ9 ]"/]`"'\z\lZLq36s]<+.6 _ar^PjȥL9z4QFrCTN pIϪ '7#Vu 3X#@R"Ũ" ]nc+9/c^}ڐwBze!܍ZMHV\pQsj5[K[SɂjeVB k,ku)n4N@45FjGj|[fF H ,Ƨf7hR+d:C3Uaj!ؙejs1zpiIpRQ fpJ0E-'TӺغƌt(|8*QyV@Aa0WCKkU!u@4Puܺ=Zzdb/`s!ŕ(tQ==/֙ϧ?NX£_P9m.iy}Pp':sv}ylrNrv7GRX̠/ G5 XMaPttcLq ZhɁ@˫b h#C)SǎeDg,URj:MEɯA,h8o~M{n8A%9j|@P(Oc;9aTVkĵnN|ٲqj:14f<' D`0nXnV{;ʥk:)=IuVW.ZCtwxtrn (q'cv b}3U#mE{oEȗ#|BbspDjސx#S6MGb\~Lt^8o:Q#) ɔ yXd;i*SW4|s\D8O ZFA?~_a#1 9J;6Z6zÈk} 916s 8"&8ɲ7yJ :lWn`1^TPYΚt,fF*W =cDC>rKglP`YvȲ=4 <_^Ƙ 6}ِ~,c7$R*q|rRN|8<EЖzx38@73~O]_ʈI oUy fP>\IU`W"4_K=N²´f@@B1^c(蹹^^3Bs2 !GAuF;yimɞB 0!Ԏw9|$ܯ8*-l0?rk5s>0W῝)C96M?$ϩYr=ni")3g WX؉́)ADfVF"8lh hE-oCwT:]"8-f/!le#х~^N,pSёO4;,MC/hD =?!7#焝, B23ܛib(|cZ3m&2n覐è8%4|"Q8FYe(L'΢L3) ;Gdrց? 3.;&:[BX: yQa>))34yaoM}@u~\DvĴJ&<.p=OJfG= sw}DvvocU"KAlïJ+[L|ãJM o4C]a=Bp'=&NJURo{35l-IXh7фbQiGJd2V 6ۋ#h4EZe&x'jX$&˘d:K<g)ݔP7wv6xHf1S}TR 06gL!E2*6)9!k}WNTOԻ)!$ǯ_=}¾ziP'0,Gd-HHMĎf+ =VfDȝ4Ae`Dv#ωXI6pCsTf_Jh5~)9G]2΅ͫk< Z6SXhSd v=O/MǤI?s i*9"l$n}8ң4O޸AjHLS;Qm&Vmfo]JB`(n?TbN(!TeS'% țdY;u4x%P\j8l]r[ 40 ]i"z:xTmI6wJqp$ =֯(!`*#-fy2R$~_-b,dCYJFܱ80eݑlD Q#-ߠz֤NL-p4;Kk2OkS>Kl5 6o̤WR{R;j$7xz$n~d@J?YN(.w8DPH<,9+$1kOX-94ڻ0I|Ǩ( G'ْ[ujo2!$y؈{M{x$*~J}/Sɝ2rywI}u-~)D~p(-{B ݫ(,Ӗ~o㊸ x`~"LD~6$E/n.TW%4ŴcC]P$;K;KxrP8 "4LXM+B "2[1-eCc(ez5f'c7*{mUO ArD5K" MUC3"?ĂLW/9A25'uQMV7zlAd'f̡=MڃAUrN؊eThé3B$[B,NzhdOBEgTUu[ꦣ3F lr$7ǐLzF0 IJ((szY1{=Mkԟy~P`XCm"A8Y(T% jZ@x^$D<- Ay{BmwubKSMa-=f|o2 Ci0Ckӊz,@{<>2z',2GI`P"r$© 9Xr 4mC$ 1O+\Gq!6%$y?<>AوSP6]),q\ й /5U .MWѨj{[^FD`8=wӵ[.vΌW\d]KCbEsq[[3HQ /:}r7鍮T_# ]WDd0cGofG᧳pZO>_:4G|'gu:/u ē>tpsjzgt-ߓ r[Fo1<**+η`h?i`-݃̓8M'6c#9 ȘAZ(AMZTjޒp@ZjR= 3]8zC75aR4lzO ;]U@/`m$.ɭXy1I)2 @^ gHJ*)/Vqc!/Z{kqǎd`?="(n0s1~Lıd+rO_\|6ZO9VMXR ~Gd'SuaEJJ8Ճ=cI+-m 9Z#CiYr\.k&q 6S ?NJ5ȴn||v߅[vO]TeRIU Pd#gK_(2i2&PxO81/Ulfm(  ^[|wo[R^=[p7_]8Q.EhjV]mwbjr^bB_V>#;dnXww.sq5[Z0@59 z7 Z&EHOfq˟l_QD%@5Sx Ҽ2}Bo϶wGO{ ~ZgY0Zh!v7 ޳×kKY+. >1  0SHo7s8on F665ћ% X` $j/Ky%j:mF?${rxTlmFO޾xHxFPޤXd:@KiEJkU)S ^Xʁ4! {ѧG&,(aٚRZQڻP'}SZTyr| VkFXՕ*KcXneG\ ǯ?(C@ 8KF+ף_hkTods洂T6V)pGg syPUӸx,,K`|y#MAz]fLJCbE#絺GG*`QfY\;cKLb z[փMC 鍠/%t|]$3Xf| _2* .6RZwa s9ǯ~=v9Վp8 0y%DND+5w8Ų-TVXzMܘf틕Q_r GhWQPA$&roX]siWfqEM9"mV)FSq]iJ^x85ԿFb$ROfݹxJyXcݩno;|:B*D/뉉{Fp~'2ŋ!@0èҗ1~3b㵻Q˚h]hpn)t5\({;$K*K*tS -:I4,Lʲ3^UqI!P,#<C!.8kDKeMobƩSYns`weYc%IGai\E ?O5|CVvʴi"XipCuLA1a/1lJ'g爐`{Uk:Rr pݑ]wK㤦F9۷I+rvg͢!'܎΃ᰖoyI4X38{(U ~ϺM hil}kȸdf \06>V9- h~ #4&L&(W'o_eĴZ8T+H6 V`7v ~cRa<X!<~wE.8P} 9=}nsg9Vfɴtp=| iiyg Xܶ<2SL.W7,-5u FJRf'1|-`{O,W'2-SNzZAY:(iXM^5Ǽ6( h)qe[J(@|[P¥ }m'}P[3y2Ӓ0H2kj^2b^͘9@~_ 2oޒ\?n WDG[e[nuIr+3C3!Cu^;l{V~yi܅8toaRKQA/oWRm,VN}v,^8U|[^3}W6c>*a>x|,nφNe)NŃ8ˆ,6dx/,r%FK%Ѣ*s֦saf(Y _r6 G9UȯETĈ`wgjdw7Ӕä6 1bǢ8Ư;/0l0&.z&vSLtx< 14;Iߴad[M\Y 뿔rz#ѯ_{_!$Ĵc3hpc_3aBݓe%a>CkҊ#btqgfhz,!wtʽS;f$ے?5U1 -?EIEsE1a ]/|s^ݻ[==ӯ?bώFl(c.PE8f!%*`Cpk?W[x|7!~٤TBaJ%zkI/0W^~sxH W6HzFs}8FDZ}7>Ύ2*CJKI,^P9XŶYiqPebW~ mJʶ왋XdJ`y8䳟)Ά~q(Hj M:CÖtBMUrtWW bFs%_ܺ$-CNcZ.'^*yRF(^LOQz{QKUq#=Set1mR;V< TCLMqjI 2*wOk&-QZ&W(Zu&1"[>?g&y `#5u&f|O^R̸UNm' !tE-nobU@1~{M3zj=䪧 ޽X_s47fԪ+bl8OO ~q{@)ȉL(w4aTIƺJ % &0|yl()rM3]Ybƒu79,h.^LG|ÝU$녕}f\,m$YvGU{_G%^90R8ZM[nf E΍X&dKfZ4^<0w) g5"o cnOS{:Y{&\g".^Ԉ8`~XfX4i"ᡔ1xfln/NK+]h;30#$j]P]R)ft3?ٶP )6oḮ+Jk1|.<$⑎.WE{t E.?iaTQ9y퍆c,ws̳w˧PX[ 휗l 9V"d׏_G Ng չ[zUKgIgn[7a\+ !82S7]3DuBs]R*rOY7͐!E.go<<<ԬS,gCVDӏ~Kp7cM婺̗TJT7XsL v+EONmʵ2UpOȕw*x3f÷ h8$ĹiG%X.1:F>vQ2Vu;bS>//x}D diӼ/?hղ2ym+{݄>wu{Uʜk&xt퇔G"dzt&I93dZ`.<ĚV5FJ"˷5'63׉ ,t\BMV=śH' n?b$xɛ=\9G6>*ѷqr)7IȕɒҹQʮ')GϔR\<('&)r,uYOM(#w&k5Iu'jg&O |5|{{ycUq{88o}? q9,_f*w;c,Fn]uX.&Yߍ;ݏ!'UtHثOTMOصܷSe~ݢCԯߝ0XEwYVW=a1H]r͉=Ǖ siM̿?lS̓Js=c_;W\]?t#9MK_q?u̴?$,զi@H}<[w'8{]f;OCǶ[9%eSZ] wNŘ'$N4 "M1탪_4|+bh]_:VёsMUػۿmA2K3Eݸ^Wkv&%gj\ҩ0ܲ N]RRZr4= =G[&<dJ/`)lXBe=5nL&E+/5J뮠8|$I;7> QԎkL>}2usBQOe.vbTGQϭ%`ɺk?s1OURJ(Zjr}/%j֓*)Q6ˋO76f>LjSSjevH:w^Sdž{Ws'6e28bU䘇xt왟KŌǹ36WDLBv<|q UUBtU!5?wp͊ޱb%3> ]^u9v,˿D6)+#>28/"e=fwˢQ~/":՜]kl=ec=aĢɳ7W$U{%x3cWAFZvrQ=Z}㬁٥r&i/{VS9$1YH3^cB*wO?۰&V6-=&`V呩~+]ΟOS`$^uumrzO'{g"f'6rN'>Ź=pw yv}2wm@)@3>2)7O 9]ok˅ar3Njgl`6@B#^7m?;&{(:HǽX-r8e&oor966WՄ2:Q#ٲLeShs߇WB/_;xkM^_垰sϿyl&~T}(^p49Qz񇋴2|gљC#3Noogpg y>!} eJR܏8 B1$ڻtnwTߑY-OZ&G^D 4O-ͬB:u%9S0E4Ǯ>om)> thP?ù=deJ #+?T(r Oݡ~xׅamVnkBV#zi'KS:ه+_i&"uլMLު65Q5w;Do\6p}Kc/rK^/wBozwNپX} O%"}E)jrf[o{/3JvSĖ@ƽex8,ca}> JF2tZ~;ECL-w6^ܼۛUME)@ޒlx@[ѣW}$T|vWIC1rrG%/U_?Sjr_ܖu̴=rr~$fsc :9=-I"/c9Jk,:? T(R`뭎?^ԕ< e`.f{Us" c08mzY#p%_6tZڻFX6&gHy 쭠jcX٣?{>Y޹GQUsrs;kkW;pn]}:'xcy:{XVB^ren)>RZoXiǗxMRa3wNd!jǟL HjF䠳I3ٷ4 &hqˏIsdqә7W %1^NLavapӯ_tE^{dǟzhqGdwήfcRnlڇe__k%bDqw;azEsVlkFXtVt#R Ad1v9vV^הWܱpnջ'zԿ0yz O0,ۘ]*f}zpPGM~2+j, Wyi)lG-M+ ɖ2,WE2Gw_Kp ORߩy$6f>}T1]BOT{/(aja} 'BΦ8!=xuw޸L0E #&ibE>o1OYB1'p|ب~Z:[ݖkxU 6EKʸϊ21(rZ eeMJZzFpBʂeтUa$>I㛛8&#7Kf=}`\tdSE {T`x-tn앦wuM,'%Eﰫܮy\Y;[(/PZ)!#kYIv|Nνe֜~ٓa_9۪k. ^y뙔Ar~;e{{Jt(?چ9(.,4fx@bf7+BUb~bx:I~z}^R/B* Fκ[s>v|' 0x߂H}1r 1fw;,m{o٨S6UH7Z;͍M?[wip8Ajy,{ғR ͆3u}ULёz;h J 3;LGnjaro]|bS&ڂD~ k#on ʺ?sCӰ_B#E~/a׏ZcEAm# r 1{#o eYAV'eV՟8%E%w>}b^} ,?+o14O\{&mv8c{c.j]^[:w}Qg,?Ӿ3S,wS6@ [L7`5Rz86Wd`C2ǫ uR*]rLV)TP5eyɹ(sEfo|:MGl=wc֡GKcRY i҇S·'N[8ݫ[;$!%\_ow LA䞾y#w{{ -l0; zz}g4?7.;||)=Nܴ-NyNnehtXHҧCf>/Sy;ewLٽsx2vXI|JxTX~Iũ2şewG *x J%7ol$ue][fO=uüCSKB1ȓ"zIp";%Lyиcna&~z\.Mc oo9˾v=' XD~\?WwDLE]'y\y욙gcZdfb;Ţ0~S0eK^.֋A6F={>{M[tуgk\>殎/Ik1.!dǷɃQAGGܻ436}B&$j^᪛&n,M;Y3/o~/~mHDmwlP;."Nɏ2 bmat v _[ܸZ(-..-^L5RQ'r.*Wjޱ">R+MOHI_SLOx3їWj< B7wݒ ޞ9ɥoNA9]<.myt:xud7HGncԋ KmVY6H;JmZ2I7`С;y!1?od?wrv<'X2)JҊ7+ 6/d%|"3XweyQ^:rIm&i򋤚V 7?r%]TG5y8>?yY#-M~4RW?Q,|иby)i{W㜬5X;ȁN0C-H:\JXI_←hQqBKӻȹBv3[:g~Qٲ; Gn6Ie--g2>fpo43qƦgT7tԗ1J;>E+ᜯq|JdvwCn 4]X`{KqII-ɚ#g Y<&?Do%më́|…Čێ:8F9=}.g%лs~>W6[g-l'.Ρ։-g񅪆l#ͺXF{2>_*NG7 ;6\*Bo{LJO }.U.(fpQs ~?. zECDX7W_.+znW]yBU|bQ_mۘ+'QRp6c;oXzkꬅtg}EV?Q.K'DWƼZj1r;K|TEE=?wh5;y/lqaf+Gݵ g,~(u?:5A]9J1,]jw'0u~]jv+,#d%3j s/D/DܯBzDְǮ~`,Ƹ΍-\޽ Ŕq8@c+nlfej;Cʼr4єKoJ憇g.0S3KnJ?%|5nT}]6hL_N%ޱzI2T+?a^G]o;"kX gˮCDona{( e%P_p`u4,; ÙIB2wlRb{ƞFOIGQAjFJ[]R>vl)C7ۙY[ز_?M d^mߪxj.ʸ-caSqfVxPۖ0J"iLR +࣯y迊13=TWO{('8(:`w&"h)g}v}5 Z<"E|֓.ĥ[3T ɏ%v/XjMI6߲`P\P0?yGNTSzg}pvnu#JgzX".wli>ut2S)xniR܃[L>goh·պxIS3hcsm.A$- c/6-`wUۤOʽV)[te?֒$;Ky!XygDL9mh 6WT܉1n!aWoܗc S"Զ{%8>7aR|eʮp|h^S=, X!7܄owԹhd! Aϕ}<+m/H;}m±77H⶿Rb0^[Г] uxx6[M.^6xu\!8f`CU/$ y5*7mC1e+F&/#>ھ Հ? eQPUTD*A4<<'=(Y" ɋ|P޽hĽ8w"0qWwE~W\")đh"|\WFyƠ\" OAVAQ]VAj¨?-SGAelh$HlE$ّ1!j>c=ah CaIH `VֶllPH,m SCp`Z8G#lGleHx71#pP<966QL@a$0'=H<@)4hOhgMQhON> Fb-i>;f.#IGE$KBdO3 x8 PE@i Fh ('(@"d K xx0hz]vRLW&Oϝ@aO 6$N@-IM'༁Gy{#>D"82^_D#tOw/x@Dx2p/*F?{m#?>yWƁcpKiUPW怄#<htBb 0<ፔ(,HlVDI[pmѿntt``7 BkW_gVWCxIO$у“@Â"3C @PD$!1$c\#P8 s@z,A60TDxZ)(6A# 8" 9@sll KB&ym !'؀+Tl4G} \1\Y$ #$"  {_PpՏoU 5@kQ@cap"2h,"tuF$,#>12 T8 6 xX/O˭ܿH !; <ЍTygMX LMEe'hHWIMB¡ al(ap@/p4=zh*դE%8[l[akNWWbAAWNA+H/MYYAX$7)Q7oI^ڝෆlZ\9dH' E` $_O; C8j2A7Cy)M!a4wX9HP7pzz@D2_҃%RpkAX=F迸  aLuHW ,"vj3"G da h {=M^/5#J0#  p !RA2rd08,B딉$ V10 fi3Y9Ihk;#Ya!=@؎)txE LUJKUΓ  4}jJ ԅ<|Q$W`ds+Tw ~,>b0a&@ lbiR[x= dZJ *5է \$:AuX8 i KƑ H^tB7$ $5y]8%):_Ze+P/^e]D" AZ¦N4PL"=4թl82փ6.5,KpOE5`jP=" ZB|0Q@+&(3."}"iՑd҉p=8XI}0UVn?2ӄueֺ26 $B!t*%!ܦ NMRK?KO UPY # c]S%:1ʽ> \$@ @4&RCک]`2f'NŪT! +*IkKREqhjs@!h >(uԐT'|HAp43kZW%$T)MPfX҈5u%wh5pW <5`4!z{f!N[*!U20zքV6#KC-L?7w!֊@jfYD GE?J/@WOA|+\jςpH $?Z+(cAN(H@9Ѡ t@FCuK,Ea'm ޴KI;%-,#Z`YKr %5hE<(ڱqHàN (,-'(0AE7$Zpj/ {gJM0gB ,WdꃛO(} bFJĺ[H//w-P^kr_ "Qq :[4b@K(PK_ȠX$q}DG3*5"@ CFPз]DB*PV5G ^>АfEX=v170D=XPOf?+HZAur$&6=xx] y,]&a`DP>J&P?UJ*3 "`PX[RٜI*izգp_[}5E"Cז9@FN!=ƿj,!vhZ`T~*Պm82 TH?IeS>&PM{ &^~^B:VT[8jC=p=zX;f֪|9bބ8{HX@M7xTX 2m8؂]eI)-H{@NF)*+m}=?WKm{ax GJ1@8M@B}2jE)[(KI;P#*2=xV 莖(O$Y  r >kX"D:S/(:ϣ 3H"(D@@0smEU1`"C z\j~=Z9זS_z G^_V~`z ʨTMFk5<Ԣ D/~CXZ^Ҏ=ZAn7 j [8xh%5E 190;XлsY(qXWa]i+>_k);#2 k [4fG𩫂ic)@WW*Ypd `l~ 8]/;:&A?@FY;`1dR:!!Eփ(" @<A#`< Ԑ#+x%`\h4ihSB:-T#s@OAGa]Dڋt[[jn-;[9@)n:l;ADz|Vw$` MRDU;PwTe ky* SPUPѐ 5J> * :`,# @[QL^=$&Ъ h*:\;Fzݣ!GZG;ܧr CP"T Cu2툝v` T1NTP[qrt'Q:Wud C@i lh֗ P庬@zwyTX5H/>Qo /:nӷq\w;ƤFu9[I0D!Ax"2+7Q>!Ĝus)P2oHa ;# -ާ1"@''rM1.D[ AE+IMϦ{BDNVbZi- t> lۡ!᭙ Aiɸ2eӍ^ ,e7Z ]4D$3>/zP%4Cţ@"F8w@S@wŁ1T iڕޛ K *# YƗ"F aZ DY1^%ahc7seI{龷@}%Vn:[֢a*O4O<*$ށiŽ*BxIU#B,1qĤVrVlK+]ܣ6P/2+09G]!P% Y:UtGQ}d;'2մt3x/ }jiZ^8!gO)-q<9H,agד 3Jp,Ue)J`u%l"С7(I QSyӌ.W'?lbO&O0?[@%V']EzZxDnqҢ CҽLTk{x`KΉQmX7UWSdQYH Rn$](4+9uJMS9Ax լ؂|Fet{0 'НmBT "WPlM*kbAQDgˢ+/E r>=;kry/,}_i\ad{;Ut2LogVc*{R|E M>RESӆ%8VNv`W ʩ\X`Ȍ{~Zut2&!u=jRDZ ʿ)(WA Dy "sJPHmͣK0؟n~-\ R5hŔ7vȖT\]V yxHJ*=-b5dr˳K2q+;GkA2(~I[AkͯE͇c3&rg7*VO֞ѱWSQ M2kT՘p<+Bv}1x0/ָ|ë ,nB6dWJ U$q2˕+[}iw̾fA>^`!FlXLN6&{Șð0"iRs}}yNMnNOW%" $'kt.79!"/ S\qvu}~b_~%kKEdĜTZrr9*60?3F,4AQ6kRj{ó/_UjZ1m05^KB_ H)V-J3RղW:˻b2ƀ!c%R<%g+rnנTf 5_oői@g9Q)e`զ/iOb]>:=C Ksq Ui`bqz=Ukw:ǨjFEuIF>PAi#rRƐq[KjvxHǖaHI_0tu4 o @6a$?[2\ɾ6K)mBjMZ_YZmy(!pcO*M?j>ւXAPL`ݩK`)R #e/s0/;cʌ{s@mC# Pg=O>}pϟ0iXa簅b5oyƻЧ%Cҝk!GH+R(}G?p@??DR|%܃o[(+$p9bin~lj9{.K'HOO2́NvZY%ʚւ> xyqO7167~DFxNF Ye/-bA DSGg7eF_񻴽sϋJI9QSQV!9Yx1Db2wl&a-=O& ji-%C Gj Vކܬd HWLmY{ ^wRݓJ$!Z] "hgU5ۆ'ޡwIn_}`Z΅RvHYw܋K9'B8!ℰ(A_W٫anAtL6 PD]6`p*DB9fc(/Jzy܉t/*@&.{{tht*(_=zи *4+]0@Z.P2b9thVt/KEʿ.`*r=KW&&PX]*a쾁5 X b^m2&>7=4,Y+ɒghT{ XnU54თi{ I-W 'Ёb~Ij;Jt`7ؼSzAjsM~w _6W1ɭU_sH9}ivZ^{-e4w0~ w>OҖXH ͖,$Tgq7QCUnUi2)α`lN-Ĭy|賒p ڽ^N- ) VGQjO";%zr =Bs}.j&&#+sUauwJ U9Gei}bjb|pu>Eiy Sx*T^4)Řx.=KtsM;c6ȹ.&(MMKқ%s~[W M҉TYB?[ь=<$=TrCx^b~B_!UST"~/&}"He9xU @6uGSh&J-7鏽6~3./$ou}>iu{Kl G21ec^~6 ;@Y 29tG-aÜăPy|鬲{4հ{FSV,Cᄅڃ5`Vig{ZO1OZCiٌő}Ek~x(tQ_Cb .NZsP7#6,ŢT ?[Gwt-`p}h1NN&r7{]NؐE&V6ZR +#Ve?@sX"Im-POt#6wmòdYZ[iz}CZ+XW*0iƴ)D|͞ue쟸\c5{ƤJ EJhL <-$TF.2.~4@+'3[Y4$hb7y;Ns|.΀iE/Zӿ#tlrA\ Ї\YрV}8 n-X<#Qox4=KL| nn6&Ѷ7SA,ucjMd;y!YxUS`hȌH|ХάLmSHҙ]ս#4Aj놶O7w#uƟq96h?o2ķ+{KAr$SGN¾s/Ѫj ʾ졨6h`c8?4BOKCth~51vNRPՇ66Դ͟`V,FPE{K(LltPP'\mi:ʬn唭o'9ҶM鍱Z{sS\ 3\ *[F`aCz[L.[D?B`g[K@Y;a:A5v(^QN@eBR,TEM(7 -.-pa4ls,QsdI&%isȆV:d򩡱?LA|XӀqiX[o>84Ѳ ,@^r&ZLt/,GD>yHLvUc ܀Gґ&QN^ d[f[IXAyF;?0UEQ] ֊6˨9(O2R*\<܃pj');+sIoH ?ݭr3G5Y-ui2d.״3,V\[t?-Wi/*T+m(V Fj9!<x5iߥuzd,ˢ,oIE"l<&4PO_bˆ4SjfxlEQy WQYA\sULɨٕc-K3WrlN2'sC,x BUY]oŐf#SM1J 5{3w CUzX<8jmy{G=_50, Bn +i!* 9 xޱL$'3*xCjm7HAsSBEd}|A*Zy7ߦf36!Ed $Scx̳[Kxc~ Y|E\zbo}Hj:X˳W =9;}R1mCKJ>7Wj\+~j% U#'g>V芅eYyv$SCmC-[K˯~f=]al㑦ƖҖkK 22h7z4 ZunT.Zn6i?ɔJ~mαD֋r,Pv T`[*`G%*-(R>Ϧ}s#[i]~7+R>8IB>CoP.jVz?hBm_QC,Qa!uX㧧JdゞNGu%^Xi vwB7 ]LIb8P I%>ւ&T16Bؤ[Zw'MpTt|j)W4Ǯr2:!}k;kzԦyv-vݻz޿cw |SCBӺbBˎ#Vl,rqTDȕs{AËŷ]-h'B&>spPq׼崛({F]R5^Oef)4!'ΰ(xL L, R:a:'kUjNoMWFv- _= `.>p-١31*J+a=BZW-jw͆Z Im9$(HIm=qV&*)osKISxT]`ӛXl+ ğPؑxS .J{8^S&k 3U*$_ Wk)pr<&^9[4)u志sf|A|=Ԫnf.JtOCEHSw9xNUE.N dD1r!@:׾,|ĕt WΨF2xLVSuqkILG CA x*;ݶup֒>Y,ڸ372bn=& Rsgwn{]٣gO>+E