From 73c245dca227cb6ededcb5da1da9c25a3adaeb4d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 23:42:54 +0200 Subject: [PATCH 1/6] Fix --- README.md | 2 +- check_process | 12 +++------ conf/poller-cron | 2 +- manifest.json | 15 +++--------- scripts/install | 42 ++++++++++++------------------- scripts/restore | 20 +++++++++------ scripts/upgrade | 64 ++++++++++++++++++------------------------------ 7 files changed, 61 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index 5b4d1680..1c13ec5c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to ## Overview [Hubzilla](https://hub.libranet.de/directory?f=&global=1&pubforums=1) is a social networking platform built with control of your privacy at center stage. Your online communications can be as public as you wish or as private as you require. Private conversations, private photos, private videos. Your media isn't hidden behind an obscure URL which can be guessed, it is protected by state-of-the-art cross-domain authentication. What this all means for you: **less drama**. -**Shipped version:** 5.6 +**Shipped version:** 5.6 ## Screenshots diff --git a/check_process b/check_process index 3c1c18c1..e347cb62 100644 --- a/check_process +++ b/check_process @@ -1,13 +1,8 @@ -# See here for more information -# https://github.com/YunoHost/package_check#syntax-check_process-file - -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - admin="john" (USER) - database="1" (STRING) + domain="domain.tld" + admin="john" + database="1" ; Checks pkg_linter=1 setup_sub_dir=0 @@ -19,7 +14,6 @@ upgrade=1 from_commit=3642c110f0e927ba36ee32e738a81e6afce958f7 backup_restore=1 multi_instance=1 - port_already_use=0 change_url=0 ;;; Options Email=anmol@datamol.org diff --git a/conf/poller-cron b/conf/poller-cron index 36e28fc7..6840f90b 100644 --- a/conf/poller-cron +++ b/conf/poller-cron @@ -1,2 +1,2 @@ # Run poller periodically to update Hubzilla -*/10 * * * * __USER__ cd YNH_WWW_PATH; /usr/bin/php__PHP_VERSION__ Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1 +*/10 * * * * __USER__ cd __FINALPATH__; /usr/bin/php__PHPVERSION__ Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1 diff --git a/manifest.json b/manifest.json index 30addd07..a26532ba 100644 --- a/manifest.json +++ b/manifest.json @@ -14,12 +14,12 @@ }, "services": [ "nginx", - "php7.0-fpm", + "php7.3-fpm", "mysql", "postgresql" ], "requirements": { - "yunohost": ">= 4.0.0" + "yunohost": ">= 4.2.0" }, "previous_maintainers": { "name": "Andrew Manning", @@ -31,18 +31,10 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain for your Hubzilla. Hubzilla must run in the root of this domain. It means no other app can be accessed/run from this domain. We advise to use a dedicated subdomain such as hubzilla.domain.tld", - "fr": "Indiquez un domain pour Hubzilla. Hubzilla doit être installé à la racine du domaine. Cela implique qu'aucune autre app ne pourra être installée ou accessible sur ce domain. Nous conseillons un sous-domaine dédié par exemple hubzilla.domain.tld." - } }, { "name": "admin", "type": "user", - "ask": { - "en": "Choose the Hubzilla administrator (must be an existing YunoHost user)", - "fr": "Choisissez l'administrateur de Hubzilla (doit être un utilisateur YunoHost existant)" - } }, { "name": "database", @@ -53,6 +45,7 @@ }, "choices": ["1", "2"], "default": "1" - } ] + } + ] } } diff --git a/scripts/install b/scripts/install index 19e4b356..1ffd804f 100755 --- a/scripts/install +++ b/scripts/install @@ -58,6 +58,14 @@ ynh_app_setting_set --app=$app --key=upload --value=$upload ynh_app_setting_set --app=$app --key=database --value=$database ynh_app_setting_set --app=$app --key=random_string --value=$random_string +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." + +# Create a system user +ynh_system_user_create --username=$app --home_dir="$final_path" + #================================================= # STANDARD MODIFICATIONS #================================================= @@ -123,7 +131,7 @@ popd ynh_script_progression --message="Creating smarty3 folder for personal data..." mkdir -p "${final_path}/store/[data]/smarty3" -chmod -R 777 $final_path/store +chmod -R 775 $final_path/store # Copy the template install/htconfig.sample.php to .htconfig.php ynh_script_progression --message="Moving .htconfig.php to root of Hubzilla ..." @@ -134,6 +142,10 @@ cp $final_path/install/htconfig.sample.php $config ynh_script_progression --message="Create php.log for the Hubzilla debuging..." touch "$final_path/php.log" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # CREATE A DATABASE #================================================= @@ -193,14 +205,6 @@ ynh_script_progression --message="Configuring NGINX web server..." # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." - -# Create a system user -ynh_system_user_create --username=$app - #================================================= # PHP-FPM CONFIGURATION #================================================= @@ -209,23 +213,8 @@ ynh_script_progression --message="Configuring PHP-FPM..." # Create a dedicated PHP-FPM config ynh_add_fpm_config --package="$extra_php_dependencies" -# Set right permissions for Hubzilla -ynh_script_progression --message="Set right for Hubzilla..." -chown -R $app: $final_path - # Set up cron job -ynh_script_progression --message="Setting up cron job..." -ynh_replace_string --match_string="YNH_WWW_PATH" --replace_string="$final_path" --target_file="../conf/poller-cron" -ynh_replace_string --match_string="__USER__" --replace_string="$app" --target_file="../conf/poller-cron" -ynh_replace_string --match_string="__PHP_VERSION__" --replace_string="$phpversion" --target_file="../conf/poller-cron" -cp ../conf/poller-cron /etc/cron.d/$app - -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= - -# Calculate and store the config file checksum into the app settings -ynh_store_file_checksum --file="$config" +ynh_add_config --template="../conf/poller-cron" --destination="/etc/cron.d/$app" #================================================= # SETUP LOGROTATE @@ -239,6 +228,7 @@ ynh_use_logrotate "$final_path/php.log" # SETUP FAIL2BAN #================================================= ynh_script_progression --message="Add Fail2Ban..." + ynh_add_fail2ban_config --logpath="$final_path/php.log" --failregex="^.*auth\.php.*failed login attempt.*from IP .*$" --max_retry="5" #================================================= @@ -246,8 +236,8 @@ ynh_add_fail2ban_config --logpath="$final_path/php.log" --failregex="^.*auth\.ph #================================================= # As Hubzilla is social network and have its own permission there is no need to keep Hubzilla behind SSO ynh_script_progression --message="Configuring SSOwat..." -ynh_permission_update --permission="main" --add="visitors" +ynh_permission_update --permission="main" --add="visitors" #================================================= # RELOAD NGINX diff --git a/scripts/restore b/scripts/restore index 49c03768..cbe789cf 100644 --- a/scripts/restore +++ b/scripts/restore @@ -55,6 +55,14 @@ test ! -d $final_path \ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_print_info "Recreating the dedicated system user..." + +# Create the dedicated user (if not existing) +ynh_system_user_create $app --home_dir="$final_path" + #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -62,6 +70,10 @@ ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$final_path" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # RESTORE THE MYSQL DATABASE #================================================= @@ -84,14 +96,6 @@ elif [ $database -eq 2 ]; then ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name" fi -#================================================= -# RECREATE THE DEDICATED USER -#================================================= -ynh_print_info "Recreating the dedicated system user..." - -# Create the dedicated user (if not existing) -ynh_system_user_create $app - #================================================= # RESTORE THE PHP-FPM CONFIGURATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 16649bc9..2f74364f 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -35,6 +35,19 @@ if [ -z "$db_name" ]; then ynh_app_setting_set --app=$app --key=db_name --value=$db_name fi +# If final_path doesn't exist, create it +if [ -z "$final_path" ]; then + final_path=/var/www/$app + ynh_app_setting_set --app=$app --key=final_path --value=$final_path +fi + +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= @@ -50,27 +63,12 @@ ynh_clean_setup () { ynh_abort_if_errors #================================================= -# Migrate legacy permissions to new system +# CREATE DEDICATED USER #================================================= -if ynh_legacy_permissions_exists -then - ynh_legacy_permissions_delete_all +ynh_script_progression --message="Making sure dedicated system user exists..." - ynh_app_setting_delete --app=$app --key=is_public -fi - -#================================================= -# STANDARD UPGRADE STEPS -#================================================= -# REMOVE APP MAIN DIR -#================================================= -ynh_print_info "Upgrading source files..." - -# If final_path doesn't exist, create it -if [ -z "$final_path" ]; then - final_path=/var/www/$app - ynh_app_setting_set --app=$app --key=final_path --value=$final_path -fi +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # STANDARD UPGRADE STEPS @@ -113,7 +111,7 @@ if [ `cd $final_path && git rev-parse --is-inside-work-tree` ]; then fi; done popd - chmod -R 777 $final_path/store + chmod -R 775 $final_path/store else # Create a temporary directory @@ -133,13 +131,14 @@ else cp -a "$tmpdir/.htconfig.php" "${final_path}" cp -a "$tmpdir/php.log" "${final_path}" ynh_secure_remove "$tmpdir" - chmod -R 777 $final_path/store + chmod -R 775 $final_path/store mkdir $final_path/addon ynh_setup_source --dest_dir="$final_path/addon" --source_id="app_addons" - fi - +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # NGINX CONFIGURATION @@ -149,17 +148,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." - -# Create a dedicated user (if not existing) -ynh_system_user_create --username=$app - -# Set right permissions for curl install -chown -R $app: $final_path - #================================================= # PHP-FPM CONFIGURATION #================================================= @@ -188,12 +176,8 @@ ynh_script_progression --message="Re-configure Fail2Ban..." ynh_add_fail2ban_config --logpath="$final_path/php.log" --failregex="^.*auth\.php.*failed login attempt.*from IP .*$" --max_retry="5" -# Set cron job -ynh_print_info "Setting up cron job..." -ynh_replace_string --match_string="YNH_WWW_PATH" --replace_string="$final_path" --target_file="../conf/poller-cron" -ynh_replace_string --match_string="__USER__" --replace_string="$app" --target_file="../conf/poller-cron" -ynh_replace_string --match_string="__PHP_VERSION__" --replace_string="$phpversion" --target_file="../conf/poller-cron" -cp -f ../conf/poller-cron /etc/cron.d/$app +# Set up cron job +ynh_add_config --template="../conf/poller-cron" --destination="/etc/cron.d/$app" #================================================= # UPGRADE DEPENDENCIES From d2ecfc004c55877baecc4b7d113c37ab3a420ae4 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 11 Jun 2021 15:21:28 +0200 Subject: [PATCH 2/6] Update manifest.json --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index a26532ba..64d0dc1e 100644 --- a/manifest.json +++ b/manifest.json @@ -30,11 +30,11 @@ "install" : [ { "name": "domain", - "type": "domain", + "type": "domain" }, { "name": "admin", - "type": "user", + "type": "user" }, { "name": "database", From 31c58cab3750340c88bffc81163b34bd41dd31bf Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 22 Jun 2021 15:13:16 +0200 Subject: [PATCH 3/6] Update restore --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index cbe789cf..ae94608f 100644 --- a/scripts/restore +++ b/scripts/restore @@ -61,7 +61,7 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_print_info "Recreating the dedicated system user..." # Create the dedicated user (if not existing) -ynh_system_user_create $app --home_dir="$final_path" +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # RESTORE THE APP MAIN DIR From 18e7a6ffdc303f5840ae88b62f9ee0949b74cbd7 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 22 Jun 2021 17:19:31 +0200 Subject: [PATCH 4/6] Fix linter --- scripts/backup | 3 ++- scripts/install | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/backup b/scripts/backup index 337578d3..524c6ccb 100644 --- a/scripts/backup +++ b/scripts/backup @@ -23,7 +23,8 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_print_info --message="Loading installation settings..." + app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) diff --git a/scripts/install b/scripts/install index 1ffd804f..63019930 100755 --- a/scripts/install +++ b/scripts/install @@ -200,7 +200,6 @@ cat ../conf/ldap_conf.php >> $final_path/.htconfig.php # NGINX CONFIGURATION #================================================= ynh_script_progression --message="Configuring NGINX web server..." -### `ynh_add_nginx_config` will use the file conf/nginx.conf # Create a dedicated NGINX config ynh_add_nginx_config From 4135adf2013431d6f013ec4664a131977243d7c9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 22 Jun 2021 17:26:01 +0200 Subject: [PATCH 5/6] Add templates --- doc/DISCLAIMER.md | 17 +++++++++++++++++ doc/screenshots/hubzilla-1.png | Bin 0 -> 90013 bytes manifest.json | 9 +++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/screenshots/hubzilla-1.png diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 00000000..7fbd776d --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,17 @@ +## Installation +Before installing, read the [Hubzilla installation instructions](https://framagit.org/hubzilla/core/blob/master/install/INSTALL.txt) for important information about: + +### Register a new domain and add it to YunoHost +- Hubzilla requires a dedicated domain, so obtain one and add it using the YunoHost admin panel. **Domains -> Add domain**. As Hubzilla uses the full domain and is installed on the root, you can create a subdomain such as hubzilla.domain.tld. Don't forget to update your DNS if you manage them manually. + +## Ldap Admin user rights, logs and failed database updates + +- **For admin rights**: When installation is complete, you will need to visit your new hub's page and login with the **admin account username** which was entered at the time of installation process. You should then be able to create your first channel and have the **admin rights** for the hub. + +- **For normal YunoHost users**: Normal LDAP users can login through LDAP authentication and create there channels. + +- **Failing to get admin rights**: If the admin cannot access the admin settings at `https://hubzilla.example.com/admin` then you have to **manually add 4096** to the **account_roles** under **accounts** for that user in the **database through phpMyAdmin**. + +- **For logs**: Go to **admin->logs** and enter the file name **php.log**. + +- **Failed Database after Upgrade:** Some times databse upgrade fails after version upgrade. You can go to hub eg. `https://hubzilla.example.com/admin/dbsync/` and check the numbers of failled update. These updates will have to be ran manually by **phpMyAdmin**. diff --git a/doc/screenshots/hubzilla-1.png b/doc/screenshots/hubzilla-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0228470f6d95de73139f2b2d322924eba77168 GIT binary patch literal 90013 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�DQT#x{Q z}_{cEf1>(kSIXAF_`u@ceKKvPo+lMunQAPl@Ur!58(RS7pdqCTLCt&Kj& zWa4om1GA$5SkVYg!Eg|q?` z)83`!(wtU+&6OC_2vCh7w)!|a7vZ5uCXjeJ*|mg4dY=n`5ESC8$9EVa01%?hk;euJ zA>NTeUtOQ^g(bR!fgH_v%2bEkH`H0hSf~QKOLXw?d|PZ^Jij+ ztdEKb3!c8ZbSdwisD=9A1VXfhi891so`fnvg$bSwd!s)3N!uteHlIGNAD>Nc1q?p+ zIe7N=Kp3`x52+L(1R=#~DnY=oGca&#U|?r|;MTX_D$#-7UNL9l>}-X2NV=oLg&;bsUE2JoJPs)iH^6yw9uEdRHyjSCQx-cCbV(m` z81DVYl8f>y86O^V>+{az`*{W8E3vFof6(-thfXK0uTZDJ^s9aNa2PO~)X_huQj6JV-Y43nx1!Cl<4z(6}T;(Y-IvbV<{g=x91^5FTvYv2=Q) zkUPT$FF_3y%A=!4Pj8I(jczTtecm#}J}fK{a%|6Rou*Q$<>k#;y2Mkdqd5YHTLVw% z{njnQ2b@>R1C;m{!o=AT!XI2%>m8v&Vrpw@DwWtdG-2!f7 zk^Nk6Q87(g@j(LxszOH%CvRa8Mk!;?Y&278aG05xSYKPsoMcW`CnkC)Cf0gFt@!Z^7UrDzb$R#-kfI>NjWO zs|H`RBI@+*EyTCCwzfuRXJ(XKm zAZRX`%jH(G2M3d47DEUSf6n8B%pmdr!Cj8GAjIcyUS_i|5|PBc7s=grp1}|T1R||p zzwWon36*jN-8ABIRQl9UimqK}H3s!=Y3n=#w}9>)&4FZdMLOM!Jcb^jqvr zuwayVtPb9X(Jlp4S~;cCDjFH@3Lp%>evi+uHDvP_zn4Gy)_zT>LJqNY;A2ZpVtPJ;gTd)a)DtJZOyQ)kt-4ITr?Pb?uF@v zcs%IOc>VEhV89XK!_m>^_8wMhMV(H=!t{3f^fWcg_NgPj13o+*K#eg>)Zx~?RALZ` zkWLrg>Duqwfl>hpGQFHgr@5)QpOyTUlL`*8gCb+9a}m3MabTFh{FbAGpun}Tv0*PQ zwId1NVy&a=Hxfw`*yN;iho#Av&s6vz6&Q~NgSZ2ul*ArB|NPH#|5FPPFAuW0N-8c0 z3i{gv7RHB)Cd=!Z?xF7P?iwNy=xkUy#kTz2PICeu{{7#95UQu!e)TIuQGigq@Z)9> z>O5Gp-u+ahYoWGHnl;FvNs3bAjDBuZ*YePGLUmzPDmR1-5SI#Z`+R}33o;gV5-Mc; z>piQhC$U%<4Nia6U?@ZwLHD7m)l4R1@S%T6fAxLPBIK%~776$FyD+wRIWsm?uppoI~oSHg4ox)!5bTXMt zr=vZ>3D{W_7n8?JlNhtm;6s5v@cHU1v@_%uM}cO1{`q4`wEVwc zuB4LP*otEniUae9rt(0|NF~7rB5b9Xta&@cy8?*6fIXN@xK~vf|MH7J{%cWyP`vOX zZ*wX(W9l@-Vj)ht{J0{!wT$XKDyh?}n!QeiR1yF%^AvEHpgW0RPJ*aD2Oi3hAie)U+%9RLfD?}I}CExzK?;*Jaq zcLZwunE-<6!{6R~nv3v`3@T(;W{_H(b&jFRn;(B%IWp4S?m)&h=)`2(sGCji2XALjICe9;)yA$x=lgb74JCbqY? z7Zw&KMrZ5C$NQR_2_r&VTS32nA-;7wn-?CAo*q3NI1=>XX`Vqmp?3g;AP!HS+>!x; z-k?J4>=Q`L?Ih+B#3lBJ3zjMcgCL~H?q`WZM2I&eR&t3H!9(^8qZ`Rcz-?#}YkI6$ zp@reD>;Z>EyQ~jN9S%k&>;YE z!7Apm%B}tFL){}c9}{k@Nr6~;$xrjMwU`01CXN}?9h zgW?5z+xLHw9x8v=X0rSkeGuvlO3mUc^=sPtKxtYix@XH=BnC#iK1-dvZ`3Xb*A99p zT^V_i5=oT&B3cgk`|phUR$+R`z)c-<`u%>lGwdZM5o+hQmF_yk&>>%Hr1)2p!` zP%i9cVr^F>^@7+&#_M&qp;jS)@DV~deS7hViNVn5Z1Z4m?|OV=FLUUh8SNYIqcb}? zNB|L^j>osRh&!-q`Sj_LOdkY$c=BZ6$*m_(01&7zq@rSg5rVNnt}}M{5P5+0;adiT zSCe^wkV(YZPIe`kKwMppaA5_BmisFN50M(4?j(RHwK{5sh9c>?72pH7!^>wcpFJaZ z5DY?eHN{P|HVYL7bce^1yYh1}nIVm1Ah+`6LAnF$$n9fdmp7vT=DX|K`#C3~a%8CH z_3QT6b;3O*Bg8)!K>YH1lj*nrYWf<o;-9uzN_-XoCs;Ctzz@>iB0VTqv(b}70d z)1-^JS2s1x>b*DG(xXU7r8=)lyP!|i*DNwBs>-0tGYDMQW}}&IScd2H5_?!(UtjmH z`g}wL+D-^8{Dusb2pN1Da~__o_4fAk^!5(IGIjDNVi|i2J|{;;01{A-_zck)k8VW0 z1P@-HZ+a#aA}}DvFtJXo#2K^swnyoi*}hoJm;8S`+8buyVdgYp1pltdpM5I#HrBnW5#I?&r4%yvqZhN|=^3~muL zAYSS?n*cuuSQr&bMY4T4@rUx#x_*bFy_@Qb8q^p4XnvMU-Otj0x)S3T?|t;qd%rgQ z@)s;VNDqn^Oz*XsOke+Ae)!9;e&PJ_4QrV+d|yW@)cT~tI;pP>G!c@jeClEfhEW@V zT_hJ@(-c*!BuaoNX=~%Kdt1yIj4B2EjlA zr7|HhZ()--$R-_jgTc)gB(`umIwbW$LWc*>7#M5X4p&l zTNFwRNRz@Cg+cDv4?mpvxx^q+U~~G`dwZ*TC)WL$3_a&x@cZL46Eg%6>s5ojRaI5Q zGzcG@wnk^8Fh7Ky^fNMh{tPpTDAg$8sPAO8is-`l_;`JNXo3+U?DfY-MZaRUzJ7Kz z6dHy2z}x`1Y%fLDu;zm$@nmEYhM}%ABIb!i(L|03c>A8 zZe>7)I2)eqI#`M0{|3^en#!B(0gJ11Dz$>nh2RcL&+_P?0*J@NCmw)IIc z9XU7V4H9e*?!CBK34rMDr^{c$2f_kIiPE~)R;#05QXgQD$_Gp}z01v7McbUe1R_u= z;rwXGH1yt=(u3j!(|dn3S$_I~^x&|VzWn~j$RLc`Re0K3L3stM{R>8oGuy13!YC9f zCfz)^a?o2fB&G?eRFes9lBL2Z^*+Mn%mN^&zWCFLe+@l~6I|h5e{XN~_3GaBRp0{^ z6HF!O#ntuc^`5mgDn&9eC((ph*am$w9FC#J@J~~P5@limO~QGS=?RSzK-7Wz!|<>S5W})+ zS(pgVA2mdro$Vx2r(5t#tehR}B(@Abv08`dK8H^+Kyd3qbT0}F;{Ja|A>`iYojdm* zym|8m;W2!7y!7&T{>8(}5oQQ=bs|v?m%i{zmfP7D1>G`GCst~S9UW4vROvsJQR;i{ zN&L(2Oke-*_kaBDm-2(+h4=pQt6xEi;D^dzee`?BkIx5TE;2_|lvHRZFpWh*q4J;T z7VYV#L)9@c+LA;ied<#)b&+#MBi7^)J{+DLo>0ATvPOji5rdPHjL+?-dSdW4>{2I0 z2{IV_&K%O09r~sTC)TE?r(vXWdc%!`1<@$RGoqPjW)0&TRFT-)VyjrYNpLVR6KWox z9Uq?^omiik*k1Rq(-R>&&BP$;H|xP39ua{6N<4Zb5JDh>fQWDM5Ft=PE-(tXFmOw8 z2p?W`2@^Jpl&`-1R?4r;BgFp7a!1EhI+e_=B$m@bLq!8;QyR*eJf#+kt0T3N?Gmj` z!6F_k<>5ixq{GiZlei=B;W2s_gbz!Tys4AdV!V0wQf$WP9vO15I@u%ug06n}s6iNz zf62~CtjB1QlJFR@-tl(tzYs+H`oG(yg!oW+`0@H63%vsUa>rD7|8V4gw1Rn1;W%v?}yL6A^Y1#tn4!B0G)x4LTWLjKR z&G_J#K0I7qTkj>9I04lVRw_Ti2OXau5{7@zhmg7HX`j~{Jk62nI0; zA!1mvOJNoq;V9R7=)}s$R&nKhRA;iO|rlr?qG=z@Zsgl z>&~=)muU4}=#-AP|ove0U0Icp?bI zlW)HTMtpNiNEAGwv41Py<)HWd0f2_+g%W3Y^-3x;g!59CD4|g75A1MqOd39^j!t=C zs;t6*JnK?NO>*VnK-jGEJq!sU?#lon=@E~`gHR!a`vC;vc=Gt=zx~_%%1Uk}`{}3m zauL^VcXy3d-m6FdoWUSb2&u@hl$J}rDdraCD# z5*zS2+sq}6;V{O#K@xb53sU8@KLb^Qo!M(tJD~ruJ~P-F3eCg`EP6sS^hlKn=*HmS zU~}_$UkGvpstSUHqZ{=M4E(@#hA1!|<@tj`qx?p=qy&Qy{SBxQ0}@0iiVV^9gfZ%s zgc0nW=z?5vw!aUP1VIZ1zY!Y|8H%tkfmyx5;C7FBERGHV5RfTl2JwK4jQav2wEW?| z5Fprg{rR28_YoR(Z~oKVNJnQk7HTAi`mJ@Z35Uu{#d19{z&R##N{Ezlj+DF|LnaXA z<#<1D4B}!ILo=nR*cqcy9CcLRSj@s?RL57Vs|{6%jC$XNsYuI0V~R4HjCz}d3=rYi z4<~C?RaY-pU9PICs;;_vwF=z{lo*5$(`!BJYbUXot=3F+NZ1)AXgJKUj}q5AIuff; zBs28NDt&EF&&0&UOsKV)YKVz=e4W_B%nU?_iNV28i0+%~`{*^o2OLpV!19pC2nL9} zO8Mle0wTa22p;I3FagirdIB%R6RE}^baFH-L=kLA9 z<%S#^_I?MN6E*#Hb^Uehjf4RrpKqTJhAH3!ga^66C@U8k*B1bBE;R_1ky@IC(gjPY zOcSbYo$8@&^=b^0{$*|4t-JtGHpgU<8m#U`MZ#W6sxol=n9+d0vX^MZ`XDg} z!j3pGhSs}qRF7jWYi5D~0%qzP%pTx*klLCuSZp$I9Npj|13>ZQ=~GRO!73%{3T6-r zd?3J30|cy6!$OI8^(~=A7Fqb)i)kRl{@MQ7&hl1pV*%^MeFiT0TUr`Kq;+}um?yY+ zI!9krC@~(W5aPbB<(Z$&Aaq~`kExetV12U`b0D<*pBNAymFM&WemtG`jd8Csv72@OufdqT58WK9&wF~S)=qvvN%TX8E_CP!j1X(9s~GWiLX|vOUGJ?T=J4Hj-?b7z ze0O`W`u5=9ZNdVfW=^lu>-09*+B!%qgSZ2@#b7fti01M7@xH;e>50(n>CEbSs84h% zZpcT-l|YCa5i~%3r6vTr??88&Rcoswa_4h|KZzVkrIQAoWvk_1S65` zw2T>e4QB-aqM?F!?h#_JkFp~Pd|-fB(f|Y?;=VkUp>b8-5%<``c`uh7!Q}R9_Cc`- zTG*X6MrDiu0C6YdLmnOExY|-#!Mp&7bH^YweF=5*!BkYKFurAVp0UWJmAOb7t*My2 zsfw;rwKt5WA~|+y20?(Zc4!t`dJi+J(grZ#5o_Qa;15;3)p&YhP(H2A&3$yk2*&tqXkub!X7qFvATmzq@RZrZqZ^xfc~T-0 z3>FHb^?;&{Ar%?7zTxVEpDW5BhUEf-I~WWQw{{31(jA>0ox$LCkoZ9|(i!knG52%Wpw&3XO;W3+*9>h<25SP0!;^CB~xYTuQ1 z{kJMe!uZzcD(Q)0trFD;xC{`hhhJ+dgj{9Zmwi)e9zpo9 zbUdFMq5`AaVP{ihnZe7pC*gg-mL9u>p+o2o<-Cbg+Q}&)}0 zkuACmI;{^<7f`AHR?Qy0qG{Ge_x`D7Ka6@QLo8XPd1J^~9k#F<2~D0S{FK z4TKQAy;pmBo}(s#i;CC=COsJ*&>yX;>RtD9xzSrirAG7JyM2TZeRs$Eng>G=C^MPq z(W+MXqePQJ;KMk#J;!B$C>W(=9pZ+>DA2bk%yzOJg5GW^ON?7mi6Ii{M4Xh!r@OT? zw;bsV#^Z~2gAWWJi-8T^mX@e9>U9!8G+-$Q3=l4=E>dC$d~#BTh`-A77zGaT_Tldb z51uV8q02ck^x9$dNQTG?z7uT;51|l7FX~FmWf&+gFKNENyO3Z?tOtlb)H)Z{_rg-i1#5qBSpwZ#s3 zY>TZ@JybdXAgTr@rq?i_K^4aul5Cw(pO7XedaG{}ySUnenQ%Ny70F<8^W8o^&CP>V zYs5Czrx!9OYgNsC^_v0$9x18{i9N_p%BP~qDSwqzbPR|DnL^JKsSr;J0)&b|2&;7$ z_b=$Vow-zcD!8z)(HSsQ7>MDIjkyhIT(p2YP<>HRVQ`Nj1)`&a6DqSjh|yIb5o#Xs z)+&Pm;^p!2aW+|5Sz{S%s*og5p+JZcZ#%;Ft&Z3IV(TVn)2f9@c_C+hJBIZ_gE*HA zLb;SzZM4>|z0+*%)>)pkgPocNr*@aOI_O?wzEWADitXP}?ZprqfQ&}0wcu?Sv6v7Z z;EOzQrNz@sRW>$N8dRy;~kF)yF zOyvmd5fc*=)6driNBinAYw<`DDj6llZ-7AD*c7g7K^zz!giwKG{2NCD$e}x$LzXSi zX>oM{>jP5hkRm0GY~^P@MJ|5Vx8L5nh5V@0l*C3b zmVw=lj&vk}5bNQ6!U(}37$txglY&S*P(Z}}e4!zFooH}Q&c9g6CX-nRjJgu~HKJVUZy=i3&%(VMq=OElu$GKis}3xN3lIqj|PD;kZuKm3}N zn7YeeH-x2D9rQYdx>cf@E=E341)6@5O|LW$u`?zCUc0%P6;2-$*k(>T|4>H z5BT<4a|u>q9Ae>S8?VnGBk7+huuvT&3Kh)2BoyMA<*7i4T6Jyj%KKM`h1?p!=oiIm^SGaJa0`j&?< z_K858ZUsCDqa8EQ9rk8H8t~E)*DgI5z?zJ$H1G1<=bU@F$Ux$hG`FQ-5KBdyoe(Iq zE9n#fqQAUCf`^K-rZMmaJ2M2UrN5@8-4Sqf*SxNQ$Fi-CAM-kFJY z&bPjCfRNUdR#ztCM2%dvkO4bY^`b zl{z|-mS`NwATjVnSz8opjQmWO%piad%c-sHpv5z07%MXXAn5Sug#ni?RU3>CuEoX9 zsWbxc&j=rY2@-pd#z6CB#xnsCBH~)5L_7e2Sehihl6&!@vfWzNASeotRFqo8Ocs4m z+TT6Y&J=#7mtzPXVLI_(d3Qx9wnm7CcBZz!d-EQXcqL1K#ii}p#@C1*Tl?a67t(NT& zg^A812_TMmwsUrLCcfuejc=t=v+@xbG4QmoHbV&z0|kKiR^(qpfLK1=URZE@+#n1F zH>cVoz8ZxEVS{~PBj|GMMk2_L$!3vZ%j{uN0T2o~Le^*`)x8$;o1BCCZE? z?QF)kuN_cWBlgY$vZEYol4_+q<6ShqB^iK4yulKI^R=1+ZIX-^3xq6UbVPcRF z;x1u@a7juo2+`-1pyH8|RXmm9qrQH0!XJ%>ZOG5}BB*B1@1G8CrMcojy|H;TAV|a$ zX}iv?Ckp<+o=S{&C(@n4pry2QY>YX>7^@I=ViFr0fzD2G!|HM~3&D`E5GCH2v%M>aTuR z+jQP#o71RGi_t~36j2{^)0w(VICHU(sDd=9?sgOz*Hjs;j9OZuU=WAgx5N+zyim8l zV?T8(-7!iGR+2H)5a1955VF%j!hlBwK!B@qQ;cv)Pd=p@V=Hd(wS;ZqaATtlY{h3VENpC_o~D+M zHaX{(SNw|od}6p$SzZj^8n}gBd;o|I!i2Fg1FY1LDJ>g8-s!#Akxoygv72*wZe@Qz zA8I?9zw4S*H9VJ8^IMA1tp|w4UphWM$R=_l4jW&1R(@8hYcbQfnYGWy~WUgMV^U7Lf++B*x@ONgOqezuuV;B+8M+e zp1~Wn^z!BL@%%wAVXcgv!Z~FCetqU=dkT z!5$Q0RN7{TGOkJ&5~U54cw1VfluV)Qo9OZ&aQ+{9>*aLo`FwS{VZ(uRuKi^U^xN@swkR6Gej&-1VAu8jMv|gL`oSF9z9Y^ z5)yr2gm`-6=x8t=^hCq47$`(zET^|+fZ%=w5r@vst*vw_B`w#QTUpuJ-#`&q@)=PId(3uKlIm0D>B~Y zEQTafR;ntD{C*q(5WoDr$@ITvfMB`d4`Q2+=BwY;Hl26kgDA3{Qx#RIO_VfhGbwdx z5}HH8e9lO#rdF4wZ78?GEru=Ea6QBIKP9 zPYVzMpVa2&x_>d?b8>EWVuRbt2zgB7s9q+Pbc_w;@UA)nZ^8}9R zUeN=sW(O6|g^Ov7-oai#0v)O*01&MN7K6RL6Kkt$tU>gNQ46WUC~0|^{rtMel6xa z>GGdjPNBru06d_hxd?DbaVP|x9qH`z_=XtaIOvj*VNxg%2VF%0LcqiPi$r9qBOU38 zB$JVLhpWy(g@mwYO4~0$59}U{XIaGHg}po#DH+k{mNg291qlK$|Wpbs)YtUV`S$oQOx5FUEK5`@39n#Z$n>*Y@{ z;5o?n(0Z2zh)`>5^&s6a<~=wVY6U>BS5h_H{YX_~JW^B`j~*Ru&ZcH3rsG?q6YGA1 z!5f7V;iOws_#Y8Jy|=NQUS8hZOwAt6aYw!UE69gR=vLa4GO%@?d3T*AeLKXy5JJ?bs#u z5a6}k6%`dtP5FeV@^TLY1P*E)kJ2@%K?u2dQ789Bd1uBsvs(YUvdEL~EDQf13=qmb zW1h(?MzYld-YUPdv2dM8iiVkeSlt{*GGpSVqtp=t_awto+^D1yj_Rk z;RqE*YO6D7=lUWTTueilOmOTRVZ#dFa}@rq0z?!L;*}&p@Hsn^KFC)bOUIKtsZPvR z?C!P`I_x@J7Q5JLA?#7y#BAabZ@Yj8tA!W@d#>%$V7Ici5cHv69@LWR5o=xDKUWvy zKet7-nf~%q(~lS+^dsN8nG20xsL71dj%cfzBKb{SX1y`;Kj98qtE5qv#;VbACDI-N0I7>dIfVOWT7pTZJ> zUWN#+6@fCmFGB#t^4#)rdaBd4fv5+|hHEj+)7*>?`#UQFAa=yY-&@i;U=2!iWhGe1 zW>?M#B(glIL7yUW>R=_^(YZ^frlzKSw`MosDHEa9B2i9k!GXqLFSS}MrFOVD%Vh>3 zWz7`^v}9{kzZmkg$~}$#{&NHnzxe2*?=3%KfY7d+&<$*Bm+8I53ayqVm8055%?!6m zzfDW0I;yRbGN_0jm^W$ZH)}C@0DTY&W#QbuUERaDz>zWHaPl?Azv;!>(m{qTlZU&7 z16vdjB7`Z8nTe1vR-(ojR~)F8GLv}3Ll}>4JQW71dUjQhGCsiYaJsd?6oT===Zo^q zM+_n!-`bqrT%JuWgDP;W4EAP7=1O|%=!gI!mF{$bLfAJpT%GCUG64jW1_>JW>F(CP zv~Gtxoq34hCx&@;i{4jOmU+~3h4U)uAxo4Zn@Eg|4Apc*B11z%HSLb_iZOfnSeb`q zNcsq~<=_nHVp!~OX^C`N86U)Wcb&pG*)QRP@Ln>hc-?+6?tPw03~i6mSacAhSU!w4 z$yQ4YOzMGcZH(<((k8TQBmb|NiZ(~hCJjJbzYYpfx0-pbv%k z+S>wMAU)&-3?M`^mSGGIR;~Ht>uc++9DOfALLMK+MF>Rw4OQ%%98(Faq}bGXgW%#c z?sGDkLw3=ty6w(2VI z0q>WqnKXbmuq~TEx_h^k(Sh3_%`8+lhgz%F*09ibt*Uwat{fdTUVsQ-gjj{KSud~B zVK#vrY&^p`*9fwmo!!njsjP4cd@%S>WcV?(t|MtF00?^!LlqP$%%Aj-wzTSvuNl zE&$?u`5@F)f04$5#u}|PQERFM?eM0?{-h7S*3DKJjcR70v~3xU>K=+op+QLKz#IZn zgmm!abwY(IQCUb6o&*qAt59Iv7KB6o4w-lefcQ?}163J=RS1b#T^}5s?duZ-Mg4f6 zh?1$7Wr%uNxKwip+#lU|RKGbehq2B$X10hy_G8D}gUCcxO6j&G$l zkLK7_`IH3+;DaC-keVx|AG(h{N#N+1c>^a2CVg3=r^C z5i*E-fI>2v06yTAB+!BIp<~y@gJ7jrx~MVHZH4SWv|$Vr-KD~6ErmbWCC4?x!t4Im z?XP8sP!R|Wb-lh|5a&{Z(1uGJHTvLN+LyX$NzH_&SpyXsFN3b0(6u>?`W~#NVo|m^ z!4@Pb;&z@v2oiC<8v8nVr>_|G1b=94{qFW{wOk=rCwB`a2Jm5Uuor8$)(1mI;*d^+>#~AD^8?U`%RjAsVI{!x=TW$FK@Zu!x3eOG`LrYb&{O zrNm}K6a|_Z=y(czSe5~TAYv;>_^`3DJ%zOx2{4B_!65d9Kq;MDeA^%1-#-(#ENc!_ zO(YPO&j7(fM1p>9GRY-JE-9Tzhs)w=5*hft82vq_(K)+?8br(eZ2zg+hb9Gc&#HgBb1O zh^hL%Wx^=_!S?HGwzjsm zD|AX4!%pAyOll6pTSrGIFaQuKMu=4UbUV0U2S9A4m+8y_9$n1= zY1ZaaYP_6!R%28Tifb6eU=5cT^h^x>as@XLm5JF&rnozV# ztxm|4AvQyZ&SxLqBxDeU27NSJ0Eipo^HAG6VvO{hL)0AA_+EI*y+To zFMdgwkk`VAY;_JC^aj- z^&u~2^==*Q#;u}#RFgLE-mEutt9E!6ScTF_d09dU&AENOno11#sG&hr^?Z2ss^oyc zi>-1^@tt4{kSaspeb>y62w8++BGD>7??Xt02)dR6ZSgQWTQ6l&vM1sZ?l^01boP`J zV&Z=P-hySpYb&X(En$q{`x5%J_DYF_5!bE}bVR)s?(OZ?s6H+L;v4~l zW?0Ionbg#dSgKcOXcL~a1}m*!Qa^BEEVf)n|6Q6;TT{UeVb(B+0!Ao5kq#pS1cC2ZHK!?!G z3}FN2u^1riZl4o`fv}-OI<>$Hu!?Jh4ulVlPRwxaO~*Ma0{PbhAeNKqt*Lb9V$fo- zZv=yjQ_LVFe2^L$1EQ!ngDg4B0I`3zFPswlC^RJ2kVUr>t_WZTl^nUGtW8pRQA7Lz zpdjp$7HfM=KRng)&MawJw+OKO^`)FG25_QbLMJms@Sr#nGw5thH$~n(nGe6+R_B{Z%t6hN^qkoB7ClSw6AY;c2=N-)bH$r zGm21x&|!8Id%)uh(}v7p#=qzDFYLJuK5y72(4kg30xt*|Fa~aG412Ns#$cGlRFbBf_?vot5xGsnMao zPV!7yC33;^p=PN20wB&+iJ_eNHk&l_RQiqI$^Z!UAePELsZEVD7egCubHr>a3N=cA z(ZpRDi!%rbClr8Db-hZU12YJs4p*fqEqPHVk8ck4_N<;9W~SGBCk9(tjbLbyD+?JR z5KYMd0bCd*Kp2-S5zr~Aq8O!H->3kGY5(5d#sbj>r_UF4`rHPC7XVQ}hkUsKd?18q zM1|1+fY^&~rBA2QRG*wuaj_kzA7t5p!I|od4Oi#X7Ef|YB7{_A>_~LsjLnrWV6Pzi zet7syYGfQ_SC*G$@!^bp5eyIn4iG0Jk&fU7@45(JW0tklL)X29N{v!!SWCb|OG_iC z$Vd_dy=*P7Xp)>#N+u!MuAyHF{xDQC^!EjbucQBy@xlA`J8@DPbqay;Kiz*})I~$+ zb6>QJaf&%CO+{91YAl<&Z`917Y8b@zLXnZ@4-%QEx_Xs6oR_P_q4MH-70a1`irzs& zhv$bUhcTPiomurWhag@N;?hEf2Z0x(qs>^xcUP1aQaS{b%30y89;L4)d|3BSFYGNW z?0M`Sw>KPf`e1-ClvMyA^30(YwM9uDAg*zV0T;I0y|)l_ZFjmB{L^t_3-N_LJ8=hh z*_g-e@nDv7>QqPpqcK~OLtx}UiASHyfLaf)nLc84JYCwnFp8!O!LOePbe#OUY@ zScpTwi{ z(!b2=Lj_~QwMO3YS0&Skt^FKCl8k+^*M zDg#8-ReGzg5?eZ}__M0&!Cox!{ox0!^DMb$i`m+u(-R^V;%;-kd(oE{C|emH`o=dm z>&Is&)}TMGuKMFMGoev14xmKeC{|%i@A>_HpTUO|2rnMpZu%%1w%J4zqaaZNAqXA_ zA8d^=0uw@jU~qeTyR*}^LA8a;WwC5{42CiK0fw>iF%MpLb#`v0nL{kkQK7LcIvJwO z097D>$R$##Ir@B6 zV;+Q9mvM5fH%$DYycF!Atdu~5;3C}EQdUvM^W4IAE%~FY`7)zl7AgPE4C2Re{&5V# zsK27ks(A}l`$Cz_pmsOvQ|?Vh?dooAo`ViJ)C+gsJ|nIwZ`2IpLq&-}kLXn}6kNS3 z5P}HA_3QbRn5wD|ITxa5_2k6a7IPv3pRU}t*va(7%%D&x>2|wScpoI$p^tZckJqC| zak}M4Mc_Q-NZT1WE${Y?VnH9V33wm&{Per|d|tu_0T4bf0Yq2=2muaKxd8@2hsZ{Y z&tP$NZk?Wm9OG*Gp}S{hfR(WI?& zia5J<5TVJA(J}}Sh!2&`&MJDZru(ZBg&@4RE(Jhvqmv4b-l{c($wYnL7{No>8I8r9 znVyMIsP%3uLStGLT@1p8`abqWjnB@WPWUsc-dL=~>&s+T*Lr6{NQ~%f20Ac65QV@7 z44%jWKp5N}0EE*f$qs}IwQ`eFR2Ym8^egz>3&GQLitP`lgb*I04!{Sx`Q3KAC9v4h z$$gA;G9{}J%c9rGII+S2LGR0W*v|?uAjrV*#ftiHCPemOPK;jXsv9PTq?DfZyN)2@q&WPEq!5KhAXofEBJ#;ps4VdnByT|Mv zzt0y1Hk7oLphx+TNHmPfB z8Y?S=$Mnkp(SA{4oFfKd)C5IqT$M)MUv;$;N^`yI^K3P8!CU>By5VtcCq+kg3So9S zfGD5?;X@V3Lsd1v;WB?njN$V2YF@=xEjpiT1Q1A@ibgZ5VlC$yqH9B#{Jz_YH~1vJ zW4nZCce1y-KD3r`I>U64zi-Q|PlQJ6>+7iq84ZO-x29L8XGVDwczk-nV|V+aRD=*K zaC;U!ZXf!bDzB8_6YxPG$~N2r8^i*u3mD@>ixb`lyBm!S=#}VTq%jhn6iz9rld&ut zB1D0)e7ZfA!aNoegY*DR zSiL8Flot%*ypTz!^ zdElyo%808Ueh4x0^3`hM55gD06W|DmxGGX2I4ojywP$^O6?^xpZzEQU5TUtMF})>a z$TUmy7qb%?XJg|PUi6uvdW0vqnnP4pZ14Ged-1K&QQ{Jz_31sk8~S9%=U-S@*fS8F zFhl_dpbIew9&J3C5wl?|Bg`vx8hmcdd#CuaUxo)F9t_yso{b<2ms<=E=@bBBxp0(r zh?Sj0Vk@|aJzKzq$Q1Txbaa3nL?WOHE7={mAW&9_Dua-ORR{u#NGjRxvXpbY9E=ZT zo^rdTu4c$#chppVOaSrXvoAjV;)@SHtL(36Xezf;eNj_x9U+#`O{K>O5s8n#CItE7 z;Yb}PMG!m$q&{a&&CmsdIByI>^MQ7ewq^iaZD`VTFO+Vn;w$;yh9WBcvPi>IyJ(|8 zM2ay8z7cEq@M;y^p`(e=7%nf^b$y)`2oWwNroW|>i05lP6N9&f-Qlk2Rum$#IX*^O z=G)giv+5N1P~u#j7{yoy0AgZ#)lY1}Fg+tuD7P1&K)CJr>%S4)aC81cG-eaY*3K{i zgY5^xhZYGO!Y$F3u-CV@eVXEoIXXMU1>$kL$FmS{Es8xks4fT`xV%WH@L@;3+gVPh zJ32Z#7Xb|rG&}fox;l|+pA$+1ctaBKkmDE`Zg%EahuC$L!UYB6LzxG84^%fe0*>yR zAAkMv!_V%0@#zOY`^gtykMx(8mpbUew^r1(TWczZ933~4u9};`hYvpZ;0shD>`Px9r#&!R>O^&+ie$#&ZHo9f1imUHMs>ts+;GYE-C zT$Vo~c({7CisedfTZqnQb-uvB;v8YHT<_@xUP!6;XkRF@DZeWO$e_G{61lZ%yT<&% zxi{S#63Rq#XgzZnYio-|Gt=8Zh^>ifpD&gn7GaGkO&0yht16+;b%z4_dE+5L5VzYFoet=5*h-rGdI8qGRw(Cy3@6R_{t4?V7Idq zi@ya*bc~E3u8sgENk2%45?KHQx)_x=N0O1Dq5e{A;)HFoVoVy^YH#1|zWI<25r|Jd z`PolC{o?D&x`u|*_V&_>GOM+}#_>83`FLdH;n!b(@Ws7PKltF&FJ3&XY*$WV40U&p zTwLDgia{8SrebNenvri^%50G^Tjd;P(P?e%s;y!biYgiV?IYz1eMAcomkaQ46}PM4 z4=6Xl8icX3TJlOM0&MX~H6}C$^CMb7gS&E41egTkW9~K!{t%j3KWw{#O`mO^ z5fLpHNk@bSf<;Oo2)83@+8vfAp1EjfsNkPK*FUcA%F3G$Kb!yblb_*y`oS0Njg4jf z?d26s<#pY4_7S2EAN=GeKOtzi_bGqL&wlbTJ1fN?C;fyAfH+q^h_`I7G3pbcl&Mgv zDbBadVd@N4Mbn~;nkI%~ldmo`R}~!bpD+k+bqZ_{jSC@3VB#Ac3`w8tk?}!b1bxB? zQe7<#W?(OdibIGxL(FeBH-~ypPMkL05uS--_5uJg8j3G?40P=i0ys~mPfuZ$@?|pq zg*^lE?Xl9^?e=lklW@V?z~)N7pD0BX#RZ=A8VsI=IMN^(AD&8?wFs0-pTb-%N81($ zh#jsk@YTs=$D*~=Vu6Rkwde{scH7$n4tGgOqb+Li+8qwY2*58LDZo=^kp| z?XR;o!Brh@Y4nzj5r+u$4|R{A!O8sLXFvb>Z+=by@sp9V@^Wi?f2p;myWKMccp&Wf z`OiPS#~||apa1Ot`pHncY=IcM0EqKeVwf~JvC1B#S{+ckuyvWVMMAB0azQc0Q^hbe z!Ij$0p_tAU?bda6oNQb@lRfdKbpZd~LxD;;MuVy;b=`{9&S+Q?8|h+Je&` z7#^@HL-?z|BY;?+UUkN(MmSlW2#uoZ=nM5u@9p_uilFP>?~k8ut;gdFale0k+VA6S z7(U_>U=siaFR$Hm?`&^H+>IK-A-@$W6fx3^}Gc+Q*g;g$pu@&P_9D-eRGJ?B<- z=8l*UG4o%|1W!Q_tWORt&7^0RTqDz_#+L}29jd1Ojz%;^oViGf-!& zd8VMU@Sb_Ip6pmQ$G~HDcIGw~AunG(o}Hati;o>*eS+wa&3Zh|%e#>ngk-it89^_# zF(_=Aw10qCx_(CQ^d?7Y5kVlLxE*2AeZ}QRn-qZ1E9M}3}{086yAVIlQ0$`}FuCA7z zR;!!UBF<#QFsC-JgNwh2&5T+Yf8_!xm#Jc^TniNnp%9`+sRZ9!ImO7@f1)jXw{UsR zy?fu#ZY?rIoo*qMKqmx4iO&TJ@q`x_PqvnqlfmGiITQ<(2Z!Q^Lqmt1{;n=dS67eI z+UXvHKlugoV5ggOi3v7?;XNetWT(yTwz=$1XM~L3JrTdN5XQ+ZFVz>hT$&V!myaI< zMBJWv=iJ(X2Uy1xT>05tdhOgK@&;fIh!3+XE4?c#x3ls18PgxAMrmH&jl>{?RGQ5RiC|wbC@l->kL>b~5>tdk)fz56aN|1pP z;o%~6H`~P9=#5>@EO5q4WDwuWYYdbr|L}*)moJaE?G|@yiKls8EK$7t$%iOhj*M3^ z6lQl3pkZ}-b+xjHF){1_YXE%Ms}+T_UrU5);c}V1fJU)!I16=#O6Bwv2*hjT4Y(ZR z76nY+`tG5yAOlK`QwphCUPdqW1{t8p7R6^cA8gziqU{;LP|Syip{Uy(?lE=2)!u_* zBC>?|7-qq^57AW3v`aS-4zsPbU@!Dx+yhRQ(o_~O2wb&C00H>0oj%|IG5`1_puo(z zb8ETm1YG#(H2V@(AG5Pd$R1XDJ9;~27qTn}0$ZSfG0n@naR9>jmZ@vGPf{-rxE8Kp zgUW}kS1ry|1-|Gt_xc(&w(J@7Dos?Wdm7)$Ajl4J?E?`XBn+bM0|1C$Zrs?pAw7JP zPTS~c`&~(i!9d{?$*L{XDKC$-?Uag%SU!-CC3aV*aoGFv<>~3u%If0iDh^^yU!Go{ z27o9P%cbJ#YOxfeVec|x10up=wOAs)0BoTG9HX2vmk}*+{NnUBshs*mB@+BIYJygYh9z_>K`0-k8PK1Yx*tuY%osyVJ6d$f(suX&o zZg3XCIRvia8*OjLP)f8{e@`03_aZJcKaH&thCF`9Sv!Wf!3~a(xu-d|?O9FX7`hWxi*aK$7IPF&3 z;272jp6%Q=0K^&th~D}6*_ByBh-@4HfK?weODH_7;QPwaQAY<98I$P3_T&&9ngG#Q z8iZzKi$P;JQ{zQy6wyd`F~}GC$_fxkQ`D&1?5#?cGO9*O<olVco$v z!w#+S753=xWf^Q6-`($-!CERpeDMc{5+manA2C`i#`gAfiP%$Q5TsmwNJc5lf*83x z%_1UJNq;Er7O{(g?kQjoP<#N@IIWx_ED)hc22=a{gQ@+LIh88oUagJO_4OwJ52srj z55I#V<6B(u{q3t;tk$@94>xH&+(7pfu!L|3{@d+^aIILS!A^{T*w|V=tzec!a5EV% zSh|1|M4k4C#geg8w-S4mKn2peSCXz^1uTOB8?gZG6 zY-9dvjt*^t2!Vaic7_kv?+SUfQhWe__~bGI1f0duU7!$qiDD_SgFTFOzKf3yU{F>i zJ{&=epbDZE(?w&oVyb$I^#=zCI8cR@gTX-;j)CJWR#aCjSE-r#dVPB9&K6LJuU`r0 z+uwfs>eE}))c_KKRYr0@6bAla*A)t3wn>LZFE+MLmn+reP_nWdH+PwO>;sX4b!;pg zvD>hjK$SxJWcy^>lgkeF+4~BGke%WloQyuuEfR4STzJf#HY)=NPcD6MkX~SI45~4D z;jBEK0TzMdTT>)LAU*(k0CVWY5~HJc_8g6Ip}>jv&C9!C7=-qKh1888UfVM2@RpP* zjkSI1P#Ae~oO~Wkb3dPAot8qGkTD2S9;74!i;T8w;%EkrYXO6}ctd`K9w)~Kq0RZd zj6!_!#Z_F=IgXorN5(loR96=l$ET->K44xg8YHG!iGfpF)6=Vf5UZ#`B%)Ec_~EZS zje-M0oWd8X)kUaObh=nzE|8zgpnD>!D_2*c>eyY~SS?kzoRf}k5HDm8?+2Hcw`hyr17Hvp9KA>;mnU>BzJZ>ujCIhBHV7}26+i=UpaRax zcFr?lwcEv@YD5NN5SU2ocZRLFdM}>E21h)8XA1G*VBrJ+V&)|Q1mZ()$I8me?8|fa z57q!Ya+5PNP+b6jK!5=H(9toxGLy~;2Y{k^c{h#*p|Op(esvm@1_{~j8&zpyG-xGL zsyr6r*X1S%gR;k}+TN)(5u(=^))E*5M}_Nc;@~&UW?aM?#LOP{&dAuDL@F9PI2dfxTcVic4HZOm|H+@r$aT#y{%~aDA3V|RoQXzzh#dNh& zadiW$kM;G__0v=25!GNV(2uDQ{SJ!*o!0qSZS%BPOT! zQoglMI!UfcJ7j|*vMCH{8KT|hyeJ8XF74O?pjZSZF@j#~FFyIhhnzuNp2o;)jGUrkV+6{N)m11oDws)) zio@#k^mEiFFg)UPV|p=_(m8x4pUGr#I54&{kdKCfm7*>d9Sq_MUlb`{z54prci-K+ z_35|#0H0u0#zVAAEvHiGs1CWzo0aNjWjTrM&*e=hFx>H>JHdXvuP4(wb~rJSoq&rS z8sON{y1-rjixhz>d{GiwYV;B2S2o0oTEF$hJoQK=W|RR&2_IIZ$E zDo>_rNw{(pTw%0U@842bxup>HR)7%On;!_7l-zvH0fJ)aKA?)?-eW%l>W|gcMf6217Iza!AQo3gaEC7g z2#lQC*99mw1{d+=X&XkO1Yi>L`(43esq*COuW!Ag^}RTnaqG9hC6Gn{VlaTf=qMc1 z*i7wX%2X29W~72u;19`U&>eKUhs+j}#qT!*fAD&43phMi7- z4=Izv0Rkb!#@XCcP*yA~;2m7vfGg;coLQQEJo{J#2r4yZXP4j$@WrM171Aacf#?`M zTAIvx(g+Yu2GM8?LNn}5x=q`tsY)sg3@VnP?O0Ik@RKW$2EAT8P2%mVKK~Ab5ZarB z53GM7Ha9L_q$y9zk7=XkX8Z2wXd7_|sxAN=+IDU%^105-3?bUD^3{B(M2xUVnJ*{; z{}aX{KEW;qaR<~VR~MgovfH`awyjXE5@7LyNy?l9FhRI8PCiz!_` z6LqCh#meh{`Wgj?*BcwBr>E=ReEKQz2W)2CyMH={CukM|>VyZ_!9a*OIXNMKfQO!`2`fO_t56ZZ9yRl^v4{p~9hBwj(yaqByP2a+ql0fmK zE8}7Ckdy=(s2~n;f>H#$r#*426HQUvBn5X)41&Ndy{%@T5NiMs=hoPnq$#XfcIM|h zdONyNizLnfWd?j{g*1qcBN8Y&hKGA+Z==}Z*-m?~%xGTT4FV9d8Ed0KOJJS*vTicJ#b=(k3mzDfg?0EEnHEjzq>L5cUmxrPx_)cnMqzB@lW-9dmD zZ*OZSc=+Lmr-?+V?JnQWNft_^2IHf2SStSaBk%myGZj`? zeE8uyKnbx2#E5DJ!>oxvoI-qXh0Qj5h7xUh?3m}|b_Wk9NNMB{f#dFq;sU;yFwBZr`cSytTK4HP1s+n&TD0SG_=^gD2Xz;kqTG%ElElpe#q0=<}> zfp5$aI;5Lc>&6l(wX&&|Qlj$DxXj>WR64Saaurg#rcbf3Tl&2Q^>C?t38!AQi^m|( zgCGJS?P6SKtxcha!D@^4Yr-;a#2W#6ChJP0&Wj$kk)00~ZHAeSKL10VuW44@ArSFCf0DB=#C9t^aF z6Dk)|)#a_zsxG!4tgfPrxm-$APb(F3)RF1wvFief>F+*8fWXDP%r*5L6dF&SESGEO zs4Ry8A8docWN^@on{OgrrmilsM|F0(!tOYZTO&LOBmxlv-4LE!w$tf!ateX?V29G8 zlWoW9w8cG8gm@+=&)r6Zpe%@`CGMA85i1M=h?ON)V$i3ksNh6dG&u)O$AdD$Au}bX%{8nvm5kiq$>(w`>8e|8j2`){-BV zY0XOu_VELePmpcuM%xW+U5@Vju(JyQvAesApW)mV<=rELxQY?^Z8vrqffzv>74FIT zgj^D|F5_~YK`>mHCcMB6p0x1$`E$Pc8}R|kk6HlAivUJe#%RntRaxGumJ55eDlm@c zr%$%ZwPH0{-OpPF;G&HN_EsMvK#=vC5CZYx;gip|kTRIfHMBLkgOz36j%5zpEnQs$ zWQfE?Hm#j;3}j%Q=k4trU;~a`0Z72-6D~hyM>#1$D$?V(QU;Xw> z5tVF@mh`j{dyw0u$b(Je8Kc}bMFF;-d~p>>L0jASxY)qBOp{#V4!%!lh-H6q%MTT2ef_jp(?uMX9-QY$#A>Ay4QAX)mhJXft@`;-fBVaC-iPy>fBxG~ z4`Oq0nFETXwl*Gq`}Mt7uRi@2!GY9Dlqt7TgSa6t91hp^2ZKWf^?TR?2EJ89vjzsC>U0cSS6-Z9LYo0yuKdW1#?CQ#1I z2=Fiq^#t&S;UjK|Kn8&Tu|nb{;KMLV5G%8fUoPRy#^n86cA}X{*-#pUUfswvO05Zs z<(-O!o2vLpc@UjuMx9X_8>Lt5$w8`M%19Dn3e1K{L zr~#E3e0OI%&zE8gIahbloV|<11p|nyY`9Y>FUW_z`1I*6;R6Yh=(?UBVJ!|RIM5dG zN-3rb%w_!fSgE*MDwj$LT<5)9j)g+WKfedi@X`C?dGB|J(P$`KD#CJ5C z@!h>|{`C1qs_e1?LXTDbVf(>2MTqS*=M_IEURY|sQ z(`tvBTn1Mwt>y40vkzhzSrt zBaT)GOlGh^Sx7fEh{iHXN#mlG8@8nTuM8Tgk*c`~mD}p=bikn6hocI~R#hn)b&bqP z$z{q97(iT??#F18lLrPAAJDB$YPE(c0^JUys70b>l6n{;<5$N=q42n|djl(v#SwTO zm5Iw=(28%qj*kFhcXzQe!X`RtU~Bp^KEiL}R*Pp}PBJT8z#dQ1CN|k26fk6~^ z6N&Br@$UPo^X|W-_Xktua^=ZA!iQJb>AXdQ82}J>Qem?h>Wje?uJk>nP`YJrYnO=t z!p`~;g~7v#>>Y1*;=vS$1=jH-RpPLai6DQ#*LGTIm8RD-F)?+pcCd{N4B!Qn0t4qA z-pmAIKwM%4z+r_0L(fua6#(M9@9tqh%#hhNIJj?i1!?)kgU>O*vNB}u zLJHw0M?C(`HkdJhjNmtmV^N~TpJK6oa=76(%y>_j%sC`8V)aPFPSwaFQh9ax4G zhE<~t0s&$cqaTn;%rk%hh+qK0*#kfXl^GoXAZWE*!VueY&C9#Nd=PqhCsWdUP&k|Q zZ{22Llp3rhn>LK{UZ^78K||0~c2v}XnELu0huSE04N1f=@+r=13?Ed7NCj(lQY~@) z?p5?yGn7EZqHVX0wKUsMduYcoj1lA#=!W=$@9M1Q$V^Xjiv+xcwLQ@}h0AlMQG$4` z00?*r8AfHXxLd89R*EIUhuzg-C@wz2qb3pWzqfX$oTxnc?$cYJe#?8EpMHn=F z4`!Dc2m~+)KnRSWTfQ@B=`wW<_>mRZ{XGLct!Li2trG!aJDp}CC5jLP5ZQPk?=09` zaYr}Q7x6PMRv+7IwPCOB0$QhRX@mgW2n|+s5WTOf={DC zMlh5Nf&&BvL5Q2auPF-*&LDVY(I(7s;=Gm!5I5R(g}P(B{p$Et@qB-Egau1sgv=K> z!Fl!_uI|u-Qi}@%RVkbCtyYb1BN4#snW-lH;o?jxR5(*4r z5IDw3rYXTSi9mo@afJ0ncehYw9Ch$6=*r5{?dIj(I2wfP53=TXwIY008CNOyJs6ZC zft(B|k-(r#r%`R|G^kWhwMHR#Qj%Tj8W$=r);IVn0ivCzF?c<}2RR8MI6@$8VAC0R zt_lD_Bc9mSV8SJFh|5f2Wp;&KX7|u$Fjd{$bT31Z z@u1r8>$0GCx{Dn@lo@??`=EC!w|%m(eX^ZCSy(_L1d}7O*$MAN9BPZPPE57UPUQeZ z&{vJq74W_^O9?ScNGT=}AXex+eo6F#00IcaeDBJvFoOa3fEY6QcF`jOy+2oXP(i>t2@A8>5zTgs_?a#{)QQ$B5SC|KMC zkT547JSg|;O+EJ3);=fecJ}z~PCt|n-t5$mKjI_?`mCYKpb{g;6X*aVym7XJdn$K; zu1UTkhZ+|vq%<;sKuq8O!4P7W00Jj6M0`N{Fw8haFSRqU>KI;WUfvDGAXHhC;^l6X zv@MMqQxFQ%f;8ko89=M3Xw)501+K`Q4yrJIy|hs(>tg&uH?i4yjT@wB>f)N{j9`P` z?boE@WV^7mlLX2(k|?hVU&9)sUGzYF|NV%-9|#?QJB%(a?mkU0fcS!~)*+Z!U&osi z8>rkse0cuxa|DQy5z2?CjEqeGP6h}c)$0rC6aQYUyk?W%aED{xuOB|yKrePkS4$0T zrjnbOR;vs2w^#t)E(0b$CDI)R1l<$zE*@_%9w?`#2|>c_RB@-Zj82z zY^u9W#vss0+0IveV-5s8xXv_5^hu4kb4lW=ct5i062w`Do|q^!oq&tBOF>RS5BkcPBTX#2|bi zsq)@EbW-lS%I0z{l}s*gRRAC&J`?T0Xze^3J3AYrC0WisU=voj_B}uTh@+ef7#WjB zA0+@pmOPf(L-QD}-J@7K59L?i<{aWBpuqOR$qaG`u0pVBEwW2d*OLOIR=66`O@~mT z8~v0-9fq5RMihs!?QY_Rv9p-*X)4m)l0J!?FdCggkp$X7HFxFGbOyv zD6?AsB9s>-QeG5S@8LZSWpTywgX?Xg5lYtJY-fnj#u$XCKOmK$W(JiZs6$+)p)FD* zp|;rBJAQ)zabtIPab)D`7o1tJ5iX&hp*%z(xDxRR*De3s`)`2WK0SO!8ipX#LK0}WU53B z0$mWp0!A>HK<2=E8cl#`5P*=)MCp~A@$`DFv=*hLprRLg^-2sad$h7QDrpqiK}_Jp1)edR?F^^7(pZQ5_+To1aBeLJU$pgEJH4KFW^SVw;vEDC zEILS&TzS0o`0-TUQ~@%I#3*I7y<&nw9)&M; zJm^(p;p*B(4mXm7d$oaE0yWZc?_cWtp&ku`dZe&{@9!}P4iMDB01hF(ju3*>N{o_0 zqveeoqod=CH*U~&-qJ3)w8v@VFFWLe_+)(=nFIlYTB-aHYK`X~GLU%wKmYoXR)Hb! zWzhNS|9$IgtTE7S{ilsoO&1Ck!q!x9xl-Bs@$-#`e|k{%StwW1-a2>~2Y{HuU7KTL zHnTk(r)jM;2F7e7NNlGuaB^yjz~K;AZpFutK|m#fYc3XYUidtlwHEReC({}~hvOEL zGi>4;0AhXx{gVI>q(U4KWB`R=liu9~4y@(LG|Og*(I^0+Zbr&|2-2OM^`u(8!sR5- znpB!96(RLTWe-EIF$r$at1Q*xi}k9_7>W`@MIjiCAV9dz&;ipS+S{(TUx#-MfVfHo z0`uqE7$nqDW06f}peWgfd|`BTadC0Cl-PS(DlU#M;*18H3rC@nV1Y9TZkiGpgajb) zyk;Qr|0?i7XmhFo;-mk~gRXDg`{qei7qvS>F7se86-*_H5B~J}_2-{&I=Uh(H*PQq z_~7wObhg^g;_l8?>ljPD-~LgU=j4gBfDCRg(g<41hav=)7;6W)c&pvtXOHlo*J|^e zyA2eA#y3)9X(mId>JeEfp;-2(S1bdRlo%J4=+MR=wF85=e!Y#s!}T`V5sgyq%nrdDouViy z?`2?#F*-^!8Q9xg+y#V46w!W-8FVz;iTZ;eKzztV2%6TC0t5#Ks4`xE{PD-YBz~(> zC_hpGgGeF%PoNM`W8Av;daD?SIPD>GFt}e1>++%H&mRJV7|e8aL6PAH1_9T)C+C?s z92*;p147uwylibw?#CbLgC{oy^daj#JM;4O+bBg)7Xtud>TJv!i8#?_1t0n_Ai^Er zo_vQZ5c5bJ5DjovYq+C#o)sM|>sst|@)|<`iY7ob2tXKBMZS8VTW(U&Sh8hQ?EKa% z4U^J=Px<&~y{wQrt))#?Wfw!Q;ltESl#(+DbVOZOG6;YR0*dPr9|ZL=;DeM<&>?1V z6`^AsKDoMxi88yWOpIb_v5R+CDdPI-_upTpjH%1Q02fc2`tT2OfDl09W8wTiA8Az> z+5qvy6D=##zvngQ;-H2^GNM*5}`Sp6WNDGs+UNx7y+e2%fAr>phHn z-EOOm^v7))Hfv(98iAY%&E2*Q=yu2I62O%>w8D*g^>e&eS1+56LmCs8Um06S`+0YU> zRl`{7iBj3xPKAF%^g&R8A(J35nik(^+(I(n$(x(P!F}F$1uy0G_PffG17V__PieH{ zsORp^)2F*M&9%r5IjFwC5d5nn6mg5n18ZjRK)Me4U<;J2jQtp2B??aQ(;4 zX6$n!b;ybMFo6W3bIjwRRNE=O0|VZ(-cGw6L+Efz1|~|3ogvZ4okQmXCRfk13WH1z z=$6D!S7!M-oeoYJ=tD>M6#|H+52C@k7)F(`L9HREMkb`eQ+j!;!l=$}kc*glrF~kx zDoch^`nLm+Dst}PMJ*0N8Uzz5uS-{b3-5>z3>+A0&_mjbA*}gkHYs=ls|%b1-+j7Q z!gPo>+M~m!xJDQOWl{Z@q!|8@Ca-wqM~$Gv-)1o3*k zQjR(MY=hyD-9OOPW$LnYW%9-reB|?4dYoY@DKP4d>`+i^(2`vw2bd+5Mts1|rgzLX zMwmc@p6tayE2cVuIS@XyT7f&9c_+Nyi3!gE4uA8td(^NXFaSuHe@xbhUSXEATf!o) zu)E>m;pXMtI6esZN?oN|sZ4z^Dk7-VA@!JCs3PUi4bRd+uOuW~EmEh!w#oiKPb83T~u4LT`0<_j!&ESFT(UprUzsHx7f) zTBWNBeNdPZ|BPER+sDwU0mt)yA!Ggy#5n0%%I$G`vvS@-xI z4hPO}qU9+^JxxleMT9_nz%WX3NNsz(?y2+Np=0=ebqg4Q`B7-9?xxv`D-r^6{t6wyist3rKny}*dX{xP zr8lE?uB>w0OPVU7*ILFW9jK6rlX3^A)DWTUgv#q7IY7uGW3GwtaE;|dXfOy;B{@(C z4B{?dy?0m2E7}(qM-zK{druPyK#8Y`-O;u-imzoVB}a%6WDqQ*?y4}aK>)G-2j+y3 z4}J?6@!?-oEer&R{{HRvwD95mznre(^yk)-CtJ(On!)Jk>9ODjKc5ff$$_o`r!xv~ zeO7lIu6r8HqFp&qK4hn`gNaE}z#gWyr{eBTcibBv8=F8}SXf(IqcvIwwC2X^XG^v^ z&yYS42}vISK+tR!LBdf77aIgOHO^!q5D55i9!Uh;od<+Cf93r7CWB~12BA)+mq`ys zby%cImr$?M(9Vid?a)$=jw&P(y+N;D(;@Ax)J4jRGLiDy2ZGs}MObSC#NF$xcX6F; zl6B?bE{}&8r<@4Nks5t^eEg8~2yjo)nHe0VCkv2j|g^_xr-`oN~T zF=Q@+F;ZbytCdL*xQFuuZ5kmn4R7Ho{WLw2C3AewNcE~Yi9zDzT>%$3 zZ@3CI2lrxQc|p?T&hc?9kx1<9loC57a!R$2FYcC}0;$-&v2z0lF-BN;%m}YG*di{r zyK{Ydod^VC!XNnZ?{)G?09ZVi^(+Vj2q5O>`hQ*iSB(jcjY?&;0u*BXbkC?qfau}) z(A9%en|@~@Y_*wfZtQaAP8RMzy1z{udvU$yb{gj}(jHvqI}vxgI{`<=ItRz5rgA6u z*VgXi`YfOc@Vco^9zr*EmgW3mfhM?SmR4A(y&NA{+X9F}H(`N*66YB}AWk$jh(?>m zkWzlVx)zX94e<(>t=?0c739oAQ;#re?c-G@KM4Pp_U=8S=ITAEJSk-m*V^7%VqCA6 z7*_>&xXT#?5s0hp*V{(hZtNrif!Le9r#m-xcggxdTXy#L-ay$=N<7^eWqDEzAQ(0< z3c)A8rv*O*X4$gUeACkmI!@Qs6Bmp@K$Y?9+<$*p4G^ar8_(BQr#Grbz0YSEh)@rM z2n1>dg|OMy>2|v@*TDm|#oFYf6NH8ZT*J#IwQvT*8$Zj&2Qj0zv(t8l%EWy*v|#T5 zFd~QRwortyF@Q)DeZV=4nVA(~=|xAk1R%OaNwS*(#1*0roIk*WCWC0OSqzl|p`5@p z%A@I(B7th;Qn6M?nPIJZm0mqYN)HwFinNcR_^|>&{GdPxN$8w7g;C$=D+36L0>L0+ z{3`QRQjKx7o#8_wKX-imbY}ms4xmI00!xhkxw*N2R8feH^@k5%zh0mIylC+0eFHr`119QS z3=9lJ>}Xl&jK{s0`+}y2lZ8i*?o)acZrVGzf1idhP8M<#XJZ~OZOL?Jg5M4RQPa&?=72!#Ksm9CX6qtU7lC|iZx0HOQmMGQ zSOoAG9YrAmkn7WF<j4qYX|pfw;nCwJa>>wPgoHk{8VCOr%<3=dk64=wqnfpvN$ua= zzkB%b$u|%GwCo@S!rucG2Gkj-Pdd^3z{e`cR(*1EpAPmih#fpayZ}a#^?J|Z@w2h9 zF(@&{03hItwKa4Q6%`>#r6Oo}u#5&}|5ddnL$w!! z1B4KJ|G_mmI#3YAbxDcQ&fn`0A)2g(k7%G|qZVz8iGH8O5e)%XK#14_0uXRmEd6uQ zkPZOi&GFvTJ-FflA$CX6SVj9Zm`HhfdPKBC06>iIKGlU{F=sw7mk*VztJPXQs{7}+ zGKinvRr{pg|I6#w4?jPxo)+iyCSRAy5{V!{06M^N7TjcMB2&|phvMb1Y#@+$gfZ0u zLZDgF3n-DDz&S1ii2IY2KRF5I#lb=LtQCGDPH9;?z1SOFSXev9;wdqimO2*QvX(_R zlO3qExPlPT&3YKZxo`pRo0oT^lo*O_y{bi7M$Lw#%*-I!)2CN$*OOK*b+J+Z9~3sS zh-`Vuqm?70bW;8zks&@%t>5F=Kto#Mpf|^ew?)T{W7Oo%=;&_Z*yyuZ9GT-cd-=UL z010#b7N5za?+-)+bH{UYbH{Jy=JK%s0K_70&%xSab#-K%Yn8O46MYdtAa?iiv1mTx za9A?Bat|k}u7wOFu5c!CULX=!V!-=_CO|X}Kqxx`s)PphLM_dFIjtEERp6A~pczf0 z9euBAv+7kL6S5zy0*GJg0CABv_I@AZ8BfB<}0Wd}{zmw6QaWg662UEGZY03LcQ zCLb`8S^|FcQ0*s8fJpq?TZTG+THkn5vvgTZmVqvz!T_MaExmpAR&-B#n5{a;-~sUA zz5ow&CMSVHZ0DwM5W_?JF);lB7z6^qJMSC-Zdj3!LGy;ZL?YVA9U+hjc;W-hk)gqGT;)rtb34cV zb5Kt_jRHUbgTT|{aLhq<;p_5sS>P!Ih=5KPLsbF+qO{9~JXcrYeH{1jp+91T`yv1| zinVAo??C?H2*jY+0DLIj(E^Bn_|5y;0P+55X?i(iVX|b;K##Kreiw=W&|UxlAOJ~3 zK~w+=d#laXY8ylMB*j(dazAc!eBkg<2MFwIq;tR@rqT=Od4TJGlIX=FpcYf!i8FhI z(82HQvy$CvZSCAUxVo33=8jnR0{zqH8DBVmUQ$jFI@HO-c|wN^moAV9(Y(AH10amb z;VhXoNl`m!sRXLXI#~d|Ug^40X4lI@q_h@m=~ZjKH8f2bKoCfXxl(Lr&b4}+HD*Du z>^Z(OtG=}N`Uea!+Qi-7*RYj&1KpEP6S`P_4#)!`0ziY$)MBE8h=GpixtLCuNF<>4 z00x2ilz0{wM;FIOu-X`>S+4P`ECnv~E70*J}A1$0HE z(LH&vaDwhh!iW1O3pwwZ_l$d_>~@UC#x*)??+9CaS?VPBR3m{vGI3r&1O^cG?!^Uu z2l#M-;G%hXH%yyT9S_DwB-4lO1E2_h8;5P3j|*j_%6*FnvIeoLI@+QpoyafTCkR?&wIPn2}| zj051I-;s$%1NrD)tz7=|`+w(10pfRi;juo8$*4CC;6iSk^u`h+61KVH?$jL?DhJ?z zsgs;PQ16nkfvxDCq*mwJ+WiF%A$&;=0LOtRdv?~@=Z_$JXzfD+F+~okcV>8pbG~=J zms0Fm(*k>)tZ{Kca75AE#RaBHUJ%YD_Mv%sH%^J69MzP%s(HfOe>Bf+l!n%;bVex$ zkdqHtQ&q8tOG;d%i4uBwK1KaEk@z53G@bQd)8G5Xw=rPAfYA-3yF=P-ba%*`ZV+i{ z=@{MJ9g->v2vP%SX#^1gB?YBh{qFO__fI&F*Xx{f-{-!r=aqXpEG*Z5Wa%gX`d%Zn zeC=)*9CZLg6QP%yJ)RXOqUSW;wR z(X(mIh2xUxE)!3Go*M;6i5lv^f-AQF<#Jw{X`6a&@&pX~kUoxJZyHGYGDJ=Kn4ysONe&sP*4U_xDF$V?QJ768icSc!YO1Ww{~;3UCwB zmuMhlArxCNF&HgGA`gI|SGsAzAm^Bk%Vt49`f>7&DVA@|VIvJ-57IL^&E9fam z8LN-Dow4k5m#kk4Y4J5_JS43BWFh*Yg-XXkqF2&cvoW@zkH!}}%tSUmL^*(QM^9{d zMXi$n+w?XgfyAd43IfQ<}JGycK5e_2V0~rPQvLxt2l@GBUM7|AZ3p1bk$7XAAgzSU_0o3<|&}8 zf8l=M{;Qi(Y+3GngICf*%cE9Etj?@U2{=`!WOW9|+I~2^JMYS+c?LW1aN*~JnPTvN zV~j&|%wq?aFAN(P=~_kzygF)wE3M5-^7E+kg*pPnNR0JCh-pFQ1%09LE1`M= z>fcp%@3Vv-Oz2xL+`A2hztwV1j^&PMj;TzPvQ+2~uzja-r07?dInB{h$FtcqpciH z#7I=ig2I*)2>ecs$vX^=QwwELkE?Lu#&s4|f{DKOzrR{T&JY2j?r^v?oPcm=z7jGW=X8~`~maGOxk$7oN|uG;IK$4PcTiz4)6KbzR5NqlM2 z-|z~uF@n29LAVWKJo24PBH~R202wjVm=COt9v-rpP0#mKHRJ#N$I_CCskC)?*j_ZV zVTnAkFANZhT?pF%OVzD8&%?%j#GiZFo%`SY3H_;&qyvlsBzKsV?|~Lot`;aj|BwFcGCIBinFK zWpTbmpUs#QQfK|b6@U>=QHN`ako$aJBgP{is@Rjn#4|h!;8Fh7)n9&!Z!HP1f{y}L zWEBr6%9NUIdF;uJ(bUUFQ{Y|cP{4!8pcd2IYQ&L4jgL{c)Kk}pn{QdQ~ z8u<{aMYH=Qn=txRWClWF4~5saM@|ZJ!l<(a&#_TwF^WSTagkIh4~&X)R7o(d{H#J>^cc6PYwW|L+31dJIlC+ zgZ_V|k~8&ig@hix@wi^nZavblY%I`&H;IUN_-(VHD4&nIdy#(OTdEl5SA?oD$o6<{ z8V>0~7(D6)>N>Gr@4QeZIrGn>!V^3%+GBJT$nyANU`UHF8a$Li4P*?fF&KK93Aw>p zJgnH;v)?j)WzlF#5n8*=V>|3g;K_Md3erD1Mw*a~ya#0A->AQsTPpvnsQ4hE7R~Xn zpxW0sIq&fM{JvCyx!1%)b)D2C zv(CX%yQQdXNf3quZ#q-0DQ1cGWDCLz1}eW`PG*fdgy>0Ovqoijoqmnq84{VW!ntXE znT+bJX)l@@!gk7tpX^~84x>K2FsRS_^51_k@b{D;3<*0WYB0)X81tm-pB?GgaGR=_ z%At-bMU`?XHCz=Chu9e$S}QtwIlq8>d|M2g(m1V>%JHi}~E#T$X)xD#G4w_~M zm(wmep){8cvY9(H^$Is`P|$;6gY@hli5Ozt20`ngujIBExxE=CTY(*8*;2WI*harS zF7A8?JS|N&K6JIU#Li+b6>_>gLN)h$pks4a2gu;LtrPaw5UbRnB}N?v%)eY-*r)0~ z$1~xp@#QSH&h-;!;LN|Rk=$laDH;{578}>K`?G8hdkph}!J`LbOhE&Rj}BDI;L#|eYFHI%bb%rjM^p-X#;K@A6?dB-5aIF6D=T_vo77s|LO zORq?NN5iD{`H+$hd~P&}9?l1l*lhIP*2Zc|2>*`f6tRPrpKTug#hBl&c@9eoFeDOk;8-T%p1wU$f z8L3aP>$3k!#*L38O()>+?9X9DK;y~M^OK_u=4gJt`5fOCW;3rKnuzV1v7*i?y(YDHsY#9+ePWKLYd|b`)UAQN0lV{T+Z ziOMv&w)3?tgYm!wp=0FXig+oXzua%}%9Odn85|fGd1Po)wMhJDrXb~2nEt96HFxYXl4!YCe@g;jeHiw zW{}x_zWlZ^e-w88Ns-y()3WR3rhp0053%Cu($ZxV@cLrgyN)}*P6%(cVi}V|tIKLl zE-zokjfQtsFhqliht$nD60gYXOG`2x?_t@;EDL;dE znTN-N`D&;p9&cnU+X9P7Dmke_;*e8^g-V$82<*#0Eh4s!KludJjYRK@^P-@u)en)R zFXEz?WcLHoyXEA@l{F?MGm*AZEkVj;_VJj6k4Kx|Z-X&OAG_jc>IFU*y0AdlKZoJH zRa7Zo6yfJr_P4$9M(V?1Y@SK`a5?>_>mDHGYB5Oa*+4@_sgY-@et@9kQ$>^2=VEO& zs;@e&U#ASLGzH!_8nq-M8T+@awD@Qa=M!90MkmdKtWC{C;%bDTgo@G)o2K}7bp%__E;nBa;FhCW>+7+|lB(ID z-}U&x76USfS;U-gI3}Te)tLd>^EDxXQe5q6;2igJ--uM_4(dZs-j4Bc2>7MM?#OE~ ze&)9|#Yl`+Y$|7%@{KnJ5FIFWa02>1bW0=*W9gDe42lf23BTps9Ll$uSCc-u#FlI3 zSlXP`;nTXgaVPCQUqU6H=aY4>7GE=-t<&#VE8dFq%)uWyYlX*C!Z#TI$*%~Pezir+ z*~2Cv;V;B*D{*as{j;bYoJ;A#-%**s!d+W2f{KZb8kPC!NI5aR&KqxQen;JBLe)g`4_p{T^%b=7YkQPvM#m2k8;_E)&VO(~tih2Qs{0 zDyr79EZw=jXUD;zlWWIcsd(=<8z%jOMAtTeQSe=*#_#O7&bT)zC~ZQ8l#lkQ1|JhP za-T$k@yIb0`+gy5igrd87j%21Q2N*t4c@4RYY_m2;`{M-WX=DqZ|YD~TNbW~(WY-q zmUCIB_RCrGTnGJU+b!>ObAm6#G=edo`UK-2)h|q z?QKs<{5u(RKDX5bL(B8{c*kHNeZ61Z$ootbZAmNj$8y)SP4mcDq@)z_Nr3Y9{A7>} z8?nuTblisV3Dv0`{VnDV0QPfXh%Sm-uilKp&u?g3KtfMdOgD5fvm@bIj8ud0 zRBKn@tfbV=DH`TKwBgs>VJIL|=LtuuT0ss@o}Lp-DnI zlQUz1R95;mw)_G{s&NgChqipzDf}H#7|6(aFcW+OfS^q+k%izt9v+RoNwgL~SkTgK z`kAR_&tbXaz$%rteT$PkRU$%4L&4}#vB-aNVn80Dp{+l*zQMsi{ht!ifh&fGKRx2x z8nA?yBjp0{0HDw!iM?(fB>Er;K$N1CGRx39*RUAIg)GNd7NmUp^-8S-_vLgdg9u*B zFY)44`Q?K$1g?E(C@}wssmp3L=1v~Zh_y?ESDh415lblX!Akg%D`hfM$vE48IRm^{ zR~i-3`&yExXPO(7y`(nbcwXK()T|{fIMv6{F@t3dY-%~zxZBW`*;&+hMsQDG?;CAf z7*;dLgVmB!Q_;(br>-sJsdf{g`ZDzLqFs7j0A zh{s(|8jT}S9$#7cG1;k$B~EF(3O@egWF#x@dK4q}-KO+ZG8o9m_)8;GOSnY|Tby}| zF%Iha)-dxSV)Q`lzhR-*&jd&yTT=I;3iIyIWv5RG^o05%?O@%OvWn03^LYxNxW_+| z;lxzN&<;I35LOd0vV894O0&AKuUJ13A+c&_jxVr(QRW9>ooCj9u6B=4liFB==#g0a zIRT6q1OFR?LZn#F8uFSal~`Me@Pz4$9m2IDGF#S+UsU`4Rib>n6XcXpYoQbsMIT#} zz?y~MDsJynk#9^=f;7jvp7oZun~V7m@}16bLfXiP80P@Qfe!t~^HeI4=tESG#VRhq zK*#j$NrnFHkHHvLnjDr6Z9Oh>Vz50c7VW~HkByQ3=`0dSOIK*h$VSfoa>+NI5;6(s z`S4yq;Wm27qqAr_=GU;&b-|Y-<=FNwrL_8wefFmXOG-+9%)4EK=~;gZuhYbfIy=Xb z)FUWiEUs^&JL0Jbyb$Zs(SdVE0LWY@hw`v`-D?ct_pEiWPxen(bAA+Mw5#&#Kjdi_hqLsY>9a4%&ugtx%F_v0FGBkAnB8WR zd)Tu%3B;gWh3}CCYhs)HVe=bK$pr4P1)ejmVlpKX@??a#cbBSNwr+;Qwl%SCa^bjt z-_|!RO`I(+AMk4Ak}|K;&8s}uT`!NqDRF%*BpP#R&jc6p8@CGyxifB3HE!xm!S%MQ zNXW8_MBEHRNMfV_2^{+9K_1oj07d18@cV+Vg}7m#6{W{4xM%r^IX@QJzICSGkzasI z8z6!P#tB*R>b~zc#KiZc$NTI?|2|=Mev~JqcK<2}vyMBSvs|mSM*uII`O=DKg!K*|B2_(1r79M=F(Qq3 zHK42+4{J`~-A0$aQBhc7e)6ADlPr2+{X`(VI1yis;M`2HPZ2Bf15vZAR)J*A2Hiw` zer<_YCi9X%S9Ji8wf-@F?icJzN0=f<3Ab5qIR^I=DkCZ5k)|6>^?I`aYKMG|D4+`>W{Pi|`w5Jq% z^LYa*TX-h2%2N2m;5O$i-v9BsyyD!f^tIG{8~9U_L!*01lR2*5V~`LKRqRQp$iowB z&Daj7>9k(t)iJlX^@${`vz{+NxK@_Z=xaE3C0KZ!j7&LMeJ(smmeu}{GE?g(LLBV~ zr4(l@L?}|TmA>jJWF*AP?zE^X=`|9!kCe0}4uMyUeoo%XW4d@^){!pCCLvo}|H?w9 zB}1;tVoDCLeSmhK4lqW)KM4P6`m*Kqg2Ha9Lq5f66d$y{zm2LZZpH6ayZ2_t9g*kF zT@LrV(FJ>Ox#Zw*ufCQmBO=wVRhMtm&b+7C48|g~==aj5HwbU@1f=+(3#>lKP*!f& zmTin}pRnbRt19o41f+vooT_uD{3FwD(oYQ~<5>n2RBa*+RAhqvd3mo`?O>|a(&cV& znjG&I1~48{esG}KK+y7;2!tzuwLQVUy|H~wbn$q_N*p8jgM^E_517#kKyCo1?FjSt^7`%8opS!)%k82M znI^xQ99#4T;@$1r%o~Sz@xmOlKi|s8W#rf$d^AjbKWOzO^GH?fVRl_1BTzG*!BZ z?T9`34Fc?h`pNrj{|W4XID=eiqd|YPw_&#}r%_nU1l8Sc_QBIgSPid(xGFRMPhJ#J zYNNi1E%Xr3z(cP+brs2lPk{qr=Te*vb54%hfWbwyboK1~Li&&ra&XH1!dC>enJWiJ zS0F^x$ev%U)s`>Mrhv4#YfyY(#LGz&A{rDhr79+3GK;hrtD-k$LB<-e+B+70Y}@089N|lVjDc>eQ3t(O-r<_A_lc zTRJgsDyl`<7|Sx$Ss})Tn^Wdbb#P4@#Ua({9){A`ybxw(JUhxCxV@sMQNGq^B!g_@ z`3Jz%k1TN>!{pv;MBYaT>afv*RS%McqZ#I3?h?<5FKVNC{g5l4KFaT+1|5CHyPvd} zW@#jhM;lSR2-k81Jo1(UIs0v7Chj;STBI)G_lRx-(l>eOH&9NXlgjwSw|}*{4hgRT zQnPF`QRsgBC*bh?$`P|=)B1&jK#Th$-2svx)TK|>rwAY&3Uh8u#p-+V2if=JiLX4P zGsGZ3mJIm}$s}UG>I3A33IU6`OE$*@4SDQ<0rcU4JPZE^Wi0Gd8EeeVp?JrbD@d8W zQ|22r;;FH=UsJ$#gOokbSCc~pb4{9e2Ezu8v}=Y{dDd7>EK!RjA*3?@u5#=;k|UZ{ zi6~H|eOw?VX(0~OEId(m_C&;;{v$#|!uv;M7J}R^5bqA>epi3Y(z{(94-CnU;E|Db zC6R%7GtQYqt(Lu;awmLe=W>0nRPagyN{3f+Ph9{EQ!yO~fx4GV>gANXZy;<bEDn$3`oU;{=0D!)v1wc+l$;%e-=+}knq-5*ISKY6> z<6`3O*Ks;HQbPQG*L?m&Nd^+djwBYDzIw-8^H+%{y>NVgnW2=ijNpa!4rH(>e%63S zZ*ENPFQAROnJg4RogJ* zFcr@r8uo=jfOsMk80LMjE1+t(&hW@{p{x(FSXddPapVB5iiFLDC-Bn}cHe75nR^7R zaI6%1%&i~oC&^k=SR}?-?ZQtIrX6vCL-SNVS2BODqWQ&Xh>BZUqi4dpo)9T3IbrY{ zM4N_0xWg@+6BMbR7gXxaEm=_$?U=p(h=UVN9ksuCt@c3npmx_B5R|f%@QwbH?oM6r zYGWdSp6t)(p}eAL91tE+TG_=Hu;+MlU%v>x5d^mbJZQPlu!7;>D$=jfxY6%ft<`Ua zgJlqa&>&TkpP!^-ZeCy~Uj+u5xwo#y4=?hCx3iuSC3Q+qJiZOtDI>b&!+Kugk!_lJ zMzsdCi`_RNh1ujTqOmqBn6<*of6zKXk^eX*pFxxzu0BLt(X@-SQM8OrD3^Bdh!AZ; za}ZzVw{a}U1Y>u1Eo1DyR*+D96G&rLtHa;$?izB!iH-E-q+ipsOEkcxHlSNuDF(^9 zSnr7yZ@ImbL$gFHjrSp1%y*3|dw7hgYRS{faDp1*lz=Ifbhd8>IpE|hA8Bdfk>2*! z&}EvxrZ1P4lOVv4ZpnJu!LLpe1zKO9{HWOYtZ43_0G&uCw=(q2Gz3FD!}h6fVro8A z;JE~TMFz+5lL=e5?;p}MH*d;suM$b1^#O3Ih?umu&IMbVsirr4l5C;HeBoTrHm3yu8PdPrR0 zC~l~++Mt3+AMbPF*`}>Zp#1p%YXOo)7;mHbYZl_%EA^RWMi_}*RJRUOqy=<~r(2U% zp4+{a$z5A-u9G6o9efQDv}^U?M^Nin8DD1klI;U!leK73eKtnXYnB&0AN@OwMcLBJ!_ zOK~dK9rK2}czPEM8l=PY79j^(?jw9!$dd^P#9)55n60pPFd(bImV89q0oK?Ia)U9; zvsY8n@KnCN`Qu`2C!v)RZx2&_l2LQT5zFRk=IZ%%(@n*iY$=BGjBjZy; zN?TrZ7Nd$IKs3RWx7syDZ2U{l6ntsO-g%BDRY!w~3&9F;^j5;H>!aLvyYWp?eRJMr z|E^wSpKwoUt6>-f9oo89du~wLx*2%K6nt(Q+;8c3Tz_?KwB#<*MYq0gsW@d`^*5!p zw|oss0z|=O1-za;Q)sAZPc{%D(#YxJt~M6R9k#m(JZQ~0#WH)*e4CMZiF$6CLWHw0 zqzD>-cyo36q^0Gp?o*a{L-P9eH4g_00MTkP1UVvTNhz}r(mf%vIZIGBK&E)_u^iIT1!#T{x%rVWgHQm znhc#bl~Lm#V?JCbrCDNmwgN`~f`=Ip07ywaIL)z%ljc0|<-kqU;7efl6_BmqMZL#DqclPGW~7&deZ2R7JxVx znwd#Jw2o7|1Oy0|R+a!(MWq;?S=aks*7|an+gliYF#ia*dCS^DM#-;eLa}icY^dS4 z( z0O3Ctk;Y7i&v73Mqm@qPx1)39Yy-~=^{vC=KVwl9A*fYp2Q;eR&lj}e^?xbYM z*5npLp0;%4u%Vo z)}jO`eRHSpV_`utEHuN7d^EBwDBLa&hp4cM2u~sRclZJ|xPX!L!N4^uQx|_24;ZPO zNsFnR%=IUA-jv*GUvZBZ-1Z~RrwJ=S6MIr z!kiXWK{S+Dho1w-7BF_NTl_ql7vlerPkms)2^#|ikJZwUP|p)}ErMd;BFoGx76Q{) z=XqJGAIoz_12@(jTGaEw|BAFr9A`9Ep?kP04o1eTLRQ_rg$pup8Kje}zGdwu=v3}3(j=A@%^HM~KPj-U}UGd>86NtIYQx{&D>J!BL#UMB@uWU2gq7)_o)f z337aP{4++ca$u|$NUs~IxVg-DWGf(=z9_KaY=%L1vtO88lLYz|U(U_7>swiF72)Jk zdUzTgd6dzxH`5_(D^Im=z~jTyT85WVe%SN{;o@gAqYkingM@cI)X=6grMcA{myOA_ z!o#~Ea~gH0Tj4{&h>2;&EQ`?-YP_hun;VxZvRG1DHZ{)pF*tS#k^}%QTGMcT!;xaG z_+c9{R$XZx5fP~gJy+aT?b5a(8SxLs|0#2&44R|;U_nD1i#Lv-TZft^kL0XI|Mc4o z36M5W^H+T!(bB`#xFn~s=$2IcTwekDapiVHNQE7FI8(&pfxqh3G+nB!xPo>qrLQ}C zbMmSwgjElFI_UBm?+at|3V=4(#ca3=UTu2SHSAx%-K`;`_BP+YlZTZ-4ekT)CG2JWp zriI}>t)pziNEMyh<96H%*uAmAfF#Qhh`o;Jy-1+lV@AFLe1mB1!Tjo|Zs-GRprcq? zL9jQ>mYtG#&fnBK8^G2O)Bn)bS;cLiu6$=Pw+)H77T3*ZNQP=w#gJ+QN_!>FI_a5( zb7hP>g5I1nz}S*LjEzN(u{8K>DJMwIxU1;bIl6OFQ+Zy~0%Di&a^t6^@}{>0_SOc+ z3ACz8>;QwqzxK?Wi)~SvzjlL!dN5 zTReNOwI20X^;%SR-8l3mpE`*z^<-*7olcTfNs$MN`owy?uCYj`+Ijva(nJxyVt%t+ zDZCwK5-R)NT;xN_K~D30g-Ylj#S1eE#LXB};*9GkoO}Q-HU`(%;)ooGj@AdoB^vV; zXy#tWAU#wOx3&R;{9;xgm?I=C;F4kocuARrB%E8E#Um5?AHK~?!a5xESlthX3Y(aT zTE_XIBwy*)=fS;BkKV$Yg@FEd^XV=zf zeqjarKJQl72y#_j>c9M4wMLx(sJ_3x?I|e?$)Y^W=0_!VfS}uG9hc1EqHWtQ0IRm8 zI*$?)=OJAu1WRv(@WB{oz37VP{cMN-WCG!!+;r zA_&V@HS+;CWimH_9&pUrKi^L!1a3mVcE46(+}8CbDS*rqQPOzxl7vUrGp3b6B}DE(}Whq4|>hhBs9|sb_%TY326l6CNK-h6s0El+d z1EHE>sCGJN(W+yz5QGgp0S77n0g^@_VkFB~s-TTDpDj72^*Np6zHaJlyd)s$FC5~$PlZ8e~%`5?3UFl9=LVo-(2g<4fG18vdsKgKB z(>n_-f?XTgOSZW%aG5zXp;`!I8cskQlM|Djiv)uCoPGIT>M2B&7ydOii5(AuTDPxmHG5zPzM0`npk?jVU?E%^B-> zQYh;N906ub>kcnZr#|T{@Lp-fRdjsl#ZGSg1CE693>-dlZ|m=Z*%*a#lXy$Mj;>RC zIFYM^@eM*n@M9?D2`p`8Oopy-0br4&3X&6`IsgQ={yo5265dl}wL7>u%QS>;5hUzO za}GgsnhR{_;7(AT981(n&JL3lpZ#wgSi$m}wR;gW!p}IZ7gs^@Mii@w(pS>&^w5a) zvM~SqonyN71)ZneQF8LumAKL&4LhT?n|_rsb_`we1iCuX@>Y><>99i8GRHtBTJX6leU5LO zwS!9D!{r34E++?%T=^^V?>8=d0vS59w_6E)k3RYVVB7RW+F9p?+J8PfL*t&V$44@F zRbW2XCr-RL3b)TC6Z%a9gl~G7ZYromgFoQYnR^HcdwpH)d2OkYlQp=w%cY<6!xV4CmxD{*6IdMA5Pdu44cDRj6EMDOs1!pWvmQ;H&7D zzM8Dq$gMW}BNwvdZc|HT$!Y8U$sUFh5i(Fi%djWqR4GjWIaQN65q>lTcc#8PaR9oj z>p8hxKI%!;$lHNp@~FsAjB z*S#r#@I0PkRxiMC@Oh ztI34Se!re@B54$}%h94dWTMxMtdLb2z?a7ANBght&5smL@llXT%d#4L3|V%$b6k^9Ky;SN1bCHUsY}9X;`7TxL`%5tbn10wXDWXe0Q>;1`pn`=R|!I4;8dG#&3ldJCj3H z+DGR};*_+irxRhPs*&jW&;i!FC-y1nSxw>sU5aox7zc8Jq@+_cHoE6giXBGqUiqLI z%$x+d`Ns(t_#VA1eh|Px420rVR2nuKZ*7&fRCdWFb@)>kO^*_lF+zt94t#!;+I`t7 zcqWo^$N5sUz$i;nArT2-)+Ex%x7UR7=3JQ`S!FyR9B8_apIzwI(fp!7XcLC|I$JC5 zBClVkcgr*h>4Q-E6gZ!i75vY71+q*@@biTTCVeP>0B6iVF*m=B9l|b`%szP%O5)k# z9K!xZgxbL9S29~({PaC1>a-ACI7~Z5C8Z=vW~#9B!WJwg4Mj#7=(ONd$?Z7}#NrS} z6rSCn!@9+1D5>gDMVyX(N`UpusBX~vZ$$V*5Ya>mVO3i}a!6s^yC?m!^-aH8Wb0)E zR-vU2nIc4-UxZBsD!^B6}b_!jekZB1S#j_ zCZQk%WLeynZUDvRm==YK*j^=SBHL?tA64CF>H8{^k%ntrN z8lN*TFGG9~@u*-I77cmx4+o)?9#F$L3Q{^tn47cjR0O*+D0}4r^n$*A2C*t%O1m!*P{wi76Os$XEoqofVJ`d@T>lE*5t@9{puO|KC*n* z_U)ubl6Gq{|E?Zlg@gxgk!Nv@%UmS96%5@^8apjI6aP9t!HHFk{zB|uYS}ONGzo9N zCIivjR-fzKl3_aU&Z)y4GO(sn1-P+@DcXAT{vELiPDb*4gFWfKQ`;S^j@xGqh+g1% ziJ=B>Ds@-_tQN63TpS3?(cXZZD|pCyJ?S$ho+vl(~$@h#Du zx@(WuQ4w{_+{aQW;wj8jFEW8izZ5FA z={d|0@QI89apV35AgC$%QzpXk=Hy$QN;hgK#OL2Oamr9vKJNDv7tm9-7R5ZdHHN{M zi65QY??uD>v_!E{12+2_dsAoHQoFr&6Hr^St+QW@cw78bXb|enc&{zN`m)r!zvR!$ zI$Ez{!5+aTSs1V4&)*F2$hbAgzvJ!Y_e^B$2`64v9L?7)-5$gUSb1j`mG3`Z@}Rc0 zpIcjWNWszrid!t6BB1(MF66!w2jnN@1FLxPm^8hL95eV;ZIwQPC?lm zKs;rmPTI!$FI!&Pb(uZq7yMxNhEfwZ%9p<#P1p1^nDPya(Dz$?3iQ8;kem>eNu9Ot z-A_iRHmoOP1CAOL22ZwdjA>+hL!XXr4(EvMZ@tTS(AS< zvpgEYZw>W6wR?uw%eC}{entewsB7y*-hr&dOvSH_nv+1QjN%L*hB*3wdgiU~wZ@^& zPt@z#2QL0aR!Esv{R!x%Xsry-ZpK7nN2xtb3@=hnP1tw~eC=mdXgHn{lQ6Ty8mQ`h zTm4|CZ}rYyaD?RtuC-g#A-x2w*p`C*x0Tnr6uP}-g3v>EJ5@l0p4ip!s=TC4y@p3Z zi*p>pL9vhH(v{tGjkX+uaQUnleUi{)VPWP^P0RDv^J`9+l0!)O+;Jqa3=H*{3&nUz zg1ryPMxFK_k8QJ6lhXKSJo;th$hExo?Qcq2Z_vW{g80kgC+6=qmKLEyEqo$8L>b8K z;rXIF*ddfhLh7x))N|uti>I;Xgn+q11xOEQCund!k;4GNX-s)MrzIPmjCsoRJrT^+ zLj3sQGnm@}#uc&h5dU>m`kmZ)6-ElYi5Gi8675My3l36SvQVe9Ef0NdvaqR-P~*)& z0^GVUz0HlyvN$e(lN|7MSp0BKizy8H^AL#aV zj5Yq*zr*iO5`48=Y;u4sktnD}>;U2SPZ6dRx@rKQL9ma#u5KD>LwL~lX>nbSw6}Q- z@3?8yx+_9P->?9ndHJHmYAh)RP0jR(k)nE=KcVtgRxKbl4D)T--hwBB_=E{ac;Z;ZV|;keGrUS*6)6y9 zh~76Qb|=U&eP=OSZVW|HGxCDKY~UQ)>}+Z&gqb}xz+PcQTvE)i#Z+_Jmu?eK#iyBz z@*=*8vVJdeqd#8*eD*^(x*sQta4ANgnoMDW5QK&_v4kXx4DKH@HEpL+*I7T%y$W6m zF*UWN1$97#I$6RVItp!iD?M07zxf*q$x9hniAHKc6Lvht4pXl92!ql1mx}MM^^U1NBb3L@rjaS~>qp+qb+fAefCQ zGeYW-+A{aMmm``T&^&KiE8yzp0FPK0t$?I>0VodvL0r7Kap({s#^Kb$7_+H$&G}^`y0Pp-@>U+JWai!P1MCle3b@ao-Av7;->fQ5T z)T8=a`lu`*kNw%BOLCesVh@D6BQ1Rs3Gwucs8HG>#Am8e+(oqmL0u=mbS+wM3*KSbawm3vGVAYRu9tic6<#^@QuwS^q>Uk3OEr%|MFx(RKP%tM^Q+R z=;QUA=s3!6IyxHO`YNN(h*%}mEpPwnJ9v?dR9EQgezi~o z0p65|P$L=l1rKqY^toId>G#zmHh!_Rojik&Q+#=z@>Bb#aeRUj@&Z6bS9&1T=b?9 zT`V~A`(u0<-8foYQ2E<~yt1EeFVoU2zba^mvJ0bKdq5c$IVwU9H}>+S-Yxo^EdlXi z@^Hm(qDmBYdmj2;*6drJauptKOxmWWDPJdfv&SW`5|4jMOsaM)`mewy3QKR~f@#?L zQQXrOjPnCQCw3$Pa3PYC1tCM};mDwpW()!s6E~$!$d{6So@4!=v>S%>JN0wvqI}wq zx>K}~`rABUY}FtZIo3m3hsmfAsRm+g-#hyD{v0uzov}-{l#8$=`hhv>n%5YW5IU0S zlVjIcB6?B+spGl{f=4qsIm@)KJa+=f5hZt1uU_Ao?|ZeOFJU6%@y z(ea&|%#xjHt^hEI3wwtC{7KKsp}6?-iwdM60xcveI<@CdKUj{;AAqD6Gv?b z3_@mmA1SN3Bj+ZLcAyQ*Zp3zA8O?V5zZHdCa^vn?G*)PD3;dJ}5(H!8=!Ti|6heMt zo3avpzJPZf-=|6kPcdd++P>p{0{|FiG?bCX(u7!jFy`ZrZuVKznC0#DO zbGt@!!ibr)z7tn4{z-~^P^7NYK~1K?&$?Lpa1@6w9^DvR_ zQ1X*gxHk%j%)c?@O>c_A#(0&_Ov!ql*c~~V+T|2=uJP!~Et)&LX=X(|Vv4j)*+x*J zf?r-n0ULyAYF}IaE4h(xs?_&3TTts%K()3bVTLH zLyeg{HPJd18L5u(r~v~l!S{J#J%7|`cYwMq<(U%VZ}@@uB}{KF=uh{0|OBmgHRrnXUrDHv13Q`>LT0BG7DK* z<6(&&$hp|agw!}2j>Kp=uJk_+&Td34<5TT|KV|s?6)RBl4YQ_oGL>bq%)2alBiGGBG(b49p zTDAb*pmkBbW_xpJZtjbLi?Y5@9&_&kK3oO~1cdbdw>F@>bZO<&93S9(itvC4@w*%$ zltV2#L1=s!&%!n>PZ$jlYieVYf`fLCvlxU$A_zb%F9m?;TqUJXU7gU7URIM3(r>L$ z5r`4Y|2k&14U6S*4QHH|DA8dOfEd)pg98$-lN9s<6gu>Pd2Nq`2;GBdX$E0?(%Q1> z$ty}8RV{#MvQR8QbWLOO;=p7bgi;b8n)vFkg0xf^hPqXD4p3XDt!>!KtQ69@dUdGM zUs9civMMEtYH3p~U4X0_^^JC#A$q5^sill%!! zf)-O?d-k{KcDB#Lk{D3>Wm2SK5p5WRKBCKI5IsF=z^VAd@#7{w2Xzqh@*;lw)TvXO zst17$%7%*%AdXU7o3oSKBNh4L4~&JU5}~?105%e=n69=&m5dOjyENLSWw-EcRvUHo15cT$8So6FgmHDM{j|4@)%AwPv{%9xw(|}CvPnA zv%I#U;9-mM2sk$Y9^{`OlEiB#KZ)T4vcz1+g zMD8eM7A{DMp?ecudVtZBg=0v_=sOFRlo0>~FbMRo{$w2uY0;GS%A`_H=8N6cLbF+^ zG@F1A&01k(dmGe^^=g{-Rw_UNWVIl_RFU8SdI&X>=vR%&QT47;ko+T^8#p(xJy)Nr z7Ryc3l`JB8C=}(FF**y6GPu_fd(eM)SL>t94#tK5Qu?SBZBd)|AAme8E+RnaNvD1% z8HBDeZr#eA=CbCb(Lm(*!1@o%R+lmdhz$!MZsbKq0Eo^4h@WW-a<58iBg412+;2&U zJDeNi>nwoSifLxB9kc4fm%(8%2)o@tnh=BeuJ>TiJJ5OPQw2sJ#B0eP#!U_xUgV?{3k1_&4bXbYu zjwjrG3unQC1Y>Y50`+qsmT=DC!o?+KI4L}~v|J0}goE3=7*@BzWe{DNCFLOC!}~D1 zfF4BOSxF!IqtdC!Fo+a~7Pqfx59{kTKFt29*%MS;_UX+GrIYSnmH zHi?@{OF%RnfN%$%TYA*F6ab>*7zAIPVEf#z7=lbch)^o_ENHT6h6@>_x)4N>;c22e z3+AFtiP3hB0oxbvyz@RxF3v(kXWv;_UPMu;dCD*dR82Ot=cI-O4CDUOxj)H|F3t|f zTB4BlLZec$|LsN{E@Vj`Bt9S?sH4M7FF;2s3kmEx0zOpA#Z=w{FgOG_;HAatc1h$WKlmy3K-?S>FV4H6R3L_u_yP zRFt(=LFp(zS-*|FNeK|wuOox_qofY<;EgOY8X$kDrbr#2JqbtCfr|t3!k2uYcSwTB zTy+TjpJYAJi>M(%1pQu6^dzBSdjLxl`J-RRJCQ&X6+qNAJm{rO!yeA-klxF8S3krF zhBlD8qzq!fgK`luLY`~DAI$gy{!#ECDa81hds$NNQPY69rQKTGVQQSp9HyHKz}klmjK!6bc^}b$jw-Q(q|V zpa8;D7#bif6(ufKpr@S1g&ZQX;zEC>Py_Zgov|iz2}K*04P$YZYSEHz6Ztt4gg1LP+ zic;&gdgRD?>-P01+BUZfQB=o|b6YXDtLC;AMMuo-DeE@UxBOQ>^$UOX5%*U=Z~f}8Tfh2(^{bz2^Q&(k z%&)%sLcjXz3;gPLfBCPz{Q|%G!i)XtBko_oUG^71e)Usre)Yp>Qql>9ATv(7gJF5h zS(m;W)#*wkh3iU9+mwPeAD!6;ePkh+u*zW&;e-qn2jyBvb7mNo5XJKV{qe#nB{r1aK8W$ z;RJv z`I>k_BuzFlxNXoldj!`N!l<>Gk+o~X9{?f%L;#3`5L)vkD<+;4EPac%8u>z%Ra4MS z3s;0G>=-U8ybxXqw#U^n0K`F`AHI2v@BjXfr}*yCH;=xJo_-xgj~+*_J%04?`zU() zk8kAXul@7U!>8&Sz77D<=_LjkMhYfIh?!p{oh`6>gDheuY#!l4P?Cjh2;RoD7P5Tx zO6Wlx+IjfeYmX5hUVH5a`1En~^hf#bhsTd3CP;Mn@oDt*4~Q1uMc@AI57EPaMqm9c z07R!V2zTj9U6MX?dKP}swiEF)0}Af`|n@KF?f^uyQR;U^D&z;6f)qSJd22@BpeK{-ANm2Y>;%F{~7N`-44 zm5|n?puX93*~9UXBA8?Sd|(iVh!9UTK17fI_RTlnNS+Wqlto4K+D8Z(UqAfu(RcXC zqpu!+9eNNQ4iGVSf=Z~hB)J@ge>2?QT!`5;($E2SmeD4Ii|MJH?Ge(w2molo=t@^3Mwbe&V;x?Kq;oAj=<0%`+ zs#X%mf`n#JMQ1F+F2Y0K^}@`62ot z^dLH(L2wCzdDXTD37&lll9ojmKnYIp)Lv_F>1Og$y5L*wA}*EzAPx;7zBeC!_2`?2 zkE8G8=MTS%Wa;sbr_o10KKk){0}#FyKhU(B{AUu^ijr?l zu+ZMvZI342`K8aZM)1C7>}GR@bAabt|J{HI;rxdIgd6DXQ$XdL7zs(*b97R%h*=ZU z(K)&S-m#aG@P+Zj=UB@uues%1IEQ}%K>TNx80}u>$t=NLx3(3|nTMR$ypqN3`OL3b zjGjXcERtd)i!1p~0zd?S2mo}oT|NMf$XBrE0Am4=8bJ=%-FAi@a%ai9z$rZ)6~y|`1a zNx`DG9fND)+dwVzIYw9xGc<0`R$q}C#7WKx01-|Ah*uwqVe1*(p(oc?CQPoxviPj@ zoW$ciDFkmZBrMajZ5lYwAP+r=Z~{OaPAG=6{y=bpwj#Yo5yH0yDo8VuxKFy)vks^v zjDAo%8Aog#03w_K5C;&7!JM8Pt63`u$FZ??ycn3)k$7Qq3c!kt#108{z$zDabK+pD zDFZ-+69D2s7(`6E2TrjNbC)QmBS1ThWbe!DkaJ_p*dv}0B=#Z}EKo<#{zm9QgcAVb z06neqT7tJKovMK791>SWY4sKy;iWS(b#>MWi^L#MMR&^+I=qN|>)w}kr(f>uUJB2+ zaGrl&;0dOmN-Hn>RD97V>f!Yu=pC`OyxA_E*XreLLJ%d0sR`+?9IM{n1#sKSBKh0HQC)9dQB(bk|L2R>anj)A#h49Z zin_;n#-H|GStFBL)hDj6ohNfOwTt4EtJ3s7TV=M0B#IUE6 zEF(8tm|%@WcaoX7i8%f(4`&zCB@u1SZ#^>?zV6-bB5&=qo(lj0Ai{ZZfLPeOe|cf$ z*@G7Xh@1P-9)FBGJ3D*#S7&GMTxE~m*pGImub#j9tM?#0vr6H!pe0r=?(4gIxzo4} zn#U)od6n>oa?m7DMrZ74rw1VRr&D~tgFxJf0zicG>Hs3$Q{>_PgBJjZ#$I~<34e^A zZYo-_`h-0N_ojbBUG>VpK@UQ(83b9(a`&?NmUlu^xt%ekjU28mm4|RxBaYZNw(!cg z{S4y#lN}o%q5u%#yh4Duzn|``M0cJ<&la8w5Ut${(f#S4c3b2zrl)n?vBRE%_toCT zPUF|@LBu?y(>0Z1xqPmjbxaetx$i^bF}(CGXpj(a;*ZP1JnaI+3lObm4F@2m;Vs=; zj4to)?#@OJp6vlR--G`P4+21h^Gg9@uhqJ9KHA@puIdf~dn%dld^Y`)`j-1Q+X2Mx z0{P0~lj)rW0F|4wZ65vL8AM`jRK$WUJCN6SV&fv{qIkmmVA^JM3Sl)fJW9#L>j^_1 z%>CDU0OHO{!~mkTdo@a*rO}1m3%e3R^k4jgz#zi;#S72&1uLHz+_X z%D+tp5W6>F$L^UtjlK6YdAs)@lo;W>3_#2-Mp1e*S~Qn1eJU{+cygXR#?JJfTIkx} zCtum!nU*hMtJBkx@`w2_x&U!U{v9u>|68rAdn=&_5zb2k#DlA?y~XoSZbrM8pVNbA-)U$q zoZpjW%HH0yls*M-PEYSX_-T6QSDa$F=GNRN)_uiiHueb@Fp(E|YBeQX@9TsZQczzi zXY`sl4wQ`O_{W^Q2O$xnA#1zVf}{^O9|V91=cNH+c4v0>{*$ZG{*&iTF@AcW0OI_v z=ZUtk*IM<=Hzc`G=jN{k5HS%b#6)IvSlvI&B00JOk%HA(w(a~ zjR!Ixc@99x^PU2TX!m}!viI!S>gwLJ-Pr&T;k-0JM5{adjp+QH-Sl|?@oZ=3&ed6% zd-$Gc`(A}aw79qU)AXJD&(dFwLBv#x=rH?)8Z|hJ4?Y)a*CZyP`F)P9S=dy{l&jsHV z03w{u1c;Y>^n>p~2r``%Bn-#Xf)M`roFwlY2#@KG+BhBAfsa z2f3`3P_1*~ENaFi7L#8186fzqExnn2&Wb0snxHAYc4n~sxs4_PAi@a%@#+}_Ei~wW z(s>!Trv|jppyLO(L?CJ133sIud<5e5C@fTU;mKFQ_>z&4=Gq`XVMG`YVT3gZ`^8g)J$gS@S z01-|Ah*vIyAj(DmOLfd+cHL!hLDZNr^?Z~{OaOt`o3=@t@LsjwHiN&Ufwnla7a z6D)4ay{1V&l1x*DH<5#R>blhC|Ha{i^BX&d!5~QeZ;vb7VJGQF&_s-cUFjsef*4Y> t)eOD^CipBQCMiETS_FUy=Qj!v{|EXjO?%1kMn?bu002ovPDHLkV1jVRMsNTC literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index 64d0dc1e..d87b25db 100644 --- a/manifest.json +++ b/manifest.json @@ -6,9 +6,14 @@ "en": "Decentralized publication platform and social network.", "fr": "Plateforme de publication décentralisée et un réseau social." }, - "url": "https://zotlabs.org/page/hubzilla/hubzilla-project", - "license": "MIT", "version": "5.6~ynh1", + "url": "https://zotlabs.org/page/hubzilla/hubzilla-project", + "upstream": { + "license": "MIT", + "website": "https://zotlabs.org/page/hubzilla/hubzilla-project", + "code": "https://framagit.org/hubzilla/core" + }, + "license": "MIT", "maintainer": { "name": "Anmol Sharma" }, From bdc1e4a36c4824b84f83bde4f9b91a71f67b1db8 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Tue, 22 Jun 2021 15:26:16 +0000 Subject: [PATCH 6/6] Auto-update README --- README.md | 49 +++++++++++++++++++---------------------- README_fr.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 README_fr.md diff --git a/README.md b/README.md index 1c13ec5c..ebcb5a3c 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,31 @@ + + # Hubzilla for YunoHost -[![Integration level](https://dash.yunohost.org/integration/hubzilla.svg)](https://dash.yunohost.org/appci/app/hubzilla) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.maintain.svg) - - +[![Integration level](https://dash.yunohost.org/integration/hubzilla.svg)](https://dash.yunohost.org/appci/app/hubzilla) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.maintain.svg) [![Install Hubzilla with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=hubzilla) +*[Lire ce readme en français.](./README_fr.md)* -> *This package allow you to install Hubzilla quickly and simply on a YunoHost server. -If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* +> *This package allows you to install Hubzilla quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -[Hubzilla](https://hub.libranet.de/directory?f=&global=1&pubforums=1) is a social networking platform built with control of your privacy at center stage. Your online communications can be as public as you wish or as private as you require. Private conversations, private photos, private videos. Your media isn't hidden behind an obscure URL which can be guessed, it is protected by state-of-the-art cross-domain authentication. What this all means for you: **less drama**. -**Shipped version:** 5.6 +Decentralized publication platform and social network. + +**Shipped version:** 5.6~ynh1 + + ## Screenshots -![](https://fediverse.party/img/screenshots/hubzilla-1.png) +![](./doc/screenshots/hubzilla-1.png) -## This app claims following features: -- [X] LDAP integration -- [X] Multi-instance -- [X] Adeed php.log in the root folder for debugging PHP, with logrotate applied on it (can be accesssed by **admin->logs** and entering the **php.log**). -- [X] Fail2Ban -- [X] Option to choose between **Mysql** and **PostgreSQL** for the Hubzilla +## Disclaimers / important information ## Installation Before installing, read the [Hubzilla installation instructions](https://framagit.org/hubzilla/core/blob/master/install/INSTALL.txt) for important information about: @@ -43,19 +45,12 @@ Before installing, read the [Hubzilla installation instructions](https://framagi - **Failed Database after Upgrade:** Some times databse upgrade fails after version upgrade. You can go to hub eg. `https://hubzilla.example.com/admin/dbsync/` and check the numbers of failled update. These updates will have to be ran manually by **phpMyAdmin**. -#### Supported architectures +## Documentation and resources -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/hubzilla%20%28Official%29.svg)](https://ci-apps.yunohost.org/ci/apps/hubzilla/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/hubzilla%20%28Official%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/hubzilla/) - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/hubzilla_ynh/issues - * App website: https://zotlabs.org/page/hubzilla/hubzilla-project - * Upstream app repository: https://framagit.org/hubzilla/core - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://zotlabs.org/page/hubzilla/hubzilla-project +* Upstream app code repository: https://framagit.org/hubzilla/core +* YunoHost documentation for this app: https://yunohost.org/app_hubzilla +* Report a bug: https://github.com/YunoHost-Apps/hubzilla_ynh/issues ## Developer info @@ -67,3 +62,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/hubzilla_ynh/tree/tes or sudo yunohost app upgrade hubzilla -u https://github.com/YunoHost-Apps/hubzilla_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 00000000..292f3e70 --- /dev/null +++ b/README_fr.md @@ -0,0 +1,62 @@ +# Hubzilla pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/hubzilla.svg)](https://dash.yunohost.org/appci/app/hubzilla) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/hubzilla.maintain.svg) +[![Installer Hubzilla avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=hubzilla) + +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* + +> *Ce package vous permet d'installer Hubzilla rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble + +Plateforme de publication décentralisée et un réseau social. + +**Version incluse :** 5.6~ynh1 + + + +## Captures d'écran + +![](./doc/screenshots/hubzilla-1.png) + +## Avertissements / informations importantes + +## Installation +Before installing, read the [Hubzilla installation instructions](https://framagit.org/hubzilla/core/blob/master/install/INSTALL.txt) for important information about: + +### Register a new domain and add it to YunoHost +- Hubzilla requires a dedicated domain, so obtain one and add it using the YunoHost admin panel. **Domains -> Add domain**. As Hubzilla uses the full domain and is installed on the root, you can create a subdomain such as hubzilla.domain.tld. Don't forget to update your DNS if you manage them manually. + +## Ldap Admin user rights, logs and failed database updates + +- **For admin rights**: When installation is complete, you will need to visit your new hub's page and login with the **admin account username** which was entered at the time of installation process. You should then be able to create your first channel and have the **admin rights** for the hub. + +- **For normal YunoHost users**: Normal LDAP users can login through LDAP authentication and create there channels. + +- **Failing to get admin rights**: If the admin cannot access the admin settings at `https://hubzilla.example.com/admin` then you have to **manually add 4096** to the **account_roles** under **accounts** for that user in the **database through phpMyAdmin**. + +- **For logs**: Go to **admin->logs** and enter the file name **php.log**. + +- **Failed Database after Upgrade:** Some times databse upgrade fails after version upgrade. You can go to hub eg. `https://hubzilla.example.com/admin/dbsync/` and check the numbers of failled update. These updates will have to be ran manually by **phpMyAdmin**. + +## Documentations et ressources + +* Site officiel de l'app : https://zotlabs.org/page/hubzilla/hubzilla-project +* Dépôt de code officiel de l'app : https://framagit.org/hubzilla/core +* Documentation YunoHost pour cette app : https://yunohost.org/app_hubzilla +* Signaler un bug : https://github.com/YunoHost-Apps/hubzilla_ynh/issues + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/hubzilla_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/hubzilla_ynh/tree/testing --debug +ou +sudo yunohost app upgrade hubzilla -u https://github.com/YunoHost-Apps/hubzilla_ynh/tree/testing --debug +``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file