From b976923f00764cd029f9ead7cebafc763af37187 Mon Sep 17 00:00:00 2001 From: longpanda Date: Sun, 19 Jun 2022 13:56:49 +0800 Subject: [PATCH] 1.0.77 release --- .../grub-2.04/grub-core/ventoy/ventoy.c | 18 + .../grub-2.04/grub-core/ventoy/ventoy_cmd.c | 147 ++--- .../grub-2.04/grub-core/ventoy/ventoy_def.h | 9 + .../ventoy/hook/debian/disk_mount_hook.sh | 4 + .../ventoy/hook/debian/ventoy-cloud-init.sh | 5 + .../hook/default/auto_install_varexp.sh | 53 ++ IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh | 4 +- IMG/cpio/ventoy/hook/rhel6/ventoy-varexp.sh | 37 ++ IMG/cpio/ventoy/hook/rhel7/ventoy-autoexp.sh | 24 + IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh | 3 + IMG/cpio/ventoy/hook/suse/udev_setup_hook.sh | 8 + INSTALL/grub/grub.cfg | 8 +- INSTALL/ventoy/vtoyjump32.exe | Bin 127488 -> 140288 bytes INSTALL/ventoy/vtoyjump64.exe | Bin 151552 -> 161792 bytes VtoyTool/vtoyexpand.c | 554 ++++++++++++++++++ VtoyTool/vtoyloader.c | 11 +- VtoyTool/vtoytool.c | 3 + VtoyTool/vtoytool/00/vtoytool_32 | Bin 74524 -> 78904 bytes VtoyTool/vtoytool/00/vtoytool_64 | Bin 74360 -> 78832 bytes VtoyTool/vtoytool/00/vtoytool_aa64 | Bin 157920 -> 162016 bytes VtoyTool/vtoytool/00/vtoytool_m64e | Bin 164584 -> 169288 bytes vtoyjump/vtoyjump/vtoyjump.c | 507 +++++++++++++++- vtoyjump/vtoyjump/vtoyjump.h | 270 +++++---- 23 files changed, 1456 insertions(+), 209 deletions(-) create mode 100644 IMG/cpio/ventoy/hook/default/auto_install_varexp.sh create mode 100644 IMG/cpio/ventoy/hook/rhel6/ventoy-varexp.sh create mode 100644 IMG/cpio/ventoy/hook/rhel7/ventoy-autoexp.sh create mode 100644 VtoyTool/vtoyexpand.c diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index 00ebba52..b3cdcbcd 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -97,6 +97,24 @@ char *ventoy_str_last(char *str, char ch) return last; } +int ventoy_str_all_digit(const char *str) +{ + if (NULL == str || 0 == *str) + { + return 0; + } + + while (*str) + { + if (*str < '0' || *str > '9') + { + return 0; + } + } + + return 1; +} + int ventoy_strcmp(const char *pattern, const char *str) { while (*pattern && *str) diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c index a5d692f2..eecc932d 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c @@ -483,7 +483,7 @@ static int ventoy_load_efiboot_template(char **buf, int *datalen, int *direntoff return 0; } -static int ventoy_set_check_result(int ret) +static int ventoy_set_check_result(int ret, const char *msg) { char buf[32]; @@ -497,7 +497,8 @@ static int ventoy_set_check_result(int ret) grub_printf(VTOY_WARNING"\n"); grub_printf(VTOY_WARNING"\n\n\n"); - grub_printf("This is NOT a standard Ventoy device and is NOT supported (%d).\n\n", ret); + grub_printf("This is NOT a standard Ventoy device and is NOT supported (%d).\n", ret); + grub_printf("Error message: <%s>\n\n", msg); grub_printf("You should follow the instructions in https://www.ventoy.net to use Ventoy.\n"); grub_printf("\n\nWill exit after 10 seconds ...... "); @@ -523,7 +524,7 @@ static int ventoy_check_official_device(grub_device_t dev) if (dev->disk == NULL || dev->disk->partition == NULL) { - return ventoy_set_check_result(1 | 0x1000); + return ventoy_set_check_result(1 | 0x1000, "Internal Error"); } if (0 == ventoy_check_file_exist("(%s,2)/ventoy/ventoy.cpio", dev->disk->name) || @@ -531,11 +532,17 @@ static int ventoy_check_official_device(grub_device_t dev) 0 == ventoy_check_file_exist("(%s,2)/tool/mount.exfat-fuse_aarch64", dev->disk->name)) { #ifndef GRUB_MACHINE_EFI - if (0 == ventoy_check_file_exist("(ventoydisk)/ventoy/ventoy.cpio", dev->disk->name) || - 0 == ventoy_check_file_exist("(ventoydisk)/grub/localboot.cfg", dev->disk->name) || - 0 == ventoy_check_file_exist("(ventoydisk)/tool/mount.exfat-fuse_aarch64", dev->disk->name)) + if (0 == ventoy_check_file_exist("(ventoydisk)/ventoy/ventoy.cpio", dev->disk->name)) { - return ventoy_set_check_result(2 | 0x1000); + return ventoy_set_check_result(2 | 0x1000, "File ventoy/ventoy.cpio missing in VTOYEFI partition"); + } + else if (0 == ventoy_check_file_exist("(ventoydisk)/grub/localboot.cfg", dev->disk->name)) + { + return ventoy_set_check_result(2 | 0x1000, "File grub/localboot.cfg missing in VTOYEFI partition"); + } + else if (0 == ventoy_check_file_exist("(ventoydisk)/tool/mount.exfat-fuse_aarch64", dev->disk->name)) + { + return ventoy_set_check_result(2 | 0x1000, "File tool/mount.exfat-fuse_aarch64 missing in VTOYEFI partition"); } else { @@ -555,19 +562,19 @@ static int ventoy_check_official_device(grub_device_t dev) } if (!file) { - return ventoy_set_check_result(3 | 0x1000); + return ventoy_set_check_result(3 | 0x1000, "File ventoy/ventoy.cpio open failed in VTOYEFI partition"); } if (NULL == grub_strstr(file->fs->name, "fat")) { grub_file_close(file); - return ventoy_set_check_result(4 | 0x1000); + return ventoy_set_check_result(4 | 0x1000, "VTOYEFI partition is not FAT filesystem"); } partition = dev->disk->partition; if (partition->number != 0 || partition->start != 2048) { - return ventoy_set_check_result(5); + return ventoy_set_check_result(5, "Ventoy partition is not start at 1MB"); } if (workaround) @@ -579,7 +586,7 @@ static int ventoy_check_official_device(grub_device_t dev) (PartTbl[1].LastLBA + 1 - PartTbl[1].StartLBA) != 65536) { grub_file_close(file); - return ventoy_set_check_result(6); + return ventoy_set_check_result(6, "Disk partition layout check failed."); } } else @@ -589,7 +596,7 @@ static int ventoy_check_official_device(grub_device_t dev) PartTbl[1].SectorCount != 65536) { grub_file_close(file); - return ventoy_set_check_result(6); + return ventoy_set_check_result(6, "Disk partition layout check failed."); } } } @@ -600,7 +607,7 @@ static int ventoy_check_official_device(grub_device_t dev) if ((partition->number != 1) || (partition->len != 65536) || (offset != partition->start)) { grub_file_close(file); - return ventoy_set_check_result(7); + return ventoy_set_check_result(7, "Disk partition layout check failed."); } } @@ -612,21 +619,21 @@ static int ventoy_check_official_device(grub_device_t dev) dev2 = grub_device_open(devname); if (!dev2) { - return ventoy_set_check_result(8); + return ventoy_set_check_result(8, "Disk open failed"); } fs = grub_fs_probe(dev2); if (!fs) { grub_device_close(dev2); - return ventoy_set_check_result(9); + return ventoy_set_check_result(9, "FS probe failed"); } fs->fs_label(dev2, &label); if ((!label) || grub_strncmp("VTOYEFI", label, 7)) { grub_device_close(dev2); - return ventoy_set_check_result(10); + return ventoy_set_check_result(10, "Partition name is not VTOYEFI"); } grub_device_close(dev2); @@ -636,7 +643,7 @@ static int ventoy_check_official_device(grub_device_t dev) disk = grub_disk_open(dev->disk->name); if (!disk) { - return ventoy_set_check_result(11); + return ventoy_set_check_result(11, "Disk open failed"); } grub_memset(mbr, 0, 512); @@ -645,10 +652,10 @@ static int ventoy_check_official_device(grub_device_t dev) if (grub_memcmp(g_check_mbr_data, mbr, 0x30) || grub_memcmp(g_check_mbr_data + 0x30, mbr + 0x190, 16)) { - return ventoy_set_check_result(12); + return ventoy_set_check_result(12, "MBR check failed"); } - return ventoy_set_check_result(0); + return ventoy_set_check_result(0, NULL); } static int ventoy_check_ignore_flag(const char *filename, const struct grub_dirhook_info *info, void *data) @@ -3367,58 +3374,19 @@ end: VENTOY_CMD_RETURN(GRUB_ERR_NONE); } -static int ventoy_is_builtin_var(const char *var) -{ - int i; - const char *c; - const char *builtin_vars_full[] = - { - "VT_DISK_1ST_NONVTOY", - "VT_DISK_1ST_NONUSB", - NULL - }; - - for (i = 0; builtin_vars_full[i]; i++) - { - if (grub_strcmp(builtin_vars_full[i], var) == 0) - { - return 1; - } - } - - if (grub_strncmp(var, "VT_DISK_CLOSEST_", 16) == 0) - { - c = var + 16; - while (*c) - { - if (*c < '0' || *c > '9') - { - break; - } - c++; - } - - if (*c == 0 && c != (var + 16)) - { - return 1; - } - } - - return 0; -} - -static int ventoy_var_expand(int *flag, const char *var, char *expand, int len) +static int ventoy_var_expand(int *record, int *flag, const char *var, char *expand, int len) { int i = 0; int n = 0; char c; const char *ch = var; + *record = 0; expand[0] = 0; while (*ch) { - if (*ch == '_' || (*ch >= '0' && *ch <= '9') || (*ch >= 'A' && *ch <= 'Z')) + if (*ch == '_' || (*ch >= '0' && *ch <= '9') || (*ch >= 'A' && *ch <= 'Z') || (*ch >= 'a' && *ch <= 'z')) { ch++; n++; @@ -3436,16 +3404,16 @@ static int ventoy_var_expand(int *flag, const char *var, char *expand, int len) goto end; } - if (ventoy_is_builtin_var(var)) + if (grub_strncmp(var, "VT_", 3) == 0) /* built-in variables */ { - + } else { if (*flag == 0) { *flag = 1; - grub_printf("\n=================== Parameter Expansion ===================\n\n"); + grub_printf("\n=================== Variables Expansion ===================\n\n"); } grub_printf("<%s>: ", var); @@ -3460,6 +3428,7 @@ static int ventoy_var_expand(int *flag, const char *var, char *expand, int len) { grub_printf("\n"); grub_refresh(); + *record = 1; break; } } @@ -3503,6 +3472,7 @@ static int ventoy_auto_install_var_expand(install_template *node) { int pos = 0; int flag = 0; + int record = 0; int newlen = 0; char *start = NULL; char *end = NULL; @@ -3511,6 +3481,8 @@ static int ventoy_auto_install_var_expand(install_template *node) char *nextline = NULL; grub_uint8_t *code = NULL; char value[512]; + var_node *CurNode = NULL; + var_node *pVarList = NULL; code = (grub_uint8_t *)node->filebuf; @@ -3563,8 +3535,33 @@ static int ventoy_auto_install_var_expand(install_template *node) *start = *end = 0; VTOY_APPEND_NEWBUF(curline); - value[sizeof(value) - 1] = 0; - ventoy_var_expand(&flag, start + 2, value, sizeof(value) - 1); + for (CurNode = pVarList; CurNode; CurNode = CurNode->next) + { + if (grub_strcmp(start + 2, CurNode->var) == 0) + { + grub_snprintf(value, sizeof(value) - 1, "%s", CurNode->val); + break; + } + } + + if (!CurNode) + { + value[sizeof(value) - 1] = 0; + ventoy_var_expand(&record, &flag, start + 2, value, sizeof(value) - 1); + + if (record) + { + CurNode = grub_zalloc(sizeof(var_node)); + if (CurNode) + { + grub_snprintf(CurNode->var, sizeof(CurNode->var), "%s", start + 2); + grub_snprintf(CurNode->val, sizeof(CurNode->val), "%s", value); + CurNode->next = pVarList; + pVarList = CurNode; + } + } + } + VTOY_APPEND_NEWBUF(value); VTOY_APPEND_NEWBUF(end + 2); @@ -3573,14 +3570,28 @@ static int ventoy_auto_install_var_expand(install_template *node) { VTOY_APPEND_NEWBUF(curline); } - - newbuf[pos++] = '\n'; + + if (pos > 0 && newbuf[pos - 1] == '\r') + { + newbuf[pos - 1] = '\n'; + } + else + { + newbuf[pos++] = '\n'; + } } grub_free(node->filebuf); node->filebuf = newbuf; node->filelen = pos; + while (pVarList) + { + CurNode = pVarList->next; + grub_free(pVarList); + pVarList = CurNode; + } + return 0; } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index 3ce2374f..3462c5e5 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -601,6 +601,7 @@ typedef struct chk_case_fs_dir grub_fs_t fs; }chk_case_fs_dir; +int ventoy_str_all_digit(const char *str); int ventoy_strcmp(const char *pattern, const char *str); int ventoy_strncmp (const char *pattern, const char *str, grub_size_t n); void ventoy_fill_os_param(grub_file_t file, ventoy_os_param *param); @@ -1208,6 +1209,14 @@ typedef struct browser_node struct browser_node *next; }browser_node; +typedef struct var_node +{ + char var[128]; + char val[256]; + + struct var_node *next; +}var_node; + extern char *g_tree_script_buf; extern int g_tree_script_pos; extern int g_tree_script_pre; diff --git a/IMG/cpio/ventoy/hook/debian/disk_mount_hook.sh b/IMG/cpio/ventoy/hook/debian/disk_mount_hook.sh index 8fa19a41..4e00b8f1 100644 --- a/IMG/cpio/ventoy/hook/debian/disk_mount_hook.sh +++ b/IMG/cpio/ventoy/hook/debian/disk_mount_hook.sh @@ -34,3 +34,7 @@ fi vtlog "${vtdiskname#/dev/}2 found..." $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/udev_disk_hook.sh "${vtdiskname#/dev/}2" + +if [ -f /ventoy/autoinstall ]; then + sh /ventoy/hook/default/auto_install_varexp.sh /ventoy/autoinstall +fi diff --git a/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh b/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh index 875b496e..0663f988 100644 --- a/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh +++ b/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh @@ -44,10 +44,15 @@ if [ $vtSplit -eq 1 ]; then vtlog "Line number: $vtLine $vtLine1 $vtLine2" sed -n "1,${vtLine1}p" $VTOY_PATH/autoinstall >/tmpcidata/user-data sed -n "${vtLine2},\$p" $VTOY_PATH/autoinstall >/tmpcidata/meta-data + + sh /ventoy/hook/default/auto_install_varexp.sh /tmpcidata/user-data + sh /ventoy/hook/default/auto_install_varexp.sh /tmpcidata/meta-data else vtlog "only user-data avaliable" cp -a $VTOY_PATH/autoinstall /tmpcidata/user-data touch /tmpcidata/meta-data + + sh /ventoy/hook/default/auto_install_varexp.sh /tmpcidata/user-data fi diff --git a/IMG/cpio/ventoy/hook/default/auto_install_varexp.sh b/IMG/cpio/ventoy/hook/default/auto_install_varexp.sh new file mode 100644 index 00000000..af01d4e2 --- /dev/null +++ b/IMG/cpio/ventoy/hook/default/auto_install_varexp.sh @@ -0,0 +1,53 @@ +#!/bin/sh +#************************************************************************************ +# Copyright (c) 2022, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +PATH=$PATH:/ventoy/busybox:/ventoy/tool + +vlog() { + echo "$@" >> /ventoy/autoinstall.log +} + +if grep -q '\$\$VT_' /ventoy/autoinstall; then + vlog "======== auto install variables expansion =======" +else + vlog "======== auto install variables expansion no need =======" + exit 0 +fi + +if [ -f /ventoy/ventoy_os_param ]; then + VTOYDISK=$(vtoydump -f /ventoy/ventoy_os_param | awk -F'#' '{print $1}') + vlog VTOYDISK=$VTOYDISK + + if [ -b "$VTOYDISK" ]; then + vlog "$VTOYDISK exist OK" + else + vlog "$VTOYDISK does NOT exist" + exit 0 + fi + + if [ -n "$1" -a -f "$1" ]; then + vtoyexpand "$1" "$VTOYDISK" + else + vlog "File $1 not exist" + fi +else + vlog "os param file not exist" + exit 0 +fi + diff --git a/IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh b/IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh index cfbe43fb..c3c33b6a 100644 --- a/IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh @@ -29,10 +29,12 @@ ventoy_add_kernel_udev_rule "loop6" "$VTOY_PATH/hook/rhel6/udev_disk_hook.sh %k" if [ -f $VTOY_PATH/autoinstall ]; then $BUSYBOX_PATH/mv /sbin/loader /sbin/loader_bk - $BUSYBOX_PATH/mv $VTOY_PATH/tool/loader /sbin/loader + $BUSYBOX_PATH/cp -a $VTOY_PATH/tool/loader /sbin/loader RawCmdLine=$($BUSYBOX_PATH/cat /proc/cmdline) echo -n "/sbin/loader_bk" > "/ventoy/loader_exec_file" echo -n "--cmdline=$RawCmdLine ks=file:$VTOY_PATH/autoinstall" > "/ventoy/loader_exec_cmdline" #echo 111 > "/ventoy/loader_debug" + + echo "/bin/sh /ventoy/hook/rhel6/ventoy-varexp.sh" > "/ventoy/loader_hook_cmd" fi diff --git a/IMG/cpio/ventoy/hook/rhel6/ventoy-varexp.sh b/IMG/cpio/ventoy/hook/rhel6/ventoy-varexp.sh new file mode 100644 index 00000000..99c23a2d --- /dev/null +++ b/IMG/cpio/ventoy/hook/rhel6/ventoy-varexp.sh @@ -0,0 +1,37 @@ +#!/bin/sh +#************************************************************************************ +# Copyright (c) 2022, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +PATH=$PATH:/ventoy/busybox:/ventoy/tool + +if grep -q '\$\$VT_' /ventoy/autoinstall; then + : +else + exit 0 +fi + +if [ -f /sbin/hald ]; then + mv /sbin/hald /sbin/hald_bk + cp -a /ventoy/tool/hald /sbin/hald + + rm -f "/ventoy/loader_exec_cmdline" + echo "/bin/sh /ventoy/hook/default/auto_install_varexp.sh /ventoy/autoinstall" > "/ventoy/loader_hook_cmd" + echo -n "/sbin/hald_bk" > "/ventoy/loader_exec_file" +fi + +exit 0 diff --git a/IMG/cpio/ventoy/hook/rhel7/ventoy-autoexp.sh b/IMG/cpio/ventoy/hook/rhel7/ventoy-autoexp.sh new file mode 100644 index 00000000..661d4365 --- /dev/null +++ b/IMG/cpio/ventoy/hook/rhel7/ventoy-autoexp.sh @@ -0,0 +1,24 @@ +#!/bin/sh +#************************************************************************************ +# Copyright (c) 2022, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +if [ -f /run/install/ks.cfg ]; then + sh /ventoy/hook/default/auto_install_varexp.sh /run/install/ks.cfg +fi + +exit 0 diff --git a/IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh b/IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh index 271c38a8..bc5bc5eb 100644 --- a/IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh @@ -128,3 +128,6 @@ if [ -e /usr/sbin/anaconda-diskroot ]; then $SED 's/^mount $dev $repodir/mount -oro $dev $repodir/' -i /usr/sbin/anaconda-diskroot fi +if [ -f $VTOY_PATH/autoinstall ]; then + cp -a $VTOY_PATH/hook/rhel7/ventoy-autoexp.sh /lib/dracut/hooks/pre-mount/99-ventoy-autoexp.sh +fi diff --git a/IMG/cpio/ventoy/hook/suse/udev_setup_hook.sh b/IMG/cpio/ventoy/hook/suse/udev_setup_hook.sh index ff796664..d222f668 100644 --- a/IMG/cpio/ventoy/hook/suse/udev_setup_hook.sh +++ b/IMG/cpio/ventoy/hook/suse/udev_setup_hook.sh @@ -40,3 +40,11 @@ fi if $GREP -q 'mediacheck=1' /proc/cmdline; then ventoy_copy_device_mapper "${vtdiskname}" fi + +if [ -f /ventoy/autoinstall ]; then + sh /ventoy/hook/default/auto_install_varexp.sh /ventoy/autoinstall +fi +if [ -f /autoinst.xml ]; then + sh /ventoy/hook/default/auto_install_varexp.sh /autoinst.xml +fi + diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 48e45507..b232262c 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -185,7 +185,7 @@ function locate_initrd { } function locate_wim { - vt_windows_locate_wim_patch (loop) + vt_windows_locate_wim_patch (loop) "$1" if [ -n "${vtdebug_flag}" ]; then echo '###############################################' @@ -615,7 +615,7 @@ function uefi_windows_menu_func { fi ventoy_debug_pause - locate_wim + locate_wim "${chosen_path}" fi vt_windows_chain_data "${1}${chosen_path}" @@ -1044,7 +1044,7 @@ function legacy_windows_menu_func { fi ventoy_debug_pause - locate_wim + locate_wim "${chosen_path}" fi vt_windows_chain_data "${1}${chosen_path}" @@ -2145,7 +2145,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.76" +set VENTOY_VERSION="1.0.77" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 diff --git a/INSTALL/ventoy/vtoyjump32.exe b/INSTALL/ventoy/vtoyjump32.exe index 6a3f12d1f688c774bcc28b969cc69e9416bfa616..b21b2c0d7b0b8892f3343c94445eb98eb386a0b2 100644 GIT binary patch delta 51840 zcmb@ve?XMQ_CNmYvMZ}DE-EN0C@T096$KIm6cCWiA4}*0`Li;6F4>K2*X*V)wrsgR zZc&q0Z)HJP*W2yhEYsAh24bS7re%|8}7=JMc z;XCdD7oSA9^e>-X3`FQ07JG5I2rZ(Vb66J<-uvnX`0R`y}b6{_qD<5 zBz-?!SDjgsp4LgyDGhAdjxZQcIqRz%peth&bfdei)9a;0l)q3f)#;ue*wb9BmzqK) zsi{IIB|bl}U#}Ct>!dWoX!}>LlQsjhFRRm;?!w@o8GPI#+VI-)IUb^UB`@NE6 zUIG|ON`FSUmi5>7?N)UcqQQDe3PISyvh@SHfC&lzOJ+TLMBm3kd`RF&>V>eIe%l89 z4xO%b+YH0Q27Pb_+iObIU1c{+zvz2C%^ExJ)7#wa?Jnc=gWRmH%X0mJQg%<*{d%dC z^*7re*%F%}xer@PH-nVYT}d~%PdNfB3F-^*WEhlOgQ63lw+W>8=#|j-smLkER3&t) z77OzPQOvvgzztRP1W~@HyC>IBqv$<4go@r><**1OrVAPx00cHNXmkJyZJQgkQ#XN1 z|Die}qE$x~qq;;TRPcJr(Zdr&F;5V3*bGarERpI`YbuQf zbX8T+&lys!(T;arb{b;K5u<-R?q`f-llzLjhfOa3I$h%9dP|b)fJr$xzs6W=d=Z@d z7#cNRP+Kz{?c$$e7}ri$U8%^EBui-{$hcKYX+6TYQ@%j&<|v|U+4s~d-?6M-vn^DY zqf^PZU!Z)&3P@D1`TCM1*17ld)cLRU{>u>Jj^{%ExLQguFv%-s(=p@+*2&#e7DOWl>}P z(q|Cs+o#vm5>Rkg+4bs)xT^Um+%^CT6?jb)u#}!bzo3x73{+2us2|bMg+Bo-jb!40 zTjX4;f+c&Ty3C9z^K`gglC0DfC;QxK7QOaWXOKj14(U5O0E4tGzi)4y{@;gKalap< ztgY!%p6#;5nRQ6{)ib?yvE>otLcj=eHlI?(t!!2JZqkkuBF5=oT+03&aZdliqwKE! z5j}(bdf+nf&O$QE`Pb~p{sp~9J=$SfiAfbqN`w8_f1v)iViq)@pw|ZnfHJ)mJsNjR zsD}mf`7_1ao*eL~P9Iyd?dQnBoponej}bQ1ysc=&a-F{aB33`rJL$RmJJ3FQG|whC zqGq`+1M>0BVj-C5Px-mO&Dx4&)Zg;I<%XiAYqjOra+o-Qd( zUUxl43bT88Im;ZC;%owoUUxHKGOcM={@Wt7qG=Z;yjkXv$E}z)8bWSvz(Fg2>shFh zCf9+qij9~;Xi(Q8B9}h+G|!i$v7Qx5*&qB>+0qeb_!O*QQY`(pmZ5hcOA& z?UY-jE7HknD8m2oa2t%jvy_?`)n1cZbp)cWGOBBO3l#W#UVSf1AKjOPVBY8$-6^(q z^jK%6V4?+6T_)vX<-0{!1$*5Dv)bews%IqP;7Oh&S)?NTr-n+R4X9+88d{9FRbEJl zdLVkI=%7~?%%20vh&#r=Tc{1STtW!n{!Ww(8u=oLO&HV1BzilcxSY)yGidOOgtb;+ znex@paM1QkmY?2z3t9P?(1J)};H>+cW4KM;N@cQdE90H4Yv&-+&w+wEAY_LKJ51w) z8k47nngPe~Sme5ISWxU>XA_}(-b$>RYTeCf6e(UMfw;+2&*ZCTl!|D-nsE9eltawr^{hH4P_Ys2KG%F^et>TyEOzZy3{zre$8 zjvL+wh_vV|+7fJECul;|A-WT*EHJO&Cm#KxLLv%zp`!kl1sdvoC={p$down-m}2 z6=15BfXo^nG6QKbCIJx2B4`pnb^+kN60f@v5{JS$NNx!hZLnmv>RPWvGjz9@LK~G=^ro+%PL#HWq(N+O;d)9!9kcouDwh=QQ$s8H}%I=;^f()%h47Bx8Q2-RCRDv$qT+U|S zF{HPs$}yl#Xt&#m%DOuC!X3$RafMn(v`N)+s&#~@)pSdO{HlheNMHEE_KJVEqy! z^vf@>35gT?oWFqjo@*A`&zHXXW{5PQ$}w1OzQCSO44a*wuW@ISW4{C5EP-coU$MCV ziYCgU@FW10?R&%|GpL~{sQn+v)Y${&6cG0r#c2&FHrg0_DC8n4_H*`c7vp}2SfAZrV)hq=_)qdqytBw6T zsk45?cWhTuq(#`4u#&o-)9fFf6qO_FpTl;OdQu6Zc$?J}q@L&iP*#~dD_gN72C66j zU`)OCrABPlgs5(}jH!HXD_~Dg7^D9wpM5YP-bo7QfG0C5M44{#&WbYGV86#z1q7Xd z9gyGCcp5>GWZ8VE^WD|ocDClK32y`9nHCj=GFai_X{1*Mdo!cVMUu7phtByn4MnI* zj61BvPDv}G%=W%*!e@^P&WEK<9k=<{P$AsPw5ael0XxcFvzRkEJi1L4=F6vrdC`LL zjZ@|GC}{QUr4;|{9#)mytIvp8{?QQjhPxG6V1|Elfc=sj+VAu|B%)y$>WO7uktw$l z4L&oU4M+*sZ@P!2ru1I&IGHSDu^E(FtWErtJdG%=OhQ4JZ&MJ^4m8`8YkycLWC>_c zlbB#uZN0!upw(4rQa^RDAvs57%3Jut3G$h|COVkdHWHmZbGWI(6gBj$43 zlBKD3fn{r>+TvF2k*im>P*F#3WnVdrE#=kCc-#1+paeR;WUbD8xqvGB=ocZ@P|v3p z%zwylHN0`R)=qf^p;Q7zS$P~~XsAiJ_?kkNqC-(X^QpqZoHAu8J&-;9RYJUia2( zVwG43WS93m61uo5C1Gwk>oMv6K$%EDBdwS;K+Fl+|Dy%hYTf7kMozw*gBp}e{O+Hi zJQq=ITugj3L~Ep6N`Udm0$aP^Cd^OxPDlZ9LE7LL?`G9Fu?hW+WfO#jId0`opgV;Y zCm8FS*5i&_tH;>()q^r=^*}|{jcBJ}4cfP@g7TT{zO-m3S^^8@)}o^o+e!Qtp%@A@ zd;|5U9LIJXlbLVFe39#sT}hMP6H0TQrwL304?B%{R)ZHvuH4-WtX;7eL1}A?s_r%+ zw#!P%3QC4kve-%K7m(IkXcbLVL)TFUmm%-Ah98+P)(@|jnB-=3AL{8P2&4a|Vg1(z z0Q^dA`$Quz{Zy#7w*98q+jHjybO}^tBEW~S4Lx~l@zQ#VB$v;hp$&p2xI%7Yu;z;W z+urp2z7qN? zn9N}lH&X+)a`3pl0C}zh;lAj0AzcoLRW2YDFHp!h&{j~_aTR($le6`icjy!DV#hMW z#r}ruMXjZs?_$?7Gm{Fyyp?}3RY(TrR-d9k@04o+2jzt#qpB^#F(_Y_0TKe1$9qg? z%d#RPiv?22|A2IA8ruP+6#^;ke?WR+8oQD;VCZISO>qMF3W9*+um#Qeu&r}>(s|qh}yhPJ;F8JI< zK&y8>*`NGtF{T8D60^x?33VzefHj#W@osmq<5MD>)Gc1oMk`JeYmL-D^pA((U>%lf zlCV)7-Bi(YP~f2A3$)qf@CK0kuAan3tHP|D*)^(r~)Pjw>b8ysYBL3cY z)Uljs2##(WbjzLWi91J=ex|~2`wNp~Xa$;y!W2-z=GqTaLtgn39P>fN>@?wWg5UpBM>W%CfMM;f zb+_P6gCn26Ow%-yw37g0rem@`fo)qWP!49@kYv?@{m?;?mUuES3CCGwpW^G}eVK@8 zxU%6#BK1xVA(+(dR0S05q%~PL)`-G>G(nCx;~GTN<*3$B`DdE7gVkKDvo~N6QN#FN zvZwsUfG{t49kQGq8;usb8Y7h~vn9U@$NgW{W?|ui+H@UJ52Bh+RL?x_Sy_jj_)60* zGuT{g>6z82)Ou#u`vSaoN^65Bba(VEJ!S8))~cJ3t8;X7Rq0*T`qER5`nW2ev0s(z zkPdBmB2IOmTQ#8KY(|Dta;-8*j~iVRrDcZX7RTr*s}F`@_9ow0aS@Ct4ik1rs7a=7 zw({-S)ZAcgeW9xdhY4zQ7!Y{mwpzrU8|?hwaXf}N zwmka~dgB(qU0kb7ffn}@0N&!dt|1%gT?L|=vj1m~IQ?Dn5ISVMva(5;-sr)ZiOryN z!)=ZMYj@A&&zD*rHzrSST4wTOwa|4%Q<}e%YF2!Pp-|?vz&aJ35K$*OA@BB1SWUw1 zFrnibzC||{g~@he@0&dSyA#Sq$dARnnX!Ap(Fv+E!03}Jx`dFHiDrbb}?C4aGEE1CcXalR{BQTWY&YsFrOE1KXNoF|uo zeI5s_yj#LSqy3UV2~#dZbV?E>i~Dn^m4 z+6T<|5L!(N_;uv9wVhHT?S_=jj;;qgNi)2L@eo_zg8AM>QPNtyKPw=^cX_S8w94LX z3NBourt(S&dd4&`M5ujStcdi7!z@4bW&fkJCU~ zsg1c`i=J>_am?{%HP>b}8)zEP5u7)x3CFG_D6Bdf)zA=9h7MekG+PBwK1#)VptzFN zf_2CfDA1yScFP9;Ar1PE6o94+{i^U(nx-*sb(!m0_s1Vrqr5xkq)9sssIq3KS-eBU zJ50PI#XCy8W5hdFyc5McO}sP3dzyG##oIYc1arl^SiF~ucPsd>c@Gs%!*e&D0zC8a zEW%TSrx?#NJS*@#g=Y<(XYss<=OsMlc;3YGHXaN?o-)s*d@TBY9}TkdIe#w}`u~z8 zI4BL5Ad4--PF%9gKdID2WByKZ9g-+TkE5IA?Hm28f9WrdQs>p6L_{J=K%<%bdZcWz z<KVnGDuSVY4$GfKmTyeFSR~)}&iP?`GnR8yv z0^F_5`NIX1w#hyKK5w&cz3v<^=UJbEw>8(}O+)DVSmm!m!m(K30L^_Z0Bze&XgDlI zPx2n;wY)2qXMaRq++pS5Zql$$Td}q0&%EPT3m)$@!UN5(K}tI@_f9b>sU;9FkDH8S*A3MkghO*$rWJvn>)+~; zQ7kMBD{pc_*u-9sfbA!Cx?3l9D125ugLRY;ta)-PwJGf!wJ8`?SW1(@08RwlcFL#Y zP+3ICikX`hh;#VQF?B;hLXK=iQKKkoYA~Rfx_yZg$m(_~qHd=q$#V(mTbveweyw{h zKo|r+`C9ive;Ow$RMjjbtwm-Sj}(!mkWv2n`l;KAAF6c)5iAn~%?-~%^t63~&2@9w zV?AW&X3AbFvP}&SA)CjcOT=Jc7zV-4q4N?Vbbv5(fT{H|lygHm@Y~ytGnhYc5=x_i z*2ikx+#dY{#j?o&b*N_BU&n?`y+Hu2xo6omQ zq_T!KdDI&Fv8p&l_iFOFTF5QUjdV@Elf5*LEbGQ&dda~*q0f$FnXYW7 zDdRfWoz@0r#%1r*)Cr317ppDz?%cb%2L}qujH{TQR(078z8mb|7$}jbtvahZ)hW1+ zYqxo-)C3qsID4V&g{Vv}qnM4V)n@wvv*M--ahu{MHQ)*Bu-P7zjGCd(<@afpM4}Yf zY*+5$)4CldRnE?hre6;Sb72ejimUmulTjI7UK~BwTT|$9Q|J(I4aQeJ-l= zuBSY&m*9LN8jk@TEFYz2lxY|pPmi6)_#=Lf{Dw8v<~OH#niz1`UcrGqM&_V`yG~%( zto%q@uHZ`DPDqZP+$Z+2IDaMv8U{fmaC(O5LHAXhsWyo(ch_b4VPs+aLALFv^W!B9{*#FjS@q2aosoYv=^ArkhfAJF&$7oemVOH^en5 zkPik*%Ewl3w%*F$z_EtwfD=xC{lsj(3V4TLZ!TZFKXsY=49Nbqh4qEV@tI z8#G~BYprsRgrsPB{22CwkP1JKwhy&r9`};$+;&*_MIs=OCT%f_#JuRZ7|BgEq}88k zgYMr`8qnQzy2T!y+TUsV83@k^1d~s{t-!MHvbF=nsV}np`_noMKXfgB7Q1kW%5Az@vU_37W!kqEwn~oirZ`pTA*qgRoc_#{c_R`H=t#GD-5MsK~VJpRWxW=cXpRV0hC};EJ&4gn6gvr)%`klYB zSFB+Xr2TlMHsx(3pj8++xrz{fI?hg7N9kWZ^Fr<&W6u&~^>INR(+z!TmE$h~_OO7N zN>X=V8Pr+aZ=t-B@IeN9Fn2H=G%06oxMU{G=;Q2fxi;+ z-{C}@9~HzqE@a1e?HH}M?i2np7R`L>ys6+lPp&6&j}uY^UFJfgds4|rP(P);VmOo_FBJTkyk6=_>}(ov z4B&CwK@v!3vxz&V1}eyVZ9r^7D*joN|Z8F$sL z_ff)<^{Y+ZLq(t0$fFRP7bSZZ>0+lOmO|c3C;(_Vdmo{q5+>%9 zVCVo!0e}(oJEZ-YRnH#NcJg|Hq(nHI(ZTA2?K-60ZKy29FW2Wmhd+B*aN5D>EN;th zr2IesANkg{eDiO}pCR&Ll#Xw|>4tr2KQZ*4oZ5eF#b`BW4s7yQQlZR-`- zatMtn{*8TX>odIsWUc&eA=(CVK`Ntq_5(x7YTZ?W?p2yTY|6}#F27-vu+;6+j;=o> znY;Xkx>bi+W|fCgA@3nJHh*vm85Z27X#u!92ECgNOt?K(BV24*bqEfVL0d5c5gMxy zrsy04$Vj% zo{(nLvf={an&K^p)n|UgJ}d}*SO}-qG&lh`?(^G6@XMnjM-Ea&FiGi#K)pjQ1<)^C z!!by0#*`p35nQ^fc9#KV*E+nkOiShwcon@!#8w_;>4klAFK7dfN#OntV}UW;Lb-RL zs)};lZ3s)o-o1m%qeqxP+(WvoN#LL>y0&{NvVRt)=p9E`L*daijK7 zeDX&qBwV1x$OqJjkyn~7zv125KKK}VR&h^Apcr%gM{LhM;Z8B;DtJ})kwBok|Cb}* zMT~p{rY&x_6?N^J|J&eeowT}Ef_H%MWwi#};D<*@63d^HGw3v0AiCSe*A0iUsC5tR znZ@>?=QN4xu!9Ymmt?s%WG@24rRa3iNO75zqwJFn=l9bMBwFbH^U9mWUVNJ zu&5`JZ(3Y*I@%_VA(}W&1r-vta}9L$vkPMBnmdf#oBlO-u=8zr89_Yq<>0HR@az4U zgXAGA$5QeWN|GzBoI}YfN|M8^JeQL1BAG82Q}j(lT?dB6U2&_crmFGVZ1M^MKPSLu z_mx$#@;U%u!^11Vud(h+K+TyXnFK^3Km0C&A27p3e8mp0yBv9b-6^_J>uvIWxx8NB z$z@j=o0l}BoGSEH3t^Y5kkDL%A0I--2JHm==Jh!Utkwt`8eWM0^ygGlj%fUetE}(* z{!WUkp({{U+qzh_-1AhEtktAt+@j~7SqD(7I0B;$4xFxtl2tt;!Zun>L}p+c8Je9M zc@hOdhJ7%3M}%BL1m;z-dl&R_l3S}=b8^+J0?Lcks?-Qr<@X5| z-jNN1W2AhDpq*}GqYfakg!+5uzG%@qGAGn?A5z;4=p@56ppiecdWKzDFyub;I|-Ei z4keXrJ#ihi`lcyRl2#6uBZ16UX=OEo@N-CZhLp|!rd_UmCQl=jIezlkDwmO%iB(aa zOIc|jvQ-OXX(DW0IBfjp7f4Xnpd$2=Tnq#{y2O~3_@kBN$&LL)q+A9_B~4`h&OTznivIg}r!!63Zav=8f5Mk~DWpZ-MGoU}ccd89OFeDE{L5&rf+2t7KQ8hHeAY#`?Jo~Jt|Rc}#q%l1d+>P#+b%vhS3ooW^d3Q5{&bk2HANrj^oBKT z#gdox+y4X-eYeFuyjnNpxI0a1#xvpRG-(T-J$MYyq)D-OGVy$X=c{Mfmw!&Q6qRDx zjrC?1lO~*3x^3Vi`0irDV)kNjyxy>Q+mYgkF8c51u!g@3*B32kAy2N^sg7o^r0_Irt_dz??r%CJonkH?n{&8`7kOcqVP!HqlwE zvm9S4s+}ULtzOFZmi*H^3tgod$Wvcs_SN%*TZ!MR(k|t%SQfY7+Y03HRy0yJ7i`U`>b?y_ZUn_FK%v|EIR^ntvq5d3vnmu z&yQd;-MyXDKu!%k3L(dY4YTonC=Rbo?FfcPB30<=G=Cm_2?#G(lj~;PRk77Jw;7UHDTpd9xF#2rr0h0Lj;Cs2(77fr{IBJ-RirV!-*;S1z1_eSf(_=_S?Y8TA$h1hrqA@CBwY9%wo0Y@9St(+ERQZl0q z`FS>1>YkX4ZLv>h=uJSE0rb z{!2)Ee>pknS72TvOSeayp ze>z!HU$5aqh2Xq=K6w)B=jk&N2c#0YC@3rIZG1frj0@Yk6E*bY6G2N8vyXbR1)iuo zx&fd_Xd!Osw-W0)Ab^iPl(UeomGxjdJSod;@6EsO+0OezJ=reL=$<8LeIc=VCEJ|l zD7NwZEOy-!(dAGKzF;!$Ebf=V2Cf}2KuhjMQo526Rbmh2lWvjvs0UlHcA);>li5>i z?{NMpjhJ6quQ=*#ygQMn9z8*9bw(DP0_MS~qeGX5@i%+4vlWA=>yX+|D+Uc*i*C1{ z_pCJK^H~s@!h!QzuS@~2kLL53Or(_)uIsA3kL&tPdx&zRnwi&j{R8*TKXTuThuo_1 zC0t_QE)-nB%#F_HRoOI}-mG9N^a?Jyu0$by7TNhW{uuJ$s8^fS3Jsz1ZeUWW;rTc( zuTkdJqfPmo?n%UOsiCJKy+yjpa3_SD2T#Fy5+>_Tx@JfX2M7Z1Fcs~;g9r_kCWPKBQ)LLH-RE0z zu57ddRfqp7D6`UxRIO3Mn>emD8bmI}&lv2F6&VU1s*-9;LXgJdDiy^DfFjhTXPU7E z2-S6x5@f&>ptL;fbqL2%Qo7&IV@K8w2$~P~DZiGgx3DW~mkf%;b%R143FhJ1hLLA= zopf0y-@N26mdZOF#IE?}j~h|c*C{6Z`5K9hZ*#OOcj&%ReO0-H$o7N@Y$>jw5~ z!I=3euR=7giZ6qR*4X&=@vLaw9laV!anNjYHHLYoa}ojmax>epuD|}P0(NHIgZk(~ zHp$yh|5Ff~>rK!{&SA_uHvmeOUGfffx*DUr)6dg5$H1#u$)Y`&QJHS`nBZB0lL#cc zD=R}_a1L;(`V~f(8nr5vw?IX;F@Xu3OccK6SS2s3|g8 zd2GJGAk!yUd8Q1#Y}xU#ihf)8b0GhBn9+ty4*l`d6hDV-o9QI_Y%A_C1DQF1L7(${5yFBZNn%k8F= z0=uEeZXXso9^{5LIIquZet8o5Nvd-h8d)M zT>IE4WqPyghzX~+<7Wxv4@er3PTF+thys?*y|t8aj{lE-PIGBo*{WrO+sUD3<4 zTWY02$N(n3z4=)6b-l75AHvPCtgi|9MjK(hCl)Y!kE=7!`MPx+^tf{+E4gG3RHoOv z?k)ZuF6K4D2qF1O6$^8b4w@fA29a?D%7?J#`#_v;|D6oW5Ek-mq`9U`o4TLcg{3_^ zO24)Xd*s=^i~kI`Uuv2=OH$WbUlx?O%bsN8OY(5NqqOj63+Y-t01|HHK?S6{AdpWO z;gRR-=~@+zwNzae&M*Fo$`*%X9awCJkJ|!TNX&Auidi#zJp1L@-a~%{eScMtBdXN$ zM=(!nXw9&9qEfy_8-INq8};09^TlyAgS2a6Hut%q0aY;>?CIyCyVs#{I?GdE8X&B@ zqXFHv=ed9AX0O?rCaHB-YoYEWM`(3}-gP0sbCeoQoEaST@8k%W>;N6 zz#%ot{mMHi7UkVY`3S=)d>gQ{cv|0KyPqGbU$d2c_k0uuonHu#CQ9%%bRt-SXAz#c zcxK_5h9?tG%2qb@g`5z=R8*o|j^}MWRa@DcFDy!ldXF-$eu4T=i(`Smu0g7`l$EVgKQWD&$HNQ!T?8Skza?0<7vXvf=5D@2~WTG*hQ8T zqE#FZKnk8|cox35E#t)pblqZUl*(cuAv*q0KHI*2n)6SPR*0~vD4dfiT*&8Og%f~a z{<#3uLwnGg&;K4zIZv31`tiM#qlTWxnpL@H4i+pGNR^SabnVIWW0`pFU?TYCY(Jng zPa^>8UP>WmSfJI(M^U_D5sFrp;$>A6<|0rN3W(Tz9JE1gk-c;t3vMSHuZYG$b`;9^ zM#GCy(J4?5b+9{qxgb+mqddT2N&wrnvL4_6+xR-5^6$|||1zu`e!8ZA*hlb-j2|3Xrf3VR#$!(z9nmT63Y#y;p)a=0UfVbVJ55j_RdtY_jtB?V=w*6 zeD=4E@8{8CPM3UVu_l7IB+*<)PiROBmC=es;nJ>9+@UStN8s{J8xB+gQ>=0r8ZQ!R z0!7u(`f^tOx3LN8De6mTSR>YVTaj*GZ!D{}B0YZ$48mg@6=BxSui>5`LUeT6Y44uF zI=wWmSN9C5##Ln!6-+n9RVAB0GU1$I#!I8=xM9^xh5B9@?2DK30(dxn4&vqhX`3!W z?d>SVK=Y5$1%-u5_6k(pJ1NZ3)5@Kz1ibN=Z;4;LOC^;=#~G?I2}fj04dcp)|rK0U5D=GC}T z-^V1996gGD=hGo!g|)`_=dh+t!<;EFcIMSoBx*st7Q~8xmW9S(Y`w4oT*AGVD>@UR zLYBO%<)))Yt&x&gA0a(W5Jz8(tL69G!HonCb+xoQf|abMTLqLfL&?fkT8Y?(S0nZF za@j5fJu}$3SHYz z7Y6H~$x_|PVOf2%q^H)2bpKdbK`5RnvLbL%D6T4v5ZkP7BRatMyyB<__48IxuPF+a z%ZRJ^ArhNhF;@TOY__aodS@cqC6`Cmv7;3O?xp=SE`~3lGz$K6hM%p;hRPW9sxsMB z8B3vyejB4QjiSdrShlYjR|YRuGVd}k_86we1Dx*TB4_nA9fo3M(AvyCVQW?|$E2M0 zdY_mcI34tTFPh*wOzkr{dWux4)j}Y(_NeG?H9G*pII#=s{>;Wn9c53_aZ#Zb1XRSsc5U&}KjA zDS%|+)|(xcZ{>fT#!4z54}dVS>y-n0Uei7Wcqpqr7K+zfvJ(VHZ;mFqvp3&KLHXvv zecWHRt24i8j1PItJpUX!zj=Uu<0SU`<_Gn4lgKt^tKW#zf0NF3yfIH0#=YJg>fB1> zGj1Scg|^9-(wkt(wJJ)2-dq;NpF4-vx>m)AWDGCSlJO!L&mYy2DI%G|@6(cLBALeX zv}C48X7WrenIn=pJb{v{SB1_kct2f$=JLS=f(U$eCp-CO-wYvoxx5AKD{K=nXeJ4h z{#9%`2u4#*S+xXK``~<@i?hYTmFItol%)LzY9uOncPb4n z#m)Q;5x4OkL<-;Y0vOEYoH{n690&?P zbVw41&w~k(Cj$+TDtj0^{C9IgD@eFz7*zaJQfC_vB#z>)fOHGs-3zM0hu}l@CFj2=V(-Ag-!LzO+A0;$J{jR8o5i=_eGv z!yP}h*s0^gF-iSR9@W<5&Nwp@P3~6&)AlkJNvu?%w^|NmfyELwCY|}zR1jIB+Re(J zM>Vb>0;q)z<=Bp+HzWzY7~5Zx_F){QB+~7YeFV6kHYE-9kdb7Q3CN@1c2`(fN%1x* zf##EV5(-l@pQhfTsY%~{L@%B7+y)k8O!}v-W%;J#4ha`ov~b_GnSLpEk@Uc0o4~e1%$Y7KU#5G+^bQx z9oZS8RJ*<%fCAOub_y{2vHfj}DzUg{0b5z$MD?Dslx8Efwnto*$9(TfT;JZr+%^7;tJNF~r!i(1aI^viw11 zzrfaBtApPTfjt6JiVw(yZK&=ni~Vg9 z-o?Mg1fHi!;XcGFe|vB^jhvO&wrw`;18UtQazwz_bM2JYHST64;iJgnt|Shj-lD9N zEe&fi>EjN2yrKhFBB3Ol1znhJHun6LiMsRb#FZgkw!m;D5!D-CxZ0~v8|8+-V8XjT zPV^%Tn zUzb`@hKgt+Lc?eBxYr=lBV-1Kr^ihnHu?ug-A?_5zEh`er|K{+M9C|P*svFpBQ)!u zF4L78I89vrLkY;+2fFqWzT^n=Q-a2``*GRWmIzaETf){d7#;tYmf`4=%`JaLJo#FD zDiwBDIXfxU_`E6=hj&Q-?QUy+E-%7%%~c)i*;ERU$4%@g*In0=R&@&S()W|f`m^lq zYvEZ`;%W_@+1c+vFBnTE#@a{CPz9xfonn0hu^i#6Ng5U9pfB)Fd?{r&rr|2%w~+_6 zDeKz%J`1`&4Sd~mePFO2loX+SunADNZ(+*yJ~|_NNV!r}%BROF;20kV%L8hvl{OSYr5BHDp762(i!fc974FqmAL&hQNeF2HcI z!aG-+8&(^iz>04SasGh*rhSRXRD@zddqeT-RPf_~w~QtUZP_%7)&~DU^SHzC+b&9V z$=+9xi`%6+5E}1B#Oa(z^P>FtATY224xp{HtY)SJ>j$V8e3~K+46bwq`V1tJw*#U0}`*(b7FR>a2siDD|V{Sm)xyf-= zR{TT}_P?G^WJ1n`>3|<`K=*cUyW`nOrYUZ;(gUij{8yYUc{R*h~n^NFY+T(2lLJ(B4m`82^p-7HAlLlZAfyN)07wT-Cf9mhw)Yv2|!3 z{RUQu*rsp$iZ<)fpljnv;%yS|i8S>Ngw1bwDTF=!&b)_alh%eA#&;x$NVptH7DzW7 zGy*uDa>?d!rOv`&;xzU!7^^j|paf!Tvw~k=j<{>3S+clk=d31d1yf2wJ-ETA$+)IC z4d+Zdem!Omo3S+_j<`$;wEviVW9bxiJTS1eR6_}h5BtvCUfPp&R+M{n>%g$H)HR2w zYyKlFEV+&V=PTIfTO)!5Z>Ss`SH?5lyCEj8XciyKBHr!S@55MXMT^cJS`>h9<&Z$n z4{)Wf!G0s}-62DoFsSw}X|9&uOMj*AR161^YJsOSCxrLG6x}a&V+h zl1=Y|HGUZq52k$iMa}qRpn_d^FV)$3D*73^(}dx|&#Z}GE~DS35g)0Sf2e7qJo?8& zurCllqZExhP*7?NhrXEHIfBk-i@NX|Z)+>;H1rkL;|M~EtFpX~FUklb-@CHjbzJWW z^eixVW|}%f$8`_E86Z8K!?@Zjqqph57p^6&tW&WhdDQ6 zX2IE?mq55H%aIT&q<@jY=1HJD{@`sH#-hFj^K0Tx?P@|VdCd5JJ<@x(Vf8gKjJqiCL61HF}O=PT}Jl;yvn6mlxeb9~36orz=-${i0I|`Gan*8h1L91_CLGbau z%E6JIaENUMtIMpdx15Bg{2+zumZIE6_gWya9)ap#oFIJv>L zb$bj7d*-z&H}Lg#aw>J4#k&JzfF5C$A4EsC5(1fYt2H1dWc<#2P9I$r77`NwU|_~q zn}x}9Mom&2_J z_g+3-cFDv@`*mDh-D@9}veZ5(<#Ak+tN3Wfzg)XdZ~J7YP1k7_<{d9&BX`FH7KkZ0 zo6X-H7PwHv?_ettUn1hY*(B~ig%JR|FHJ1F$t*#8v7;9?Yx-k5+A?9G;&_8?`ZA>eqNIhLn>0DAafcBWZN zkNSXZ|Igxq>+T|98X!~1nNKDA=^8e^T@gkjif( zHI9c;I;)xdw_&xk*LZXL?KS?qoi*RJWPEYSL{2{FSz9WZ8|%#FV9Rn(8BqCUxhIrE^x--QxHFqUE~pc zNJVSXf+3)b>dK#v0vWnsZ7oVGid>M-KOX@Aq|7t@JdE0Y9UV1BkY#tk z3|b9y^iT&>sV8*}dfO;r_m+IWiHM;%W2Dey$4F zzolp9>Zo9I4BII$t@`c&3fEUBU{xTqt)5Okrh!%t*odiM-&Bw9`zpojknrwroKh2QX{n1Ww!6Qx>;V)z#LWdbw;ja`7>4LM*gCS5fi_I#&QY14u zJIvF`lWo$}40-$5_>baxWt1o&r!Ca zJsX*J17+ja_}bKFh3UU#PixOMcgUu@-8KT&c8uV53|zvtT>-03sz%%f<8vwCf_crP z$LhNkdf$EJiRcPD6}_VIj+1pbM0uyT=Bg)LEq`(7vONMZuF8F7zU8$ln##6(*$(Zb zh8BRLl3=DczIFfzzcj0nkzb)yrQ`(ZcGzYCqmF0?Z51GDd^>2508xY6L1zVsTG$Ta z0u<5_)G9z>9YG<^_lS+~j<6U3itGqV6QHP$poIc7tRrZ-0L63!l?hO6N6=;giuZ$@ zBoCE|NXa`Xqn-cL0xhLu$z}mc>j(Mpce&bZb#5&0b1A*^u7Qs>Iga^KypV={Wd4@zoa9qS)dhn1etJ@o?l5) z*v4z+awOz1g13R>M1i%U1J;7d5~Svftt+iciEWcXtWo5CJukLBGYy&0TA6J)v~QsT z0ykbj$!z=Ico-C1PW!)j7*Oti^)Og+3B{tkGUX#|M6zrJUR&@Sy(Byg3N8x|0|ew@ zK$LKwKNCR;o_IVlc%txx;|alIzAQWp2vbpsaxtD2c*-sd4}<1r$`Bp~n-K-I|K?%P zf&$=(kjqSX#o(FMEIbUFn}vq~0`f2*4A9tuU@M-Tc&hLm!gB)8Sv+zQruq*&DP$j5W_`|f1NJ|3li z?oQVFajHI~f+Zgvb*oHTIeYBrtlQG3jxN>D%VF8aqV(f)*pg%E2~@+H%r5a-M@hAr z`b09a8hYcc9m*&z4PB5>+{3`HBF@>_g<~JyM)&RGwx9vK+xxd}7qfiw_uDY4Klzau z{MU(`j^Gzg4#j6d!%h~4V}g>Mo{A-2*&d0S;?#yIFpTo~10S$WC;KM1^-!90H z%q}PK+w~n)23OXBE6-z3@ue9;F>qyT+!g#dkH=AmTV=7WAY;RC{BMQTGY@wdE_*(X z{U(1yn+g9-9+^4;pXPR@eU=)(m2%mFPs5|`KqYYFB(Gc4u@deUw>ts`^K~z?*FJq% zU(=IyJ3UE%{v|f^^klN8Up#$3x~S!Ja<4DaF$(Z&vG=bHIC_+hym65EGQ0D$(GmXM zYXXmoqlLcvu)({Ke82dMA?(G^67~0lu;ZV__3BDAnsGw+U~Q*18pfAd?=!>nKlEhj zXQF739y}A-d)EdGgyv!5Y6Kw@JO{XUBYXAC4Cj@)c02vewhLQTD9q}H0fRL#N6Bm=s|Znp6)TiHElqxJW1 zWUJ5S_5A|dhof>qC+rMIH;5BaQbRWW+}>?JpPi$N*Ze<>d=+{admVA?^x+BEwfF)1 zyfqQ0M??BT>2n<=f&8sJsY`G^w(`pf`scc`U0+6<$Y-h&E>rB{mqq%F6n6Kylln)J zS@iiC&NkAs&`~f9$w@08KPq#@(VI3Xe?^a^q}p{;Y`m!-zFa8`Xj@lOu}`$||DaIG#MDA>fzCdtNSDXMQNR;O_PjmKmS^Qf z7oNue(W#gt2bWm^m+6b1LmCkq|CAv!ns}02Lt((y8h4_3&`wg}oCWi1)C8)R|4U#| zRHy^^cv$Hlcl=X3oWh|+B^?;f{i;vOS#*`Js}e+ECB2ktoT~p7n0~Dtjwo6#EM-?? zi0gr7IQ6t>$B6HK)n^=RI^Saa4jKkuhUEZ1;DS{5LcoeRTDOn4au+V%l(U7<93!YJaOe%0K^RI{=;+Sa1fkclUnN%oYDA5% zvp#TinY-gcAQpA!@n6c&<3lkWYfY=wx^Vmjp|f-F zQ;ha*_?1H)Y`Z%&MAt#n>YF0_0=lQjX_7f2-Y=zLzTya`F7U@GF`CC;y-@|WdlM`63|Ni=6_fRX%kKARU~;Px@yD3 zp%bn#25Dq(HSi0#eZlhpLk!VX<3G}RGYY*W#FBQ$ZYLaHegu6b+nj7{Mz6tLlK=fV zaHC`gCmUP*ko6iQB-z;NhqyFISh7*VB_Nf0RD*;k8x4NQ0u2(GY&7{H(=|v`veB$T zoIF_rB_kZ(1}v}9wv zAMy!7Zk-K4hvpY5osx}kM-)xis+BM#8yo$QS2c(!+1TWVtkWQ|$;L20)xT(v_+(?a zA0j`?QZDv!PDh5i%*3-qXy&OR4CVEc-g z*8Dsti0B%EjuFvy6pa$mGK%&QQ96R+-9&UFMFT{XE|_@BIwDq1(Vs+gGes|m=oX58 zE}}bea)WO;M0^iLt3|YmqB}(N07d^PqK7D2j;P=nW)gntTx7gY(Pu>TG(}g4=vj(B zDx&8px>!W(C^|<(>k)NwtB7*~XNl+uicS#GMv9IRQ8K`Il!!J{w2z3kP_&zfwo)`e zL}}ULEeiF3fucVlDtIKl<^rs!$KNl3vIKPasQ}$FV%K=|A?!JUN!?C!@wOg1&g`z{9=&BMt~d+^^Nn)zr5Clzw9-3vvG<3@z>arp9bk;53sVIhU()Fuw6e5?H#6cfqaX+tej(xSw@b@LU4=;~O#tAem{_qYCTZ%zAY{A|)Vf&7QNZz`s ztq^|-QK|r+9GY}k(_=n{R2)}5j zLDDb%29cSKO2X)jz+RlsqoN@wVk?20MZp7G_RGMasqHj)*G+8mFT*C^H;mS5{^cuL zC7o^|tOE#tEb<_K3dW5X+FV+J;g^?%qhx&lQkY!p=*~~S!YoY#(#2ppENu=BE)*{G zeX1O!qj$KjUBu2u^hC*`Si|qI9+lbns{;O=mv*!BNYkCP5!~IhXvW8@ab&RXW%9Jy z{5!a4_o{oZ%Pp@u`jx5wl~)~G^6Oy#=Zxew$Nu)~!+jTi)xn#M9B3Y@>TKDuC$Z!! z7I|rmZpb$4rEYrttKYGO&EbYixYc1L&GCla6xrEa9{_JH_S$cc>Lk|v%5szDW3|@^ zAFBuS-x{~ITruiQZ9YoO*b-&>uTDtYY%Os*eWigZ*A@kU2D^04V@SpxjybPK8)#3* zwp{OTXu=MK9l1V1XJ*D5v4($9GU>)0hQ}!K*p0#cA`$7}ibFm-u&UvTb9p&?_eN^a z<+64w|A{ho<3{xGI)^r!%BJ>Dm+lTvm!8J+1)iZ1=~6tNRd}k9$C7?uFMczv%5_+m z6qFVVZ};C*`|N@-qq)SSA?7Q<6sCRiTMjn%=J3$_aI69S#UDXlt%Qpji7$GNJ#zC- z+H~)}*>4zRh0fVaVH8`SnY!lN^7yCt4JRs82iu`&5Pkps;Ir)an|m!*m?(aCi>DE1 zht-Gs4#RB0pM=5fSp}#|`1ybOi6YWG>#e%alb@lzB+Ojg;gg$2CHZ$$zKs{QcgCVH zTrtCYhOUv}il0Lh@4zlpPMaE`JogFw4r?149_b!7cAlIJ*YAJf% zFtbejY}*O>e`Di@V!dw2%tuGky@O~-CUm>sJg&?^92Xr4vk;R15`MB-Gn^}@0a9tD z7v)tJ-~}BMC9fgUi5tGx>k=ZnZ-fNk!{)P4^Z3?XZMYB1Qf*c}m94;Q!-N3cu*HvH z1@Z3>fAe6V-vF@q_ z!(xLj#_|c~p=j-Fvx2Y1H&hsO0In2@{|bbJ^biiRy~fpvdlL4 z=;O!P(0tD8_d&~KH6|r2LUF%u30+6x_a31l@T)RnO+qgX(NvqOCEwyMLTBOcNZf|u z#P1>J0WLSA9Cnp-MMOt^lK``-pUTqLbmC97Xn6z+7BKlXSd@S*=?JT|BZVm)BBxPi zd-=*@z?GF;d?r1MF#5rf1Ofe7$r99`gt7a0n~fmBz`mB_n$)Ic<`~WFimj;Srjn8{Qz=hUWdcSOmX-K=Zu{zfJqmz zhAB9}blnVDF}w{;^QfR5wSeF-lHdDhV2f0&D{3pgC3(Hg+Z?_P^xQGtqL`P3*rNoI&< zaz1O%pgzy<{Lb(Ecm6r^;>&y8_uA{e)?Rz<%HCuVSti`dvG7|Td;!Pkon@4Fpu zytwP~WqDKJzA{B>s;J7rco^-Uws&{s~%91ceVN z4yT5A<7tLZ#Y`XL3|X;fEebAkIC;kYQnbMB-Y$i(--ire=%k6oqiy{6_0Zj=;(BNc z;C`MVR(Y(4(&>zAJyh(S`+Q-TvRHU`;q{!1cXF~KE0q$oYYoJ8?=6p){wJ!-DSxFtR&M)pexH289MyRJ{N|5s` zn<7l`CBgJcLXs~T)W_iRkZBk4eMyMK+b(SIB~e30oTtqO-Y&szH|O=I>E-B3inID@ z;kqvw9Cj9)ROy@6*dgm$11*mYj6nXErv#3Jd4)e+7!}6K$r$lug=wX$2Qc_L!?D-^ zPcPe}6;g5C^o7`fFte9!3M$*AGD)=Cl)5E&bU*8I8k~oDVL$wR=izW31m^)uJRb6p zw!~{LoR>`v2&eOc6Bp?K0ozpO+McNJ87vOVI%5N+rM5-unV6#!a*kxLK&^OEyW)iq*m>KQeqEb+A71+7f04%JgN?X-bvwm>&rf)6n5ZULA8k zkQ7%S?p0$1x5}~l8e>~tG3#c9^fj6yk^S6>pV1HPed0yowSFXA4C%{$B-UPuqR12v ztC-*6xFfaq=l&@4ofa+M+pDxzw6R^On13Exyskj?xPYH?%TqLS=qTjMFBlm`a)*kg z9yi+O;r?Aud9cbJD2=xn@GXk6*g#L1JMKtU^>bUgOv6M|4|}oizZr**z0vM}>uklL zB?Q~VY1&%Qp3qE>YsLpf#@;&Zgeg9Bj=K2ZJEinA7WtY)LJxUMB$;_dp-bcg;nbYbpX5d4W&GVr|cwLcjzUhi*zGMXOW zyTo$=cMMN1t4i)yu#6JHG7wFD6pT=_@*ddSTp?CH_hu-(DWsI3+1Rub_l*yy{MVg1 z7&RCd$cj~1LEQcgZkjGdLO;;847q-yPm*m={_q|=P0VF~935-+hXIqH0H zdcA8Emaa$A^9*(~eN3;4Lety(*p)oAelQwD zjc5Z;Te@b)Uy<_l6Jb+frq5e32a~V)5)r_*Jn_K}7DrusnY!eTEimt#gq7UK9CjQV zq{Zb=&>4&S37Tk#6;W|9bp0gUTj&R_dz&Pq*K=atj8*pYh|Umd?YbWtplyUpPuE2q z$0OSv7^qgvM|o>o671zXO(T5RA<} zAMsWkX!@cVh3om05IvX}#Ef4xn1oL`xSggTwjz2v`-s822AcFJj*@iRW@6HtiWgWr z>bpH%Tdn9$BBW1etS{orJIub_HiNj`SoqgqGJM2t6r~F6MS>HDPcO`Y+Xp#6#+=06 zW)~I<;{!;*(o`7H=6}t7tM+Kjv%}rT#S$zTbWF*$bJ_M4UYy-k^N4DH13<@M6 z;^SVAdgN2+Rv|W!aFRzK6`lzs<0RID!bgDwAC43*1QMN>SVN0_oqLOfVM7Ste*>QL z(N~kboVj>hx)oX>cL)iRR96Wv3?Z@VBwADxs?gVVVmGLJRlv`At*|EsS87mF==mdW zgB*6VZ5&F5ikTM-h2E799!QpmInL{Mk@tw>9#<@|frPdg^dN!DwAXMN5Gtl#nT10B zP%_?McmE>J{ZEJ~hapn+P%>F^aZb(Mp+raQucsnJ?2i&(h$zN3ESYl}HA0>yCbugw z<02E$Ghn3Ot)ovXx(C+ME7H$`FAz_oV(>uB>BLl#J{uc`v#yq(ob7C;dS`3_y+_)w z(#JE%Q4I_p9F)aEHwY(Xwg2QC`fnDB0^!&&GD31SU$_DWxvtwtuiJoKiDMi*PQk)% zJREXm62gN?xF)(1*Q0|u@rbX1&f^?mE$`_?;ig@Xzb>R}6y7JgBX<%6R{ zcc}Z$rBEGb0+5K#^jx861S!v=MZz_Vb$905F*u#;{E`k)1Fk$Fr4ttHbrd`N=n8p- zxJeqXAYOW~h(pJ~?y@u6nMu9V-rx0HxU+bVvv8@9F_OfHbXIT2!+?L#JaAtij3=ScYlJc*Gxgn%e^71KRMkpB|S#?Ut4kZg@d$9{* zuCw=I;Z!IYLhcB^h7xu_{Yjeie%^;{f!L#uP^wP~>M#;3Is2|q5=KUebz)nO;#3$J zBbwX}Blu{g5FAd%((M^Z&V`R79scWG3t8bLB!i}1xzwxT@Rdt<@K9QO8{mg*cTT&` zqnV9Ix~`Mrf)J9s7;S@_+HO2!Xt&T;Pi#M9-q~$87W*ytcm4@Gx3j0Rg)8BNmwY-^ zh!{nN^aqUMDfEOM%Zkp4bAVP$WTdBgWwxMhDd4~gfS6Bt6-4v@J_3X>#OvE&h#uA zL2-aPD@%Af0?;K<6p<2YKJOLV*7XqeJQp$+*yE7jx%Wga85duJ$1aiSIGP>@k>L0-a}2m zlA3L9XfiTjnCMNcrrQ_Ms*;LRAxbfAJvG`rjQrPVGDXZ~ZVU+&6?4Y8 ztxCp_m$Bd|c#kE+^&iC}QRA94_&yANv+2wK^oTiU6>hqs*>ObSnpoo;DrdP2(GV^B z3F%|ef+tTxjC=NwM2Iu0kH(Tgf&OBc&6;ybw3Ivu(^I%GmLy7#PVDX$>iduZLi9K? z!~Pmh%Q*Mb{KK_x<=~`p&lHSbUw8ufgf%Z{Q}KUjA+?wXRk5f_hw2Vg+cQNcbiwhU z=rR%#;Jd~^!u;1px{^@*!nHeQ!YVbfc{JaTQ4>O=F`_1}7@hBl zQ6sE+Vnhwa7+r=TjS;o%i4iq>C`Qz+7$d3>W7Gx(jnTmV-2F^_=2|IkN6gpX4aD4c z+pPQ5HDZ=vVu@Ljms3;1k_8?Eow$JGYC1ihp)a1*tn}I!uZXT`=g49Y{Tmurkn1v{ zm@b_l(r$RDIp_$!LcAtgd`G&=EN zTZOly$ymY&C!n7kswq0)r2zJe8r|30i**OrJr8gyTw(qrj$Z4^yC`+;%MEaPx~yJuSyj;b zh34uj^fZm*v79O2P>*r#dZA+y@h7cQUn6v~kRCp<#$Rv?th1cWBTSIbw zLg`1l?^>xqF&%@u1+T! z;UL*whzzQ^uR&T2w}-gGS&mFg0N{OdDMe827k^Z zt-U3|0YcNGWRhf#x@Op8q@TnCujJLJ=40L+TtG+spFD=J=?SY0S@jqev3Etig9oCGY zL3daL#vOt)jf}FN5?_GAw;spW-bLC6eJ(+EP;DL6_Wc|UtEi>6_$EYM80}$@Wu_?dv0_}de9jsAu}Ry=q|Ghn(Ci9nX!d)4OlooeeKev@ zy1_zIw-5hI55sLI+NEI=M?Z{&6Qxo;BEEY4Qg~q0#C$Bq@*BJeEBY)&;24HlE1bHai zXpS|ADT|MSPH^0o+6L`I=HlB{@Z%~7EL83OF7-HSD%y`kQR=3?d-A(zR8M|m&pNK- z%42$Xt;_2TsICOMBG8Nr75AsUUGbi9wh)n?hm6br8R>ZwiC@%&e^0l0#q!l6Q8e3;pB!qwf-=^ej3&#y3ZSb z*G1h;7xC58yb~xJ^|cDzx%`V0W2p%;{f|S4P&4B4hX((?!@qo#nWDzN_}4*D{<2Zb z7M?>9LhwDs>o0iz>jqqOqD(d&J4|PV!_g{w(r6vV(KGAkA`uZez6zJW)#5nA+&b$- zchxPQeVn#Lv=PI1eV2H)58frSd5W)P?UKR(U)tM+MVloa7`@B));a8L5)bT(NUk_P zV}|20KL013Rk2ixw>+ivtig4-mk0go?1~}qHpC1#K z6|VWvkKoR(_yg->orh(%L7j1a#O6mg$;0DZ$1k_8RHFQK9!5d6!%hl2sdJ&r?yoDw zq8&>58@NSS%j9b+p~C3_Rye_NsdGQ4)3cCzTMEx0S~deuA7a{uaP`Ft(b%{Ac0TZ8 zTdQX?ZnN`<=TlSLz#P}*XD__B$;&D*%{YGFq^f>=p3^Ys?*E55{l2a;+xuM zY?78XEV#4=;MDZ)NzZlL)9_&0&*|(EGv;p^`+m3|h0S}3!gfKC$CX zRG0p5@5AjK)Q#dU4F>%_O1Oe&P=RgK|47m9=k_6P_rE$Cq}Vj>^4#udkkJt?Qp3Og zlBY)Y%%!$&!l-DL^hs4XRx23WI2u5@;u21IZlQ&*B^8fu?66L!{^kcc($irlYw>7F zO=>sMfTI+Swx7k111R9Bm3nHWozR6f&y#3ks>7s%}9gp^EEJU>@uUzgR)`b^k$2J5Fqb@SOKUz>Mg6G$7S*F-wf{C^Pz9-XN*ryysqcaDw%+l@Lq-g0 zA5_sR)f{v#%97w4LoPj=-u>MO-L03}D~CQ}HKF*0v-k z-O}l5`ms5kc0_Yq%rSVNH4crxk9#cIitPQZ_0q+*IcSxh?9#Oauj5{_Lw?ULFZM-`<5SC&Lhs!{ z^{ps>c$z9UiP(xs@2Win2CdDa5ss3>wCNs9>#s|n`L!Ff$7inJLyj$=3CQBuROHYM z4BSyB5td9|Q@6gH+K0(;jrvPc48y$}vda_iA%SQT;0Qqk`S9=6I!Uwrx84%w0^}6r z0OTK#jgU2vJjenFBZJ@kNZKsq75xL`1393&bN3Xg*z>%1k*7RYYM0Z1d{0^}+r9sV{V zl0lFNh!zqL$%HJ2tcBcxyItTXkS`%8AZKNE3DW_Eq>qI0gM>p^$Ye-5qyVxO@)l$- zL42+^!F2Z)2$W_-2YzP7s(Wz$AQ-uBN^40DCTv%SJm^oc{GywIw^{I@nYnwA4`T! z-u%Lc3#lCqF&YwZk1zpFR3iL(?9iw%{*ZaFn@8>NF#`G_gUD@B%v4A!By(HMBbj8c z)V}N8DBA8YvRzT)tE}lDR&$tIkj}f9_oA47Kq}aunu7zV`9Gq>hZCt_AhZo2-a=&p z-j8DN5*1Sh27z55E&H*%qnP2;98`cwA4D-DFf(Clp%@8+T^~g;C7@q*6tfakf=_}| z!Mk7%h}y>#RM%`=Oup$;BeRjq5+SFERBhiQA;Q&_#8I=fguLF%o^&!wOrTT{HHb+E z(UvkfAf2F;fLQ!sNZv>8JGb2fs?@ia0;jZagGWT0Zs>%U=qlJv%yGk4j2#GAB7?biYzdd8i45_K_SQl zC13&Q0j>h2)Et$<6D)(i7q|iJ4OW3Na5sprelT@AQ6|7z=zYK=U|+Bi^aamV>$54;KX18ME+57OE<0A#*FnE-vjfnWeQ2n+=SKqVLmn!zDpJUA3g0fWGFa2S{i z27@KwaB$5xILJT&MI{VIfLp+k;4Ux(+yl~CejOMFo&v+cW^fdE85|9EfMdYB;8;-h zEy@Jw4~_@NffGO$RD-dg7EH23p@U)`s0VXE184(TuoT3LrOZ0e1a1O3a0h4st3fMx z0E`41K%6hbG=VW-8yE|AfpMU;5oHMU11Ev@ASe=`hyW*pT5t*&2~Gv4g44iMa5|U? zCV>UuOmG!A8!Q9ofE&O^!5v^0xCdMc9szT~Ch!@s4J0xYw`)*H(W21Swl~-XeIHPI z8Vw8R2l{|PpdT0k4gj^FKNtxP0;hsQz*KM;SOAU#SAiV30knWsU<|k$Tq;9xKLQ0o zlhp)D!8Wircn$0Wc7a}?^b8^b`hi2hAdmyK;8HLWBxu@_Kq)v6><#9CeLx%N1(t$7 z;5u-K9g0m*aNrJ*py}HKO2Im?H+Tx{12%(R;APMU>;Q*=cR>#H{|^2GP%FSbpc3=~ z&7cn$4-NrSKn~0W?F4P+Dk%DZWuO48p@;~z z2W3sL2mL_~RDdJ`5d!;wW@-<{H=+KMaflJM0Mn@jmM1n`*HCk?lA3E#O{qD! zi<*Obs5y%iqk8ZZ)tixGR1aRJ`beZ0)q{5_V-eBsQUAT-5!3I%sfa0M66z}`U4{Az z4gupq+A7jv1Z~d|Mgb;5zUna1;0~xC8v2Hn-JK z(1nEq;Co;L_&L}F9s%3H^WZg*_6J?yDNyLym`o^Eg9RYnXp;^H60i*VIIskIDYyZ8+VNC@&x55f_XKxCk33GC2-1$~JoqW-1m6eI-`K^T?j{T>U{HwwdxO#+T|L?+=w;CRLBAag z0>1_$z}=u0{0fW&Uje6r`@mH2D3}TE0Smw%z*S%)SO!i3H~fhFuY;lr2H#QQf_=c< z(4Pit!B+4H_#@Z|o&e8-pMg%W9=r)QflPB0vjgw}KL7*3i(n}DDyRh8Kr^@>jJHGa z4HPNhB`_U42j+qoz!I%5bIvAm&9Xcvvp|^nn(4!5qGqEuE2nI!7EP=r@5gz-GAf19w0_6Rbrz<7rf@VNggN zz(55afW8D&;EqgS1N6^=Z3v(rNQX^UunFen;AJqG+QYvZ?0|kHSOR?*co+J|!2;+* zLD^Y6(ErdJc?*eht_Ne@ZY3`ZvLO;0iDY zECy}hERc?<`-7#>Zv@wYDc~m1E!1=B9txVFe*=sM=Yvj|Yrqufp9Ja1IucBW z{sqtvdKN5zz7!0w!@vl|Di}NivIrmuEQ5XlxB<)qBVj%atb#rb?1Ekg?uLF9NGCB0 zpceXtU_9)D!6VS8gB{Ro!A9uc0-fMf;LI{ujDmt`#YPRl2h0ZpKo2ki{0U^iN-!4O z3MPS{fb+nAfH~kq(AHXGT2ICdkZhP$lU+p?dSd6rjCaZ4nzo(9zn48Ubao1jKmN~2 zm=-&IPI6joLh_U}RdPz&wCU4kr%a#Agcb4Tq@0zpg^QPGg=JcpFl6n2<9=3h^nbNW zj7m*QPIxp9m-$bB_OzI()05+HF>0BRw>%?vai(Hq2%^W5<8Hu=fVPO{3^wwrZCB#zm#cof@ zQOQg)^?+Y8Y!VY=nAwX9ZN(Y6@Ryqvov~&&bQnMG_S#!ip3{ zwhUWwk(f-eS@iM=`R*tw5~jzbOm!8JNpUG@Q{$#hN{LTPm^N{`BHIT$aB)V~FZ+o<28Va=u z2^@wpFdG@2Z+BcLeWia^}7*oQAaD=))l%gW1~olzK9Qh>ZuJo3mR z|CYzJsALsp*s`K>b7N6N7-j|fG+K*d@(Wffid_M0+)W~fhQ*lXrKLp`+fayH!7_|H zR3UOV3Gid4<%@MP%XO(mLey^T>St=^>?YnG;G&PnYhHeDyiR}bSrHAik1s_EU7r)y zF6!?8>xjZqIDT|MK!0=qApS~S=+UDYvGwOs|FUnd> z2XahyZhn3tWyV6$@3Q<%I%;5YGm$J{+9H=lTF%OXe1wt>2dLOk6uKR(R5EERRggR; zEjRyh+AXBzWtG@6vTa!inYt>-U%|kNib@H4L_~}@A|nz;Ogt7-&BL*wtl*xjOPHA) zoBYP>A8$I_az5eNYcm6scjxvO*6kzOp}XOn3LSCMU*%==wZEX((UO-(3=}%{VXtiY zHo@ld6y|I#!$1X6^3a<34^WqFB}~~vW->fY*aWj64~ZBx`Y(w-ai}6phvb2o zFCGjqRW#TB|5K9xw@*n%{?AWIY7W+s-X2~rOL_(+!hyrYGGPtXKN!F;10+brF-BUzCM0j^KTSj1ppx5T&3#Li*R(j*vnk6dc2b+Fy>67lg>;q}ImVB- zTOd0i)sO>_BalW&6Qmh(9?}N63~@rPK{_BeAzhHW5N11;2O$2CAP99Ix*c)f87SRa0uNHj-aF>@-|DShx%-v0wUs61)4y zVmrSU?*BWXVbXZsL1Z5O&7FjAyF8G=4{IJ$*JOW>a}MqP@Ve`7*X(LHNT-9TO5pV=31${vukgiqugLH@y1k&+ADCh}}1L-VG3-$+DPyw1jA29N76jpC2 z;$c8%)JY(n{-uI+qMHuVHHRE904xCMOu7W5Gw4!qBv=O0LE<_PLoTKg3}% z`uT<`!!g6JhCdAh*p=*6wu>EX{Lpy7*krtDeBShy={?iOroEc#3}^^@us)CbhZ)IX@Ns&A_+G)M4dhwB`ZnJlKUU*arPS|c{_WX zB}RW^pmCg$Ge#Ph8dn(0jc*!v8xI+e8~-*wV$z$UOp{H?rc_grsnqm}m>KpDOrMx) zO!cN?rXNk$Omfbj8;$b3ntPGk#?^2qQEGqS&Y{fqLm^#cE;qku-e!K+eA0a0{3-tj z&y=D~KAVLy26-ynFsO1cn#0c=&Cno5nJ3D&-%eOdq}I+8Ff>2YjiK@ zDs>xmTXgnqy7zR|x*FY=x}&;Ny6<%7bU*9bb+>fbHy}@+ zv~0J0VL57PwESuz)*x#rlGb3IXti12w*Elxunx^P;G-O_{7Ct;(hE0mQvIj8ShG!Y zR`Zi4Mw@^-uwJ`U`?0o8`%mpCU5V~l-45MBU9;{AQkLj@>xb$`=?w;p;a_%kkg>*i z*Z8jKLsJu)*C|{&_dNH#7+|uQ-ZWL4>P+3H!Q2QWRxCG}OXU`D zMcf)BoWQ-sea;=`e&?j-WOIpmt@%y!F7uCOGatt%q8VR{GP0BZ5-IvU8mk+8kX3Ju zvCg#4v*w|ouCcym-ERHRy4P+!Z2j8$2ff=iOtaBKg(_7_lX8Kw0tIESvR>J#?4?qv zVpMZfnX1JoA90!$nvI&zG<~!x?KJH!EvJh?dX(t)>Eh6!%rnHWQ`r;j-)w(lfHBE9 z&$z|7-`HXFHYJ&6o93gkUquO+#Qp-L;w_7w91bEes5US)pP{4yHft>$WUMs?;h zsNp}E|2FsK2l2tYo=-qCJd2;lXYot;0=|S_%{%xCzLMX_zr}AyZTOhq%OBv6@L%!Y z@;~zD`Jec!{B{0M{%>?-GK-&Opk=5f#1dh7#GjG=Gb*c3UwEj;cnb%ogwhAb?JFM?nKe5(Wzpx&)o#E&8S1@iy(Ub%7cGH@ZnSPYy6vmFKKeKGeb``>_(xbR zYhvGGx3d~kv}vX3In!6B?@gC5i22JD$muvc&qZ^27`ME}?LecukGp~reUI}n2b)9C zB`-H`L3!A3zHIJ|e1D!_&kOtqd>#LT*a3I)!_fI=TQ*o;M-*u${bBL64z`ZAa@Is^ z8ZyCwa{ewl;gi;@u5Q?mh)-&K(Kf1;mo%MrO@Fj!h1%zlOs(1lx&qyc=Ismqmrt31@B)f3dy z)G6xgn$i04dX-+MH|lwP6xzsEy;I+Sw($hph;Szwrx@oO?N6cZzh;a!O)^b2Ei&yk zeQMfo8p|m;BRZkUoQ->j+s%Eo_#EPg-BGzHe=|-nKGIB0i&Fl%vpv7?qQh#mdpD1KJU~@fc7X)HNWl zN9Z~IT0L)=ZwNu_mc>5BzKk)!A@-jb4+I&*j1!Erjf;(y#&FXFlhKrD$}^ob_2|9Gb}agZ1=<|# zGJTQWuHUQwMnA-$uwyv+ykWiJ9gJ?;4Zj<@471rkj6U38PQ@i~DO@(U2SewNP_%j> zZBh}DP1e0MB1uGiO!STNqVf;rZRI^>o~l?iSRIUqn4)_tPe ztJ|-uM;Cum_pR=GU5oC5?y}CQ`%P!Rq3hD!)k*Zd^n>*;>Z=X4hIHc%<2~a#(*{$O z=_3=z%|vySm_zw-e3K;`5x~XMiTHGnQOcD5$`JH|$CQk!Oy$(x(dMy*>~i)=jD??N z*Rn6LFS4(&8`(G5)qE2_*mBy+6c9#%AYM_vfh;^`*DYtWO`+&srgF=;owyKFO2lW1 z7JV^W%2pyLHO4sO91Ns47{4+$8-F$Wm>$6>ZnJ5->3vf^CLX&mP&)>nR`Y7}=V-RC zn146lHm~4Y_%Rl_bqw0Z*=QA+N+M3>D%H=S|3D0?XjQ~yu3ELnJ@{}9JY0hgt(sMv z)k4EnGRAj{VTS=8s)@LJV`Dq{LRv?d^ELJD#G818YRA=ldyO0=_DIZ%m_{Pb1a0)W zQwI^Bbo-$F-(_jAI4v@3gf-S0Z_TlmVZ_v6ZL)TV?Se#1&j5^)Qk5mjP0Cv35oH_F zRDrHPQkAY+r7BfbVR+Q0V$=!@isIEd$mTM->v|u9@Mbyo~qZ1Nb0b!H4n@$W$e-<;|$LNqh>QiViLvgP|Ng Z7oD7qNAL=XxK&XwUn3?uFzTB(cAN{`!> zvaWS|vDC00d$A~A!cxO9!IwLAYILcnOfg^X?{nrZNYC?pzrWufKkM$yoH=vm z%*>fHXU@#Mls6d5n>w#AcV%zAXOHk<=ZkI6rUkVZbx2Rz@WaJ^JUnyJ!owdgK7{bx z*kc!s2!#(jT`WUrQog&`m51keIg|1Q5AV2Vo=7xxzJJzioi0!C*Uc$-Wo{d+QK#=M zbQMfGU8$hc9nrv1RS1Ldl*!>jlrTpgD-7>;?3kdNPxz;c}y39BrP73Wz9GWN1Ut!f2gt&hRDk?{eIw)3q)D z3?+375zdwS=)=2ho{VTCKs^vP$T|9`05GA$|GF;)`S1ELGx4DVKe`Zv=Y$=Kezzc; z-!aATH-o-0Q{HDx7rv0M8Gq3qS}r$t*{|=kTz)-Zl>XE*xiMh5-my%+v+D=?>ZNiY zljHAe)l6N*Ve^`;ASHE|G7S}{oSmx(>h<$XFh~UkN#LM$1k!u-l4S!GIpv%zS=MW@ zP){JmDpw!8rmCJm%J+2l6d39xy+=SO=__iTW{xBafdl=3AP)^3?uSAW2yAN zRYyd$>ZoE=mn>O0ucw?nJb@JR1R_VCVh+jXsen39uEB%f?$QKMyrPs+apjqE?jI6>#>B>m~hZ#C}@1lDgo z=M!>qaBQ&^oa&szDsyj|cl$>pVScm0{EmMvVh0-ipIQB_ie~x+#vtu?;=rF>{7!m% zR$6Z%pYXF#p5!!1+1G8V)9CksRkchr%AW>DMV|JXpi4OANun|H@bU6+aq*C-$lWcL zE_|#gUmjrz^+QUYY>99YK1N&c`N{jX4>J6(dIfSi;X3$(D-Cjvh8~{TrD&Hma9S=RRnZ4wcsV z*ZVub$wf=d7*1_%KH9}T!7x6Oue#Hbr_-6&G=ofqYF^WXFyWN9bLG|;qHNy(k99lb z?2zeZs>|7_{F^UOe#=ZqR7k0Qj#2K?>v8J*jlCWmK-{qc=pT2h>Ile5y|Uy-#GFIT zyOSs@;gocUBqc3$xaVxuAJ#z+yBt)QWEkGoq4M}CG)T7Q5EwU zJ(f+4c`&S>93B=jc@8L4)H?L)iG;$+xuCf;jbbpc8A=78|wei)=3Md7^!{m(DU zWxX%P=o&J0g|^?#uIvWsS5N-+h33Ee2LVQqGewk&Zje_+yi3|~Y~(0?)&lvy$g}#p z=gYVEiR{@n8Gi>}10-YfnK$Hz`V{y2YF>wF#V1t|DGm8zpT7E+=E;Fk#UWQ-1WNvO z^k~9ITs_P#Wn<>;cqnSIpfB69vN-SI31EQJzgSU`mK< zgHY~1(0rs+a%-FIVQwR;}YA15ZM7>osy-DO6iChq(RyJ=2$W;;m9a?eNF{;3(QL_tH z*1r@JS=~jscEK))@hHN~rEM_w;T&pWOnXfgs|5QsTZv!eBq*}@l zw~AIm)B~|{k^sFjyL1L5BjF<^7ivQ-mJz}?H;9r!BX8HqV@HG;jYKP{tW2IUqF?_t zg!Kr=G8U;88VR3d`RMg1lsAvC6bDnGGZkl@gKgqwDwFeaTUK*(wc zJ5=L?8dIoR41i;J%;JeR<-qv(G1qTK;AMk+Hdc#nexGr4ojQLDI~=#{VIKF6KkvG z{814W-s%?jP1QNLO|Z^Y%d1B9itBClHIg%mawu%cKs5+_wPA8oWxr094~*h+{?(`` z{lAvWH%AQ)10pRt^S1>#=5T@1q;ttsIU}K8DsnTdl@%@MTB}|43BO$@Ubuk?W|@g> zU#4owL&B?2=~_s)WvcvqLLY8+CiK_WEt9`Z7~7v3fy&Hl9);9k5)ykAXB~^6P^bc; zA&*at?Ful}N))+ z9Ri4;hE-q{gWr-*CI-(uny>X5B#&#ky;xW}%AJYiZl%$@|BFH~1|&RB=3!=dDst)f z`7HdhrYoviC?+GbvSK-G46&SA#jZ@1Gm|1CZVgzpZ@@GxtC;bY{9w}X2yjcrU_Z+n^cKZ>kwY6@s#WdyIH}wvG_f0?N zOq=-h+j8&ZNWJ*BJT`e;*s-@!-(#1!_VZ@0z8S0=TkGsEHoYxBo*X*8Gd4YBjM&8J z9l)E$@r)Ih%@t3fi6SpN9zbc=UOveTswEAzzk*D`(OHZGaj(CaMsI3Olt4)3*rHg*i4tY;Xw3*wMu#&o-)$AXZ5|hjApTiELdQu9cc$?J}sGjHm zkX9KzE3aco?5v*rH)Cqkmm0BYV`IAAGNy`Hr`zR+$BxiHKUscfY@&-4&OuLBOt6%1 zteh5Ow84H)sPzl1hJ{en(|;!dyUx6|q01cyzUg8uP?OdH;>nANK^d%Yi8RtHgDSIP zOm?01z>i&uY#Itzl^AzeiJekb#F!l6ZNle>2`Yl6O&z!OR|^+zDK93XO~8(^gh{e1 zH6pf66&8sHxp~ow@l8<0V<>3#?4uN`$d_wVL&Cny@r?$zH!7|p3(T;uUzUGKwe((t zi4GG7Lp^SNCC?O_i3U?|lcUli^!fR6dRnhVm9!F(#b%J|u{NL)ORT5V$RPPsPC;!50!9vIcaeNw#lKT8Wx@s*Fx9*hRPwyLkiAH=NXTh)|-#bK`s8-RqQ~oo3RCq0_ z;+=5-rY!;AF~=r0dYav;3KvlcB-bz zNPlD51YvHDTiIZAC)eTxlfyH5jJ~ycjBH;$D3ewXRCJ&j?c}UM`?ghJogmN6h;^YQ zuuyI-I$E)9#Gf6-P~gJXP><4aY{xN~*)Gf%@iellXwrKuH0N0c$273e)0k&<_yNh4 z?=}HzPxNk3s%}-)cUvi$LCGzYG$FQUj*HSyAg#5~%A2TK)=>wSBkwN_Z_MNCM`a~3 z$xP@z)Dyx9qyO@-{%ZpOesyj8M1QvC6Rz6Y_M3cf&s^W4OQ0%~0X~dv=*e4)m)27x zxvX2JHVB&Fa=DGen#=b$`!b6C`%9W3r7 zxJ!d`VbjLBdxlnpcw)Ew>V$}{7svb3rg!9%6G98(-a)ZG|52>khlUyi)BsxA`th_6 z&UxL7ez;|&V2%}tC*G0APK?0>nLROD-};WcdSY;&pc+)MOoYDl-4? z=1KF!;TEm+lVO^mtj>|iyHg&KHE7%hYCtsukGqPI=RO$WjcpfFs>v$m5=tdd$T-ke zQ1@{adOxv7ellyc{`++KqpS$pHBg^nijZNkCtbdpm6ehU=B><=&LsnLE6m=xa?(}5 zL!y;ul(l6z`xS}B0C52;WFL%|mu5#t&*4b%{{zxL#>=~bw1^|Mr1`4&H%b%6%a^mG z2Cl)@6du482>g!27Bm&Xwk}}tD|jiX-tUTsGUc?KsPMMM$|fDCuOJ%@oeAd^RHA%KZCug^l=U&Tz75r6g`8{|_^|?t5)UH(=S3KK7*Z8QtxV zf1lBE*`&zKr_t&?)%aolztQxZ2|o7_&|3K<*`Mq@A5#KDiP^*kLY<5XU`=M|*#30+ z_@qb|bxS30qZQu7dVlI4`o|i^P{#zPa2wUxP31iY1r93S&NiE9+5>XmHIdk8RhXpD z_M`!*VKN4JMZNX@R0I9HMcc-H#aMX*#JoK&5ZMGGz|=H}x@#I37DW*9Y13DME3Tv3 zmU2WG&zcV0O0c;chE2pA6oZMp2z`tVO*tyGgXA%S+WqVXaVN3H_g$+i*8xgy0I5a3 zkUQ2)MO4^(fRfij9(7y)n1e+8?eC~#8PVVz{YBZmpDI6a+i=p)RQPpYVd_n-Koe1z z1Pa((`(UbNBhazyb999$k|3y`c{^#bTl(<#BmYGo{`>`i9SlEg&GWCr%7VL$J3ZXV zFtb8j5kBqbb9sxGcr&0&+dH_U27lyv>dEqJnJfIuuid$-bLGTMX<^HHn)laPMbo=r ze>pE{^y+sMbKoEV|I!Jo$I{}ijmO6KGhI3{gUV&{auHe%tTz#P=zRxT?Aza=M`-=S zP_;Q*5G_Vo5u#tNT692#T29o~lF9->QXdgA*VMv0cBC>>piL|u z6y#cnbWkaTm=@^{>qFvSd&pK~-v8VCfaz=n;&Kr3?4$i>J!cP4-K`aiE&7J~5!<7U z)W(}X@}Z?o-_PLLChmMUb0VyWTi`PsJm@_jpK60TBWz*@L2BC}0b(%#7vA&{k*Ajo zh+2;AjMU=UbsD@>Ty_p@+s?2kHZhcP9bd~A?;Je03~_bW8Ia*5qT5NVAf%yfBt#tlKp&6E}PY7NG`SG@HwJuNKh;1$LJ1KtU`XKW^YSp3dQ+^^71*k zX4WYE@_lmitk6jEcCz2KxoaZD0A1!*{ zDqbSkJ`OXMr#}VrQ7~7$3IbA+(p`S1v_I)f>5Q#VH0}qc^Q?TK)TY1jt(-Z#Pv7va3@=_2aA3E;g@+)Cu?2`Q3%5>N!{CvZNB=Lr5L;H2j( zsSl;k*?8<+JQWTQ1Jap<^MzKimGJ(_@l4g3Yb%H)c*_#xmO0U`Q0PZ^Hj)vrT#c4{ z9~IZ_C!yxzEgj;bJ%?~&fb)p2RT!nUW{i?E@R3h62H14?ve1HV*q>F@?s1@mIr~?e zxPppaIKx>*Aso2r9NDCsp|`or+{fptk<2u%vc;WLqDCvh8excd`?tx-Y07$D%kl<_ zt(1I}Ck^H4#%`c(UUQt}j^gSrF63Oq#Gu;t#r>c0+{$pZ5#?N5;PVz-_@L%BcN3jZ z6l23sgY>ztnR9-HB%~2FUhXYkE{H>D+`3b#X~?e6ZZSbb>a#E57eOlt4Ey$TZOkgl z|LhOJ|99IVyG1h`7J&eFy;aX0p1K@^p>gH2PBuZ>U?$P(*wzNl&>EBi03+x-L|H0_ z%^T5XEu0|1;0GjR4BYLrsXOdCo{sYg@kY>LKYYeH?U28`E&p}OKlC5@#clb=DF0=i zZ;19ozBw;&@|3uFTy5C>&Ctu1Q&Fp%gWbgNv)M^1!%PKNr z@~cnf)${wOk)^;s`H~uJz)@Y`;}&4z$ZiY5h2~WaIP42t52b|Ae>1`~!5JlrRO_lw z<;MB_hTTAIYYsbt%dd`bc0N>2$(b4H4npB?E>yr z{c1tHKJiW2ywLJDE~Hx1;J|Xu_1Q31G5P}(3FmZ88c-cAW&!9EvcVWEAF?LtkAlmJ z+IOu$*^`GKEz_KJ1Rn8eMC_waD)K!z!#2q#0tZ$>G z!YK~JmVxG(f-YM-vZDj{hD|gjVE)EQcl2!eThi$Z~iOk|QGPLc`$df4Wrplcc zb;~+PSQ9u_sJDk!(K&(*=P)eNqy(B34i z2gO9>S=n*UC}yiOQp_L%+dq=uS`^}x= z*Ampmp>1qz28b&dpWc}p%X>%MMyNwIRCLloLZh>M^)or=Zv*C{-$|exqos5*@VtJN zx9L{jGweTt zq|%ec2Ffqj%BuInrH#rsWmeTUnb2_I2>W|FpD8q;ODb(F!nIkYYCBB-c8%SYofpLko@i6 zM@-|YVol5nqNwSL@nDi>n^w&&T`>^w9ArRO9QI{e#hp}NXI`HXjiG(xqB40wSuCCF zi^nMU@L|rjT~!@1!9JO2qKxXp@*8E5Jugvworc8w1D9sbmwl=~VUc$&9!J3+izn(G zv*fW$D*c>)>UJDivP>ZGL`NwFRgT9I>=^Bw$)OvTzD>~FWrqpcbNM@he&>Vou?L>h zXHN%-@Ez_4R|^AHEzi(x#d8r)@dFvUMR<1NX~c60&)pAZ=qewShpb38zk5Gc-T2C! zGE#)w@87X_1+EMoDUh31Ch9j7>7_ zdouMA(vIDpK)wFLMEOJMU;V_j8Mmb^E#f7@B}@Qq5I{L9gnUn6U=?) z@@gmXYP-*s10Q|O6kLx^<;&NzugM1=oy9$(K8NU`Le<%1W#FAguRfbW!|MEg*F2)R zk1d$L;n582uo7x#@WZ8Kkh;Jx)09!{XHtoKDb_@>a}@iM3<&iu6kChu?n*7RBksVn z%J-xO()CQI{`a~IRl#!i^;M=1L%?}RDXv-Mg~+w*`?{VcKtJ!vgj(3jlWw->WL?9ox5~moY%(88IXNbE&@5wAXlq1i1ys-D6KQeJDH`u+> zh_g9XW5FJRU&>|UEb{TkCkNhj3-V*I9Q(xZ?gyh_vElAWi+Q(SftBrwlIK5>qIV3G zH$BnI6$f&vr4~Yt2^(r-J8;n#2a1~Ch1DQc;^|a6i!QO^0N3cg*|_ZQg+*Ja7z#u( zX(+m+4Ilyk3k>daKwanXf zjzAl`YaprtxmUcMSpur`gt9muNcFR4c!O;$gAiCKVD&l^YJookS7q~Jj8ayNp{UU2 zPTzPfb4R&6L7(0bht^I~OJ~fklj`Z$ZW3E?F^{bt1%X=7gtEANflHN7)}qE>_RsF^ zJs8+sR-cT{djX3c{9R7m1#kwkJf0tlO1%y41=n@u<8{txHoCo({bnV0XClcC^Gnp! z*CyPt2`VgN_m7b8eJX5dBxh!U?TD0YlcN_~2}IxM`vu8el;J(A(fSf%^Ky^&&}_Gg5W#oB{_r9oG_Mgi_)QP^7>~N>Hi!p-+Z=@ zz9vWR^W2awC*guBu`+L(T<~0+{$G)@>$wS?7`i(;r>iI(|i0dC2BruDt~4=lu}#`>0Rgi`*ZR(=(WD zMxL*)2O!$D-kXg+b~{pR?5T-xxk|092KO;+>?3rTm5s?IQGm(*fIldBd%9OeK-ATx z5v=?&mXU=K7^a0L9R!@l*(6%g0hufc{R?yqGNhCQP?OS7*8f)RuLM9C>RAd<>u8i6 zorsXP*~S(PlzVL%+^L!-OP!pzWuV{YYnk%WEwSCtK=}yfe|!lW+Wc-TpgUgQ@`^D1 z=@&9|YU7o9KS;OJa^QmA{jHz-s&UB>Y=>i>q}=sV{kxRwzF=5layR<ZZKg=Dp9V+vlq{a7v!h5&QD9+Oc__cKz&V{IJGv;u4X+hU2?HE4$FWlFzbsFsvjFznuCin0Gg4pLA5KMA` z`N@`HV+ZLl+IzEol%rZ2pdG6=4#5%m2q0B8{tEKV5G{^nWRcK8B`hGv2k62~1VG*6 zD1>#@+3I3f!9dBDEU4eA`S`J_Nofewq-6ZEo7^@rk#0MOEnp`b`&&3Pb_>dQhfDd* zk|60k*^O8udQSkEk~(Pt!?Xvsdu0=@ncG+~s$y>ezdrjq7FAU`#7bizhnOtx^y(X~ zOdalGu{co0fhJpxP+Ju8iLH`Zb?hOqf8ik%MG4h%3@x?`RR&`2$Rw@MlH1Wi=>$Rv z^rXP5ky9deG3aVp1~Negg;zJnKrZdQ*xUx{5Qo2AU-FS_a25LvPSn6A`n5FDZ{#`p zO*%ur>8J6#aGgc>I|YH4cq;M)5B!huAhv-A!ww?Y_?Uky0x4Tp)yzXfRSUw(Y-81R zN>`ktTLk{ehzs~{ON$G!s!JHRdVhvrV!7VG88Mj7fVKK!c0=*KwYvK9>qzU7qopNo ze|YlzTaiA{sFMN>SW_r1hAu$|9V06S=SRHpgV6X}r}Z!f)FMY0H4>d(fgUb#ztjlU zumh#*jP^V-_>v~e1+VNZq%NlujWfuwvJz-4T6lY6O*Ru15CM%RvH|7?2D8~HoSpir z#S&Cy#K3SK)Fg_kmNR8?@v9^Ceure~)yR-HNxTmRmDVv2R5vJhs&RaiDer%ERLD1( zx;l5Qk@$zzlu(;$`p^h}LZ{b;lUrf*YbE+0GUdl#EA%_loGJhKTAvL6i;%G0YtTW= zO?;L}IV&*Iy;4G*J+16V@a4HjRaMgi(1s(l*I~wSW;r|R9yMOW~4pY z#>!O@t6i;|sYs;M8C(XtlXXtBHGmBu`Ux!Rg8b9#y+id>68-3|Gq~%6a#7Oxwv9D2 zIePm-YX92p6Yp40dgW3i>4_$sl9Re`kpj8>IHkz5xi^>)+VDpnkB#< zDZy;i_rYwmo0vbB0_Yhv3HGNP`9`chZIYbzMv5LO*Bc={H$czmoIUI}SUyClq~3qS z5P91hgIsYCwOMsr25CWz7DV#^1LtlIf+cC!u{-HO=pjKe@c?1tCl86 znK#bedgHI)y#%(nTdzBVr0kYk1*8l^`O51$M`uZ%`ewA=k|i%j@Li^iTiFqq1a0q3 z(N%v2cXg3fU5e|NtW5s;&HMC!-Y!qAj?#ZRS}v;|px-`Pe!BWq*8rS2k=SBst)~85 z0$r4F+2d?t^_{?TtFJ?+mN_C)mMwzyvP|@K_OrQ zV&+(w{O4Pv^iSlaDtQWZ_nv{p_Hd?YI@bnWWpn4ri)8&}_?VO$yX$eKQ3h^&3M{M$@jj`w@C3m&n<)M%r# zCr_no4Y#tR=QOB`h}k3e+aww0QLiDr}jh zSXTHN(j3jNOTD-wNe@C_>`1VjgUHbN$u_jQGMia(kc?sPyVIhdGG0#Jxoivx9j-92 z7a$iG-UJp#<-)57MQUATPH2&py)}-slIh;;rg*GxmE|=c{=?2#sv~gMZ4?ym>Oc0U zui7=8&$7g|920y0JixPz?^Bs(HSBi-BqAJGaQEJ z6#eJ%@_oB!aa;5F?t!ir8uKIAyl5ufnw!Mssu&%V?a~-_1@ueYtKxVvjxjBn$dife z3oV((lWFXTmV^z3vKj0>Et$oWS?qN!nah*8?0HJAUX?dfT#Y_LftgGq5TvIv4dX+0 zh%`ln4et|W0it|W8><2~hfsa%JSzgrP%E}Hx%QpjE(oF{c(octp~;O6QRgCd7B?2# z(V>N42^)z56VUJv4Ageidrvya1;tHl7LVH)OeAPHKKp{$b<9r8zS26njY^0AYSPot zs<5u#8bfH=TO@dLFLP z$zRk2nlWqLFV}z#nv8u@VDGG{dt7Fh*q=nC{1P9JP=K&trN$-oq=0BxGhjc4J)B{DZaC{HT|26_NEVOYx*+a z@}~EurvH8ujr28LuGZ0=%@6NP45j2)Ap)+_+B;B5bX%I z>kF~BF3pmy@AcPzAGyQ%-UEXEdWPJxcOV5}`!-SV?!M%Hs^t=fH{o!V=B_Y5c|bZq zjHyZS&>Gx!DL)dOP6=+)6ci?$wWZ85Iz!kqxTUK3exebR4qfn|iD(Zb?K{>L8+x!B zh_{#)%U>M{BWEsd^#atr&2tiiQYF|&X8P4ynFXWl=|nR5lj^*Vw_RXl@t2@xq997O zz4OC<_QF^g%|_Ch&H!DBcOO;)yws&xeFc@-*WsvKN?vBwa-A1-^b(IP%{0Q?zK(lJ zi{+I^aZ|HQ-gI<=Yd-F_>u`2XA)8ykd)ED9N3R;fdRbANCO%NW$Zs zD9*SD!MnW>Hmf1#X+qdQ2up$BPG3ugLrICFw@5M8#YY&I^yyV7)k4sO+F5n-oMT}l zPlHK%DJmGEXk$?@=xi(nbZso3|3>iNJEnv1!O+qRj(GXiW3yZjB%lUNNcJWCDTqXf zb4WIOU=Ix749X?dqI4pKQ7D5ROSCl(lgi~YL z@d2(z$c7^z!`<3z$*(j9lHtQ9fP8y~>*$?Zdj|66VRG(=z)7to^pf!d$S(xpjYG9s z%xlbm06;!Iswt4yL_K~PEU&(K9lz!^nLrZD%h4uRFw~(~hQ4Ph&>2{96VB4f!AQa| z(9es=D_mIh>J^%OLFkA5*I=xGbZ>DdDA+gxyPm=eQ&Fl&15O0R3^YD%X_5vQMQY1W zY(lw8Q#Q?Tmvmql)o`+PXp60Y4dpxp6B)AM#b)A>Slmx6+Srg=)vQN;5zn)+o^4>~ zN--!}(21?Y8S8upXUbb-zl4i@V4c5#avR;5$VxaX9eutka5=q_~djPxlb?O@PnmqJe z!eLJ&AtltBU&M7yV92kXi1VZH%M){h;n9KLNbsan1h+UTl&vRwaRmFx2p5Oz6Kby< zpl?Jt^4-UA8bd2I*kYkAZxKTqvkNHrxMLT-Bk4I}@|8{V@GrsM* z26xBmge9}hyR+b{4Q3s#+Of?L?W%GlxYp@oH`qK$l*j)0 zmkfVGLT~O3$q8(lw~A)O6}NbLDP~ z33^1XI~^Mxq3H+nn$;Q*sxGmnh+W}Ih>(n*_MLEJB&bLYyca#D8kmA(3&qXw;Bts$ zs3GRq40seVn>)g^jvzAkemY*C7AL>{Y3R^moNs!vTfIU~`M7AupO17(yUQ^wZHc2_ z+A?^n@5Yr?p9l4)#vQ+WY7;tT!7yc_eEa8dopTYjvH9|<&qF&~c|2Qw9`TtxK0x04 zc}lNM`NRjG(LdpgT*?ks{kKBWO=n`G%j)4!B)bO7bXH7|XHiU0C7z*;@KW!v^;-bBx|_^Zp!zDPwJp!PAFki1q8(PK*1Y z59;LGw+#BfI^|Dh{BKTqvCC*pYDhN}PASIhGh7P8& zH}B6%HnN>%4XwTbPIO;~Qqf^CS%4T#N{8Mz%(cZ9gFgc>9le3lp`Z zj;%%pYJ1~Wej-t7!252$swyo#H7()TG3g34i%g#HO$)XFrEff&zzclpFVO#OXRBmoz_x_ZwH^NB$ zY1pkY8D(<9&(r>re&XjP`oMg-(=RdlAM@n6Uow-ZhP7D%i4yN9U4525nN-(>Uij5^ zM^fvB03@V}LEu+1@d^0iFYo__?xGf3;6Pkm@%1k|B7fZSufJfd{`Dd;__yD3{{pW4 zZ6I#FvEND}V6~I^lnzg~v@04_C8!rBLEjXyzct9Seh*J=>!J)tm-4aUPTZ^XMzC28 zR4FV8yh(>Bh9BeRH4Ob#I@E5);ll}U|DI$l{)v3(&*sX%{GO_}{3OR+nlQbQnx$##CqWiG)Ud0g05t~sEO5-D@Xki5%U>d+Nc9ToXw(+^zI~iWK6alio%!jrab$PzvN zMrmMcbg#j$V<5Dxth*V6jBq8h8?Vcyty5eJ-$0AGsbf5f4(tv$>R%@?`+!d=OI@2t zTzC_qYnJo$tQpv=5rN@(0snr#(KjgcxyiQp}CT5 z5Xg}@4fIN|bL+-l0XmmIxtll2g^d)=?HrAf``hw#?CJq+Zj%F-o0ar+haxsBgKEG+ zVckN4=2it~m&@gJoFO>7x>db1;&Mio;0Uqn*(jje1*wG%rZOd|ha3?_ERy0_UpDZO za3%!!CQl2Trk9J@1LKh`eN0Wg>QAjTRZ=yFvQiA_7Kh2kst?HFf5z%Rd0o!@voPF) z#qpTKh-Qha6Q&Y=ZsZ2W|UvPZrA^oA@{g(QXiEee}7|&tBv$b zbQCr(bg)^JK&R@xXx)DbJ(8C05GL8!=4jl^D)DQ1q!V7Q^5Ua5v`q*MgnYGn(z8$j zb_%NFh(@9i7tb8yZ0ueXDj%0#QdulG`jJ2OoC*7t&fE`{VJpPvb?$f>1BB1})H-wB z^#;G+>Bd@vM#RP@ZbN1)@uYJPge_I?|1_FM6R%{(?9w_liRxvM9E+k{9pHH0O8?l( zz1kKI=6)6J!XwnMv}$yfx2qILVHN#I2XONF0x*4QI|fm-obMCd&B5*kmvGe6%J=5- zVl`|OtW@v9%Ir%R{6sQavRf0fFTua0c`-*)Fw(-TU+dhB`sV;2T=*Lk4^V>{ql6`Hb@E=fCAcn-suBn!NbQEMb((2v)e0 z%P|H@qALdFObIl{5b6rJpCB^`Erf-R?o!AWq1Rysf;)MG?WAvTbjZqxO~~jbQmaGwah^-@5C*vy>y4{ z;`Z$34%wy-7&F^3TG}yiNrP)S9~01b6tm>^2QIvEyuJcR@n-B6D=t3}yJZ^MkZ_sv zF8BS$;-ZX%+KS7i=1sNKO3WqWKWOsI2L&lfN58FN3_$p%k=A4}o>EoR2koF_4no6k zfwDM=+S-m~nt#I+n0-4V2vgIqBk zVFx*EP)E=i4vOmty2L^89YMx5#C~!|P$&l_b_5OLptO!4S2BlXbcE${P*z9Kd=AR( z2wKiTc^yG(Imp@(w2^~I=-Rrcsu&6Jb%FzQH=jh}F^)E~1KRAWIY^a~*5?wP)h7H} z3JQhGHc#at50ly2hC+5$~E5X)%2 zakYA)Ia9ad%nUcwemD0jgMeu{T0?XnGOoVKv%iH}v%8GqprcUQ5#&ZsC(oeH8OjoH zXB;;bJqWZ*DbtCe60Fq;XHz0>5F5^!_E6U7PYWxZN154`U8JR($ym*zt2N6q-n)spCo1tw3MPA(s*JbmXi=Z#% zm{R?l&}+CF#EOU;DJLk^pZOr!8YDQ?zu5;#&>*3y{w+R8UkwtG>VL@xF>8?MRR2~V z?gV=5!#<4ee7|&kjVIq5hhY{>49wxI#d6>o?Mu^WEsxBP+KEz>J?0z2R zvU_=$$L8@6{yH8`V}(2{X1DWjCY#8^IV_cj^H~B9MK+X&i&%dima*PEbg-U0T+X`k za0T;2=prU|mqWbRAJ3zO+6A49Ji3;kU-RfXik{}t^%OnKqvVod`+1b^->@A#N@p}| z8;@?L=<__fm7-7Z=r)S}lSgY@6koyPdnvk@M{6m%kVg+vbOw($P}GVj=NbDOycNSU zc2aZi!J>VXp!y~v}@6#belEF=qdM4|Y#Wc#ISG3nQO>iGQjhTr6Ghi-bWx2#6n}t&gDH9+ zkA_lo9*;&)w3tVuDVootF%+G^qk||qhDYNl8posY6z$8Si4+atQQE(=t~{D1p#PbU z$1@20$8*F_7DX>2%9+lk)H$9(XBX@wk6I~uh)1VU^gSLerf4;f&ZOu|JUWM>&mxL1 z!1$(iQNm@cLQazlYY@AdKzjnR=~ZWJihmIN&PyY0Y+I|Uu0F)z?kGu3;y^!q8-~7Y z_@Q>u7Hc2uR4JYE5-t;^`%notWS#x7wTOZT8Z6~I zBHsWyuwxFTk42jBnkUq~)M{fTI4&-c>MIwtw7+p4tNfQu_EklBv5Qb(8jW4HcBs8? zyP|@${q(WPmWsG^Rag|Le-l0AZ2-{nwR6U4?%7 z=ncyHuEIcl%m!r-!d|*cG9l>PkxX_nTDU2wTT*S=aW07xrPcRjA5{K*6XN!9zRw~QtO@FS;VV~xtkD`$p_bIZo4;d6s1eNpGb$uJ&o@8p{+a0=f@jv zU@It1$Jd*DZWMm{q5Qp@a2vUG)P0i_!7M}$e&`9f0Xu<^r()|3FjH{?zvK#gI{^2{ zGVo%+JS$7XnV7t8e{bKb0rW0_vdAp-_oeB+h4PG9_*=MjJ8Y9iGrSJ9_#^=+-CNtm zynAnQ*>)v5NEjg)-?0V>-SqnNUn_HZ2oZ+Eopm~;yoZn|JTCuyV1ja`hwzf$X_l#M z>M1N1T9od=!gAvY7>qWyy_52Iu&_XXveP@Q!Gga4j~dyAXUY`+5Fy4mzb!Q~M2Ixb z@ulR)KJ5R_10h0?pqKp>sh2R{57d<3dI=sw4?XI3g$l8PMLu8O*H8~Vq8teo#tPRJ z|1crmu!aCBVZvx(viwTJfZkUi6?EmZvXOVxHr`PVi<{{Nmxg209s4ZVMNl z48#sMq1Js^NC^y8GZk;RkRH|@>QtMSPeU7di!ss3HD<3+GJ6YyElc=kg-om-nf1CM zv}){qPI2|ds2dk6M|umr2SJG3tq(faz=SqKjdd-u6>=vcG$cz#F?&CHi|PGmmB0vL zpE-l~B)`@0FyhJ=5g29>vq|KKXj@Q&4qsrRH|@EeniDB}o~keiChTGyX;aB6x>8X^ z7bsvT``bftM2j0MbPQ`ZiEC+Q?%abpNHX8aKb1m@}|>A(r!m=Ir;w;Mcu z1-=|m%Zm~QnYIx>RW+CuH?}I}QNn^GeXX2{7E(;Qe_)|F>6w0Pi{T$iWM3hSL%ip;%Pq=;zQQQ|+(u<- zUm?!?{%&npr0FIpuywWaR$pO^D;f22eeQ0KAz9F_;-aexrAX>Md@?4x34ZNtlMVM> z@O=?9pRreQJm|@8PD#o_ao_C=I?l6+$F@_)mhtrqy)-~md+ydEbA=t9g>QNN1;d4F zDTRQGO(+NV5jjstk&Oq;s(vE25V(qJ(eenUdxK!Pe}M&aSYAh1)ik8w5epXMDYLzN zl@)MlCF5@=Oe2imQa0YX!X649Cp0<5*^Jll4aIy#p+pdTgq$*si`@_RWI2gQN~YF3 zrlzD*RgOtuPEA5o8QWjTNF)Z48v`haN8;P7^hHz47Ge@`lLq&JgUja|4L7k@`ZI_YRkDw05vJ>I z@Wrt#B`+2x%0--s!OsXUIa{Huj1}f&eDokXBD*EwREiZ>_PA*Ti|*nBWHy?l6Bphm z)@B(oCpzOBdl0v9Hsta4$ydEzi5ws_>bF0jr~~jyNc#{Nu5AZXYNt z5JKpZ4wT_^It3AHdO_My&j97aL9l*KFI9dXBqW$?0ruTL;7T)ou;3g(K-_gNFiCfq zQVNVt{~8FcuCB1)y)x)vZ&xj%933n~%^gI&H4M7(uLmE7N`CM$5`kudTsR97bnvkk zp?2_Lc2`qV|F^@BK=$4`C2xoj8n9)ZW*dF9PPq?he)LDDnHvE289CF}(P?JC5{xZu zoWaPzX{PN~{y7OGaGH6qa%G4xpdUlhlgupb2p6Wp2EaUB8;>y6ALiEhp+X<3NtrWL z2rf#xeB@bD8@S?&`(SJma5UEoGfIj&ROl6Zu@U2)e~H#> z?Xbg>6*dS0;F%T{2e=eWCm>2{oG`>iQZ=P~Wlx=Fdefn-Q2zkOosxkckUWwV8k-j2 zxE+&i(pvolACzzfyB^rHfgT&+9C{0V0MH|V9%}dNP++z_pake^^FjxZG<&R;wn`hM1V<)z`m08Z)na3RZ84pG!OBc)j_?mrE#9;v@C={9A8d3UGs8lL00 zAk8|5qTJ!_OHqoC`b0SHs; z(5;+2L^1b#w~26XyNvY4+LzGqmB#;awFPEFN~zH~5bAwTB2g`f6$Nq`K=fylz;k(kuvEqrFc6`-T{<(+Ylj2t1Z;RC-eQ5bOhn^n|mwl z4T^WFYnRU3>Ix;w3#>KMbX#=n?FV&mq+Gy>|k3;sbm;@jm~#6Tgg&xZv=Y z3`Xq57yF7o-(H;cCy?(v6R-9a;;r!IGl`s1n8-0u9H|5HJ(L#TIv%~KI#wm2MGHtYwst>m-kB=7O^pCx(ygypN*SnRUM+->- znhxy7x|J)##t7*>*8EI6qMNwGvk1q>TaZ*%j1eOA+sc$@#|T-Y)|05Fz?IG43G?|4 zU~0g-=38aofuukZ*KR_XitAts{{B{PK6=9u8LbV3ANplb5&Pvj1|LkmuCamRLQ)y@ zo^2DY8|*PyPuPF$U8T5^g<-*!NcvXVo`}*)`l3>sEKJsKy89hdijX9@N<>h^*&%=9 z052Lq3w9$A1~tFX8;?Dgkb|`Wwmvp1IN(q%)l?(>ah6j4VFjHd!^Td-mci6>MB=jz zOOM*vK}xfYE2w(yP-6!CQA`5h);Ay4BNc*=K6t-n_x~kh`3mK;u|i+{gcZtFgb`Z3 z{F@F9xYswtosJJW;I<^b*DydCohl4S7``6$kv+%1R$*Zu!E*I&rVA0}GV_;4>?~6r zOBH%`EywWb9ewS+SfcV)st}U!vS!p_m$M8s`K9URQ0A?rMc09k(8Gl9aLS6I&@EQ} zOciE9K8n+Xm0|HP6+NNYrnrqND?-8^G6Ocv`3IDr(}aewsUY8;y%Y&8`^IwR<8&d$ zZ`vQ3%H?!nX|HFN6CNf%t3#|_7YgBEHOm$EIKi`kL_)J%oYsHs3dm*WPIhFOvUt2Oky{XJrx^|Zg^Kd= zcp+X8p2`qHy8p5i{?KH)Amb=h$FN;Hm4O*ThW?pj$~_svW&M_;%3Ya4PyM>1%F;}s z)YxeU@jKh8oXZr#g#hJBrjXq8m*=WT%QRsgcb)Cl$Ak|&?=1*Kd;kV<5 zqW~Z1^g(ojXT#+U?VBeKWcZ}$PpsqE)~hb>IC|Z~@!ft(q&S0?2DAKIXrC-mu1*xv z_4m(IlCy-!z$O&)QLryj=4J^)yH8$;@1EZJNJ{ET<%KLEK0(tXD&BI#ZDHC0Za`z; zXoPH`x4x-f>60yl>l^BovDrdm^d;&9?F%T{p9TtJ zHH(Q0nul!rV&&0nXt&QcD@U`1Xj3?{+{ymVt}JV@as`kszVfwYN_378s&6=?jLi|k zr!;~r{bjW)XL6sx=RrP@j^h4x{|5I}?5$Zt8C3xNr(+&O+orguQ~z15?rT_O|F{WB z$7Tix!mNnRIi$RpBlHV(@?!i3;;0J(uINBX8sgxARfHeUcEyBX>{o zWv!hgJPv21(mPj(8vXZTbZYkL1pL7Y{Ik&ulk~9^_5vC$opB$G)^^tZc%{-~1RFfl ztd!+KgZC@~$8ER82JtP``?*3$*lEBkv(F@)wUU(FqUopnoGaw(D{M;oZNfsA9I4Zt z{dQJe&AQv^b^I(?uFI!kfZ*>!G8eyHrc*2rv3WdZMT{Xc~K+Wr3#E?mWz)*xKf;3<+fC*>)k|=ZHg(oR9iD0W2 zw2-*_{i@*(m?n6_iLBHhW$*pu2a=0eAeVP-*-`^qho=d#J#wrax|Or6JUUfy_%*b% zdXOl9Rf1@&9s}e*S*-=Mja6W1teystSf$K1RteUDRl?=0650R4>IomKmeZ5lSzX;+ zj)rg{@S85A1zx|aeFFdEE+r2j{mk3nd1Sg!>Ss9vvhIs>utQ!Gh?AfP0^Ut-$$aNV zv2c&y=$R8Wk`HEO>W<+VkPX)lo*F!%GZVMDWQ4d4XT{fb#0&2hGoI*Uj*ql8@BuK5@qu&VY%?K5>_hw zE}T*VXA4EbgUW*0Snx+|R^FN|3>EasSF?qD;j}Vzj?hndOPNB!qsrnr!mPBf#-n2H z#^^*!Zdn&L!^W$NkfsOW{pk-XPPz0_y}PyxPNGnCI_2`J4^CGC?h@|rBEA9TV`Hbr zDG%QzOzAZrE+(NAUnNb6cbe^f^a=9H zcg(LqfHCtB0_l*~AvuF!jlc|_rp%iwOcbUn|C%d|&^M#xDL-=XxK4})owQZ!$P>oGnRXl+U(p7a0Yd?7l%27U;QVo&xUNP(h(Q@rpm$d!+1 zPc~c2x=^5eKVKLre693aAlz%n7^|wv;)O!*0D2#sJoEZg<+TOE3*q)}QC+?Xr!w^S z*skMGzmYEhDf1QzBZu}vNi^QPzmt`%mGsX~0E&L623+YokK80&!qyMSgbB{1`BwtFM-C?C~*^DC?^E-xI_y1|{ z&cmaq5`K?YHNk`!Wfj6AgnbKGOLukc-4WEVn!yNB5hIHRiI`Euh-e3i5EYfZGZHmw zMk0$w4JK-kpwWpAYShR?MUBGCL`97bB7>;!_XN4)^FGgg?)~rnbNhLIeCnL;uC6*& zb?S6=r)f>#N_NL3E#B4hCgw^yHF~sJ9e>4D^Tt9sLrytws@Q1aLxkt2#CtE2M+APE z689I$R|MXV#eAD1oWD+9*}8`x^$=BUckujIe;eM!Df+kJ0~q&pdWGOBZtWkDo7_n5VFnM9ZRADrHaS4@ zc-|B5$x=Tuf@owS$stQfG1*Akcx)Bckw(%&z9rK8vUK+QFdD*WFgZq&nq_GSamh?lK-Q3L5)`eH5e=O$9pZ5dL3EW`oW zhT@kRg3B|cL82bhFnT)!9=@(7RWdPzic&7Y6rxm=A>9gTxC~u9i8=Ti<`&gFu}*%w zOFa8wxuRyt7Wq(M!}EcY@e_~AD{F2mm;Z7`EV|{?-<)P5XJ;u3d1oZ$AYZ(b@{sOL zDnL4IsSrgQ6rpH?5)^H)7R5&or6?M;9K}et63@melZs)Og<_bNgCj5(M`9lGB?GAd#r3#C9E(MmjwLt_*P^(rRf-0d zV;C#Z#45C~7JXh{s%IjCjTpry%)l0$fUP(Y+wekc$BXbdPD1IS3~4eX;S}tK{28K@ ziv0bPl!jS23TL8%v(UuYF3u28UoN4#f%_hE+Hm z>u>}%;z(@9(b$S(@Cc5@7?h>59aU=D_HKAKp7`~iuy z9BnK?2REXRA7%|N zaQw^ZERnbav&0=Z8)b##RMg`VQIAEUKFDDz>akSRV}+0fawODfFbc*TU}9Ix09O%%PN7)FTxoMn`v)QRuYM>!#h+f>Re zn1dhTe0&BAupF1;16YFZ;70sFbhqV9yoWpRNvy>eumKye2@l`_6z79B+=oYT4@ysD zNR1#)K;i_ILU{`g!$p`$y*T5!l;?>u3oHvM$7ls9n~B>o7sX}vEFKWRLdq9l9_0iq zrYuf8YjHIeP~RELDAR}?V*@c(sHFTDR^vLXM{%OshtFXPZb!~HF-bJuAu8_0B4(I~ zM=6UlS_$POl(upi2vYDZOvN2I4BtQn*Q1LsVkW+Z*;tLaxF7Se2@7!w7H?(y*E6w} ziuZ-QU>7W-{4Q4FCs>XDzCr9OvKMI3qQu$_$lV$hqwe^#~ilhP%NUn0L5TK3`W*a&c_1EBe0Zmo{$wv#tO<) zv5Nc03n|}(v2q@8CKGj3Y{W+VD>ma(*oxEe2tJR;u?`iE1|Jii%dWVbvbZ!?f`7tB9@h;wQl5d8%x9cf)N(3r6c3<6#T}Fj zu^Ve>V=d)7v56UUM=@-QU<37cV>4bN?&tX$wo<+o^C%C;Bb2YjT*|}nIOS_FVOxfD zzi6sb?ih>RsJI>n;7SzZHBU%+6{b>lFi5!=>v^7nQOXbDRJ;Xq@MfHkm!cR^_rL>rE8(2>H4s7H8UbutuOmRQubFh~3ENsA1Y{E6zijQDB zR-zcP_eN=ZhLj^@{(T^2JIDWJOo$Pxi>W-|E*yqiQNg9?Vi|VhiG4AX@)ejxc?f1x zo{zcsG8W*gScFx$7HhE_|BhAoH%u+#`0vL=Jr%Q2^z#RCALUo@5bnm4_yqRa!L>+C zoWt5krcoUO`m6YeA$^8SdnsP3-QVwE0<%h8aZ^Idd+%b}gb}AO) zNxT7*cAk1an2KLe9))W$h>v0vpT()T4Ri29oWHYX@-BHy&p@$Rv$Rp3+nLX;u6{@E zQ`7#I-0O^Z`#3@~+b)l%x5>f&V*d~ky_>idutCc?8PxZY*9|@=zP61|Wvor{ zZEbuIvU_thes7z6Zl}`HQxk#dTjFEBl=~&V^jK7S=ds`KEq?O%d((Hu@A*<57})w$ zd>eM1^;}fqqnY2t>&$yD8h`prxo_8X)&Hq1uRc{7xNBFu-&gWLIVFDgm-3)MaYOua zih&t#pPJ!<58@9}?ppL&RLra6HupKoZl{;6?)POpUC!>tv%X}#FYTET-|`g`$C>D;+1;1<&?H^A z4m~vwF`o~IWOS@sr(XyE{`mVwo_e`i>lSfFBb9H<;*lM;e*tw5HPKh&j&%T5JiQ~m$TZvSsDyY*n}{g2CTH4l6%Cw7W&`(6%q?-{tb zV8P-`CQQ3}@zvKZ;7wZmtRLi&-5ceL7A%=?!}Zr+y?FlAg^L$t#PuI!wPxuL@{Mx5 z_NaVMyzO6dQ~dlN<=UF#Kgl~g^Yg(qTYr&dIhM;z=94^7IJ{Jl0&4893k!GI7zsPp$HL=?{yQWoB@*+Q?Coz(ti*GK#n)i{y}8vV@coap8p@4c*i=Fyj2f8K)1|4#iJm z|MB*JQQmY*;N1S=uQyNM+U{cU@1cS3r9U{Fv2Ji*(cLBtJhGbgUCR2B)9qHo*QUg+ zsNb#=fy13*Vm{+3H)GOo|L4Shzm58ajmYEwcMq@@WmLO-wU+WfF9h+=iYTRHvU{n};jn|C>#ur8)d{)>B zUl6`7ydwN$cu)9)@IS-H!=22rre{ttSD9_MQ(dKQQ=eA9 zQ-4vrXoIy3Eq1lGLffIep&inG)Vk;c^f7w2K3~t*3-u!XZv9z(uim7$=>OJ-1ohy= z;3dJ!g7bn4gZBh?2b+W61OuVIq2Zx1Av=^GS{hmvdNA~4$T9dY!Hh?YT}F%Xt#OR@ zOb+)94+*Q`Dd9)LPt&5Gh1TZp) zENiK?&e~^vXnksZY5m*!)#_=d+NSN>lkJP`x%Rd8o%TKUX8TF|Df>0M+5XV}r~REB za1v?k%bi=CJ81AN&XdkFPJ{D?bHMr9X?Oa&BVEg#=FWC+bZ>EYy0K5)!|wO)3AdA% z50)}*KnR&|N%JhoDGt3#~q&tcebWF!}es;!sdEWKjecrp?KfE8kEB!_O&3??k+u!Jy z`elB(U*T8!JNzpDdH?muTkI9zM8sH5yltDOT%+czcc>4kb?W=-7wR}|RWKp+K&X!~ z(1;or86(Z_tTsEg(%J63;4JX?_|1FV+wN6))n2XlxtHh<_tSmF5BjF>`cZ$PpXsmv zUoV;*IVYk-!V#Apb7EvchI|P&_C1vssBqqsmsB{VE17E;MkxOoD$3qE(%Ty-4`kiJsj#}gpDc2ZN`2hJ$#s5 z>@Bk=hv{6a!TQAd)=ISp*(2<6_62sfJ;z>T-)zV3Vk;y&!<|j;4)>7zZ#U8F<~iOg z-q&7d|13Y%KhK}!&-e5FWi~T zj-h+?bu9J=`ZpXoNx^Z!8-n%0H-krliJ`QR8j6G_g)R=w3*8Wk#f()($ed&TX1dk{ zE8DusrJ@} zYMSP1)3qzL`P$9eO6`7av-Y^QQ+r=a(7WsXbYEYjFVQ#akLvsN!+Q7N&|sKeWKysq zINX?JEHyU8j4zGu;ql>;aDQ{CX`4CbgXVBcwOo5B$H6w|6Xyr#xTCnPyWHKv8h!05 zp5b})lW%&Tc;o3OxBD;nEM?QFg z;HSak!GWPiL+2QqjQ2TToG|jkmYHY%+5DT?WbU+Tt-o8JS&!P=?B|_5&UW`l_g8m> zSLD@rPx;OMXTD4ui^HOXZhM__ET$|~7ih<{ary*(p?*+L3yz_AJ_=4U<`{X#V!G00 z#;3+X<0kV?^9A!Yvx{|(HP})t$GVIY&+XQo)>GCS)(6%h>l^EYHQH9`9Vf7F&!caA z-acTr+ds2=_j39cq?;f{B8y2=dqLUycd&Q@2s*Sh(1o6FpodzX8kyWTBz%iX`a+ui5fTK8r5b@%V? zyY7eXryNH|=u>}ke{&POWUq(U$2->>?v3%z^Gr6~1aFF$<<0cwc=No4v5ro5xmV1& z?*T8)e)^cV&3oG0CUvX&0{z!l>Phu% zEsZ_@b9(k3hHl(wtTxJxPmDR?g7EzuzO8gMM=iyE#okZzhn;NaCTE-*c4yFjHSSz* zA*;ICJHsF7Pmi(h^0tZ{xJYdjegCl+#N4(e=niuw5?~>oU@cta*qx}#qGvD9LS>jPf61)7D{J;78{CEBR z?1UO!_fk$*#gW+Ek@Yl6g*e{3$>NZgWaUg{grX>qC@so=DMyt)>L_(Q!-vTXAg)rc zQJ1RA)jQRD)V1nn^J}F5d-W_WOPj0Jb8!Evsd`wC===iuUQR4u=_$dU!K;Ed1)mBw1e=0C22Td9 z(D|VQY~Ra`g+__-w(+acpK;;za8CG2YaZjiC#;w0q`TPz813E8Fl4{|vHdw6^o7nr z_ax`f!M?>=b0(+gI?+KXa>sR{N7Oes_YKf8S&$O#iJ0~>XSRd-m-@H*oZtdZ5NC%b zhL(ih2z?bYjcns)BPqNiTxLFIK4ES*pD}ltFPVGj2i`E>Hk-{B^HcK+MomW;Hytw* ztvjr8yVA~bzi_{G#WA(kd&C>d@o}r)?n_a*D9da z(%}AZTX?pU>&$oZoP4^7B~GEU+$nO3=_*)*EV<)y?IPtBj*UH9kzQhMFrPQCab|kG z7#q3%m7Ga_@TFY2gp>Sd~_z)n+AeN>yyv&an&aQbuDf9VgQ?C(1gD z^(=SlIJ8(+`oE}~%h6imR&pY3bfs3-i5|NmRB7xms*Gx*)~GY;jRvDJzI{mGxy*fZ z{>^49+oH*BaSynybb@VkgYBGwkGm(`B-Wvu*UL-w26$=SFfW~NgbgASDAbJV&P zmX%g!mX;Rgo`NW#xNEsDY0IOrv@(}8=l?zT4ru*;|6iXT@7#0FJ@?*o&pr3t<&Al3 z0`qPKF3)q=GS6oPByNeXe%^X}R(v4R11ArO&*ASW@e+RzjcCI{U&p_I zw{A)Xr|YK7;Q4e@p6BnUpUa+1GBv*cGEy~~@vqj>yuSF0an-n6n&u5Ob);a8=0mMU z6M_f-bw1AOYgqXtLVR9RFnKJ3@fw zUA)(^_EOW1S&~K*hE#97pZL#$g4*YZT)cj$r=}qoo?-Km3$@o!hMfPA%hG=4gsC&K zHM|uXv_?}4d^3xVN=~gb;Cj(u|Ihrj1K6X0SSj~%QEXtOB)zqo$#veBTCQelor{wE zJ}V2J9|g&B!9hd*G31t&da_~-kPA-Q17(+PLJoUYAJ!He9zWS7$%-+PbDy-20-WN5 zqhyypfnb+DF^7GuZ>7y)NA#VwGniC2Lp!5raNW~d?KDVg)Zx8pk3}s2Oa-Mu)HEL) z7GDf0V=3j*XH8?%LrloIETkp=ZVl<$pbrS~`(;6OO@VU z$x`c2YIy538sb*Mz!87ay4@dd_2Ox^uYOnUEOx(sTl{U=z=FS%8q5x{_#~#7b7W`o z)tT(q2C0poKc&&6x%WINK~|2bgHN#mp>4D?*__Z8+85ZW&^Y`(9J&~PhZ~bEP=WHD z@<`o`UQTQm{sNL$lv{RPi6_A0SK_Iy7=Ixxx%J2J@;jxTMK8Z}Eb-%f=_g-I@V$ub>ZXjk2UT#=dA2 zr=8BOG@66I!^2v)o-S#e_r1B}Qxdy$1Z*{IEw#5xQS|qq`xLkJQHo(xv0KJH*cigF-LIqfz6JdIrmONf0=(%9U_O=zf9IgzTA*j)M##{=imZxF9{@seG} zg7M7SxIrDlDd=C_jPY!2<7V3NY(e9gFks2Jv}rC&04yPxbLsTsSxMv2@!66Fy{9QX zeE6_suCI8KNPYBp!#!_*Q=a`f*XRT z`%SGzIj;U0rO_y*vU9&_WNEo>LN-ebZ_Y$eHostox*O0$JHN4@{}q_yZ(>Y>rBoW z$2vxYOHcjD(j)BpDU!zSmv{XfN~t}C9gCQteV%oR+^&6&{TBHS{<@-?q)+A@WGHA2 z7lht96n|3rODVbgyEFMWki5!0SBiPAA%6o}i*EZFxKtX&A0lnoX55Q3n!E-tKjYTP z>~_@9+JMV-VqO&#h@fEg!7m*ZuRg&l95@J6$Uwn!N^o$x#E32{I52uj^&*mT^_IF@*o zeDflx&K=xcR=)EZUz@=CHR}{M3RRbtbLd9bT^L2dg1?B-n#h^$xeGPsg)%&AY}Dx3H|lmqT)+<;3LSK;<@0 zQ3eDn4Qy^_B$eydV~Dt$$91Geqv+9zyZnLAO|vQbhcMXx7~(;oxFK%Ih9P$K({0OU zty=WaK2tQMMXFYsx{`fmwzX^m5fcqF^eyq0ofTea;l5QlYg11CX>jLEqBXLIX{c~;{${ADv| zsV~oEZ4#pfsIQP|1F@4g->v@$94X2^^%w}GjV!etsaVl>f@l&PRN%GO@*1;WrbeSK zs5B{Tzzd8ewvfUlwms1-6@ShyC-%#}a7;8JXD4||n_q?cHWXrW(|qREmk?DsrJjHj zia!~D(7L^s#-Q;UKX{SwXhpF-(rb)=iDc+Ef*JntWAM8BYO9`tJYcsTV~e^!rL(DnW?Ov?`r5yDdqaJ5&rkny> z3fR=2AJUir`OaLeu#GBGJIKjIt^heTzBvA*tQ_%OMW!;jU_q_Hfudxl6s9$lEz0@N%d<{}cg>qJX?FH&k zuB{N{oqLq+=@BMPpUcknh#WSD8e)&|8dn2ShL|njupK3vC{}|Xpj8diT}Xks@caH+q_- zmQ&gGo}ILI=II&J(oWKrm@QDd*Vq}UswtQ{NYWB>1`LI&`SBE%*sH4)DzO)O#Yi1i zu~of>wHZk{p-)5pcItkm!fRA>p`$y7{6cOI$j^m#&t;L8P6+k}Sz-{r&9$`ZGz-NH znwicyr-R$2Br=q{*=1@ zPp@}}ieB^@3v#p?Z@JSOG;f_}0yr*Ju-8*sJHo-Jjs}~j^MVJVn(oDRin$^Q+YeY? zrK;n+KlOcu&SS_!;oE5I88oU9-a^BMzC5YUZ*Htf6_HnTR#Bc8i|fXA)h zUJlp;IKDVFo+YNnWUY#p$VYSpaXE-k%cp{MAyVA^sw)YBQ3Ls-XZSSbX^aeeN%BjN zsl7lI##`-wqb9JD)Sl8S6-?W=MR+$-t!pagGR!6kh!D=4B+0s!7S^+GtEXvQ0aqUA zJpsr5Jf#%fNRBMd4WR%*KU5(5(kpuk)?7YrU1wmN$$xc40rp^Zj1b$@!nXB|2|={x ziyUO-h}v%wyVSs+322IS%7FjtDr={p;L5S>UJSL1Z;&VH~j z{MGBVY)$uclwBLmrrICOy>OO&~xh48+=R^kmxLe(d!vJzGt**ycg`(paLUH zsTXs+#=Obw(SRiFWY*o*27f2ox(B{1iaJotKD9+TYS$P~7Wz#&FDv)OB>N^dWA;#2 zs_`CPpS3`!!!atM>E>wL7D_kbG~;o=v@DOI;HJ1rK|a{wXPEb?9vLZ0rHByU&EmZ+ zm!n4^S|hX6^rlhjB+6amw_8&Zemet&e7=V*NKbKiCvrCor+x%bHL)H_rI|YM7q7Rf zh{P$CvMcJ34p?sfhxsdwZ;6-sB`qx6 z#_j?&m{9L?RDa_nfy*PD!f~kI4vKoc#+Okgv^Jl!ptYi@t*4;J*dlCt)8^x(Er_D5zA^_)I|oM}TO~xo4Ozqr2oMF>6L>SZ!#= zvek-CxAf{hN~3Q38DWAE3$SS!=5BvNnDVW<1w)P&tudq!xBf4IoeoZ@b_RS3H|Uxf zKageij)@vI9{9(G^IkTwi3z{iE~bCV;+O*z^pTVTH!A0LMrFN5h1lRzvS=xgN!|sP zCUUJI&xzHPNqy@lC}fm5!_(4h40=LtdvK7=%?6!IO9s(dNw!u8b;h;~{K*Iqtx1=2 zliA^?BBk4z?3bt7NKLa@qo*gzW2p$gqt@*hrtq+t8meEE>>hL<_R$|iK>>?8o)hh@ zp@BpYY|1fiS~8{^{YZA;>86el&JU#{YAd-X`yEpoiaafm$5Z_8JbRx3TXqGX{>xHY zKh${Aoeu)%_m#6NQS`Uqwr&p;qVAHY%HdQuJBeEJA5pnN6w4l*)I1hp%HQNOl*$x@ z!G3x@FzRGX2!25IrQ*gxILMw>lEwjCC{;)~qb|WXfPb~QlCOaRnU#2{by2=27;OJg z))-_(SJmTfNRLZbjtWP#AKeI^X27fd;PL6RHKlKVPwDi{UgNki2+J@@W6KZ$hYgO) zl;x{Hio3TLV>c!bRJ>_{2e0?b7&d;`=(?k+g6Yfo^fYJ;J2tFEib zs8nsBsJlgtz8S`h!+Sb-R-1V)&%2va?l*}a#Wo=kpI)WPaS>kQJfb@vcyj~!s2h!> zx_uvM1ylVXqa^VpwX1&n>!${ zri`XHwG3Pomh>_-O`%p9M|>kB#i^@@Y0$s0W2|c-=COoDLc$^lP+t@I?U*PimupRvDrH8 z2`Kly#j-=x*@`+}^-P6;<`7`r9>yzoMD>4)d%^i>?)0z}w2b0|>uBq!vHuz$Fck9X*p`H%^Ll7C_Pb=uZEbF=*SZ6m*4X@t zZEX%>(^AvJlmtfLw|ZJ2DtsTWZOR&wn{#dPWJBe+(J6PIJc49<^Y+M>5Rkv{^+9~RTC4^jF z0_)4;Gq~57nn}aWI2#<$-ZCsYF>zx@DD@(o{ssGV8Zww!94Y1=IDQ2gd^#$+Fqk~INv7F`5csQmuLaz z1L}_~+2P!uQLTID{d$Ji-ly{1#=Js!x9k#S$wCt?uKW&pzsFWebCiSG;(xrG`0&;5 za9_Im-O!i*@4Nm^hY(ob$57Yz4*JjgzZu_v5tJ@(gsLr@tkD$WS&iotJe%-r!?PDp zIi6#9&fvL%=Vv@O@!ZAZ#Z&t^jYDIAkm_Ey3?613A}_dsX&(B~y>iFb>-lC4FruF* z+`^hU!=`*MyGWnPpXzC>JP?w()8yJP+_!@T0x7&`J7UD}mn)3Wt$vq_|r zqmfQ?I|5P+t@F(xgiOKNStH_VO4>m^#@;gwKZ%Y4O*X`y!inFDx<9Oj%;SF;#+<2s z_omZ@UM`H>L4%+H_=3CUQOkPkf6nMl?5CcStAx1RW5F_+q zh!J{HjP2Udx<%g~veYPKCcy;PBN$eQDOh-^bXN~^iYpGgJU7J_OE1S3@cnYSdSm%_ zpe;iO%Wj;E+yruRJ-D`)??bOV&i>#QI+*71f(*o`n6usbhA0Tzq~r)>`eWf90e=!y z2C=j_M?=wU^)wWKD1^4N?|+R_bE#B}e+;5R{6*Yz=40|e#vX{_D2uF~#|V?1Sp92q zX(f9F*@$4Fv$#Dznnh!8O!Kv@uHj2MD(a6k2(^$pbRp20(W+K$OXi^>WHq57J# z)C`S7tt2@x&IC9TL%s?;O+i^;Ba_9p^ltNVBn(Y0c=AC8yW5z^*B9v-Y97V}ZDXKi z*|J;KftF0Io6PZiYjZ%EA6QUrn>#fF^k>mbbql84e?;tTy`WHuV{2 z=6f5)&cyv1=k6zY{J9LGLr`NPO(oL5n)yWY)Zb`q(%hN`6QWs;8b;xcjWe%fBeoV?dq=_wqY-J4|IdQ<&S8>~ZEn3p zwfpr1)lOvfG_7XYMl5cQNCr?P{Q%5SV zD#hS6R#Ov;L)RHtyts{D7V*F{hR@B9BVmjl%t1XMh?KuXs1e#f--m0T^gObZH678| zary?z=L2#%?9#A@_Ht6=e?Xm|hG+!2q=@nq*LZWT4S%xWUvkvF$EmIQOmJX(;(N?y zWckYwT>$%xz*hROFAD5#fu)%b)1nD{`v?j=sdXsC^Z|xJwwqM^^4f)5iL!B zNZ4Y!<;pc@B4c;2@k1L|X(?qtu7)0G;m^q7Z-7Zm;}$`FU68*z#^ycKII<8azJs#G ztkR&ykX(Z|ZW~Av`|_Fg9fpD-RXIwr&m&Tv+T$2*3q1<5&)IIm@R*pAbZhp^>VBI0 zC96BK$Dot_QG;6;wq3o(VFP%jT0u;TQiggRIEv80g)$~OAJxfSipE{|isH~S>IS0V zObZplm4|AXQAO8A)iQA#;38n;`xW_w%mI|s;L8a=z^@h<|020NXqh5bEHO{4 zSXz?^G8Xt3ANzOz2m9ZSG#|fT4ga?PgTL~Bvak6+*x&u1?5=;acQQX&`)S1QHqHkR z)kilC02DHtUWSz8*f>+WA7QsgMc4jw6AY*B5oQ`~YIGPq?DHPSVdp8zLDa!7Z;s{RBHUM*xL6RllxIs^s~XM98XpDqvo9s zv4>-mn_Nfn&|_O0rozckBdNL<*wU3U^~^ywJj>MPW9q!k2W!r?apy&2^&YS~|Irzi z^vA4&ELN(;l7sBStYk+N@yp=1J}N)qF%%f+njj8w2;K3qn7Uj{nbr9SVh+J=gD0GL z^x)y)o#!>69EAG2g2JOccaVM!X<9D+43v#_OFRuy4SVi_LiGg2p&kJV&B?+&sC~F5 zLb{CF+g6C7>xu+bD ze*m|uW`nWFTHwuXYq?XdwFf*ZJ#mwre>TYR9@y@dqv76MI*tDVNwp)Fn%w_$D$F3S4hMGR-$s!);gR3~!+~ERa`Mhxk38z1h(kP0d{)FO_&U&h$GQT%s*?+T zh&y2#L;eA7o4T7w!Lp0FtaS3o;>?4)3iep5-3qpW^Q82ZiMzJFQmpz>l|Ym;7WO=E{!h*K{K(70og15ob7Jq?&Lm-ms?> z0mLs~RL|n6)ch8_w(bxVzEcBl&bOb`-`TI(R!35A$bv@~`{ut=$_XRr%{|Z;NFp@P zz-kF~+778|I>6c4rG-V241~8gE!ke-sISi zENRMF_wZh{Fz4%HyyMVxjcP$AG+_r=MAu=ReYHFJLB7t%T?f=`1C@CP)(D3XSDmhf zoFa^N>-smvdPF(u9`47Z<`Avy&Lh>zZdaa$4VsWHEpNo$pD^8#Nyd&?J`6`Wc}bew zrYVY3i?NsrtHiROarL?N=Qg0g&KUQG5d9;_#*(i#M&?Ar{0c)o{dHKKp`PvrUY73V zc8WyuAXhEL63=6cKZvQP3kHp0Ye@ddTw~tf9qfK(no-^o*~^rPbt2zGK8YW$j;CC& zAy>TDLsAY$v9Bg}c`A|67L+b3rSC%NIASZt9&8LY^z^+66$KRFAi(h_y~g>y_!M;B zYs?1(LOKWtE$-}N36ok&8!of#NwJc11zR?$d7H5-AYdIY!#<%#*`(a>(VOZh9G2LW zI_Q}@8`;H4jU5rhKMwrhI0Ft)PUD3^PwOq4A+-dALzGodSCHG z;TXKAapMXt+&%ovgXdE>GTDdoN{KT+G%!_v};sJ_Fpmm^a1% zn6&4_t~J$eA~{K80a7S@Ac)Z5-MyGRlq*#>F>@Rz?04$-z$%x)6%)>eJ^!3Etv)Mx zeoAn{dTwIzUiHo%mM|r%-?nuqtv(D+*+r%Xlll(c5his7FP};6!tD{5)PB6IFey5w z%Y>Y&V3dgcKex`%n7uotwe;sQRz78dL-VO`xX{_hC-E?JMW65YqyjH@uU6ppW#S;< zAwRw3hy5oYTHXB(*Lym$rQ(hv-9c}PSr0li6f^{YQ$EP3ssoT#jB(gq#w}IP0-Qgv z4O4?tzvky@`dYqXtCimpnUXFUoW<}BdC9|#Wb2`5PLoeirWIwPu&PbMaV%`a9!~8f zT|Ud=rnMeEcq$E8eJCo25qe-Zb&v74P`=a9lxqByKzSe&d}cze7O0gCII1i%BXL{Cbta$)0gj#+^WU)34Tir; zH|zjXXvJ1sWmKPoFC^>!fx9f@hjhKstzSiUQwA*)=^#k({M*n_RDIWPU}cVmenhibAIDkcUk1kcXxbpEz0l4#lFv19%ROxAHj0Yh2Dn>N;}D zn?kZao<#n(lZ$Kwip}4x+rNYjoYAOzQ;^7m8TZuVRc}SCUx76*xd?^(*<;b3?u2|# z^5lf4Xs1{;CvKkVs_C_9O`bOO%F%P4I05F7O86lEy2o!CXZ>HwyWEH!l;ravASH zY2I>m7A}CHdB?zbix}gnAX;>B&lfFteAr)=#R^Bydpd=ReLbSB) zG#maxTSsdgj-WLQk%?}LdyN^W8xRY82wXL&`v|u`jS0Y`+!ul0X(5Ag>2x5dlebf2 zSD0_XzxuXIjGR@VkYzem2v@^NC(nn#P4VxusH}^fv8Sd^+Q#*2GH_cP!R^4<8;r<1 znDW*Vd1n9y>Rw&g{f4&uw3O}-O(vG>Btz*JfOG(IiazOyHmiZ4xCf%_;Q>`NU{Q%- zLeM4%YM_qek_-h1`>EX*aA9`E%sAsH1RJt@q;^psn(gg3kWIIaotqgs`7Z5bjoZWL z*j6adK;<{*ZP2ygl5s8rZ!J8-i?J|J8Ei4c_FyZ*)ph))h_RcfMHrfm^(C(I#gpRo z0YVKO*Rj#FT0ZsSht%dL1x8SaqxfI>H&zF%>@Ag(F3&>{v4U3sgPbcGbN#f^ zg2bZF?HO7>he7&kPD8EVL@+d-Yx8SVS1Ou3x3<*fO)O>&1r;zF!?p#x@tT;VE8w^- z+>j#8)}81XwBEIc5bmf8btJa-rEi*Tc%O29SHlHkCN7czu783gw(w=I--AG@D1Tl( zDQwOp#9hA4^=v=qy}&v5lqCfZ-zoZh{#dEyrz!Yj=Z(E?xKZU@2}vZnY!W)_D#qJY`0e8x)Y_<2l#-{?+OLO7U)3Z zihAh`OIbO}F*O~%m|ccL+>2j9H*|=L@cc&}br>BBFdH8da1p_K1bmm^uLN8N6{uPV zc;fPpAmJ#U7rzwm&j4@5v(NXyk^Wi=ZmIyCiw4Lp*7WTT(xG=)#@i|3nM8XTQ2_Xc z5IjS`lS^5>x09vxci69Qr$`s}vG{j-N$(6`x$lhedm~uOzI~^=%XdPc&%XQMjVdXyvCS1Siz*?PK9o330uCZW6O_#kd@S{Rkx`=P}pm=<)m^u zu0>$mWGN@=hL^CPSB(kpz*DpVZtv$cjtHuj^m8#A`)>DvsuO`s|K7&BmEjuAF7%4V6{h~#n3ccRhD_l0 zd#$A3TeGP5oAi7Z+wZvzl{~Wl0$nAxlOhy=ces$-1WziUG zTM<(XF`E!LY>Q@_R%b}o_Ds8`QHvYM(W5gQXFnUzf=oxMuj>hj3uq< z?06G=RHRA$!~);m1ocan%b`xytKB#c+N1H5<@MCqo2$`A_UuPS^Bo+sEME?H*3_m{q|&8W z+(JF7c1R@&_o$ll`mlFCim$sZ^l^V)X}~UgWR?m-nRaal{SZ)m<-gK^C9iGQqHb>p zz0)VmVkpQ*ktC%MXDPPqVyj!mX^Fn$0p?!Yv`!W#7f%rU=3$*jf4T^zfiUYIb}YH@U#Y%GrQaXkj-6B!}0OAfHPEMYd6Y#KalxOEurtHfZx zFP`Rkgy3%$LjhsxFZF9gHvot|{i<`Q8u6UuJh>NbZtN(jUt6f|eW~twyzWQUo(3rC zapljJ^2*o79s#fXqc2eT_KpT>%HuMo;dI4$%!{wrVo9C-Z8#o1iz|V2Nd`-9TmU+% zT4R8Oiob(;ejk8R3Ar4_^M=NVW{Pip@#&S<_?Jej!N~sAD6Qyr(aWW43wAo3v;dBa1Fl?G3n(hLT&DpJFiqD!RL}tBb9uyb3c7b$)h&IM&?gbnxMVi4P!6b)Rhgsw{U%IPRI#n7=soW-3cVB#U)O@y4y%$_lsb&DHUWEp& zi#wa?w9tfmg6>gft<|~xG|<}l;e3<8V%U1rv6ED-j?IMK5~rtr8a_ToZxGS2&0lt2 z4S?$juq=*8bmZAXC-}%<$$Qk!u5%udJhcF}vDXrGs#8>Toeb60#iBDB5<#@L1b19+ zfOSt0gm^kH_H(q&Tz`cSR1J^Wx(6MGtFqV$4zV{RW_!qDKjN{Y3bVAbvs6k~mQw}e zPhx0V@7}=;7^-V3D%;8J#1UXkx<9kI-5-|$Bb`V5QD=L&?5(uiIS^oPj8vK-^&+;2MpzA-9{Jt( zsbSe3%*YP#_}ioKS8MOC9B^Khasw8SXV04hmDyV*J(}G@9bbpKr8%&~m#f22_vkH) z516GpXCu6KuQ>c3aW$p6nu0;fmF`~2!>3W2++YeRSjt|ro$|1d7HKZ5s>;t#5CVK+gH4dE(M<4@WY zR{PV?x?iF`7 zJh#-v-MD+JRJ%aKVp?gCzy^F4!J1SW*{sjZQpQg9_Gb}N{7$y@GuL2!SFg8^lD|N6 z2qCFoiT7#>02$94yHms7Q zom-1Ke6dU0yggdCJsoYDn5Y}p5!<)^@fSP^a<;Aj38=SsM;5%fqvJwL?oXOKlMlnY zNx3?;URyZUNc4jGGC_RG9~y&X24+Fn2UtJwvHsKs3}pCfMh$B$vA&4Hm#fzkDZ`6F zJ0ge$;V%}G-Tpu`UAnnH!ReKb!qq$^QfOl`d$^Ao+SRE4w8EcY(IY`SpnKf^01Eeb z+CV;Skf6uT0%KEj(~#Zf(!Gxtep6x)ZD8tCN#uBJW$>R)FyS&LWoU!?s^^i*(@438 z8ygnQNP7VAIgoi+{R)KT^qK7_+{VB>JhoKW8-9iY?p;#OK{ za?+%%o<|p=V7ioE8>J3|5Lt1r@y81b`@KK1Wkn{bU<3QID5~DX z4YXTz4qvh2yH@D=7Q0e3N$PZg$y?flS*>UwuVDjp7X?fhVY;!)n6jm1!*1B@^T1&i zhq@Bflb9p0z-o#;!!4acJxhJ05NZ{U5sWXmnf~iSX%S=Vz8)`0@3Y{ov2uI(xXqysp}j-cE-~-<>Oia9;+VfjD$(qaWFzZLOr=eqeLA zjgy{!on72EL`r#+b=n>iw-YA496wG|OrFb*R{FA8tsTmYm4t5oYBp&hoEsjcx10%uB#6i zDU7a*zrePQ&IkY4L(6p!u#^|*Z-7?LdKx(&Jha!RaK==wyYw-8Wk-h8E0P`C(M$?n z!v5GXHY#Ef6v1z5YKI;|)u)C&p}RO*RMB^!bcNKp-^7mZ z&X8_B!09kRG5JkdWwI=i#?1vmFQM(OsL?>&^7^43 zNl>Au4SlABTV-9MUn9oLxwx=dspef`KkXSHB{^CA-dO3_A~tq!m$*egkjF6Oi;om& z`G-}o;zM3X+hq5EF!DTF7=_xuA=|(A^{BBwp%C0m(+wmb1VAzYwE?vKiOnpIk@mgM z-Yt#_9gO9bav&YvDa7WEw4g>KUSmg!7e-C^QAp@AgaAnB(uV*@=+fy&Hnk*K`sfVX zP|{7Be-@!-h z%dtphiqs8}nk-V6MJh+6j*HY>k=n;oN*=YE3;I$Z)^IiGJa>TS7WX#rdwItnQF%TTa>em-pLo;m>2skpCa z@8_1aJLh6Fsz+g%zDs ztGe|#%T#oOUS*pOL^=||#K$PLk3KmNGpKqWp@X^|T0=F*AoxgyTT?4yX`$EBi7|1{ zo7;~!QmpOfKULGxI7ROd4r=KQ@FRZ{TJ=<_modZQX9J)$UrTWe!TOhljoydeqhGrU zR&$WSss9pbiXUUDE@F{u;p&#%$<6{uO-!DOS8f~8u(_baX`Mj@hXSptztfP^r2!TU z{RXhTWv!&8W~P=+Yx^?78qAvTU1xLas?$U&3n_aY4Bx+aJY(nM^}qEtOVGSmD*i!oeq2MNybPVWFyZX^8s(@}gAC#mJbnO{YWbg&(3 zS20$~(-$qRNW{+JaCY!uKWWi$R{ziesbm;CcPOcFqfy&j>N=9|zbGfHdf zUki}{^^=mi2+>)tfj$j+3n%Ba)^QD8BrC71#8J2f8!MxPqM-Hp23+e|+$%L7imZZ9 zC&gA}7Os!du1Yx2j*pdQv=uX%7R?sx;$!L*a3Kej%rjvZ5Pkn7L;u2;n`rOVRYUP% zq;Iv8e5G)4Q*BJsemDxIW2895BDh?86`jS`a`au-n9-$$r<-a!8fRd{(2V6D=;x8V ze!|NYPB&=>M`mNVrg_Vpy}b7N&ZJm-J?tII%C}$kQq#PJmrUArtYu}C^usciT4|Q{ zEGwE)*;_m8N|0D3b@>a{=~t14|CLg!_xq(tD|p_;^BSJbcs|DSHlBPu2k?A@XA7QX zcsAns0MDCv^8R9eN5<9-I*g_GK`0v|yy0ss=SWz9KU}xhxUP~dKhi>X?p1t!RG2eR z8_EtJY0x41qSsr!)J(sCbwz2_Cp2{MJ;HT0FAU1q3vE)!9*mD)Dp}p5=IE0L!H}&2 zR}XunNT5@vBQN$M2g%A2+3%owp(h)D)YQ@qBG~XVK^p{HTd?6>W*J#I>dV!`^UIX4i7?jud(hSrXG!!CgHbdjtz4Rj6%Jzb_s)5 z>jPLV!vYv47C;}WcOpbI5Xd~cl3w~=c&T-f2lb(k_pjilfI4m%XNeFjwDeRJYP~c0 zwQsbksjR=(IPn{%9&2uGPTIgnN!XPxq!m4U_y#^JSE{{8 zJko=FZ-ej6GN}yO-doTRbMwtOBg;Czv~J(dwAZ%-{y|d}+m$^$-o9%PP|Kak<1iF) zfsqWmT=xbgz>~75%WDAX$7jw{r7@#mbJ1)3uAF6^Xc%xAyNX`p_Hs7=MB9{w418;`<9qP~bnaXwDFkex%1>qYIthlg|`jD=Z;PT8r_OM>xs7&UJZjXBkVJ|rDjLjuP4)_VdGiCsg@2&a2xW`-x~Ko zKlOJ63gFi}lV>jAD)R?nf%hR~8S=9M%kFm1fnwbo3i+5Ag3po;j?m@e?~}>;;5G|r zKNgW7i4aG-6J1@VLDe|9@){2vK+WBbpHWPY#*p9#3Cfu?%rzfC0A+8D?3DfoX?z2U z8?!xTClcZYA>8S^k?Wr`tnul{$Sb}qw^2c0&z_;2*vCJjV(t9Y>Cm>Tu{I`|wB-$5 zZwG^QJAP1q*EdSf)!40Qj zdja(>*9A;tUw!*&!y}kq;LWuuF5NzWp4usjZbv?Q;kzc%+xhJE?^+L?P8^1v*F$Gz zl}Sn>kb0K-Y<6b%1yagBz}#wj#D;GVTLoU zrQ08~?q^y!j(v>LJg^HC;L_~^OnU}qcLu_lW3J?{h}cmO-}ez~Zx4qUPYW1*JY>qQ zV7UJhTn-xO>D){Ui1KvS@NCIr`UdG$;{g32tLYF8R>RZjk)-H1_G)_7l=Ea(KhM(T9qO&v`%e z6}@5S%rJwqB&4c6k=>Bxjo!e?IFjHS<+`%SWuoxt1;72M+}&%ZZ>Ei#{S_4*dg5jUULND7p_mVg=`74GZ9*$+2b= zZt_QL&$+NBF9j1$*N^83zDE`I8h7mF$W9-z+vhq-kJ_@B^KsJdSJ^Y?6ZA9jErM^x zUv;!-^?9q-@a}OMLu58|`|(3|^Fq6!<2jBDhWzzASdqXkg0Q=-Gwi%s-;<7^m(E$p zITOpA$1DM0sfR-c{QeDRsqJGK!d|$TToMeH)B5Ad+}O}mvC7?lZzX^ z`WFDHOZpO1E`32v;^7XTSLG2}RU}=mrPaR004&_`^z>=`+fUB{YyB^ceT5= ziY0t+G3^` ztL=WCIfS2BnsCCWW?~kDwo~JTWxol9scUH6ES6FHSHl{pO9h56rR)xIy-c@tHg2Q$ z3B!#5js00nI$P&bU)@Vn{2!5?+U%gZsVibIF}MT@5lJ#8G z`f%la%#^3RPXN6Z3<#5Oq{&Oeu|u(NQp&s}v7=-iQ+n7L-FPL6=gW2zKknkEmfvh4 zrR=(g68K&jKLN#R`|~aAn}50_&FAD%_zcIn-@-q`#~0|2a}VO=BFc>$m6(gNcz%4S zn!JUzd(_2I7Yy_heA2uxxdb{Hrk_sGMZX0N#OvOF3M*JY*?Sc(r#^T&t)8GQe1b-D zIPIS|dA^BH(5@BvXjOvN|1r%GeN+(np|kFUV2CA#+Ne(q3dTiPuyD;0rqs9US9GJY zaNpnpjsQBKx?@o#z7rU)yODw1__Zo*{Neh*ap%34+2Bd-G6EDq-6g0)YN+Qqb)%quPE<#{u4@f>KPN90Yl#BA?bqO`(ftHG5vMK`)CPhYTtl77spE+nulvi! z`?xMK@jf2KseJ|Y3{hRW4B+5MXc9RLr`BxK0C*<=C7IZoHB8@}4 zArl)sX$YI>qL6~Sz{VZZ+2|h=)4u~P{-7(s^N#gSiXJK9s z;Tv@dC@qNTc&JQ9>3&4P!oM57dbUGt-HBr8z!NP!KbdXxm>RABn8%NG{N~{&Ba?1AzV-y*C*VG2*F8NO4ffHnILT1T zstQpcegbYSOSlo0*ljC5Q@U}_R|V+qi%C!D&XOBs&FdL%$X^EzbtHJpHCWPU)T>{! zr8mN)_upabZwwB60l%k-;Af$Y`TuH>Vs5a$zrK`g3!#O;1uK3O3zMTMDJmYvRj5cmfV_;CJ*Rgj1s&*0k=hxm%zQL{)nEnQ3CMe$0s@eD} zHqt++$438_Ds6q6t^IAbG_f&@y!o{B%Sx7WGeufUug>h3n`UX4g@xRDQ5w94DYr&N zrpv+_-8dkp(~Wn_Yac$0@VSAy>TTxtdpGIB)vU+wW+^O!jr%=SIuXu3{oQ8j)z6m; zH$HI2XUM1EuH4U;)3uTr|A?33!dd@6dUn3Jn)(}yvRexhFI_@Fr&CJ`p%eIbT#|4r3qQnf$~-w8=kY1luRHTucn+vS-o zw)@ZU{z1K|{LYVCoR{O#KT+k^1CWl?u5S=gshKLtDQ71{xNm+~f+ z<~G6DTuv~><$K>H>$C@XjS~Rjz*eGT8+E^h=-BKyM%(e&mB%t*$XIP7?0^JU$Wu;c zmZj7Spsxyo(V#7#v-7v(q^I9x!G8@he$bjcCq-^`D$A#+KY2E=AX6Ki=&S zlrVpGHJT|F(iXlAPJs zP*RU%{Hq&qG?nT#oI%i4cE7WW{qS>LKj9~k_$@CvyF!hvLlwA(*&%W;>VQSyUWi){ zar8-E24(*U+4GW;-8tIa_Hy=be2s{O$`SQu5c0ZeQ>M{2Iwk%V>Q+!hZbQ_p>)tbQecrA=gaNoyOaxKT4?v>KtVB`S>;KxR1wlg^dn! z2Sa5g=msR2U}0xFv!xFr+rCstibxHUU8y1XYVR!=O0nFL;FTD0*fld%r{zNS-Gjt> zLpxIg=}ybt<51tg&dl`C7&tr#Sa)(p5bOD{LtqDyilI~s_V&YY>BYC$*AIu*dxm7v z7IyAaT$2GT;-A=(Ieb9XIy%l{>Ibukj3V<4!LKNF98WP5Y;5;YL5LBQ4Pd z?L0p2l(WyF@U>Rd!S90X>~V!IYJ3V~fYboDTu=QROKi+NR~~N_Vft>nf~N1d(7}7L z+(zxAhCqOFQ&!?}wv`)!U+vT88c`>&u>m-#a+M186s=23LuBs}`)OoqMWreO;8f{f zbx6|E*MHYp;RSzfx0vS;#o?D))cN@MUR--t3G$*ibsv5D?1$g@=(5pL*j=Y>A+7$X zaI8)n8?pBaRN(4y*;7kZ7jxgNS1lB&Nvv?KPTRIaC{phEW~!jwjLZ6%xnCI0fBj8% z2j}4{F?aBxoofuJv#X9e;7Xxar)}lf(~Go&QHVkAjm~)kRQlddgBtSXI6@p*Neh#c z^f%BVY@9`-Y&6US%r${&ATTk&oD~?Yz~IbMe^g*@qGymR0hs*)bBSXd11v!86sStU zBm=WqV0H-1WMK9P%qIeq1I!kIc~fBK0`r-`I5|eiqwY)6zbBB>1#*!+(Z-*09mC16D%+x!0Zs1zZdcLWdd_kU{rz00_I17`EF6+ z`r6tij;(?cqJA!bFmCz&Qk;7VunxD+HWJ@a|W+{*^_P*enRk30^DUEP_`Gcn!fz1iYT$ zJOOVeI9I^5AEHhca52H71YALIhJaTRoFd@kSmtTe1d%vPgth{{O0Y@5D#4)wzD00= zfbS9fuzjIE{K%!1SYC>R|z!2rdTffZ^a*gYmOZf)GdWdI2X8 z{H}m41TPn`OmMz{GYFn5;7o$23OI}4ECEj@c!+>=2u6fS20It5er z3wSxfVFF%BaIk>a5UdgKdV+7~bD^6FRt3DB;EM!{m1W_Kfm&l>aUE?$v<{oYzR!$W zCh9&yd@;KTB7&2b@cp1d{|-iye(B)1g0=nHrh-PFk5^go19CJWj_1NLm*8{+bC3zy zMj)HgC1P;ltYGc4u?d}PWVfMN3I%+O_<$F1`r_jPmOowiC|H{zb!}akq1X11a$JQ= z_1fW)GddzamWH@Ujel?ILhc7OA@w&43$=B%?WMnV6?Uwvjp)7^J_7T!(Wazl;YVh$ zXV1?I?=PkZ_g}Ggt%ax|BCd3-$d9O3=OeU^Ec~!8?vHG76qeQ1W=V$+7n%&X2yk)b z<5O?{m4z+wBMH*0D+_Z%wC(B+e}d*HEZh*H?I?wo0 zE442ytf;5$B>hoT_^_VVDYg5!a6x@-OGB6E5OVU1tG0M!MT^3%^|d3U^j8b(HPG5k z)8DKP%RRjjO|?(b=S)U;-;!VaFfQs_xUPY=X~PaRTx#YDI$!4z6uWsndQd*nP7}NV z-oBMSVgp*~&rOQ*U==qj=gFl)^uyHu&q_ZHUAw_tI4D%xJi%EbObrn7WwB~F8biHZ z?uk@yF;Onn$G4JQzzRPN)ppenrL{QSlBlN!tth+^s%_HzorOH~!C7+vAOxo_WcOfi zqmn9zU+qdQY-`kZuDd&hVwZDbue+#lx)FW#g^Az!sXb~g;`|>_EKR=gcj@YcK^%mnho>B?V1@N zdX3M`6Sr&n@l@J8al59EKfhh09bY&Nw`%-vVpUP-j?^~R#uk1O2?N}$Abzs>=Uf zYs=+uKPV_5>QO<->k&~A)Id=|QSlmPbP-E{9SJC5x=wPFdllva8fIVNDlI zD=RCSoTAG#R8DisYM90;E0g#0-TQM8dw=sjzvq44|K8tup6~g5KWly0eeJ#1UTf{W zA3@v;d+Htm&xm$?Pu&)=0V5FqaK75wI%7Pt%6z()cA1GTJ=7TdusO}8`SVm}mJMtIR2V^vKTF9z=uB zfbnYzi$=JP+-&abqpvY$tT&_j>fXaol*<-@O;KAX%l!(@J)PxlKEirtPX@=2J%sRH zB=E;R2#$vsAKGdz?W+fc4elqsEUYcIxWc@^&`XpnG zw;El8vhd(wn#?G=m*IAyQ$Q`n;llfw@zSLNB zhuM~_`%U~{trff=0~xbcBQS}$Eg}yTcYYD`#kno{IT%^)qlIsa$gm;PhA|oDRsHnB z$q}2|+j1n%nWwWb_2Y;Fo)=_}u9M)udejG^1i zq5buk@%WgaM34Y@30G}}HQ*wwpj<6gbv93?4}$Rk?+@^iXL>@jcg*PI>y4(y)wOJEiEp3FF{)`aPNXJmHarupop9Mwn+lHSra# zT8gmGzUWS2u z&&MH?0^^Wp^aZ*24aQ>2YUys5MQxSw3TzLQZLu5I zK#^I=hh_X@b%6WDX-90GZ6f!q$Ohg|AkNZ3ytaRByZ=bb-|hEbWcydQ`}ef`oqqpI zMcEb@2UqERE~Is>*kYLlUqnMOtW*+gtJ5PT?SI1+rak1Dr;t3kyPb-b zul|8Qq2185bykqi5yVZZ)lM9p+n)N;!RZmE#(Q`K_R~ z*U(9mHvbZH?J$^b@|#+l3c~FYl-Q2{^gUl9=ZL_$!Z#Qv3+K1M>&(DGdaZHS5Od=oJy$@#x@d+mBZFHReZyH6Dp9GG7~_M?^GlYWLEc8bXHZ zt98GxalIV=F;06kH;SjV2=EeO#DeAPQPuZB%N#o;->h@%SmUw*W`kP~2-%D<2=Ps& z`L$aQOM4cS7x!_N58fM&3A>;O9GOQ?C-^S0&39ff`{M?4#xPwN^1=p0l9_22QQHB*cAZz^D-8U0{e8&3y^=56V?w0)1=WT7<=VClK5ib#qedxgXHajvyP1%++ENg1b z7K!;psveOkyL6HN>`os~+p%0{@3{KMN!9u85WJ3Rxou{s@!Rv=qq8$!FQ1E%=*;Zu z@FYesX1MO2hX}+VLkxP!Qyv!#47|1f7^3_Mu}iEOc;M0ZE;gCUfnSBH#`)sa{pZ`J z)ZFqF@>4fl$4n_)hI8XYAG-UTs_Tl3is_hkzY{j^p3dJf?Gsq~WMeTtQH-Zur__Yw z(^%Ka=B*V7h7(e3TWoN#HI%BZFwYOyaeXHttc0}8B^fKQ6-t8R{X9#}(P=syrl_ewe;NH=w56cq)kL*3)CN?pr!~ITA>^190V5GCzd}D-O z9AA&&OgTP)5QfF5Ez!bIYA3#eYUYg8u2Iq$c7o$Dr8-_(a`Vr|wVk(j@^=8sIcM1D z%|CalXm>X68L4~gQ|1dJb^l?lMW{f$d{inke6dxTJJ#Zq@TUDOtjwc$V*(mwW}P(L z7Bq($J4)Y#4DK0)*|EFkn@2|J-JqAJ>t2JVF0v{q5@&o%i`t4QWrd2eH#kX|@AFrd z`9QjM^^_u1=L`$kKJi0;o`sKQpZg+R4<1{KTPS}8Wg+~s(Q}*2V=q+NAaUC^Tpqv8 z&nzj5y7B0FT*v#d+NX`ygSu_LQm$Kp6*zu8?T7RGYs}iwx=+kgYpmn6`vsqzHRh|M zb-EGRdsl`|&|jO~Gj#XfUt`?UmXjI&tTe8#{)EhlhX06dS5CZxye+oZBJ;8gJvDiV zylN9uoY^(6SZ|2OJ;jVSa7xauIVZ2bO~T+|vdereL+9x;W^|_RHtH+}me{0Y$NLh3 zKtQ5FY|#+ofO}I*WLPe6qR3< zyYvHWk$Hb}U~snid8RHg9)H8k8>2@@F3ZC0&~kZa*Nzd__cUwA=p-XJ&U|JJwtrv0 zP|i)*ShG32lWbt_>N{1|URx{5%wNao&M|nr@0f~5%{kur)jYPSwy=>j?$nzF&$O0}#+|n>IubOZL27=aH zz#X2~1I(&%daALtz3%u|=@{>J>v&4?_$V@Spdf8M^j7d=C+EL(w@V@HfZ39qvja{ns( z%~0i&63pXSdSsu~coqPi1gDcT^Kj5v%Ro4t#`>m}T34TEN=;X`?iO(`D9iooa;!+j zn+vmbccXclxhY%Uvh3Cw=;>Es>98W$H(vAwxto7(*)RcPhvA+5Uo*lxv7&PDL1?_j zBVR^8qftb@$z#pvKs+wNwUvKwx9)!i;sZ%7>tB%dk}u%myK1>vHePohIBmIH^f7!X zn`@mW7J}p1qd)u7{2sGykDTS^Q{z#!XO@|tkJtVCPL0OQc!2{Kc6>PzCK%mR4BkBU zy>2+emgBj!H+?Ja(4OYw5W!45k_&yQwE2&^T}hdCy5{@xbb4Uu4J?VxYhVlyijH=Fl%Hm}ar z#jZC`$O&NL2iCMhysrwQryJ5YBOm3{@sPoYr_6un;ts0pM8n8D?a*D8ya{t$cu&-X zStEGg%s0)MQ*>dlw;tK+x5%uYqFqMQ8zx>)o!V^=&S0>P+G5~T>Oil@nosX3=HThNS7Hi=dRWJM4z-b$BQJq%i(Qom(`|uIoHI+O>*2+L zui1kv84DNW?3irG^I5)syozFr)7V_Rd1D}MgFcSB^$23Ydv>Q_=j;ozs}S!VLlaJ{ zc?GZBlSu8)L=W?QdASr3n{<`$W2iL>&vx`M6KCk&eQNgDqwetB-FB?kcR&5HFB(>x z(*rBQd>bw|7tPRd-d7M`K3@M(b6jq*W`LcZyK$kldGOE3UMRB{wPlVp%iF$Hc!iwR zolYWmKQ`xfZ_EAhuh^O`?{=+7_C;Db!pK$m?wBu@IGX$9VhDz9+^Ekjk%$G6%X>xM z_C5Ye+eoYMQCoh*1r_(J0{)}3o9|`Bz@zhYA>M>6$LZ*V6*fX zi+yObC02mI_iXlbPs{Huo84;ry#^-RGWj#}XX}2(*I$@}=IgtR;XgKn&Cx-+`{@b{ z5^AP3Pu%)#xzXu-O+;4&t2r_-u=5WMgXZc#YDX+?xoQGupE3V2PwxzQ>0h!*Irg!C zncFYZyPPSYHJ?uG^z!L7cpxC*U#7cIU)}xw@6p+|pU8f%<;R7`x;G}Hs;hFs8fyZ# ze{Vits8fu>5$1hY>V9VUeBIMX{nXCW9sgvWhGS@RQJ&Vf+Id>r$~-MxEqVI=cXpn7 zeP`t<{5v~O)!%l^)246jJhgrEAM*6|H+G)thDx5Yjq94t&#u%t5r?L*i4kF3&n8=v(u7p~ShJr22;FO;aFt1k(W_-6_8Gt3uP>*IbSC*AB}=GZlQO4on8apGEf^f|Ycz}vo(E992I5TVqWSAuJ=Yk&v0=_Son|Dx_Nk=5^h3PA7++b#RwBIerf_ph z0QR)wXm{bUkZi7B!l)Y$vU#W}ZcVS-!h7Y}Rw{1W|vcAz@p5A#U#$2-zrMY{kS-TPUB@e$~ z{$ZnjD?9;HfX_)E@fF3Gw{Fsxq<)KOs_Y#zyZQ#j*rT1VibBxYGheM3I1v{nd?9Zt zzHAcsw%;r;#{6oN?jBwb2Ro)uyO_>vP_e_B%(2(#1;+4q8}7MA_i-5BQ1hkDdWBad zqv>XEtutF+HJIVi4w9 z_|>S{$aqJa0$-A4WBzfA4owLBt+(|o&cd(0on`)Y3+7)wU2h&igyxv7Iy7L?4VY_h zgLA-Ozh=bTU=H1?yXjxdqOG{Td|D;;J-fbG)iK#;v4;pZCzf9q^D)E~R)Z5T9;$i6 zH-45C!dOye4!v2&_P(v5V@M1s_cg*&%7PK)GoA66aOh2XgmEO#%)Uv-hJEUld2jJP zYHqqo4_JBRJ=|5|A@7y17h;d)%T>h=$NAivtyRcDjl=g2_6Ul37Csr;UMn@z3hc^y z622Flty@3aV-8aJjfXGGYgJ8@l+CtsiB-ds{f(QoclTTa?n+e?*Atf!=Mb}qLx^!i z2k{Z26&e1v&$i>OBR)lZk$A#Julk%0XNaM5?0`LqZekX(oOb!-3y7t}O~hJa9q};n zIPrZ8y-IyUhcZT7xhpL4-=0QKP9#j&l6)V!xw%f;eJr$H-?x`TteJL+)1n>K0$ny z_!038(IIR6_$3j?6R#p(Unn1r!*3@Y?jt@%e2#dG*i7^he z&QrF>)9Y=IGzCNy{fFPa{fQ-#v}9lsq;Z6y8oS%s@%zc}A7^sq7-=X+qG5heqc0hd zwZX8`XdxCHv!gB|dWcoW8V1~=#|3&@->?lFh)I40Z`vG}F6&oME;Cc|bDpsMad%?< zipZnM8_98wvwp6(Z2KLJIt z+WIw;_aawKw!MqIiM+SPG0B_tu5HkV2JZK4UP->2d?Wc`@=fH;X>*pi)w{9yrTi1&|YG=UTyz0Eo<$54L2f1`M`8mnuPEUSu%aR~5Oxe^rzBu%btQB=`5X-Q@oMR!8ol{XufOzu{#QK^d>(ln`DNq>$-S4;p`H#UtAy~#_-`;b?X_a(0; zPa@woF{ zs*|1J3FJ=l9P$+MiR9_zlgM+)CzE>%>5xZ&tI6}pcau*iKS(}<{4jX| z`El}DHutJ#I?SVikNh(7v*eePI|A$)C?Ss{UrC-qUPhiyegk?8OAbAM+Ve(M&pMSf}C;@@n!>^4;VKem#Q1VurdsQYK zl!GNsvI98DL&#m^q2zAzO!6#$_!K*Q0eJ{{5qT)N$Kq&zJ;)AFMS~FXT7LlYI&$r{ z?d$#aW1=UuiYkE6ereLq^3K@GWo zrXtwS=|6?sKXKt8SK)S*?{KD7P4s`4yoLNPBPlM0M8_7Q= zZz7ikLHV_ie`r(HO8zRjf2O1_xr(&YEAewLPmKfU;G{trxqs@UAGwSErQ{AaQ7E~a z{`r1;#y^BSi~j4#y-r3DMu!3#+(}+U{s6g${0Z_Z@@eF?axEqJfIC+sHpN z;$naZ`a9`AgWNxPl|t^K|5fDm4Bv~~P5;HhrBo?2h@?Rl4S3a6Zu&>jzkvRCkr$EA zBu}TkliWl9S>$o7p~2u*tya-stv>=93?r|le&WMj*OPlqIutO1F650g*g;;z9FHV#qW|^eg$y4<-a`L*{_ymVC2zI;z3MVL zsA#)Qc9T2FZy|S)-%su)KS*B61iF%E(Z7(~L;r5%1(rYRe?A@jQ>bIeix|OHe+1+Y zkynwg_lGCn23^$h|&B*q;tnG+04iOTLD@j=U3jJ^AP4jpViDP2_vYTgacXd6H_S!y`1nv$@tp z#3XWOjL~q%D|%};W6m`V34hVg1Zvgr?&tcYAa7FAyg5>{_`fV~dd`f?W-rRgn>}^W zu-S7KO`kD+-kcfsv7Nkb?3jYmjX7&qtS?C}9;cFdg#Cwbb7zmY)BdghwCut~v-2*W z$eelqw}dC;&zLriXvlop-nwK~q^iE|d^Pn62!-mf5)}S-W=4TC0Ag zNCmm`XXj1G&d-^ZH*aEcv1=V#!IfNAR^eK*u^jb~Qz8Y+Tf@Q*bNPe2iZ_fG3&!N{ z9I($R@vd8%ivpLd9l}OMLQEZXvC1mTg^0>ZR<~yd8~iR#F!h4n#R>Lp|G9GJPAhOp zkzL~_PR^U|>g#RylM>3YvL1En8eg$)&PETaY;f8-bj?+3)-PTnHCW-YvspZOe2NtP z64!Ke?+jFHGCIOMH1(Q|cH^yB=aT5wuSE;Br_r}V1}09=arNyx#qTFItmdv>TwY$X zx_I8=wG%5nXf@Xmc`tQ`#+43JvKB3yT~?NZPJ%6e7`w?arOX{)>Dj%KCuA&Gv?#lx z9G%CGOd`fkc{@I{-^l`+1Y_-T)8mdONVW z=2Wz5>ZQ~fmmk|3wez>|z$3h09h zM#Vc|ZiP<^R4Nt0A-NLXiqo+8Rd6fxyCILlw?fKB8&jIENalh(Gox?Ni%opH}VmTx{!`$_&9@#bDaz|y(aj3?zIN##(g5A`g|Eg0j z?m^`kbY&}bC8SQmNUuUq5&kUXdB*=+eo+{O20RR|xS6s$TIk5HY{(o|Qm(?|Emfp{+r60 zr|!Dc2)ydBdC5+2{nP!T!=Hd?uzh|Q{z@b(&!=8Eqb zsKT+*64)q>XmEIwWxH?+JRd!a6(k|+s7|IX8V7J~%5N%UF zu!Fr9rNw52I6c_tg!NP~Yn5XfDUGfhqvKGwTMWmO|2SX!PzGq5fRQjx?NurQVqIpfOJ1G{a{64@K zkf_mm@)OiiczwhYV5p%&Q-j=QPN3oPmf=nh`B!-_D76w&_qZL#1AR*e9xZ3eSr;x5 z5>6}^y@)}}OL(+};i3}*RpR)#mad-IB00V#g{{h zgH?Q5kcv-@ZSe=%eiR)Z^3CJsM}bD_Rk~}a>N>}%x~4^{u4_BDI$I(e!#!a|(NO^^ zDlJ$=rG|O@VZS)8)VGj;C+q_0AVUSE8U?~atPx3w3Y`_yZlC)OnhKH#`%~|jR|Xjg z*1=PU!AZ0o*6ok`AAeRV@O`B+7_EG4cL$>;}VP!R_J*yHX>I)op5Pz5<(C0$h!`Q`dFWRtEN==6Ni?6#m%)bX4 z3Bh7F%W&^<7;-U|EIN#|&g~`qNvYrej23;uT<@^1dgk2@V?ewAPOTLln^rGBVZQG$ zR$H|#*(*XjVGV;w3sElkCxMz=<_L^OtZLW}$v zIFG^Suo$gk>&=}Zb_SjaF?#m#*Ig|>e037?0~1;Z{aZ-SL*@@5#w4lhaiK=n_6)D< ztCa~Eb;w*6Y794T2r{~uSd~t4N8_~Zl%Y2|v@n9RKWMgJel@~5#{1&_1Ja(9?rmKVc}jIRE&zJRynw?aHf zsWsn>3^x)+`u%oI(`vzVR5o)FBB#mm7mn4(;rAp&^7!O*^GbwmFLMD7pbsDi4w>8G zZXF^r_K1!OQc>vEQRvoDvo0KlAK_()`E#UE?GoFEial=e=jUViw~39vR-_-T#i1JG zz%?mc#mos)F}Q(diMIjGj4GLrE2NMlqv@of^^7 zv1{GDLaR3+qx?m%sv`{55vrorhI!1mNMl&AL~^!ZT+mfKww{K4?;k*$ zcSo`{fstaf8#dai5%Y&gV~F&^eo;nhg7_6l_#Qzj^84VHKuq;>9ZI0+>tTdnM zX1Jr@){{#xOT20o=KS(ktS-rJ_^g|;R5!dGZ*4wJs#`XG{MB~XI z?@}X6&JB3IL!00P|3Oc@g%2Lo67MALChj5D5f2a#66=YFiH*c2qW2RjKH?eTS>idO zdc|IA3LrX&;Y24fh8RaoB)W(xM7NDzHHHp3M1KPLEZmyE?V8EHo97DY?3H( zF&%!nl@`iW%L5B9Mri|8F`v+qd21$$pZugA?6ZYMRpSGQ(N?Yh#s?b4_cx{odDGX@ zW8425^zt``@dhy7|A1cgA3T&SF^E`|1@zZdXO`S52L8^jv}@x34x@e(0V@4yL(x#f z(`oPxzqcR9-9bF}l+FDK_k7yszY~9iJL7fY4iuB1Sy)uKu%KXA3kwTllv)6H!IKaV z^cLWi*a1-my$Cok4yA?e2Bya2=}*xUa2JXN?~~A*fF(UKcMshIe5)5~1#|EI#R9La zMqIR#;JUEt@GSJ2zL|yYoQD7hui{P@L9+n=oc0l3~RCBsw4~u;V$S%#_SpN z7U1N5_RItp7Q9?pFfLk!xB&)VL&C8NAovT!1zj*0D-3Sv9akD;1tJX7hWT(8oCzt0 zE?5Mqgf93Bq#Ak?a3xkA>e4YE=z;PHMCM8^EJqmDvc&MAs8R$F%!ZtRUI2U=B1;s4 zvK;XZ^p49CvRrWj5{Kml!M{NUL2m_qKMeEE(5=-2Z>qg6(Q#>^_QOEQHtqGe)9MK=)=rX@CS^{h$#z zDBbpO1Mh=Kt<(V@9&LBhdf?OyTQ2}k&ZG{s*EI|a&w|GwPQmk#6zFPCDg%8780C@$AAPe9w_&US`y$Sg5EKD3pMA;V>LOL#Z$U?{iT6C@F&2-qDrWO69FfU=0;hI_}w3|Z7TIT@V`?t(u- zDxr5=w2;M&v3Up&cfmr))6k26iBr%t&|Sa@Q*lIiK?oFkcAW3H%sREn$IU=iv~A-f=-e78|_&)d#_o z5Fd;Lhh2udF6e^wg*X&3uP^w{b8zptCLjwA{>25s zORy%8f+>2zVUR57g0fyv0KMb7fvg`KUFF3Y4IW2VAu%i*+zGwo0)i|g$lSgJzG#l$ zb74I|)&crojdK8O1gAm*FpDm@3=#v~1B_aSiD>8@r~3cog=0)P5`c%G%-t75?>L7q zbNlDkqb=bs7_ZZLhhh90n={4F^c0p3+SK6?>JAt=SHQT*o=f>FZd>;3cBF;kXq=1!?qx!&;@_F z32T(l)y+x`t-)al-Ccv@f5)w;E=*$=+=iD}L*(%5IL|I~@{4XqreGsj0m+3fcmh%g zUGP1+XYItxcA4hLK?AE-aZt?>Hwf zbMwt6N&|Pn$-8mFfiAd!dJ!<`9vmGw;kbb#_Mj$Euq>eCUb~RioV^!BCh=u5|Bm}` zhJr4501`eP0q)1RtPVAVh@8M5Ac=5SdoN7zcbv$V3H@vLApzJ3-UFEfUGOiEV(2Zv zs{Qt1=@sR}12$;^20dt>^PRv44x+jcpdR?*!#MRqZv?*ls9mxqV9_Cjg}dO#5NW;^ z;C1zOJQr3CaD{~1Cr_c~U@wT#5nkQ_;`lv!BBTZS1Hipkg!=;EmPVXEpbNeQ5t}C9-Xkb6 z+z$X#k0L|R(||`I$GjlNpv1g__RfI^(DNEH1YK}HBw!K(16{}MNCoeP$Z2&C(0Cn3 z2kc$It#6}ApjQJOO=xfEf@u)Rkl-YU9NxJ=Z^pYg3}BQ4d>GP{YpBP7Z$KpB6Tsj< z*#R8D6zYQOA(Dwo;BLB?zlZ1H{%rS;dSLSV*f@juQ-IqcVvo1msHY*w1lEJ04Eq38 zJq@`7z6_DW<{0pS4>4w#h-wEe`3TntL{tns_zBKv&;{rH6}1JMLf|7UI3GYi0c`sW zPlZBPpCfLFlwR;bh-Bg*@TxDo=rAxU`vPz3gNV^LK<6pD#DbSWnj`_>7k`60^i#k$ zzQh$xY6$o>L~83BV44rj30-g>Bpmty;M3ou0C^ZQ0)K``TIak_YX5~Cp@-K2-}pDq zZW1Z*8;G=%V6PwS04czfA93x6jo=E1L{tX6k@^VQ2N?JZIt~(u0bT}?OjHAZ{1rVM?szMa!W)UyVd#Q*>5vsxuoxotWx#hK zlGsULAQoUmuLM4BXmtW%>kZueufXEc84#IIpBAiD_+*?+fLkCb&})JCHkxunuLnK} zNrT=9JOW9Fehe6ll^Z#99l#+F$%GrY5UV+3U{eG%AzPsD1}=}#>iATg|28o-*JXM&Mb96wE71RI*K+z)$e$73mX#@AO9r5K$A*yhN*~q3;I1 zJ^-bGei9fn&<-ou2ss6J!LtzQPlE12wk{|u2Cc9W%pQ#Pmt5q4JOq*4$(MP)fk>(j#m+7qLTSLeAX0Pnz~|gZ1n$oRQ-*2lbS~Hj-=GlpB;bC?7U&0nJ@M%Z z(Oo0GTFF;2EDvA;K2MShk3`^ZNILX-;0Amv#RI((_$x#*s_?0nl@QUZfpao#UGP(g z#MuJuJccy{+z%;-`#InhSY>PVBJctz+2gd@1CJcw2M{S)GjQOgcBF%VGxN}6VKWE# z0OT9!jlj|=8n-ltsse`QV;Kl~IM5|Jjx53X5UJ66;IEJv*x+Si%DWDKQi5{e_0v&e zi3n&yq-k~o8z7}{KMa&_q>HspM5{9Bf-y_AYKATtUV^F? z8{jjLVT=QcfiIMz{pH%+1k!VbR2ixZ_#-3*`dQ%B zS7DD3^lIQ0EA6IP0Q>brq>ovON4!U8X?z?z!qzz-l|-|U6* z}r1uxN$Esij&o~z~TFFQGrbwF#K`U3UoKnggCH#SO=7i zB!w6^2+C%W!W^9cMfrvvg0iVYj09!FhUkK_BSCaQ*?1wkpzLfAT~Ky4h%R^^bwOF7 z7I#6}Y9PAc4_*@47SQvM?I9>@y<#LN3;Lo9uB0wY@3O=$?t%xX3(8WrxC_SCYvsZb zAvg#k?t-#fEqXUmWT{$+;6_`Qw|CyJ&B$CMQ@1os$u$~u-$tC{6b8}z3-=f8FWv9i zU%kI}|L*;+11SgG2htB@9mqXkmQFQ>guBB)keG8)F_BktaHkApkWod78h;1BCoq8}8!2$v%>db;uYm1iGOk2)WX zd(`!4)}sZFDi3ZO;a|7+;NJSZhxaz_J-)YTZ}Z-ky}rF?_o{u4ea?Mx`&|1{_PO_E u?aSR)u&-!e=|0cC%6(P)s`u6I+r6)D-@$z?5BeT#eNa8*cnA}+$Nm>DR(MSS delta 50397 zcmaI92V4|K_&0vDa0<$KsGM{`Kt!;Bh*CsB4qXHkJH|$WEo!3C!x&3I4-#>`SjJ>c zj3t_)iLr#lUa*3_C6-uIU4n_EsMy&5_t^#X_j}*}n@^5?=6RlZX6BihXP$Xxb}guK zEm-Tiq#!@@74@R4)6#;vpS*rZfeX_82E0*_uRZ$~7_{fqf{u88|MaB-H#}XPkQqp-TnBZDLp}7-E|fqV~UYf}yh!==IDHyR?5A`&7fT1&g8@W(>17#5Zk6cL|rj4CE zB^Qing#oQGG{Cb@$r-`Uglor220DM~%p!P=OSs^Cs3hFgPY^y|%EiX3g)U3E()hZN zy@Vfgd)q%tFo;FR&4p*F6sf5wCA)}47xG-iV&m8>{<6ud9XKkT#9~2|EZG|Og}f1f zt+lYfSZseyCX&HjqDR)((F|n0Z zx+#z;4mYz^I+`YZuUhV8@>^c9;c0>)!(rKih9*nrQ>B9$#in&u;EGLO>5q@`5Q{BE zR-WwLyfNV<^sjM>m5=sr#jJducbFHjG`Lt=agqy0f}6%=G+FsUZ;vr4f&sl}IDG2V zsic9T{cfN=u>?3no>B2rRaJBt2e+rrHocdDlFE#S@u2@u$hQEMI~A%bU4epIfG7Mc zGf3x@fBg*x>9A-&5;**DnQ?3ikMn66OhU!t5h0O~ys-w7CF4XAiL8QpPL%u$`|?>n zKK{UE79F>BwMv|(rByOE04iBJ5n=i}op19=Wa<2#Ph_*6Bu}b5ZO9vnRZBP6QBvq;|wua0!7k-7-qTB8OmrApE9n$6W}E)*XBE#R0P;dr_TUoIpjupxlXgpxo)O|FsjyhD?RMczj?H zOXa139bpX&K$YQ<7mjhfJ#|?t-*!lux14u6SLyEPUjwBcGH*HOWEoAoQensfsLtUQ zFG`nG%e$$(cdJfb-B5K=x{7WreuzO)bj>EB&r(zQ(pGUO=wz#wEP?;g%BQV1(C36i zQUhFRz!>)fWlzjcfP_3ZMR}l&sf||NKB!ALaqA;1ZnnFvwHTK;6eydwRZ4f0nrArd zv__zvm?Dm#$S7(wiXIua#~FBAT83nLiUIq-2I6s`w1N0-3I<{qC*zJ3-X=JO#g|M9 zPG!R0BK}QCM(EqOm|>iGis>CZMSHmlEj&t=u4G6T{x#=2hk#_9eT(ss*1s}SiEC&F z7WQ2p>S90Qg(-7477hE(4b>qdYz+xByBj+kVg~beW7k7`benfP8tTlkn6Y3dWf|T0 zqc$@oZ%!HQ;N<6}ijfCbh_wB3-HLS!h=0hfQ9mjWc z+3Oxl9c~Hu2DO#WD6?PX_OAWHyOJd-+pSsl{bMoUw~vM`Finpm{4ouGthZ`V){W&) zyY>owg3S7=QGg{oS`~}ugyg6eJ_2}0M#u!|ifZXKf=`G|Z&9(8aEn3;P*drm6&4{- z@gC2Q$99ZPT0)gKeHMbTSA`YR*4TbRRV{xGhgGT0a2U60SuI~{kBpEUMViPX;{4OM zzD7eEh}~NA9VQMAt8_?_K_G49C`Ir)Ai5Joli)^0YF-1?G8~dc33WlGNnyitIgbk# z9y7i(E=0&$%5TQ?&ONzBZ^YEyWGOS8%9V{!NQQ&fGlyv#QKgH@c^IMS3(?1uclI!t z4XWk*Fv6o1rFnj;*cwmOYw8Q{iSlt6R8F0a8-AbVZTjmWh(4EqCOdu$k}g z<|Xva=2yD;4H-%e$@5h$9f^HVND?@@ZKg3%s<=Htt6HQLcK|L6IO$??ae(sRF}hFJ zRS9y7(x#9VG(gK}_=q$%J{`^bBnEjucwTq$g}S?L=0%B}y=H59uV{7mRxM*F=`h{+ znx9W><6|8{f={ZJUjRgx)=R!ViZ|=tPPor_Quk2d!a_cwdzi3yFkjX^MCdY#@9f@* z4d#{I!$Jp>v_&CFP`hgBj8w%WEFC0iQAidB3RUyFkvy(P7vVp~-{=u0tSROzdkl$4 zp`6gCxe$&U>QJs)ZV!Tv9+(SdZ9E{qCNzE!_e<&oXRlvU7~Hp+No_g}L@|9ePaq>C zNwus-dV{;!dJDbW;w#9whKcD7fJP+g+5ankKB=wn&v5=UDXhmoAn1mn3Wn9Zzk-zJ zFdh67ivJ-~`a4akR=$VjhLEGck+GO+l}_(2K(&&BCja*9UBH(d2B?eCCqm=?Mc2$lAL-cg4dC?!PL$w?L6s;7B3yws@4oFdts%)Ho`?T{$6?y=1>j1+ z(WR-;JT5gXM=}azBcebo01;~0sIyK(N;AL83PNDkK>lFJ*Q!;$prF#v`K8`1h3Y~4LGL#Cm9>Qx zhD5^lVuB3#gnG-e=5u;vgak%kBY!$jd3`wa6bC5J8RPafqD9iS%z$jl@%gkiT0;Ug z^llXcOj$}9P>C*(_C~F=NM%a4hRyTU+4;v}qwrUB&b;%L#y$FoN4ZMpmo@($R)=av zqrc@KeohSae_rJzs1`b?U0wcGEzL7{^R!l$bZWn9`5R9wYDKNS@flA`^AErI8Aivp zzc2|5R@CwA5J;A)shY1p7lftkgLJ+mEdcKP)-?a_UBOiuty+e@Aa6DVS+Pc3RH7ga z8o^>|dXJ>HLR$Jbgt{Fl{uyuF$6F{Lz(f1A6)G6--=~d`@fn}h$G6q^Pr*L_PgPCY zo>>_s7Hpb8tH8QfCvT7byCqxQ$=~>DIYFp7V|vP=VoxH3O+y z3PfI$p1?#NpAmt-<1*r1=jcU!x0Y|r@Xx=4a&^0#gMO2K6s1S{B3p!D%zo-hCAw0p z&vGD?p_rA>bP(G1DWyF%nxzylZOg;RxhbuXkPqYVqczkhRNg9`)IG#a1GL^2%h00` zZ4h~CW`O^>-juuEZttQb>~b#dwA8Nef3mu`frVxE@9e=NH z3y&n^kdBF%7o>FRyDokC&b}Rl-xyc=#&&U=gYC}{A$hA4S%+^!I&0-zN@c(@V6}z0 zOiKpVC3mLsA^pPgfkgi#q5hN6GG(zse7}1955U(-_=YGkx&#CYPAX~INuFj9!a^qY=-9h^|@=#|tXFRu9B z{b-T)w^~7XK62VqvUbI9x{{mvC*@B`(G-$kg&h@bol#rWVh2uyQOTjbKsK2d3^m

W`M3qiviJok_OuojdTQ97;oXY!*10`d(SKeP_F?O?U&bXEz~^MoSLwYC2<&)E#H<(6v;?J;ZH zr-sT*`xDo5Nz$^B>|J z${iY<4wE}rU1G=tVd)^`|olOOxOcASl7Is&(FSiyawxnu2N}_EnR^O~Vcf_h1 zX>6v$5LwyCiXfQ7bcc$21;RnDY$zD=fpew`NtcyHmJ?bM3i8`(6&MtfQ)}tZccTEyh>#pd%7Jd)Ga5Tm*5Kh>l3i&=o$bhC z-hWZ~_md&ZtNGMZ-70aWB1fz-_o(| z&<^l^reX5}!Pki}{+AW5qbU9mOWGR<;gy3i%I1H}kBkouyif(cs$yG6HgpxQHyXUr zl>MCIe3LhtAo@%L6UeY5rSV!vFrB>a2A@2^+pi%~+JyTyM1g8DiuZ=B#Z$F(z|QTH z2^~5fMWs`vGtwoiRHH2z?QS5tT+=A;&7FaL4Tf>ngsK_S>bg()h}TT$*6*8Gsu;|D z7u9kpPAgT07^`#)_4@8QY*#VL7-z3(YJ8j&Ac zClk@55xUHg^)eGEr@1yK7C9{xWf@CychM}yz@UjuVC?{55T}hLtg5x_z5XBU7xKH- z@;lY@xA}kYum3;U$uR%_)yDRJvOj_^@B(|M|55u?;&)j70uR;4cmn_w`8z$#)^o74 zO87PY>%`U#b3equsriw+PYU$hdkJKH_Me0Cuu8`H1{B&~J z*cEu`9O7M}pkXIp_&0j}!C_`Dya6EDyq}haP%yy?!_EU|rR8KYJe{3MGz$llqV_F> zbPrfP=`uNEAJE8wUqiY&bA>!cZhb9Wc<(1Z^|kN;-vFIa{Aoxw_8-bvkZXlJCicNd z7bK2w$ElIIXr@+N>nx;FqyK~}s9L^*PfI-mUg=z_bObdIy29_ime}$lipRukmm%2@ z57t$^1#FqpF{SJ>@BMmUgoR32d$~RivM(BALOq&ne`Yi<>O-aq@mAuQbD1xDJu%<0 z0&pz&lWWS(SDK5=bgbkseL(0|&&71t#2ibu*Fek(Y-PZ+ka(V5s*Rddz6;bnLj3_0 z4EqD5A0nMBT~aOsl_8<8Dx0U8_df)M>Iq7|vJWIQCkJu!LkKI9ZoPFY=L8naf6BiC zOsb_BDuJxQz-#?EA6V)$Ftouw(<9AHR# zP{#6HY7U>jm-k;~eoHJ%km(Nohh=EHYNG&7D?r2R`CK+YjOV+HiYodW1DQ$E&q0+~qbV^enOw-4=K$86-xmM4Is5y5D6NV3f-|PrIa0g-cz$VA0mk@`oO1DJyQh4DElvJyY?g<6-KD9 zbX0pC6+@^MI?6{!2^c9Dl6D{~1fc5us#B-5OBjlQ|&C zV0LGsqkvQ^I*JPnyvOuRp}@%BoBn!!IgM@j?Jme%kYKO{SS35d>`TQU#6bnu)aNjz zp$C)@SOc@W=`YB}f!aen#+lzPH#aq1#2_;_HD1RfDZVU^e2*%~RZ7ldcxGUm?l88- zX`Fexd*KC}rQmVLJf~xZ5$Zuv<+E*#{T#?AXxs1aDc76G6|Gj1l)a7lI$KQtjf9Rw z>3XG1pHVuH*h+EY7e@PoZwO@q3h*qz(HB(9>u@4rEPqrj&K+n#m}nxynfU!256f#S ztUSdB=7kHn^Lc(=P(+XU5b%LkM&4NRLp5cSa{H6$jB{ka8lz{%eZWuUdFMZw2kZdw zgQGV%K(XS1IgUPx%rK`O1R`oPqH>&i8AdM*6Q*bu#;GGK3H(9C ze;WLVb&k4^IwRQXrtJV$v?Eh^n|P=zHg>>_q{(L2Cz}r;-$zD-GbK|!92{+94QW%1Q#NJLc);&<>d!&UZl!?MBw&;dqnvvg~)k!#Wj0etc zJM`j6ny{uqv>P+@I|S#jD%=!k3vF5qq_R#&U4u-ZmJ@2Rj#|Jp)Q5zcqoGWn>0(|# z!Pn0A%zqy#T30hcOf7owc6*H9rNF^#8nAw7W>axXFu=2L#%lcn@*#|os2)pJkBJHY z&e^Jko>a?RSbdo2+Y~Y<2TE~9<Z)Pyn=!){~ zajju7TIr_GQM~dhY$1*AUp13uSq2;$*qAi79a<*Ragbp7zd%D#b(f`l^&J2Fc}U@8 zur*D`qAES}Yq~0KYU)N&$P^BF$h3a3)?VV%x89dfEGnF!-4QY2Ylrcy7D=_Hl?^AmVOWLM*{is1^(vjT#cHbV43`<|a0-crNsBJP89*bPe3Q z0f0vW4|()TBk*B4zg?H_aT!(M3996r2Sa39M#6pr5;|E87!~;HE#!?tN9r1Jbkv66 zLSozpMifGf$U7R0b=rvt;gjC(lK)jO)x#ER4k&=q4D(bMMDgaf1@kb{7@*HvfPqq;0`*lpEvQHl<}1W-9@&%#r$}I--Pj0-hfk@ zNo<4i@+sX+YlD$%k{5*-V6An_@K!hms0g+d#8!#QD4+kUHRlVB*W`lgVn>NXrB>8_ zQ#ERZdVI2&XU+@lPlq6)<3)kFF{r2HeCvN=Gl3P=!(zhCIdCGDYZXAD1E|o!D74o2 z917$|=5^<(IQPH9e*-x1oxCNmy#wDcvUQ8V=kZVt>J>{O<*k`?ov zm~gOj$trsmbDHvul~fhBU`|7xGVc0LhEv0*tR(xLhC+-H0SR+aIYy0n$Gp9Gj7u=y zUqHBTwUOi(lDr#TgLW71CxpZQ$-H9ilHmp-Y)Tqk?A>zmcmq9Qj($*M)8h0t9K4ThibiKL+zqER>Fx{J1uHGyh_Tnqo z3=y8Z%>P}}LCE-|BzWz3LAYSyi`H!oieC+*xW-@@h2JdvWc+pDjztQ2@ z1b+^A+>#PVxQSo!di}W@@G<-@)c#;ePj3S^RX{Ax2yqdMx%rEZ!u=?kk*EYW7e z4FF$ff~V-PxQ(+f5(VRYe&Y+PuxBd|-q1r>IE;_kFv@A-V*@|BAzrwb&Dlna&|oX~ z+88MOx`oGYZ0B?H5z5gHXY(>t%Lb&1Qx(Kpag(WFV^rvDjhuSB;y1+SIap|252DYatcT_%AYkg#cili*m}FbcZuI;{Zgi#JCg}8=^TW?$QE{ z%~VKiuF5KZ{_3VYANCEbQ(k+xT6sQ7g$27H1C^*Wv+(LogH7)~$87cBFMZv)X=o7U z+IBb+jzxE8i4qHc#Yq$HF5%pB|;Cea^z*Ng)s8A|bPI~Z& z&7JefCQ^}sN*g#OyIN9-O9@g5n$&?ZnR38{yL%+>D00_cLTeXiyt5t6Zi1n!9Mnv# z%~bi75`>b<3~rR)vmO+sW0lR6mEcl@dL*Jm?=*Dhe{BvC9<3_z*m9SdzHeIJ@MrGa zw5?_6aWZ>|F=9)bM4f6WI-^H7HJkKzp3IF4}g+in=pRqke*xZYM zygk6&6wW4=ku>Qt`fo%cKe4^DP!q6h$JEZ7O!Y!Mdy<6Njd}CE!5Kq9 zsU6YzjSPmyWtF`iBzxIy@ydi0O{=)J6`!u__eXRXn)sD=s`!@Cepan)E=uWPRA3{e z-2*;`n*O+sgs0z;8W%Tkt!A-)a1A z;r9=IO?KiH5&Rw(`0{9eQFUHsPJcWh@#&;2U}VdBP;TcvwgP%kucXXZ;-AmfY; ztcbQaM_;Rq6?2U-NMQKb?+4n+z8c3SD~CPkbu5kkB6oi>fhlNGm#Tln!}WPs4-As6+JNp>fTGh zHBsEE{RKH-c@4$JCRDc{^f8#PobGSHjjqR-)rP!A8i%qQv|X;w1`4!5x&#hHv-IWB zem8cPC#fUvg06>M0#c{R;lJ}CP47Hbl=ff)MOg);i;Xy~^kc9&j{J zu&mBVm>ngE zpn!RH*go=;k!vI6itAm4Fu4?IrfN5%YMYd+3N@^Wa-N>{e8qqmrqmDj-(WH^~ z_^t9b!g~sLIsS_9^L#$}_#olPJN(e`u*eH!Dey*CDU~8wf{QSQLpAuyE^Tf9BohS8 zUl&Jupt7I^_c@U%94+Lpo@i@1e-3rb^VmgkBIO|VNoB@8=lB;V{L@bTip_fKZSb}X z_9r!Y&B~1H03!tpH0V0!zs3IKS)NCkQL0DB04-gq^t3;Dn%9gj;{=u&Uz54%WR@_x zDIa~ZmGJRgKL6xse{Hu;hjT?!X^=^eq%>!8jFB z6)4Q^$}3NOB2?Yx@15=-l+Wk;PY35;!!n4KV-1WqW(}^jiV6O`--f5tliuj?tx_A) zHCdy_Y$zVPDv--zf#&`~>Nd6nqgYJFA4H?Oma>LKR;frr)GiYU%By6K>U5U{cVEQ4 zj=E)u=bXtBT>9~E&aCq)e~THaR9CpB(t9K_E#VA`3jdi;KI=Q|DF!&s%xEO-C$U)J zgJ7(eNGZ<6#+``bNhvPH#u5OcWDkT*fIZno=*!sRm19}Nb<#llW8++ln0vy!!nJvCKNP1RE~_0%g`N-CgcYl8agh_#v?j0v#S`jCqQ{(#o=XO+Q8 z2>ML=!AF#*zc4HtC!Sd|h6Kj_?aa({B!+TFDiNh&i1U6AhCIu`K5?{i2qw_Z7 z%Wv`1KlnB}k_;YL?@zDse|~74UkpXkP^IPXFij1Yp)kyWs%6nRXxP+b1_oEPqQ()I zz5{cJZ1+q|N9A{nOdV!B^{qp(<}!mcTEV##ILZo{Og zR&BktM(!d*rhGuxiL~b1A|=yua8OIvf*;LnNw3D7RBmFaMIiNTeM@&T1OM@|*T?}R z5bt=pDRdNOHzgxYi*i`Se~AV|lBRCak=XoANR3N;3WeJu^ln`OI=b~TD)<}Fit;zj zN#j+(I>YE5yx)~J!e(zi^U7=OR=QK!r7&JsY)ur0p2|TguQBGYF+*FywF&z}CU1H* zN{IL4)~iA7FClDX|0zH`SZx$1ozG5l@+if8aad|*F~ftNE`c^ry!3bm7r_MOaysW% z!-RvreBag4!djuE<&SYp_$i$a!<&XH()qe;M}_l!_^a0wxbwb%X6Ee|((Kjl=J~Yv znRmAyw1|IqCq(G5sN~w6o@_|JHo9Ye^a`9yr}8xXFC9)+e`oP*zABcK7EN37LJTe|i6XZd?=>qVMc1U*`qOnZZ zS;i2HM9sG+KBVz)3jpI^fRs30xS4M3A5X?@J7?Tw+QqZ)1|`ozBXKnuvqX_GnP^5x z+VXi)F_Uq-@oRNZ-`bYY+2Le?<)+ zORaU7y5phvlaKANyrQE95~>kUOK|LDGi%LI&Y=EC=7p9SzkvHd)z%5$fsl+Nz0{|4 z;D~qR1|8;q{MFfaVHhk$HM4o{assb18%cDSzddpJ+dS@GknqL{KJs3ga4d&!xEGrL zV;hazT<8zUj=oOHaUj5NvM2sLS5p}+!t>OpkYz5+1uQz+Uj-%kfCuEmbr|tI>EJY7 zI6L2sMjux0qCH^5!b&3a;QzSdm>WNaLy^Zc%lc5l4vYgm7f;MXt>6d2yAW-`UzM|Dl4whCvoWBB+q^Spq*;<{Wr`xlStS!Krl6YBD(18M+CMDm>;Ll3{{9mWU*Td)vE78ZxI#fd>gY^xKS)Dj!+^nsYl zU<`Ub9{j~_PPlZA>jT4GMD;A)%QgP;3EJ{I9bb`ut*y7(7Vj`(83l<`-@$tR|Dg=EV_?tQ<**wpq^ z6EsY19i;KuA9>6*nRid~GTRTjSA-JT0abvgHFPO2)^P$q|naJ zPdtb<4Zsz|+Q{1Mt0m@#$;^EB6wM(THgrE`8XsNVe(<*%js^_b>xlz2E7C}`A2ynI z-)mNxiK(|rVAEWMwzxPYZ8!julnLXD+iElUXhsXDRg+gbVqzJs;F%G%$W#XCOw zIrxv2G$?T8%k&c<8{Kkg>D?JSx0xB+A1_*+kMO*3&fq_#1i ze9tSMbZzx10?Op#C%fYd7UcV0gaE758^-}d-LWpu;mJ>vf>x4;m3u`z_{6BZ2?qP^ z0C7@zw&>(`ll&dio>%z#r&CNlae1p&{G^LK;90j8$-(H(16ZwK;jE4+vU(8zEe!vR8;aQToGg6g%DQ1El>cemN!)N{Czmb_??sRx@bamrsTWVN2MZOXG zMA*YBB`yU+GKw2bT`)fq2&&&oTpr04tW_Ptoz2c?teQagk>FYua}9 ziFi;oW;j|;m@eOJ$b5x22g^?yvR1K_U(cufhD$mSg#a&x$H&8U6_ws{BUR{;x_7M=qG>R!eYXc!C);8R5s#S+aDKjg$EnfiZl!^92udf zG2Hr3lkdB*IN|0QIntGRcQV77zz`^cADU!I80VPex8I-%<6NEmz-n|UFc;EC zJrwDtJlmDEvTOh`$-Ep=-43Qn878d$maXzOSLQGLwM9PX%DM>M-;iAzvB|>qYvFXf>o7A5R`Ou7oHbDX*qtQ_S^vs6-Px?f$t}oyUQ4#0R$*NO6Z}s~m_u)8 zQb zM7r32Vz#bOkkCt>>dAaM`~#V~EPeKN=~FvkJwZxoUKrq>;ersvm&jB!rcV8io)2&>bbRqkgwW$kT!Er;a_a4w}0dkhU;Bn9nUtZ{i4to5h{HYh~ zXZbL)Hr9*@xesGNxr^|M?BdOWgqkxu+Ih2stn1qdp;1q)gf_7i7g1#0br)3Um@%Gw zX4N9DqU!k%qwrgC;<{mSh%Xx|q5lxGiajy03|DbuG6j^jS=l-F1TYLI$fbF zF*_i1I)swE=+96Sd+S^z4KAX+4IIe7-;?LIWPwdQQ3vJmry9M{5c#W?%-hXvmwwf^ z*c3WMKG%|Y1&tYvrK^=>9D!%CX$Ym7EBRonwbvVV%8de;PoJr=D9}FE%OLLQwC+~> z58?V?NaRhyF2D=h)Q_m;sa|4nsyptoB84vyMG+kKAt;W_z`AtKNAl|dEUx39U8wgUCV?zieiXpmT-)flKn<5DEd5Z<3}l0w{BzYR>P(X!U~J+IZ(_&sHwZ}mv_i(sxd3l_>-&h7 z8nj9Tk~f&79Y<|jAOB%%R8gW zc-0vJbX+VrXRn^+NMSZXI*dzaDRO%!=9QoOB~7GM$i>P%0}1km=nlh)_chdX4RsQ2 zd=PB#iC(BtJL}XKoqDOBYSXAKbZSSPy0e}-N~2aU*P7H;r+!4#e67}^M*dMJ z2kYcH^_e?q)V(^@U#E_$r}}Bs)jBmmrzX`?8)(!5o$9SqgX*bOZ|0LSU(w0Ub+U6k z`NubjYSpPGo%(yHI(;0`sG&Nwp-wHYr*77$E<}wsZX>kAA`p|-;1wG64^C&$4ohP_ z^P>99^EL7*uBofG;MeP^lQrsQood$eX4O-NXw)S-)m5iof1wsQY#5S)H0wPyJk@uGOi>b!yLg>Jp7QU#ITTsUh{${8<`# zj86VeCpV}kkI|^Tbm|v6Rf(+AM_-K^M$~BIc|toZ>xfBfQmjU8q*F_Xilc7e^esB9 zm)hFG(`hYMTi?K@x6Yd2z`hBTC?V!nuJM9y1frG>6H1Y}Ya|!tP`D5bN05|5TCx1J zgDbEoJwLY)a}hE~bnAg~ovw-YZnx;j6?G&t?&1)e>etLAw_DGB28dgP-43sc^!Ol% zxeVFc9Y-GbL@8QC0MFMx+lARI+Ka~1!9^>( z15rPX(>`VS5=EILR|t&J**@3urn>+Wp<|Zo76rOCCL5TcI%cYl$pI!)$BbGb z2exJ{^SjsPR$_F(OKGPAfl9Crgeg8c5UDiPfX0fej!04rIv^?!Wvzd*l)rQ!Tlq}~ za+K>jFhRMf1F^~p9hj;dl=HQ0GnJhhN>iS)Nry>i%32*JRVmAL7#@W|S)jvf37(_F z8wj4N!&?a+qr*E1&eq{lf-`iuoZ$QJPMzHemKBcXil>;M+RvPVo0S>_u?74(A6_Vy~VEBY3M0!$cXBPjxt!;1xQYMDQXV z76~rU;Vgn}I*hQYL7AY#QwbiS!&rU|N|p{65N!QG)4#NU60tgA3Bm1jIEUas9bQYY zhYoKb*hPo868!Xit@S$zuF~OBf`8TFa)Phu@Ct%Y>F_x$IR>RvPh26ww>o^A;0-#g z5d5(YR}s8KhpP!L)L{x?D>HSNUhPyS>o8vH#g~e7*o)vnIvhx_2sj^;GmH}5bV4M- zkvfd8O5*C64kr=prNbh@ZaSPrutA5j3I1=nrimPa6&;>H@O2%YO7J-yo(VWtIie>D zh_F+K7ZAKjhnEn%R)<#*yj+LZ61+f%HxN8Whqn?uRfl&HJZ8D<)0V}xzR`u&2P^^j zY)YK5aero*(Gt6?*B|0l28lk}mSB32CC_Zjdbj&Ji#%w2nKs#e2G;Aea+g!1w7el$ zb^?*_{sTk-V(eLRWn1=gxO+^!@CaI%P=X0Uv=XL*v#x~de)5cPmL+TsmCM6fH$izv zZV-W8YVS_+=m@L@smtWIB3K9E*mVn+nUUfCwk>B#KDDqJgy zWTEEo5VY4XmSsd+#8z^bNH$FP&Mq&FWO;$3KB)^~RQ5#lvO|KYYAj+Qp<*uHudujS z<@YyBJJ3qx333ca$q{A$uhprIS<_hh=_Gc~d9Wxkw5WV*uKXmLc{@$GQNtJC@MF1h=gutGsp?-Qf7F@zI=TPHf>E zyfKFL7CsK;qi%H-4m6S@y0G2Cn%452F6>qI-;VxW*)+y}laItA>gW}LkdFPR3w@bD z%zc1;|5|+eZI=8bmc_f=3Ma4T{9AHj9P@J7p{2IHC6A0lFfG_9&yHhnuubxxNIL(5 zIVGFonKzpzw~5DiTGBv%DV{|*k0(NLJd1XYBnTh*XxV~ZRly}^QA%Avff6%?NS4j# zIls0PCSH;~64(|WZ=A=2)Jnu_#}nw4)}-WxXBF%M4DyWx=I=a&pqd1xn#RK()y6oM zEa$KN9wx-k3d76q; zF!jKF;i7B#cgREJk+{TvdyNbCxD&_Byzd=v;eHK&^-g>4vd>N4p2)s4M>T`#C>8C; znHXnkmmtsT&iV%JUG{te{fc>7IYpF~hb*Cv#%?@G**RPOqdV);Y|{pehS6XyGlYYv z3|c04>cM6Um#4{Fdazc}Pv4-EV~5TC(+@D>!pY% zKAfUSjzyL<=@h<SSI27aqlrC(x1%+-eDcDm+gaG}W0F_eLL53P~y zVb+k@UOm)YMBWH^Mex$y61qfi? z=-^fII<9p(m!#z_LISM*=n|W28U+e3q7rl~By=a;ZL7G4Ka})D*HQ>awM;}7?MSxb zB4|J-Q+c=`nk&Y|Bm%a*gy5N0nyCYka3ZW)VkXItda*R|5XCjX+*!5UnuzQuye)m= zl)MVu;gL)mYZ;oWmi@I1bmFh`NTyjJtCmkE$_slVIDY#Ld2?^pCja3TOi#yXC;cR5 zSYMpP*h^|3;m*+B{BTzsZ);}H)<7-8APuoU@t6|@R-Zan?WB4+6)u^K zI`VI2vW;wn@jkwCD%wM;4C>*^rMuAQxEA`OJV<0IP5xZ)+`d^B$e)R9nh+Bqd#AC% z?00!e8vKkur^&n0*t_vLQ|X;jYe-mf+ys}r=2|=)Ckkhj+$lJ*!a*Gr^T1|=UBgRR zp6}Mr)}(jjS$$ZgkT69apUz@T3XF5DiEmo8V`Dm&ozTa2y159m_i`Z-T_LOjqkw{; z$IS~?14>BzLzI&;nMHUQDi6(M;jSEckmIRcUYN7&Hy?CYMhot!V<%VgQEr{_aZtkT6UXZ2-XA*H=>t-yW@C!uLlX{My$GJLB;Six@x zq#b-_OqUk@fz^9aU*_jJSxe0f`6HrD5xtE3>!)$~` zb>Uz*gQ+59_C8pn>cRv=pJHoNQo2+~k|+0LF$uZ&dI9R6>~t;DF`gwm-gww+K}Mu2 zzJf7cXA=xP7iL7pCC4AP4aT`m|KtU3A+-Xo_hY_k5I_v^#1KF?v7a*thBWmEL_UIa zk{X|k1^e$?v_hK;3!rM)i*cnjY9DD)1?rQO#XS1Vd^ybexfD@w$_oq>0*`bcj0W-D%J;6t;>27_c#EnQ#M{HzrP^6D(+75w{w8hA*V z*EM!3M$4?_qU@@reU5xJi-owY0i)ADwMuvG&pylnE9J!N>Dk1pzey`Jw8tEe10(Lh-dt(P@+d`5SMAw!g3}EeBML{1L5gA`b zM&j|PbgM)4-7jYifP0iHPaMEr_Fg*x|GL4i=IxDpn)eqrr4(B2uB>}o{&fHg>`I-X z7uX#yCHJJBv_BT+G+XFYHvlxWH7d^j*eS0bEhh|Qt(dbsav*CHwPYj|h_9THGP{k^ zl(}jyOu|Y1BdrOC@t!6+w&C=#+#B<7^S@O6cELPa;FRvZKd{{Gi&k*L@YV#2|S=I!%UDUhE z6&&&7obw?r^SFynSXI6lEP9IO- z3US1=^pzur;Vk?M4|&Ki78cL|vgx#0w7WUcz1SAYe{a^S>#aBCRl`{8umM2X0}aaV zdQv6+MU9zJ38sv05ZxAAH*8YI_{e_@V?h>|TJEX!+{%YD*Xcf6MqrM`;0ipuDRk&X}G50(Qo9Imo+aYZ;M0cW3 z(3v@0Zt56{oUR*6o}e5V$h_ph;VfN<87;py9GmKwx5}%AV^bVASiUiwWi+lFqz_#Ev#KxaN3LwsChvV zo(YLR#G-j~wOcQ@=n50`{d)^}!bsL7=)qvE7#Ncf6sVu3!
k<+!c=h$?)bR@PL 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 + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "vtoytool.h" + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +#define TMP_FILE "/ventoy/tmp_var_expansion" + +#define SIZE_1MB (1024 * 1024) +#define ulong unsigned long +#define ulonglong unsigned long long + +typedef struct disk_info +{ + char name[128]; + ulonglong size; + int isUSB; + int isSDX; +}disk_info; + +static disk_info *g_disk_list = NULL; +static int g_disk_num = 0; +static const char *g_vtoy_disk_name = NULL; + +static void vlog(const char *fmt, ...) +{ + int n = 0; + va_list arg; + FILE *fp = NULL; + char log[1024]; + + fp = fopen("/ventoy/autoinstall.log", "a+"); + if (fp) + { + va_start(arg, fmt); + n += vsnprintf(log, sizeof(log) - 1, fmt, arg); + va_end(arg); + + fwrite(log, 1, n, fp); + fclose(fp); + } +} + +static int copy_file(const char *file1, const char *file2) +{ + int n; + int size; + int ret = 1; + FILE *fp1 = NULL; + FILE *fp2 = NULL; + char *buf = NULL; + + fp1 = fopen(file1, "rb"); + if (!fp1) + { + vlog("Failed to read file <%s>\n", file1); + goto end; + } + + fp2 = fopen(file2, "wb+"); + if (!fp2) + { + vlog("Failed to create file <%s>\n", file2); + goto end; + } + + fseek(fp1, 0, SEEK_END); + size = (int)ftell(fp1); + fseek(fp1, 0, SEEK_SET); + + buf = malloc(size); + if (!buf) + { + vlog("Failed to malloc buf\n"); + goto end; + } + + n = fread(buf, 1, size, fp1); + if (n != size) + { + vlog("Failed to read <%s> %d %d\n", file1, n, size); + goto end; + } + + n = fwrite(buf, 1, size, fp2); + if (n != size) + { + vlog("Failed to write <%s> %d %d\n", file2, n, size); + goto end; + } + + ret = 0; + +end: + + if (fp1) + fclose(fp1); + if (fp2) + fclose(fp2); + if (buf) + free(buf); + + return ret; +} + +static int vtoy_is_possible_blkdev(const char *name) +{ + if (name[0] == '.') + { + return 0; + } + + /* /dev/ramX */ + if (name[0] == 'r' && name[1] == 'a' && name[2] == 'm') + { + return 0; + } + + /* /dev/loopX */ + if (name[0] == 'l' && name[1] == 'o' && name[2] == 'o' && name[3] == 'p') + { + return 0; + } + + /* /dev/dm-X */ + if (name[0] == 'd' && name[1] == 'm' && name[2] == '-' && IS_DIGIT(name[3])) + { + return 0; + } + + /* /dev/srX */ + if (name[0] == 's' && name[1] == 'r' && (name[2] >= '0' && name[2] <= '9')) + { + return 0; + } + + return 1; +} + +static ulonglong vtoy_get_disk_size_in_byte(const char *disk) +{ + int fd; + int rc; + unsigned long long size = 0; + char diskpath[256] = {0}; + char sizebuf[64] = {0}; + + // Try 1: get size from sysfs + snprintf(diskpath, sizeof(diskpath) - 1, "/sys/block/%s/size", disk); + if (access(diskpath, F_OK) >= 0) + { + vlog("get disk size from sysfs for %s\n", disk); + + fd = open(diskpath, O_RDONLY | O_BINARY); + if (fd >= 0) + { + read(fd, sizebuf, sizeof(sizebuf)); + size = strtoull(sizebuf, NULL, 10); + close(fd); + return (size * 512); + } + } + else + { + vlog("%s not exist \n", diskpath); + } + + // Try 2: get size from ioctl + snprintf(diskpath, sizeof(diskpath) - 1, "/dev/%s", disk); + fd = open(diskpath, O_RDONLY); + if (fd >= 0) + { + vlog("get disk size from ioctl for %s\n", disk); + rc = ioctl(fd, BLKGETSIZE64, &size); + if (rc == -1) + { + size = 0; + vlog("failed to ioctl %d\n", rc); + } + close(fd); + } + else + { + vlog("failed to open %s %d\n", diskpath, errno); + } + + vlog("disk %s size %llu bytes\n", disk, (ulonglong)size); + return size; +} + +static int get_disk_num(void) +{ + int n = 0; + DIR* dir = NULL; + struct dirent* p = NULL; + + dir = opendir("/sys/block"); + if (!dir) + { + return 0; + } + + while ((p = readdir(dir)) != NULL) + { + n++; + } + closedir(dir); + + return n; +} + +static int is_usb_disk(const char *diskname) +{ + int rc; + char dstpath[1024] = { 0 }; + char syspath[1024] = { 0 }; + + snprintf(syspath, sizeof(syspath), "/sys/block/%s", diskname); + rc = readlink(syspath, dstpath, sizeof(dstpath) - 1); + if (rc > 0 && strstr(dstpath, "/usb")) + { + return 1; + } + + return 0; +} + +static int get_all_disk(void) +{ + int i = 0; + int j = 0; + int num = 0; + ulonglong cursize = 0; + DIR* dir = NULL; + struct dirent* p = NULL; + disk_info *node = NULL; + disk_info tmpnode; + + num = get_disk_num(); + if (num <= 0) + { + return 1; + } + + g_disk_list = malloc(num * sizeof(disk_info)); + if (!g_disk_list) + { + return 1; + } + memset(g_disk_list, 0, num * sizeof(disk_info)); + + dir = opendir("/sys/block"); + if (!dir) + { + return 0; + } + + while (((p = readdir(dir)) != NULL) && g_disk_num < num) + { + if (!vtoy_is_possible_blkdev(p->d_name)) + { + vlog("disk %s is filted by name\n", p->d_name); + continue; + } + + cursize = vtoy_get_disk_size_in_byte(p->d_name); + + node = g_disk_list + g_disk_num; + g_disk_num++; + + + snprintf(node->name, sizeof(node->name), p->d_name); + node->size = cursize; + node->isUSB = is_usb_disk(p->d_name); + if (strncmp(node->name, "sd", 2) == 0) + { + node->isSDX = 1; + } + } + closedir(dir); + + /* sort disks */ + for (i = 0; i < g_disk_num; i++) + { + for (j = i + 1; j < g_disk_num; j++) + { + if (g_disk_list[i].isSDX && g_disk_list[j].isSDX) + { + if (strcmp(g_disk_list[i].name, g_disk_list[j].name) > 0) + { + memcpy(&tmpnode, g_disk_list + i, sizeof(tmpnode)); + memcpy(g_disk_list + i, g_disk_list + j, sizeof(tmpnode)); + memcpy(g_disk_list + j, &tmpnode, sizeof(tmpnode)); + } + } + } + } + + vlog("============ DISK DUMP BEGIN ===========\n"); + for (i = 0; i < g_disk_num; i++) + { + node = g_disk_list + i; + vlog("[%d] %s %dGB(%llu) USB:%d\n", i, node->name, + node->size / 1024 / 1024 / 1024, node->size, node->isUSB); + } + vlog("============ DISK DUMP END ===========\n"); + + return 0; +} + +static int expand_var(const char *var, char *value, int len) +{ + int i; + int index = -1; + ulonglong uiDst = 0; + ulonglong delta = 0; + ulonglong maxsize = 0; + ulonglong maxdelta = 0xFFFFFFFFFFFFFFFFULL; + disk_info *node = NULL; + value[0] = 0; + + if (strcmp(var, "VT_LINUX_DISK_SDX_1ST_NONVTOY") == 0) + { + for (i = 0; i < g_disk_num; i++) + { + node = g_disk_list + i; + if (node->size > 0 && node->isSDX && strcmp(node->name, g_vtoy_disk_name) != 0) + { + vlog("%s=<%s>\n", var, node->name); + snprintf(value, len, "%s", node->name); + return 0; + } + } + + vlog("[Error] %s not found\n", var); + } + else if (strcmp(var, "VT_LINUX_DISK_SDX_1ST_NONUSB") == 0) + { + for (i = 0; i < g_disk_num; i++) + { + node = g_disk_list + i; + if (node->size > 0 && node->isSDX && node->isUSB == 0) + { + vlog("%s=<%s>\n", var, node->name); + snprintf(value, len, "%s", node->name); + return 0; + } + } + + vlog("[Error] %s not found\n", var); + } + else if (strcmp(var, "VT_LINUX_DISK_MAX_SIZE") == 0) + { + for (i = 0; i < g_disk_num; i++) + { + node = g_disk_list + i; + if (node->size > 0 && node->size > maxsize) + { + index = i; + maxsize = node->size; + } + } + + if (index >= 0) + { + vlog("%s=<%s>\n", var, g_disk_list[index].name); + snprintf(value, len, "%s", g_disk_list[index].name); + return 0; + } + else + { + vlog("[Error] %s not found\n", var); + } + } + else if (strncmp(var, "VT_LINUX_DISK_CLOSEST_", 22) == 0) + { + uiDst = strtoul(var + 22, NULL, 10); + uiDst = uiDst * (1024ULL * 1024ULL * 1024ULL); + + for (i = 0; i < g_disk_num; i++) + { + node = g_disk_list + i; + if (node->size == 0) + { + continue; + } + + if (node->size > uiDst) + { + delta = node->size - uiDst; + } + else + { + delta = uiDst - node->size; + } + + if (delta < maxdelta) + { + index = i; + maxdelta = delta; + } + } + + if (index >= 0) + { + vlog("%s=<%s>\n", var, g_disk_list[index].name); + snprintf(value, len, "%s", g_disk_list[index].name); + return 0; + } + else + { + vlog("[Error] %s not found\n", var); + } + } + else + { + vlog("Invalid var name <%s>\n", var); + snprintf(value, len, "$$%s$$", var); + } + + if (value[0] == 0) + { + snprintf(value, len, "$$%s$$", var); + } + + return 0; +} + +int vtoyexpand_main(int argc, char **argv) +{ + FILE *fp = NULL; + FILE *fout = NULL; + char *start = NULL; + char *end = NULL; + char line[4096]; + char value[256]; + + vlog("========= vtoyexpand_main %d ========\n", argc); + + if (argc != 3) + { + return 1; + } + + g_vtoy_disk_name = argv[2]; + if (strncmp(g_vtoy_disk_name, "/dev/", 5) == 0) + { + g_vtoy_disk_name += 5; + } + vlog("<%s> <%s> <%s>\n", argv[1], argv[2], g_vtoy_disk_name); + + get_all_disk(); + + fp = fopen(argv[1], "r"); + if (!fp) + { + vlog("Failed to open file <%s>\n", argv[1]); + return 1; + } + + fout = fopen(TMP_FILE, "w+"); + if (!fout) + { + vlog("Failed to create file <%s>\n", TMP_FILE); + fclose(fp); + return 1; + } + + memset(line, 0, sizeof(line)); + memset(value, 0, sizeof(value)); + + while (fgets(line, sizeof(line), fp)) + { + start = strstr(line, "$$VT_"); + if (start) + { + end = strstr(start + 5, "$$"); + } + + if (start && end) + { + *start = 0; + fprintf(fout, "%s", line); + + *end = 0; + expand_var(start + 2, value, sizeof(value)); + fprintf(fout, "%s", value); + + fprintf(fout, "%s", end + 2); + + memset(value, 0, sizeof(value)); + } + else + { + fprintf(fout, "%s", line); + } + + line[0] = line[4095] = 0; + } + + fclose(fp); + fclose(fout); + + vlog("delete file <%s>\n", argv[1]); + remove(argv[1]); + + vlog("Copy file <%s> --> <%s>\n", TMP_FILE, argv[1]); + copy_file(TMP_FILE, argv[1]); + + return 0; +} + +// wrapper main +#ifndef BUILD_VTOY_TOOL +int main(int argc, char **argv) +{ + return vtoyexpand_main(argc, argv); +} +#endif + diff --git a/VtoyTool/vtoyloader.c b/VtoyTool/vtoyloader.c index 0272d7f2..3db190bc 100644 --- a/VtoyTool/vtoyloader.c +++ b/VtoyTool/vtoyloader.c @@ -91,10 +91,6 @@ int vtoyloader_main(int argc, char **argv) { rc = vtoy_read_file_to_buf(HOOK_CMD_FILE, g_hook_cmd, sizeof(g_hook_cmd) - 1); debug("g_hook_cmd=<%s>\n", g_hook_cmd); - - // call hook script - rc = system(g_hook_cmd); - debug("system return code =<%d> errno=<%d>\n", rc, errno); } cmdline = (char *)malloc(CMDLINE_BUF_LEN); @@ -156,6 +152,13 @@ int vtoyloader_main(int argc, char **argv) debug("execv [%s]...\n", cmdlist[0]); + // call hook script + if (g_hook_cmd[0]) + { + rc = system(g_hook_cmd); + debug("system return code =<%d> errno=<%d>\n", rc, errno); + } + execv(cmdlist[0], cmdlist); return 0; diff --git a/VtoyTool/vtoytool.c b/VtoyTool/vtoytool.c index f6896860..48cd9ff3 100644 --- a/VtoyTool/vtoytool.c +++ b/VtoyTool/vtoytool.c @@ -38,6 +38,7 @@ int vtoyloader_main(int argc, char **argv); int vtoyvine_main(int argc, char **argv); int vtoyksym_main(int argc, char **argv); int vtoykmod_main(int argc, char **argv); +int vtoyexpand_main(int argc, char **argv); static char *g_vtoytool_name = NULL; static cmd_def g_cmd_list[] = @@ -46,8 +47,10 @@ static cmd_def g_cmd_list[] = { "vtoydump", vtoydump_main }, { "vtoydm", vtoydm_main }, { "loader", vtoyloader_main }, + { "hald", vtoyloader_main }, { "vtoyksym", vtoyksym_main }, { "vtoykmod", vtoykmod_main }, + { "vtoyexpand", vtoyexpand_main }, { "--install", vtoytool_install }, }; diff --git a/VtoyTool/vtoytool/00/vtoytool_32 b/VtoyTool/vtoytool/00/vtoytool_32 index 2f0248616002d509a0c3aa429f8870fb645f44c5..90da6ce4b90c5febeeb5b2b8ff3683253dc08bc3 100644 GIT binary patch delta 26910 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%0DaDSSqY@)pb&(x>I+=jIqp3k)*~bElbd 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 diff --git a/VtoyTool/vtoytool/00/vtoytool_64 b/VtoyTool/vtoytool/00/vtoytool_64 index 51a0b16fbcf018ab346d55dcb39441a56c4e755e..0c04940e1b6861c092ff3f582011f4db2a49d726 100644 GIT binary patch delta 28650 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 HTBH9Dbz>zG delta 24499 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%0A~y)}t>nrSQeZro+IrDc_l`&a8E{+r^{c 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 diff --git a/VtoyTool/vtoytool/00/vtoytool_m64e b/VtoyTool/vtoytool/00/vtoytool_m64e index c7b3ccafdceb4ccd28c4590d4a06724793de5f96..d2047dd7bf6273cfd74086e78dbbf6c1e9e3ca2e 100644 GIT binary patch delta 40640 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 BE$jdQ delta 35971 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 0 && i != g_vtoy_disk_drive) + { + Log("%s=", var, i); + sprintf_s(value, len, "%d", i); + return 0; + } + } + } + else if (strcmp(var, "VT_WINDOWS_DISK_1ST_NONUSB") == 0) + { + for (i = 0; i < DiskNum; i++) + { + if (pDiskInfo[i].Capacity > 0 && pDiskInfo[i].BusType != BusTypeUsb) + { + Log("%s=", var, i); + sprintf_s(value, len, "%d", i); + return 0; + } + } + } + else if (strcmp(var, "VT_WINDOWS_DISK_MAX_SIZE") == 0) + { + for (i = 0; i < DiskNum; i++) + { + if (pDiskInfo[i].Capacity > 0 && pDiskInfo[i].Capacity > uiMaxSize) + { + index = i; + uiMaxSize = pDiskInfo[i].Capacity; + } + } + + Log("%s=", var, index); + sprintf_s(value, len, "%d", index); + } + else if (strncmp(var, "VT_WINDOWS_DISK_CLOSEST_", 24) == 0) + { + uiDst = strtoul(var + 24, NULL, 10); + uiDst = uiDst * (1024ULL * 1024ULL * 1024ULL); + + for (i = 0; i < DiskNum; i++) + { + if (pDiskInfo[i].Capacity == 0) + { + continue; + } + + if (pDiskInfo[i].Capacity > uiDst) + { + uiDelta = pDiskInfo[i].Capacity - uiDst; + } + else + { + uiDelta = uiDst - pDiskInfo[i].Capacity; + } + + if (uiDelta < uiMaxDelta) + { + uiMaxDelta = uiDelta; + index = i; + } + } + + Log("%s=", var, index); + sprintf_s(value, len, "%d", index); + } + else + { + Log("Invalid var name <%s>", var); + sprintf_s(value, len, "$$%s$$", var); + } + + if (value[0] == 0) + { + sprintf_s(value, len, "$$%s$$", var); + } + + return 0; +} + +static void TrimString(CHAR *String) +{ + CHAR *Pos1 = String; + CHAR *Pos2 = String; + size_t Len = strlen(String); + + while (Len > 0) + { + if (String[Len - 1] != ' ' && String[Len - 1] != '\t') + { + break; + } + String[Len - 1] = 0; + Len--; + } + + while (*Pos1 == ' ' || *Pos1 == '\t') + { + Pos1++; + } + + while (*Pos1) + { + *Pos2++ = *Pos1++; + } + *Pos2++ = 0; + + return; +} + +static int GetRegDwordValue(HKEY Key, LPCSTR SubKey, LPCSTR ValueName, DWORD *pValue) +{ + HKEY hKey; + DWORD Type; + DWORD Size; + LSTATUS lRet; + DWORD Value; + + lRet = RegOpenKeyExA(Key, SubKey, 0, KEY_QUERY_VALUE, &hKey); + Log("RegOpenKeyExA <%s> Ret:%ld", SubKey, lRet); + + if (ERROR_SUCCESS == lRet) + { + Size = sizeof(Value); + lRet = RegQueryValueExA(hKey, ValueName, NULL, &Type, (LPBYTE)&Value, &Size); + Log("RegQueryValueExA <%s> ret:%u Size:%u Value:%u", ValueName, lRet, Size, Value); + + *pValue = Value; + RegCloseKey(hKey); + + return 0; + } + else + { + return 1; + } +} + +static const CHAR * GetBusTypeString(int Type) +{ + switch (Type) + { + case BusTypeUnknown: return "unknown"; + case BusTypeScsi: return "SCSI"; + case BusTypeAtapi: return "Atapi"; + case BusTypeAta: return "ATA"; + case BusType1394: return "1394"; + case BusTypeSsa: return "SSA"; + case BusTypeFibre: return "Fibre"; + case BusTypeUsb: return "USB"; + case BusTypeRAID: return "RAID"; + case BusTypeiScsi: return "iSCSI"; + case BusTypeSas: return "SAS"; + case BusTypeSata: return "SATA"; + case BusTypeSd: return "SD"; + case BusTypeMmc: return "MMC"; + case BusTypeVirtual: return "Virtual"; + case BusTypeFileBackedVirtual: return "FileBackedVirtual"; + case BusTypeSpaces: return "Spaces"; + case BusTypeNvme: return "Nvme"; + } + return "unknown"; +} + +static int GetHumanReadableGBSize(UINT64 SizeBytes) +{ + int i; + int Pow2 = 1; + double Delta; + double GB = SizeBytes * 1.0 / 1000 / 1000 / 1000; + + if ((SizeBytes % 1073741824) == 0) + { + return (int)(SizeBytes / 1073741824); + } + + for (i = 0; i < 12; i++) + { + if (Pow2 > GB) + { + Delta = (Pow2 - GB) / Pow2; + } + else + { + Delta = (GB - Pow2) / Pow2; + } + + if (Delta < 0.05) + { + return Pow2; + } + + Pow2 <<= 1; + } + + return (int)GB; +} + +static int EnumerateAllDisk(VarDiskInfo **ppDiskInfo, int *pDiskNum) +{ + int i; + DWORD Value; + int DiskNum = 0; + BOOL bRet; + DWORD dwBytes; + VarDiskInfo *pDiskInfo = NULL; + HANDLE Handle = INVALID_HANDLE_VALUE; + CHAR PhyDrive[128]; + GET_LENGTH_INFORMATION LengthInfo; + STORAGE_PROPERTY_QUERY Query; + STORAGE_DESCRIPTOR_HEADER DevDescHeader; + STORAGE_DEVICE_DESCRIPTOR *pDevDesc; + + if (GetRegDwordValue(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\disk\\Enum", "Count", &Value) == 0) + { + DiskNum = (int)Value; + } + else + { + Log("Failed to read disk count"); + return 1; + } + + Log("Current phy disk count:%d", DiskNum); + if (DiskNum <= 0) + { + return 1; + } + + pDiskInfo = malloc(DiskNum * sizeof(VarDiskInfo)); + if (!pDiskInfo) + { + Log("Failed to alloc"); + return 1; + } + memset(pDiskInfo, 0, DiskNum * sizeof(VarDiskInfo)); + + for (i = 0; i < DiskNum; i++) + { + SAFE_CLOSE_HANDLE(Handle); + + safe_sprintf(PhyDrive, "\\\\.\\PhysicalDrive%d", i); + Handle = CreateFileA(PhyDrive, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); + Log("Create file Handle:%p %s status:%u", Handle, PhyDrive, LASTERR); + + if (Handle == INVALID_HANDLE_VALUE) + { + continue; + } + + bRet = DeviceIoControl(Handle, + IOCTL_DISK_GET_LENGTH_INFO, NULL, + 0, + &LengthInfo, + sizeof(LengthInfo), + &dwBytes, + NULL); + if (!bRet) + { + Log("DeviceIoControl IOCTL_DISK_GET_LENGTH_INFO failed error:%u", LASTERR); + continue; + } + + Log("PHYSICALDRIVE%d size %llu bytes", i, (ULONGLONG)LengthInfo.Length.QuadPart); + + Query.PropertyId = StorageDeviceProperty; + Query.QueryType = PropertyStandardQuery; + + bRet = DeviceIoControl(Handle, + IOCTL_STORAGE_QUERY_PROPERTY, + &Query, + sizeof(Query), + &DevDescHeader, + sizeof(STORAGE_DESCRIPTOR_HEADER), + &dwBytes, + NULL); + if (!bRet) + { + Log("DeviceIoControl1 error:%u dwBytes:%u", LASTERR, dwBytes); + continue; + } + + if (DevDescHeader.Size < sizeof(STORAGE_DEVICE_DESCRIPTOR)) + { + Log("Invalid DevDescHeader.Size:%u", DevDescHeader.Size); + continue; + } + + pDevDesc = (STORAGE_DEVICE_DESCRIPTOR *)malloc(DevDescHeader.Size); + if (!pDevDesc) + { + Log("failed to malloc error:%u len:%u", LASTERR, DevDescHeader.Size); + continue; + } + + bRet = DeviceIoControl(Handle, + IOCTL_STORAGE_QUERY_PROPERTY, + &Query, + sizeof(Query), + pDevDesc, + DevDescHeader.Size, + &dwBytes, + NULL); + if (!bRet) + { + Log("DeviceIoControl2 error:%u dwBytes:%u", LASTERR, dwBytes); + free(pDevDesc); + continue; + } + + pDiskInfo[i].RemovableMedia = pDevDesc->RemovableMedia; + pDiskInfo[i].BusType = pDevDesc->BusType; + pDiskInfo[i].DeviceType = pDevDesc->DeviceType; + pDiskInfo[i].Capacity = LengthInfo.Length.QuadPart; + + if (pDevDesc->VendorIdOffset) + { + safe_strcpy(pDiskInfo[i].VendorId, (char *)pDevDesc + pDevDesc->VendorIdOffset); + TrimString(pDiskInfo[i].VendorId); + } + + if (pDevDesc->ProductIdOffset) + { + safe_strcpy(pDiskInfo[i].ProductId, (char *)pDevDesc + pDevDesc->ProductIdOffset); + TrimString(pDiskInfo[i].ProductId); + } + + if (pDevDesc->ProductRevisionOffset) + { + safe_strcpy(pDiskInfo[i].ProductRev, (char *)pDevDesc + pDevDesc->ProductRevisionOffset); + TrimString(pDiskInfo[i].ProductRev); + } + + if (pDevDesc->SerialNumberOffset) + { + safe_strcpy(pDiskInfo[i].SerialNumber, (char *)pDevDesc + pDevDesc->SerialNumberOffset); + TrimString(pDiskInfo[i].SerialNumber); + } + + free(pDevDesc); + SAFE_CLOSE_HANDLE(Handle); + } + + Log("########## DUMP DISK BEGIN ##########"); + for (i = 0; i < DiskNum; i++) + { + Log("PhyDrv:%d BusType:%-4s Removable:%u Size:%dGB(%llu) Name:%s %s", + i, GetBusTypeString(pDiskInfo[i].BusType), pDiskInfo[i].RemovableMedia, + GetHumanReadableGBSize(pDiskInfo[i].Capacity), pDiskInfo[i].Capacity, + pDiskInfo[i].VendorId, pDiskInfo[i].ProductId); + } + Log("Ventoy disk is PhyDvr%d", g_vtoy_disk_drive); + Log("########## DUMP DISK END ##########"); + + *ppDiskInfo = pDiskInfo; + *pDiskNum = DiskNum; + return 0; +} + +static int UnattendVarExpand(const char *script, const char *tmpfile) +{ + FILE *fp = NULL; + FILE *fout = NULL; + char *start = NULL; + char *end = NULL; + char szLine[4096]; + char szValue[256]; + int DiskNum = 0; + VarDiskInfo *pDiskInfo = NULL; + + Log("UnattendVarExpand ..."); + + if (EnumerateAllDisk(&pDiskInfo, &DiskNum)) + { + Log("Failed to EnumerateAllDisk"); + return 1; + } + + fopen_s(&fp, script, "r"); + if (!fp) + { + free(pDiskInfo); + return 0; + } + + fopen_s(&fout, tmpfile, "w+"); + if (!fout) + { + fclose(fp); + free(pDiskInfo); + return 0; + } + + szLine[0] = szLine[4095] = 0; + + while (fgets(szLine, sizeof(szLine) - 1, fp)) + { + start = strstr(szLine, "$$VT_"); + if (start) + { + end = strstr(start + 5, "$$"); + } + + if (start && end) + { + *start = 0; + fprintf(fout, "%s", szLine); + + *end = 0; + ExpandSingleVar(pDiskInfo, DiskNum, start + 2, szValue, sizeof(szValue) - 1); + fprintf(fout, "%s", szValue); + + fprintf(fout, "%s", end + 2); + } + else + { + fprintf(fout, "%s", szLine); + } + + szLine[0] = szLine[4095] = 0; + } + + fclose(fp); + fclose(fout); + free(pDiskInfo); + return 0; +} + +//#define VAR_DEBUG 1 + static int ProcessUnattendedInstallation(const char *script) { DWORD dw; HKEY hKey; LSTATUS Ret; CHAR Letter; + CHAR TmpFile[MAX_PATH]; CHAR CurDir[MAX_PATH]; Log("Copy unattended XML ..."); @@ -1311,16 +1786,34 @@ static int ProcessUnattendedInstallation(const char *script) { Letter = 'X'; } - - sprintf_s(CurDir, sizeof(CurDir), "%C:\\Autounattend.xml", Letter); - Log("Copy file <%s> --> <%s>", script, CurDir); - CopyFile(script, CurDir, FALSE); +#ifdef VAR_DEBUG + sprintf_s(CurDir, sizeof(CurDir), "%C:\\AutounattendXXX.xml", Letter); +#else + sprintf_s(CurDir, sizeof(CurDir), "%C:\\Autounattend.xml", Letter); +#endif + + if (UnattendNeedVarExpand(script)) + { + sprintf_s(TmpFile, sizeof(TmpFile), "%C:\\__Autounattend", Letter); + UnattendVarExpand(script, TmpFile); + + Log("Expand Copy file <%s> --> <%s>", script, CurDir); + CopyFile(TmpFile, CurDir, FALSE); + } + else + { + Log("No var expand copy file <%s> --> <%s>", script, CurDir); + CopyFile(script, CurDir, FALSE); + } + +#ifndef VAR_DEBUG Ret = RegCreateKeyEx(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dw); if (ERROR_SUCCESS == Ret) { Ret = RegSetValueEx(hKey, "UnattendFile", 0, REG_SZ, CurDir, (DWORD)(strlen(CurDir) + 1)); } +#endif return 0; } @@ -1493,7 +1986,7 @@ static int VentoyHook(ventoy_os_param *param) if (IsUTF8Encode(param->vtoy_img_path)) { - Log("This file is UTF8 encoding\n"); + Log("This file is UTF8 encoding"); } for (i = 0; i < 5; i++) @@ -1622,6 +2115,8 @@ static int VentoyHook(ventoy_os_param *param) return 1; } + g_vtoy_disk_drive = VtoyDiskNum; + Drives = GetLogicalDrives(); Log("Drives before mount: 0x%x", Drives); diff --git a/vtoyjump/vtoyjump/vtoyjump.h b/vtoyjump/vtoyjump/vtoyjump.h index 1e37338e..d4599855 100644 --- a/vtoyjump/vtoyjump/vtoyjump.h +++ b/vtoyjump/vtoyjump/vtoyjump.h @@ -1,29 +1,29 @@ -/****************************************************************************** -* vtoyjump.h -* -* Copyright (c) 2020, longpanda -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation; either version 3 of the -* License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, see . -* -*/ -#ifndef __VTOYJUMP_H__ -#define __VTOYJUMP_H__ - -#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) - -#define SIZE_1MB (1024 * 1024) -#define VENTOY_EFI_PART_SIZE (32 * SIZE_1MB) +/****************************************************************************** +* vtoyjump.h +* +* Copyright (c) 2020, longpanda +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 3 of the +* License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, see . +* +*/ +#ifndef __VTOYJUMP_H__ +#define __VTOYJUMP_H__ + +#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) + +#define SIZE_1MB (1024 * 1024) +#define VENTOY_EFI_PART_SIZE (32 * SIZE_1MB) #define VENTOY_GUID { 0x77772020, 0x2e77, 0x6576, { 0x6e, 0x74, 0x6f, 0x79, 0x2e, 0x6e, 0x65, 0x74 }} @@ -67,106 +67,124 @@ typedef struct ventoy_os_param UINT8 reserved[27]; }ventoy_os_param; -typedef struct ventoy_windows_data -{ - char auto_install_script[384]; - char injection_archive[384]; - UINT8 windows11_bypass_check; - - UINT32 auto_install_len; - - UINT8 reserved[255 - 4]; - - /* auto install script file data ... + auto_install_len */ - /* ...... */ - - +typedef struct ventoy_windows_data +{ + char auto_install_script[384]; + char injection_archive[384]; + UINT8 windows11_bypass_check; + + UINT32 auto_install_len; + + UINT8 reserved[255 - 4]; + + /* auto install script file data ... + auto_install_len */ + /* ...... */ + + }ventoy_windows_data; - - -typedef struct PART_TABLE -{ - UINT8 Active; // 0x00 0x80 - - UINT8 StartHead; - UINT16 StartSector : 6; - UINT16 StartCylinder : 10; - - UINT8 FsFlag; - - UINT8 EndHead; - UINT16 EndSector : 6; - UINT16 EndCylinder : 10; - - UINT32 StartSectorId; - UINT32 SectorCount; -}PART_TABLE; - -typedef struct MBR_HEAD -{ - UINT8 BootCode[446]; - PART_TABLE PartTbl[4]; - UINT8 Byte55; - UINT8 ByteAA; -}MBR_HEAD; - -typedef struct VTOY_GPT_HDR -{ - CHAR Signature[8]; /* EFI PART */ - UINT8 Version[4]; - UINT32 Length; - UINT32 Crc; - UINT8 Reserved1[4]; - UINT64 EfiStartLBA; - UINT64 EfiBackupLBA; - UINT64 PartAreaStartLBA; - UINT64 PartAreaEndLBA; - GUID DiskGuid; - UINT64 PartTblStartLBA; - UINT32 PartTblTotNum; - UINT32 PartTblEntryLen; - UINT32 PartTblCrc; - UINT8 Reserved2[420]; -}VTOY_GPT_HDR; - -typedef struct VTOY_GPT_PART_TBL -{ - GUID PartType; - GUID PartGuid; - UINT64 StartLBA; - UINT64 LastLBA; - UINT64 Attr; - UINT16 Name[36]; -}VTOY_GPT_PART_TBL; - -typedef struct VTOY_GPT_INFO -{ - MBR_HEAD MBR; - VTOY_GPT_HDR Head; - VTOY_GPT_PART_TBL PartTbl[128]; -}VTOY_GPT_INFO; - - - + + +typedef struct PART_TABLE +{ + UINT8 Active; // 0x00 0x80 + + UINT8 StartHead; + UINT16 StartSector : 6; + UINT16 StartCylinder : 10; + + UINT8 FsFlag; + + UINT8 EndHead; + UINT16 EndSector : 6; + UINT16 EndCylinder : 10; + + UINT32 StartSectorId; + UINT32 SectorCount; +}PART_TABLE; + +typedef struct MBR_HEAD +{ + UINT8 BootCode[446]; + PART_TABLE PartTbl[4]; + UINT8 Byte55; + UINT8 ByteAA; +}MBR_HEAD; + +typedef struct VTOY_GPT_HDR +{ + CHAR Signature[8]; /* EFI PART */ + UINT8 Version[4]; + UINT32 Length; + UINT32 Crc; + UINT8 Reserved1[4]; + UINT64 EfiStartLBA; + UINT64 EfiBackupLBA; + UINT64 PartAreaStartLBA; + UINT64 PartAreaEndLBA; + GUID DiskGuid; + UINT64 PartTblStartLBA; + UINT32 PartTblTotNum; + UINT32 PartTblEntryLen; + UINT32 PartTblCrc; + UINT8 Reserved2[420]; +}VTOY_GPT_HDR; + +typedef struct VTOY_GPT_PART_TBL +{ + GUID PartType; + GUID PartGuid; + UINT64 StartLBA; + UINT64 LastLBA; + UINT64 Attr; + UINT16 Name[36]; +}VTOY_GPT_PART_TBL; + +typedef struct VTOY_GPT_INFO +{ + MBR_HEAD MBR; + VTOY_GPT_HDR Head; + VTOY_GPT_PART_TBL PartTbl[128]; +}VTOY_GPT_INFO; + + + #pragma pack() - - -#define SAFE_CLOSE_HANDLE(handle) \ -{\ - if (handle != INVALID_HANDLE_VALUE) \ - {\ - CloseHandle(handle); \ - (handle) = INVALID_HANDLE_VALUE; \ - }\ -} - -#define LASTERR GetLastError() - -int unxz(unsigned char *in, int in_size, - int(*fill)(void *dest, unsigned int size), - int(*flush)(void *src, unsigned int size), - unsigned char *out, int *in_used, - void(*error)(char *x)); - -#endif + + + +typedef struct VarDiskInfo +{ + UINT64 Capacity; + int BusType; + BOOL RemovableMedia; + BYTE DeviceType; + CHAR VendorId[128]; + CHAR ProductId[128]; + CHAR ProductRev[128]; + CHAR SerialNumber[128]; +}VarDiskInfo; + + +#define SAFE_CLOSE_HANDLE(handle) \ +{\ + if (handle != INVALID_HANDLE_VALUE) \ + {\ + CloseHandle(handle); \ + (handle) = INVALID_HANDLE_VALUE; \ + }\ +} + +#define safe_sprintf(dst, fmt, ...) sprintf_s(dst, sizeof(dst), fmt, __VA_ARGS__) +#define safe_strcpy(dst, src) strcpy_s(dst, sizeof(dst), src) + + +#define LASTERR GetLastError() + +int unxz(unsigned char *in, int in_size, + int(*fill)(void *dest, unsigned int size), + int(*flush)(void *src, unsigned int size), + unsigned char *out, int *in_used, + void(*error)(char *x)); + +#endif