installer Silvan Calarco GPL 0.5 installer 0 0 593 514 5 5 0 0 openmamba installation wizard image0 introduction Welcome! NextBox 130 50 20 20 BackBox 180 50 20 20 false GroupBox2 10 10 560 160 7 7 0 0 255 255 255 AcceptScript 10 280 32 32 @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true) Label21 410 390 130 21 Version 0.4 AlignVCenter|AlignRight PixmapLabel2 80 40 400 74 image1 Label1_2 280 100 230 20 11 1 GNU/Linux distribution AlignCenter Label29 420 130 130 16 40 96 6 8 www.openmamba.org Label1 10 10 540 34 0 0 0 20 Installation wizard for AlignVCenter|AlignLeft wizardScript 10 50 32 32 @dcop(@dcopid, KommanderIf, setEnabled(QString,bool), next, @NextBox.checked) @dcop(@dcopid, KommanderIf, setEnabled(QString,bool), back, @BackBox.checked) @dcop(@dcopid, KommanderIf, setEnabled(QString,bool), finish, true) @dcop(@dcopid, KommanderIf, setVisible(QString,bool), help, false) Label18_2_2_2 10 120 400 29 8 1 Copyright (c) 2007-2011 by Silvan Calarco Released under the terms of the GNU GPL v3 license AutoText WordBreak|AlignVCenter Label30 10 190 560 20 1 This program will install openmamba on this computer. GroupBox4 10 310 560 120 Data integrity check md5ProgressBar 10 90 400 21 7 100 skipButton 420 90 130 20 S&kip check @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true) @dcop(@dcopid, KommanderIf, setVisible(QString,bool), skipButton, false) @dcop(@dcopid, KommanderIf, setVisible(QString,bool), md5ProgressBar, false) @integrityCheckLabel.setText("<br>@i18n("Warning: check skipped; this might cause unpredictable installation errors.")</b>") killall md5progress.sh integrityCheckLabel 10 20 540 70 Please wait some time while the installation medium is checked for data integrity. Press the skip button only if you have previously checked the medium on this computer. WordBreak|AlignVCenter launchMD5script 520 10 32 32 /usr/share/openmamba/installer/md5progress.sh @dcopid 2>&1 >/tmp/md5progress.log & Label18_2 10 220 560 60 If you have problems, suggestions or would like to contribute to the development of openmamba please consult the forums and maling lists available at <a href="http://www.openmamba.org">www.openmamba.org</a>. WordBreak|AlignVCenter license License Label37 80 0 500 40 1 Please read carefully and accept the license before proceeding. WordBreak|AlignVCenter Label20_2 80 50 500 30 0 0 0 The openmamba GNU/Linux distribution is released under the terms of the GNU GPL v3 license. WordBreak|AlignVCenter PixmapLabel3 10 10 51 64 image2 ScriptObject15_2 550 0 32 32 @BackBox.setChecked(false) GroupBox5_2 10 100 560 330 Full license text AcceptBox 10 300 480 20 &I've read and accept the licensing terms licenseBrowser 10 20 530 270 enableNext 500 290 32 32 @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, @AcceptBox.checked) loadLicense 550 40 32 32 GPLFILE=gpl.html [ -e "/usr/share/openmamba/installer/gpl-${LANG:0:2}.html" ] && GPLFILE="gpl-${LANG:0:2}.html" dcop @dcopid KommanderIf setText licenseBrowser "`cat /usr/share/openmamba/installer/$GPLFILE`" localization System localization Label39 81 32 490 51 Please, configure system wide localization settings for time, language, country and keyboard. WordBreak|AlignVCenter PixmapLabel3_2 10 0 64 64 image3 Label5_3 70 0 500 40 15 Configure system localization settings AlignCenter GroupBox6 10 90 561 90 Time timelabel 10 50 240 20 setTimeLabel 520 10 32 32 @execBegin currdate=`date +"%x %H:%M %Z"` dcop @dcopid KommanderIf setText timelabel "$currdate" @execEnd Label32 10 30 240 20 Current system time is: ExecButton1 280 40 260 40 Conf&igure time false @exec("kcmshell4 clock") @setTimeLabel.execute() GroupBox5 10 190 561 100 Language and country Layout4 10 30 260 50 unnamed 0 6 Label33_2 5 5 0 0 Language: countrylabel 3 5 0 0 langlabel 3 5 0 0 Label33_2_3 Country: setLangLabel 520 20 32 32 . /etc/sysconfig/i18n LANGUAGE="$LANG" if [ -r ~/.kde4/share/config/kdeglobals ]; then eval `grep -i Country ~/.kde4/share/config/kdeglobals` fi # find country definition in selected language [ "${Country}" ] || Country="C" COUNTRY=`eval grep -m1 "${Country}$" /opt/kde/share/apps/kabc/countrytransl.map | sed "s|\t.*||"` # find language definition in selected language case ${LANGUAGE:0:5} in en_*) LANGUAGE="English (${LANGUAGE:3:2})" ;; es_*) LANGUAGE="EspaƱol" ;; it_IT) LANGUAGE="Italiano" ;; it_CH) LANGUAGE="Italiano (CH)" ;; *) LANGUAGE="Unsupported" ;; esac dcop @dcopid KommanderIf setText langlabel "$LANGUAGE" dcop @dcopid KommanderIf setText countrylabel $"$COUNTRY" ExecButton1_2_2 280 40 261 41 Configure &language and country @exec("kcmshell4 language") @execBegin if [ -r ~/.kde4/share/config/kdeglobals ]; then eval `grep -i Language ~/.kde4/share/config/kdeglobals` Language=${Language/:*} if [ "$Language" ]; then case ${Language} in it|it_IT) LANGUAGE="it_IT" ;; en|en_US) LANGUAGE="en_US" ;; es|es_ES) LANGUAGE="es_ES" ;; fr|fr_FR) LANGUAGE="fr_FR" ;; en_GB) LANGUAGE="en_GB" ;; *) LANGUAGE="${Language}" ;; esac LANGUAGE=${LANGUAGE:0:5}.UTF-8 sed -i "s|LANG=.*|LANG=$LANGUAGE|" /etc/sysconfig/i18n fi fi @execEnd @setLangLabel.execute() GroupBox7_3 10 300 560 130 Keyboard Label33_2_2 10 30 80 20 Layout: Label33_2_2_2 10 60 80 20 Geometry: Label33_2_2_2_2 10 90 80 20 Test: kbgeometry_box 110 60 260 24 kblayout_box 110 30 260 24 testEdit 110 90 260 23 setKB 480 20 32 32 LAYOUT_CURR="@kblayout_box.item(@kblayout_box.currentItem)" MODEL_CURR="@kbgeometry_box.item(@kbgeometry_box.currentItem)" LAYOUT=`awk '/! layout/,/$^/' /usr/share/X11/xkb/rules/base.lst | grep "$LAYOUT_CURR" | awk '{print $1}'` MODEL=`awk '/! model/,/$^/' /usr/share/X11/xkb/rules/base.lst | grep "$MODEL_CURR" | awk '{print $1}'` setxkbmap -layout $LAYOUT -model $MODEL sed -i "s|\(KEYMAP=\).*|\1$LAYOUT.map|" /etc/sysconfig/keyboard sed -i "s|\(XKB_LAYOUT=\).*|\1$LAYOUT|" /etc/sysconfig/keyboard sed -i "s|\(XKB_MODEL=\).*|\1$MODEL|" /etc/sysconfig/keyboard sed -i "s|\(\"XkbLayout\"\).*|\1 \"$LAYOUT\"|" /etc/X11/xorg.conf sed -i "s|\(\"XkbModel\"\).*|\1 \"$MODEL\"|" /etc/X11/xorg.conf setKeyboardLabel 520 20 32 32 @testEdit.setSelection(@testEdit.text) dcop @dcopid KommanderIf setBusyCursor true . /etc/sysconfig/keyboard if [ ! "$XKB_LAYOUT" ]; then eval `grep "^LayoutList=" ~/.kde4/share/config/kxkbrc` [ "$LayoutList" ] && \ XKB_LAYOUT="${LayoutList/,*/}" || \ XKB_LAYOUT="us" fi awk '/! layout/,/$^/' /usr/share/X11/xkb/rules/base.lst | sort -k2 | \ while read id desc; do if [ "$id" != "!" -a "$id" != "" ]; then dcop @dcopid KommanderIf "addListItem(QString,QString,int)" kblayout_box "$desc" -1 [ "$id" = "$XKB_LAYOUT" ] && dcop @dcopid KommanderIf "setSelection" kblayout_box "$desc" fi done awk '/! model/,/$^/' /usr/share/X11/xkb/rules/base.lst | sort -k2 | \ while read id desc; do if [ "$id" != "!" -a "$id" != "" ]; then dcop @dcopid KommanderIf "addListItem(QString,QString,int)" kbgeometry_box "$desc" -1 [ "$id" = "$XKB_MODEL" ] && dcop @dcopid KommanderIf "setSelection" kbgeometry_box "$desc" fi done dcop @dcopid KommanderIf setBusyCursor false ScriptObject15 550 40 32 32 @BackBox.setChecked(true) @NextBox.setChecked(true) Timer1 550 0 32 32 @setLangLabel.execute() 30000 disk_partitioning Disk partitioning PixmapLabel8 10 0 64 64 image4 GroupBox7_2 0 140 580 290 Current partitions status Label24_2_2 70 -120 510 40 15 Check and edit disk partitions RichText WordBreak|AlignTop|AlignHCenter removablebox 300 20 270 20 Show removab&le devices swapcheckbox 10 20 280 21 I&gnore SWAP partition check installhint 10 220 550 60 AlignBottom partitionslabel 10 50 560 170 Auto RichText true rebootneededbox 50 80 190 20 Label21_2_3 80 10 490 30 15 Current partitions status AlignCenter swapsizelabel 10 70 410 60 RichText WordBreak|AlignVCenter PartToolButton 420 80 150 30 Ed&it disk partitions @RunPartTool.execute() @scandisks.execute() @rebootneededbox.setChecked(false) @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } devices=`udisks --enumerate-device-files | grep -v /dev/disk | sort -n -r` for device in $devices; do [ "$device:0:2" = "sd" -o "$device:0:2" = "hd" ] || continue native_path=`get_udisks_key $device native-path` [ -e $native_path/partition ] && continue partscheme=`get_udisks_key $device scheme` is_system_internal=`get_udisks_key $device "system internal"` [ "$is_system_internal" != "1" -a @removablebox.checked == 0 ] && continue [ "$partscheme" = "none" -o "$partscheme" = "" ] && dcop @dcopid KommanderIf setChecked rebootneededbox true done @execEnd @setGlobal("rebootquest","0") @if (@rebootneededbox.checked) @setGlobal("rebootquest",(@Message.question(@i18n("Partition table on at least one device is missing or has been recreated; reboot may be needed. If you choose to continue you may have data consistency errors."), @i18n("Reboot needed"), @i18n("Reboot"), @i18n("Continue")))) @endif @if (@global("rebootquest") == "1") if [ -x /usr/bin/qdbus ]; then /usr/bin/qdbus org.kde.ksmserver /KSMServer logout 0 1 2 else dcop ksmserver ksmserver logout 0 1 1 fi @endif RunPartTool 550 40 32 32 @exec("dcop kded kded unloadModule medianotifier") @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } volumes=`udisks --enumerate-device-files | grep -v /dev/disk` for v in $volumes; do native_path=`get_udisks_key $v native-path` [ ! -e $native_path/partition ] || continue sudo udisks --unmount $v done @execEnd @PartitionBox.setEnabled(false) @BootloaderBox.setEnabled(false) @Message.info("<b> @i18n("Hint: in order to install openmamba you should create:") </b><br><ul> <li>@i18n("a Linux partition (type ext2,ext3,ext4 or reiserfs)") <li>@i18n("a Linux SWAP partition") </ul> @i18n("Press OK to launch the disk partitioning tool.") ",@i18n("Hint for partitioning")) @exec(sudo /usr/sbin/gparted) @scanDevices.execute() @exec("dcop kded kded loadModule medianotifier") @PartitionBox.setEnabled(true) @BootloaderBox.setEnabled(true) scandisks 550 0 32 32 @partitionslabel.clear @BackBox.setChecked(true) @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } devices=`udisks --enumerate-device-files | grep -v /dev/disk` partlabel= linuxok= swapok= memsize=`cat /proc/meminfo |grep MemTotal:|sed "s|[^0-9]||g"` if [ $memsize -lt 1048576 ]; then swaprequired=`expr $memsize / 512` elif [ $memsize -lt 4194304 ]; then swaprequired=`expr $memsize / 683` else swaprequired=`expr $memsize / 1024` fi if [ -e /squashfs ]; then systemoccupacy=`du -sm /squashfs | sed "s|[[:space:]].*||"` systemrequired=`expr $systemoccupacy \* 2` else systemrequired=5120 fi dcop @dcopid KommanderIf setText swapsizelabel "@i18n("In order to install openmamba you need on your fixed disk(s):<br>- a Linux type partition with at least $systemrequired MBytes<br>- a SWAP type partition with at least $swaprequired MBytes")" for d in $devices; do diskdevice=${d/\/dev\/} native_path=`get_udisks_key $d native-path` [ ! -e $native_path/partition ] || continue vendor=`get_udisks_key $d vendor` product=`get_udisks_key $d model` is_system_internal=`get_udisks_key $d "system internal"` [ "$is_system_internal" != "1" -a @removablebox.checked == 0 ] && continue partscheme=`get_udisks_key $d scheme` [ "$partscheme" ] || continue disksize=`get_udisks_key $d size` disksize=`expr $disksize / 1024 / 1024 / 1024` volumes=`ls -d $native_path/${diskdevice}* 2>/dev/null | sed "s|.*/||" | sort -n -r` thisdisk= for v in $volumes; do device=/dev/$v v_native_path=$native_path/$v volsize=`get_udisks_key $device size` volsize=`expr $volsize / 1024 / 1024` volname=`get_udisks_key $device label` parttype=`get_udisks_key $device usage` [ "$parttype" ] || parttype="unknown" fstype=`get_udisks_key $device type` [ "$fstype" ] || fstype="unformatted" add_info="" [ "$is_system_internal" = "1" ] || add_info=",removable" [ "$volsize" -gt "0" ] || continue thispart="<tr><td width=50>${device:5:5}</td><td width=100>$fstype</td><td width=130>$volname</td><td align=right>$volsize MB</td>" case "$fstype" in swap) if [ $swaprequired -le $volsize ]; then swapok=1 thispart="$thispart<td><b>@i18n("OK for swap")</b></td>" fi ;; linux|ext2|ext3|ext4|reiserfs|reiser4) if [ $systemrequired -le $volsize ]; then linuxok=1 thispart="$thispart<td><b>@i18n("OK for system")</b></td>" fi ;; *) thispart="$thispart<td></td>" ;; esac thisdisk="${thispart}${thisdisk}" done partlabel="<b>@i18n("Disk") $vendor $product $disksize GB (${diskdevice})</b>:<br><br><table cellspacing=0 cellpadding=0><tr>${thisdisk}</tr></table>${partlabel}" done dcop @dcopid KommanderIf setText partitionslabel "$partlabel" if [ @swapcheckbox.checked = 1 ]; then swapok="1" fi insthint="" [ "$linuxok" ] || insthint="${insthint}@i18n("You need to create a Linux type partition<br>")" [ "$swapok" ] || insthint="${insthint}@i18n("You need to create a SWAP type partition<br>")" if [ "$linuxok" -a "$swapok" ]; then insthint="${insthint}<b>@i18n("GOOD, you have both a Linux and SWAP partition.")</b><br>@i18n("Please, modify the partitions or press Next to proceed with the installation.")" dcop @dcopid KommanderIf setChecked NextBox "true" else insthint="${insthint}<br><br>@i18n("Please, press the button above and modify the partitions as needed before proceeding.")<br>" dcop @dcopid KommanderIf setChecked NextBox "false" fi dcop @dcopid KommanderIf setText installhint "$insthint" @execEnd disk_choice Disk installation choice driverlabel 404 155 121 31 Label21_2 70 10 500 30 15 Choose system partition AlignCenter PixmapLabel4 10 0 64 70 image5 GroupBox8 10 370 560 60 Advanced features clonebox 10 20 16 16 3 0 0 0 Label22_2 30 20 520 16 3 5 0 0 Preserve changes made to current running system stablelabel false 30 40 520 16 3 5 0 0 Configure for updates from stable repositories stablebox false 10 40 16 16 3 0 0 0 true PartitionBox true 10 70 560 290 3 7 0 0 Where do you want to install openmamba? Layout2 10 220 540 19 unnamed 0 6 Label3 1 5 0 0 1 Install system on: AlignVCenter|AlignLeft showdevice 7 5 0 0 Label24 10 20 540 60 1 Please, select the disk partition where you want the system to be installed. <br><b>WARNING: all current data on the selected partition will be lost.</b> RichText WordBreak|AlignTop devicesbox 10 90 540 130 Layout4 10 250 300 26 unnamed 0 6 Label22 3 5 0 0 Filesystem type: ext4 ext3 reiser4 reiserfs ext2 fstypebox 3 0 0 0 Spacer1 Horizontal Expanding 30 0 setlabel 540 40 32 32 @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } @if (@devicesbox.currentItem >= 0) currdev=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) @showdevice.setText(@devicesbox.item(@devicesbox.currentItem)) @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true) @BackBox.setChecked(true) # # set MBR combo box # dcop @dcopid KommanderIf "clear(QString)" mbrbox devices=`udisks --enumerate-device-files | grep -v /dev/disk` dcop @dcopid KommanderIf "addListItem(QString,QString,int)" mbrbox "$currdev (@i18n("System partition"))" 0 for device in $devices; do native_path=`get_udisks_key $device native-path` [ -e $native_path/partition ] && continue is_system_internal=`get_udisks_key $device "system internal"` partscheme=`get_udisks_key $device scheme` if [ "$is_system_internal" == "1" -o "@removablebox.checked" == "1" ]; then [ "$partscheme" == "mbr" ] && \ dcop @dcopid KommanderIf "addListItem(QString,QString,int)" mbrbox "${device:5:5} (master boot record)" 0 fi done dcop @dcopid KommanderIf "setCurrentItem(int)" 0 @endif @execEnd @setBootableCheckbox.execute() scanDevices 540 0 32 32 @devicesbox.clear @BackBox.setChecked(true) @NextBox.setChecked(false) @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } rpm -q openmamba-devel && { dcop @dcopid KommanderIf "setEnabled(QString,bool)" stablebox true dcop @dcopid KommanderIf "setEnabled(QString,bool)" stablelabel true } if [ -e /squashfs ]; then systemoccupacy=`du -sm /squashfs | sed "s|[[:space:]].*||"` systemrequired=`expr $systemoccupacy \* 2` else systemrequired=5120 fi devices=`udisks --enumerate-device-files | grep -v /dev/disk | sort -n -r` partlabel= for device in $devices; do native_path=`get_udisks_key $device native-path` [ -e $native_path/partition ] || continue is_system_internal=`get_udisks_key $device "system internal"` volsize=`get_udisks_key $device size` volsize=`expr $volsize / 1024 / 1024` [ $systemrequired -le $volsize ] || continue volname=`get_udisks_key $device label` [ "$volname" ] || volname="unnamed" parttype=`get_udisks_key $device usage` [ "$parttype" ] || parttype="unknown" partscheme=`get_udisks_key $device scheme` [ "$partscheme" ] || partscheme="unknown" fstype=`get_udisks_key $device type` [ "$fstype" ] || fstype="unformatted" add_info="" [ "$is_system_internal" = "1" ] || { add_info=",removable" [ @removablebox.checked == 1 ] || continue } if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB" case "$fstype" in ext2|ext3|ext4|reiserfs|reiser4|unformatted) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 ;; *) ;; esac elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then case "$fstype" in swap|iso9660) ;; ext2|ext3|ext4|reiserfs|reiser4|unformatted) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 ;; *) ;; esac fi done @execEnd @if (@devicesbox.count == "0") @switch(@Message.question(@i18n("No installable partitions found, do you want to launch the partitioning tool?"), @i18n("No installable partitions found"), Launch, Abort)) @case(1) @RunPartTool.execute() @case(2) @Message.info(@i18n("Installation aborted.")) @dcop(@dcopid, MainApplication-Interface, quit()) @end @endif home_choice Home partition choice PartitionBox_2 true 10 70 560 260 3 7 0 0 Where do you want to have openmamba home folder? Layout2_2 10 220 540 19 unnamed 0 6 Label3_2 1 5 0 0 1 Mount home from: AlignVCenter|AlignLeft showdevice_2 7 5 0 0 Layout6_2 10 240 540 17 unnamed 0 6 Label22_2_2 3 5 0 0 Format (all current data will be lost) format_home_box false 3 0 0 0 true devicesbox_2 10 90 540 130 -1 Single Label24_2 10 20 540 60 1 Please, select the disk partition that will contain user data. <br>This is an optional choice, just go to the next step if you don't want a separate home partition. RichText WordBreak|AlignTop PixmapLabel4_2 10 0 64 70 image6 formathome_group false 10 340 560 90 Which filesystem do you want? Layout4_2 11 50 300 26 unnamed 0 6 Label22_3 3 5 0 0 Filesystem type: ext4 ext3 reiser4 reiserfs ext2 fstypebox_2 3 0 0 0 Spacer1_2 Horizontal Expanding 30 0 Label33_3 10 20 510 20 1 Partition will be formatted with the selected filesystem. Label21_2_4 80 10 470 30 15 Choose user data partition (home) AlignCenter setlabel_2 550 50 32 32 @execBegin @format_home_box.setEnabled(false) @if (@devicesbox_2.currentItem >= 0) currdev=@String.section(@devicesbox_2.item(@devicesbox_2.currentItem)," ",0) if [ "$currdev" != "none" -a "$currdev" != "nessuna" ]; then dcop @dcopid KommanderIf "setText(QString,QString)" showdevice_2 "@devicesbox_2.item(@devicesbox_2.currentItem)" dcop @dcopid KommanderIf "setEnabled(QString,bool)" format_home_box true dcop @dcopid KommanderIf "setEnabled(QString,bool)" formathome_group @format_home_box.checked() else dcop @dcopid KommanderIf "setText(QString,QString)" showdevice_2 "" dcop @dcopid KommanderIf "setEnabled(QString,bool)" format_home_box false dcop @dcopid KommanderIf "setEnabled(QString,bool)" formathome_group false fi @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), next, true) @BackBox.setChecked(true) dcop @dcopid KommanderIf "setCurrentItem(int)" 0 @endif @execEnd @setBootableCheckbox.execute() scanDevices_2 550 10 32 32 @devicesbox_2.clear @BackBox.setChecked(true) @NextBox.setChecked(true) @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } devices=`udisks --enumerate-device-files | grep -v /dev/disk | sort -n -r` partlabel= installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox_2 "@i18n("none (just use a single partition for system and home)")" 0 for device in $devices; do [ "${device:5:5}" = "$installdevice" ] && continue native_path=`get_udisks_key $device native-path` [ -e $native_path/partition ] || continue is_system_internal=`get_udisks_key $device "system internal"` volsize=`get_udisks_key $device size` volsize=`expr $volsize / 1024 / 1024` volname=`get_udisks_key $device label` [ $volsize -ge 512 ] || continue [ "$volname" ] || volname="unnamed" parttype=`get_udisks_key $device usage` [ "$parttype" ] || parttype="unknown" partscheme=`get_udisks_key $device scheme` [ "$partscheme" ] || partscheme="unknown" fstype=`get_udisks_key $device type` [ "$fstype" ] || fstype="unformatted" add_info="" [ "$is_system_internal" = "1" ] || { add_info=",removable" [ @removablebox.checked == 1 ] || continue } if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB" case "$fstype" in ext2|ext3|ext4|reiserfs|reiser4|unformatted) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox_2 "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 1 ;; *) ;; esac elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then case "$fstype" in swap|iso9660) ;; ext2|ext3|ext4|reiserfs|reiser4|unformatted) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" devicesbox_2 "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 1 ;; *) ;; esac fi done @execEnd bootloader Computer startup configuration PixmapLabel10 10 0 64 64 image7 BootloaderBox 10 70 560 360 3 4 0 0 Bootloader configuration Layout5_2 10 320 530 26 unnamed 0 6 Label3_2_3 1 1 0 0 Install bootloader on: mbrbox 3 1 0 0 bootableBox false set &bootable true chainloadbox 10 100 540 170 Multi Label3_2_2_2 10 70 290 24 Please select the boot menu options: Label29_2 10 280 531 40 1 Please select where you want to install the boot manager. WordBreak|AlignVCenter Label28 10 20 540 40 1 Below is a list of other operating systems found on this computer, you may configure them to appear as a choice when the computer starts. WordBreak|AlignTop setBootableCheckbox false 520 70 32 32 @execBegin mbrdevice=@String.section(@mbrbox.item(@mbrbox.currentItem)," ",0) mbrpart=${mbrdevice:3:2} if [ "$mbrpart" ]; then if [ $mbrpart -le 4 ]; then dcop @dcopid KommanderIf setEnabled bootableBox true else dcop @dcopid KommanderIf setEnabled bootableBox false dcop @dcopid KommanderIf setChecked bootableBox false fi else dcop @dcopid KommanderIf setEnabled bootableBox false fi @execEnd Label21_2_2 70 10 500 30 15 Configure the boot manager AlignCenter scanbootloader 550 10 32 32 @BackBox.setChecked(true) @NextBox.setChecked(true) @chainloadbox.clear @setBootableCheckbox.execute() @execBegin function get_udisks_key() { LANG=C udisks --show-info $1 | grep " $2:" | head -n1 | sed "s|[[:space:]]*$2:[[:space:]]*\(.*\)|\1|" } conffile=~/.installer.conf [ -e $conffile ] && mv ${conffile} ${conffile}~ installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) devices=`udisks --enumerate-device-files | grep -v /dev/disk | sort -n -r` partlabel= for device in $devices; do [ "${device:5:5}" = "$installdevice" ] && continue native_path=`get_udisks_key $device native-path` [ -e $native_path/partition ] || continue is_system_internal=`get_udisks_key $device "system internal"` volsize=`get_udisks_key $device size` volsize=`expr $volsize / 1024 / 1024` volname=`get_udisks_key $device label` [ "$volname" ] || volname="unnamed" parttype=`get_udisks_key $device usage` [ "$parttype" ] || parttype="unknown" partscheme=`get_udisks_key $device scheme` [ "$partscheme" ] || partscheme="unknown" fstype=`get_udisks_key $device type` [ "$fstype" ] || fstype="unformatted" add_info="" [ "$is_system_internal" = "1" ] || { add_info=",removable" [ @removablebox.checked == 1 ] || continue } if [ "$partscheme" == "mbr" -o "$partscheme" == "embr" ]; then partlabel="$partlabel<br>${device:5:5} $fstype $volname $volsize MB" case "$fstype" in swap|iso9660|unformatted) ;; ext2|ext3|ext4|reiserfs|reiser4) ;; *) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" ;; esac elif [ "$partscheme" == "gpt" -o "$partscheme" == "unknown" -a $volsize -gt 0 ]; then case "$fstype" in swap|iso9660|unformatted) ;; ext2|ext3|ext4|reiserfs|reiser4) ;; *) dcop @dcopid KommanderIf "addListItem(QString,QString,int)" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" 0 dcop @dcopid KommanderIf "setSelection" chainloadbox "${device:5:5} ($fstype,$volname,$volsize MB${add_info})" ;; esac fi done @execEnd installationprogress Installation PixmapLabel9 0 0 64 64 image8 installInfoLabel 70 50 500 60 <b>Please wait while openmamba installation is performed.</b> Installation time may vary but it is typically within 5 and 20 minutes. WordBreak|AlignTop installTopLabel 70 0 490 50 16 Installation in progress... AlignCenter ProgressGroupBox 10 120 560 300 Installation progress confirmBox 136 45 41 20 GroupBox7 10 170 540 110 Details progressText2 5 25 530 72 Plain 0 AlwaysOff AlwaysOff LogText progressText 16 95 530 60 0 0 0 0 11 Launching installation script... AlignTop progressBar 16 35 530 41 100 launchinstall 0 120 32 32 @NextBox.setChecked(false) @execBegin conffile=~/.installer.conf [ -e $conffile ] && return cat > $conffile << _EOF # # openmamba installation file # # created by openmamba installer wizard # _EOF @dcop(@dcopid, KommanderIf, enableWidget(QString,bool), back,false) installdevice=@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0) mbrdevice=@String.section(@mbrbox.item(@mbrbox.currentItem)," ",0) installhomedevice=@String.section(@devicesbox_2.item(@devicesbox_2.currentItem)," ",0) [ "$installhomedevice" = "none" ] && installhomedevice= IFS=$'\n' CHAINLOAD_SELECTED=(`dcop @dcopid KommanderIf selection chainloadbox`) for i in ${CHAINLOAD_SELECTED[*]}; do chainloaddevices="/dev/${i:0:4} $chainloaddevices" done IFS=$' \t\n' cat >>$conffile << _EOF INSTALL_DEVICE='/dev/$installdevice' INSTALL_DRIVER='@driverlabel.text' INSTALL_BOOTLOADER_DEVICE='/dev/$mbrdevice' INSTALL_BOOTLOADER_DEVICE_SETBOOTABLE=@bootableBox.checked INSTALL_BOOTLOADER_CHAINLOAD=($chainloaddevices) INSTALL_FSTYPE='@fstypebox.item(@fstypebox.currentItem)' INSTALL_CLONE_MODE=@clonebox.checked INSTALL_STABLE_UPDATES=@stablebox.checked _EOF if [ "$installhomedevice" -a "${installhomedevice:0:1}" != "n" ]; then cat >>$conffile << _EOF INSTALL_HOME_DEVICE='/dev/$installhomedevice' INSTALL_HOME_FORMAT=@format_home_box.checked INSTALL_HOME_FSTYPE='@fstypebox_2.item(@fstypebox_2.currentItem)' _EOF fi @execEnd @if (@Message.question(@i18n("Selected partition") (@String.section(@devicesbox.item(@devicesbox.currentItem)," ",0)) @i18n("will be formatted; all data will be lost. OK to format?"), @i18n("Warning"), @i18n("OK"), @i18n("Abort")) == 1) @confirmBox.setChecked(true) @endif @if (@confirmBox.checked); then @dcop(@dcopid, KommanderIf, setEnabled(QString,bool), back, false) @exec("/usr/bin/xset -dpms") @exec("sudo /usr/share/openmamba/installer/installer.sh -y @dcopid &> ~/.installer.log &") @exec("dcop kdesktop KScreensaverIface quit") @endif @if (!@confirmBox.checked); then @Message.info(@i18n("Installation aborted.")) @dcop(@dcopid, MainApplication-Interface, quit()) @endif @BackBox.setChecked(false) endinstall End of installation installlog 20 70 540 300 AlwaysOn LogText finallabel 20 0 540 50 18 Installation completed. AlignCenter ScriptObject7 20 380 32 32 dcop @dcopid KommanderIf setText installlog "`cat ~/.installer.log`" ExecButton3 230 390 130 30 Re&boot if [ "$DESKTOP_SESSION" == "gnome" -o "$DESKTOP_SESSION" == "GNOME" ]; then gnome-session-save --shutdown-dialog elif [ "$DESKTOP_SESSION" == "lxde" -o "$DESKTOP_SESSION" == "LXDE" ]; then shutdown now -r else # assume KDE4 as default (or use KDE_FULL_SESSION == true) /usr/bin/qdbus org.kde.ksmserver /KSMServer logout 0 1 2 fi 789cc59c57afdd46d6a6effb5718cdbbc680df662631988b9373ce6730171599c913f68983f9ef53bbde5525d9966459ddc067360c3d665ab5f22a6ef57ffdebb7dbd3a3dffef55fff785eb2652b7e130d7bfaed5ff2651c3ffef7fff95ffff71fffccd3dfccffa24595fe16fff37ffce39f67cbdfc46fc7f3a4561006068285fd67c5f2d672e4f9ce72b248893f2c679e99e56aa116d18a27dccfdd799d1267747d4c5c804565594505ee979f2b8e165106eeecf551b22871fd545a4eddfdf360992d24389c2d737307de175996b15ed8c5eb35cbdac88bf30fc41a1cd8ebe3242279e7de72e69eaff62de7510c6eb9651e45f4fe5362ba5eec581669b1482ddbfb9328d6919567b2eb4f5444ef9fdf579ca65145f29d58ce627a7e6be54ff388d3f3b7c155b6c856fc202d174623b85e582e13ba5fae5bae2a89eb8dafac58c624afbcb7ac58b6282c872bce162c5ee4f67d7b96a35247b0d71a98315cdf9e807989ebd9367105960bcb312fe8fc16b13b6ffd314b780cf9c416319d178167fbbed9ea374b23b2678be7e731d967b2fe9b15b1207f6cc1ee7e7d64b9e47cc1ecf3772d33777eb2f6c8b8d37ffd06e66c5159ffb4face24570b69cf6bcb9a0b3c2fb0facda394e4a995e5d8bd8f6d121b0fb4fe65e5c9d394e2474d60f33c6edf67f59d673c22f91f88c542d8e7597de439cfa13ffd482c219fee2c17ee7dad8d97bc1411ec391d5aae128ab7f9ccb28829ded425d8ddcf62b0301ebbe2e6deb3cd2fc2ea2f976ebdcd022c4c84d9f36fc46964e5532f9695f14ffbfce9c0b28e499e07464cfedf419fdaf89ff58f6e5c71b170fecc2e2c4729d9af3925a6f3cd1a586491d5676dd75ba46281f8acadfc4526e2c8c66f238849fedae68b224f28dfb0c47221ca18febd6199890afae86c7e2b8cff4489b5c7b1652118ce4f3796654cfe3ce7e0c4f9b3cdbf8572fed1623daad2c82fccfa6fb9e009b8b1f158462efe3b1bbf659c507ed3579613a37fbb7e6efdb94c53d2af5c828d3eacbcb3b56f59262e3f6d800b1dc3ff71be4a5cfedb040b9340ec796bff92bbf353615938fd35365e4a99e4e46faf9695d117ec61e3b9d4ce9eaa01e7a49f6e1d5ca50b2b2fb7fe5d2da459b1d5cfb3e528a7f7b5c76019c5d67fb9e33829ad3cb83ec95dbd7b071709fc415e818dfeecf5b38dafaa48285ef83a3873f588832b7a7e5d834509fb3fd8fc5695eefef91cecf2477307965962e35ddb78ad98895ff8a3adbf154fe9fed6c64b2513ca7f8d04cb38b6f1d8597fab7429501f671b8f6c9150fd089fc139c59fbe060b1edbebd93a5856b41e2b2ff3fad4365fb0d85daf7bb0396fdf1fda7cc5929cfc899f8025c3fa1e6cbcb1d4f94bfb0976f6e7d69f5896d1fd0dce67d218d8fa87d507cb4541f9e58e98c536dff107b0e429fcdbc60f2b9dffb33db08863bb3e61e38f55ee7e0d792b93d0acbc13f4c7128a5fa5c099abbf365e192f28fe266b6f2672773e0117e606cbd09f34f5d2e6ffc9f60f4c25d42fd431b870f6b6f1c774eae26704f38cf2a3ad4f7c5146888f76021b7fb2eb11365e789491be6b5bbf79ecfc5727c4140fb3d5074fdcf9f0065cd07a440a36f910ebb5fec3bdfd1e3831dddfd97e8e6729f99fb6f6e47946eb91787e5e4511f46df3232f5c7c88126c146ed73b597fe3a57bfeb800e7f47cf90c568b0cf16bfb035eb9ebc506581689d5d783ed873873f9b77924a6f810908f65649fd1da977377fd9c5916a9b3bfe31cfd6e734cecea6f414cfedded12937f69c8239cffcf23b18bdf065cd0f583cd575c3aff981be212fed03c1093ffab3db07bfe007b2827cf5c79b6f1dd06c4eefd4b7049f619705ebbe7cfafc412fed9d8fe472cfcf99258523d9b895d7d5c1093be259d77fa6fad7f0a5fef03092e487eb5045726e1dbeb6d7e10b17bded4818dbfdb7c3587e09ce6a3701d5cba7eed9098ecdb8057e5163c1193ffcf36be8c3b64e8dfe43131bdbfb3f951642ebe9a9198de273ec1a641b0f5a3b9052b53712cdb78123e7ee688b8a07ef7006c2c867ac7c1c6dfd14fd0f5aaccecf5bdcd3f263d51be995e8915fa3581f717a5cb470f605622ff37361e4599917f771131a3fa734aac50ef05f45daa2ab7fed1c31f2a9fef3b6237efbc13733c6fba07e7b4fe50834b773fec57a904f97fb0fda76019f95f7d43ece68b337011235ec6736237cfe279ccd443cc27b00fcfa8fe0ea7c4e48f3de437ed3afaf5f9823842feafe1cfbc74f148e74d3f8678b1f94a0873bfcd1ff31d718e7e7cda23ae70fd60eb9590cebf66f8a374f52780bcb270f3ee15d8f803fa0b3b8f09e5faadf69698e63985f8d2aebf1a8e89c95ffb3d629a0794cd6726f85d7e0c88297e8633629a9fa72362d2e774052ee2c8d647c1c04a64b0afad3f3272f69ff78805f5fb1f60c913ab2f89e7c739d973704cfeda34c482ec85e79bf108f9a3bb059712f5a9b6fe207d7fd33e1293bf0fafc48aea730f36fe857c60ed63d235d9bf2fc00543ff192cc025e517b10676fea707b01918d0ffa6c432c7fc67fb6d9915344ff61531cdfb21de97556efec5f3f29ce2613a26a6fd95e913eceaff70481c53fece8829ff349ab85a60fe498915f245afc025cd279aeeaf5cbdb7fd845c851fecbb465ca2df0b5b70e5e6333aaf74867c69fb6f597a79b68839cdd3b057e9f43b2c8973f433fa146cfa69abcfba212e13c49b8d6f5915246fbf4eecfa8b8998fc7f1a88c95f07c8cfdcf93e2676f3db823887fef93db1cbcf6b9eadfdfbc433f2e906b1a079fe9cd8d59f6d7049fdd480f571275f774d4cf1c1d788291ff7079eadfd46c41f2f5d3ddb242ef0fc1af1c0e522b6f1cc6dff2f85cb47c38167e457d84f940cf384823f99844ffac57a858e0aecb7ec3b2e6dbc0fb85fba7e6062c42ede06628af711f69025e5d3f1999863fe1b3f8925f2d114126bc83722dfc96a81796f3c238ee14fe33d714af96483388f613fd85b39f9064d2ca87f3cf06ce34dbf102bb27fef19fdf10836e6b3fa9867e23cb6fa1d2e890bd4a331242eb11fd0207f2a55a07fe86dfe97daf59b1af1a24dff87f8bd27ce115fc38767ab8fa127e698b718fc4d57e4efcaae5ff9f9a53f264e17f6fa2124ce302fd53db144beece8fe2a83be9b8498e2b9b7f2a9c8f97fff0e76f11f9c822bd78fd7601641dedefabf8a5dbfabde3c5bfbb421710e7955445c42ffc33e7105fdcc2f603390d8f5d6f4fc8af60b7adb9fa8c4c59312c429e5834f628a777e475ce2fd13276688ffdefabf690629df8c17c4a4ff3e2276fb1bdcb3954f8cc48cfa657a5e95611e0fd688a97ed7d0676ae6756b9fdee61395f9f7dd12533c8f6bc4945f06452ca13f71e5d9be7f18c06660c3fe143d9fe5c82f7d4bccd03f331b8f2a37fab1f61a97c44ede0db031bfbd5fbd1327d0dfb0e718f1326f11f3c45eafd789ddfe17de9fb318f56284fd0bd79f7617c4947fe448aca97f3a00bbe7f5587f5952ffdb7f1093fc9d3b4ff139c29e6545f9bd7d232eb01f3ce4c412fd647b0e6602fa6a214fa9930af5d2f6fbaa72fd6aff464cef1fe10fabf041fced1347f0c7e08cd8dd0f7f65a55b5f40ac687df03fe69ed70b628a3f79e819f9ec9a98e2a5de24a67c11d2fdccd5fbc27164f5dd3e837984f50f2371965b7902e40f5ebafcf10836f2d9f3dd39b1cb5f9fc4146fdd0b714ef9c05dafd1ff28f80b77f24d0be282f69fe87ea612ebef7d0ae625cd4fbbc43a41bcc35ec2e807f22d8913c837ac11533c8e976046f56b3e21ce52f40778bee07186e7c1dea6a1217d4fc415f4dd43ff522c20df40e7cd848dfa08fd4999627f2a803f2bafaf8298e46bbf30fce38998c1bf3a773fc5537fe919f502f6542c427d1b2431edff0f1931f597ed0d31eddf378817c573ec870f3bc40cf3b32679a44cecf50ae77555923c27c46e7fa222a6fe497f1073ac47c7c4f4bda92d8935ea6987f8d0c65fd07fac1347e857da03625a5fc888293e7a0d36131ee4473ed29225e01b629d229e894d41c77e8a5d9f5e54f47d3710c4d42ff62331c57b58839d7f377b9e916f0e8973cab76f8e91bfe698b8ccd1af1d105731ea7f40ecbeb7ec82573b84f67d0a2c2a709f83658cfd143d13e798873b3b1feac8ada74b88295f7525b1cbd7585fc45cbf7f02e605e2a7966021b17faef0bed57c8afd729bbf74ecf5b54d4cf9bcdb2776fb5feb60e6e68f67cf365f849cd8c5cf2e7189fd97f18558609e9d6f896586fdef8858231eba77304fd0af0e903f361332fcd3e62f532ddcfe209e973057df3b6209ff1c52b0791efadb6d62eaf73b9b1fb4ef27ba09ccdcf7f288d8ed5f4b62ca47dd3171897add5f1073c4c3c88925cd3ff0df94c7d047f04e5c605e0dee8805fac1ae2356b1bdbed900cb3cb5dcd1f592e5d87fb3f55967ce7e21aecf9cfce10331f94f3811bbfd8a756201fb0d379eed7ada8e58d1f7cc5dcfd65e01d69bb9f531d82f1334dfea86388bb07f00fbe44edfe113b1db1f92c4645f1d1053bc0c8c5840ffe115b1843c1d3dcfc883fdf98438c9adfcf325719aa3bf7a2596985f263a2fd2d4facbb4eed9fa2b3b25a6fdfd11facd65061e88cd04017d3e1347a84f9d20ceb1dfd41e1157880f293ce3f70b8e8d0aed7aa1ffc2e9a35f1273e4bbfe9458101f7a46fe433c14c6bfec7abb2db090c8171dd65fc832c5f779e4cbd2e7f7899853ffb3e519f50cf9a6e409fc5fdd83459960be60c40cfd7b8bfc53ca32b7fa6d908f4b9561fddd26718e7e89d3fbb5c03cdec2df2b978fc21762ca175d4accd11fb519d8b83bea73e219f3ad639622df4fc41af6096dbfa999f3cff091d8e58799b8c23c1dc4c44e9e07cf58df81676b8fb02376bf57382496f47b0ed41766fc1bf9ed9db8247fdf27d6d8af6b604f2632e497b621ce910fdb6de202f38d227905277b7d100bd86b443d32e1867e563f1327e827bb10ac52f8fb40fa510af6d2a8df4c6719e62bd43beef4d7c6c4257d1f4a882bf497a12426fdf00d62cae73df4cf9d3ec24d620d793bc8cbc502f37b784e1c637d61e919f58813537d6a73e214fec26f8905e6d5593b463f3b217eb92c33c41bf20d576586fea22156d007837e85f397567946bd70ecd60b7f37fd33ea737746cc307fd515b1a0dfdbec102bda0fc0fa85d347f34a9c62bd6220aee02ff3bae302f23c130bece704e79eb17fd67ab6f2b5b087900be85b7d1097e86f45465c211f8d3131c3f7564deb33fd0d7ecf7047acd00f35c82fc2942bd4837be238b5fedd5e1057a4ff3762817adad3fb4d4540fee5c415ea87863da5d37f7847ece64df8bfe4f43dbea98869ffab2ec0c69fb0df78499c51bf49d7bbdf030d253143fcce4b62097d8cf0372923f8df3813e7d81f68dd7995229ed01f1b847dea8eb8a07a44ef37fe69f34b0fff947a91617ff591581596d9a767c433f295f2fa792576bf0f7820a6feb377e7357dcf857d158fc0f511b1c43c2be18f4ad0f7fc96ee37fe8afd870be21cfba1434c2cd14f314d4cbf3f1a50bf94f147c42fc9675e87fdd413e204fe3a35c4658679e18a58903d68fd52a27ed5f07f65fc0ff9a3f78cdf2fa6c4648f76499cc35f9b73c7f057754d5c209e6ae85f69fa3d4278494cfd73c088f302fdda1b31a3fa101173cc3ffd0eb1c86dbee8493fc6c3b1bf7a40ac18ec8b7ca49d3d6b46ac31bf856f9ef1fb9fa567cc475fae47bd84beb549ef38bfeb19fdc4197144fbd57b9eadfc614f9ca09e068967ab4ff9e819bfefe1c4f4bdbe597ab6fa55dbc4b4ff5c079eadfe8275c78877cd3de3f74deefd05fa6b551297f4fb4de698e68923e28a9ef74ecc50efd596677cef7ef06c9fc7371d537d1b8939dd7feed9de2f0f3c5b7dd64bcff0df1dcfd057414cf381def70cffd29e31bf3a7dd13ca406cfe81fdcf50ae7f59b67ec5f6d7ac67c94116bb0a4f78b05ea9bca3d23bfd1fa4cbec0fb761ca31fa81f1d23feb9f26cf513923f8a98d6137ac6fc507b867f70cff89e78ef98fa4db2a748489f1b9ead3c92fcd9fd1e561f7886bf9c3a86fc8af421e8fb44fd424cdf2764e519f345ef19bf8f14c4348fb24bc7a8c7f38de31cf6207f37f5c9c6a7dcf50c7f70fa2b51bfd5b167cc83ce3e25f25d4ff12c68bf45a59ead3f04ce3e0ce765e919df9bf73c5b7dceee7d0cfb49835b3fc7bc233bcff89eb2464cf3777dec19dff7773c633e72fa97607141ace87b62e219f9a6f08cfd904dc7f89eac9dfd558e7ec1ad4fe3fa21f28cfed0d95723ff4bd4172d1738af9e3d633fb421267f97db9e310f6e3886ff0bca0f320637a167d4d74dcf888f77cff8de70e63843bfbfedd9ca3b3e1127789ecc3d231f397953707de219df8b7acf981faf8933b0a4fce8f6dbc49967f853ea18fdf8704b5ce0bccc3ce3fc9d67f45f478e0bc84ff16ffa57e4a317cff83eca1da39f989dbc65699fdf907f987e17dfa33acfd8bf1b3c5b7f9a9d7d2bccc3d2d983f6579bc0337edf72ea19fee7eccdb03f2bdcfa5881fd912bc715e64de75fd46f73ca07eef7aba3f06cfd4f6acf989f978ed10f4d3b9ef13d5e79463c38ffa3fd6ed17ab6fe3a3af925cd57179e11cf9fc40ad70be75f0afbcd53e4b840bfece4a1fd6871e219dff37acf9887c97e6a011e4f3d231f2acf98972bc7e8af830dc7b0df48f635f30aee7ff50c7fbe709ce3f7b6141fa67f44be7cf06cfd9dbf7b46ff4ffea812f0f8ea19fb5db563f4973c725cc15f0f3cc31e941f4dbf8a78b9f68cbf0f70e519fdb0748cef1993d317ed0fe82dc715fa69aaff2ac3fd527ac6f7ad7bc7d8bf1b9567d8dbad27477d1185675c3f3a267f7cf60cf99d3c7985fa42f5c1f4dbf679fccd33eaffad67c4c3a6671b0f8193a7403f3d4e8e313f0bca27aaa4f9f8cab3bd9f5f7ac67ecac27189fd47aa17aac2f5f2cd33e26fdb31f43fbe7bc63c47f942d17e977af40c7d6ac7f0dfc9f92fe58ff1c37181feaef78c7ce1fc8de3fef1c833e6e1d071897e95e25509cc9fe2d0337e0feafc99e693d1ad4f14f8fb184e5e51597d8ccefe942ff885677c6fbaf40cff77f228b0509ead7f4ee79e918f9cbf50fd0e179e617f172f1af7d7179e118fd79ea1cf13c798a739add7cc77d0ef8d67ebafecc433e22d710c79a6d8b35def347bc6f3fcfd88f796d6a3233c6f7af20c7d1f3bc6fdb33f0ffb73d28f8e291f3f79b6f7b3ca33f281744cfbf35f18f174e718fe51a79e919f1e1d57d8ef227bea04cf17d233e2ffc633eae1a1e30afa72cf4b293e969eb17f70ec19fdfdbe639237770cf9d8956366edaf3acf98a7c9bfdc7e685b7b467edc742c104fd4cfe81ce759e919fee8f493c3fee3ad67cc43cf8e4bf4bb4ebe82fc453b467f320bc715e603ca5fab1f6059969ef1f7639e3da37f73fa29b11f51ef3a463d61af8e99d55740f941537fd35c7846becb1ca37e0754ff34f5fbfcd433f6733f3ce3f70efefa12f238ff64d8ef939e05d647f9c3ed8f30e119f3b1b337873cda5f2facff04cebf04aee74f9eb13f71eb19f1e6e24f94563f815baf1970ac3f3bff1412dfc75d3c4b3c2fcc3ce379cebf24f67f26e73f12f1c49cbe15ae0f8f3d235eb9677cbf9f3ce3f78ace3f15e23f74f652a8e761e519f5dce507da3fd2fe3c87fda9df300e8afdabc933be37a59ef13decc833e2f1d333f4b7ef19fb35a363d88be59eb15f75e819fefee57ac433f38cfdaa3dcfd8ff183c431f8967d8c7afaf40fc679ea1efc033d6bfeb19fed47bc6fa63cf980fbfc88ffd8d2fcfc7fa5dfed3b07fb0e319fed479c6ef616acff8fe1279c6dff7f8f08cf8083d63dedaf60c7fbff68cef05ad67bbfec0af1ff1c9bc3e4bacbff28cefe9af9e516fb73cc3fe8d67acdfe53b8d7c3f3c79c6fabdfcc87741e919feb9e919f3a7970ffe1ebc78c6dfe75d7846bd7ef78cf55f7ac6fa0bcfe837bd7f631ee3de1fe9f773de1fd0efb07bcf58ffd233d6effd1df1d77bfb30acffc233fa25bf3ee4e7dafb3b83fdef3cc3fede7f18f29db717437fedfd93a15ff3f233d8fbd633d6f7e619fd90b707b3ebe33e9e38f6effcfbb95d0ff3fece913f7dbc20df08ef3f1cfd9fd73fea01f7f983437eefaf1cf1ebfd99a3dff0f6e7b097d73747fdf6fae390dffb27c7fe985f1fea8ff0f126d00f7b7b0ad8c7c7b780fc3e5f08cc833e7e05be67797f14f8fba9cf9e610f9f5f51bfb8cf0fe83f84f72f81f9c0c78f84fe7dbe9390cffb97847c5effd2beef6cf9df7bfcaa0c6110b2909b7f9be3bf4306f35e11ca509943ff5906f35feab0f93bb2fd5d19ccb3dbb0336fefc3211cc3299c7fff36430fe163f8143effbc147f4706f3d465f812be866fe17bf8117e866b4696f5afed61feb46124d80cb7c2ed70e7672df5f33298e7ed9af7ab702fdc0f0fc2c3f0283c0e4f8c4ca7ee4d5682b3f03cbc082fc3abf03abcf939297e4e06f3a4dbf0cebcff3e5c845118878991210db330373a29f02692a00c2bf3c72060010f44207f468abf9661150181f1bf400775d0046dd0057d300463300573f0103c062a78721204cfc13278095ec3c85cf316bc071fc1e75f4bf16319cc82d6561110ac071b667d9bc156b01dec04bbc15eb01f1c0487c151701c9c04c61ac19991e03cb8082e83abe03ab8091323e56d7017dc078b20fab114df97611501416cde9f046990057950046550b130b8610163e127e34c30c914d3ac664d78c65ad6b13ed86443d0992bc6300d0ed9c466f6c01ed9d38fa4f89e0cec7915016cc95ed82b7b635db064efc62803fb609f6c8dadb30db6c9b6d8b639b6d80edb657b6c9f1d986b1a16b2c36030321e0547ec989db05376c6ced9c5f7a5f8960ce6ea691501ec925db16b76c36ed91dbb670ba3e580452cb66ffed691b0d478e30ecb581e1cb0c28c62150f79c019e7666c92df93e28f32b808e08a6b5ef386b7bce33d1ff818bcf089cfdf7d3f1dfc813f1a4b1df127fecc97fc85bff237fece3ff8275fe3ebdff6cf3fcac037ccfb37f916dfe63b7c97eff17d7ec00f830b7e146cf2e3bf92c04a71128c66e1a7fc8c9ff30b7ec9aff835bfe1b7fc8edff3c5b7a4f8bd0cb612291ef198273ce519cf79c14b5ead3c52843f2301db168160820b21a450428b5a34a2159de8c520463189f9cf52fc4986207c110fe2513c8967b1142fc27ba478fbdd9bdec587f8146b625d6c884db125b6c58ed8a5737b625f1cb01371288ec4b13811a7e24c9c8b0b7129aec4b5f853f6fcb33f88db50893b712f162262d72286478ae42b09b6442a3291f3775198952a5689525492f42403c9249762e58d524a25b5ac65235bd9c95e0e7294939ce5c3d7527cc3278390cb47f9f47b8f94cf5f64904bf9629efc6adef0662c7ececfe4bbfc909f72cd9eb59e2737c27ce58d22979b724b6ecb1db92bf7e4be3c9087f2481ecb932f52fc3936cdfda7a192675f3c529ecb0b79f9950c57c6c7aee5b53832ef79e14b26e58dbc9577f2de9e5dc848c6329129bc51663297852c65b54af88a9990134a2af547199456b56a7ced0954cb96aa8347aa5e0da152e31719d4a466f5206af5c843f5c44a7eaa9ed552bd7cb1957a556fea5d7da8cf95379ab36b6a5d6da84db5a5b6d58eda557b6aff8f32ac72b239baf0561da84323c351a0d4b1785127cae8449da97375f1b547aa4b75a5aec5a1ba3139e0993fc9dcbce9f6abf377ea5e2d54a4e29537aa44a52a53b92a54a92ab5ab43f8c31ff470a4835069a6f94a162d42ae4da5d22bb9ded4b6697e6bdde8f6f731a83bddeb418facd0933893b59ef5039d79d44fea413feba57ed1aff046f38437fdae3f8c049f7acde9fb6b1956acd7cd5b37f4a6ded2db7a47ef5a69f654a9f755ae0fe4ae3efc5636d047fa589fe8537da6cff585bed457fa5adff02b51eb5b7da7eff54247f04655e8d84890e8f4f7127c2d839122336fcd75c1533384577558073533dadbac792d6457cb5a7d3f33d5baaeeba66e576fe76fe2c834305a1cd65dddd7433dea5a05f5f46d09bec405fe7b3dd70ff563fdc4f7d91b1feae77a69a428ea1759aa449cd7aff5dbf7a5b092bcd71ff26df57613b3217f6127f567bd56afd71bf566bd556f7f4b82af6393ce2e0355efd4bbf59ee917aeeafdfaa03eac8fea63f55c9fc8ba3eadcffe2a57d7e73cac2fd8897aaa2f8dc79ed557f5b5da3512dcd4b7f55d7d5f2feae84b04aea4f93a3f902ee250d6499d9a3f5ed7599dd7455dd655138ab3261079c31ade881f4bd148f7762683a34635bade6aeaa669daa66bfa6668c6666ae6e6a1796c6c6ff38d7a1134a67f6996cd8bedc8f683c3e6b5796bdebfce8dcd47f3d9acfd408a75360547fcb4d96836d56eb3d56caff2944a9b9d66b7d96bf69b83e6b0396a8e9b933fcbe0a5380d779bb3e63c18c3e3e6821d3797cd55736df2ee57b9d1c876d3dc3677cdfd3764583451133749933659938bb62964d394c6ab4c9668aa366cc63668594bb3e277faa8a015ad6c55abf9695bb393306f9bb66dbbb65fe54656ad7263781cec85513bb0ae1ddba9fd4377d33eb48fed53fbdc2edb1791235bcaae7d6ddfdaf7f6a3fd6cd7be78c4b7fb492bc57af8d86eb49bedd6aa06b72fed76bbd3eeb67b2e3706fba66fdc0a96ed7e7bd01eb647adef70da93f6b43d6bcfdb8bf6b2bd32ba3b3123c1b57a6e6fdadbf6aebd6f17dff7c9df4bd1466ddc266dda66f639a6feb5795bb4655b195f33b9313c08aebbb0334db43d78273ab992a0539deeeaae6193f1ccd0788fa95c5ddb755ddf4cddd08d5fbf1f31fa7d19baa99bd576f7d03d764f261e825505ee9ebb65f7d2bdb2a3f0b07bebdee9fd383ebacf6ead5bef36ba4d338b66ab7eb2be508f52765bdd76b7d3ed767b5ff2c38ffa87af64d8ef0e4c9d3bef0ebba3eeb83b11e7dda9dcedcebaf3eea2bb34eb62bf3baebaebeea6bbedee821da3a171d5d9af7adaeebe5b7451b76374107febfd7f2143d2a55d668fbc2bbab2ab5679bfcbfab00f7ad6f32fefef452fc575af7a6de6bcaaafcd8493afbadabee9dbde6404f3cfd0de7dfbfd3f96a11ffbc9d41a7bf473ffd03ff64ffd73bfec5ffad7fead7fef3fecfb3ffbb57ebddfe837fbad7edbcc205b66d6dc0d0ffb9d7eb7dfebf7fb83feb03fea8fdb8fef49f043194e7aa3fbd5d19f99e3bcbfe82ffbabfebabfe96ffbbbfebe5ff49139e23ee9d33e438531d366c33e82becffba22ffbaabf30155b2b33760ddf95e087b630835d77ea0ed38724a6232b063e88410e6ad0433d34433b74433f0cc3384cc33c3c0c8fc3d3f03c2c8797e175781bde8777d3379863f8187e307f7f5f86616d581f36860dd395d3316c9a8c8ba319b686ed6167d81df686fde160381c8e9a7438aeb78693e174381bce870bb55e8bd561bae96ab81cae7e4986ebe1c67462740cb7c3adcc863bd3a7fb63b81f16a6577c1ea2a61ce22119d2211bf2a118cafad854da35d33f7543b5faff5c19c3f1976c31b2919be9e4d4e4177b985efa6614a66e99c3f44ce618e5a8446f6a7a03ed8c7aac8db636e4f6d8ac648374a64e1463fb6b32745763274e46131ea643f7c73898da690e33c135e3384e4e27e33c3e8c8f2b8dc9adf6babd26d9ac74e3d3f8fc8b7a588e2fe3abbc36b9d61ee3dbea9052d4ee18dfc70f7d2ef56806497eb3d295c9a69bab4374a652c25e77c682b7e3e72fcab036ae8f1be3a6a9166f3878b03ad4a3e9d5ec316e8ddbf2751c4843bdd1da8ea991b9992ada95ad56d241b671f71765d81bf7c783f1703c6a4dedf9fa10aabe581de3f17822e5b8aa4aabaa766c6aab39ccf463ecb4b2d7780ae98c6c67bf268391e27cbc182fc7abf1da740c74d497ab635cd5efe5783bde99b9d668a8bd3213b639cc84f9063bad64fb22dd78ffab32182916fdfb188df1988ca9e94dedc126734853159fc76ccc7968b4743116a6c738341dd6ebea10da743a56b6b16cafc6cdb19a7e29369d1453605ec92731492682c3af8e39cc263569f5c4cfdbad76cbf4d137a6c77ba92f8263a1c86a17e270aaa7666aa76eea7f450627055f9f86699ca6690ed3f0c81e9f38827e7ae067fccc747bab717ab93aa6c795ad56569b9ea6e76939bd4caf6330bd4defbf2683d7c5c7f439ad4debd3c6b41926e1c1ea6099393ea62d7eca4f8387e06875f067264df7b4b257396d4f3bd3eeb467debf3f1d7cbf6effb50c5e8ac3e9683a9e4ea6d3e9ac37e35b188591a98fcdf0c47878cc8e4c5f9505b3e9318d9558319d4f17d3e57465de7f3ddd4cb73f96e0e7f6ccad1477d37dbd3e2da6687a089ae02ab81a9e4ca57e090f591e8cc1beb58eb1d3149bf727533a65533e1553f9bddee9efca405254733807339bf92cf8c84c2b55eff1d1b4548139b2957d6639ab59cff5dccceddccdfdcfbcffe7658014f3308ff334cff3c3fcc80f79cf0ff8c042f6b1b2ccfc343fcfcbf965361e38bfcdef7fee9eff7d199c67cc1ff3e7bc36af73cdf7c50bef8d45aeea74de9837e7ad797b1501f3cedf79ffdf93c14bb1dbf4f3debc3f1ff09a77f3e17c341fcf27f3e92a02e6b3bffbfebf2b8397e2bc19e78bf972be9aafe79bf976befb7304fc9d2f8ebff05d6f25c5fdbc98a3399e93399dff4604fc6764f052e473319773f5103e043f1f01ff29199c140fec813f8807f92b1ef0efcbe0f78d827ffffdbf2ec39fe5f8d5f7ff7b327c91e2df79ffbf2bc37feaf8e7fffb9ffff8ff5ccd2287 789ced5d5b53db4c93be7f7f45ea9dbbafb6e6b32c5987dada8b70720c04128209646b2f66743027070810025bfbdfb7d52dc933a3912c270136fba93a60da927a5aa3e7e99e9326fffcc79be30fefdffce39f7fddde89bbb3f84d7c2abebdf947723f9f3ffee77ffdc77ffff5b73718bc09bc374377f066f8f7bffdf5379fbd89dfb0c160e00c06a85f14fa9074b18fba37080678be9ca03e1a84030f8f9fa11e0ca2c1087507f5702007019e4ff6c5201e84a80bd453282ec6f333d433c719a4a89fe4bae338ae83e5b331eaaee339583edb43dd73468e8bfe5ea23e727c07fd911275df091df4879fa21e3a9183fe081f75e1c44e84fa77d463277124eaef514f870327c1eb37727d38183a4e86f6dfa1ee0cdd21d5cf08f5e1d01b3ae8df17d45dd0a97eef51f786a321f9fb80fa68180cc9df5bd4fd6138447f19d6371c0d873edaff887a349443ac3fb6857a3c4c86e42fd94f86e910eb53929e0eb321fa2f19ea99eb0ca97e835c771dd775a97e87a80f4127fff1fe41f35cf45f84a87baeefa2ff6c8abaef062efa2b63d4033772c9dfafa847ae70c9df0fa80b57ba58df92a31ebb898bfe4bbc1fd03217fd6758bf6eea0d5cf45f60fd7b03cf71b1fec526ea8e37f4c8ffcfa87b9eefa17f721bf591177884cf0875df0b3daadf75d4434f7884871475e1498ff08078f5622ff5d03fbe837a22a381c0e3f35c1f0d46430ffde158dec891b183f527cf511f8ebc11d5e72eeaa35130427ff815eafe281c51fddda11e8ca211d61f3b465d8ce211fac327a44b49f8e7583f2309e5a13d36403d1ea523f2f710f544a60ed6bfb8413df50723c233f993c9cca1fb417ef8037f38a2fb413cfa8eeffa58bf12f909dac8273ce0fdf99eeffb58df02cb072df0a97ef1798116fa743f88773f8a87845786fcf3055417e2917f2a74b7c02f3e1f5fc61ee19753f9b19ff874bd8b7ae2673ee125223df609cf129f8f9f06039ff083f7130c032fc0e721309e80e607c447d247714078e4885f381a06743f21e9709ce21fc68b2008a200ef8f23fee16c11209ed80fd2e3c8a5fbc3fa82b36540cf03eb03b424c0fa67882fd0b280e221f225c84227c0ebd93de9b1f4287e227ec241380c880fc8c7d089b311ddcf37d487a117e2fdf203d2e3c4a3e78d780ddd7014129e12d4fd300ce97e112f6114a7845786f80b452843c2e37bd2a13c8af78fa427c311dd2fc65f383b09e9fe46a42703c2b7407c8671e28c887f18bfe1ec2ca4fbbf463d8b9c10ed49accfc889dc88e22de225729321e1935d17bae7137ff17e222ff223aa0fbc9f68140511c55bcc57a04511f983f107341951bc42fc80964474bf53d29380f022111f511ca511c5df5dd213bfc027c66bb83a8bf07e38d94f92a8c0d31aeaa91844884ff6447a22084f0ce3b518886144f11a9fb770842b08df783d6823417cf450f7e07ac23be61f381a088a7feba427055e052f7449f86118ff842f4241cf53909ec421b507480f4424c83f7c7e70b6108477ac6f382a05d5df11ea42c402eb8f61bc062d1514eff17e45223241fc0d484f52c297bc263d1d44143fa9fc540e04dd1fe241644956e00be39774a42b880f184fa52b4792ea07f39bf4c01eb51ff0f9c3d14012bee9fc51ead2f364d87e91be0c253dafefa4a70ee147c485eed1f365d85e016b4252fd209e6524a5a4fac0fa062d91e8af443cca58a692e20db6676402e553bc3b2a749fea5b627b4c66b123090f3ba4c3717a3ee85fecc4aea4f88df7130f632fa6fa43be80e6c714af9f4887eb897f6ea18792f885f12286781853befa487a1ad0f39518df631f1e27d947ffe0ec2826fc30d2d3909e3fc7e70947654cf541f6451cc7840fac4fd0d298ea639374a81e8a5788f73881f2e879be2df4b8a83fd2d33491943f100f71963831c58f31e9608f9e37e693c449dc84e207e67bd04609c543ac9fc44b53ba7f89cf138e06095dff9674288fda57a59ec5c42fcccf899f8409e107e32d6822a1e789f13289e072ca07f8fc414b12c233c697046e30a1fba3f3e30c223c1ec7f80e74c962e21f1d4fa0b947f783f13749d34142f1e596f4cc4b28ffe1f5e9201d2684177c5ee930f552ca1758df2934c712e223e62b38eaa714ff12d2a13c7afe5ea17be4bf24fb809794f82249cf46c5fd20dfc15a9852fb1cf906674729e553e42b1c1529e113f10547654af585ed23381aa784af7dd2b3c23f86f916ce4e53c2cf67d2c13f2a1ff36b1a6741513ee6a7142a28a5f8b4497ae653fdf11f855ef8c7301ea7693648e9f871a117fe726c2fa459e6a4c457cc9fd9201ba654df985f32277333e2ef49a187644f20ffe1e828233c627ccebc2cc8a8fe4b3d2cca5b2f7451d8c7f658e6676146fcfd5ce849610ff90ed6a28cea1bdb6370b6c8c81eb6a7e0a8ccb0be393e5f381a6754df183fe1689261fd72cc37705492fd8f187f32a8802c26bd975e7a69929e23bdf4d22e3d477a790de18c0b2e795c93e4b53dab4bcf915e5e5a78ca333e6b90d3d7f6ae2e3d477a7959e167fc1cb87061959e23bdf49273e41233869d253d477af9171760c8bc911f7d1ee9a597bb228f3471a4cf23bdfccb0b30e48c7fedf3482fbdb409b4b6aefa3cd24b2f4d8299e48c5ff31bfe0de4b6cf23bdf46293822967fccec823f7afed595d7a8ef4f27a021cf96ee49187d7f6a92e3d477a793da971a4cf23bdf4a2c9ffcf3cc27ff047fec4dfc2cf1a5f7f6def7bf9b3c5c2918dd7f6a92edd38c2d7f926dfe263fe8e4ff836fc4cf80e7c6ef35dfe9eeff1fdd7be0b8bc71ff847f0f8807fe287e8e921fc75c0a7fca8bbb7fc333fe6278dc74e205efc80df5f7eabdf03eef021771b8e7a7c04c71d3eff69fb3e9f83fd006c843cfa656f3dce18fc638249ee598e8f58cc1296c24f66f3d9e088754d230fd98c9d828d949db11978de50371d3d8ed83993ec825d82bd394bf81dfbcaaedaaf59ce11fec8ae810b3b2013fcbd90093206d8c26ef8db0efefd60dfd82d3ffbd527b3a4947576c7eed12f62f24ec569f2799b8fd9f7653990477c8b3de4ec62e0b57a843db227b080c7f0f803fbc1a7ecad0d232bf93d606b6c9d6f2052eed906d78fba6c93dfb22d362624b1776cc2b63b5af6d836a06c87edb2f7fc9e9fd20a5bb6c7f6d9079eb18f6d7600c5013b609f74e1417e841db2e962c52efbc08ed4fa83a39f0b6f8b15bdec989dd4ac9b79e454b1f0097c9e6a36f272beb001603b5cb1761de6f06f5003fba63db038664396d7efc07e6d3b4798c74688304299f9b953e12f47de017f6cf1711d324e9e81b699cf37f57a02e604fc3d0b81898720bb2ce207820bc68f57ab873cbab300ecefd4fc9c54df95daa1106d3c115ce1d63bfea1f85642349854bc5bd8836fd88388db79c2e7221129fb2232436650d33336349f9d3865e7789d0798b8afaf231767e25c5cb494e7b2585c8a79c98a66115fc5952dce036b6b5ee1f9d73c1437d5cac4c5f773ee60c9df2bf65c68675c88b950224e531e11171001be54164c2b794999b8ed1223a0ceef982bccda5b94a87aff5d3c90ffbab47144fc0074a859a3fea9679609e0ae214b884764c80eb5d184ac30fd1dda40dbc5f70bf46d17fa8178eade96116fc15693bf3aa7e9af4f62ada166cfb4abb705b289dd15f531d1ca503416b2469600aa361a10ba096d95b1f6bc0a4440d4dbe64ca4fab7157272d960336b69013c6fbd3c03ad0636f3dcc5f53a105bd6b3e17c31d638a0f8c4b6c43b31ae5da596beb1c0b6655ceb94a7e25289f5e65a15dde7733169e1872bb68b35c626db9a56c2ccf825ab61b889237cbd42f5c4c099f99d1ead0f6cd1195a2e8b489eff6ce1b79b153fec78a6f6d127b1d38521908bb6954c675aabe73e622bb7b19a3dea7709ada948ec563d31bd04b506f27ecf939d756cd2f464d89e86353dc26d88ef46e433f02ede8bbd3a430a7e5cd49066634869695f7c506cf890bb2e2c38bd502cdb91dbfc76089d719fb7d5ac1cc9e3c2d062d7e601f9fc511c34c539716ba9d776219bc6d89a9d23d0171d37e2c18ca3469b0b5a4a1f6af6d6f42ba0bfb00e98b3b5df74e695fd888332f334d48727ea1944f5d796fb8abfc5a199a900cf6fb558308196d9b4666361552ff7d0dee6149badcfbb1e29d5633a0a4d8ebd1747c61d64d628de54868adf8cda8b793fc460421ded6de86dc52164c6332b479aca6b6109dcffa11d1356162fb34a3cd5b2938d231041c6c6b39fd47493416ad48dcc9e84f86c20eb1db0a453ebad2a7b57b48c0ab0eb1ac376b80dbf261bc9df91ce109047cbd576ef4c2ee69f9ff8e77a54639f5b9f4cb76376bcced89a51d67a474c587097dbcaeb401c8b9315fd5dce8fea1c16d738d23dda2f384a71ff4cd4dae3e0ffb7ced66c565b39027e1f6868327be7e6b73a26493f506333585cd3f035e12676cd8c64662b1c71160dad18b16ef545cd21cd719f32d554b31801a7cd4860b6daf4d100dd2ab4e02c5e3eb43e9b5f12b6af8f16409cfe193b84d2cbbcf78e2c69b2d2d6065a7e3784eb81258fac5e0f8b5c222c35eefc9445fc0d59bf6a83d7392286161c2312c4ae7001ed277cce5df8d98716c9943d18f1beb86e81128ccbfb35b4b68d95d5e376d1daaff7b1c1f6660da7a5a5b1f0f8117f62dfd837bec9eec42e786be7f48e70357fd78ce3f6fca4b2d16c271ed7fc0cc4e8a7906b0844cdfd3a52d4311e4047db5b4c64e3cc8a0ec26f42b5c0b685bfcc1bf6456c88a0a5a47d118a88a91e63396039b2b6b56c658cd95072102632f3be4b91421fe5428e9f3671444a198b4d11894d3615750fa816aa7e8ec99122e2ab18257e0cf9177104dc88a09d7796730c5a642e77d995782a78a263697bd12a8733d7b88efd26b1314545deb634f696e1eb063a4b7f3d99f2b938ca25e734fdc5aef8a3d855ec55e7337f31d6c0fd228fd4fb5bf817bb16ae4cd839ff00f7f524d6b58c529e55ef47034b64267c39b3e093f094b24bf030644c363c5b3190a7705717625be8a89b496de4414c646c5c79029818b38fcc61524ca046e67cc4b6d92158acf55cd8fb0a65c7e25a9e832d2be7642c2fe0d9e66c3aacf196cee06c863127aa8d58cce4e5728e0093cec53b7882b446d8832738e3e752da9822bef2d4a8714732c59799b89719fb284f01b3a5c5fc1e8f207a5d6a36a9cd97357144e9fb2edaeb378086397103d97156ae6dc64f9f9f407fa086247ea030fab38137337f8cf994ef41467802d91443f1a9e29d79dd58ef6143a6d0d99963f89eaf010efc453d28026c81dec6b866bbca7cf95932d130afe40be10137e6984923e0d211c68dc5fd2f7c31465baaf23d1eb0430b1e666cae3cb75beb196bca197a3b68266ef5b2d8b99cb32df151c66c437e0566b9d6dac8eff5926d99986352f3f94c66757f449a23ad3ccbe4249d913f830201470a8b08d5d7ed1c913379557aad7bc343f1a0592b6c8acb5a8dcf4522e7e216187a07d147b96be3a99c893dbea1fb27633b47aa7e838af5e982758bf2e9a728c515809d5a0b7d5266129eb7d0d46ca0b7a1a680e8a32ae2cf8ba87f0c6da47b5b3b4c5e2bfe9e18bee68cbee6a95913468db8ec1ce702f57ecb61b9ee04fdadf75a26c0db2760861225f07704e787da38209debd5595230f0a68921e5991616cdf88d5affdc446d6696859e45262aea02fe9cd63862cc4c8a81e90f7b07cf49f5a7f66621fb4c1caaceb8d7cab890a7ad1c3985230d5e630cb8b48c285cf251fdcc3a2fcc73e8b7b8d2fc5366fc171c4136adebb115734868b76af8e002d68df609bbaece59b3b7e58105fb7caedf4581252f6fc941ff476ff3e7f28e468dd0dfa199bfc0df79331e14a4a61503177da8b8f277bfce65f620bfd52d57f63617fc28ae695ae955e708b41f54cb705fe69b47c66824cff7a8d29ea8accd92ebd1b2ad3ec0a35b0d1d3379a39f51cb23d50c47754f7786bf5be2583f437cd4223ff2b08923e23bcbea68d67d1607d21cf39bb11df3cc66249867b26dc3d6b86cbb691c89949e05e20ef493652555d134d4da47b98577c558bb5beb8f146300253feaf755c4c1b9855ddbd4d6c7e3631dc9b9bf6d88506a79aef9441e1fd48ea96dbc869ac0fb8fa0dc89666da769c6bdce1179afe79c3a47d8077dfd21d8f86ecc8064f6d2baa0c398bbb170c4cc23d076319e99c91135eb9130a3c7d29247a0fc2ecf9009a35706dcfaf9d59e624faf51362e679dd4b656113dd536fa93d90fb27b4b3c616f95ebe9f3c988cb6a86baaf6728dd66c1137dce1bf15a9c71a265bd49de0eebe62ff5a3a0ef65b62bd71bfc9db0f325befada9859fed3b07aadc69199d834cf30383213666f34e7c8923ca29d1f31c9122ef9ad98433f229739bfe531bf6197103f1d68391918d5ef4ecb2379cbffbae68fe9f156ed9e3eea6734e69199187789ffc8dd73c52b8afe974de7b37371c026f90884c84a6e413ffe3df4d88ec5833c93670647f62c796420f456782eebab642b259394ad97612d2e2f18b4bf3c1716bdbda1c192493e930fadb14db307243e09ce9eba08f4b23c9cc7d4f31bcec0407f7f4dcda6d85759924bc5919245495e94234d79847b6c539c420c9f2d91468ea03f7a1e315a7e5d38d23d8f08c7b6aeb0e1ee02638c70c6bfda6a1c7a2f1bf5f5beedb550cf23e0adc702bdff2ba6dcefcc0f92a99e47c46e35ae3531183235d74f34db85be9f9183443edee121776c63c55d441f3f287bdae59dec9bbda7e55e1a7964d29123b3a51cc9cf98d56c74c823dc656b6c4b7bfa2616ec33e3af9947666cd0352e63ad9bec7d679c13b1a3a20eca6c6394a7fce8966c79648ebd6e352a5bd7fbd9bdcd7f03968ff46c21a685e5dafc08b3f47f1b6bc2c5390d05df2cc0d2a646de6b9f7bd165627c5254f0b01d162aeb023ae591dc1bcc236a24786c1a9531fb231d38f21379847d62ef2b062c5f1dd83d8fd4d633fdd63c3263ddb3c899311a95cba9dada960fda9ae995c4cc2345bcded5dbe010a7bdaefe161eaf6958cd672a704e4059af55e2ee6495685171afc4f227cddf897eb4d38fce81728ce2ba218fbc5bd6d6c23ca25aee9a4796b7b57e228f409b60a2658b5518d29e4768dcebc7aa1ce99847f27bfda65fd95eefda68147957bd7dc52e70f5f3caec28fc33f2088e6d4c70fe50692941db6ba57706a1e7e01a71fd00e3b2de1fc17154ee75b70d76d7748c23f7e68abf3ad6bb32a4368e9073ef633edba4ce13e5b2bbf469b9caaa1c1a3f68f8df669e3f8f40de1d748e9eb6b3daf2c8ec59f3c80cf2c04a6f10c3b3327260f9e62d737e2e7f94d290473ca36d3f5da9c74ef3155a8f86dd58f348fe57c79a28ecae19d78f73ab7caae0bdbb1823562aae293f81e55a1e59eea5d667ff9de35a2be6119c5ffcc9f6858d23b63cf24cfd116de6ae1b3ac4c45c45421c1107d047ff697ef0e63c32d4319347ebeedee6f9a258c9b2e8b74fc9b2d1becfe7383abe878bd71f415f5a4538ce6440af61ca770c5677ebadabf944cb2be291fa23b87646cd0a4bf248de67c23ebb9a9d5ea53f029edcfc22435eb73f72ba4adb255f5156bcc159fa7691738407fcb4ad1f26f649da6ac19a473ce8471b3d59517b0fa2152727e6f57cafc8039fb98ae53cc374d823a2b09ac7e86b05dfb95f8fd5389c9e47c67c0ccc6efd9d7fe6bfe92ff57b9040cb7b0a83967ba9f547ba8f6bfde63c224f9b5684cb99e43c13f93ebb20e2526c8b5b3163ef2deb275fb53fd27de417cb7d347dcff77b1169c31acb7c86286117f23117b1c7c00bf90475712b368c759bd63cc27dce6abdd9e90afe7ab244f222a2af916556ee5252c57176ddd16a7efdc8cc16f9f853bee258c908589e7c4bab0c71a561f59bbea1f560b4e61572e6a458fd3aa7b3708d6231e7afcc8f9435b1b43f82e35a5a7b50262f9f477884ef99d7b1c1e59abae64715f07c5b5d1f6b72e4c5c7b536cd2bdbd0218cfe48fe268db4f6b2d8941da9eb7d4d61c615b63c82b37207b5c8dcb2d789e1ad9a2b76cae85bac2c51db5a05fa9a7747303922b8de6b28e747aa5e43552ee404fb6adf8e52f57f16f339f479d8ee2366b587ca97495bcd3d5f1e81e79c59b0b19fef62c0ad2b742a9ee8ef11bf4e7fa45ce3be428fa4f67627be055c5bef997f9fd02851732d1819c99a47f231028ccc5a6c667efded74abb727c57af3450ec1590cf4cb5caf8518623fba8c2c83f74f467f3dcf239ff31e00d7e73c29935c6b6b72cf4a9eb5235cd58cfe13d93e6cb780f7a88fab4d5e238fe088afc612197367f97abb368ebc601e29e6f9ec3bbd587dbfab8d6a4da03d70af9794cfb9d863842ac67a2dfb3cfb19ee02a83e696a33ac2f8ff810d1c7c675f9e77ef5f6809963e8dcf74b77822b19a2f6c6f36ce115b13b30b25efe77ededa655a4ca237adbf070f935ddd7a270134fbf2d8f480333100b3b8cdff3c878fbe375fb23f9ce289d5626b22b5967430691de78ff8cc79d564832adee2cf3ec059ae7d56af34536c9f7c3695d37c2370d7c507b68bd8ce61897d5b64b89e96df6a36916a1783a7b1a522b16146b28af2abbbae569d79d88f909b4dab6f801f83f1698d7681c4d59afd5298f54ebb5142637e591bc5fad3fd9df9747a057ae63fd7c79fce4df8539d3f67afd91b2bd952e5f9b0a3dcada0c21dc7fb99f8b8af6a50c91a7626e6660dbbadfa247322fd69b1b330780e68d3af220afbd65377a0babd2ca379668de5ae38f82fa6d76cd2c11977f166b556ed2380b5874cbbc07fdf075e338fd3e64816cecfb816d299ea0dc48d9170f7764adec7e36eee87009ce3acf8fe09946ecfb8d79c478a350b4ee300d3dfc4b6865fdc4b8d6b3add75abc53ffb5bdc5250e8cb72789bba7c811e35b316eab037953e7076f58af55d4c79c7dabc5fb027fec818d58007d964d908f62281e21c398a3bd2556957d25b43ca2f324971ca79fd835d87373cb80de00caf1cdbc54e5277577069733a5afac9e9defc53be6537627c7fc2dc82658df130298f1036c6f2bfbeba91973b3b62ea0431ec17b5cacd72a3db1ce8f20e29e298f00fb8ecd272d1eec7b488b3d7129cb1d3e5b39f2bc7984d9de942fd7b9bbecc0f2565bc42ee03e6d2357ef30c2b9ca5bb7a537e3fa88324fe58578908b5d4e6b5eb0af758e94efff1933763a02b7f98eb6b7e2c4f8a4581f942b868bd1d4da7c432dafec14a82dedebf3710b9e5e9733f4d558dca3d65756a3ffb66243fda9e79df267cad5f55a1df388d21f51aeb2b7b59e378fb0b57a6c95eff839a0e11bc4d78049f689df00e2371a9151e3c8f3f64758cbfe2c58d22d5896f26b2e6cce13b65bec035cf39a8df3ccc32d6b81b106cfc48c27622bb723aec5a0b656be566fe0e1419d23d533bc2a56c9d7d1af23ad7e061d992e566359d6d1d6f16a1e51bfd7cf1bf32ffa281477c5b1364fa2b2bb9e29eafe6a25895d258fac34ae557b7f64d232cffe6cfd11e8a199efa65f6848a8cb528e3c731eb1ef11d3eeb315d5b21ac584dec59966abd9a2adec452438b571a49a2948e5b5864d730d879907d4bfa7eaa8841697cd76933adf68678bd913f9a0bed152d8f6b85fbcf76eb6106d1eaaedbcda688058abfa23fa7d2fe1489147f4f25fa13f0257268dcfbd644c898196f35eae3f62e5888e5f5b8caf5d213ea86fefd7f7a85851a8a6ae6d1ca94a897858ac73b7f49a2d785c206f4f9fa9d1e6ad156e28ef00eaf8d559a29400579cd8560b93b7fc519bc39b689f3bc69dd4bdc663c22b5a86473f313f32af95ffe27984deac6fdc577819ce1a38f22a796455447f5b8cdf152b07c35fb76bcf236a5ccc67fec45441511dd3667f659cef6ba532c4e88f2879095a485e2d9adbb24059fa541cb7cc14e7bba89c14bbcb993cb0e71123c300c28f68ec5719875b615c0b30d0a9adf59c79a488a1c7c6ca929fc0dcabf6475645f2446c993b5080b0dab8d7cab5d09647aa72f27da33695fdb1279a685c610fe209e2af678ec72bfd1105a5f8fec81c62ffbd05afb55e0ebb21bc2ddb7521cf57b86f96bd5d576fe71577c4eea147e396b339abe711f460aecd8fecb4aed77ab6fe48511761cbfedb1611fbe65be1af9747e46cb5bd8ad93b96d9e680e03b67b59dc1d9d4fca62d8f54a8a3f83c676f8b1d44ecadfc09e0729307e59e7c363b96f74710d560fd49d99da4d6b701e67980d7e1f2d52455eecbb39fa7ac2f34db87aa0ff9ee909bec9cd67869b656ca235c5dafb5a89b17ef8f28deb8f2aa693f54831f67f29c7f7fbdf55accdcb3e1147768e8d25ebc90f772ade93da4226a26f65d588d3a3861037629cd3397e611f5e903860680a42716884fec9efaa63833fd490cd937dc3dd56b8af296fe08e591b38225037104b637f35d4ad8436e9bddc0df01587ecbced9d562b56a1b4a156f23dc37710e4c71c1ce0dfecf85942dc03a9401d6f91e7b8b7bdf55ab7d0d7f8ff83ebb867bbd2681365cebfae7a23f12a857c035fb4d35c2bef2ab85b05d332ae34cbc7286bcabc76df1453f431affbb02942279d6f8bf231032d6e559de82c5377baf349f8c5d1fc581b852453e9afef03bfd0cf3ff0dc2ddb0f0084be4532ef44e2d0ff4eb58528c80ccf8391b36ed8c2c25e4080977d8828b02377371c9b6ec76e48c7d11a7ec28dfc30acfbc32e4b83347caf5812e4f717579b1d2bc5867eeb623d89247f02f35fa7fbc5357b083cd908762422db7050a3b72a414bf5c1baf4ab16e7e5eb60aad399a22107992ef581b75d9e108e7fc8f68176e3e20ee75f0b2cd87df708638668eb8955bfc417cc7bde2012f725b0cf2772868ff5b9b2d7b5be0f77bdc54f242635f99c313e0fa0cbc8e20da6ff06fb9efb4c6bd3b22f2ddc5c483ccd8aedc96dbfc563cb0b9bce181adccfa3d74fdffd96d36d4bb6dbe4ecb2393b20d65f6ebeb35d79519b612dbbc6d7e8efad50bad4b898bab9a6db7d56bdd5eb3be4a5d14e2636ecd63836507e0d53cfe7db2bcd4d59edd73d9e9ce91fa5fddf083a2bee991ff1cea4fa89badd56a457d06af85826e9e3ea767bf86ad5e72e9ca919f15cbb8562d8ff4f2dcd2d7f6afc8f373c4981f9994fd915e7af933e485f34839e3f1f0eb967be9e565e425f288f17e789f477af9a3e445f288f93e469f477af983e405f3c8a4ef8ff4f227ca0be791be3fd2cb1f272f9a4776fa3cd2cb9f277d1ee9a5977679a53cb2641ff65e7af9bf237d1ee9a5977679913ce2f579a4973f57fa3cd24b2fedd2f7477ae9a55d5e228f8823fe81dd68d2f17f1fe9a597d79797e98f546fffe56f037afd4aed5efe247991fe48ff9e4f2f7fb0fcfd3ffffed7ff02f4bd0fa9 789cad9a5973e3380ec7dffb53a4866f5d5b1ceb966a6b1f7227dd493af7d15bfb005072eefbced67ef785fea015db896c27e946cd54fd9a16ff0408809466fefe3eb5bfbe3af5fdef6fb7777477eca6dc11dd4c7d2fefcfcf9ffffd9f7ffdf7db5f493095c653612cfffcf58f6f7f99b92937653af8533319cf81b2590707b5818f3d877efc1e1c77c8f33938a90d1c81d34ee9c71f3c773dbf34acf39f81f38ef3cfef83392874dce63507616d18df042761eff90d701a451d1dd7dfe751e6791b5c4485e7df608ad8f31198a3a4438887ad390c62d789307e024e93ccf32c380b8b50d7bb087669aae37408ee26b95fef63cd5198459d18e3048e6bc378064e6a032f794e3dcf83d38cfdf35d705e1bc64fc19ca73a6eb6c055ded578dab8e63828fcfe58ec4f9c147edcdc81d382d47f83f5c77951797e0617947652e8235e71c58167e447dce544d93c79f6bf37d04f3a0d179e33cf079e73657b050eb8f0e30b9ec9f30538ac0dbca72cbfcf6a666e58e383fc4e22e102eb457c9298bdbff4d030431ff99224c20ee3570d97981ff991a4c2157e7f0dce983b5de8adf63840bedb4b70de30f63ba1dac0ea3fb10b34bfae1ad6fd46bd242cacfbd501bbda307ea2cc45a0fe6c7a7681c6730d5c7219201e8cfc4a2a61c4c3860debf31adfae30e24155cdb27962e05099ab00fa16fea68130e261127028acf140bea7317743ec171f360c7fadfe3e1186bf761a9cba8ed617233fd34c18fef08f86b1df06f590e62e08e19f5d0617c2f08fef1bd678cf804958fd43bf48255c21fce11bcf6188fdb6aae784d5bfe986e19f45bea75d1745ea0ffa4bd611567f10cf2c70b1d6b3457fcd4261ac9f6ec191b0ae1ffd228b5d1261bd8cfe96a5c2babea786b13e427fc8729746580f2ff438d6fdd2f90a61f44b7e6858f703f1cbc865b1f62fe447c6c29a7f330debfa119fcc35dcf59cc7da0f10ffac14d67a44ffc82a61cd3f5d4f5758fb0b7e9f776ac338ea250f5c1123de84f3250f85d5bf9fe0c851a2f584f3228f85f5bc407de489b0fab7e29913f8c7e817792aaceb47ffce33615dbf722e8cf5dbc0b34bb07e427fc84958f309f1ce5958fb07f25b7e5e26da2f70bee5a5b0f60bf49fbc72a5af27d44fd17155aaeb3b6e18f167e44f11b86eaaf5807e5f843da6dd86b5de51af45527652ade7fb8635dfb17f4526acf983fa2af23248115f427f2aa80c32cd9759cf72e461bf76c05c1bf44a6519d7fc3f6a58d78ffd2d9cb0c61bfda928cb28d378a3fe8baeb0e603fab734db5899661b861ec35f0a85353f7e81a332c9b41e514f149789cfa7cd86353f904f949669aee725ea9bf2da305fa02ce37adedc7ace72ed37e8f744c2da5fb09fc4c2ba3edcafc8959232e0ed86351fd0dfa914c6fa59e7af8475fd381fa95b1bc6f795cba2d07c770debfea0ff7320acf5bbe2990aad5ff40b0e85357faa86355fd00f3816d6fac4fc2c0746a1f98dfde6b4f4fbcde8e79c096bff47beb22478a1fe201fb8281d697ea35e99cb92747da84f76c2da1fb1bf5c9515e97a5e1ad678e3bce16e6de0356519d7fd3a6858cf77c4cf05659774bde8d72e14d67c473c5d24aceb5d5396eb8ee63fee472ea9e40a0a3de4834bab8091ff76a961f507f71b97096b7ea760e91f4ecf6be4a72b6ac3382b57216b7f5c6d58fd41fc1d0b6bfe239f9cab22d6fa3d6b58e38ffa75a530fc33fa7c25ace715eac5752bb9d0e279c4a3ec086bfe20de6520acfd67de73e2747f905f65d86383fe5c46b561fc4c59c6b51fed34acf583fb52190b6b3f453ca419a61a0f83f3a54c85f5bc5b6f58fd45bd95799539ddbf8d86b59f22bfca4258f70ff957526d98cf285779a9fd00f55fb230fca7bd86f5bcd0f53b61dd5fec57893fe05459c6b5bf5d7b2e4af51ffda4ac84359f571ad6f31ef783b22bacfb0d7fab8eb0f613f44fb94cf9f5d35ac31a0f9ca75528acf73fec471509ebfe43af920b7aa9fd04fb59c905afd2fe71dab0f643c4b34a2b57c17f5a6858f301fb55653db6d4b0e687ae27ef312f36acf580f856456d609c479534bc4aebbb6c58ef3fc857599d18c62bcfa53ecf330d6b7cd41f27acbfbff15c79467ec8a81838f55c555a3f730deb7d0ff952e14fcd1ba8afaa5b9bf268b3c69265eb6c692bdb1db0437b648fed893d1d37c7c6dd6825d138b3e7f6c25edaab91766d6fecad95df7f46c9dedb07fb384661d89ee499e78f29d9173bfd41959ecdd8593b3799929db70b9f54e9d9e2db9d7bab6497ecf217756afb617f8e56b22b76f50fe8d4b6667fb52bd953bbfe87746a5bb61bad4a9b7f50a7b6add7dce857920adcfec34a57760733efdabd5725a9d2fdb1cf1dd8df52631d1bc8bf1f6d38341ad9f8cd13894d6d66735bbc2a196b4cbb8621c3c699b2bf0b98ca587b6eba183f3447e6d89cbc79eed49c997373612efb7c3a6a55b932d7e6a6adcb88deadb933f7e6c13c9aa7a1279fcd8b39b7c5e03e99b69eb06a66dabb99ee8299357366debca977b3287fbf6496cd0ff3b3a764564c4b1d99b5d13af2ec2fb32e336e984db335f4ecb6fcbdda4ea3b46bf6de550a4d394ec916cd7cfbe66040e97733d269948296d825e374e4d9b0992f3203d9273bd71b591ea76412938ef569d7647ebe7ce8e9822c193347a477f8913e5d911bef955ca62a79a33aa477f2978ee9844e5f738fceda94ec855919af8539ce5bd67a51c7a551baa43625d1a2eb89946e5a946eeb7aefabdca756a52bb34ad243de3b4907f66ba9e5f9db7af45589eedb95b0b2077aa4276ab92540c9d03bf70e7aa1cb21a5e9968a1af46e8f666856ee64f7ef6aad68171cd0f191e8efe5343f5ea9b1503c9c25470b83372f7b4a8baf3b4e4bf6ac37d27f3e919bc4ab213ba065e9b0bb0399f1837eda5b5aa1e9fe9d1d3a735bab6aac4dd3aabd6beff8c34ab4361ce78f98d9335dfa45eb932889d6067df12e415bb44d3be395248277727ffa9216d476696d9c92f8b537aa8a278e6542fbe394eadb3ffd325fd6b29774304e099efdb69b6de7f0c451bca2ce7825f8b641010ddfb53e66db144da2549bbcdcc6746f924fef17e97bc7246f9faa679728a15bdafa845a35a8442965769d72992da396135d7ae3331574672fd87e64b7b8ef7ca22779577df5f88a69948772dd5da17dbaa39c7922adc62776c34fd0168fbd7d494c534ab9e2eeb8cecc87f65ebfe2bc5b3bab76a45ffd1eda9f7c4c0f23bd9ad6efbf2d2b9950c9efb3a3bc5d894fa074da327af61125d983f3f68ec917506af9ae2127c8882f19ef6ab5c76f115f8f5aee2ac6f044b7af3ea5ebb6dde21bf874dbeaf304f7d721adbb9699eef50b73abd2c3c774ec5cdb971955a2cbfeaa1d88df9e3df98812fd6eeb56fca85fe5b8f5e4e3e78f64455bbd483d2d6a8fb0ad3bf591bd3237ed5fb568d677a39776257ab113d59544a6a52eb1de69ef93a1115ec97d75ac5f3cc3b3ed3348b77beef5729e1ba124b77f39e95bdfa2c49b791ef99d8e2f5e4f0d5e1cf7e5909778d9ecf2e26056536a8f6d67d43713dcc976064ec283d14adeaef907ffe495da685e4e83099ea1ed7afebe2f1f695bfffba25db2195442d71a91839f3573abb30fde587875c4dbeea78c1fed9b3735aff5e69cff924e97167a33bfbd85f1da9f8a213f72df97d8f7ee7bbcce1b5fd6b9e4cdc177fdf76f96e686b7bee219cdbf7d831af1067029ef1bf4618d079ae1d5f7e61b7d5be645dab75b52ab136409bd7097b779a7ed9499ecbf0ab1a10eefcafb764033fa7f1bf48cf7e46f8f785fde24477c1381d2fffef9edff39c60989 789cedbd57aff5bc72e779ef4f7160dd1903f50a5a0a18ccc5ce39e7dd980b8954ce595a8df9ee43f15fd4737cdcdd3e070dcf0c06def46bbf3f2bb058ac2a1683d6fb5ffee52fdfcf0f7ff997fff24f6de77631fb0b8bdce62fffc2fb3c9fffebfff97ffcb77ffa67d3f88bf89fad65187fd9fdf3fff64fffec3ffd85fd45dbc83fc9cf92b74b5938be95bc53d7334ff27e290b87d792bda52c9cf285b7dbf57d9ae4dd5216767d62db93ef7703c9fbade3fa92ef241b5bcf93cf6baf920f5bdb35170e1cc9e652e4fb5dc9d652a4bc37921d55bf7b0fde6de9fd0fc43bd4ef415e4fb06c8ffb486c78867cbf2e992d65e16492ccd5fb43d4c797229f97fadc063bc793f278d1c2a2f10ceff7de8839decf6dc9f24f3eff4ccc3c475eb724ef97229f8f89033cef25e0fdc63b4879a53e7786baeebeac2cfb874bfded0e4b917c06de6f212f3f27de7952bffc54b2299e97ed650658d427ef672631ddefbeae2cf5e587c47bdcef7f48b6f606aebbd087add84b890fb83f385b59ead7cb894dcf96cf7fac2cdbe7d62bcbfe8ea57dee567be017e0bd45cfbfaf0c793e25bb7bdb73a5bcd21e76de52e4f59038803d791958dc2fdfe77d11bbe83f5731a3f7579299b85ff60f6b257321afac8f1d88e97dcc22a6f7852eb1e705b23d97c40ccfa7d25f77feea7fb00f7fcfa11f0ff5fbc696a13ff7920351bfb43f2f24b6c91eae88c97ed871e1fdc6d8a03d5c23dea27f44b859782bf489fe8e89e9794fea77bf13cf4b0eef8985832d1c1d88f7e83f364adeabe7fd08ac9e8f72e23d93f2874fc426f4e34b7bda1b8681f7f9327eed0f4b91ef6f8819da1f3e808d03dd9f11abf7fd125b60364836978025e52988e9ba9f133bd0b72ffd716f2f45d6f70856d7b9ecdfbd63b874ff86d8837e7ce8cf15ef97fa0e3d6287ece18e98d1fd0531877e2293d807f3a795657ce168bfa7ae8790d73b6c18e215fa8b19013dcf5796cffb3bb0b85f7224e3c59e8bebf2f9a8041fb654dfe3caf27a86f6aff6ebbd8345fb647f84cf60f5bc5f12ef885b629349fdfa5bc981ba1e59c44244c952bfc66629f2fe0a7c30e8bae203d86f884d26e39d27f5676c85bda0fe1a2cee473cfc96bcdb5b2ee24d093628befb7bb07a5f70476c33e93f99f46763bf7137d2bff93558b407faa7eb425ee8b726a6e77d83d80173395e198668bf94377e25a6ebb18cc7c6e1e0417f614ccc989497c9f1c13085bc521fa14f6c81e377624ef79f48b6c40ba47c6140eca0bd914d4cf7871fc401c37825edd5b00fa24279bff447c33918e46f0ed8dc30a99f18fa739722afff12fb06fcf9072cf483fe6dc1eaf908edf59622fb17faf1847e910f413ecfdc33294f2cc747a17c7e90f613eb60d3c0f508f6c2cd1ddae35bc41e97fa0f643c5da4837cf10b58dc2fe5f1d09f223ebb880f0c2ce495fd136bc436837fc8f870d80896f121ea891d5c8fa4fc87ad9017f1be041f7cea8f0eac9e8f3d62c691efc8f1e4b05bafbbc41eae47a87f09a0b0c7016c3226e3533412fb1cf15ec60f71b7b078f93e0636030ef9c08703e553d104b6b6d05f24c7d78379b0f1bc7f4bec1c903f5c81cd03d907e433ad0dd52fedf76089e761ff32df10b4417f7a5b6293ea9fc1eaf9f09b780b79c31fe21d38c1fdce5224a3fdee9a9f46e0838ff13492fe71f09622df7741cc0ef2ba86fa3cd1ffe88f3b621aaf38fa8b991eec2f847e98b5873c3127b6b9ecef508e4f076e591cf92edee72f45eaef0016e9b6ac2fb826f6d1ff01f4ed5b1bb23f191f0e81b028d9de28221645ea730316cfe3fdd2bfcdcd52e47519df456d16e40fa4fd987bd332111fe5fb4d611fa8df97f1cc3c080b94ed0b46f052a47e0b620ff18e5d802d17f6934afb32cd75bcc1fdc23ec8bebfc0f686c39e643c352d611f68df37d8f44cd95fb1b437d3defb7be487b86e5b7bb43786fcce22a0d417ee779622e595fa345d93637c8fa43d89b707a6d45f27e38dc99737caf6336251e4fd327f33fda5c8f76b60eb80f8153c816d51c1c2bdf4674bf837de175e829722df2fc77b6bb714d99e8098e20df7c1e27d52df818c374b7a8ff60516782952dfd2beacc352e475e9cf96fc93f2c8f86b89f86ecafae71bb0ba3f7e06db9c235ea07ec7d9a13db38c97966b6dd01fb36cbf48465d4bfa7f60138b2219ed63229c613c96f98fc59722f5b9078bfa64fb2799af5881753065fdc768658c2f26d80e38ea93fe6f6f9622f5f7416c435f9d1c1fedad189164fdb301163d22db3f3d819722ed23273e603cf17cc5b067fe0c765c2eed4593e3b9bdb3299f89bfc10ef7a53cbd6c9f4c4791afc4c426e225d78939ecbf97f99d6d8822397c073b7b8ef150fa9708979629afbb1c6c533e129c123b18bf66bcdf348383946f3e809722eb93f9bb6d8922efaf70bfadfce70879e59fbcdf5859ca5fc9feb51d254fbf058b22fbb794f1cc760d115216ae27b0b2771ff2b8e276d9be5ef6b798bc6d317eb20dd831319f2b719ded9dbdeccf5e038b8826eb3b86604b4c39a47e3bb048f8319f28881dccff62e98f2258537cc9eec04b59b800fb221d94f24de80f5f0c67e0676251e4f883f7072a3f9a65fb9d8db533647dd303f1de90ef6f6262f2075fcaeb6c857d207f3c01bb140f72e95fce6eb7d949fb9a1bf052e4fba4fe9dfdd203523f07f052a43dbd1207b0df49daaf632c455e97f62406539fa33d727c70d6f8ad7d8185fda37f6c629f4bf967198f1ccb267f9d5ec04b91f2c8fe5cccc391fa7133628fc673e97f8ee358c83fa75762f127ef4f8819f203ff1bec6e216f2ff325c7150912d667a47d3b9e682fc6df77b0bb41be944b7f71985adf9a2bb065ee657b721fecb89077be251645eae38598d3fba03fbe2cf0c9fbf760cbde637c91f98fe35bce5eb6ef1810bb06e231ecc3770cf4df31231645ea7b06bb07f4df8cfa022101f25fa92f7799cec8fa5319dfdd75bdd07b008b0c59dac331052f45ea4ffa8fbb5b5608a4fe3fc0f60ef9667b0d16fa407f9ae0a548d65796fe1eff803de64bf912990fbbc2fa61ffb30db67c9a4fc8fe710ddbc4f37d065e8ad49fcce7ddc3b20220ed95815de6c37e2ec11ef7b1be84f79b7b0fe3bbff0556f7cf907f19be104faf57c6f8067d086b45fceb20bf086090ef9813db987f4e68afe3507c08a07fc7dbf998cf45c4620a22f529e397eb0a7391d79b96f8b091ef4b7660c7c0fa5f7e065efe647d325eb89eb3b364ff1632ff719941f165ba07dbdbbd6cdf7820f691bff93ed80d30beb11eec6d7dc92dec896f38d6a3eb07e2600b7e046f77983fe79097ef9921edb7abc0b683f8524e60cfc3fb932b30131316599f8c47eeba3e5139e02ddb4a793d172ce29facafd6897790a7a4eb62fa2dfbbb050742bff27d4d47eca23dad4eccb7c8d73cf0d6dfc9e76bf44fb0b3b652fe1af616ec775bf437e40becfd5ef6cffc487c807dce03d8b5102f5a69dfdeba1f503f81b70efabb9cc17b17ef4b89c50c02fef00b5e8ad487b7b2b4e756faabb715e93efa07d7b7bb00ebf93507efb7586f9f5df052a4fd7b2bcbfb4b8d98517f5d80994bfd85fb774a9f4d43cca0cff693d8dfc0de1958d88bd44fd313ef61ff35e459b60fe4fb3ae93fde5e4c8fe4fded17b1bd91f655d9c40ed5c7895d5ccff1fe259c617f85ee5f56bce5fdcf6063bf97f6d4d1f5a548f9a4bf7a86186ea57ebb6bb0905fda433310537ddd2d31833fb4dfc43ef66fea67e200d79b0d78b745ff7777c462022afb3b20b6600f471f2ca627f0e75362867cc947fbe5028b8c07676066a0bf3ae96fde41e813fdadd8c67e453382853cb2feec94f8b087bffc109b1b391eb5bfc46c2bdfd7a23d873df963f04c6c607e5ad2f3860bfdcf0e58f88fe49c7829525f727cf54ca58f6622b6507fed13bb5bf9fe6626e6187f5b75dd877cdd3d7140cfbf81853fc8ebcd91788ffdb4362036e0ff6d48ec201e25b02f4bf9735783b77c27df9f1ae0c5c0657dafc46c837c610f160628ebabdf890fa8bf3921b6515f792476f1be7c5859da5f1b11fb884f99a3788ffe3c071b1bc4c746f16e2bed313b538c7c243589f78694273d101f0c29cfb1007bb41f51203e88ee44fc2c3d628bdaff41ec429fcd2931477cca75c590b7813cb62122a47cfe9b788bf6a527c434bf28e9ba5098d4ff11f1cbb63dd8d7d15d19fec48919b1b732f22f461c80bd47b047fb4735ecc9d91ad85fac11ef1cd59e1af1ca11f24bfda4476213faab7f8839ae1fd17e473440ea5febc09e8bf96e82f8e37011d0e5fb20efbade95c3dec4e881f6e42331d94742d7453a85f930deef2e45c65399bf7b9e8807f2fdc525780990d2beb6c42eda97c07e3dd59ee682d8c3f51efd21ffa43c5bc5981f67e81fa6e42fa04fe6d17e1e83bf33b6f1319f813f73313e239e413ebeb7f17c1b838d03ec39a9c08703e6bf530ab66d3c3f06c40cf2cff0672edc1beb4788e7dca3f522d611073ee6c3b00f7f6bed607fc462c20f7d217ef9a27fe1bf8897fec1c47cb22636fd9decff29032f0b9c9273629237847df84b91f5c37e83ad877c88435fc15224c33f02b681fd3099bfb20da3f5cde41ccc9d40da6f26c75bb655f992f6045e7658a5fc2760614f985f8f6046fb8b31dd2fde877c49ea97ed447f213e3e808d0de25fdb814d13f16f40fdcb745bb226e329db8bf10feb193ed8f611bfca18cc68bfc595fecd0c919f627db600ef2dacffe816580c80c88f36c4644f7d0b360fc857866bb08817e89f84d847ffcd5760670f7f9d276213ebe57c0633da3f6aa4bdb28369617c6a6ec18e8df76b321e3053c413d9be1efa31853cb0ff1cec18982f699f6066c19f38e4377d3b407c97f904b30c07f6d13760d347fe52413e4bc437cc57e9fea5487da1bfec3de5b319071f38adffedc0ce1efa635bf052a47cad62cc57c30c2c2610d8cff905fbdb40ea3b437da279986f761760d3833da674dda2f5991afde138c11ee3730f16333ed9bff33d98d17a5879b3b2d46723c747e68ae90ef217b447c447c4e3e68138d8c9e7070d2cd42de519606fae083f88ff29d871f1befa40ec819b27624ed70db09871c33e1e894d6a0fdae71d0e88a73aecc113d35fccb7e11f62f845fe5d1dc1ce01f90747fd9eeba2bd25eccd6306ed57dc137b58ef4ca01f11b0029c3ff95d19fea61373700279d6f85defc186817cb247bc11f34f8acf03d8ddc2df3b9f780f4e603f8ced612fbc2766b4df1282c5f887f315f007e63b244f46ccc015ec99ab789647e09d0f7faba06f7ea0fd970afdc9854321ffaec0f60ef9f2e0119b880f33ec9b2f458e5fa760ff80faf30db14bf2c87c8af9225e633c46fff8873df2771df6e38b8417f1e80b6c33f25fd8abef98c8cf22e8cb67b4dfd3c01e02916fc29e9f8839f64b6ac4cb405427dbab43fec0b0293e221e0407d394f697235e05a683fd8306f12eb039f22f1dfa0b1c8ef59206f613b8946fa588ff01e3d83f60f0af806f10af2a192ff946ccaf657bf557f0dec27a697a0a3e6c0cac57166067b393f2690dd8e38857e3197829d25ede884de44bf111ec5be80ff6434cf653b8c42ee25144cffb1ef51feadb6e4dcc37ba19bca3f97a7d02dedb88977a0636a87fcb0dd87411dfdb96d887be061d2cec0de3c33558c403e84b032f45dacf91f880f5ac3221b67c9c5fbb032b7f2da5fdf09df28716d7775b3aafa6e1fdbbe5448fe4016cd17af240f7db01ec37407b779cf663c394d8463ec1d0fe9df28748e64722f86db6d83ffb05ef5de8a7efc1964df35ff4b748a720af8ef6ed45422cefcfa1bf3d73d1fe235d5f8aeccf0762d347bc85fc8698ce4b79520b6cf8582fd3a07fc3b1b11ea8bf10bb2efc03f219ae87f98ef60c16455ed7de15a3be02fa3194fd7432dfe2cb0637c60f464ceb01e508f6e87c83770f16f110f1bc21a6f6f690ffb014690f29b17071a91fe8f7a0f2817826a678543c1233e46b3aea5bd6fbd11ec863eee83c15873dc80d51f9be076207f244f05f53bd3f7e24e6787f0ef98537923dca78c22d658f15fad3da1e601f0decc75a4e344af98ec40cf2641760915ec9f8a2e7c49cf6fb9ec022c1c07e02fadf7237386fd871620eff2be01f96f018acdf8dc4b4bf5c3d105bd8af8b102f2c114f10bf647ce7221d407f5635786b22de4e9f6087ec7f8a8919e60f3ae2a1edd2f9a5f6162c3228d80fe4931b54b2bf11ef84f904587f95e33177f65bc4fb01fde9d8343f9a4bb06b61bcd56db08818586ff4891dd833fb068bf6613e9612933d97727ce0ebfcb3de82b7b49e9a239eb806c5c30ef6e01e02e4bf1decd7b503c47f0ffee77a741e6e40fb5d4ef3df82dec719d6d33dbabeca037bf0943c65484cf6159e119b58efa9d5f500eb0b15f4e76d77b49e08fbf4443c96fa9c3df052a4fee1df5eb087fe5d8798f2a514fa59f3a3d42556ebd17bb088bf529e1cfd2f262488bf3afc85d93be4bb1df4cbbc1dc69b660716e32bce0fc23f644222fbeb8c3880ff15745df95f724b7c40ffa668ef9a2fd523b149e7d3af892de43f550516f35fe4bf882ff24fb607e32b57e34f8cf671a12fd40f7dadebfda54d4cf5bb2db185fcb7b4881d9207f6e26f693e991fc0c616e70d5bd8ab6f59584f1be0bfbeedd2f3f057dfa5f97d0a7ff139ed7fe6b027dfdf63be1fbd10537b22d8a3afdaa3235f084473a0ef5b626a4f89f81f6c0dd87f19109b581f482f886dcc3f748c7fa27b707ea585bd0422fd93fad0301e05624685f927c69380d3fe2eab1563bf2982bd04fe0e9cd375d59e0cfa0b56fb95fa15dd43f2077b6213f21737e0ad0fff4d27b0185f119f5af09ed63f751facd677f400cce8fca7ce88697ea6c760159ff49098f28d2601fb944f32e2c024f9a5bdfaeb7a46750bded2f89b5be09d03798b2bf03e40fc4cf0bead655888ff2760d7a1f18883d5fa90ee81d5f898a13ddba54879d39561cfc401c5af54da93bfe667890ddeede15fd1112cf233ecc76c882daccff43fe0a5487d9c121f90cf7a37c401cd4fd09efd3a3fc2fbf76abd4fafc176e0607fa2008b0106eb9719588c9fb02fe86b399e85f518c8bf0f76e4ff1b622f807f413fc6eaef3fc4ca3fa05fc3d8a27dee05d8ded832fe0e74dde188cf13ea333c9affc423983974be86ae2f45facfc7ca385f704e6c415ff93758d99326e3b77f10fe2df5d1c01e0f22dc405e13bca3f1b63c031b1bec2fe5deca18af7c621aafcb53e21dda9b40ff07738ff377ba03f6293f696f880f180f23f8eb41c5f7e89998f2eff0484cf960f14d4cf690c8f9b1bf9ef7c84e56c6f9b66e658c973d31ad7727f057111d30befad7c494ff5407f0f2058eac9faeabfd85dc24b6b09e9f5d113b980fea25d8da5a38bf83f861ba5becbfcf5be200ef0f497eb6c37cd0db11bb749e869e5f8a7cffb032f643481fcb045b32fcd514f15eda776610937d64d4fec0c2fa499610db01e2e11db1d237ec67dd3f8a3b62da6facd05e6bebe0fba418fa16a32d38f38969fd379fc12a1f4e612f9698dec9fec8d05e6b4928a5fd346046f697913c2afe164f60359e64f0774bf94f94129b181ff567620bfaaa18b103ffaade8839f623ab777040eb81293d2fe205f69ba87e311e613cfd2276916fa524efaa4fb4cf5ef743e0afb65a3f48cf89bd03fa17fab24d0be79562f4bf989ee13c64fa481cd8f0bf0a6c1f28fed075c7c0fa1bfb22b6303fad61cfb647e72f0aaacf63588fcc305e8ad11bf952f10956e359f54a4ce347f5416c43df2c560cfd549cd885fd324731eccf83bfd96a7c6797c4a43f1df6bc7ecfa54d2b237f6f56c6fae9fdca58ff417c75962fbe64fbf07ee760e03c5e42cf9b369d1784be1d678b789fe560b53f91a3bf1c653f7ab432e617e1cad05f4aece1ba8bf1dd59f3cd53626aaf06ff5ae72f5e43ec617f32c3f3eecec0fe4c8af6b9ea3c7b7a46cc709e3ca1fb55bc8e10ef5dcbc679cb19fdef3a5bcc0fb382d874e4f502f6efaafdfbf485d8c17c70843d89e116fbe3d52731cdd75c8c07aeea7f7d5c19e7a57f8919ec2187bdba6a3c70a93d81cad7b7c4ca3e10bfd6f99556ad8c78f4446c91bdc07ec47405f3edb825e6d82f70315e79fb0df28d02f1c253df6b2468af270630c905f4e1a9f3785349ec63fca9e8ba3a3f507c10d3fee30cfbf1d8c6c6f9b69e98c15f47d89bc739cee78eb02fcf3fc03f537a5ee9b720f995bde94f2b633efb43cc037c7f037f5ce787e14c4cf91f0f88957dcaf98abfce1fb32331e9d7bd24661b595f06fb615b3acf90ee89f7388f9160bc603b1bf96ef642ec62fc28313e33c3c2785fc0ded981e3bc9806f99963e0bc6181f8cdd4f9bf2922e6584f2c12621fdf7336249f47fb7985471c603fb343ff3346df8bb9c46afcd5dd95b1ff735c19e313b557e9371b8949bff18e58d933dabb7e6fac15c4f43d988ef771e1ff880788c77cf9405bd68ff8c50d46eb93c837f8614bf161471c60bfb1a0e7d5f9ebe28d98f6b366f43f7776c82f5b8cb7dca5f30315fc95abf34925fc91abfc8f55c434be66f72bc3bed0df628289f5f09c9e0f18e6ff9e414cfac930beadf3f3f8401c60be5d60bcf1d57957ed9ed8c6fe40f24b4cdf6f73e4b3be7130904fc17f7df57d4afa4a4ce7b1538c6fbe3a6f3bd1fb98e9e07b42e84ffe49fd6b2b239e217ef82aff4d483e953f7857c414efbc3d7180f909bb5a19cfc37e83d55e1e57c6fed50b317ddf9f3c11533e9741de407defee41de6047fb194d454cf3a90af13c38d0fc226e882dd85745f2a8f3f41dd567d179a70afe1ea8f382c90331c5c7f99238a0f357981f076afcd5e0ff01e734bfa0f78b0825edefa5230ea0ef12f61a2c1f2449fd9f12d37ab07720267dbab2fdc17a1e32bf22a6f5a5ec9d98ec2d1dc1cb8177c90978ef627e953c82d5f785714ecc606f7141acbe072cc1c25f315fac8877d88f886b62fa9e203688697f5abb233e507f7860914f22ff8ac0ae87f39911c9e779d06f4bedf1e8bc51fe09e63ee6235e0f56fa0c6d621aaf739237a0fd2b1e12933fa7321f0ad6f3df854f4cf6997d101f70feb2827eb65b0ff38bf48d98fc37437d5bf57b09b109de1b580f497ec0cb072c925d62359e7bc401f2f18481d5f78071464cfd917062fa1ea5348839fca988c1eafbadf9192c12487cbfd381d579e9744bec237e061bb0a77ecf00fadb8a8089f3dbbf6061ef989f927ca23ad8e76e658ce713b1da4f247dacf1752056e3bb1c2f82f5f73fd28c58f5c71378593092edc7f33b311ee13cdc2d319d3748603f3b313d857ebfc0eafbebe49b788bfde3d822a6f37cb14d4cfd173bc4f43d4ba213937f251ab1f22fd8db4e7d4f59517dcb0179a93fbaaebe3788f760b51ee85d82553c8ece8995be602ffbf57cf8406c213e70d8c7f27b1ed21f9357b0fa5e48bf25f6285e7c10737cef91bc13d3f78509ec7faff457a07ff7cb17a5b23d37e0e5832ae9cf54bfed20df9ad0febdc3e97c700066b41e149d11bbc8375dd8d37e8d9f0762f277764dacec692456fa91f95060acf684f6182aff4b110f0df53d530a7f37f6b45e5644c47be4e3e12958b837ce1b7162b28f14fa374c1ffe57ee8903ecdfc688cf86fa3eb0bc07abef8db26f629affb85b6231a1597878220e900f71f4a7e1d2f721d103b183f307834fccd0de16f1db6016fa33a6f6a9fdbb0cfe69a8fcc1853f1aca7fc30331c7fe9e6611abf10bf1e5b0ee7f452bcbf797f0bfc3d6c27e92b625a6fc28837ccbe7b5b23dec93d8c3fc28c5f8b4fc9c00fa0bf1f7a0e22743bc3a88e11ceb370d587d0f99f6c47bcc774aaadf36917f47f08783ea8fe88e5814d9be8198fa2742ff1dd4f738f907b189f85ae6c494efb7c41ec37ca0837d8bf080ef9f52c4df65fd12f9d80b58c453c4df4762da7fcc487e954f842331e5f719c91bd0f91fcf2456fe81fad6f5cd2220a6df5b2a42628ef9940bfd99bb00e70532f4a7a9f2ff3c21a6f8a1c15f4c35de0590d75cbe2897f18aea5bfe166e882d3adf50423fa64de74747d893e9d079eee84631be078b31fe99c2fef17b4674bffa9e6342ff9acc447e171ac4743ecf85fecc65c54e32fc775d9fd4305eafeb93daefca180f118face58311195f116f2c311dc4facb8698f457c1df2cf5bd7e0afbb1d4f7d9694dccf07b14690bb60f36d6e3ba95317f2279547e9bd1fd6a7fdc83bfaeeb8319fcebcffa604c4cf9506111d3f9cf02fab1b774fecec3fb6db53e1da1bf6df57d75fe4e1c90ffc11f6de58f0cfdb79e1f6fe1cfa237e87ba592d841bc2a32623a9f97a1bdeb7a9d26d70f8275bdae3e25b6112f6b8c2f8eea9f0afdef887883fdc447624ef11efdefa8efdb35d8a3a3fc3f85fe9ce540b96c3ffadf51f6d6623c71189dbf0cd15f8e5a2f0f2e891dc4d3e082d805671b62f2dfac27a67c203489a9fd0cf6f3e7fcc16e65f8734fec60fcad914fb86a3e9f637c77853be2bc6340ccd1fe0aed736d5a0f89303f71d5789d231eba6a7d3ffd5d19f9e70531b52f7820f6c0ae41acda6711abf105ef5bd7db8a8158c5ab8e98dae7d37575febf7c20a67c86a3bd9e683ece8b15c416ce67e4185fbde5173ba43cb0f7e5031cfcfe4345ecc23f47c8eb897c1be7ef2e88e97cc78cfef4189d37d172c538afd7a9eb1cf6df3f1293bc29e2adb79ca892fa87fd786a3d38a4f62a7b718fc4a44f7722267d72d8f79fef0d5a62f2970af2b1ad8ffdd60afa67ebf80cff66ab3e113f98fafea4d810537e9c633ec2d4f707f90bb189f922437c666afda3a0fa970d14194fe1cf4c7d2fddd1fbd47a678ff8c45c17fbb13df225c6e8fb192d240e707e48837d33757e508b88693f5da3f6a8f3739a4f4ce7cbb48498f6b7f51d31e5535a4a4cf157cb88e9bc8c46ede501f6373ccc37988a0f7949cce01fd105b18ff598ac5b19ed318955ff429e753dafa88995bf34c4747eb73089693db53810ab7871414ceb0f15fa97abf95885f19dabeff18357e22dcef3041fc4f4fb83c11b31cd9f9b9c98e251f04e4ce731ab9098ec2fac882dcc6f426a9f5acf0d14d3f76721b5578dbf21e9679920497dd1fb54be9fc37eb83067c8f3494cbff792c33fb9b24f1ff1953b5bec87d58ae9fcea04ffe22e7def393c13bbc8af1827f690bf33d81b57df9305f07faed6a38292788bef433ae4279cd3f7eada1931d99bfe4b4ce791f41f623adfa37f13d3fea64efdabf6df74aa5fedbfe9d4dfea7c83764e4cfbc729bd4fadaf7a745dd837f4a9aed3fa415e1093bd87a43f65df01c9abec3b803eff7c1f3d12efc89e2b625a3f280c62b26ffe41acf2834b625aef2e1b62fabdd1b2266698cff17762ca8f83ddca88879fc43eb854f2a8f562f4dfba5e5c45c4b45f11e8c4345f2d1f89e9fb4b9fdabb2c10499e89e9f74acb2762fa3d077f22a6f956a0113b38efd7907e961f4090f2c4c4942f052e31add7069c98d6c3028f98e241c088039c0f0f612fbef257fe454cbf7759a0ff7d355efb47625aaf08e00fbe987f237f42fcf6d5fe411012d3fa4a40fa5c7e6143fad30b31cda7d92bb148a124231ef9eaf722f207629adf316a8ffa7d0446ed55f38d80f4b51cd05cb83d10d3795b46fa56fb158cfa97d1eff14d24bfc87f111f491f6afc0972621a7f3c8798ce37ea646fca5fbd5362ca0fbc3362da2fd22e8869bd5a433eeeabf147237f50e70db46b62f257ed8a98ce77687b628ff23db237355eb9f3caa88ff4a3fcd9c7fbd6fd84ae5d19f9594f4cf393f29398be4729762be3fe8e98c6bbf28398ce2704cdcaf83d06551fc50b9e10abf1714f4cf1a356f252fcf01d6207cf77ddcaf8deaa5c19df1fbd1353bc29b6c4145fca37628a2f1db55f9def2c5f15237ef094987effb87c2156f1e29298e245f94c4cf12250f73be0f69e98fcbf1b8819fcbd22fda8f38e15d52fba03f941a698be771c89b718df43d2c76e47f753ff89f11fdf6f91bec5788ffed8ae8cf17f43acbed73fac8cfeb926a6f38c4d414ce783ea9b9571bef961657c6f6d12735c6f2c621ffed928f9299f88b05e168878057b807f056abda9f925a6fd2b4efa51bf27e59f13d3f725fc9b98e2994fef5f26cc92cf88e9fc927f4a4cfba71ce3a59800637f9053fd22dc4b7fe1a43ff57b49ec8e987e1f8993bed47a18cf89693d8c91bed47c9891bda8df37628fc4147f39e94bfd7e117b22a6f30b8cec71dddf247b73e8fbc296f4e90434de5fad8cf565b22f97e247f3bdb26cef1813d3f9caf172659c77b057467f71628a2fedf9cab8feb532f62b7d625abf6ad8cab84efde152ffcff1caf8be335f19fea7e43bd07cbe5b19e7f5db9531dff95819cf9fad8cf345142f5d13ed6dbc95f13d27e9d3b5204fddac8cdf779956c6f91bd55e1bf54d9b95b1be9fad8cf3237c65acbfa8f639787e3456c6f7759f2b239fae895d3a5fe5ae2ced6550eff3285ea62b63ff5add4ff9f57c24a6df27a9ab95b15e7bba32beb753fd4df1b8d15646fc22fb747d7a5fa918f9dc54ad8cf3214abf940fce278a11cf878b95715e5a5f19f371b2478fc683e64331aef7ef2bc33f287e7a5bf0c85696fd3d53fcf776b45e71ba32ecc15959dadb78b232d66f557d7bf044fde519a8af7f5b19df8fcf2bc3fe54fd075c1fbd9511bfdf56c67a9daadf048fc795a5fe07a51f8b3820b671fff0ba327eef685a19dfb3abeb0ee4698f2b63bdc75d19f6f6b232be4fa2f1d173717dfec3f81e89fcd3f3c0e3bcb27cbe2e14d3fa378d871e8dbf5dac18e36b6daf2c9f1f4262cacf3b5331ee1fb595619fc79571be53d913c77ee4a0ec81d6839ad79531feabf6d0f79bb3eaaf80da1b29c6f3dd6165b4ef6a65cc0f95bee8f71b067a1fa3f321edbc32fa83f20746eb0da3be32cee7e78ab13f3190fed80ef94417ad8cfdda53c5f43d81aa6f8ffafbd79561afd3ca984f5a8af1fc48fec728bf19de5786fd3b2b237e1a2b435ed2073be0fae8ac8cdf4f7a518cfaf433c5f89e6456f599907f385919f1395959fac348f19cd17cad355786ff7cac0cfdbcac8cdfe3207b6236dedfbdae8cfdc97465cc9794fe6cd2b792cf813d77a1625c9f55fd2ee9235d19f6a2eaa7df071a29ff6194df0d9f8a717dc856c6ef23ed57467c50f6c0e8f72dd29561cfca3ee9f70c5a7b655c7f5f19f1f07965cc57d5fbe8fbf956d90ffd1e437fb632f2858f95d1bfaa3d948f762bd3ef7b392bc3dee695f13d3dc54bbec1fc7ba47c856f29fe642b63fd2a5f19efb357467feb8a71be62a0f193ef707f7fb132fa6f5c19cfffb91ffd35ad8c78a629c6fafdaceedf433fd3c9ca789fab18f78f343fe006b5ff7265d8a7b532fc6f5c19ebf30f8ad1beee7b65f4f7efcaf077759df67be76c65d8fbbd627afe6765cc57d7fb31ff9fd5fb4cf4c7fcb332faa35819bfef33ac0cf9af14e33cc7b05e477bfabb95911fa8f6d079d5f17b658caf3f2bc3ff4cc5787f7fbb32f2079a7f711bfb0763be329e2f15937cfdcaf09feb95118fd7f7e1fd138d07dcc1f363bf32ecf1b032be87ec56867cca9e5c9247b59f7e9f74a856867fa8f679645fc5cae87f6365c4df7a65fcde41bb32fc8ffc97337a7eb3329e6f5646be45f18a737adf1fc679fb6265f49fd2af4fedbd5b19bff7b35d19f91ae54f3ca0f6ef56c6fb481ffe86f86365f877b7327e3f96e299bfa5df03d657c6f9a473c5586f9e295ef83bc833deaf8cf1ab5e19e32dc55b112e319e352be3f7a4289efb06dddfae0c7f21fff60fc46f2b633e40fde99b38df30d2f8e65b38bf373eae8cfc8ae64bbe8dfb27d57e1bf74fdacac85f9e56467c53fa70a8be17c5b83e3eaf8cff7ed38962acff4d34fff25d5c9fd8ca8897e43fbe47ed7315d3ef85513eee73ecd74de43fbe8ffdd1e97c65f49f7a9f4fe7ff8f2b63bf41f567407cb932f61f283e051bf044f7075b9ca79be8fe6077407faafbf738ffa35f2bc679c549f101f77bb3629c2f9b29fe0416bd8fe257e0e0bcfa44e3c1b203bc70faa318eb9db97a5e9d8f22fb50eb9b2fddffbbe53f65f8ff8f0cbaa6bbbaa7339debbe1ee8a11efd3f2983a83dd6133dd5333dd70bbdd42bbdd61bbdd53bbdd787ff7819f4519ff4593fea27faa97ea69feb17faa57ea55feb37faad7ea7dfeb0ffaa3fef41f2783feacbfe8affa9bfeae7fe89ffa97feadffe8bfe27f6ff4adbed3f7ba21a438e8a66ee9f67f840cbaa3e99aa6b99aa7318d6bbe1668a11669b1f8b7444bb54ccbb542bfd3ca450eadd26aadf94765d05aed7f72a7d66b83366a93366b47ed449453517fa09d69e7da8576a95d69d7da8d76abdd69f7dac32287288fda93f6fc0fcaf0a2bd6a6fdafbdfd4fda17d6a5fdab7f6a3fd8afa374282a56cb59da875af196b3988626a96666b8eab8bdeb87397df0af75cf68fc8e072d7770337742337761337753337770bb7742bb7761bb7d566b713326cdcde1ddcd19d64ad873f32b8b37b744fdc53f7cc3d772fdc4bede85eb9d7eecd3f24c3ad7be7debb0feea3fbe43ebb2feeabfbe6bebb1feea7fbe57ebb3feeeff2a3a7eed6dd6996bbff1b19e4bfbb86bb9c4ab55cdb753cdd5b7ee3d4fbc764f098c7bde5d3bcd08bbcd84bbcd4cbbcdc2bbcd2abbcda6bbcd6ebbcde1bbc719141e85dd4ea4ddeec1dbd13efd43bf3cebd0befd2bbf2aebd1befd6bbf3eebd07eff11fe90b97794fdeb378cb8bf7eabd79efde87f7e97d79dfde8ff7eb6dbcadb713d374c33b2c3278a66779b6e7309d694c3c287f328f2f3f84c74216b198252c6519cb59c14a56fdfd32b09a35ac651debd9c0463669069bd9919db05376c6ced905bbf40c76b5c8c0aed90dbb6577ec9e3db047f6c49ed90b7b656f428e77f6a1cdec937db16ff6c37ed9866dff11bf603bb667063b2cbf73e9e5cc660ed7f9f22b401e675cfeb8cc22030f79c4639ef094673ce705cf851c0f429a7b5eb2275eb9bfec639183d7bce12def78cf073ef24994991fff3d19f8093fe567fc9c5ff04b7ec5aff90dbfe577fc9e3ff047fec49fbd81bff057fec6dff907ffe45ffc9bffc8f28b5fa36377e2dfb77cf94f4d0a39dc5f6e8839adc99793aa16777cdd5fbecaf5967deabfb5903f322c5fb5f9a11ff9b19ff8a99ff9b95ff8a55ff9b5dff8addff9bd3f88ba3ffdd19ffcd93ffa27fea97fc6bffd73ff4cfcdb522efc4bffcabf821c7ce75ffb37fead7fe7dffb0fa23cfa4fb23cfb2ffeabfff6df95e1ddfff03ffd2fffdbfff17ffd8d98a9ecfcbd6ff8cb7fb4caf26ddf09f400271c19ceb10461100571900469900579500465500575d0f85741cbf77c1774411f0cc1184cc11cccdc261964098ec1c9bf9521380dce82f3e022b80caefc3cb80e6e82dbe02eb80f1e82c7e029780e5e44ddafc15bf01e7c88f2197ce95fc1f79fe810fcb8936706bfc126d806bb451fcbf91c79ea7cf94f0b5981f3d732f84fdc0af5bf9521d44237f44216f2d00f8330d48c300ae33009d3300bf3b008cbb00aebe03d6cc296dd849d66063f14a3960839877d388463388573780c4fc253ff2a3c0bcfc30bff2ebc0ca6f02abcfed732f84fe14d78fb3732dc85f7e143f8183e85cfe14bf81abe85efe147f8197e85dfe14ff81b6ec26db80bf7a1111edc7d684a19fe2a46063fa1e599a11d3a911e69911b79118b78e4474114065614093b78fadb12c551f24786288db2288f0a7f13955115d55113b55117f5d1108dd114cdd1313a894ea3336f88ce9728195ad14574195d45d7d14d742bca5d741f3d448fd1533847cfd14bf41abd45efd147f4197d45dfd14ff4fb6f2510326ca2ed5fc9b08bf691111d2233b2840476e4c47aacc56eecc52ce6b11f0771a8a2a466c5511cc7499cc6599cc7455cc6555cc74ddcc65ddcc7433cc6533cc7c7f8243e8dcfe2f3f822be8cafe2ebf826befdd732c477f1fd1f19e287f8317e8a9fe397f8357e8bdfe38fa88f3fe3aff83bfe897fe34dbc8d778892f13e36e2436cc6566cc74ea2275ae2265ec2129ef84990844994c44992a44996e44991944995d44993b44997f4c9908cc9f44786645ebc43c9901c9313cf484e93b3e43cb9482e93abe43ab9496e93bb7827ea5fca2eb94f1e92c7e429794e5e92d7e44d96f7e423f94cbe92efe427f95d322821c722c926d926bb649f18c92131132bb11327d5532d75532f652927abbc4afd3f32a441729786c91dbb8cb73c10f5ee78909cb2cbe5ff27fe394da3344e9354fd65699e16699956699d36699b76699f0ee9880c4a6472a2a4533aa7c7f4243d4dcfd2f3f422bd14f5bbe9557a2dfeb94965afa477e95ff545fa903ea64fc9ddbf2de973fa92bea66f22833c11ffc892bea71fe967fa957ea78b6f089fd0ccf437dda4db7497ee2189706a233da4666aa576ea643ac9003944ea99b99917cc19fb2343c6f5bbcccf822ccca22cce922ccdb22ccf8aaccc2a51abccdf90456575d664adc860101fa46f867dd6657d367843366653366747fd909d64a7d959769e5d6497d95576fd57322c45cb6eb2dbecee8f6f66f7d943f698045a993d65cfd94bf69abd65efd9c752bba819b57bd967f6957d673fee3efb2519647c087e448c3c669b6c9bedb27d666487ccccac24caecccc9f55ccbdddcfb57f5cb92b39ce722202b19f2308f5c4d64c20f9a90c5d5d254ea5dd42d6af796daf3384ff234cf101db2dfd092b99c9020cff3222fdd29fbd5acbc5a22545ee74ddee65ddee7433ee6533ee7c7bfd1c222c3497e9a9fe5e7ab0c17f9657eb5d42f6cfe5948c0feb45d9bf3ebfc26bfcdef54745864c8ef353f7fc81ff3a7fc397fc95ff3b7fc3dffc83ff3affc3bffc97ff34dbecd77f93e37f2436ee6d67f57063b770a5dc95068855b78052b78e12f1a58ea2f82222ca2222e92225d3cf34f1e5764455e14455954415bd44553b44557f4c5a0cdc5584cc55c1c8b93e2b4382bce8b8be2b2b82aae8b9b7f23c355715bdc15f74ba647323c148f2236dc154fc573f152bc166fc57bf1517c165fc537fc1511aaf8297e8b4db1f5af8a1d4f8abdc8a764298ce25098c85e0aabb00ba7d4c524c72dbd9295bcf4cbe0dfca50866554c64b1e0119caa44cd9257cb1f856857c53448725669459999745295acfdfcb6a29fcb3accb46fc7ff6655b76652fb20699bdb8bfe5508ee554cee5b13c294fcbb3f2bcbc282fcb8bbff6cff2aabc2e6ffe8c9be56d1a2ed1e87f504ecbbbf2be7c1075d7e5a3c8a3e6f2499467ffb27ce169f95abe95ef428e8ff213d98b94e2abfc2e7fcadf72536ecb5db92f8df2509aa52564b9586428edd2a9f44afb2343e5565ec5feb45de923b9ab78e5574115f2f72af2a72a5ebe0ca9922aadb22aaf0aa18caaaaaba66aabaeeaaba11a552ec7f7d554cdd5b13aa94eabb3eabcbaa82eababeababaa96e177d14b7d55d755f3d281974ad7ad4e6eaa97aae5eaad7eaad7aaf3eaacfeaabfaae7eaa5fa1f5b7f22970ab4db50d3eaa5db5af8cea50999555d99553ebb556bbb557b39ad77e1dd4611d4939f6755c27755a67755e17755957755d37755b77755f0ff59838d94d3dd5b392a13ed6277c2f22a0f0c3fab43eabcfeb8bfab2be0a1af1cf9243f225871349d4757d53dfd677f57dfd503fd64ff573fd52bfd66ff57bfd517fd65ff577fd53ffd69b7a5bef82b6ded7467da8cddaaaedda69f4466bdcc66b58c31bbf099ab0899ab849940c4dda644206110bd8c7928bfa57c2c24afe19e8fe24dabf6df2b06e8aa66caaa66e9aa66dbaa66f86666ca6666e8ecd4973da9c35e7cd4573d95c35d7cd4d73dbdc35f7cd43f3d83c35cfcd4bf3dabc35efcd8790e25348f1d57c373fcd6fb369b6d11f19768de8bf458225232ffbb2ad2f8bd21f1b43e4d06fcda1311babb11ba7d55bad755baf652d5f2468fd3668c3366ae33669d3366bf3b668cbb66aebb669dbb66bfb7668c7766ae7f6d89e2c52b4a7cd677bd69eb717ed657bd55eb7ab5fb4b7ed1d5992d081e80129417b2fec6edf3eb48fed53fbdcbeb4afed5bfbde7eb49fed57fbddfeb4bfeda6ddb6bb76df1aeda1355babb55ba7d33b4d14b7f33ad6f1ceef822eeca22eee122985dea55dd6e542137e577465f5b1ca70d3555ddd355d2b7ae1a3ebbabe7cee866eeca66eee8edd4977da9d75e7dd4577d95d75d7dd4d77dbdd75f7dd43f7d83d75cfe225afdd5bf7de7d749fdd57f7ddfd88f22bca77b7e9b6ddaedb774677e8ccf6d8bcd58e0828b08a9fceeaec425732b0aa737abdd77ab7f77ad6f3deef833eec4532d7277dda67acecf3bee8cbbeeaebbee9dbbeebfb7ee8c77eeae7fed89ff4a7fd597fde5ff497fd557f2dca4d7fdbdff5f7fd43ffd83ff5cffd4bff2aa488c5fd6ffdfb6215fd47ffd97ff5df9893233ef86ffd0feffbdf7ed36ffb5dbfef8dfed09b9dcde7deea85b4bd33e88336b8224160031ffc2118c2211ae22119d221eb3e87bcbf1c8aa11caaa11e9a4198c1d00dfd300ce3300df3701c4ec4bda7c3d970debc0f17c365dd0c57c3f5708319df5fcdf5deaa8f26196eab073e744e7adfdb2edd53e8c3dd703f3c0c8fc3d3f0dc7c0c2fc36b170f6fc3fbf0317cf667c3d7f03dfc0cbfc366d80e3b59b6c37e3086c3600ed660b7b690d419f5511bddd11b597b3af2d11f03b52ef0f7ac0d8ee1188d71f3dd7f08dfd246d6bc758968553c2663dabd8fd9f03de66331966335d663330a5710ffb713726cc67e1cc651e8291b3ec6a93b8cf3781c4f169ba82ec7d3f1ec1f90e17cbc18e3f1b23d6b5cf1fcfb702ede7525b4900a4b381fafc79bf176bc1befc787f1717c1a9fc797f1757c1bdfc78f613f7e8e5fe3f7f833fe8e9b713beec6fdf0b278c7688c073efc033298a32564b0452f5e36bab0aba98b85661d618d4b3f14c3af1824f5f161d22631ed95c59dd8c42711e2a6708aa6784aa674caa67c2aa672aaa67a12c165ea10a9ff3e19a67e1aa6b1f99aa6baeadfa77974a7e3d213c367f7399d082d7c8ed5743a9d899acfa78be972ba9aaea79be976ba9beea787e9717a9a9ea797e95594b7e97dfa983ea7afe97bfa41a4fe3b65f86d7eda8b864d9bba9ab6a3b75843ff2aec31131e7939eda6fd783f19a2dd0751bf39594223f6e4ccfaac4d2fb35bc6c1c9ec35c95266c6073ecf7cf6e7404cd47ffe7e19e648c4777f8ebb6cb1c8f6644e84754d8398c28c228d173d7137be0b2d78d3f59ccfc55cced55ccf4d67cfedccf2f3bf5e7181fff53f7337f7f3d0dbff800ce33ccdf370351fe793f9f45fcb3014e3ed7c369f4f37f3c57c395fcdd7f3cd7ccbcae176c998ff47a5fa98efe67b75c7df23837ce2617e9c9fe6e7f9657e9ddfe6f7f963fe9cbfe6eff967fe9d37f376decdfbd9980fb339df35c9bfbf2e5ae87f34f4f7ed1d143a3ff2697a9dadd99e9da3be4cba8ede911df9d13f06c7f0181de3de2cee8f497bf3b7bafff7cbdfbf7fe1b28c555a789b9f1dd363a68aff7acc8fc57c573d447f47ebff5765406155f51125fd8f2a5192072efbc7dbfebf22c37f44f94f19fe5386ffcfc9f07ffdeffff47f03135c8f43 789cc5bd57afeb4abaae77bf7f4563ebeec0d0512609c31712258d9cf3307cc14c318962a60cff7797ea7d59bdba7bf56e03bb0f3c6acdb1e63319ea4bf55560fa9fffe32fdfcf0f7ff91ffff33fcacaaa0ece5f9cd02afef23fdc3a4dfbfff3fffa3ffeeffff8cfd5e22fe2bfd974a6ff65f69fffdb7ffce7e8f12fce5f469389e64e6cc94bb03e9b4c2e6cf7641d6c71bb31053b3679051e2dc81ab77f4b9eea2e8f4fc1863191f5bbd79267860eb66e25cf759edf2bc08605766f242fc4f91717f65db281edbe47b6264bc973c94bc1727faf94bc32ec8926e57d90acade6ba2bb79f24eb06e50d5e154bf9fc996463d8ee3b926dc3038757921dc39f4ca5bc60d77026387f0eb6a85ff022d91bd8f992ec8bf3f9173e48fda7136b86f3f953c9536bcefaa5fda7338bfe0af792e7d682feeb242facc954eaef4879a72be14fe7c2910bb696b04ff02c59b3e8cf83b4c7541fd89f90e95f6b25d9d09753c8e7830d6d8afd17647b3a976c8187e38337c9b6e14e57d23e47b0a54fe4fe9143a67fc39d6467e0e85bb17ee1ed16ec185319cf91b4e7d4b56c1e2fe36d2aec3d95fbfb2332b77b9564df98529f5fb0e5607b6c92e9ff91dc7f3659e98edcff20fd3b9b0efb8fce92e72bdf91fa8d2cb0367150ff186c317ec6529fd9426c97f1e9eec1963695f1106ec93eed2fe59f2db519f61f5f93978e27e5c5fe4bcb833f8227b05017f5c9f89badb4298e1fbd93e78e21f529c1d6722ae3c5ff01abe365bccc344d2410693f036c331e0fd29f337de031ce27c2c391f1669dc873ca7f43b65dd97ec7b5644be807be520c7b06926db5bd22cfc1a109b6d91ec68d6447ec2fe36bfc44765d793e1ff677d4fed0d715dbe5f9221b6c2fe9df50b227b6235e3fc136e37b2cdbefccd716d077935c783e1105f28fc0fac495f1e0b492a79aedc8f8b57db2e348ff8f4ab0d85f1e3fbe250b91a4bd33f050bf2df59bcfb415eaf7bfc036f37920f3e37c3e9fcd65fc461ed83266525f0fe79bdb73b497e0913cb447991fe78b4b91f260fb425fba32dfc51bb0b027daa38cfff9d2663ef7a5bde62b9bed6f7390ac89827ca983457d321e5d997fe6ba66d1df77605df7106f29d866fbdb9a60d79e4bf90f6063ae833701d998cbf6327e00eba2c1487dc9f690ef3fc86caf3bc86b38539ccf94fde3dc120958fac7823d2ce14ff8eb172cce8ff8b8572ceb0b612f6ba82f90f95398df9e5b72fb9b62694f17feb70d6326dba7c5fd2d1fdbc7882747c40ff22bece5e853c4d7684db65ca97f8478741cb6ef5d24d9b58db93c7f00fd3c51a47fc277c5f2f88d6c1f737fee2d643c1cb66451a43c27b0e631dfc07ebeee79b27f0d600fdf19fa47d9bf2c268b098e0f3f065e20fed6e061ff83ec1f16d34b91f2788a51df18acfba82ffa015bfe0cf2cbf85ccc4491feb49ec0baeb427f4df225dce5f1e1a762d9fe47906f6e4ca88fcc878bcb8fdc7ed82b96f631938197888757b0cefcbfdd802d0bfbfbef606786f14d704766be8ac664e6a740b69fc55214797cf8a5581ebf91fdff622558ea37b2c13afb1317f65cd92bf8373c839d617c20f3f1421345c697b91a7889fc0e7b6aa279211ea0af361cefc23fba8847691fab001b0b0ff914f6d49d39da7f704b667e3bc8fe62618882f67dad58ee3fc2f90c713e8c6fb0bfe530ff6de4784ea4271bf2fa1d58f791ef63c497631b53c47b0f7698ff3632ff2fdc85bb94fbafbf14cbf6ba867fdca518824af962b0c37cb7867dbde594fbcbfe67e12ffca5f4c71afaf86afb5ab16cbfeb48b1946f0cf97d5d77e4fef633d8d061cf24030b7f425ee94f21dd8cf56dc973f0469e5f9c9df2af63f27c85f1d01758245c599feb830de6e3b0033bcc671b99ff446d33eaf33330ceb736c98ba58cb7f581bc5cc9f634467d33a19ff4f7784f36c813b0617852bfd18aec2c647df10e6c8b2198cc871ad859cc10bfd06fbe5c509e84bc5cc97c92a03ed1e1a0ff196dc086e5a13f7f22db88bfe01a2c12aaacef007bce5de6d78df4b76c8ed2dea636f04afa6b9d9257d03f5d827507f6f6b8dd115324b93fe45b2e35c86b0760c3f364fd610b76387e5ccb7858ae96fa0afd770e16fec478c402dbd652ea17366097e3b935fca909f9104f9f647d25eb5bdf900dea73542ccf17db6063ee42de33d95ba03f7a073b338c3f0e06d9833dd790575f5aa86f0bff8af91adac746f6974b43d4877c5d822d7d25ed1dd66097f9732dfba7a5b57456b2be23e2c1d27d47b62f0bf6b20c7f897c3f07db530df343d4673936c6eb1b99cf97f6d2867dd705d95d21fe11af8ed82efdb7f9243bb0e7f659b1b4d7ba24fb2ba99f83f6e5580b4f1e6fc1de8e183ea33dcbf1f0d21df60f5cf06a067b05881fd7f0305e5bc31ede6a02fbac1bf2146c411ecf9a7918efe0785f9c5fea6b2ec0627f9caf25cf56d29fa37bb0e1b03fd0c162be86fe11eddd17fe90faef653e594d8404c8471f605160bfa96259dfd9578cfe7c4d9e6a32be466f60e14fb447d97e85b433f8e7bc1b18fe5c77e439f43bd703637bc0fd0d03e3a9430816f95deebf96fdc5e5ec1afa638fbc823ee62b58d7e1df7004362618af393f606bb2c4fcc820d3fea3883c07bb53b2867808e5fc4e48bf447cadef154bfbf8cf60c3b3e18f006cbb33b457d93faec40001faee0cc5183f6c14233e6fc92bd87bfd4cd634c49f4fd651bfbb053b73f42f610576b589f4ef4ee60b21ad9891caf36dc81af8fcac18f9e10e6c703c31eac91ccf243c9fbdc078662dc72fc21b8686f14140b6e0af0df45d694bd417246083f3cfa8055b1357ca3bfa24afe08f600f766618dfad65fb5b692b3183b970fb4636608f00f268ee722ab76fe07f5dec2fed6fde2996f2f4af8aa5fcdb1bc5a83f243b383e427dbaedcd218fcc5fa2761dfe3375b201f98277b0e52e513fe4b1c4f9647b0b22b247fb1c144b7992146cbb181f1e34b0339d497f3b9fe419daf346e64331dcb4298f4bf634e4d37a605dc69755822d0bf1eecdc98e817c087fd9ce1ced6d87fce108f965fcda5bb2af4bf9430b6c19c84f6e40763d29df01f1ed8a23907f166417f17d84fc977c8af916da9b6b791efa1bf8c7b567186fc667b0e8bfa5ffbd15d9e3f81cf9c51bf4df431e916d119fe6b562f41fdb8175c4afa918eb5390c7b774cc373dd8c7776c8c5f7bd93eb48928523f73af18fda9629cfffcab589ecf1c931d4dea637b60911fb17eb4045b06c6ab7e0fb6a7b0cfc1276b98bff9af60778ef9f51ac78b6c0e7ba490776aadb0fe61bf90077f5560a11ef293b4af26b23be4dfdb8a657c6fae14cb7870a6e4b90e7f7664314591fe7e25af74d8eb032c2628529ef0072ce4c17a34e49b09ff22dfc9f19f36d786fe4623cf61cfac272f515f9790599fbd572cebb3a0cf7cd03f843f16620fac473f92797cfb45d678be9d62f8c3055b4bac6f0519d89e7bd27fa6ec5fb5cb804f9e7fef29c67850e6134de44f5dc6fbde22af189fd78a657e3633c552dff6a458ca97da640ddbd337b20efdfd886c603ddfbe522ce3316fc816b6fbc6c006d65361af95e162fd34647df602fa1e5664ce37bd90ec203e3632df69971f29eff66560c453f34436206f8178d174cdc0fa10fc2dc6bf186f8e6ab0b5b0d0be64fb16bbebb0e718f1a9db130ff1f64b5e79c827682fba3bf43fd0d710c74b7b770bb281f8efaec8be21ebeb568ab17e50802dae571d104f86ada13ed7043b0ef2adc7f3bbf385d4678f78b284fda5fff68e6269af664476e8bf5bb20bff3801d933647c7507b26f60bd00f9c312ed1deb8731d89d603eb791f957b3351bf6b7efc83cfffa95ec215e4e90cfd627a82f833cb63573a5bd4e197989f55bf31d6c2fe17f0ff168bb9325c6c7b08f23f4c3fe8662b9ddbe277bb0bf7d43f60df4df880fc73660efc383625c2f7a225bd8be413cbbe2fc52dfed2bd985bd93924c7ded07c590e79accfa47688fae68ffe8cf2664cae3c11faebbc0786e03fb7be27cb2beba22fba86fd32a96f50533b03e457c663bb26b487fbadc2e1c84f565976c43ffe895eca27fad11afbece7c6ec1dfbee571bcf80cb61d1cefa03d8afe10fd8bbb217be86fdd35d9c778ad93f95717bd21dbff4831f4bb1d18f1b57d22cf10dfe7e9c0d85e1be439da77f10b16f91ceb29dc7fd0d73d835dce7f3a196fc27a53c8d377e49581f1e03759345199ff5ab0e83f713d96fb3ba2054a7bbc931dd86327ed79b126f255fb4a1629401e8ff3cd2c0fd72b0e5332d75bb33bb0e8efa18f43b6113fe18cec329e5fc89e8ff5a61fb20fdecbf8d6e783bdccab8169ef5a31c6af47c532bee26bf202dbd30c2c128e8c979ce713dd05d68b02b28bf972793d30f2a1f306765cd8cb79257bb0a7db83dd39e6e33b39fed517a27e79fc49031b730beb09a86f61f918af46f0cf62b0c706f614bd2df253754366ff78fa225be83f0a1b6c3958cf0e5df060ef704ef6697fc8bf7426a8cf813f96ee04fa44f097986020ff9a378a71bdeb5eb18c9724548cf15240d621bfa3930dc4675f901d0be34dd847ccbf609f31fcb9b20cc46fd42896f2ec589fed22ff05c781a15fec819d29ed29fb0ffdd21f43fe07c5b2fd54776403f1d3edc81eec7b5e8107f9ce4bf2dc423c215e34319e40bcf0fcb6b0b0d447271bc86fa147a63f9c67b03b85fdcff08ff8817dcd5c31b65f910d6c3fe3fcbab1b0a47ec7902ca66c32bee14f5dc887f1cd03d961fb5c80877838bc9167bed4670b3606799a07b28178dc380363fbb6508cebf763c5b2befe89ec81c3e17cbe25e3e58c7c690cfaac79bcb1c4f65344d6a05f08ff1a83bf0fefe439e48f7f154bffd92dd987fc0ee571e718df97a85f8c5e100fdb5c31f47d542cf7374f8a31df8fc90ec71fe83f2ce10f793e07f16c897c2339827c627c837cef9fc91efc13b0fec13fe1924cfd926bf202fa39b097181fa17fdecbf9856eeb1c1f9de16f5bd80febadb662e9af08fd9b2dc69bb8de8ef66c8b78c0f5a8337981fa6dd84b8c87707ee7913cc57c710f7b389722ed190d8c785e235e1d611fcc2f2cb230998ce72fb2011ec1df62fe8eeb3905e24f74efb81e12c01fce100fe18a4c790f1fe425ec15f7e415d7af270363fb06f1e18af18ad4e78c7cea0a79a47df39e6c81039b6c83a33578389f8df6eaba338edf601f315ac378c82c0646be49d13f7ae27cc877dc2efc0ffd42f2a0df2759f3a53d0ae40b31fa473eef1b32db57714b5ee1fce92fd90557c8afbe8807acf77864ae4f84c8dfbeb2a7435ea1fed8276bdc3e25ebd86ef378770e7bf4525f6322e4c3fd1b6bf0a06f5092a96f7820afc83a99f51dbec8ac2fda900db0f946b630be7346607786febb91fd9db0de14bccd0646ff65968aa5bc654e5ea0bfe9e664d144657c3f902db4b798e713e37bdc3ff444f6d03fd80bb033b571bfd586bc803d9284ccf5c6c3f7c0b4ef0aec2e38df96fdbd311305ebadad62197f9be781117fdb9162295fff4136a0cf7946667c9e8e6031fe93ed33b9023b33cc2f828a3cf82b22d35fa141a6fc9149b6184faccfb1a9df12ecae30ffdac0de971b40305e7e20ebc877878e6c5958cff7c92ed8477d7311cf902f26eb8ca73199f21c7e14637df4864cf9a2ad62ac0f0664076ccaf620a2656e603db4212fd07f46a162ac8f419e853585bc4e0f16f6c57cab260ff13f22539ec3af62597f9a931db607d9be8da5a84fda6b9f92391eb5cd81191f6a3bc71fd06f694d6d69bf31dad7d29e215f1fe0afa533437feb6fc98c87a021d3de614236a88f451ef4999069cf684776c11bc4fb6ae87fcd4ab16c0ffd23d942ff520edb3db4371bf65f0df68dbfc98ccf30250ff1e028c6fa4a461ee4b5c994371ece4f79a33dd9633c219e2f0b3a58af9d0e8cfe327d2673bc1d38641ffaadc9d60cfef0a0af36c4b7f744a6fdfd1d59a73fb68ad1bfb664fa233d915d1ff3991b32e5dfc25ffae5062c19af2bb20b8ed1de75311e46ff89f6a90ff60c8f64c6673c27fbb4d79562597f29fb1343fe487fd7035b586f7823b3fe35f29931d867fd445ee0fa9907fb1aa23dc13e7b32f50f7a32fd1be664ca9bdc92295f740d76276013f16e5d16e0643cb6640ff9b5477c5bd6c4c6784427cfd0fecfe1c09077fd485eda888f88bc0297f08f184fc2defe15d9a23e6732e54f35b2077963f4b7d6207f6a90a760bb26733eb847fdf6a5c8fd9f144bf9b7a781d97f586417dbdd0fb20ffd4fc84fb6d007e335f8c3b62dac177868eff610bffe3599fe09d6e4219ed0bfda833e31e555fa54640dfa94e8ef1d2101e623ef6407fab59962cca7612f47c413ae770464cd96f9e8f84936b0dd7b05abf8da90991fc21399f194dc8185bcb0474a9e517ecaebea9c8f815d11ff186fb60323fe1df8db15fd0be231232f219ffd48d66ca95fb926ebd0a7407fe88afe5fca5fa13db843ffefdf90e90fff964c7f042699f9c32ec83ee48dd1ff89f133f4cdc6e439d86ec81ac6336bc483986d62bc962c154bf9928562e42b7b60e4ff33fa4f7134ec735a912d5be6976cab18f723217e3ddbc67a4c85f6ea89f626e549dec80bccefc633f20ae33997f208ff233f0ffbb37dfa776497ed93e71fe2354ec8b44709797dd182303efa22fbc81f3df4f38778f4e00fdfb670fdedf84bb65dacc7c29e62fc8ef548774eb620afbb542ce5f5dec983bfefc91ef3237990f72cdb87351112e1feba162c8ae4e4409ec3bfe9984c7f0713b26363fe628087f94332b08df516ef834c7bfa0f64c65f5a80dd858ff5c5257909796b697f6b2aec8bf1c52ff852a4bddf0746fc989d629cff913cc7f8da1df65f205f9f6df20afee9efc9f45735268b1425e3fd8d6c41ff91091ef2a1bb22dbf04f027da7421fe8c7edee0abc853cb3a17fdc0dbc40fddb7b32f34334275bb68cef3421bbc8175e0db66d5ecfcf0746bcb92158c807793532f383f749a6bfbc2f32e3e9988285bf900f7532fd15f37cae06fd12d9fe443471fd6673040ff29e7e144bfbe63bb20fdec5606782fedad5c9837cdf649ff1057fcf87fe261998f64e4b32e5cb86ed3ab896f9df5a88118c3cdfd6010b7f607daa247bb0ff09f22dec09e43d1d14637d694a9eda985ff460112fc8470699f6f57ec81c7f7988f785d007e3ff1979b0ef1399f2b7f0cf52b417b97f75ad18eb3f1e5814ac97f98a315e700746bedd7d9157d0ffdc913de8b3c9c93eb87f1918ebb33de27129ec81f936e27729f233aef7219f2c07fdd28aacfb98bfcbf193b5121647ff7a475e415eb31f18f26d3dc5b8ffad23d35feb7732e5adee0776301f823d57f614f2fb1979c6f5e61dd947ffe3c2df97f906ae0745e4c19f6332e33379058be117fcf7ac58ea978dc8962ff5e971bc26da07d643478a71fdca20b3bd38d047cc1f309ff2b8bfb02fe4b114c3de2bf28cf136558cebb73c9f8ab717b205790b39deb0c4ec1fe3c7e444e6fae2e60cb627b0dfe6a418eb55378a319f2cc8536cf753f21ccf8b05167981fbd5929cccf9888bf6a82bfb23bfeba2ff96e7df81453a427e354332e37583f833447da83f272fc847c598bf421fc359e1fea7b823f3fab8db903dc64742663cb8d0cf50fe71c894d773c9f44f5a936dc68ba518f18ff62c7e10df35f6b784bc789e03f6b144fec4f801edc552fef715c3ff0f64fadf9a900d5bea97df90597fda901db03525bb68bfd64cb16cffd9d3c0d83fc2f96d8beb5fe6996ca3fd26f08f3de8e39fc84bc4cf08f6b39d29daa7e39267583f74d19eedc1be69477660cf63ae18f2cfc95cafdd427e478c7fa4fc67e44747c883eb6d9f645e9fda2c15e37ea6823c3c5f5692356cafd07f3a8ecef16c4c7671bdd545fc3983fc6e4e1ee2a325d39e39ea73351df7ab6d311e73458de85fc76417fa6c601fd75e207ecedc5fc88bf1d64a31f4a9c806eeefac79be613e35d6c88c77670d16f223fe4f64ca9fd964cf477c3c937d7082edded298627c84f18027f23bfc130c8cf669727f212faef759640decd764ca7ff215cb7848787e316194fabab0e765fc0ffb97e405fbe784bc847e5b39deb77c8bf301f37e608c4f4db59dfd25fced8b7881bd7bb28e78df688ab15e3c6cb7f0fce9d9532cede56cc043bc3867f28cfe3015439f8a4c7d32b427df9bd0fe723c624f96fa14eb9373f030fe4956e419e6937d425e401fd32153fe7460deef987764ea934ec836b8cac0a27f433ea13ca281c8fab24ff0d0bf395bf2e0af9abc607ef3c0423fcc375f14cb78ca5cf214fa17723dc49e1accef5100b6b87ed2bf8385c4787ee49e3c05e73c5ee827e5692cb28dfbd79c1d58c5d309eccd507f25c743f66ce5e2fed7d3086cf07ae816f69f0de315f385acc17ece8c6ce37ebd644be6f331fd37d9c5fdf996067634c46f0d7967c2be78de654fa6bc0ee513f18ff51bc83f1bec97bd9267b06f82f3cdb5299ef73bbd915778beae3c82f5399eef38231ee4039dd29e2599f3b77345f6a15f0dfbcc87f51bfb953cc87b4da6bcce0d79053eb27e918f101f94cf9b43fe23e45f68733c2f98958aa57dea9cbcc0f394e592bcc4f355e9ad62e42fc4efc2e6f3d8ed3b99eba5e9836279bed3a7621c1f0e0c7ff729d9427e2b86e31df8371dceefe279740bf1b218da8b43f9943de664dae35880077ba4b0df7269e3fd0909fcb5d46c3cffb385fe4b91df903fbe14233f7f931de4836cd8ee215f64be62e48733d9271f14231f456067c1ebdd2d58e887f5bb37f292ed2d23fbf4f70758e827fd75d414233fbc9317e03d8ebfdc902ff509be14e3fafcf7c0c8e7e64e31ea1bb63bcc978f64dedf1a3e9319dfc5bd62d93e13c8b3722668cfa7ef81e1dfe65931ae1f9dc97cbedae6f1833dec0f32fdefdc9175b4a723e27de52d690fc49fb6f2f0bc7ef6a318f307e47b4df3707ff901f9588407e2b93c91b9fe72b6c88c57f3894cfd53e8a7097d71bd6e411619541ebf25cfa06f3f252ff8fc1cdacf657e83f8d6c1deca97fe2ae01f7d35c7f369e986ec531f1caf6b7c9eb0467ce8fa0ccfd3f5d04717124b79b76b32df57603e93e93f13f1a20ffa6467f2a04f449ec19fee8b62b4d75031e29be753fa213fea837e479cdfd016785ebd817f0d6385f5bb1df297bca020e5370666fc6e14e37aca2fd945bc1e7bb28ffeee0c7f19437c9ad1c0d027199367385ff13930fc95b78ad19f3f93e7d037fd202fc039e2c718d67f6cd62fe2576eb7d07f19de1cfa1dd1deaca58ff7ab84c87f96f010c6fb2f64ae47ef4603233f6d7f14231f1f14c39f01d9477edf5e0f0cfdcd4fc5b83f0ef6b09c29ec691e06c6fef1913c87bda278605e0feec9b447ea2ac67ce84931d627a9afb3c4769bfab806f3e5af62bcaf01fdbd25ec87fcd89035c6574dd6c9b0973dd8f7047fc99f0b6fd07eed41dfe88ebc0007a381215f3c6ca7bcce5c31d66f1fc82b6c8f22c568bf1a59c378b5d307a6fee8bfec415f7b4ab698ffc8627c83f85991d91f64e81f9dd56c8aedb0b7a3f3f9e8930dbe7854fa1bf1e0087fe2fadc1d99ebbfc1efc090bf6ec9d42fa91563fcf9a8581edfb03ea11f9e67fd518cf5b64fb28bfbbd0ef087e32e31beb576640dcfefe5ef64ae3fda3332ed93239e1c610ff447886777359d221ee14fd7e67ad6f67760e4f79d4e667bd8a17f7545fc4b798e07f212f17decc82be6939d62dccf7ba758ea9b9fc9f4f7c9550c7b8f154bff35af641ddbeb46b1dceec78aa5be9d4936b07f85fec015f6c1fd7518cfb8aa7d1864c347bca37d782242a43d9a3199eb99be3e30e6bbdd5231fa03ccbf04c15e8e415e227f9e86ed2bdcff9b7e92191fce5231ee9f1af6e7fdddcd8b62c4f79b62aceff68a71fdb624d31e6da118cf2ffd902d703723db389f8df6eb0df6b363c518df623ee709fb613e497b7936ec99c3bfbec6e72b5be8e38be10cf237e2c71fe2c139900dcaff4b1ee4cbc836f986ec40de31ec29b23bd6076dd627021af106fd7dd11fcbf3e723b205796b692fd15b72fd346b144b7fe60e99e37df793bc427bf087fd35e493b226d37f279d6c808fef8a713ffc2fd982bfca33d9017747c588f707c5b0d7b7628c0f2cb28bede515d89de17a40dc9297e88f4f6bb2c5fc92921de6df0578187f1e9764da3391f1e44c970eded7965560c3c3fdc9fe0a2c3c86fcbb075f8acc3727c5e8afab81d99faec94bf6f73d99f63dfa64da33df922d6ccfd68ae1bf57c5982f6fc88c7f27522ce3a37827bb8cbf7bc5187f0ee7f7c0ddad625cbf807fc56802f9de3e90199fa33bc5b07f46a6fded5c31ee4f98907d8e0faec11ed7b3f217b2eb63fc8ef3cfac199f37447cce8484b81ffe913ce37c713230f257f241d630fe397e9369bfd423d37ede5931e265389ef1ba7b2273bed56f06a63d6dc5886787cceb41dd9d628c2742b0b0af6cbfe94231ee5f0dc853bebfe799ac21fe4739d966be3b925df6afdcdf73902fb6d06f3ee4e3ed1599f9d649c96ccf894966fe4a1ac5d0f799ccf69e6f14a37d0503439fba23f3799fe68d3cd86ba88ff6ea776077423e2b86fdb68a71bfcc17798aede33999f198b33ecf437ce5af64df97f9af41fc2f34be5f2bc7f916fa0aef4f3171bec5103fd13dd9467f60ce14e37ea50d99f92fbe578cf5105f31ae770764b6cf7c4da67d8a47f2601fe8bf18ecd1ef15c31e9467b0475f29c6f376d78aa5be45461eae0f20de1743fcf888d7a5c3f735ec0f645ebf38bf931db4bfc35931d6875b32dfff95998a717d7c421ef47d2253dfd354319e17433c2e87f838cd1443df2579d07fae18faa703a3fdf50bf20cdbcfae62699f4e1b98fb97e439b68f33f202f75f5b3f64c6dfe88bccf65950de211e53f863b59a4ef03c0ff4bbbc6001ed773f30e223cec92eec5db98a61ef4e31ee871a29c678c7267be86fd2a962b97fd22bc67ad9994cfb1768ffabc1dea7b962ac3fbd9069ef7e45a67dab17c5b83fe0933c877dad37b2cffb33d07e343182c57c1bf6b93cf08beb7d07c5e86fa703237f791b32e3314dc97c1ec889c9d4377e200ff1662a86bfbe1463fe0eff68ca1e0bc5d0d726331e8b57c5727bd99207fbbc2a867d34f29cf1192bc6f5b8c3c0781eee182996f154adc8bc7e685564daf78478d286f1713127333f1e21bf6e2dd01f2753b283fbbf1297cce78b33f4d7baf017aec7a17fd245ff83e7170ab20fff64d78a713cfa277db067fca818f60f14237f8dc9b4671a2ac6f8b623d39ec51b99f6ab9e0786fdaa61fb82f65d0f8cf83cf7e425f62f7432af475ac887ba37a17dd17e747f82f69e61fc68ac16781f5f0b7f1aba86f7319eb6641fef2b3aa2bd5c6e6fc5f3f82699f16a3e907df637c89f866a8f5f0343fe644da6bde267c5b017eb57f1e890077bbd93699fb21f18e7afd78ab1beaa9397d8def88ab1deec9275bc5fcdc2f8cb18ec677d92a7e42fc5187f3c92d95f55e8cf2f17e4313f741463bd351918fa2523b287f9f0ce23b37df7684f966abf23c5b0df8b62d8e77160e85beec8b467fcaa58ee7f0a07c6fe71ad18d7bf9664e6c7ca27d3ded50799f63d9f15c3bec3fe7c9ecc62fdcabedfe4c19e77648beb0f685ff68aefcbac914f6c7d81f7a3dadc2e0a9e6f477eb58778f3d664da277e2353ff643330f63f1964ea9b9b8ad13e3d32e32bf115633ce29097ecbfa703d35e8162ccef86fa578cdfbf329e470b14e379e484acd1be833c8cdf7ad0cfc1fd94d696cce7356ce453f183f5a81de477067bc5ef64da239d91a97f5b91a9ff614da63e55a858ca5b6fc9d4a73a28c67693ac51bf94ac83c7f0b733b4bff299ccebb556445e20ff583199d7e7f37b32db67fe4076c125c64fae36c3fbd23cf487ee601fdb528ceb3323b20bceb8bf882f797cc5fd85bd707fcc3799f6da3d93979c5f7f0dccfbe72332ed53c5e4c13e9477b0cff9a818efc30ec806da5b897c7459cfc3fd022ed986fd0ad8dbf5a7e86f0bf40f9e61e07d2b1ec63bded0beda23d9433eebe281618f2df28f37e89fcec9cc17ee884c7dcfac6f887fd7520cfb8d15e3fd3b2199fa3791626cff522cc7a7fdb0bfc1ed9e62bcdf16edd513f184f5776cf78505513fda8b3fc8d31cc8437d317938ffb762dc7fd790397f6b3e0766fddcee2d78ff6240f6d15f9788575f4c0f311e92ec4e563adeafd73e810d0def5b757ec14243b4ef042cda339e77e0f1c2feb85ee590a99fb725f3f96a6fa718f787fc90a96fdb2a46fe33c916edf1ab18fe3014e3feb2e17c36b657bf8a319fe1f907fbec647cb897f521b4a7804cfdbc3d59c7f15d47a63f9a0999f23433c5787fda814c799aa962dcff30538cf73d398a713d634e76b07ffd4ee6fdd316e519f4b17af2127c2ac91ef253c1fafd19fc9fcafe53f45e7c7fd1d1532ccf9f7f92990fbd2b32fde35d2bc67a73471efc312153dfea5331ae8fcfc90ed61babe9c0d8bf5928c6fc7346e6f31516ec7bb9ff067c26537f6bad18f73b6ec82b70a181077b14ac6f681fadcc3feedc58e07e97f6196cf379f8f31b58e45fac37fe90d99ee30f32e3a5fb26d31edd8f62cca72dc5a8af27d31ed54c31d60f9764175cc39f62b481fbefc70b32ed51d58ad1df0dbca2bd4cc5589f66fdfe02f628efc94bb2ccbfeec29ae27da23dec7179e135da5f421efc79528ceb0f47c5b2fe7349a63eed5c31aec71464bebfb8ebc93e9e0f1bc31e8b41df3de45bbabc7eb6d506e6fba007b6797f414676f0fec8f64ca63ccd4a31e6dbb962ecbf267bf4c74e31e4afc83ee5df28c6f38bdc2efa4fdcdf05fbac44f783fe10fe5c89fc2a8fdfdd91f9becb6d4b1ee2e99becb0be613bf5a9e6e4413e4d31d6534f8a717db02453fefa4131fc077b88de17dcadc9533cafd69dc97c1f888ded9acbebb9c53599d7e776f764eab77b508cfb135ec936dfef38233b687f4e41a6fcf523d9a73f6bc578be64a118f957570cfd11cfdaa05fbb518ceb13bf8a713d98e717f905fd2feb1fdacf11ed5f1fdac3ae528ce353f2e08f5231f4399319ff2de25f1fe46b72c5906fa218f3eb6a60dc2fdfaec853ea6b28c6fd9905d9c37caac4784157f901fe302c03ef976c91efe503a3523f4731d60f6ec88cc75da918e3e93d99edc9a914e3fdbacf649fd7ebac8119cf0d58c80f7f998ad15ec78a31fe199167dcae2986fea962b4579e7fe82f4e2d99f6387564fabb95f36b317ae3f54bc723f3fa719f9339be731f14e37ef66fb2437f637c650df2770579907fa718f39907c578be91e7f3e6dc4e793c83fda54fb638de0fc1cadf77e415f5c3f96d6b86eb0d6d445e2e653c94684ff286880b4747b2c7f514d8cf56f2eb8ae11f43b13cbee915c31e1699fa44a962b97ffd425e22ff580199fa5921d90697c8078ebec4f76c5af4e797091bde7f6e28c6f3ad39d9c378323a917d72a118eb33b78a713f9a0bf6f8fece28234fd97f7664da27ff508cf8b92253ffee8dbcc0f90be40767f0570ef92e091bfd35ecefda53bcaff288f6e5babcde93756417ed77f742e6fb66768f641ff97ea729867dd0be5d8fdf43f16e14633c5e2bc6f5ca3732dfc7e4ba64ea3b0ec9d4b7dd9317f4f787625c6f1bea5f72fbb362dccf87fc24669fb8dfcd3a92b93e796814e37b04c847dea0cff94731f2d96260c8bf9b2bc67c63469e82eb27329f1fb45cb2c3f687fec71bfcd7c07ebea5e1f9970efbfbce12cf1745184ffb2ed7ff76e4a1bedd4431d6079ec8ec9f77bf8a315f75c873f8b3677d83fdfa3bf28aed71aa18f63f91f9bece02e3777fd0a792fef326c614ebc79d03762678beb6f3c02eafdfd92ed9837ee11dd8e3fad3ee874cf9a30599ef2b6d8e64ca173d91395fad6f1443de08ec6b903791f9d39bea1ade9fdede832d1fdf33a921dff472c7acec6f0bf0a54548ffea647eefc8e5f19722e55f91f9fc8a85edb361ffe0137c29d23eaf641dfe396d0686bf470999cf1f153178d0e784e3e79a83ef6b743ed8e3fa6d5e91e7e0dd72603e0f61929788dff1bb62b4e75631ec9d9057cc0f2b329f1f2e8e8ad13e6ec97cbf6c610c8cede50b99ef0f48653ef416ba31c7f806f1b1b0f97d81f80416233cdc8f0e7d171ebf0fb46bc84be6cf9cbca23e9d62f4cf67c5f8bec570bcc6ebab3699f2d7d7640bfad6c3763e5f3ffa25fb98af8d26609fcfef142bb20eff65906fa96bf8fe570b7b2ded15de97547f811dbedfcfc4f9961ee743bb9e4cf9cb3159a3be6bc5d0676083ed2925539fee9d6cf3fd7f9a62c4e3143ce8d341ff953bc5fd21fb10ec71bdbf6ac83afbcbcdc0b49f43e6fb329d7a606cefafc994a71b2b46ffac2bc6f34eb764ae7f478662f8670b1ee41ffd90a7bc3f0bedfdf2c263bcaf7149e6f9a347c5582f1893797e1ff6babcd00ff7637e92f9bedfea8b3cbcbfea4131e60777643e0f5b2d15e37d1fa562dc4f4cf62df62ff0afe1acf8be69d8f3f28213dc2f5728c6fccc24b3fdedb664eabbdb29c6faf6824c7deb3d99cf13379962ec8ffc630cf265f087a51bf87e448bf8bf3c2089f9c69eccfa765764be0fa2bf21f3fc23e4734b8ce7f1fd33c483bc2155f22b99ef87dedd90f93ce8ee5a31fae347329f0fad51bf883eecdfa27fb85cce97f13842fe722e12caf89d9039deb7378a657cb73764bebf76d491f93ee08ee7f3f9be8823fa0f57e7f71c47a8dff5f8bee5d42273fe55f703f3fe43ecef0df28c5a32df37daa17d7a3edf2753df2b96edb7fb20f3f9ebd191bcc2fae418fd81180d239ec62699df2f18c78aa53c2f1599e3cb11eceb0fe76be5f8c29fb813bc2f79bc01abf38dc81ec7935bb0cff150f7459ea37d8caec91ae595e3017faa8eff20733c1fe3fc539fefa7696df202ed73744b1ece0779673ec7bb238fccf7e98e53c5681f1f64ae778df6e4e17cd29fa2f629ed6390f93ebade27f3f8b621733db0bd226b9037813d16fa14df2f6ece609fd73bda0999c737ef8af1fcee1d99e71bdd900dac8f3432bee4e7a370bf6145e6fee75bc598ffefc8168e3fcb78bb7cfe04dbfb80cceb55e71bf270ffb1cc87bee6ccf1fdabf30358edff4836c84f8ad15fc1bfbae267b205eee13f63e04cf6e7be65f0fb72d981bc9c61feb126eb33dcffec91fd99f47f0aff5ab681efe1b435d8b761af54b617df362c3c9f967f83add50cd7a37764778af59723d85ee0fde31df4bb3cae85f673ad18e32d99ef2f9f87c1f1a545f6205ff90676f419fc8fe31d57c3f77fda10ece9781f7af7091eea1ba564de4f56a03dba8636c37c14f1e30a83e17e711d6cf37b0a55077667f87e67ed916dccdf6bd843cc07f1fdd46643b6f17c58eb807dde2fd0e564decfdbc1dede205f29f395efebfc5e5c619257b8ffad8cc9fc3e65b1211bf8fe6d39237bb81fa1582bc6f923b28feda717b031e1f345cfe439ec5f9cc9fcfe766e0c8c782aa7e415be97571e1463bdff89accfb0bef5a818e3df9eccef7797e9c088dfd303d9019721d9c5f7c5cb09d903575bb28fef519773b035c17caae8c853ea7b4f9ecde06fdadb9af3fc017981efade5fac078febafc252fb1fd74475e617e50b4640df39f7c45d6f1bc76be241b644d31fce5936dd8bf6814c39eb703cf319f5a0ccce37fc80ede3f90e76417cf4fe7837dc4905f9eef86ece3fb9dd54e31d6e710ffbecdefbd17b562e43fc6af1017f5311eed19d7ebbec9733ccf54a70363fc70ba1e18cf8b16157981e7494b97bca4ffaec82b3c4f9a4f07c6f7c48a92ccef9b975f649dfe18e4e5f7e26ab62fdbe0f9f703f3fc9381f17c76aef6c7f1a543b678fe413f7eef2d67bcd8fc1e56cef6683bf8fe5f7e1c18df3bcb33c5d2dea54d7671fef253319e2ffb1998e7677bb4f97d918af9c299207ef27060acafd794c79962fbf17660bc5fbba63cce0cf3dd3c1818df972a3fc8737ccfbd9e0f0cffe68c6787dffbab989f9c15e387f1e268d0a77c578cedd4c7d1d15f1c7703e3fecbe35e31ae87303e1c03efcb3e323f0cefd73ede2846fb67be736cf46f47e60387dfcf395e0f8cf79bd46c6f8e8bfee338d8d7c5fe35e3f1728390e4c1deecdf32b67731bd427b633e7427a8bfa67ddd05eeffa9197fee0a9cd15e2edf37910ddbf97edb6caa18dbe703e37d4435fde11a333cef930d8cf5be6ca518e7a3beae85f749d48c67570480dcbe1c18cf5f36f487eb62fdada1bfc4f411f341fac7e3f7936ac6af37c5f952eeefcdf17e9d86fef316e84f32c6aba7e37e928ced4dcc30b13ffde7591c1fc503e3f9848ceddfe3f32a2deded2f10ef2df39daf8153d62f3a54ec4ffb89048ff93bede7f3fee097eabf5fc6a3b135b6c7ced81d7b637f1c8cc3f1611c8de3ff2fc7fef7651827e3749c8d8fe37c7c1a17e3725c8deb71336ec7ddb81f9fc7ebf1e67fad0c6373bc1defc6fbf1d5f87a7c33be1ddf8def6579183f8e9fc6cfe397f1ebf86dfc3e36ff57c930fe187f8ebfc6dfe39ff1ef78329e8e67e3f97821ca72bc1a6b637d6c8cc6a3d1c81ad92367e4feaf9061e48dfc51300a478751348a47c9281d657f578ea37c741a15a372548dea51336affbd328cba513f3a8fd6a3cdc81c6d47bbd17e74f50fe57a7433ba1ddd8dee470fa3c7d1d3e879f4f2ef9361f43a7a1bbd8f3e469fa3afd1f7e867f42bcae44fcb546c9f8de6a3c568395a8db491feef9161645863ebf2aeb8cbcba2700933f8a725b40e5664c55662a5a3a59559c77f870ce391955b27abb04aabb26aabb15aabb37aeb2cca5a958d2897ff9bd6d6da597bebcabab66e460bebd6bab3eefffb32580fd6a3f5643d5b2fd6abf526e4a8ac77eb43944febcbfafebbf263fd5a136b6acdacb9288bcb7b312f9fe2fbd73258863db62fef75f8c79fcba37697db43033bb40f7664c776224a6a67a21cffa1e4f6c92eecd2aeec5a94c66eedceeeedb3bdfeaf65b037b6696fed9dbdb7afec6bfbc6beb5ef58ee4579b01fed27fbd97eb15fed37fbddfeb03fed2ffb5b941ffb5794897c8315cacc9edb8bcb07bae547010d67ec5cee9fb72fb7383bde7f258398c4064ee81c9cc8899dc4499dcc393ab973720aa7742aa7761aa7753aa777cecedad938a6b37576cedeb972ae9d1be7f60fe5ceb9771e9c47e7c979765e9c57e7cd79773e9c4fe7cbf9767e9cdf3fe68abf95c199385367e6cc9dc5e503e1978f083a863b762ff70bd8f21af5e5b60adf0ddcd03db8911bbb899bba997b7473f7e4166e294a254bed366eeb766eef9eddb5bb714d77ebeedcbd7be55ebb37eead7be7deff3319dc07f7d17d729fdd17f7d57d73dfdd0ff7d3fd72bf29c58ffbeb4e2ef757ba7377e12e2ff7fdc88fe38c3db94a8b954db99ce87b81177a072ff2622ff1522ff38e5eee9dbc62b4f04aaff26aaff9673278add779bd90e0c53b7b6b6fe399ded6db89b2f7aebc6befc6bbf5eebc7befc17bf49ebc67efc57bf5debc77efc3fbf4bebc6fef47945f31019f5eae7ac96b3fabcb070b3dc31ffb5c6bb9ac07882143e0877ff5c6dfcae01ffcc88f2f32f8899ffa997ff473ffe4177ee9577eed377eeb777eef9ffdb5bff14d7febeffcbd7fe55ffb37fead7fe7df8bf2e03ffa4ffeb3ffe2bffa6ffebbffe17ffa5ffeb7ffe3ff6285d2bfdc9777592bd3fe890cba6f0463f72518891467074ee0065ee00741100687200ae22009d2200b8e411e9c822228832aa8832668832ee88373b00e3681196c835db00fae82ebe026b80dee82fbe02178f4bf8327d1c53d072fc16bf016bc071fc1e79fcb107c05dfc18f90e1379804d36016cc8345b00c568116e881118ec351688576e8846ee8857e1884617808a3300e93300db3f018e6e1292cc232acc23a6cc236ecc23e3c87eb70133c8666b80d77e13ebc0aafc39bf036bcfb7319c2fbf0217c745f9c79f8143e872fe16bf816be871fe167f82564f81632fc84bfe1249c86b3701e2ec265b80ab5500f8dc3f8303a5807fbe01cdc8377f00fc1213c1cc2fa101de24312ae0fe9213b1c0ff9e174280ee5a13ad487e6cf6538b487ee22c3a13f9c0febc3e6601eb687dd617fb83a5c1f6e0eb787bbc3fde1e1f078783a3c1f5e0eaf87b7c3fbe1e3f079f83a7c1f7e0ebf878990657a981de687c56179581db4837e300e71348e469115d9e136722237f2223f0afe990c51181da2c87d89e22889d2288b8e511e9da2222a45a9a23a6aa236eaa27e90203a47eb681399d136da45fbe82aba8e6ea2dbe82eba8f1ea2c7e8297a8e5ea2d7e82d7a8f3efc8fe8d3ff89bea2efe827fa8d26d1f49fc8308be6cefc628768112da355a4b1e891118fe3516cc576ecc4eee125f62e1688fdc3771cc46174150b65e3384ee234cee2639cc7a7b888cbb88aebb889dbb88bfbf81cafe34d6cc6db7817efe3ab7f1693f1757c13dfba2ff15d7c1f3fc48ff153fc1cbfc4aff15bfcee7ec71ff167fc157fc73fb117ffc693781acfa25d3c8f17b2f665bc8ab5588f8d649c8c124b74664ee2265ee22741122687244ae22449d2244b8e499e9c92e2cf6548caa4bac890d4499334f17dd2265dd227e7649d6c1233d926bb649f5c25d787f7687df84a6ea27d729bdc25f7c943f2983c25cfc94bf29abc25efc947f2997c25dfc94ff29b4c9269324be6c9225926ab444bf4c448c7e928b5fe5c86d44e9dd4bdc8907a1719523f69d3200dd3431aa5719aa4699aa5c7f024e2709ce6e94978204e8bb44cabe425add3266dd32eedd373ba4e37a9996ed35dba4fafd2ebf426bd4defd2fbf4217d4c9fd2e7f4257dfdf35c3dd2d3b7f43dfd705fd2cfd4a3145fe977fa93fea693749aced279ba4897e92a32532dd553231bc7cbb41443682b6dc510c2c9dccc1bc5999f0559981db2288bb3244bb32c3b667976ca8aacccaaacce9aacfde3b8f28f32645dd667e74b8fe52cb375b6499accccb6d9ce3f5e6c91edb3abec3abbc96eb3bbec3eb9cd1eb2fb78953d262fd953f69cbd64afd95bf69e7d649fd957f69dfd64bfd9249b66b36c9e2db265b6cab44ccf8ce3f8383a5a6280e31cddc11b7f94e1e865fd25535f6438fad93af58ec1313c1ed200517191c25b1fa3637c4c8e69767fcc8ec7639e36d9f3f1742c8ee5b13ad6c7e6d81ebb637f3c1fd7c7cdd13c6e8f3b59f6c7abe3f5f1e6787bbc3bde1f1f8e8fc7a7e3f39fc8f0727c3dbe5d64483f8fefc78fe3e7f1ebf89d9997a81032f4f143b68f1f8f3fc7dfe3e4383dce8ef3e3e2b83cae8e5af67ed445fd463ece47b995dbb993bbb997fb799087f9218ff2384f6489f334cff2639ee7a7bcc8cbfc1f64c8ebbcb9d8216fd3cf6c9d77799f9ff375be810c97b69a9bf936dfe5fbfc2abf3e2ef29bfc36bfcbeff387fc317fca9ff397fc357fcbdff38ffc33ffcabff39ffc379fe4d37c96cff345becc57b268b99e1ba7f16974b23092f9a30c27fbe49c44ab709f454c7e9ebc939f9c4f8190622d5ae7397e3c8906718a4ef12939a5a7ec743ce5a7d3a93895a7ea549f9a537bea4efde97c5a9f3627f3b43ded4efbd3d5e9fa7473ba3ddd9dee4f0fa7c7d393f8f37c7a39bd9ede4eefa70f44e6dfc8f079fabaf416eeb3b33c7d9f7e4ebfa78928d3d3ec343f2d4ecbd3eaa49df493518c8b51611576e1146ee1157e1114617128a2222e92222db2e258e4c5a9288ab2a88aba688ab6e88abe3817eb625398a26c8b5db12fae8aeb7f8c87e2a6b8850cc55d715f3c148fc5d369563c172fc56bf156bc171fc567f185b810527c173fc56f3129a6c5ac98178b6259ac84145aa11746392e47a555daa52386985ee99741199607d1e9c465528ac65c1ecbbc3c95c53fca509665051982dfe3a1ac4fb3b21112bc966dd9957d792ed7e5a6344f8bf8b11897db7257eecbabf2babc296fcbbbf2be7c38f5e563f9543e972f4286d7f2ad7c2f3fcacff2abfc2e7fcadf72524ecb59392f17e5b25c955aa932c4dfc86054633182794edd28aa4695256c20261c17092aa7ec2b470c98bdcaaf822aac0e5554890ea94aaab4caaa639557a7aa28e2aaacaaaa2e5faaa66aabaeeaab73b5ae36c21a428acaacb6d5aeda5757d5757553ddfe79aeaeeeaafb939b7ec477d543f5583d55cfe21f8517aab7eabdfa10e5b3faaabeab9feab79a54d36a26cbbc5a54cb6a5569955e19f5b81ed596985439b55b7bb55f07b518c6d4511dd722fdd7597dacf3fa54177559aa1eeb6f65a8abbaae9bf82e8aeab6eeeabe3e572ff55a58e0a3de8862d6db7a57efebabfababe91e5b6beabefe371fd503fd64ff573fd52bfd66ff57bfd517fd65ff577fd53ffd6937a5acfea79bda897f5aad66abd369a71f20709fe568666d4587513458d7d721bbb711ab7f11abf0984e585dd9bb03934511337497dd388e458efc5ef639337a7a6a81f9ab2a99aba699ab6e99abe3937eb66d398cdb6d935fbe6aab96e6e9adbe6aeb96f1e9ac7bf95e0ef64786a9e9b1751bbddbc8af2d6bc371fcd676d365fa27c373fcd6f3369a6a2ccc4ffe7cda29a36cb66d5688d2e24c91ba31db72351acd66e9dd66dbdd66f83366c0f6dd4c6ade880eba2cdda639bffad047f9421f86c4f51d416b2fed7b6147faab66e1b514fd4b6cdacedaa49dbb7bd48466751d6f54ee82e8619eda6c95bb3ddb63b51b6edbebd6aafdb9bf6b6bd6befdb87f6b17d6a9fdb97f6b57d6bdfdb8f3f5b93faab0ced67fbd57eb73fb214e2cfaff85db5132187d0bd15f1d7ce45598b289cb70b5196a2ee95289aa85b6f0df1dbe8c6229046edb6b33abb733ab7f33abffaec822eec0e5df4d7d1fc3f93a18bbba44bbbec0fe5d865a7599376793be94ef5433b87eea2f6a6353b91fc2eba57dfad557d77a5d8afeaeaaee9da4e58acebbb73b7ee368d56bc7666b7ed76dddefd871598bf97c13f7457dd7577236abe15e54efeedbe7be81e9ab87bec9ebae7eea57bedde44bda6b4be29fe66b5fbfaa67bef3ec4d6cfeeabd59befee22c477f7d3acbadf6e623d74d36e266498778bbf8ea4ffa91d96ddaad344ad7a67f4e37ed4ddf4566f75b7bdddddf74e75e8ddeeabf72eb6eeaab6e9fdb669277d70f997b66e3eba77d136a23e6c26fd4158e1bb39f5511f8b0e3f6d22a1c7759ff5c7fe1fa2f1ef65e84f7dd18b64d0d77d2342afebfbfedcaffb4deff466bfed77dd5dbfaffcf6dc5fd5b7fd757fd33df6b74ddadf09ab4c1a913545bbfd162de757c83015b1bbe9effb87feb17fea9fc519aafea57feddffea50ceffd47ffd97ff5dffd4fffdb4ffaa990c191e5dccffa79bf10652ecab25ff5da2577967daff7fa257b89faa504bd51fd36d38b0cf5c3797c1e9dadb37dbe2cdab867efecb77fb22ef8b7329c8373783e5c6aecb27324869683047f90e192bbcfb1c8deefbd8eec290616e9393b1fff5e866679cecfa7735125e752ca509debf33f592dfe830cedb93bf742bfb7b23f8b03abb7f31ae5f22fd5c759d62832b62973662832667c362ffe6fe6e83dcea5c858226789dcfd70693da2d55aedb6c9c5b1ebf3f6bc3befffa50c57e7ebf3cdf95664c73f29e7bbf39d687b7f53ceb7e7fbf3bd884b55ce0f7f288fb23c9d1fc49e4f5d7b7e3ebffcb5affc2732bc9edfceefe78fff66f9fc93f275fe3eff9c7fcf1367f22f64989e67e7f979715efe5d599db5bf2bba287ffbdb10bf57ebf179b91eadad3f29f6da59bb6bef5fc990da6b7f1dacc3f5611dade375b24ed7d9fa2806b4a775b12ed7d5ba5e37eb76ddad7b1122ebf5666daeb7e2f76ebd5f5fadafd737ebdbf5ddfa7efdb07e5c3ffd4909d6cfeb97b2f8af6558bfaedfd6efeb8ff5e7fa6bfdbdfe59ffae27ebe97ab69eaf17ebe57ab5d6d6fadad88c37a38db5b137cec6dd781b7f136c42f1f7c326dac49b64936e323116166573dce49bd3a6d8949ba3e44a8474f3f7bdf6dfcbb06937dda6df9c37ebcd66636eb69bdd66bfb9da5c6f6e36b79bbbcdfde661f3b879da3c6f5e36af9bb7cdfbe663f3b9f9da7c6f7ec4df7f3793cd7433dbcc378bcd72b31245dbe81bc31c9b23d3daac4cdb744cd7f44cffbf96c10cccd03c9891199b89999a99793473f32486e2a559999726d9882ea2337bf36c0a37981bd334b7e6cedc9b57e2efd7e68d796bde99f7e683f9683e99cfe68bf96abe99efe687f929f8cbfc367fcc5ff35fc483391532ccccb9b93097e6cad44cdd34b6e3ed686b6dedadb375b7ded6df06db707bd846db789b6cd36db63d6ef3ed49fcbdd896db6a5b6f9bade8b8b7fdf6bc5d6f375b73bbddeeb67bc157dbebedcdf6f61fc72f7f2bc3f66e7bbf7dd83e6e9fb6cf9b1f73bf7dd9be6edf444defdb8fede7f66bfbbdfdd9fe6e27dbe976b69d6f17dbe576b5d5b6fad6d82e76e3dd6867edec9db37377dece1725d885bbc32edac5bb64976e1f779998f8e6ff2a3fec4ebb6257eeaa9d1824886141b7eb45398b3febdd6667ee8442bbcbcf7e7725ff762de95afecbb5f8972bf9fb6677bbbbdbdd8b3f0fbbc7ddd3ee79f722fefeba7bdbbdef3efe75aeceabdde7ee6bf7bdfbd9fdee26a24cff5066aacc45b9fc7ff127bfa7f2cf5fcb72b792ffd776faced88ff7a33f93e08f328cdae6716fededbdb377ffcdc5dbfbfbe03cd987ff4a86972a29f6877db48ff7c9bfbda4fbec9f8da2fe7e4d6ca4bbf7edc7bfbf44d33fcf907f26c3ff3fe53fff9ffffd3ffe5f13097776 789ced9c597324b9929ddfefaf689b781b93c5e4be984c0fcc85fb92c99d94e901b1ef2b93db98febb103827bcd5d565b7eb8e46d2cb2d7491f5352280e30e8703810cf2dffef5b7e7ddd56ffffa6f7f6bdfd45becfee646aaf9ed5fbd439e7ffdf7fff1dffefd6fff329bfca6ff1b8ec783df46fff25ffef62f4df59bfb9b35583aa3c1c270d9f170e18d86e0c2b0ef4c876ec7ceb4e3f1683c1c0f3a2e5bf268bcecd8fd36dcfd31edbb63c3135dc6e6fa776165f8cbf05417c730da9fe9025e099bfeeb3bc3f3f17c62da2f178617baf81d5796e1a52e86cbad61a53930fa67861d5d4cffee91b0e9cf9d18767531eccc0dfbba78a67e258cfe963d4f8cfd8ed133194c06e8cf5df73c31feaa3cc343cd53a3cf210f27687f6378d415d39e695fbb8bec4ec963707d6f58ff990e4dbd6d78aacbc4f05618fdb93df3fa63c3f3ae1836fe9b2c74315c7a3d4f4d7ba5222fa733733d5875c5d4fb869d8933457b2786ddae1886bd9e2ee099b0b1bf0c7a9e9af6ea07c3fec49f627c4e0d075d316cec990e7a2e1bb02e663caa33c3435da02f1486bf8d7dd3912ef0c79930e26b236cfaafed9e6718cf0bc35d001b7bca2361d813f58cebdd73c36640ccfd57c2b8fe53d8c4976bfc399dcaf53bf294d71f848dfdd50b783e83de32363c9bce6666feb9c6bfd3b92e18bf0b618c776278315dcc4cbcb89786975d31f5bb9e67f06f4d7666c81713b013e07a17fe5672ff9eac707d792b8cfad4b0d3b7e79af9377575c1f85f09237eae85e18fac67ea6b84cdf5d5821ccc30ff313e5edf5e7547f66688f75c18f1f37b3df2d129d81972fc4dbe9cfa537f66f4b6a80f747f468fbf1336e3e5e3fa60369899f14e663dcf915f4d3ed6b58399b12fb184cdf581dbf3dcc46b724c1ef2fe37c3435d8cbee29b3c427dfa266cc63bbd254fe6261e6ab437541ee2abbd313cd2c58c4f7b2d8c7c7bdff3dccca7e05dd8b45fccc83a859bebcf844d3c961f86bb848ff62a61d3bf37eb19fa8b3761d35f3526eb84d6b13511467cdf90a7d013ec8491bf3fc90bf49f9afc3b9bcce673cc27f84f4f28f4af4a32eb83297931473c98fc3fd37fa82f25cfd9df07d9417d6be6e36caeeb8d7f8adf19f9fb41d8f82b4cc86a61f4385f640ff110c3bf0bad07f15c0b9bf6d43d59cd8dbdf52dd981bf1af877a9afc77a5492bd05ec31f97ca6f4fda6bdf64ad8e8cb6ab28feb9d6f72003dadc92f3347f787f80885cdfdb5256cfc69f7d77b0bac8723b20f7dd53378eee2feea55d8d8e399fc3b737bfbca47b23b37f3db4ec9fec2f8df3902cf87b4e7a6e705f2b1590f669ef637e60bfce36b3da63d6705d61b1633deb1c9c7333dfbe7c87f7361ac778f3dc35fe10958f767da77d6e409ae2f9f3a9eeb6c3137f3c36ac923e853cfe4f1c2f46799feb43513b4172c854dbd6ac8d385d15b8347ba98fc531f84b1ff697b467fce863cc778b5c63ff36ec306fb3e848ddec0274f16c6bfe9037986feb33761737fa6c8f305f6674fc2a6bfc0c497f60ef5870599f5ce96bc80fec2c4975efc2660cf234f616ff9dc33e221599067f057fa2e6cfa2bfafa39b882fe59afdfbd2173feb7879e51ef1c93399fed7361e32ffba2e725ea73b2837aa7e97969e2279b935dd457e86fdef767676407ed8517c2e67e7b276ce6573825bba8774d3c6b6f2e31bec555cf68dfbf252b8ed709d9457cdb45cfe8bf34fb17ddda92fe7b1736f747a857ba3dccf70f61ec07bec81ee3f1941c60fcb27dcfb0c7190863bf5c0b23df9afc3177b47f31df06c2d88f2cc82ee22739ed19f5e585b0a9b7cfc83efa2feec18be912fb33c4b3abaf377aea6f61e4b35361f8b712467ca37d773158209fde91d97e712b6cdacfe10fafefaffa247bd05bc0dfde6286eb8b0761b4ff449ed35f43c3fedc5f205fa89e616f959303b4ef20be75b6453e2af664b657bc0a1bfb8347b2bb34ed57b027d0ed613ff6d433f4da257831427b764d1e839d0b32f35f6e93a74bc3c590bc40ffc588bc5c1abda143f697c69ec8cc2fedfd01dab31b32fbcb5bf27c89f9f248667bc5b3b0b93f0ac9c112fb2f331f16435db07f1af58cf9537d09633fe89047cc1f2d997aec37f2845c09c3de0159414f65f2976ead6fef40e6f5f63b790a0e97e4f9d28c4f33053b01e2cd857fba0778ecff673dc31e6f2e6cecb13fc86cdffe1436feb3bfc83370794c9e436ffeddf3d2f417bd911718bf1cdc3df0627c563d63fed8df64b66f1f91e7e0dc252f39be63b28f786dc8da7ee8034f75fbd80f9d93a7cc1fcb9e617f7c216cf4d40b61ccdf6f61f867459e63fc02f843dfad70ff19794eff9afd45b73dc4f5f686bc206fc9b4cf3d905d85f96de6fba25b00902f0ec288af63727fff23d9839ee81abc9c8243c443f707f37dd233daaf1d61ec0f4fc94b7085f1d0ab09fcd158c288e723613caf7d099bfe1ce8d7b35399fb1dcc4fb5e0fa5b44c2d82fbbc226beec13b283f6a24f72a08c3f328c9fd3b7d7eec85c5faa55cfb8bf7eee59e1fa13b20bb630fe7a350747bc7e3954d8ef25e4a532f67b663fbdd0ab07f4566b61cc07cc6757c70bf2c1357986fb8b29790e0e6bf252617e2dc98a7c4a7614f683f097d78f7f0efbbde5847a4fc84a197f84b8df5f703d2927c2d08bf9e1ebfb117f5bb2427fe13dd905b7188f2e7f9bfeaa0d3980ffdc57b08e47d37fb123b3bde88cec2a136fb919afe540fb07cf1b2e798efae294cceba38cecb1fd13618cf7964cfb1c939f97435db09ed464ce97d222d3dfc53199ed55686fb41cc13fb5278cf5e786ec29acff13b20f6e4cbc2f7536867fb21d79ccf8ff1636f1e04cc873ac5f0df48e15d7efd83c6f2d7576457d5d90397ef58bb0f1b78ac9f46f34242f1dec5fd15e77dc84f977d5b332fbcdfc9aecc0df15fc33ebe3b9f6854d7fd690ac501f4764c731edd568afdbfe1af642b2e7209eefc88183fd9e0d5603b0ff421ea3bda0af9fc0df16fcb5e8fd6727e405f2873520337ebc3372e018ff05b07fa1db33f717263f2f75f643bc780179097fe797648e77de5f1f207e8a2558eb45fb6fe409fcef5f91a7e82f1cf40c7f04297986fb1b937f75b25088a7ea5c18e3f1258ce7d14018cf8f63b06e0ffe7c26cf1de39f0af638926f5e7b86bf1dd6ab01fa7312f28cf174479e3b26ff29b3ff5dba4be6c7ac11367a14fce5f6e31b67e4b163daf713f21cf5e13579e120ff803d3d9ed82fbd9303f8cf823f3c3584fde529798efbc34ff2027abd1179097f87af6485eb9db130f2bfd97f77d906e35f873da3ff18fdf97a3cb1bf71c833d81729f2025c9e9097683ffc20b3ff08f1117457987cfc40e67eb759f58cf5a77e1346be887b867d05e223d0fd41df1999fd95b630f2bf590ff4e873bdac4e7ac6f8d49130ce532cf218fe503679c2788bc9f487f34e5ea2bed890a92730fb1b3d9a43eec7ea9e995f06c2c8af5fe431e7a7439ee0fabc22733ee457e43e3e42b24b7e207b0e3edf30f1a9466a84f86996e409aeb73ec9738eef3599fef4ae84113f66ffaed58e617fde90fbf89c921d07fbf32fb2e7987ce31d937df4173c099bf65b33bee6e327e493b5309e07473d435f7949f670bf9b927dd48757c2a6de7f2507d0e3b37d6780fa26274f912f6ac4cfc4e77ea646fb533d5f90bf86c238cfb2c95ccf2a9fbcc0f8aa84cc788e2fc99e8bf56641f6c1ee9e1c603c7dc49b5647fd2b61ec27463dbb384f32ebbf56c3fc97d864df457ecdc9818bfd39c66bd6b71fc4e421f4f85bf208fde5e6795d750736f8fceea567f497976417f6e647c258af0370afd7b9268fd07f65f60fda7b01ea2bc4fba2d7e329f2c831f1e11f0b237f0fc963d85b9bfca8979b25e3f986ecb17df84fef3ed07e9508e37928220fe1aff28a3c427de20a9bf9d140affe037bea4c18fb8111d9873f72cc07d5b7e7d7c2667ef937e4b18bcfd3eec913c6f751cfb8dffd204f5dac170d79067d01e2cb51dc3f35879e910f2bcc6747ec7f228fe89f8130ecdf9227ae897fff843cc5f5452c0cff209ef5ee19f9b89ef48ceb9b16dcf79fbf90797f74449ec13e3526cf51ef7e0a1bffb5e6f954798afb675509637df27b463cd4989f9eb6cfb4ef9f92e79c2faeb0b1373913c6fe76445ea0ff08e3e1ebff83f1bc03f7d75b6fc2783efa262f618f9a08c31edc1f28ae9f8dd333fc1762bd0af4f5589f1e844dfe5253b2423cf946bf9efd0aedab8130f6176f64077a5df050ff1f9c971cc843e4f7c6ee19feaaa7c2c88f1579c178cec98af1ba1536f6878fc2467f1008633c676407eda939d985de5009637d44ffa37e7cab4732fd530dc9ecaf7a10c6f9fe1dd9c1fdc14118e78739d9a3bf17c2e6fe14f79b17568c9ebc67ea4fc973b46f1d9197a8af4a32f5244bb2e7e2f301936f9cee050eccafb6678eaf43e6783ab7648ff54bb24fbdfdfdbe87fd34ec99762d98f1de0a23bfbe93a78c1f9becc3fffe4018cfdb1ed81d427f0c7b6772fd3739c07807b06fe60ee0efe0a867cfe48be04618fbbb9c3c04d7263f38dd81be199ffc99ec418f639103f21558f7073de7c2a63eb67b867fa26f613c9f28f210d7dbfb9ea1c7791436e3957e9047a8b7de85116fa837074ca6ff1adcfbc3aac86ccf71c823d4ab979e51af0a619c673d90c7f0a7170be3fa5b617c5e007f740f64f83cfc5518f1784f7699cf9764fa3b5f90190f8e0beef5464ecff067704aa6bef05818f365216cf4c5fdfd13c45710f64c7ba9cf9dc2df19f4e90591ebc11aacfd89feb7e411fbdf90c7884fa7edd9c3fed8214fc0894f9ea2ff642a8ce723c49bf96378d633fa8f1ab0f60ff617ab9e395e36790cff852f3d333e27c2e6fa682c8c780cc913dcef78c2c67f91d533fced2d85b1bef5fa688f751036f940dd09237e69af3ba37f02619cbf45c2e6faec913c87ff524bd85c9fa23fb72b26feb01eb8bd7d6e46a67d7e5f3f617e7b12c6e78b3e794affa5c2d80f54c258af26c258ff47c2785e1b926768dfbf1786fde7c278ffee5dd8d89f84e439ae4f95309ec76d61331fd347f202f787685f3f9d61bf505f80b5bdd8ffcd84913f02f20cf1677d08a3bf2f619c479f92a927d908e3797a280c7ddfe405aff784b13fa884cdf556298cf5a9212f717d80fb7d87cf7fcd71cf583f6be8f1fb780d9fc933d81bdac218af23f29cf977250cfb5b617cbe724beef57d91a92fb585912f0b6133dfd34fb2427dfe4a76c0d99530ce4710bf41578c7dcb9e319e05f257d0e7a7fa9c4cfbd51579c6f9fdd033e2dd49c973c6ff1399e3632d85313e05b9b76741a63d994beef5f7ecb2fe5618fb13b3beb903fd7ff0fca0c07a7dc579d1397902fbec7bf20cf6fb43f202f3d31d08235e27648e8f6a85f179474056cc3f1f64eacf1fc9bdfe77619c0f7c0a1b7f644f640f9cdf907d7063e257ef16865c3f2cf202f3cfbd13c6fa139197f04774258cf82e85717e77298cfdf181ac989f5f85b1df5e0b9beb830d99f6677dfb1ef94e18f6f964da979878d5ab179f1ff39ea9df7e1036fae35c18ef4b6464eaf1fbeba9275a91e9ff3c20fb1ef61b1139205bc2267e72b6e70dc036c6a37ba1dcf8a3097a86bfac57f29cfbcf095921defc96ecc0fed022331ec21b72efaf904c7d99236cf4649530ce63303e63d10b7f4f7abdfe9e3cc1f384ed0ae3f3954018cfaf1199f1d5a464c683ff4566bcfb6fc2d81fdbc2467f784ba67dc1bdb0a94f2261a33fdc91395ed194dc8f17e26fd2db9b6fc943f24018efebc07fd3debee292dc9f47ec84b15e2464c6933f23bbcc175bb2c7fdce4818f11709c31f0761d8e392699f3516c6e7cb6b32ed0d5b61d4534f6f7f5c927bfb6361c4c72779042e3c6193efb343cf3e3e0fbc16c679f407798ceb43ccc7995664ec6d4ec8dc1fa83732fda70e64ce476f48f6b85e47c2b0af26fba8f79f84f1fc74270cfbaf85f13cf84aeefde509e37902f133ebfd176dc9f45fbc17c6fb602999fecb87c238efbe278fe13f05bddd0b5dd8bfefc91cff704ca67df54e18ef3f5e9303e65f4718cfbf2fc2d8df7bc258bf914ff46acdf87b17867d9630fc714ca6bdd19cdcc78b2f8ce7f35dcfb037be258fe99f9130e20bf1bbd00a317ea130de873f21f33ca8b9eb19fb8d2623bb683f0ec8f49fbb13c6fbb98530f6f70b72c0fcf32c8c78b9004b3cfccef87c6148eefde30bc3df6cbfb737c97aa67f2af204f52df62fdd078e468ffd3be33caf21bbb8dec77c5eca784e858d3f55260cffacc843d4c74a18f69e0b633eef7ba65ef6df8fb7ffd833ebefc8b427beef19f5c9b5303e3f407eea0e78b19f833d4aeb457c0fc8d4e77f0aa3ff0f32f504673d534f4ba6bfa31332f5c40fe429f55d091b7da9479e810bb3df378f8f889785303eefc0faa09fc6311ed1ef0cbd17e411e3e95218f556cfd41b937bfde7c2d8dfbd917b7b7e67a337c9c9b42f3e08a3be20d3be7c4c9e831bf3bce6bafdfa1640afdbeb557b32f505b930c6774ca6be60288cfed87eaf277e27534f7243a69ef85918fbc313f202dc428fd715a3ffb967ec1fdb6f72003d0ed617afcf4ffe4418e3a17aa63d4b32e35b793da3de5a937b7b3ec8bd3d3b32f5a7beb0791e49fbfb694f1a08e37d9363f212f509f4f95d31f69ef58cf9d39c0be3fd08c4afafe311f974411ea1bd662e6cfa6b0664c69b7f49a6fdbe43a6bdd64618f1e90be3fd824f32fd1114c2e67ae50ae3fa6f32fd95ecc9f44ffc228cf3b92999fe4937c2f8fc18eb7fd0dbd30c8561ef277902f65d32ed7197e419e2c7da0a43ffbb30f47f91a9df5a0963bc4332f5a71179c9fb5f8511bf263fe8ecc8f3e4e64218ef938cc88cd76646eee75f7f3ffd6f1d0b43ff8730fa0fc99c7fbe2f8cf15d0be33cfd5318ef1b9d93fb788ec9b42f3f13c6f9764256ec7f208cfa57b2c3f627c2785fca8cbf8e6e9ec73637c2f83c2d234fb91e9ef40cfff8d764da6b9d0823fe3d61d8fb455e408ffa16c6f9f12599f6862b61d8b325d3be78288cf3cb944c7be3b130deb7e8ed75d91fc677e4f17cbfbd25f3fc57d5c278beb91436f9b25d91c768af5d9327e0e29d3c83ffac5332fd118cc81c6feb4c18f5a530ced30232fd639d0bc39f47c2b06f46a6bfa25218ef1f3f0ae3bcf798dcfb6f240cff25c2382f3d21d39fe94018e70dd037f6785edc6ec913d4b71bf214ac6ec8fd7afa415e405f744fa6fd412d0cfb57c288ef0b32ed0f1a619c2f8f8471bebc23d3dea810c6fbe34fc2f0d72999f6c79eb0b93e9f913dd63f09e3fde184eca3bd16e337d1fe001f936760754d66be0e2a61d87b49a67d6a2d8cf1aac91c5feb4a18e72b9130ec7d16c679f98a4c7ba3bd30ae7f11c6f58930cea7cfc8bd3fd6c238af1f08e3fcfa93ec53ffb930deff82fe69bf9eaa4b32f3a11f08e3f3958cec703fe2f74c7f6d84118f5b61c45f45a6bdea58183ffff02a8ccf632664da17bbc2889f2199f6c55361d45f9003da8bf899c97a9a92391f5a4718e7ad8f64da63e5c2386fbb26d31e3f14863d0361bccf784beec76b2d6cae8f7d32f5c71b61c4c3904c7be29930cef3313eda3ab007fbbb1fc082fd8f3d63bcdb37b2e3e37c2925333ead1b61d8bf13c67c0ac8d4af4e84f1f9c35018febc23f7f61d937b7bb6c218ff39b8b727db08633e8cc843da9f0be3fd4fe4bfee0702b0ffbcef19f3dfb921d39ea025f7f69c0be3f9fe814cfdd65e18f68e84719e392607f06f027f2f7a7b922f619cd78764da93b4c2b097edf92370007f762ff8e2bcfeb667c4b397931decd7bc4218e72f3764d737f75bfdfdb4278c85f1f9d08eccf151a7c2b077228cf70b17e0debee440eeeda19ede9ef45218e773a9b0d117231f9a17a64c7d49a63d5e45e6f98c7547a6de4009e37d9833619c0fc2ff4ae2ad1036d77b1b61fcbceb5418e72733f2109c6dc9bd7d57c2f87c22228fc10df289d3e71baf26f3fc255e92393e6d218cfd54298c9f3f1e9369af85f8777a7bd405b91f8f2761c46b43a6dea414c6e769d4dbebcf6261d4a33ff3406cfc1309435f43f6609fd7927d7013f7ccfd8e4b0e681ff2a7db8f87f540a63deead30c66b2e8cf73bf664da672f844d7ddad7d39e22254f38be6b61cc2fe46ff3c7e89909c3be37b28ff5c73b9003e663d8ef697bf0f3f78f64eaf712619cd73f91a9df7a16463c2e8571be39228f717ff24aa63dde4a189ff71c93a7601bfb7d5ff4637fae09fabd0f61bcff7142a67eb52353af5b08e3e7b9efc9f4b7650be3f767ccc9d46759c2f8f989844cbd45469ec1fe08f6061ecfa79b7dcff42ff64b41afbff5c843b4ef96e4be7f459ea2bec8c9eccf35e3a15b1bc05fcd8330fcfd451e325f7f93793ee21d91c7887fa7bf9ffd27dfc2783f26274fd17ffc288cf3ef2179c6f89e08235e1d61d85390e7f49f196fad76c8e7d51732fb733232efb75c619c47df92d95ef22e8cf10bc84bfadbcc87ce1b3c8f9990698fe591e7b46f445e507f495ea2be35eb83f6e628c0f3cf1799e731c90579867acb27cf03bc4f5e90d9be15f48c7a2b14c6ef4b1890d97f764256d463f29f1ebd7180e7d3397982fd7672449ea1fd3617c6f36e445eb2bf2f32db2faa9e71bf83f1ea7ea110def7aac9accf2e8431beb130ce53566407d77b37c278dfd7aca77ef70b4bf0bce192595fd464176c9bf5c3ef7ea01ffba984ecc0ff4543f6787f2b8cf989f616da1f781ecdc80bac8fcd0b99f625b130d6f71599ed25b87e297c47f6a1c7db0be37968470ec00af34d75c5d40fc82eee6f3361ecffefc901dbbf1546fb77c2785f1ef1615e2832eda564b6d726648f1c0be3fdb56b32ed499ec97d7f0fc2a63f0ffaf468b37fe83307c066fc6261ec3f22b24fff8ec1fa7ed37e960aa3fd4761c4cb0b79c8fa2761fcbe06939ffd6e01427f2199fdb5013908b0dfc4fd5edf7ff241eedb7f16c67eeb853c025b883ff3c7b48f7ce0ebf6b01faac87d7bafc218df4b615cff401ee1fabdd90ff841574c3dfc11f4f5d9ab307e5fd029798cfac2d8a3d50c395fbe8461ef5818fb974ff208f5a9c98fddddf0576ae673d73bfc991afb74ed24c0fb0e26ff689ae3faccf84f5fdd33ea679af1bed994bc0067c6bfddd56493bf83eed751603f754456e0dcc48bf9f13cac578e30d60b9fec509f995fdddde0cc3cbf99d7d1c067643730f193ee84d19e594f35b13e9b903d5e6ff67366fb80fa4c18fb13f8c30ca861d863fe60bcffff967f6af8a7865fd3605bb6b21ddbb53ddbd7c5fb0f17df0eecd08efe510d766c27766a67766e17766957fa6f69d776a34babcb9b2e075ddeed0f5d3eed2ffbdb94237ba5cbdade98b2b58fed13fbd43eb3cfed0bfbd2beb2afff210d37f6cededbb7badcd9f7f683fd683fd9cff68bfd6a0feca13db2c7f6c49eda337b6e2feca5bdb46ccbb294e558aee559be1558a11559b19558a99559b95558a555d93babb69a5fd760b5d69b75b0dead0febd3fab2bead236b65adad8db5b58ead13ebd43ab3cead0bebd2bab2aead1b6ba7cbdebad5e5cebab71eac47ebc97ab65eac576b600dad9135b6f7bab5376b624d7f558335b3e656652db486a5b255f7d382dd8ffb783f53a17cad426b508156b1b7ee544815cf96ab2215ab44a52a53b9b550852a55f5334ffc4c83aa55a3756b0daad5f7bfa9837a571fea537da96f75a456baacd5466dd5b10ad489b557a7ea4c9d77ffea5458f7eac27a5497ea4affeb5adda89ddadb7b75abeed4bd7a508fbfa8e1493ddbb7ea4597573550433552e3ee2799f1d3b6ddaf68716ca7fb590dc7e95eafd49b26277422aac0783c3bb19338a99339b993595bade1c5299cd2a97e16973fd3e0d44e6395faaed679730ecebbf3e17ceabf5fceb773e4ac9cb5b371b6ceb173e29c3a67ceb973e15c3a57ceb57303af38bb4e85b3776e9d3be75e9707f5e53caa17ab749e9c67e7e51735bc3a0367a8ef3a382367dcfd6adeeed72976bf52c6b5ddeedd1aa77b7d436f09033774235d623771531d193a2ad439553cbb999bbb85fe5eeaadb2f6a95bb9b5dbb8edaf6970dfdc83fbde69703fdc4ff7cbfd768fdc95bb7637eed63dd61a4edc53f7cc3d772fdc4bf7cabd766fdc9dbbef34f4b1e9ecdc5bf7cebdd7b1f9e8dcbb0f46c3bbfbe83eb9cfbfa8e1c57d351aba9f761aba2377ec4e9cb9d630d51a3a3fccb41fceb41f2eb41faeccaf545b7ab69ea9bfcf905bf7d6b33cd545a7f6c5ade7741acc6998ff6b1af4c623f422f5e2c55ee2a55ee6e55ee1955ea54bed355eebbd79075ddebd0fefd3fbf2bebd236fe5adad2bb5f95d85b7f1b6de71374fbd13ebce3bb5debdc83bf3cebd8b5fd470e95d5987ce0fce8377eddd783b6fafffeebc5befcebbf71e4c79d4e5499767ef45ffbf576fa0563a5bf42a4ed49937f446d66de789eed34de7d13a74bf14f76759eaa71ae6dea2d3e02df56265a9bdafba2362f39ce45ac7bea7f3c356ad758e3af17d9dabcefcc0baf14375ec47663ca0e2d48ffdc44f4db678f0b32e53fab95ff8e5af69f02bbfee46d06ffcd6cff4df37ffa0f3ed9dffee7ff89ffe97ffed1ff92b7fed6f74d9fac7fe897fea9ff9e7fe45f7b848157bffd2bff2aff568dc5b4ffec1deeb4472e3effcfd9f33e54f35dcfa7746c3bdff6014d8ba8d3bffd17f5213ffd97ff15fcd59d3c8ffd03e1a5bebee176177bf5cd45f683f207b5fab737f19d881de45eb79fa143846c35db707fe350d7aef1b04a18e870fada153d106917d17c44112a441a6f7da79907723e48fbb110a0a6bab9fb7caa00a6afdb5415404adeeffcd8fbd8dd6f0e07fe8b1580487e03df8083eff5a43f0157c07477a8d790956c13ad8f80f41146c83e3e024380dce82f3e042af2199ff115cc20bd65aab38eee2c43a0b4aeb1c2a54a0355c05d7ea4c67ef7b7fac637211dc04bb601fdcfe8286bbe0db69a141af17afc17df0103c064fc173f0a2bdf1eabf772a8281ffd9a908867a3dddfcae426ba8b1a6eb6731fdf4a54ead7da07cbf9b659e637eddf3fc1734e8e72aac58a1addad00a55e8846ee8212ab40aa753119cab7de8eb5170f57afaa9de7f54a1366110866114c67a9e9e5ae75d7b4e1126611a667fad21ccc3021a825558865558874da8b574b3c37fea34b8c3f02d3c84effe6bf8117e865fe17778646dc395ef876b3d1eb52e8d75e587e126dc2263a975786c349c84a7e1d92f68380f2fba15ab8bc9f032bc0aafad717813eec29d350e5e8397701fde8677e17df8103e864fe173f8a206e16b380887e1285c192ff43bacab701b8ef59a1e680d13ad61184ec359f80b63112ec2656477e3677d4456a4222772c39dfedb866de4457e144461781d45511c9c4589c961aeb589d2288bf2a8883033f4a4892a6b1fd5516332d6266a9d476718bd4587e8fdaf35441fd12756ace82bfa8e8ea29556b00e5ea34db48d8ea393e8343a8bce83972e2e221d9dfe67a46353bd4757d17574a355eca27d54e9721bdd45f7d18375a682e8317ab2f7ee7bf41cbd44afbfa061100da961148da34934d565a6151c47f368a1ff2e633b78eeb2666c4517b1a286bdb50907b113bbb117edf5579daab586db3888439dc78360adb3541447711c277fad214ee30c1aac439cc745348b4bed81b951b088abb88e5671e37fc46df816bfc587f83dfe883fe3aff83b3e8a57f15a2b581b0d9b781b1fc727d1bdda043adb1a0da7f1597cfe0b1a2ee24bf7bd9bcdf1557c1ddfc4bb781fcde35bddff5d7c1f3f58abf8317e8a9fe397f85597413c8c47f138f6bc4d501b1f4cb482693cd30ae6f1225eea71d8ab20b6ba1d44622756a2fe5a43e2246ee2257e12246112257192246992e9de75ff499e14ba944995d44993b4f13c794b0efa5fefc98795e89ed7c9a7feaac721de265fbaf63b39529b6495ac755e0d934db24d8e93931f578c9f68384dce122fbe4acebd53ef34b9482e93abe43ab9eabc9edc24bb649fdcc4a3e436b94bee9387e431794a9e9397e455f73f88a7c950fb5f2bd31e5824a3649c4c2cbd9a46b7fe3899261bff2e9925f35fd0b04896a99d5aa9d29b2815f9a993baa9173fa7be2e411aa6511aa789fe9bea719fa599f6fa34f6b4ffbbf1d72390e6499b169d77d232ad92755a7773c45aa52a6dd2367d4b0f3fae5a3f6a508fe97bfa917eead1e836725fe97774971ea5ab749d6ebad14fb7699a1ea727e9697aa67b5ec7ebf43cbde8fad6a3f2a57b3ea497e995fe7b9ddea4bb741f9566a6de5ae7bab54f2f4e6fd3bb1f57ad1f35a4f7e943fa987e6acd5df9d2fffa4a9fd2e7f425f94c5fe3713ad03d3f75e39e0e7bcfa7a3344fc769a1fbbed2b1d1e8ef93749aced279b8d2f94247a9ce15bb74917eba55baccecbfd290597a617674cf7d59646efa19159997f959a06d1e74a3aeb7691cf72cd49617699145a6c4fa6f92a55996e559a115eca0418fd4242bd3cfaccaeaacf9f179ef4f1adaec2d3b64fa01257b37c5cd3eb2cfcc8d8eb3afec3b3bca56d93adbe8b19fa1ffe4906d3bdb8d82e3ec243bcdceb2f3ec2268b2cba0897666b676d7eb4c975d65d7d94db6fbf179ef470d4e9dedb586dbec2ebbcf1eb2c7ec49fffb49932e7a56be67cfba8f97ec556b19a4936c980d93db6c94bad938bdd19e9ae8fa41fc944dd36d36d3b1b08bd7d92c5ef94bedbbbdd670c8e6d9e2c7e7bd3ff96199dbd921b79cb75ce54eeee65e6e6577b9afb76f7a51cfa33cce13ddeb387bced33cd37a26d999feeee779f294177a568469606237d5996bd48d455ee6555ee74d72a5fd79c8dbfcedc7e7bd1f35e487fc3dffc83ff3affc3b3fca576a98afb5025ff71ee61b5db6f9463f4cc7d12229f4fc3c8efdf4341ee7c7f949fc9e9f26bb348c5ff3b34e43377be2a7fc3cbfc82ff3abfc3abecf6f74cbbb7cffe3f3de9f34dce677f97dfe903fe64ff973fe92bfe696eebf2b6bad60a0fdf0990f7519e523b37adcc50fa9978f75fe586b0fbc40413ed1baa6e949ae73473ecf17f93298a41bddc67d6117d68fcf7b3f6a2854e1680da6cfc2d5fd467a14a2ff4dc5b653517885dfa9d01aee3b0d49d1a9c84fd275fc9246661519e83564acf3c8497a919eea6cfd15bf180d4111fef8bcf7270d51111749d214a98e7f5d8af4f792adbd959e794991e99217b9ce029342c7a98ed451362aca6c909d145557923abbd0cf8837a95bd4ba34459badba15a64842b778fbf179ef4f1a0ec57b76547c149fff81f225dfff583efaefbae5f7e2bb38fa0b0dab625d6c8a6d71fc0f96933f9453ddc2cfca59715e5c14977f5cb5fea4e1aab82e6e8a5db12f6ea5dc9972af0bbee3eb43f1a8eb9e8a67fd75afbfbe14afc5407f1d16a3625c4c7e5a8e8b69312be67fa161512c4bbbb44a553aa55b7aa55f06655846655c26655a66655e16655956655d36655bbe9587f2bdfc283fcbaff2bb3c2a57e5badc94dbf2b83c294ffb12a9dfffa55b3f2bcfffb872fe5183d59417e56579555e9737e5aedc97b7e55d795f3e948fe553f95cbe94afe5a01c96a3725c4e746fd37256cecb45b9aceccaaa54e594dbca2dd79557f9e555159812eaed6d5c25fabba1f2b24aabec8fabd68f7ea8721dd665555575d5546df5561daaf7eaa3faacbeaaefeaa85a55eb6a536dabe3eaa43aadceaa73ddf34575a9555c55d7d54db5abf6d56d7557dd570f55f7e7b17aaa9eab97eab51a5443cd6535aac67fa961524dab5935af16d5b2b66bab56b553bbb557fbfaf129aca33aae933aadb33ad793aeacabbaae9bbaaddfea43fd5e5dd71ff567fd557fd747f5aa5eebb2a9b7f5717d529fd667f5b9e68bfab278abaffede58ecdfeaebfaa6ded5fbfab6beabefeb87f2ae7eac9feae7faa57ead07f5b01ed5e37a524feb593daf17f5b2b11bab518dd3b88dd7f8fa6bd0844dd4c4dd364297acc99ba2299baaa99ba649eb7dd3366f7f352f9a43f3de7c349fcd57f3dd1c35ab669ddf369b66db1c3727cd6973d69c3717cd6573d55c3737cdaed937b7cd9dfe7aafbf3e348fe6eb53f3dcbc34afcd409761336ac6cda49936b366de2c74cbcbd66eadbf9f1f5a555eb44eebb65e77f4d13dde9912b789297a43d8662ca9febfddf79f7dcddb82a56cabb66e1bfdbd68dbf6ad3db4efedc7dfd71066ed67fbd57eb747edeaffa0acdb8d94ada6adfe7eac5b3d694fdbb3e0ebef6bb09ad66acfdb8bf6b272fe734b7bd55eb737edaeddffd5bebadb59b7b7ed5d7bdf3efca797fbf631517ffef4e0a79fa134f675f0f57fa3d8d7bffa19caffebf24f0dffd4f0070dfff3bffeed7f01f6bdbc49 789ced99496f1c391285effe1542f3d618b06bc9ca05833968dff75d833904c94c55695f4aeb60fefb44453cd2b2472eb97bd0e53e58cf86f13998f1826424334bf5dbaf53475beb53bffef6e97e48c3819ff27dba9bfa353c5c5ebefcf35ffff8f7a75ff26c8aff74bbc554e797bf7dfa657b38e5a736aeafea11843306d3929f11db25e55e8f487856b964092f466e1ae1d511677999874c785fb828cb50091f09bbd2052f7c201cca1082704bb829eb20f5d8e311f7da55bb56bf43e16ed546bc1bb96e0b9f08e75586f1edc45de15cb860d6fa9685ab8a4b10ee085395637c062eea5cb812761c57ee0987aa026f09d75581f91560aa65fec60937916d39e2bc5db95afd5784bb158542c65b70a89df06962cdbf2bdcabbccedf18705deb7eed08e73c5ee35eb8a0562deb678270c92ceb6f6e12ebfaee09f3f4703d29535bebb1dbc25435884f2b53b791f537036147592dfd61fa911b1dbf211ca807be1b71d1a2bc91e634b7e0a291fd32f7c2ed143f01978dec9791fe2c3a9149ea2dba5ca0c66712f784a5df8b8c59eb95fd2bb8db317e53382787f1d24f45411ef9af13cbfe1b598fa28c717b25ccdba9fb451e5c237f2bb15c4f5a1f318b1fe9fc1d353a7fbb20ec09fd424ed9b5f47a3b271cc8a39f4ec1b15f6a30fa8330deb5353f6d833b8df41f493f147562e997a261d6f132bfb215d9cafe946dd7563f331719fbb70e8ed7ef81bbe05970a67e764db8c3f5cb7e534b398dcfc019d6ab0dee613f64be6597fd657f6907dcd3fc6e00a646fad9c9fd53669c5fd767179c63bcec5fd963563f392fcadc158dacb7bb142e5c897837b1ee87cebfe4f5d1fe780577713f99c47a9ece8033dd2f47e00af9e4fe29ab946f13dc51a67930ea0903b0d7fca11f59d7c7ea78623f5dffa7c4ba3e8f60d27cce25967ac22938e8fd4c723f95cee17e73676087fa5f84bdcb715e0d13abdf3cd8e97eba0bb06fe4fc0c72ff95c1b582ce3f80733dcfec23b8c0f9d901c7facfc101f9946bcea7fd7c072eb49fdd1638a09efbc43a1fada77125c63f806b8d93ec6fd572384fdc10dca8bf95fea9da7cbdd67f0eae94dd01b8413f4a7f549d78bd9b53f62dcca701a3dfadac7fc5fd8ef3fd16ec506f4f99afd7fcb3e0b6de0fc183bb3affe0c019ce1fe9cf2ae37cdabf7db0c7f3661819fd78a5ec3bda7fe132b1f48fdb4caceba3febd98cfad2b737d3a5f02f774bd8ddc5f55cefba37e17ca5cbfe4f72eb1ce7723b1f6a3c60b17e0b7af1ce3fe028cf3cac9795195cc7abd3c0fab8aafd7fdd953e6fab4bfe5fcaa8859f30dc1386f48fa8f6f4f9cbfae032eb01f35d8693efb2ccc88f3a2abcce325eee7c0388f3c2556ff124cba9e5efbaff615e237609c9756fabb6a7c07cf936930facdaf83715e799b58f31930f285c87523ebede5fea2164f48c717e080f116dce8fba797fda1368fd7fa07608ff99f25d6e7933c0fa813d7dbcafc88fb59cf0bdf06e37cf0b389352efb4719d7abf5dd2596fc5eee2feaa5f16be01aeb27fd43b9cff1bc3c06975a8f91f5a7c2e3fc0c014c7a1ef83de5d042fe99c41a97f76d2a9935bf9c4f54f17acbfdeaa79563dcb7c01de4eb25d6780ecef0beafeb4b1ee713ed8371befb5565be5ecf33398f2878a7f7935f514ef977c119f65ff7a7093d65927e77a3fdd6fc27caa1c078e977d70e25fa41d6d365292eefefae1748d9c8f3c5e501e70b5d82bbd8ef0e388e97fa5dc1e3f5fd42f6d311d7abd7cbfb99ab03ee2723f787ef844ae346eaf35dcea771d97f9f05f4ab117fdf4bfc9258c7cb79e9f380e71f6d8203e2f2bcf36562797efb2a325930fad5c879e129f102b8d1fd37b21f9e8f4fc417136b5c3e1f7a9f7859b9463f1ad95f1f22d33db88db8f4071fe691a59f7d93781f1cfbf100dc433f0b87568c1bf97c18f86d08e337c071bcdc0fa113e3260367183f0fce315efa3f74639c1a30ce6fff00ce914fee8f90a5f82518f9fc36b8407e39cf422f8e372518f9689858aff7e078bdf473c8d3f887c4fa7963118cf17e195c222eef6ba1a8f17ca0c7c4fa3e70088ee3e5791eca347e9058e34b608cf7afe00a71397f4315e3ee091ce372def1c793e877018e711def122f83097e7db0435cfa3bf81827b99f4248fc0a8ee3a55ff9610f766db0d7f38bb4df9a347e158ce789cb13eb78391fea568c532fb1c6d7c101d7af25d6b8f46fdd8e71ca136b5cf6a7eea4789158df17a7c1781e519958af97fba1ee467657e00671393feb2c8d3f0123ee837283e70d493fd6bd18771aefc5b893f387bb333e9f6a701b71e5228d6fc0312efdcadd11f91a8ce78b93fde7ee882ccf73deedc8b7e02e589ed7bc9b91a55f787732f042627dff93fee1d58df1c5c41a5f02e379e5a4bf78f5224bbff2ea445e01e760e9279e3dd83f81f1fc72727ef0ec23cbf3916717f9085c8265ff78769165ffb8dac82d700596fee1eac0fe118ce79f93fee1ea22cb7eb33bd837600796fd62b7c80b89f5f92cfdc66e1e2cfbc9d922cb7ef0e80096f5e768e443700d96fde06864d90fa6c89be0f8be289fe79a26f2f6f0c7ea670d7fd51aacb164dd3bf236d87a4235906dbe296f4f275243df0ec6e8eccfa9e2ab1aceedc5585ddaab3fbd866b7bf3816e79ccffaf3b7bffcd1a86f661427afc660d4ff679427af9660daf767a429a79bf063b6be7ecfc84b46017dfad61c92edb950969d92ebdadc1aeda35bbcedab09b13d4066b9d9d57a5862dbb6d77ec2effdd9ba07644db764b6ad8b707d0e104153df7a586237b0c9d4c50d1f3486a68d936d499a0a2a77e97d1b519d49ba0a227be6fb605544e50d113df591b0bfd911f62fd911f785a7cef6d3c147eb76ad3b0ea3f7065f4c477e7a60f0d7e97ceccb9b9605d9a2b73cdf4fbae8e9ea752c38db985eebe5bf766681ecca379123db35ecc2bffeff767889e3752c3b4998166bf537366de2cb016cd9259362ba255d69a59ffee1cd1735a6ad8309bd0d67768dbec985d78ee997dd601ebd01c890ecd318ff89e3cd173436a38312da8fda13aa60bcf43f1cd4c8f958b0a539aca5464f946f93853f43c91df971039c88f55a09a3dc5951a712d45159db2fa34609db1cee9822ee9ea836cd1537f277c4d37d0ed18ddd1fd68ae34a407d6a3e8b3ebc8f789f52c7aa1571e333d365ff4bc961a6668169afb86e669811693eb92f85e889e68595c5f452bac55d61aadb3366893b6be99337ace480ddbb443bba2ab77b447fbbcdaefcdf5453c0f5823d735f6dca043d111eb984e581b5453ebddbceab843db52439b3ad4156563b58c99c6b9f65839aba0525c8fc4b5a26af41195ff1d9f4d1d3ba4dfb91a6e0dfdf1e3c42b305ae3916b298aaeeceb827c38ae5dc33a65f5e9647c3638923352c3c09db973d685bb1c27de097675575fb85a7155df6bd767ddb85b77e7ee78e4d86cec36f23c73037daf76f76ec87a708f63f504dfcfae7de8567dddb3e885f5eaa63fc8f6209ef7f1dddecdb859d69c9b1f273afb6ab6d177c12d8a96d8f9d52db356dcaa5b1b9f8ddd469e33a98675b7c1da745be3444b70d5f92e24d757711df98eb4cdda713bb43a3e1bbb8d3cd7530dbb6e8fb5ef0ec6eaf08dafba3ebd8dd3b33b72c7a213d772ed0fb2ed8be76eaaa1e3baacccf5c68916bf9aedb6cbbf88e7ec5cb04a56c5158dcdc66e23cf4eacc15b79a5a1f13793f758e738db631fbe88d7aef28d3f85fa1f6423f1b4a986813f639dfb8bb1ba64df16a4f3edbf8dbb3b76be625d8fe49e3ec876239e8354c3adbf63ddfbe1583db8c23fea4acb8c1bf7fa45fcc93f432facd70fb2dd8be76daa61dacfb066fddc58cd63a51758325fde8d3771aef0c52f424b7ef9836cb3e2399d6a58f1abac35bf3e561b9f579a359a6ff345fcda6fb2b6a0ed0fb2ad89e74aaa61c7efb2f6fcfe581dbc59e94399edcb17f1a5e43fd2fc07d98ec47327d570ec4f582ddf9ea05ae2799c6ae8f82eabe5b309aa279e9d3735e4acc2971354219e9f6ba882e58f5f145cf01392633713acaf620d2184d197a0a7a11f0613529fdd1a760da986b3701e2ec225eb6a421a795d84eb70f6a6861fa6bf520d3fae8afffd7df5a4dddffb9df98fd1cf1a7ed6f0b386bf680dfff9fba7ff025dbccea7 789cc59b598fee38cedfefe75334c6778340efb3db46908bdaf77daf20175abd3eb5ef41be7b28fe299f33d3d5ef9be93983141be8f32bdb1245911425bbfee36fbf5d1f1ffcf6b7fff8cbf38b7e69ec6fb6d64fbffdcdbd2e979ffff37ffd8ffffd97bf2e66bfd17fe568f1dbe4afffed2f7f55f96ff6b76cc43f9175cf3c8ec23c639e4461be659e4661de639e45896c34f33c0a5f2f9917519847cc7914be5f311751f8fa0d731985f9955947619e339b28cc0b661b85dbcb985d14be8ef1f92891b396394461667d79b83c7e7325bc18b3be59c3cc3fdcde31f3240af398791a85f993791685edcbfa8de751b8fd5d61695f5be6c5c01d731e85efbf142ec76c0fb323acc7b047c55c44e1ebdbc261cce3d3abcc657a5e9f31ebf4bcd9024fe887af9f339b28cc17cc360a33f47151f8f957613f66fb6ad8cf27ce0ae690f4319be0c96cc2f6d1d791d9bd60ff176132305fdf671e0fec9827495fb3219c4fd85e199e9f46e1ebcfc2a9bf35e6d9c007ccf3287cffbab09df078b377e64514beff90394ffde923e6220a3fbf261c26182ff42da3f0fdd0574761467f260a33db27f68efe0ddb7fe2d2fcaa021c85ef7f63f651f8fe55700c5066cf1c067deac81cbe88f725333b308f97e38fcd07fb1e081753c4e70733ff30b37da6b328cc1c7fd379147e9efd79ba88c2ccf9659a476146ff456adf3c30975198d9de533de8ff088ec23c167653d8e39ed944e1eb4fcc360a5fbf6376e9fe8ce76beaa3309f32872891ad05cfe887dbe3f8e67407fb7e3173c033af30b383717b9c1fd93cf047f02cb5a703f33c0af7c7f970b648f9ceec83a3f0f547e172067fe2f99de551b8bf097311859fe7f98c77e37ec3f97ba6a330733e9e9928dcbe61b651b83dcedf33178519fdfb28dc3ff40d51f83adb87d33fdb27e37cc2e98fed63793ee693341ff6011c8599f3179b03f6c6f3f3945fed01385dcf6e85e98799c7335f446166ff98e751b83dce37f3320a5f477b3a0ab7cff9756ea2f075f6d7b98dc2cf73bccf7fe4bf0938e513bb0b8ec2cf73be9d8728cc1cdfbc1cb27d2ce787c538c5bfdd034761e6f9e7f4037fe27ccbe1c4f6c8387e16fc133970ff8b3c71f6254cc2ccf3bb28a230a3fd320a8f87d7bb858e12d9f37ab73051f83ac7cfc24661e6fcb3f05122f71c3f8b30e8fb214c12b9627fc9c7297eb20d701466ce879c5e917fd87ef92cadd7cb0a9ce6bb5f8053fbd9141c85af73bd90cf533c7433701a5fb6058ec2ed737eccf3d4bf1a09d30fb7c7f19d17293e7ab66f5ea6f8e85785251ed415380af7c7f930d751f83aafa7b989c2e3657be736d517fd3b38e54fc5eb41eea3b0be9c3ff240eec7f60b9c2f8b51ca8f3dc763311efcfd091c85efdf11a604ccd779bde4e50cfd9f304fa97fd87b4d58f2b33a03a7e75bb66f314bf651dbe028dc3eeb5bcca3f078d95f8a45aacfc21e38f9a7c278d861f97ee893277fe87370f247f5028ec2f3cdfe5714e9f96c45987ef8795e4f8b32e56bb50f8e12d94d844dc1f35373fc16ba98e5c88ff7c224fc3cee37e97ec5f9a9b051787c9c3f0a97f2575d818b1cf3a94a61128e17f68fc293061c2fbe10d6b09fdf14b6188f4b2ccfab756112b61fda0f947ed83efe0e9cf2493d07933ea8479e8449d85e3cdfe5282ee0acdf07b898c09ffd42b8c8517f7e81a3f0759eff724cfaa0fd6d7014b60feb574e867843fb93e43fea041c85fd9fd7bf724aeb398fbfb2e0b4bea91a1c85db63ff2c67e4ae6cbf0eface86f5f7109cd68f7a0a26fbb2feee021c47c0f3ef84499839bff1f282f6f1fc82ea39f8d32798f4e1f12a234c12b9e1782cf3b47eda3138f9af1d8193bd941526e1f1f37c9745ca3f0ecf7340f07830fe82fa437ece8449585fce376539e88bf9a25f60fed5b530fdb03d315f9adc01fedc8329fe91cf5a7014d60ffe6068b9e7fe5bf46f92fd03e6c31416fe941d83a3b0ffe4c2b644be607f2f6de1707fbd0aa6f9413ebb1226e1fb2b6157727c04e86be3868819f349d103ffcfe6e074bfc67cf928ec7fb83fcc46a837c3129cfcd5af0aeb9ce7cf63be423945bc5a2d4cc2d7d9fff4881670ec2f6a70146e1f3c4ef3a53438e9df73bd44db398b7aa2fd02533d8efc36074761e6fa90cb69d4575bc25410b13fe0f9595a4faa5b705a7f54058ec2fe029ea7f95d2a70b24f7506a60887bdbac4e28f18df3cf56f393fe905ed4058bf2607a7fefc893009f7cfeb93cea95ee4f65c2d2cfbf1ec011c85f5e3f9a074ae518fd70eaca798ef664358fa53e93a09f70f7b95b4c2623edec051b87fd84f2f1cf617ee124cf7c31f2ae109ead36c171c7fb83d8e476da3f07c405f47f1c6cf2f3370d27fa9853df60bea001c85c7b7211c0cfbcb92fd597bca17a80faec151585fae0775a0f504f55e0047e1eb9c8fcc289d0f3406ac8dc6fa770e8ec2cff378f87881fb6fd91fcd64a8df727014d637084f0d8fa7e77c6062bec7faf7008ec2f7f3fa6d6694ee71bd0417660e7f7d054761fd4f851786edef385f73f98fe737847383fd14ae2fd2f9956ec151787ea07ff43fc423eecf6763ac4ff516b8cc51dfe81770148e8f0be1c220de383e4d3199e03cc55e81f330e7f13ad8bb2834ea6df72a6cc095dc5fceb09fa86b61d90f74b07f91f4576bc205c66bc1e53cc07fab1570b29f4e4cc2fdbf096bc3fed0f27a6474aad79a0598f209e269171c85eded858d81bfae095bcbfed3a37d43f38ffef13cff707f9c6f8d4de74d6d014ee747d5a77090f39e7b7014befe2eecd19fc3fcdb78c0c8f98ae3c1b8545f3a8ccfa5f5adc5fd2ec5ab867fb9287cbf150e96f5719cbf0c5567a8bfd433380aeb037b84b43fabd15fa0e7a11fe28bc8f27cfb35e189e5f1359c0fec88ea1dbedeac0b1bb1df149cc667af856983cefd737eb1e3b43e85024cdb61d42b6c7f3b49f5b7c6753ec0627d79be2d4d37f6779503a7f6fdba30150ccc3c7e3b4bf54f5b8287fadf80d3fd0ddbd3cea9dce2f9082d78989fb9b0d4e32dec31ac37469e8fc2f77f082f2ce2f15c38b7a82f389fda453a6f713d78383fc07816a41ff6e3417801b6f7c21aed29de0f50eb39faebf17c8c77d4ef3370147e7e224c2ecafdf37a4ce5ce08e7e5d5184cf99f9fb7b067190f44b83dcc271744acdfb630fdb07d383f594ddb5fb66fb5019e07e44fdf8029bde2fca002a7f1382fec2cd60f8e476b28fe91ff3a306d2fe11f4b703a6fab317f948eb01f3368df0ce3e57c68ed7c86e71dfc95aa739ce7793c4f06807edd27383d9fbd09cb786d26ec2cf65be9ba77389f80fe2e5d37f06f3f1ae1fd480f7ff6946f90bf6a30d987ed5dc35e9e2a00ac6f3be028ac3f38a4f7031ee309e93cdc5d810ba9e73de62bd084f2f8c2a7b0c7794687f80869fdca4ec051585f5e5fdc88c213febe029e15783f506f8375097d9b4d61a91faa9170aa0fe4fe143f6a0b1c85ed7b2b4c099b99fdc38dd3fba3a61496f73d760e4ef543b52a2cf546b60047e1f1e7c25387fd03afff6e785fd5ed82e976ec0fafc1b319f6374d014ef9b9c57827c93f54038ec2e36d857387f51fd7a7697c1dcfa79b4de6587f7c072e2cce9fbc5c2f2de2493f83a330737cf3f121eadf4de105fa0b5bc2b943bc733e738b64cf1aed2fcc14fb67057b2fa270ff4fc234607e9ed70b97a7f77716f6cdd37986467b791aaf7f14a68290ed077d8af4bcc7fc15e48f18cf0938dd1fbcb07388778cb7247db1bf427bbce1627bcfc0f1051e3fcffb01a7d3fbc24e81d3fc29e8cb052f3fbf254c01ccfa71be7186b6cf789ff4004ef6f04e58f4eba19f9d6b9c67751938adcf0afe6953fb1de74b17dd93f5ef307fe480a88f7b2f3c01775bc233d4771de6d3c5159ef5b902277bb42bc2a2af96fbe30fdb53da771efafb2330d90ffedb094f3dfc95d71be769fb88fa15f1ec293fe37c01fee2a370fc217f8428ccdc1fbf5ee5f9e9389efc98ec8bf7bf8fe028ec2f9c5f3dc51bf6e76a0a8ec2fa72bcfa296d97b17e7e096bd417d90c9cf46fd95ffd2cf97f76098ec2eddd0b171ef1772e4c098c9fe77ce9e7343fb01ffa9f970bd4cbe6031c85e363265c7a9e0f7f264c0ec1f6853e8bf43eddf7e0c508f9a63f1296f3a5a0c0ba40bc58d8830fd4f9f94b61da70b3beb89ecfe7c827ea149caebbb381b1de727ef48591fd7a86fe8bc11e17c2620f85f92ad3f83af637af299df3f8ba097821ef6b6a0b36e97cfb103cb4c7f1c5e52ce2eb54981640b62fec6993bdba35306d0f611fd89f0a0a390f6ec1e9f9c0fb415aac17f8de4005701466cc3fffb07dde07c6fb44d827a4fec31c4c3b2c6eaf7a15d6c8a7272fe0287c3fd78361f87ec20b971eeb7fb0603347fd1b3684739c9f36ef609ba3be5577e0287c9de3310cdf63a825380aebc7fe4be5825cf77b60335d60fc3d380adb97d7db301dd6273c4ff539ea57d581a3b0bfb27f8659aa17fa0c3c4dfeac85e7785fdd1be112ef6b7b2bec707ee3a0ff2c9d8fd605d89632fe0f7014bedf095301caed713c84f92cc7fbc37e0cce4778bfd6bf0acfb1ff6d84adc67e20833de7a9bd9afd3b50bd8ef35db5098ec28ceb7914be1ff62d68fb82fa10f3c507e46c4ff68f500efe0cfd4b2a1ff0fe01f6e0033f8ef71b614af8dc1fc6c3072c1cefb0bf49f3dbe6c206f552f706cec718bf87be466b39ef3806a7f62b8ebf60adbcbf50180f17886c3faeef82cb4bc9bf986f672cfc55c17f7901e0f638de821f69acc70ddaf39385d4f7f037efe6382f575fe0283cfe0d61fae178e4f80b433c9a85f018dcae0d8cf7a34be109aedb203c95ebafc23389ef7be139ea9570229c237f549bc256f65313e180ef8b1cc6430189f7f3f62531ea0927ed8f67381f72fbc239eeafef840b9c4756957089ef7dba5561598ffdfbc0e8af17f6f89eaa3e140ef85e273c0c8cf5ec119cea8d4aec3999e27a78169e49fba2cf44ecd3b8c4d88fd462af61fff6245c821bb1ffc4c8fe713e30ce0b0e84259fb4a97d898f26f5eff17d4d0d7f0d946fb09e9d098fc1ed8ef044eaf9c381793c4d2d3cc379b8bf498c7cd47ae105bea7a93ae11cf7374703b3bfd6c789f1bd8c4df717581f9b2631f29f4df797121f6d625ceff612239fb4623f4ac888f7ed8161efe781713eb3256c70be182e0646bd28fe38b5d0bf49fa58b4d7ee0a7b9c07d964af00ff6d653ea8c0e2f9a9ca81311ef187d918dff3b476609cb7883eb309c6d39c0e8cf38e3030e653ec41d383fa5ee26736c378eab781e1af89e7d0d7b603a3de1f27863f367789c53ef5c0d83f8b3fd0fac2faf7d5c0686f9418f55723f96856e0f9fa4ab8c4fdedfec0789f90096be9bf1918f3733930f6dfe9792def27d3fd06f9a44de3b5b8bf4bf6b4f8bea291f8a3ed25d67fc957541ec3df0e06c6f9f0f9c03cdfed877010fba4fb03daab443f4a17d8cf88bde663bc8fe8378427c2f5c0887f89d7f954f87c60cc7fba3ec3795bb59b58ce07253ea91e86ff49be9e2f60ef2ef5b7407bfde6c0c8efd3c4781fdf8b7de739ae77924fe705c6db5f0d8cf91eaee33cbe49d74b990f8957da3f62bf753430e243e2716e60bfa64b8cfabaf103637ce9bac5795027f97deed07edf0e8cfda4e4e7b987fd9bb3c4d0379c0e8cf541e6771e707f97ec11c4de770323bfef0c8cfd81f4bf18e37eff9a18fba95ef44ffb874ec6bf90ef21dacf8151ef497e5ba4ef7d64fd5bc8f75cf55162ec9f6ac9778b02e79d41e26951c2dfbb93c4383feb25bf2e0ceadf4eecb170188f95f577e1f1fd5927f65b047cdfd5a5fe02ceef7bb1079513a86f643dcfc7380fe8af134bbd2af54b3e01775d62d4af9dd82f9fc27e5ee2319f497e79488cf3def67260b42ff192eae15ee62f177bd942b8c0fa6353fb25f607764558839bfbc4f09f7e60bc4faa53ff5abebf927c9e1bd493f64bd8211ff7497f87e7fb9b81117fe703633ec43f72a90f9a643f8ff7ebfd2db818e1fe5a09cbfbd97e3f31ce137a899f6202aec47f8b19be8faa72e139be87aa66c20b9c5fb87c608c4ffcabc8514ff40789f13d592ff15814e036dd5fe2fcab7e4d8cef073a596f0a83fda7bb4b8cef7b426acfe2fd86db1b18fe29eb5fe1609fe62231da6fc59fa93cc17e48fcbd94786d660343ffc3c4f8dea27f1e18f595d8bb9c20bff52f8971bf157b95537c2fd3893ea5ec7fbbdb81f1be43e291cc81f18bbf94a5ac377789f17edaed26c6f7299de48bd2e2fb956a3b31be2771323fa543bcd8640f0f0e497f8fefe7acf87719905fdbd47ec0f737f66860b427feab47f8feb5ea13cbf79d524f69c997ee7160c4ff4d62ec97add84b4bfe746a60d4b3cbc4187ffd3230eadb2231be2771e23fb4ffc77efb7060bc1fd0c2928f5d3630beb790f9d773e1a381315fa9ff05b8aa13e3fb0e9fdacb119f4ed6035dc0de5e0f8cf5e532b1cceff5c0a8bf93bd4b7cdfe2d278e57b0a2ff947cbf700adacd7da221ebde417ed70bd49ed3b9cdf74e97e87ef7fea341f0edf7b78a927b497f849f3ed71bd9578d401f1dc9e26c6f72b5eea1723df07574d62bc6fe9647ecd58ee97f8a4ed15d673c91f662aebdfdbc0c897b21e9919be070b323e3347bead247fc417707c5dc66be47b85f03e30db333c26c6f70341fcd514924f0f07c6f75a323fa6c4f70ee16c60bc9f49e3d338bfaaee06463c4a7e3046de4fa9c438cfa8643d3256cedb560646fe16ff340e1c24bf1a2ff3bf3f30f6570f03c31e327f2608af0e0c7b8bbfda919c1f3e0e0cfbac0d8cf9ff711de393f9b7635caf243eed44e66b3a30dedf1ae129ae57cf03c3df6f13cbf7016f03c35fd6856768af3a1e18eb673630dbb796fac02ed07e980d8cf3a59781311f2703637dd30323be1e06c6fb20f1475be07afd9918e773751aaf7c0f5bdf0c8cfd4b1aafc67a5d4bbc5b233c1a18f570b2afc3fad35e0f8cfdd5fbc0c82fc9be01eb532dfee04678be791c18f126f67013b4d78c0646bd2ffabaa9b0d8d7cdb07e37323e3797eb9f89f13d6d93fa5f607d6bbe12cbf5c9c0384f10fd5d2efc3230ea91d1c0d8cf48fcb852aebf0e8cf546ec47e90fd793be4ebe67157f751edcbe0d0cff4fe30ff23da38c2f9d079ebcfcff951f3aa84c696594fdb788e1969df27fac830aaa52b56a54abba7f497a9225c99dbaa356ef490249ab1ed4a37a52cfea45bdfea10e6fea5d7da8cf7fab7ca915b54a5aac7da783f26a9d74ff757dfda36c887ca94db5a5b6d5ce373a546af7df6e833d9107b5af0ed4fdef74385447c3dd71563f48eefe79ffe6f94f1220f4dbe8219bd4fb31c91ed109f9e7e9ef7438fb49877375a12ed595ba26ebdcfccb52a95b6a6b44ad7eaa31c931eb3051d3dfe9b0ad66830e73b550b92a54a94ca6fe65c9d428d32acf8cfacc6c66498b65e6d47ee6ff51872c6455d221abb3266bb38ef4dfff25b29ef5a403797c764762490795ddff173a3c900e8fea257bfa45f2acb6b397ec95da5e512b19e50d65bfd3817a7cfb4987f7ec435d66ddaf1275917d665fd4f6669493972cfbd60e2bd9ea4f3aac65ebd9c62f94f56c33db525fd976148a98eb6fedb09fed0c3aec667bd97e667ea1ec67076457abdaec303b52a7d9b19a7cabc3c91017efd96976f64b65333ba7f8ec324f72915d6657dfe990dd53064d76b8ce6eb2db6cf40b659c4db2e9a0c32c9b7f6b87db6c31e8906705cdc66356fe2ad14a67941f3ea8ff0badb39936d4dfef752869d54e73f1aa2ded153dbea0ff25e27545f9a1534f5ad3ba39d5b52abfd3410f3ae85677bad74b7da7ef7f89dce98c72d497eaa206fa413f5226fe4607fda49f071d5e74a572fdaadff4bbfef825f2c9b9ba8b1aa89d3fd4e18b2a88a4c38a5ea5f5226ab1a6d7f5c6dfc9bac8e64f82df6cfca1905559879e35d8ca3cad63dfe9b0ad87fca077a30ef139bd479eb12fe2b217d2e98072e8bb3ed4473fc921ff6e4dafd11d6eb83fc931da221d967a8be4843cb3a635e4f7fe70a287fca04ff5597c2e3ec9d6b0fa5c5fe84b7da5afa32ea2cd20d2f37556d01d9774e7995ed515c9aa5ae89bd412eb40bdd0589fb2873fd061c80fea39e940724bb618652db55651dba20bc56e41fab0f0bfd1f739f76de9deb13ece5ad2fe36b5c33adce91d920955b64e3f7d93a39cfa311753d16116fbd7377aae173acf1ad6039a445d7ec8b98cbc238b7d52ef9afa9fd3933319c7a003f99cd7cf141d6fdfeb40fe927428f439e970ab4ba3f4abc9a8966868649fa443f793357ec80f2d44079d930e377a6474d223ea70f2c27ff3d5a8d56cf75b1d941ad64d63f405e9102db040ffdcfb2af52333c17ef1439227444d063d4ca6e7348692c692ec704f3678560d8df65d7f7de30f866629e960a9cd3db68026af46ffe7fa92fb4efe78201142ff17bf245d48938ba447acc5680e6fa005e9b04f3a34baa13561471d7cab83cd2e069f3c223f1f450fa011d9a1fffdd83be2327e369aa29fff4df1c9bab8418f8e7487355ea9ad3de8a0a2065b6a27bbfe5687eb6cc8515486bed37c1e93061db596fa3fd087dcf3a62a2883bee1ef458c8fffe63cb5a18f384b408f1823568f9316ac434bfd6f65148126e8edef74a00c9ae6a2a2be729e83736aed47ffebaaa05e6bbdcc6e7ecec4444bfaed1be9b69ef420bd2f580b9a93a885ca0ded64a946d9a27a6d27cbbfd3c1b46a3aacdd6f7a9de6a18206d1feb17f1a39f54e7dbeebcc74a6374b91de743ad3efd084f4207b90afbc90352ee39c9016d116bdb9231d56f5aeb9379676b627dfc4c57136fb498737b2c2058dc591058ef4461c3ff5117befcd8379d4f7e689564316fad7bd79a4dfb226a425cd8c71a4f7b37931afac05cd88be356fd9a179a72cb9673e4829f78d0e57d9e54f3a2c69bd4f1a900578fc198df9d13c51bd7b6a3ecd17c90a49fcff67b616d779d2a38ff630ab66cdac9b0db369b6ccb6d931bb945d46a6a1987fe6bdd68a7aa61dc6ef7598ff9d0e1f340fa2012c40e3e7fea9f7956ccfece960f621f4af3dd6e593f5589a0373688eccb13931a7e6cc9c9b0b7369aef4c25ccb8a74a74ed5c1773a68633e64774c3a905d2fc9b3920664815889c4fea9bf7dedcd8db925897f7948ffcf26b1e68a9a9085c6fcf78433fe2bbf05feb6cf9456992f9b71eb54d3eb158ac26f74b09a7588e7045fa4c3923cea30ce42d2802cf015fbcf26e6d61aae104562dd1975214d02ffbd8937731b6c656bdbd8d676b6b74b7b67efa9f5e3ec503f509e7e516baafec60e35ebb0413bf38d41874d8afe0f8a818768838cec0f0da8dfcfecdc3e40b2cfa847d4c23eda27fb6c5fecab7db3eff6c37eda2fbb6257ed9a5db71b6ac57cd84dbb95d5b472ae259fcc0e7fca0f73d6219e10ec65275489df90873d91f5f7c8f223aa8dcfed763632d776c7ee666776cfee67af10bb6ff7e837bb74e5c01eda23b2c2b13db1a7f6cc9edb0b7b69afecb5bd8975bdbdb5233bb613aa9e4907f341562968637e144f017ed2e1588d6937b449bb10af1f296b4da3d07e6046bf21311f49ecf4c7bfa935ba6667f84b2fd2a1b0a53d77cac5bf1530ce3a472bc543fc8ade55ae768d6bd5ae32942deff9f4e98e72c607eb7063a7e40d63da15c7bdb1e5ff6fd2def0834fda967cc2c2a76bd8ad4107ca2953fd18f72deac975ae774b77e7eedd837b744feed9bdb857f7e6deb3233d711feed37db915b7ead6dcbadb709bd92eb5c93b71aaa1573836735a2fbefeb16739dd0bb167f598faa651a3ef0bec1762a5eab6dcb6db71bb6ecfedbb0377e88edcb13b71a7ee8c343c71e7eec25dba2b77ed6edcad1bb9b19b508b3157b4769a1deb9aed70e4a6f18ce2cf69a0b7dc0c7fe3e20a5752b114bf208fdf883bca09f16bede02b5ffbc6b7bef3bd5ffa3b7fcf272247545b66d9967fe0f5e283fcf5997f1f75f859033eddfccf35f08ffec93ffb17ffeadffcbbfff09ffecbaff855bfe6d7fd86dff45b7edbeff85dbfe7f7fd813ff4f1ec6b93f67c277adb1f7b5a49d90e81d63363eea9df95381f833dba1fa7aee9accd9ffa337fee2fa266d0cd5ffa2b7f6de6fec6dffa911ffb899ffa999ff3f7ff852f83f27b217e1d6c820d2ed0acab9e46d1a878c250d338ee714e9b1d86a09fd40bade28632f71f4aa8421d9ad0862e54c3effab00c77e13e3c84c7f0149ec34b780d6fe13d7c84cff01556c26a5823590f1b61336c911704b513b6c34ed8a59dc66aca0fc8177ae21f94a53df1fd1f8b5a0f7b613f1c844375967ea7bfc251380e27e1349c85f370112ec355b80e37e1368cc298349884297f13be083959f7543f8722949552957ef891a352ce24fbfa38c77f2cd9459551896f2a5bb9746736ab7c15aa2a3c5575d5546dd5557db5aceeaafbeaa17aac9eaae7eaa57a0d8bea8d32c5637652bd571fd567f555adfc9cab7fceddff9554abd51ae9b0ae273ffd6ea3daacb6aaed6aa7daadf6aafdeaa03aac8eaa079a8169755c9d54a7d559756ea7a475565d5497d555755ddd54b7ea1b3bfc3fe930121d9e07ebdd57e36a524dab5935af16555e1555592b9a05d2a026a7ab4d6d6b577bd550a20c7555d77553b77557f7dfcdc59fd3213baa97f55d7d5f3fd48ff553fd5cbfd4aff55bfd5e7f54c7a4c167fd55afd4abf55abd5e6fd49bf556bd5defd4bbf55ebd5fb95fa6c3617d501fd647f5717d529fd667f5797d515fd657a4c5757d53dfd6a37a5c4fea693dabe7f5a2ceeba22e1b2af469bb61e299faafd0e1e4a5b18d6b7c139aaaa99ba6699baee99b6573d7dc370fcd63f3d43c372fcd6bf3d6bc371fcd67f3d5ac34abcd5ab3de6c60f5fe677568369bad66bbd9f93b1d769bbd66bf39680e9ba3e6b839694e9bb3e6bcb9682e9babe6bab9696e9b11f53e26f96a2624d366d6cc9b4593abc73fa543d1942d15ea3fc745ab5bd3dad6b5be0d6dd5d66dd3b66dd7f6edb2bd6befdb87f6b17d6a56da679297f6b57d6bdfdb8ff6b3fd32e1cfd9a15d6957dbb576bdddf8e9779bed56bbddee50d7bbed5ebbdf1eb487ed517bdc9eb4a7ed597bde5eb497ed557bdddeb4b7eda81db713d260dacef4f4cff9830aedbc5db4795bb4252d28f1505c77a6b31d5921ce43e7bbd0555ddd1e774dd7765dd777cbeeaebb6f0fbb87eeb17bea9ebb97eeb57bebdebb8f64cb7ffe1d6bf7d97d752bdd6ab7d6ad771bdd66b7d56d773bdd6eb7d7ee76fbe49007dd6177441a1c7727dd6977d69d7717dd6577d55d7737dd6d37eac6dda49b7633aae98efeac0ed96137ef165dde155dd9d312d8d356aeb7bdeb7d1ffaaa0b7ddd377ddb777ddf9df6cbfeaebfef1ffac7fea91bf7cffd4bffdabff5ef6a44bbcec7d4e29f79d74cfbb5a2ffe83ffbaf7e6590d57ead5f6feb7ea3df8cf3d06ff5dbfd4ebfdbeff5fbfd01f57fd81ff447fd717fd29f52a95964973fdafb73efbba9b6daa1ddeb2eed157ec8797fd69ff717fd657fc51a5c930d6efadb7ed48ffb493fed67fdbc5f644aad517df5f0736b7ffe9dfb8ff787105efd4ffabc2ffa920a9f6c495bf1a55dbaa55f8665b5acd5ba7aa35de743da55fc0a1dbeb5cfa5daa29dd40dede77efc1c670f64a54ced50f57effdd53bffedb039aa769ac37d34f7c6fa2daffec89bffe9ffffe97ff0ba0c4acc4 789cc5bd5bd3bb38b2e67bbf3e45c7e26ec504e3b32126f605f67b3e9f4f3bf60508300673c6c63031df7d643d8fa87ff5aaeae8eab527a6e9a8ee5f61502a954aa55242ef7fff8fbf7d3dddffed3ffefbbfd58ddb6cc5df44e4567ffb0f7f9fa6ddfffbfffd3ffff3dffe7d31fb9bfcefd8b6977f9bfcfb7ffbb77f1793bf89bf1923f59f13fb99e2c9683c1a9f387c513c95ff06f7ef0756f7c515793a9aabfb297981df8b0bc53379a9fb623ab0a57e7fa77821afa9ba7f39b0501c93ad91abe4a9155bf2df40be861cb0bc31783c1aa9fa05a89f2d2ff5fb00e5bb231ff7bd9f138fe7138ff29d2b5e4edcd142bdff55b12559c9e75b03abdf6f7cc5ee7886df079e6221df87fa3d28f6c7ee2854f71df044e0f79b4071301983bd33f264ecabdfabfa4872474bf5be48f17436c6fb03a178319d8dd4efc556b13b7747b6fa7dae584cdc89a758b5d7c49f4fa04fff926ce37d29ca0ba6e329f4b53ab16cdcd108cfef144f173ee4f56f15cf174bbccfdb285e9c2e254fa27839b5674a7fde5ab1b59c8c02f5bc92772a161e38fd561ccc2633d817ca0b4f97baafda4b9acf6486f69d819753d84be02a1e5b9437e8154f674bf05ad9f36c36f39733c5afe46089f6ff062fa763b46f08b6e6d07fb8272fa1df40d9cb6c6185a8bf1881ed11e4f1bec9019eef6e142f67f64c71fa451633f5be14f5b1e47d557eb0065b1ef55f28b6e7735b71aaec79e6cae755fb454bf07c612b7db9a89f77bad4f3b8ef5916ecc5df80dd29da3f53ed29df16e0f7db163c5fba4adf29eae7cf659751f2dd906d57e9337c03bb16eabb4579c1dc75d17f6cb0eda2fcf5b3e2706e2d95be4297ecb9b01fe8277427d0a77f01f6d8df42d5bef3d15cb84a7f620596e5e3f7d7606fc2fe6292a7ec4f097981f7b9ca3e64ede4a5e47b23db4bf5fcf648f6a05fff06eccdf17ea3d03c56fec85b912dbcdfe0fb3c9bfddd27d3df74cabfce27f329ca4f05793187fd7d934317f67e0676b57d9c837579e16260f5bc510eace4dde4032bfd853199f2b9bb81f1fcfbc0d0a77e3fe51711d9a37f50ed2b6b13b8280fef9f2e46aeeaef02f24f3df657b12153fe603eb02a5f7c92b5febe06867caf03abf2d66abc98cfe6fe12f63e010fefe77dfd7c6090e96f8d6a60d5bf832539e0f3a8ef5cb687eaaf11f43197f553fd61fb1ba3fe17643940287da37e73692f902f24531e3f26d39f7baaff496b9097eaafe7e400f61139e085b40855de3779e6a9feb79981bdc904f5cbc98bb192cf4dc81efa4f06fb5ecedd39fc21593eaff4b1f92053decd3bd985fedd47b287f16ffda4d892c5a9fa472179e1297d8935d8a37f306ab2c7fe24c802e345a3fcc9dc5e8c97eafdc9822c6b78e2dd0b7989f7473dd9f230fea27fdad29fc0fedfc9363885bdb98bc95cd5c70bc9ee0ce3d5b9660ffe13fec69b0bfc5e40dfd2bd58e8cf6764d753fa8ba03f4f0e4fd007eae7e9f6ced4782ddf16ce557909ec4f2c2cf49f744d161ee2a51fb0d6d75ef9d3b9bfb02da58f68a3d953f26c32b0ebcf94bea3162ccbc778a9e2ab79b0985a4a5fd592ec2dd5fdfa6960f57cba22079e92cf84fd059667c19e51ff40bfbf53e3cd3c94fa55ed57cdc981057b833f0d3dc607c60b3918a3bfaaf8413a6fd755fa4c1df0722454fdb723f24460bc57e52dc60bcb52f236e76481f2935c33deb7ba002fa702fd670d96f6a1e4373ec8e158c9b756fe7b3159b896e26845961a56f55b90c3a5927fadfc8b0c962c4bd94b3b23db962a7ffd48762d650feb3bcdb66acfbd41f6f0be7ca9d956fa6b54bcb29001ca42bd7f9590650f51efb3342f95bcbda319e56567e470a1ec25833c329cc2f8bc2dc9134fd5af7f1858bdcf9992a7b0cfd539599aac6aaf9ebc104afef86c60256f780df6ecb192a743fde7b23eeaf93627bb16ecf19eec2d5479cd05595a98b23fc833d7e3dd5ec5030be92e96ca5ed60f64df52f650eec881ade4d943bf32dc45fcd51cc963f4efe6923c5928fd6f2bf2dc53efcb1bf202fd7f7d4eb685d257c0fb521c555e07fb963f87bd661764b1c0f31bb26f2bfbdee7e480ed0f7d2ea53cca7e5335fe49ed79906f6d937db4ffea96cce753d8b7b51ccf953e8b6bf212fed374c8ae50fa4c469a7df89f14ec8ee02f9b2bf274a6e40ddec0ba7fbbd0bf252613d55e9df2c7d25a05da631593fd85fafdfe152cd585fef0421ec3dfc4d79ad19feb3bf214f6ede4e485a7ea7bb827dbf87d12915da1da7b9f81ad10fa6ca02f5b06e4b88ffe65cbfa21de47f9ee427a48f57b94ef4afb51e5ed9ec963f887d0234f114f245bb28bfeb0bb24fb3ee2f10e2cc379d82ff4e5697d943fe431f4574fc913d86fe868467f5e09f214f61cdf68c6fdf0676055bf3a21cf717f3d22fb42d56777410e7c559f0ef28be508f3adf5923cc6f8b2be1918fdb721cf60ffa9fefd1cf1d5261918f3dd9781557d0f1f64c6038790bc443cd41b6457205eb8220bd8f3992087be2a2f833f10d65828f9922fcdbed24736224f70dfa0fcd29e61bfb8efcbf601ff90c7e8bfdd077902ffbe0ac833c4379b4bf202f6b9873cbe1d22fef3f87b4f4cd5fb1cd85320dfafeabbda91a70bbcef87bc44bcb8be20071c2f5d7208ff94c35e025dbf75afd957f23468bf40caa3f457e17de13284bf2b7cb035c5f301ef7b93b12adf85bf08c5740afb56bf97d63285bd6497e439c7cf4833ea97d70323de5b935db4bfd981a5bccabe13bedf9aa2fd5673f2ccc778d592173ee22d8b6cfbca1e8f78ff584ee861bf2579017b7532b09c8eaafe5bbc9267a87fba252f7da5af5e8d17cb89ac9f92b7cfc98ba5aadf99495e5aaa7ee60e2cdb43b567d49167b01ff35d33fc45b927cf699fb1665fc95f8ec83e5828ff25b53f45f9873bf21cfe6b1d922d1be3a943f6115f6e7f06c6f84096f2c23e4cf202f2ec5ab2ebabfa789f603ddf5fa1bd674b6b89f8fc82ec231e8ef0fb993546fc613c902db4af6790ed00f30993ec06b0b723d9437b4468bf993df2957de6167982df37d7e405c6a3cd14ec4de17f8543f6c78a8d67b058c2bed7688fb9b417f5fee319d9837fde5a9a993f29c93efcd7da03cbfa2afd552fe425f4e946641bf5713ec86e00fb477bceed51a0ee9b689fb93799633e3a23eb7cca98ec8f55f92ee4599c2ea58f03d9823eea07b2cd7865a119f1715f905df4e7be1c18f9c888ecc3df652939c07ca9827e16d604fda1eec9ac7f7cd40cffbdfe215bd0872bc822c07cfa092cc361e4d7e00f96b244a5af5eb30bfb5b6dc89c0ff553b21c51d4fba0afa535427fc8570363bc390cacf4696cc9ae8f7c53401681ba1ff3fd961f203f88fe2d8b477e22e2fb3c3156f55d419f321eb3953eba2bb280bcc92dd8b2e80f027218a8f6301fc1d23e90df75c94bc4b31eecdb128ba9fa7d81f7dbd29d29f9fb193940797bf81bdb9a819b37b28df2b7af64d7873eeec91ec697ee931c06aa7efdd9c0882fe00fdca5407e61bf20539ed42007b09715fcbf2bfda52a6fdf935df69f0dd9c778e0de9203f0f64533dac7d90c0cff0cff28676b81fabdf94576112f992a7e597ab27eea79b3270bc47331ecdd93cfabfe18c3fe3c370c95feb790474ef7c1f1823c018b90ec239f6dc21e3db140fcbd42ff13523f4abf3bf83319bfc05ff73fe429e2b1ddab66e41ff71179c1f6dd0e8c7cc25c33ec3d3e1f58f5ff4340a6bed7676401fb37dfc83efcb783fa08698fea7dee1d7982f1ad3fd70cfb4d5bf212ed53429fc29d04aafc7046b63d25ffee487643c4fff7642f54f7e32558eb377d2187c8df07f04732de433ec0813f91b32be48b53f86bdf627c5e3f92c7f02f2b7d9ff170bf234f900fd86fc84bf8c7c33b59d05ed17ebe1cafb0fed09305e321fede0e16889fa10fdff530ff4963b2cffac23e7c5ddf1eef93f1a08d7c07eecbf80ff16cff4d66bc5e7f916dd84717935de453bafdc0aa7ee691ec63be10a3fd023dde1ad7e419fdd32dd90a557d128c37813785bcc9237906f6176417f9b1ec4016c87f8568df40c6ebeafe0af6155a9c2fb51d99faae3fc9cc2f3bd06f688f112f26823c85fcdb0bb215aafa8557643b80bf67795ade14fd2d14a319e251d55ed27a98ef740459cf17b6e439ec677549b691ffac2764817cd3513fefd3ff869ae17fcc3dd89e53df15d90a915f3b27db21f24167643754efcff9bc1b8488776db06e9f3421ebfaeec87370f44a0ec6184f957e64ef1843dffd983cb5909f73c8b3b12acfb1c99c9f1e9fc901eabb3a80ed29fdb907d6e5a74fe400eb319df277d2daa7b087d5377986fedd4fc80be42f537760e4df6ec816e21987bf97fd15f3bf2ff212e3ad5993ed00fefe92ec86b0a735598488dfec81a12f13aceb9319e405f57b24cb0991d2df862cb01e608ec0628ef53e93f20a77a69e3732b2c07892c27e64f48bf53c9192d93e4d4b5e207e5acfc9324450fab822bbb0dfe84c33c6a3fd8c1cc2bf249f60699f986facc8ac7f7e410ea09f14ed3d75478cf7600f53ad8f56c557d27bcdd19e878ebc44bee8d00f8c7876ab19e3e73a27db36e2c547b287f86f057b92f309c4f37b96678f99bffc20cf907f59cd3433bfa0d9867f0c2fc901fa5bb0238721e643d0ff69f9579557dc68a63dbc9059fffc405e821de8672e3588786b415ec2befb84eca2be07f40f399f407ef7cc278fe1ef0fdf648ed7f18e6c617c36a0dfb93b0ad1bef5c0c83fc0bee75a3e37068b00f9b604f6b8b066c89fd5287f612f10ef952dd9433c156e06c6fc1efa59c8f2b07fe39dccf86a734da6bf0c51ff8537c7fca830c916fdc703d99b637de2912c902fec707fa9f59969d6f3e937b20bffb1b3c91e38b1c89c1fd5f05f4b7b8afce7ea59b3abfc75fd4e9ea1bc98bfd7fa2e6ec19e4df9f9bc17623d6b8fe72d59be2aaf7c260bae4f64649feb13cf03633cfa2007cc7fe9f70536c65be8c7b227c8efd582bc447d43f8174bb607d6bbf70363bd32274f501f633a30f2cbfaf7f487f18cbc803f2d30be58bafe25eb730ab84fec415f96900daeda0fed6debf689d79a111f1f8e6481f879e56ac67ca3cfc83efaff2a1c18f1c4353984be9dcb8191afff1c18f95df467dbd6f1e25c33f235fb0979caf52fca6bcf118f56944f0a807818e391ed4e115fa57bb28df97189f1d7d6fa69d15eaeac2ff2250bcdf01f479becc35e5a8fccf677d01eaef48ff03f67e4998d78f29b3ca7fd4e3423ff55bf9117b07fe386ec62fee85e9105f23fbb73b28ff82c80fdb9d25e30dfa17c72b843fb3e0e8cf5f84b32fd674979b43e2adef73c7088fee02d2cc42701fc9367d9d8df7466907de8e36891d9fe6be8dbb3a7586fae0af212fe77dd916dc41331ec4b86bbb06fc3214f18afdd0c0c7f077bf13c6bacde57efc8947f03ff2ce4744edd2f616fb27531dfaece35b3ff9ae439daa3e907867f1b9399ffaa4af2121c5d932dd4a708c99c1f064fe490f1520376c7b04ff3863c81fdc62e798ef675dfc9f4d735c64ba1eb1bbd91c544c95b679ae91f795fc647c80763bcf2657bc1be5f07467f807f92ad8bfbfd9766fac7df18fe342573fcdd8fc8f487f5ebc088f7d6641fe39d017bf4a57d62fd10faf1bd05f271f58cccfa1406d967fd5fc801e6b319eccb17e3856a6ff7891c60fd7c077dcbf91cc6a3f6854cfb6d61efb2b7b3bd0fe431f491dc68c67ac4fe833c81bf3b2e07c67e92983c453c15dc6ac67c76f546667ebe9a91e7787ebfd68cf59fda252fe0afb75abe8587f5ae6732edd3d1cf2f116fec43b205ff54b07c696ff01794d7b5d11ecd3d58eb7f5f90a9ffbd450ec02bccbfc2530babf2713fb499af712ec833d84b5593b97fa02dc83ef64708e82b94fe0cebb109790179e307b2c5f195f7bd31e2a5604f5e607f4fde9229af40fbc9f92bfc5dafe491d6cdf5c828224fb13f2a35c933d87f6d90b91fe1f84a16c897957764bd5e7f4f0ed87e0ed85d86d82fc2fbb23ed8bf3427dbc867ec6db0963f63791ef36de93b58ccb17e9e2b7f608ff5781a9d9397c86f1d03cd02fb033ab2057b0e1ec0ae8bf8248bc172be86f54aded7e5af94bf94a3f998fb0f2c32e7a307873ce3f851911788c7924233f4bd17e425fb53a219fb3dab29d9a23db5641bfe7cff43663cb8fe2607585f0b52b09c6f21ff4ef9dc0938db833d0beb912de5d5f58d7cb0184d101fbb9a196fa8fe75f28ea8dffa6360ec8729c873e8bb7dd6ccf94a4b5e203e6a5df212f6b77a21bbc81f4733cdc817360ed983bd152999f15e7ea319e5650b7288f6f1f83e5760fccd288f1762bf40cbdfebfa9a688fa93f5a40ff4732e7278e8a4f64eda7d84fd0afc833e4ffd3c5c0ea7e1b90e7d0df51ff7e81fb4542e67ea3221e18e3f18eeca17e954d16b0071fed3193edadfa6b5690e7f0cfc76bb0ae5f9a92591f03f63193f555ed515a64deaf1ec83a3fa9c647591b9d4fb8215b5c9fbd26dbd82f50e8dfb33eabd781b11e7e49f690bf2e9fc88c6f8bc9c04a5fb97ebfa0fd5d0dacca6b56641ff651a59aa1dffc964cfba8de3463fdbd447de72ef747d401790afbae7f34a3be5b962f036cc43b1f640ffebecbc15adf3be87b712a41c95391195f1663b28bf98b733e30e295ddc04a1f5d4bf630beee0372c078654e0e693f0dd8653cb083bf5c08e60bc31bb285fd1435dfafdb3fc2fb9756c0f5c30df8d402aa3e7332f3334e4176d15f8a1fb207fd1d6764017fb82b06c67e83cb8131fefb648e3fce4a33e2990afa94f36dd42f4f34437fd591ccf5ccfc6e608c0f4bf294f3e533f20cebe529ea2f2784b0a73623d3defb944cfb3e2ec81efcdbae260bb4ff2e1f18fe614ef6f17c79410ed87e7b32e3dd0cf5b75cee57c863cdb01fc324bb8827b22d588ebfb00fe8c31213ac8f244f64cedf3718bfece50cf39135da4b5697ede19105f451edc801d8d96bc67e84fd3799f3e908f5b7dd31f633d563f212f9c1d6d18c7c7f4c795c0febe9e1012cb85f3a2ec99c2f1a9f607f8cfd87073eef333fe7603c92a30ff277794976315e75c6c0cadf94e764e65beadb81b19f604c0e387e7d68467cd2637c74dd11fdcd25790a7d9c79e419e6dbe52399f3b9fc7e608c87d9c0685f8bbc009b4f9ab1dfa41e916dd89f0b7fe07accf7547cbf4f7fb082fd787a3df57020fb78be3c2373ff66fb3430e2c97260ac7f3603a37d0dcde8ef876b72887cdaea6160f5fe92bf77b9ff770b793da1e797e85f9e967f0d79e57c96f1e72739e07ea6746055bffd1758fa0b8cc75332f5dbdf932df883ac24d3df991639c4fa93803f1552bfaabc96bfd7f6d9a0bd85b6c756cd6fa435515ff12d39e47c0fe3a1ef8ee02f4a419ec3dff72e79c1fd481e99f3a93a26737d24b3c936c6576f4e76b1debfe5fbb57e4bf8475febf7e093e92f02b45f70fa2050b55f4616a84ffb4e0ee81f9b81315e43be40ea1ff65291c7c877ac03cde8af872bf204f658b13ce93fb0fea09fe7fed603e28fc0a7fe77d0af1c1d515e3226cfe1dfb27b32edf9b0228790bfc2f812ba7cbe8f35a37d92b381313f9e9027b0ff62ab19f21f6e0646bc640cacfccf2e1b18fdab204f515ebf26cfb15f3cd6f2b1ff972ed9e57ee79acc7829823e43cf43fe6a037f1e4a8356f2451703c37ee1cf42ddfe47be5feb3751f620ad758cfe7bb8254f607fd596ccf955fba819f5598b81b1dedf9367789fd30d8c7ca2455ea2ff96263944fbe506d8f3903ff003b018637ccb22b2f62747b0aecf4ad983accd88eb8b07f218f3fd7c47e6fcbac934c39f15d1c0aa7d77e5c04adfc9c5c0d8cfbd21337f52e56417f66642feb137c27acb06fa1d0b1bfb8522ca237cc4a37bca3bb48f1a8fa535727edea66097f982e49c4cfd1e2ec90bd4e7980f8c7cc24a33be3788a6641be3df6a41663ed1853c13293ff63741bf136d5f6503d6fe3151fee9147d33de18814f1fe42afdcfc85c2fdc7c82e5f409fe84bf1723ac97663d7989f5fee892ec233f134e06c67a86f20f521b53e483dc8accf6746ec973d86fbbd28c78a0f7340be4afbec90b3cdf8e0756f71d876c41ff29dfefb1ff94d0ff4c30bfb59990b9bf64fb3030d6b71fc9ccbf6cd47827478f10fb4f13d8db5ccfc7bb37b0cbefdd5ade7719efb71f03637def0eec319ec9a6e425f3fbd0d75c971f82174b9def5e835de6fb8ed381f1fcd7c058af44ff5e78dcdf5dde6a863eab8ecc7cc4ce25dbc857853ed9437e6807fd2fc418fe21dc92a713eccfbf20d33e43ca37e8ff8aacf5fd44667d2be87fe1737d7585f693f30bac5f1fd6647e5fdc2fc94be6fbaf06463cb61f18f9dddfee23ff7c4db6a0cfee7c60fcfe7260e4f3ec81f17d414ab6d1fed15633be4fe9cec85c8f8bbf35733e4f793c7ecfe337e425fc55a299fb67b31fb0607eaaa43c5a5f47f4074b5e58ff7607c6f8f83630d603afc836ece52cd08cfdadf1cfc088cf1ec82eea1bc7640fdfa76c612f969c2f2b79b7cf64e69f33ca273cccc72a96afdbbf7822b37e710df6999f393e92695f1dea674b8bc7fca121d31eda1dd9467d9b9ccc78bd4907467cf24116b0b718f5b1bd09f2bdf90399f9bdc2265b282f7e22dbd8bfb4ed3523dedd7d923df4af98f2eafad59a39be1a94cf17f03f47d8b30c4fd87fc764175c6c0656f58b3f0746feffb7dfa3be2f9ab1ff2d267b53f4afb5415e603e996fc902e3c90efed415fc9e693723733e161fc816daff7845667bd73959b737e21357e7d762d657e7571a974cfd34b00f39df61be381a18fa1d69467f4bd66481febb9d6bc6feb4e27d60d51f8a4b72c8fd93187f6578047fbae3f3c2c2fc22863d7883bc2699ebf97bd887d0ed537c9105bf971e0d8cfd21ab8121cf27d9c7efcb04ec4dd19edb6bb285fcb6e193395fd9c11f0bd95e98ef407ea1ed2f31c994dfbd27337fd25564faef0ef6e6bb3cffe03821f37b8878ab99f37bcd01f4ed423edfe3f738454eb6e00f8bd9c04a1fe535d9c67c387e1e18fb4d8e64e6738c8e1c205e0f20bf2fc72be42bc8babe8941e6fcad3e90d97e3b8cdf72b603fd6d0b32f36d29ec25385dea7d3639843fddc1ff07b2ffa0be0139a07f40fc17080be371037f13e8fe5008b2de5ffa4c66fc57513edd3f4ad84f2825c07c27d28cf57b674e0ef9bd1ac66f292df375ef0363bcfdd48cf5c826264fd09ecdd7c058ff66f9de1cf9abf2956cc17f9a77e400f16e0aff170aae3f25e8efa1ae5f599339de950bb2f6974fe410df3f1cd57827a5a7fd551b32cfaf58d5605d3fe74533daab8fc8638ce75e3730d64f13f204eb094e4a76519ff286ccefb9773f64e65376022c46f83e2da934c35e774bf282f997123cd82be5d5fac9bec99c6fb6aabd64b417305e7ed08cfa950ed8e3f79f5ea419e35fb31b18dff37e93275c8f3e23cfc0f994ccf8b4389299cf4d5ab060fe22399027ccff6ec8dc6f90bc82757dcc1999eb25d53399fb258e789f9c3fc11f748f03233ff1a319ed7980fc13597fcc4779fff40ba5bf7bcdd0d7fa6a60e4bf3a72007b6edec921e2b78309d6ed533c93599fe48dccf966b70007f4c79d9a0f7953dd1fab1f32e5718e03637de46360e4cb33f294e35f3930f6c36ec9cc87788966ac9fc6af64c6d3892e8ff9c726048b11f607d78e66eccfce23f212ed91403f535ddfe285ccfe5ca3bf9ce66faa7f1ec7e429eabb9a0c8cf51f9f3c83ffa93ec873cc3fe380cceff91dcd36fc51a4dfc7ef9b73d8cb4cda27c6db5633fcb9596a467d73973cc17c6f1792b9df2341fbcde4f88af571be5fb77f3927b3febef25fde5cce6fe04fd1ffe77a3eebdc0d8cf175a319fdafecc973e823be1b18df4b4e0746be4d0c8cf8f0022cf8bd5007fb996b79777cbf963754e3a5276763880f04e45de878ab823e167affefe19c3c87fcf5a566c8537664bddf45ff7e89f1645b9305f6f7161658501fd5ab66e4e39ccf8161ff7b32f311e5f7c0981f05e439f2533b7f60ccef59fe901f75c81c7f42c87f5a7fc3797568efa53bc17ea5a6007bfc7ea9df0f8cf890bff798df6a4d32bf27774af212fa0905d942fb1933b2c07c3146fb2ce5788a7835222f61dfbb1558cbbf81bee5e88cf5a0cd966ce3fbcaf08bccef0d03f437cb9be1fbaeded24cff39222fd0fed5f7c0b0bf80ccf31cce42b2c5fd85fec0c89f5d0c8cfcf2e7c0f8be0dfdc11263eca72ce6e429da3ba7fc62097f92ebdf337e6d61bf96b6efdd9accf82fe3eff5fcb31164ce5f1c8c17b66c2ff8ff6660fc7ea419e5b777e405f309ef649bf9b31b32f77b27b02f5b8c61af45415e703dd823ebf6853cae1de27c8d2406bb1ef75fc01e5c2defba25f37c202324fb981fee600faee0fc3a41fbbb525fd86f7443d6fbcf3332f595e6648ed7aebeef73fef644e6fcb0417f76f57818607cf7bc39ce63692a32dbb3fa22f37bba38d48cfcf31ef6ee8939f667e601d9677ef49d1ca0bd3ae87798bfa59a99cf6a307e088ff9b7fe40e6f9463b93ccf39172d44f081bf52df87b39fd43fc24c81ee5f1c99c6f67881784d65f5d91b53c182fe57c09f2c71f64cad3db0363ffda7160cc97dfc82efd8da919cf3b0bb28f78a183fc723e85ef970ade177a7fcb7260f8e79e2cd05ec59eec63bcca59bed43ff441f97d7eaf9c96645d5f83ccfeb787fdfa81ce1fa03d032d7fa5d943ffdaedc89c5f379f9ad15e07cd3c4f6a87fe1308e6f3d76bf212e34dfe4af6d11f3bd847a0ed3ff3c894bfde93297f837828d0f69ec05e438ffb7fea35d9e7fa793430fc03f41b4aff00791332c79b7c429e333ef4c90bf84b9193993fa843b2cdf392aec92ed66bab33b28778ca893463fe923f9303f88b0cf61deafc41754b667f3f28ff22674336e71b5332f355c75433da339b8005cfdb8a9ec93cbf23ff267bdc5f53927dfacf86ccf97a1e82fd09f3e93999fbb5776764ca9ff964edafc801e7679deaef42ce7f189f7a641fe35be29003d4271c814f97d2e71b599f9fe1932de47f8a9eecd25fbc90791e60510d8cfdda1658db5babf42f26dabe9a922c681f3d39c07890afc1a74b8db72979c1ef1b3c32cf0f70c69ab9ff5fb30fce02b096277b076bfbdfabf996987acc271d5b72c0f304a11f39df98e07ba83599e7a505317906fb2c2ec8dccfe23e93d99f8a9a1c42bff927d8e7fcbeb6c15abe46f93b31f398cfeac4c0cafe1d63607c5f8ef7cd4e97babf242f30dfeaa09fd9605f1fe0c11f405f73d7427ee30079e6babcbe1b18fd292687940ff63d973d48d5ef2c2273bd2d1f933d8c0795410e904feb4dcd8827cd6b7288f9908bfe3bf77dfa6bd8df5ccb9f7d92f57e3ff48f853bc1793347d8ff42ca87fab4032b7b3adb9217f047d198eca27dab15d81f215fbf57f30bb194cf2b790fc9c0d89f754e1ea3beadbe3f85fec20ff26c8afdb80d79c9f5db98ccf32b567bb28df6749a81e10f7fc03ecbafd69a11af6f3bcd1c4f8e60ed4ff6b05f19df32dfd40e8cfefc45e67efcdd07d9e2fc76440e713f477956c07ce24ee587e468cdf34622f467193d4db13f6c479ea07df66703e37c8cd781317e8ec833f6077ddfc67e375fb3cb7cc33dd8e7fccd388003ce6fb7f0e7ae0c38f1fdcd06ecf17bb3660616dcffb27f206b79afc9fc3ea3e7f3523e7cffa6ef7bd87f661e3443be1efa77e57880f573d45f068438dffa00ffeac9f7e13cde1fb287f5b108ede3c9f6c67ae6863cc6fa7ebd25cff03d710cff2787538c9f07f82721df8ff59bb781313fdd9279be853721f3bc80d5941c603c69e7607fc9fd052e38e0fc768ff1c117cc27f86bf282f6906a863d753e7989f63f8bc93c8f4dc05ffafe18fbc3ea88ccefa76bd8a3afcb0f603f816d235f1fe37ee00a9cef230ab037473eb1417d02c17c46f74ce67931ed0fd986ffed8e03e37b9a8a1ca0fdf7e8cfc1a00f355f13a1e0fcfbb81b18fbdd8f648beb1d21d9863e8c5b7288fd8b06fc5528f581fcdd397981f6ac379ab17fdd7d235be81f05ec3b0c385fddabf9973fd2ed7118936dc877b601fbfabcbe23798cefdbfc6a60ecff7923d31e576bf202fb150a874c7df477647edf7250f33b7f2c389fed5e34237e700bb0ae7fa0da5776a629beb7384cc0b28761fce77dc1fc4f7a05f6f93d77f74df611afed1b70a0d7df947ff1a7d26320bf18923df8f32e200bd8471b9343f82bf3197cba94febec833e8cbe5fb647b617cbc00071c5fcdf9c0c8771564cae7aaf1d197d101e647de077989f3f4da1bb28778f75092395f391ec93ee29fb50f3e5daa7d9ec8737c5f5bacc8fc9ea472c83cefc8ad35637c37cfc001cf4f33cfc9738c2f4d40d6fb3f54fff0e56c03e7391ca660a95fe497609ff3d3a5f411933de8bf7c230bf4a710ef9febf170037b90f103f6e3b7906f2118ffb4b007190ff03cd73199fbfdc49cbce4793f6bb260bcfd450ea0cf12f22f02cedf0ee82f4bc1efd9ba1539e4f985b0dfe5e952fd3d22bb386fc5d991793e490c7bb104d7f30f3332f7471f9603c3ded7e410f6b4813d58fe1cdfcbbb36790179dc806cb1beaf640ff218770363fe7e46e6798cc6233898c23f76097986fccfc1236bfd40bfb6d43fc69bf5c0d8cff0491eb33ecec0c8571a64ee7fd96af621afb91c18dfbf9c9319af965b7288f6afaec181de7f04fb72dd10e7211c72b0d427e4c5fb64740279dbab81f13df9cfc088472ec9339cb7d0f6647eff1d8dc83efcc7d6d40c7d97077280faacf5fd10f661c01ea5f5c07fb7b017194f409e4341d6f25e0f8cfd62117942fd7f0d8cbf9f7046f6e01fbc295960bc2ed07e5ec0f71fe14fbc90fd7107fb90d33d9c77dc421f62d0d7963c81bd1e9381e11f16e429eef7c1c0c8476ec802f9a652dfe7f74991ad99e7e7c17f8980df979b9447ea0feb112f643d1f6ec1a1de6f047f245b0be3c3f17b60ac8f0b32f793e767641fe7736e5d72487b853ff68311d657b28cccef59cb0d7982f2d62bcdf85eb78cc82cbf467bfb5ade10f7e56c13e7191ef1be408e08f87e302107f85ec4437b0401bf577746e419ec2d3c2733bf61c05f0521e7c302fa97f10ffede4a077b97f10adaab7fd50c7d9f25e410f66442bfa12c1feb17bc1fcce09fca0f32fdd71efe3ed4f58d547c169cf23dd87ff20ed6e59b2df8749d78b524cfe1af4afe5ebe1ff9ba1a1c72bd56a8fa486b5f4ed17f3ec03ecf773423f0e952f75f06c6f81192e73c5fef6360c4770b70c8f9707b20b33ff9e0891b60fd28407de46c06e7537b5760c1efb31cc83f09785ed9e16b60ecd7276bfd754b32eb1b2b7b0ba69e8bfedbfb60e981e09f3bb2c7f3b932f0e952f5fd242f78ff816c533fe7e400f67c34c021e79f86ea5fc1ec742936c816c6ebd58accef9573b4cf4cebab7924b33e5b65ff818c3f66f8fb199fe4d918fa85bee6a74b95772473ffe5aa23333e73bec88c6f9c2d99e35d7f49e6f812a8783158783ebed736611f8bd3a5ecd722f3bcadd8245b28bffb21b3ff753bb06ebfc223b3fe473e1f72bd36c4fb97be8df61468af65c0f95e679305da635f8143ce7742355f092c6f84fde1c1916c61bf6f928205ffbe4280f7c9d109e39fdb92e7c83f0677e0d3a5f451906d9e4f79451668ff02ed6969fb38de93f5fc50f997d3e733538c57b02ff5c18c2a3f27f37cd5b2046bfd1cdec89c3f452abe0e5c6f32853c685fb5a14bd9d39ecc7c80b920331e59d99a619f26eccd0d39df3f3e90599e89f6530b0ccafe4603c3fe2c32dbbf9c81b5fc5948a63e0e0699eb6f01da5b7801cebf375df0e952e5b5e400e5f7d760fdbe0dfc9b9c4de0ef619978bf1a4014e764c62b3dece5341e61bde786ccf7996abc0cd47f94be61df81d40ff2d32599f21f2fc9ec7f872732fbdfb39adf0561c0fc630bfb0cf5fd44c5dfe1e9bc04ecf75e8287f75f90b99eb652fe447a63fdbd594366fff655fb84325a81bd6df1fe89d430e2e72b703883bf7212cdb4877bf21ce351f344d6f325d59fc2a9c7f31f37af6417e5893bcd3c0fab06ebe73b3eafe5ede664faa344d94b3813239c1f1515609fdf377533b0fefdd123d3fe02e5ff64b03c9f205ff04916187f8300ecf37cf4830bd6f2b416597fdfa0fa4bb8f0c638df45bc83757f3620bff487fcbee91baceda11b91f9fe10fa590efa33c9537c3fb17920cf307e86f703e3fb0ed47f29f8f7499c1ff0607fcf64ea6703fd5bf279c4cf1999fad91803e3ef33a1bd2d31c779854e0cd6edd75f91f57eb65b32e3d310f2db72fcc77caf1918fb41f281e16fbfc94b9c1f143e0e8cfce50bd947fbb57bb0ae5f7f4366f91bdc77a5ffc7df432c06c6fe6577609c2ff543b679bee381ec4e70fe6d3930deffa819f9c5f089ec817d1f3cf4bf5cf31cfa6fc93ee6732b07acf5dbda64d647c01e3dcfc2dff3dbb4640f7f7f70630d8cfb1e59069c8a9f06c6dfdb8ac83e78731c187f4fc82607e0e87660b4e702ec07d8af21f07be1b9385fd037c93ee299cd3339c0f76ce25e33cec78c4a723845fc6f0e8cf3e5d15f841881b7ef0363be5a0d0c7d6f0746bea2278fc1de82bcc0dfebd9f0fd7e88f59d2dfa9708991fdf36649eb7db69a67f38f279dd5e3edac7f72ce83742fff275f9e241f31cf9d24bb0ecd1c8cf5864fd3e3c1fc8fa603fe03d794caec99329bea78e0786fd949af1f7d022973c9dc1bf3e0c8cbf27f9a819fe7bfb419ee17ed40c0c7d2503e3ef93569a115f8927f2027f1f47687997380fcb437b06fe02f167477987fac33ea5bb417ff6e1df43312677e409ff7ea74b9ea2fffadfe419fb673fb0aa8fef91e7e83fe27560559fe85133ff1e4f4e5ea07dfd9f81918f7606c6f9223bcd337cef32dc677f11e425ec5fbc68a67e3f07c6fd67cdd4ef1bd9c2f3413130fede633730e2c35433cee3f657649bf679d48cf6de7e0d8cf9b696c7c679b7de5233e2f740cbefc21e837260d8a3af19f6b7cd06c6fa4ba319e76f7b1659e03c1fb11f187f6fee7a609cbf6f937dfc7dab50d727e0df879b9243cc57c56160948ffe1bfa238cafdecdc0f077a666ec3ff476032b7d79b7e409be8712c6c0f0fffaf929e54f3563ffa277479e213e11b46719afa03d692f3ecfa7f332cdd8efe8dd0f8cf6a47dfb4b9c071d5c912df83b2f1f18f99607b28dfda12edbdf7771fea5570c8cfd7509d9e3f38f9af1fd65109205e471bf35e3fce244eb8f7f5fcb2b35e3fc3eef89ccf370dc9f8151df8a1c223ef4d83f8211f20d1bde0fc6d0af3bd28cf30d36d45730c17e05afd68cef5bbc978131bed2de8319e475c79ab11fda6b06467bbe0e8cbfafc2fe1acc71df3d0eaceebb13f202fb7bbdfdc0a83ffb73b0c47e6e97f61cf0fb238ff61cd8fcfbb6f47701f7dfc497648fcfcf3463bf9fd70e8cf189fe2a10c8f7bb73b28ffdf69e969f7fbfd45d0d8cf9ed82ccf32f0c7238c27e2f774de67e3097fa0df97d833130d69bdc33f20cfb375c6b60e4633473bfb67b4ee67e6d4397c7f3e70cfa0b190143bf1703e37b5aea5746a0a81ffbaf8cf8f0bc9687eb3fae3130ceefd1e5fbc817bbeccfa71150ddd7e585cc1f5f0e8cfaebdf87c86f19dec0f87bb96260acdf7f0f8cf50f2d7fa8e7a3ff77afffaa0ca661baa627ff29fee08e77baf37f56065398be1998a1b9312373fb7b29ccd84ccc9d999a19ee98f9ff0919ccc22ccdcaaccdc6dc9b07b335dddf4970343bb3371d7365aecd33f3dcbc302fcdab3f96e45f9341eaf9dabc316fcd3bf3de7c301fcd27f3d97cd19a305fcd37f3ddfc303fcd2ff3dbfc3147e6d89c98537366cecdc5ff1f32c816589a96691ba66118aee119c2f08dc0088d8de99dee1b91b13562233176466a64466e14466954f2aa8dc6d81b07a3e57b86d6fb6b3298c2381a9dd11b8eb132d6c699716e5c1897c695716ddc18b7b2ed5de3ceb8371e8c47e3c978365e8c57e3ed97ebddf8303e8daf53d9c6b7f1f3afc8608c8cb13131a6c6cc981b0b63695886edca624fdfbcab2f6f03399ddcb891bb7563377177bf2b9f52b8a99bb9b95bb8a55bfdd5b630855bbb8dbb770f6eeb1eddceed5dc75db96bf7cc3d772fdc4bf7cabd766fdc5bf7cebd771ffea0745eeea3fbe43ebb2feeab5bfc5519dc37f7ddfd703fdd2ff7dbfd51e7d39cce3c399ddbb1c0e908d2199cbe0b9033df3f97c078f3fcd34e446fe345bff5a37f56066febc55ee2edbcd4cbbcdc2bbcd2abbcda6bbcbd77f05aef682cbcceeb3de70f5be0571956deda3b732b73fbdbbbff6919cebd0befd2bbf2aebd1befd6bbf3eebd07efd17bf29ebd17efd57bf3debd0fefd3fbfac7124819bebd1ff5d5e8e4370ffa4fdb83e74dd5176d0b7ce723641739ed4873bfbc4721842f02118acd1f952a22cfff85b6221689d889f45f9041884ce4ee5e14a21495a84523f6e2e0ed442b8ea213bd70fe4cf76225d6da16c499381717e2525c896b916929fef9be29c7a656dc885b7127eec58378144fe259bc8857f126dec587f8fc631d882ff12d7e061e89b1dabf7cda133c979ed5f86b329c6c422c8ca9daf369fba67f5a9d3fad8f9fb620847fac057fe347fed68f4989bff35331f1333ff70bbff42bbf3e49f1576490a344e637fede3ff8ad7ff43bbff71d7fe5affdb3ffdc02feb9f7e55ff897fe957fad5bc2bff16ffd3bffde7ff01ffd27ffd97ff15f4fbef52ffaeaadffe6bffb1ffea7ffe57ffb3fa23bed1cfbbbba4fb03b0a7b6c7c3b3061939e1fa8759440a8d58330d80451b00d6233fbabe385990549b00bd2200bf2a008caa00aea5fca3f0f9a601f1c823638065dd0074eb00ad6bac78a28380bce838be032b852d7757013dc2256fee765786e82bbe03e78081e83a7e03978095e835f2d7013bc071fc167f0157c073fc1e8b4361c4c835930d7ada1d6ffacc00e65e0139eb2935e28cce7bf2a83771edccb89da29b7b309a3701bc65a82a00e937017a66116e66111966115d6621236e1fef7be3a3c846d780cbbb00f9d7015aec3b37f5186f3f022bc0cafc26bfdee300e6fc2dbf02ebc0f1fc2c7e0277c0a9fc31729c36bf83b6b09dfc38ff033fc0abfc31f29c1281cfbf5bf2cc3249c86b3701e2ef8ee656885f6c6dc1861be71c372e36dc4c6df049bd05bfd2ac366b38936db4dbc49b404a6f15f9061b2d96dd24db6c9e59b8b4db9a9c2bb4dbd6936fbcd61d36e8e9b6ed36f9ccdef25586fce36e79b8bcde56f12fcf558ee5719a414579bebcd8d7cf7ede66e73bf79d818276bdc3c6e9e36cf9b97cdebe66df3fe8b041f9bcfcdd7e67bf3b31985a30d25f8afca20a5986ca69bd966be596c96da1a37d6c68eccc888dcc88bc46f361bf9511085d1268aa26d144789f9e29dcb19c85ff451ff59867012eda234caa23c2ab4356e9ea232aaa23a6aa27d74388d24611cb5d131eaa23e0aa51e2e3671f81d39d12a5a4767d1f9bf2e4374314871195db922ba8e6e608dd16d7417dd470fd163f4143d472fd16bf416bd471fd167f4157d473fd1281a4793681acda279b48896ff5806e917ddc88aecadb935b6aec8bc73bfd6326cbdadf84d1b5b7f1b6cc3ed66d36ea3a8dc6eb7f136d9eeb6e936dbe6db625b6eab6dbd6de44ce0976bbbdf1eb6edf6f86732c8d28b6db7edb7ce76b55d6fcfb6e7db8bede5f66a7bbdbda10cb7dbbbedbd2aff61fbb87dda3e6f5fb6afdbb7cdf3f63daab71fd1e3f673fbb5fddefe6c47dbf176b29dfeee9a6de7dbc576b9b5b6f61fc9608ad88c8dd88dbd58c47e1cc461bc89a3781bc77112efe234cee25cc9701b17711957dba7b88e9b781f1fe2363ec65ddccbf03e899d7815afe3b3f83cbe882fffeeba8aafc33ebe896fe3bb70fd9f659012dcc70ff163fc143fc72ff16bfc16bfc71ff167fc157fc73ff1281ec793781acfe279bc88974a0a2bb61333311237f11291f849103549986c922891a22449b2fbdd9526d9264ef2a448ca7064dc1a9bbf97c118255552274db24f0e499b1c932ee913275925ebe42c394f2e92cbe42ab94e6e92dbe42eb98f8be421794c9e92e7e425794dde92f7e423f94cbe92efe4271925e364924c7f77cd9279b248968995d83bd3f8d9c988c4f47e2f8331dab93b1924eefc5db00b779b5db4dbee6229fc6e97eeb25dbe2b76e5aedad5bb66b7df1d76edee983c4aabb8db75c9fbaedf39bbd56ebd3bdb9def2e7697c96877b5bbdeddec6e7777bbfbddc3ee71f7b47bdebdec5e776fbbf7dd47383623e91ffece4f9ac6ee73f7b5fbdefdec46bbf16eb29bee66bbf96eb15beeac9d9d9aa991baa9978ad44f83344c3769946ed3384d5229609aee566996e66991966995d66993eed343daa6c7b44bfbd44957e93a3d4bcfd38bf4321ca5573236fd8398d614e9757a93dea677e97dfa903ea64fe973fa92bea66fe97bfa917ea65fe977fa938ed2713a49a7e92c9da78b74995aa99d99999c60676e9a675e26323f0bb230dbfcd66fc3491665db2cce926c97a5bbf7f4caf89611f29033f94d862ccbf2acc8caaccaeaacc9f6d9216bb363d6657de664ab6c9d9d65e7d94576995d65d7d94d769bdd65f7d943f6983dc9f29fe5f592bd666fd97bf6917d665fd9f7af329cfa6f5c653fd9281b6793f00c5982bf97c134b26936cbe6d9225b665666e7666ee46eeee522f7f3209703721ee5db3cce937c97cb0ae7795ee4655ee575dee4fbec253fa8abcddef263dee5fd6f32c07bc8debb4fccdcc957f93a3ffb3567f39b0cf9797e915fe657f9757e93dfe677f97dfe903fe64ff973fe92bfe66ff97bfe917fe65ff977fe938ff2713ec9a7f92c9fe78b7c995bb2743bb70b535e465a166ee14106966e25662164cf792bfc3f97c114455084c5a6888a6d213b5cb12bd2222bf2a228caa22aeaa229f6c5a1688b63d1157de114ab625d9c15e7c54571595c15d7c58d2cfd565e77f2ba2f1e8ac7e435ae8aa7b881df289e8b17d96bd6c5eb3f90c12dde8af7e2a3f82cbe8aefe2a71815e362524c8b59312f16c5b2b00abb344ba3744baf14a55f06a51c9c4a393094719994bb323d955e66eacacba22c774ebc2fab4264dfaad7aecaba6cd2b2dcffb90ce5a16ccb63d9957de994ab725d9ec9ebbcbc282fcbabf2babc296fcbbbf2be7c281fcba7f2b97c295fcbb7f2bdfc283fcbaff2bbfc2947aaf4b1bc645c534ecb599ac9d2dfcaf96e956dca45b92cadd2cede2bf3cf65a88ccaadbc4a547e155461b5a9a26a5bc55552edaab4caaabc2aaab2aaaaba6aaa7d75a8daea5875555f39d5aa5a5767d57975712abd9c5497f2baaaaeab9beaf6a4fb34abeeaafbeaa17aac9eaae7bcab5efe4c065354afd55bf55e7d549fd557f55dfd543240ac46d5b89a54d36a56cdab45b5acaccaaecddaa8dddaab452d07f13aac37b51c22ebb84e4ea5d7bb3aadb33aaf8bbacc3eea2a2debba7aa89b7a5f1feab63ed65dddffa90c46edd4ab7a5d9fd5e7f5457de945f1677d555fd737f27f6febbbfabe7ea81feba7fab97ea95febb7fabdfea83febaffabbfea947f5b89ed45355fae99ad5f37a512ff3aeb66abb311ba371ab87c66b44e3374172fbe7323461b369a266db48436e764dda644dde144dd9544ddd34cdbe39346d736cbaa66f9c66d5ac9bb3e6bcb9682e9babe6bab9696e9b3b55faacb997d743f3d83cd5ddc94f34a62cffb979695ea5145e75ddbcfd0319de9b8fe6b3f96abe9b9f66d48c9b49336d66cdbc5934cbc66aecbdb937f6eededb8bbdbf0ff6e17eb38ff6dbbd743bfbdd3edd67fb5c957ebf2ff2765feeab7dbd6f0a77bfdf1ff6add480b73fee8ff29fddbedf3b72bcdefc910cfbd57ebd3fdb9fef2ff697fbabfdf5fe667fbbbfdbdfef1ff68ffba7fdf3fe65ffba7fdbbfef3ff69ffbaffdf7fe673fda8ff793fd743fdbcff78bfd725fecadbc9512d807f3601cdc83b76f9aa01107712aff741dfce6f1101cc26ca233babfb7c9c3e6101db687f8901c7687f49049b75b1cca4375a80fcd617f381cdac3f1d01dfa8373581dd687b3c3f9e1e27079b83a5c1f6e0eb787bbc33dcb7f90d7e3e1e9f07c783948ddebf2950caf87b7c3fbe1e3f0f947e38594e1ebf07df8398c0ee3c3e4303dcc0ef3c3e2b03c5807bb359bb4355ab7f55ad1fa6dd086eda68dda6d1bb749f5d3eedab4cd64f1455b1e1e5ad96933b7addba6ddb787b695baff9d0cedb1ed4e32b4fd1f8d59226b9d76d5aedbb3f6bcbd682fdbabf6babd696fdbbbf6be7d681fdba7f6b97d695fdbb7f6bdfd683fdbaff6bbfd6947edb89db4d376d6ce9bc7e25e96bf90d7b2b55afb681e8de6f157198eeed13b8a3f97c1f48efe313886c7cd316acf8fdb637c4c8ebb63dade1fb3637e2c8ee5b13ad65286e0d89caa746c8fc76377ec8fce71755c1fcf8ee7c78be3e5f1ea782daf9be3edf1ee601cef8f0fbf48f0787c92923dff03198ce3cbf1f5f8767c3f7e1c3f8f5fc7efe3cf71741c1f27c7e971769c1f17c7e5d13ada9dd9199ddb799de8fc2ee8c26ed345ddb68bbba4db75696b75599777c5f1ae2b8f1787a796e57755579ffe5dd774fb3f97e1945fe90e5ddb1dbbaeeb3ba75b75ebcaebcebaf3eea2bbecaebaebeea6bbedeebafbeee1b8ef1ebba7eeb97be95ebbb7eebdfbe83ebbafeebbfbe946addd8dbb493795d7ac9bb7962c7fd12d3b4b72d9d9bdd91bff4806d330a3deedbd5ef47e1ff461bfe9a37edbc77dd2effab4cffabc2ffab2affaba6ffa7d7fe8dbfed8777ddf3bfdaa5ff767fd797fd15ff657ddb4bf3ec9d0cb1691ba7f90659fe8b6bfebeffb87a8ef1fff3c8639cd24fba7feb97fe95fbb75ffd6bff71ffd67ffd57ff73ffda81ff7937edacffa79bfe897bdd5db8ee9188eeb788e70fc70ed044ee86c9cc8d93ab1d2c2a9de25fe9f93383b2775b274ede44ee1944ee5d4bf5fedfb25a635fcda699cbd73705ae7e8744eef38ceca593b67c7c239772e9c4be7cab9766e9c5be7ceb9771e9c47e7c979765e9cd79d119e396fcebbf3e17c3a5fce37a53895ffe38c9cb133491d67eacc9cb9b370aa289111bdf863194e918c533b4bc772ec95b93256eeea946cf657c12a5c6d56d16abb8a57c94a86f0ab6c95af8a55b9aa56f5aa3136c19d7c6bbbdaaf0eab76755c75abfe54feca59ad56ebd5d9ea7c75b1ba5c5d614e2175b0fdfbb5d0dfcf714ccf8c56d7ab9bd5edea6e75bf7a583dae9e56cfab97d5ebea6df5befa587d3a97abafd5f7ea67355a8d5713f9d633394f107c72ba9aade6abc56ab9b256f6da5c1b6b373e5b7b6b719a559ee614c1dd1fadb9fefd5ccff49c7aedaf8375b8deaca3f5761daf93b50c46d6d93a5f17eb725dadeb75b3deaf0febd69be467f2ad62903f5b1fd7d298d6ce7ab55eafcfd6e7eb8bf5e5fa4a8e10725669befc3aa7f847329c5ac4afdbde795d5faf6fd6b7ebbbf5fdfa61fdb87e5a3faf5fd6afebb7f5fbfa23be5b7f9acf66fbfb96355de37bfdb5fe4ebed63fbbcbf5682dfdcb6fb3ca3f2eff8f653845d9f2ddd17ae24dd6d3f56c3d5f2fd6cbb5b5b6cfcc33e3cc7516ab26bd3a65937edfc3b45d87e333ef4c9cf967c159b86a36c3acf2cfaf3fcd8118f2c9ccd86cc6671be367d59c45675be7f52c4eaf64ad5a59fe9fd44bfa99979de1bce6ebb3c82da2445acb7f92f49f9501fa30bde04ef6d8da8c64b9ad1919dfe2b486fe07abfcbf4a216da4353667895fffa316f84586fff53ffeed7f0310c51efd kblayout_box widgetTextChanged(const QString&) setKB execute() GroupBox6 widgetOpened() Timer1 execute() installer selected(const QString&) wizardScript execute() mbrbox widgetOpened() setBootableCheckbox execute() licenseBrowser widgetOpened() loadLicense execute() GroupBox6 widgetOpened() setTimeLabel execute() AcceptBox stateChanged(int) enableNext execute(int) devicesbox widgetOpened() scanDevices execute() GroupBox7_3 widgetOpened() setKeyboardLabel execute() NextBox widgetOpened() wizardScript execute() timelabel widgetOpened() Timer1 execute() progressBar widgetOpened() launchinstall execute() licenseBrowser widgetOpened() ScriptObject15_2 execute() devicesbox_2 selectionChanged() setlabel_2 execute() mbrbox textChanged(const QString&) setBootableCheckbox execute() devicesbox selectionChanged() setlabel execute() swapcheckbox stateChanged(int) scandisks execute() GroupBox6 widgetOpened() ScriptObject15 execute() devicesbox_2 widgetOpened() scanDevices_2 execute() partitionslabel widgetOpened() scandisks execute() kbgeometry_box widgetTextChanged(const QString&) setKB execute() mbrbox widgetTextChanged(const QString&) setBootableCheckbox execute() GroupBox5 widgetOpened() setLangLabel execute() bootableBox widgetOpened() scanbootloader execute() NextBox widgetOpened() launchMD5script execute() NextBox stateChanged(int) wizardScript execute() format_home_box toggled(bool) formathome_group setEnabled(bool) installlog widgetOpened() ScriptObject7 execute() removablebox stateChanged(int) scandisks execute() devicesbox