From 4833c7351dc53a721d958946b6a2b6e9503fafe2 Mon Sep 17 00:00:00 2001 From: Planet-Lab Support Date: Wed, 30 Nov 2005 19:00:44 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'BOOTCD_V_3_1'. --- bootcd.spec | 77 ------- build.sh | 63 +----- documentation/bootcd-flowchart.png | Bin 7432 -> 0 bytes documentation/bootcd-flowchart.vsd | Bin 51712 -> 0 bytes documentation/bootcd-tech-doc.pdf | Bin 134945 -> 0 bytes documentation/bootcd-tech-doc.xml | 327 ----------------------------- yum.conf | 17 ++ yumgroups.xml | 58 +++++ 8 files changed, 82 insertions(+), 460 deletions(-) delete mode 100644 bootcd.spec delete mode 100644 documentation/bootcd-flowchart.png delete mode 100644 documentation/bootcd-flowchart.vsd delete mode 100644 documentation/bootcd-tech-doc.pdf delete mode 100644 documentation/bootcd-tech-doc.xml create mode 100644 yum.conf create mode 100644 yumgroups.xml diff --git a/bootcd.spec b/bootcd.spec deleted file mode 100644 index 45c4f84..0000000 --- a/bootcd.spec +++ /dev/null @@ -1,77 +0,0 @@ -%define name bootcd -%define version 3.2 -%define release 1.planetlab%{?date:.%{date}} -# XXX Get this from /etc/planetlab -%define configuration default - -Vendor: PlanetLab -Packager: PlanetLab Central -Distribution: PlanetLab 3.2 -URL: http://cvs.planet-lab.org/cvs/bootcd_v3 - -Summary: The PlanetLab Boot CD -Name: bootcd -Version: %{version} -Release: %{release} -License: BSD -Group: System Environment/Base -Source0: %{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root - -AutoReqProv: no -%define debug_package %{nil} - -%description -The PlanetLab Boot CD securely boots PlanetLab nodes into an immutable -environment. - -%prep -%setup -q - -%build -./build.sh build %{configuration} - -%install -install -d $RPM_BUILD_ROOT/var/www/html/download -pushd build/%{configuration} -bzip2 -c PlanetLab-BootCD-%{version}.iso > \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.iso.bz2 -bzip2 -c PlanetLab-BootCD-%{version}.usb > \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.usb.bz2 -md5sum PlanetLab-BootCD-%{version}.{iso,usb} >> \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.md5 -cd $RPM_BUILD_ROOT/var/www/html/download/ -md5sum PlanetLab-BootCD-%{version}.{iso,usb}.bz2 >> \ - PlanetLab-BootCD-%{version}.md5 -popd - -# If run under sudo, allow user to delete the build directory -if [ -n "$SUDO_USER" ] ; then - chown -R $SUDO_USER . -fi - -%clean -rm -rf $RPM_BUILD_ROOT - -# If run under sudo, allow user to delete the built RPM -if [ -n "$SUDO_USER" ] ; then - chown $SUDO_USER %{_rpmdir}/%{_arch}/%{name}-%{version}-%{release}.%{_arch}.rpm -fi - -%post -cat < - -- Initial build. - diff --git a/build.sh b/build.sh index a51797c..325506f 100755 --- a/build.sh +++ b/build.sh @@ -8,7 +8,7 @@ CONFIGURATIONS_DIR=configurations/ # where built files are stored BUILD_DIR=build/ -BOOTCD_VERSION="3.2" +BOOTCD_VERSION="3.1" FULL_VERSION_STRING="PlanetLab BootCD" OUTPUT_IMAGE_NAME='PlanetLab-BootCD' @@ -29,9 +29,7 @@ INITRD_BYTES_PER_INODE=1024 # make sure the boot manager source is checked out in the same directory # as the bootcd_v3 repository -for BOOTMANAGER_DIR in ../bootmanager-* ../bootmanager ; do - [ -d $BOOTMANAGER_DIR ] && break -done +BOOTMANAGER_DIR=../bootmanager/ if [ ! -d $BOOTMANAGER_DIR ]; then echo "the bootmanager repository needs to be checked out at the same" @@ -77,57 +75,16 @@ function build_cdroot() echo "initialize rpm db" mkdir -p $CD_ROOT/var/lib/rpm rpm --root $CD_ROOT --initdb - - # XXX Should download yum.conf from the boot server? - echo "generate yum.conf" -cat >yum.conf <>yum.conf <BootCD<\/name>/,//{ s/.*\(.*\)<\/packagereq>/\1/p }') + packages=`cat yumgroups.xml | grep packagereq | sed 's#<[^<]*>##g'` set +e for package in $packages; do echo "checking for package $package" - /usr/sbin/chroot $CD_ROOT /bin/rpm -qi $package > /dev/null + chroot $CD_ROOT /bin/rpm -qi $package > /dev/null if [[ "$?" -ne 0 ]]; then echo "package $package was not installed in the cd root." echo "make sure it exists in the yum repository." @@ -142,7 +99,7 @@ EOF echo "setting up non-ssh authentication" mkdir -p $CD_ROOT/etc/samba - /usr/sbin/chroot $CD_ROOT /usr/sbin/authconfig --nostart --kickstart \ + chroot $CD_ROOT /usr/sbin/authconfig --nostart --kickstart \ --enablemd5 --enableshadow echo "setting root password" @@ -155,12 +112,6 @@ EOF mv $CD_ROOT/var/lib/rpm $CD_ROOT/usr/relocated/var/lib/ (cd $CD_ROOT/var/lib && ln -s ../../usr/relocated/var/lib/rpm rpm) - # get /var/cache/yum out, its 100Mb. create in its place a - # symbolic link to /usr/relocated/var/cache/yum - mkdir -p $CD_ROOT/usr/relocated/var/cache/ - mv $CD_ROOT/var/cache/yum $CD_ROOT/usr/relocated/var/cache/ - (cd $CD_ROOT/var/cache && ln -s ../../usr/relocated/var/cache/yum yum) - # get /lib/tls out mkdir -p $CD_ROOT/usr/relocated/lib mv $CD_ROOT/lib/tls $CD_ROOT/usr/relocated/lib/ @@ -280,7 +231,7 @@ function build_initrd() $module_dep_file $pci_map_file $pci_table $CD_ROOT/etc/pl_pcitable dd if=/dev/zero of=$INITRD bs=1M count=$RAMDISK_SIZE - /sbin/mkfs.ext2 -F -m 0 -i $INITRD_BYTES_PER_INODE $INITRD + mkfs.ext2 -F -m 0 -i $INITRD_BYTES_PER_INODE $INITRD mkdir -p $INITRD_MOUNT mount -o loop,rw $INITRD $INITRD_MOUNT @@ -315,7 +266,7 @@ function build() USB_IMAGE=${ISO%*.iso}.usb # leave 1 MB of free space on the filesystem USB_KB=$(du -kc $ISO $CD_ROOT/usr/isolinux | awk '$2 == "total" { print $1 + 1024 }') - /sbin/mkfs.vfat -C $USB_IMAGE $USB_KB + mkfs.vfat -C $USB_IMAGE $USB_KB mkdir -p $INITRD_MOUNT mount -o loop,rw $USB_IMAGE $INITRD_MOUNT diff --git a/documentation/bootcd-flowchart.png b/documentation/bootcd-flowchart.png deleted file mode 100644 index 815177f2f2fb056d02beae6ddbc062b70336fb9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7432 zcmZ8`2{_bU{O{NzGLa>WL6(=oSYpV8MCh%gQYe#UFl0}DV<-ErM9Pva*_km}$G(jv zgKRU*M9Mz)vM<;Bzt6qTeeQFfbG~Q!K4(AQ<#VEqjSM*1h1fwL5a(?}y@wzWqt|KF zWM(?8DgXY?{*)*h-!-{)a&iI!1)l~`aPVnjbxMpu+1c5Oii#l6$!P%n565ZlKSmH} z$7ZtqlrY%bG0+1=u|N$^3uoO8%{@UN@M#0Moq_09XbS=fd)(I3G4Y;Q$>a#xDrJwL zF&s=uA*}vk?E3s-EU4M>&dY4g;N79v7Sx zEND9%pD>2`{Up}B<{VQ1Pb@P`$T#q$Yw73f-}(D`B0Q`T4~!@Vb{ z8vEBA0~}lcn={n~Cd=mUKSPB0I-Hz{+VD#+KZ||va040=slw9wn&wvOO#e6Gb{AS5SXI3h?+3{%92(zj z4?F}2fx`BceUY>*O}j3<^|)r5oM^tE`p3>M*=ENyu=nI;+#uhExVsGVh5_v0*qQi`)n9HYgDISMW>Dj-~vol@(h#l%}dCG(Z1 z43eQ=|2f@J5*bMZ=benDva_jt?qRAnJ*6oL~iGJyQIi7A2%00*T)m37_#ORW}@DHM|;B&B5J>z4{NswS5)NH z#Ga-~EfyJ`5eOVN074^Wz@+arEq@_oF|5$~qn<&IoTu{l=KLvUY zJ%4&uB}z{xITV3;JQHesU^O^^cc|m{0RmKEhiMTp8SF@28$e^oA?h1XNb{gwzj$T^ zEalhNuYs05R|EpDEyp1v`!z;6m4N=HHp{#dSGtyPo&X_}ZX&68d2V(63ZT}f21`H` zs?X^GrtuYH9tBFxQ7lGpnK#Nyr)F2U!!#10KVmXtnAz2XcwRJJ3P#?vjl@YbP-;Du z5Mzy7j%D3T6Q5^fFjfXTHuH)DVD35H3N))4ss?M$4li+RL&E)%Q^QJr>sR}S56fBE zjjzdqCv)mjvoyDQRF>w(euN*Qt9KVMO!oH?5v&W)nvyAY<2rpfR8R# zX&$##(yEyVjZ1wfi)D%n2wxSHMfeLLu1C{2P^f98)73L6e=MPJiuk7DAy`jyuQhIO z@s~_%H=14}XQw-6YeVPph-D*A_1XleDOl?Rt=BZ8mjrDG!|MCI)CqM}*{=i-uUTm$ z{ACd?@-j7jfsf9)aZS-uXey$wmnr-D&C9%7Y9+jt5P}$1ik!vh_B?O; zY;~N$9(zOYi!4#d@Q1!#aYPiG5TPk=i0oxfzxCw69e9)NK%Ypwg&McRrJAkeQFLDa zzDj|bY7_pB?RoB+S(jzYC@hn$M7&5d~%75hL8Y&^j_d2s=nXC5I z^p`PTLpuniT4>tRFSxOC01sqa>)5_{BL~vgx@@cWHM+C6>MG5%u1cnueccWFP;Z|b z0(+c1yLkav2(pIV?MHclMdF;a-t9#1{?3CN?A9x7d|>{Gj%{@?_du&Wz86vxPm@~ zX5y5db3;UXz+((@3deO*z>1@Gud7RY)1qi`p)Neb=UW=x7$_M{k+C|i^jq-VHUol} z&)#>gKK`6#SCg>IOnX7q^g3C!0#xT&(e&@J{!~n_0)F!N+d$)eK%H=LDl7Bk#;!yr zrv%x>Oui`?%IwnFO7G3u@7a^7wFr4Pbus-^_1LWgI6oH=-Y!pg$XCg^)g_t7-LBFE z#%zQ6DQo(=@xN6Cof^A*h})s_Ncv_Lqzhjg0S)tz4(QmMXP`e%b8Gm+hwon+Pz*!5 zp7$Z9WK7*E7S4OKHm-Yp$H#}aIl`oT|y9^}g8or-AB3?JN_F9KbB2F_ygnU9_*>Qg50C?O72sysSJE-~5HN6||q|e*?DH7!9QSiUrjogUM1+uAktI5k=($EKw z)JMlvma6&PbUM4c zVgA@Tz-vaH@&Mox=`rHHxIRR;BBKv~q&ZsK_<`J zRt*>yYiRpe;-~Wys!}Bp?QQN6%hE8jVK) znoTw%n*R4LXH>hsRdcT!tXdYTSmyD%g4i3s0LauF{S$0)d7Q7%KNM-m&m84zg$G-A zly3xRwZh^Gq!9CC^a;k4``Gq9*6+tZf0i$XAcyS&Un3<6OOl~N9j5Bf?u@gT<(aB$LeJ=GGB$wVm_co`tmRI z^=P6sB9TV~B4Si0C8KucqH6x2b`G6Ut63Gq3H#FI)>}nSEAt!j0HLL1Z|@!1sjY!W zp03m#`R>P8hazP*f5Dh;Vy*Bhlk`Ck*73@A0PuW2J7NcFr~o-CP7`|NA?M$q9M1}C zO=VI;8&7D~%eBQ&&gI%Tk4VhMf({Mx(BZ{@O8VBc{*)~T!&74xMp*Tn~Zx6=L3 z*FFc(t9jHn&}!xlh{}&Z*>@8~|g3vgY?Z{PTkD z4y!?rn|Yd*GO(5P{U-2G)}sV!b?DhQv5QuK?h9~U&N3m5A?!@6tk0#Ei@1`tTaP^X z7uDIaA984{*0a~CQ5<(vGoImweCQ6}w0W&;@eN)x&F#IWZy>~kgKZC%GF!s;;!FIW zqRN9FbK)x2brbpb^GA3%p2Q&pUy7BHpFHz1s0{6zeV7A!y<{-24v6~_>Fa7kLW$2f z3d-&7)Bytx4Tz3i>v>O$*M8&S&u13L6XV?`mgoLuVVevsrtr8-mb!_;y62wHNMqaQ z?#S_r#jWP3sKZ5i6DAU`NDmDU_Nf4URn6ZbU&>zC zu5iwwVKDfu+%C_w*y5iTDIU7Dw}l3z-yK{L8XMWMty4fS)Yac=`5Z&CQQ~j>O2#C==jWJ?t%w>~k5!5>CC&3E z2spz{+}?h9YEK^8?=|doUs@HpxtxrNhPLPGZYc%mIx!B(al&t2{z z7zku&fw|9YTIpzTpyiae#7pdxr4)J^XW`W&W>zzLKiNxw%L_NWQLpgP>m5>Akn0(F zR%7X?;dw=vaXYjrs93EoDl4~h<)5V(^@Q(|3di7;U*IcK{y%(vdS9T4?^q0%SbHJP z5pt_Szpn3HjXD!iO1INl)3vamP8n6ks;F#2|IUpcXzOHzaM^g&SVdZUByC-k@9|{) zWA)~~q>w;mWh#rN+KmKE^&|Q&*N4zwwg!z+&<9~wov=!ZBtfd-1wj0B%$7R9;ccEN zeggKDc8kpv$yzI{X~>E#k=K2YFd>4G9WBb7e2_;Dzot*#F!@^l&eUqY7y9?#U$8>g z$JphJYOw7^xVAX(9XxQ~+YA0|sqi8`mYZ$6=h?_EyFfjs#-OQTM$4q&jI4@wc9&`G z&C@y1Hf;_)xH@IN!DAj2L;5Xk@dq})L^`SEJp{k5po@g>nk^PH_nYwz=0TN^Qgm~l z>xoux9)%Clt^=4`G>L)t0>1&{xl00o`km`9N^Y~=wK<6~vr)@x{)DtXzDfRZw~?Fh zu~mUEk~^qvxpa>B_RgEo!a7Tx%D^-Gb<}{^VqNmaen7oMUgMg2)9hWI+hbtcK=Nt- zjveRrJn&5^VO*wr=XEh$i01}HhB@cy(Htw#Dao)8-_nppSEW{e0nj zz>Q9OrAl*mUb3V4-T(TuSm!e?jm{6NaQ|(U9IN>zvl*@s-P*XOC-IJY9#I@0U$S=3 zw4UMRj;-lI?|Uy6$??w%LQ~GX8p6u%lVquFyR~FD>NM)-hzF+2w;DVUsLgO)fvGWx zwvh4XF9KBzUzMl(F8QW0qQsf~=WCaXq@8Rc3DP789x`#F(CJ#+zgqOVu|BXmn#RyH z6J>5sEh|OHbsE`?2erOJznaG`t8ogc?Pm43CO%mZ2uOCTgrt}TgpFT&P1AC*74XJc zqQ(n#x0M0E0&fjwni^Sk5hg^i3{v{h85l~7qE2^6-rZ#Z4E|hK0|;k6{RbR41Fp?! z^*F>~<#vB*jVolVR>gTfYnOBqZI`2~#;nw!Lt78Nyqf(hqSs z2_L%pbpP~Sta)0rz<9M|jmI-7G`o9Wnwj0C!;c*3OD<3LbwEM{0MJQW7X~;qML=Zx zNXW(4rW0~Vd;CJS8ds^^&i#E&X}dDu+;G*J@xB z<2{5s5nZ`keiCOz-`6!#29C1W;*mRhE#$un7kbElgG5vS8u}C-LE{i*+oAhi>Pzj7 zr&?&)!hP4SF@m7VMo1fol#lS6nGa5jpK^#GYpRplt!8Qt4)h#aX1-{yn66C zafqBkV#w9_hi^wrJW^-hn-{?*#rwhA#mLFJ?p6D4)mhc7s}!8~dya5b+(z$R^*E@8 z1DdtSgUy^DU8(znGpQ}je9`P*_lOVu-$?y`vpUiavSWCfOs@1B+3oF-7qfWu@JZTb zdG7Yt-$I4gVLs`%#ujr8*QidPu$Yjz{w1f|iH{{-o9B+*LTg1MX)iO*;I?3yRq<6H zhA+0oJR-(be9)^^(zyF4PCx?^&jWaiBZT)WU9>s2_(-`Mz2KLDz?0N0%AR)UzVh`f zsPLwio#mxl896amc_Zw}Mdi4WKpQNjmP^wAfwq!igjVo{X{knOB-^$ipEk;~CAk%hQmL+w`eZ5}@vD>5WW zkUPq?>-fZ{1X*{n_R?(;0(-XP0kGQqP&-AZrXcFX2bG>ru}^`9$Me2IoEoIHj%V*w zW^alUs13x$O_g?--W4hUlOLRHgUNe7=z~4AyDzIl;~b2?|Jx~9-~QA;z81r&JhBOY zAkFI@+t1pT0*lx0zV`aZ(w=Jq-Veo7%x=(iCNq#8xZRueQ>#rJ|E~rwTH=`4htsCpvbsSP&8hW(}5A;GWSRr zb0;0i@uwO$X@{@kR+tV1a{Mx)wD*dV#kwicOR&;I-EXi>KEc;N_<;leTYF{SecPFA zl2?YU{wVm>oI0`MVw4*m=MdSxv>pgPy=;5_6Z|t!d?p^T!wz^35*i9tk_e7nu)WFs zPjFt#qtPS6=z|wki+&Tq5@bhDH?7Po$G?>K&)&D*(qaTzv>81+E?aYy*6wo!Vpl5k zew*2+rfUx(JHXjrTZBFTwOWmu*ZuP%XkB5~R-B-o#{w&fvi75+U{&!VExMfu> zxgT{gHt1HZqlk5v-R4e#i!RZ+46!aSYdSJ%{S zY4KYqAc7$2Ux#@-enJ28of>%sl})+W#NdKmc0I!${?U=YBdaE+#I8X;i0;&gW(4x( zp>cR(8MVmOh85zw?YGSxfe%$7^k(LzWiE}E_f*oaD?m3XQP zB?$pr{%AUYog60cHur<$GCO5hD?`T)OLT}$A+!Yi%C)ioD_9TM5%S1TV+(dld(I{~ z*=hhn`I$SaTPJkxO5zb1!M!5pVs)eRcM8``_&%yiNIjXO`MZ6F8xsUU0=Hxm!{t{!d*DPWWjkGx+bo)!s9j?Py3)i1m=7b0o z&kIc=Pg&%NNo2W(aeEzKzPp}6iz%@cW*i$gk8l%8#F9G=qoyNTtVcMd`b4}g3hh)W zUAcVuL=|uo#SCh&-ehDELZHUGjZ)Y0R~xPY)N3KN9%1jwBdPEi9=dpIo2Aq*Wkd|` zVP03%!c0?BMK$FkEiq~1OFxPJ224wnN z?IL-}8VMlA%havuWQTa98sb#*=sVHn^smXv6-_qC6F%sQs@WM3J{|uF1)5t11sj-7 zBXX5H-UK7Z8gWJQ(@hWvzW!7mxD2&ssz}Kk`v5XT@9y@Uc|LX_+QH}%v93k0*?D@F zlbfb7o)sjS6>bFo<%Q+3aiDLKJX^sjv|jsuhj;X-IUyeH$$bBC++-XgdvUa@Jn79n z?<0vGvLNAYxlO0?@)H+{UNWZ*@$GH42Zw6sU6SrhYvVxEBhFNEXS*{W)0P@PC^VZ0 z@AO-+1D&IUWO`PfpH8{Z@GoN`0-147IjB#c zk%Y%j1<5tjCt4{eSbn?+W2z4`GEH78LQz;9HPr%91bDh zf;;__F5yhw6fLa#s0i)df$08dHAHa{cjv!v%Gmie!$)1_)J^T4R z&;IS)(=ZzN8q**y$=Qequ_?|wSgqbAB6zG&Hw-L|DkW7 z2cByzY&;4C6@ms~Y;zL`QwTE%a|jCvO9(57J`flL>;ixZ!Gd5zSVP!A*h2J$u!FFN zaDZ@xaDwOu;S9lnz#&{9Tp`>b+#x(5JR$l+41gF2F$iKXgcpQ2#1IHBgb#!-gdc=I zL;yq}#88M~5J3>bAx1!qgfR9~BjVsT0l|adLj*&FK#YY5g%}4h9wH240>ng!Nf47E zra(-E5I}@O2qC6HOoxboh=iB{5d|?5Viv?~h&d2*A?86uLx><^AjA-VpO^9Z|Lw;# zAccQ2*cPE69X@A)TzE$R`NJ0Wn7_{%g&$)(82@0tAbv46Ya1W?3yd}H4=KL6XDf4*rvbanQR7c|&% z#$%?zmM~uX1bFNOcqUoBC9>W#OaC{O4uHo;;QJJa|Md7{;Jz`&P6i*e|90K~_s%Ei z=k*(pZG8Nw^*{Lk_xGQioh-!%L`)fokIfPcPeNa;y?_0YGW{S7mk9F4!!5quUYTZ)K+dhuV%gR ztR}v1r;cdWkL^7%U!GCfKB==wmv%k)#Ac^L=}bi?u!~hgV+pS85(A5 zYvado>6^l$MA;s-Wm98O8*5s=EqzeFtx3ME=|1MF^RNme5?CKM|I5zGd4)SV=G#VE<=ghjx5e^p8Sn)&-XFWqu6}+7d!NEva zD0(m~loA$74GX1(h0<4qg_?x%%8BD+9upr%#68bRXr6-En#q97Ag!f#lzI)tUJ`YA&ONA7c zY*K>XQkvgVy5G_XCVmT7kH6ReKOqFxeAFqjP0DcG&xn|UNJ8Bo$z*)>8~EOR50R+? z1la@&A_NJ7MS|6WRGjp&GtEb zz#7{E+dcfSE#q)sPsU+8+<)^rw*C6wtXP{J@@*Y`nH&Cs$J_-v<(zJG+ngWY|&=(MVt3oEZS_jXubI!pDniY!_QL}sEgH& zU7H)bZX7?I8qK|Z&Bg!a*FYr*rcAw$QOa(8o&aSiT5OP`FFR|)o%`1#kP~f!#66wqIK+e(NSYXgnUtd93pT?c5w<)Bd-pGJ5 zlN4r#)viC!nYEemhX4+X<8HlnOQ5}XFo%IA$Jpsk*V((h?APR^JBxMLhQoP7Ot z0k@djM+&viCP7e#T z*B)#;rvVCZ@~0dVP~C$J8~C(2z%wk zmvPsx;%?*4;s}n9zw9ph05atJ);eGTx4V&8s>e8&zQ1x#a;|ZLx-&0xAG(DT*tU>X zZb=V1^*JT_IgNTbb8k{psEZjdeqcI<`W#)d3Hgxq#W%c?;%mmsH{oy(2{Jc7k}VS! zZbDoP>FRH!CAPPE^zpMPZ+X`$|5|xq$;#mVSDE{7u9(?x)Sux92(KNU@;dP?_|xx; z?-$=q)9M4mT{j6g3BjC80@rYtlNFg8=3H8xb+Q7StoWR@I&*dAgB71MKWAS4mHHt6 zK|U5xb2`dEu4rneLghD}AzjGi|~v@!6HLE8{CC zW=+cM8xA)Z@s+iHl1xdaeR$=iz=+DR%d_N}j^U>wDqjh~t2*$fZxkVD$Rd^#>xo~9 zj~L@S*2iH{?bqR4`Zy~dOMtsi{CaYJ-X{KY+OS(sPfp0I4r@5Oyr|$_Jab!UhRqT* z*B+TG;3X8?s~5c&eHDSd)fv`j)VI{{s$SI{5}%NRTDfY=pS~A%waZ88rs`sJz-kp= zF}(y6WGcE(ttpXb>USur#@CnF#rp^xn^Y(Br>5u?)C~@FR#*a1?H~S4_*j6d-?@Wr z!6u?3Ghen(3b#@AR}NRY?ydHprA*ntJbAwEbpI>hP*ubIaF8KcZn7H+Se4j!vNsJqox z8ji+S6QYUKfJ9BMW{qZ-My0u=d7yc#0i7B%t)tdkOK64KIBkv=6lu3>S5Olg&uDLH zpKCvB0no8@?z*A6Fx_ljs&2WCv38w4wpbNP@1s^c)V%ei{Ro!XqCiV>bgpnAN1Ag2#vp7Xt z-Z2+(R&&5k&QVSc=RW5Rr-Nh4b>IRo?ig-3His&Y+1RQ~{Ad=A&+Y>ug@JWcZ&Ipw(5P)LAFM`8@ zi-LQC*MfEdT?Fhzh1*vkBSe!$(V`5|3K7^O+AlgIx+Qup`YZxcmXsaID!?jNv-V&! zrSqj=sdSyRTzXu3Rr*NUB>g6ZSMDKplzYnwxlkS_&yj;7`F8ms`31Q~{z~2^caH<~ zq5$d1EuJfb6cZJ573m6)r`Vv_tEf`kP&`%a|MS9e(4)YVE=qr8s4_~KtX!f5Yn4i6 zrSgihUbzC>gbh-Fek!htubQrss1~Y9R6A6rM^tLn!FuLX)n6)uilGLs>HzgP^-T4A z^-}dZb-5ZGSGy$qp*AR6)D(@4roRRZ*G$sP(?~V>nvI%$nh%@6Ma@0UYfZa`uC>z+ z(vH%CsoEHAmbOs4MN2EVaoR=!qB@#RJ=1>Dl3L@48K}d@>t^Xvbjx%}_UxUyqdHKd zyRUnr>(H5!4x|@3h6LecEGZ)!mD@-Y)p_zR2^vTk2V%C^0Bi&{8H>iy3B#?IVG67Q zJAu_=kFmTDST|pLj!D(8_c2#tBoY3CU4lR+LHvBS9F;%Gmi#6OOk!!6=&=N{sM3tSEN6}OE`Bl;2p ziPINrz7Cr)s%NT}QAlhd3JGxZ!7<{IEj9cu(Ll5kRDr3jV1Qu6WZQ{?xq@^-o&anR z>=jfAZU~+V{t_4j4AI!3#J)%NV?+gZ5XPb#>aD6%Wu|sid#eGV7OLaaIqD+yc6EEvDYg5rv$wu-nD(&YJXNoL@-W}j{OZR) ze>)dh?_V2PHvr{bXY^aT({Zz7rN6~P0pZwW90KjNgCC6> z{0aq!-<`NTxYo@t`ptdK-YZ3OZrB((((!ucK>bc)06C(gqhR;RMgXJWC_Sx4C*&7D z(KL?eFlb&QIp1k$&UZ>q=NN6cHdZTp8n*AvZx=_jpRYNsd2M1&4>8P7ykQ)36c0Ba zJkv6vEoxf(BB(KZ{HJa~+tfa5>61(hwl^zM=3EWH#$gA~6dyce;@D_53c?8f;aHNbBie5uxaVKm?%^{6W#KcaKG-%hZAkLbk7^+ z%%xEmzB8??zfF0m_Tpr_gR^z{-o>00&N7aIQ^8qsooDafaJRm1%PpIhj+JGu?WRXg z5rl9kGWfD_usm{V)ABECN1~;pD5b+PU(+bD=qRlQdxbTUUq}-SwZ{zP@6c2V5vNOu zbUbZmzu_Npz(CQheSEhT!M;1qL9fXSpXAY zufJ06L#gCT&Bc1XC3Wz`u~SS;o7%iCXMwzC{jZ2Qy;(ma0!kkDw4Klz%F6;o417hM ze;%u{qAkb*?LOd|)o0o}>;^?U6P=0LWkT&uOoJBCIB*&SacU-V=5o?Gd7KTL7l!G8 z6hjLj1Ed0u1S(nIy_`p!CJy+Be+DHTNk!-7XI9!~D|dHvOV zCIR?_nz%{q@N4L<@OkM4>`?92R+gYJRI5+ z!-3mS&`rJ&m|8sViw(4LP%~t1;Sw+!8!4J1S|k#6a0^5Oed_{y{GpD7ew`B_5dejL zc7~LcruH^WI@#MWAaXhu?BnD6+z>ggSJYCVer;+?_|^_6EvMQ!1Qf4S?e|FJVI)+q8ydR`jGFdYB)_SR!P{z8LsT80sV6kG>4|f6stGW~ z{jt|rJC;fN_l}pnmVr_pr;*7_)Jy(uMN4BypAu80N7!NDS1wIr~4f;%#~Wwn1y+0J#DT zlz#^#;B-OHQV(rClLpMf3Nb?nIw0jFSw|KZBcx&#iR2Xnlq^;hk`%p(oLogx7J}kJ zl0-~ONRv)e1++Qz^3^0g)$L_s^TqXZ3I2!>LSdEg{M_DqC&J}EgH&nAuT zK`NdlAv3Zh*^+cwHi^rUBzU$=OlHY&X%;R?C*yHx0xrfg$Si4MmN*ShP{Yd^0wgwI zfi^iynw~~AI-O~;ja?1urnVbId%J-`y`gq84o9S8gF2)90e!^Qv>Svqm2jeVw^IXa z0xY_^+q=}8!+M*K-rNowa5ZclXd--QZEay%ITY*K-OS!}!lvtJ8BI$%`M%u@2^iDc zhECzy?`DV@Wuyt(tfvH157H3W96K7j`tt$$7)0{lxARU|>4}dgs89Z&HT*%lK?sKo zHPcXn*COangpXJt)SZas7}V6Z2aTkhG0@!E>k)I*wgjPm$|(gg_!AnM9e9kBUrSY^Yn){Wa2tTzd&t3*X32Mxt@ndo(5d-%IA+dUCRb^k3a za0)9yvyO(;7Oo$X8e!rvB1 zxGxcmbVJ^R1+b8v5d$KqXQwZ7Gw_8@HeW*W1VjBy7skPOb%u3y|5DbD$Ph`*p@?$U z>F{f!C&Hc6Xjy$uvTF=!B~%&`kBF%e7V<5_ZZ>ueE z$E|u>7HfC5>DZiE{@{>dP>?@ zWiM?;DMz@2NM)ijSGi^@gRyNxACJG7ykn+?i5Hdkw(pF%$U^VNgJtgbqkPKD1N$6G zo7rDAT!sG?Csfr(?8@90XckR*+kvESr}B{`_~qMeA5D8{gMMr|(Af2qX&Yqk8(`%$ zos6;Y2+xvcNFHa&lK1702=e!t-Yt=x$WyYKo6u<#clG-hayP27tB+igD zuar)_k3-pr( zx$DFL^dLR$aGoag0aG=ud(8INU+M4L#~I*Yx78W9Wq@Yrb4y2B4?T}y&0xJ9l+^wjTk1ZZl2Wo2z_&?*!UH>s>HUkGbV!?!LED8TX zp6}ZW8oSKPDCU!xKge?gXENkYn}5jjKIBdzvYyfKgFGR3l0V2ZE=k)44m;Z zz&liw9camcvX`1NuKLn2-4IXkMB*d;Y#fYMylPm=S1i@C56jVP0204qdQfxPN z3|oHLtQ1a#6p%ep|BepD>A84H@=q3ocNiH5?=a}n<77fkdYmj-nobS@_*iL9Y$_@7 zj!R9BOTkH*6c@+GLw?PP_0A9{N`@c+{3JVze<3@w|25gof8P#cL^zZhBbIXGSUL-t zg$y?{(%r#kJq@Kovik#4%qb()sUX#vw>%AkYd} zmLO=}Ya9$6Tm%)N~q!f}6WFhJ-lgM~%0ak2ALtbw}AOWpMN{#&Ey38)(fW>pxC@P}_ z{f2Ii-2em-yyI+uR*FWa!(`<44m%OFjG^+6qR}jAX+{%t3RFVPP<`ECjNROP?clW{4QP z?MNOu;F^o6n0j6CrgOe%zy$#!YSx#flz6oZUKlcGK)x8ji#GA$zy3-?qHTHy%fN95 zD7^T|Pl)mv3r!C=@qQeDt7?E&p&- zG1I-6na6UTCp*UC%$JREl~gUW%bt*JoVQfl)To))gjSgZjLbI&qcP+UiZTo}ykz%M zR2Hr^MvrmT8Mv7IK~XY^`Ugeb$w(%DP?RM5Yqldk-IWr9@PL_Napp0bm?HVE1=obf z*wrIqS;vhWMY4??^^%QWUl`Bp<*2v49Oa1f7H5v}IKyTs+*fY4V;|3!oBd#^&lwK@ zWT{t-5!WG0wWY=0%82h}sU@ir7H(vzml-KC>Aj4!=a8k|W~*e7r5y2es5bJ(P@P@G z)SOwPX?Zq~FnEn!OPS~G)XcRDMpJD#ZsbqS$ZD1)pUofflI=5HvP^d82WNcD{GPoj z?gwW`mc_mJ!5NNti}~^FCHTT%NEtMXycNGQ6XNfrWBXSTf%oQ6YVp`1jN1thA!g60?hfoZW8 zjN*L5^c;1K-A%9^8{M~ck7$=IX~&{+}Kyv-=IML!FGWB$##h0Z?+4J>Sa4q z$aatv3%5Jt6XC?ji>p7`Zmvv@;eG62rb4s6GuTLXclvtZU*^mM31a%D3KzWo(!5@_ zYiW)D{j>{yc^^2xOr%w9f&ejk1dBktzB>~*1~WD?4xs;M?6&FOuv^i; zD8kNBh0U#09Fx90719}V4MKNX` zY$XxJIubT=@miAFWkQ-NO5sgS>b0h8NO~RxWEA(5Oa)jWi2?;#M50~TDiT$j8Wkr@ ze9(8BuAB`f@%{nNd}#1$h8s#$yi2Ph%A7;Xz3b|3R4VLle9S0FpGkfl9VnJ zj95n^`Yy6(%)jMWJYEu)oJ~S9HEPam62`P~Nswfr8Z}OPC*%x+RLd~R%>RXCr2TJM z6wXNh)QlBQ+VB5Gq7Q?qG#cd4FOWm|vwzCP6V#?ZXfL2#{K27=w0}7C32g_>(ACSK zsD1G9e>jweSelMO18fJ{_EKp$q|!qsz@0@IWJ?RMMe+h{Q&^FxoHdyxXU$+C2X-2@ zq3#IvJ5(P>wI=-E4{Den|De5|f5+zOAGG^T7Cg{}3Q+^)u8pNN#oE5f!bS)Tl=JWv zV%^XFD;k*<%m!1uY0+*J$-okZhiwpxy4p2`6~v;I6dHNC-w{fn)i4%143agJoxOt5 zW62RCS$}ddw7Lgc7>tUsS1^)LG4={Z5-P@C!AMH+kY2$^LdDoC7LyDn_GVboC*7*&32H2^FKC-_YUUfl)C+wtn9q0n03=_#4@JFP#qAtMBQ7huL4< z5Q$4guVAe9`k@!mUcvZZdhs>QC>Ylx)h>{)V-MKPK4M|+_XdUi$|cyxJ=O&9xhwlq z>E=nnvnX=b_F!bqp#dX~m|uPg>5b<#FmLd(v9SnPz*F&GdYqedhc21Y#m^N0bEb;F z+UA^K1pSeqX-W=%uZq7u&`%(6j5N}Aw2`-K3>T&$SEh3zZ}&MgpjS-LGW!`N%xV`S zEw8p2)XU4`j!<|9qo*WzPDudZJaZ`%knHh8s3XLOZKj!tW=T_0Z+rN<0lx@}tu?DG z?x=?{x7(1b4%*`_@MgmGk7|%}d$@iN?iRob&`sW|@ zhzU^Ko4D#c^QhbVSeB^3bnLtwZ+~DIWa*E~ieAKjDujm6hJtJvMUpYWr+@y-!D>a_ z$}0nU*rI|TTs$RfN1l<3F`p5#A`O&`u?zE<>oX)eC>bR@qhdUgwI)v{U6z+tvR-yU zvZ27p#S?te0sW_Vb4?yiI}E9q55?O-x4%3;xdd3*O!5DRh}&ez31yMfkeFWemRs;c zy=~3M_cAvAt=?AW_o}zo6MW1?1qXaC{4L%dx%@w3T=Z|oZD0POwGh%Rf}mK9HRg#0 zVH2^r*nBfM%5H-LECvTyI8N&^II!x~aJ<%ICHY9KjtF^`N(P& zw3JsLya-la1jQFY(M7OI1Bc6!i{KY@HQ7xAWe6NafnJKiQFJ}nM%F`b8LH0Z&H5`p zY1lp#(y-y*(D2Y7G;H#NhMjgg;{%-km4*$Eo$(8VNgVp*a+(2cX{vJw+r8VKwjlyWO|INNX(_ohOIwtd^4oik$rZ4brOx zfG(~{J4umuwwuU1J5MQbz`?0`z?(uYTN-GY(YKR~nSj2ug)|()nE?nmRlBT!L}C!+ zl2N7>EJEaKI$?As1`250l5Ii${v@<;jS(G%RFsgUNgM1%6jH7$A!$YHfJqUI>l6i~ zi5&a-ay_z=MC9c_0hHU)Z|qXInj~)EmY#ix$x{ zU}t{2Xd|FUGoC}HN9A&T0a!y)JsCPWeX*ebm(uX;mr#z7dA+?l68E^9&)7DRc>!5zJFJfexK&g z=3acQruo=V2q&5~t(~M>{0s;v|01iA9|3_0?}vwMhV)v<@7qto^t7NKeGXs$Pdor) z0fYwA+uRT+x?xZ-&J0LVVC;ci#A&N~{SCVMG_^rZYfyg*A8L+5rJ7?7bRZ_jlFFdG ziG}eJJ&zCXka>phD3W7AWm=gz?duEmvIz@iQHR)32Dq`DS!1mof)R8ZH1zi%)NP0< z!xT6gHM&uxCs7*++FZMON|G%t%NAJ*t>jG|`c=+0B?$c!oyG1mqXaP#Keab~Z?lU| zzYf5<610kTj}Caw_TG8|!D3lk(Nxxkk^RwFr%-Ps$yVB*;=a`>cR;W2Y*K0d+LZLm zg84B{*I#J~p0a(yAGn5idd0o&wuhSd1l{NZwmp;rM?;4za@xrdIVg}lnaapFL%gjS zx>y>>f*F)1H5N2z(wap(E@16sEnuCZcDPao_~me@jJyd$teG9I)J#7lh_TJ~mjx_Z zhbt{731&5y*BIU5lQ36$6x{@Hr%VTXi~+(Db2p=Z(BW(7h9>rRN(^fTnVkJ2oFID* zXg|N3Kn0KA_YO`+ZK ztDC_W1&GqrjS7C-Weio`>7lvJVf5w0ScPpUG`ib^YXe^P%{A=B~&xyJ7o9wfe(k9-5CxO#Qg8TX+IsKKk%z{%{)&4ZsJJ4599v_W3k9+EV@jE z#v*ir{%2#c69N4UZANEN#GL%Mv)BX0*5TdG_#uyl0Nnklwa9o|4xZ}?)dIX$&?~lx z^EzkzSbujod-*0FnuDEE@UaCti_y*cQZo*ohqz{=hSrwJ4_$Ek0Wd56o&lPak*p7` zj?H?QL+T6%N6vFN?nOceGyqC6m_^#qecFWw?>$c_pV4*>{32lz=%`E&T(lBq#WS1r zA>OFcI>Q6sG7PvPe3;&fA;ubiRL6le;{QpFb72jl$N$vm;qDKbdMo_z^|}8i^%Z7$ z;Pw4G^gm8;X-0n!Jg7qtPtaK3k3@ga`}nU*MY`Lo-nYB(P|CkttF9&617CQsLl1`$ zzBfA7A1njI=-<9XE^gLaH|u9>zti5g_weAbnB#$O8@v_f_BZRNJtwUwnOi;ZkA1;t zN3;*}SI00g!fTY-PIy+df+=8_BT9peKMLj;8`C+=|HBvm<3U54^*iA~yS?B+VM^|g zgK9i*Q*S$3A0!|v$^*9D}OFvp#;aGd@TK6+I3k2N(1(NwRP`)Zhocb5U1hZ5(?@ zGp+jkW_@^5+oEsnEv?UC_PCz-(AsxBi|0nM9Yh%hsXxLv**mV+IfYe1{ShI7#7%2y z&Be+sD68RYuo%9Ev%wVD9_~h+Z**5HEVbWjkQ!q)b1e!|0Gt)xbODWov%sA$ya_tk z{+_&}t`ty1IN7Mpt@W3PA-20QAt#RWvIpr@Q;cg-n6(IHs*^3-u)~-tT1I7C`q3-< z>4_`-&e*}3N%Xpg!nlC6A)ir%nr2%I2mLk>gTMQ-hi2$tHKM?kMt7x|<8XPQVP-O;&a1pHw7*s~cCDqd!+q6(OwVT2ryDqk{23wARA}Vl)8mpPX%cz% zkRfpD(6<(WVNCz&5*aR28I8X;e%T-W@ScQsJ~HF{a=cs`my-skm0Nw5nb#s{47Bd^ z{T5PUtQtpvJmDEeh(UUR+J-P)Zct4TqA=9+SL0;Bc;30;yC_H%%mhWk1Cj4Fa9|es zn}zhoZd+mS<~|nj;-3pPuemg_i2tk2M!`P8=?UXf<N&;Y%dbQT% zFi-nEN*E=4Z&ibo`qHAQ`%GfS!Yp-9zQrA?)oPfb-mEv~!ZX)0S%uB|bA0ROcDhTn z?`^~$Mg`A&{~7QiIgw*sn)R+QRPYKocop#o4d~x{uMC7?^Ppxuj2k`qCJY^dK>ufm z_*a_|@oh+G;y4d5BEAN0G}1=Im->b#mIlItEyB>mEyAHmV)(`}8Z6ii3wFbTIDTki zTqrEq4-59g0#8`r$p=G|j>3YYus{PpqA`A?3Kmqsf@=6&Erfeqgc}!OK?gH5v4aT< z*20ao%%MrQ;2XD$dz^!no#PKpx(^HP8w)};DDasshI^R94Rcs<6$wqeiogO}SYQha!eFIg#!8)Gfio;{h0m_Wk9fijPgpPr zJ`WO?4^4^^hQ`_XUXiS-MZ+1pg`eS{4q-A~W`?X`6r*BPEJm1gFpYy7;r%3kNcIh)lmDJh0fkCCpD5upmnCzb zLW8$TSn6w!oSJs`GO{;hK(z0%YlE!eAb}!L{NGA~-2GiI`XNWA#riz)F}T9slK0Bx z1}GoS#&WN`P|x-S1t4ufPzzTv#(MPOD-oauX%)5#tyvwy4q-Rzn=tR2uo0~mHqvax zH^93uQ%JGVF_Yl2q*N-)#uMO7RT>^L7CLJSILUDmkXaH?>dVv&aJyAHeAO&C85>V! zukhxb;e5SbbM3+P2RE)>Mvm#&2$J~fR~sLhF84~QPQUv@;;V5UADiJ?m0VPE|2j%q z8yaaJn-}7}NrxeEZHQ$~GPTqJ`O0*v?=#aS38srR(=cOB?3;!!TG)y!5 zZoky)UM1}%+y*cY2XsM+S}-@cN9=9ynCgQ{z9YEAWupp*4kiCZP2Wc zaULShtoo+dmrc>)YT-B!|F6%Iv!!Hea(d1pJULyxK$-&O!%=n$DalHgq{69iQkI0n z9F_QFMRp2ET@x{`^5ZL%_q1T$i*c0=k`xQm1pv*30 za4vneN79%1+-20cZlE+Ugu7=D>;PQHq3${-j4=e8txN7M>A6=7zkt^|kYgT0WD%Qe zvOn!3juOAU1C7|_x0ZtEjY(fL#1o>800%xjF}?cN6VoMiyM+bX&06rA_N?}{_Qms1 zaVK9zX2?J&?H>7>gc1fbB^-!RSn5=4&Yd8KOsl*%1y=05hnunAOahN%*N=~@*i3nC zf_|b?-ez+05yYYsGvhdNyg39%Xr1&W@18V^Gb^%_zuta!-S;QcNg13f#j|s>J7toz z6O3dT%o9jWUfgTxk@$jSu{l>F>yG0N%p4NW%}7N=t{DR}>pAZ^UpW@seq6xizTi&h zo|7-+mT>iRVfyb?x%;Ze+z;Gt?l#dukuO0FA^61)qXpT-N}^@f3kA?AJjhuB59J&( zMDQg_q6C?OiPFuXca$o@CBXy1TLI`4n28)`3WS41m)d!?lSE*iNGi$~tyFAPoEF^_ z&AG#_vCZt$6AdtFh315YdJBzCuzXt)E0sxCNw-PCLFpuiuLtU-@1>jeA#%ebGEAHm zzfhbd`Rvpnlf?OFWk|Br3DT@IN&GN*s);CR;Z%8yJWKw&Vv8L7E}x;eBY!E^%Ta~b zOAiG=wBjcbiUh?X#Vb{t>Zk(LD8$=vWsVY2=9oL_hUmap=JT6XRq)Bt+=`xs| zlO`URA%}C!3CXDvmmKH73~o+#R+(mx=9C6p*Ziqz)@;{e+HQ`&HdG6CaFexa?pkdw zw^I9#>>|Nc&R4B~c&Fp)uIsiEZUk7UyQ7PR`Pyoog4jlU(E$_Eku#VaO$tacDQ~Z4 zg5~6>h-&5z@`ykUQ_U`M^$)nlg=>Q`kjLOLngYU1wWH%KG0uFe%t9;?-nXH#zr!@8 z19a;H!uAc|#0=y(b`^VsfhO!5b~*l{y)m=6oL|lS&eO1$rb}cCrCDSO9w$vtNKT~W zWckU*%JO5@YRWmsIiQJaOj+DAsEM%WdPfCv0U@8oO&Q|3tdzS&evI4Oe_lzuxN5nG zI7xI>DK?qPmW@)JQBuxFouApTai0RteB}{CXzz$(#YLh)0X`_GO1i*KFi0>;FjWB4 zD--t5E0YUW?wwb*Qvg&o0`OJH%zr9ql7EvkM6RMoVje$&2#@4W$0S%+)r1wI(!veM zB?{%hjNhkSnugNVt0?T6Rg5Z_=Og+k0^db_q!u>w%8J!vq{xAJWqHTN%=~KU9Vx2N zOVPzbz>q7s0rIKbnewTcrSdEdD3@>K`fDC#em^x_HA(eJ4eVAYt?^d`D}PZ?s?V0v z&VbQ`fC$rO6Xn{W%B$Kw%DjYCj|hrxj+UW5y>h+|`GCZTXYL!BmMRfv!5MPnz@8ij zZFwB_dpzAl8ZXI{ZitmLXDa6_!BXWqWx4XWGNbb@|Gsj4JGjf&Dc6#0m4~WX)1#TA z0%=z-*$+6o$jNbQ`tP>8+!Q)~fL+fyugY@(b z9F9rjcpS%tDJIFX-Vs>@&Xmm(qzIM?6oLxD34yQ^F@F;Oc=E~<5fvU4y~`)einJ1s ziXo8~FZCbWT(;;EXv@8L>0+%#$uhV{rYJ{tD34JZ-M%}rX?NtC)w?5~oSnCGe$ui? zH(zoj**N?(@4&&_${7pHUN1PMnsNW^?3|jL!q@c!6^}&bzb;>lTCRNeuxfQp5qfDA zrN216@p~1r)@5ouV#&BPYNNw73O=yH`pUqHQ5%D zO#4@$LEb7KtF>MCYR$$cnMz9~Xi^sk4kv&0k5#;QZbSAb8PGlqJVriPQ`)T^T)mN` zF1wtI0tb!Pl~I4>qS$3H7#of4C4la$Vi)=1^oui=tNpKG2=bV(xHMCBHyFGLUAV{o zRgr3=ivM_7#R(O!R`po*LDj9YI=?!czcre1#acBpr_OeU#f{mFOVw&{x$*u9>nqbL zKh!RZsOMbafYIFd_Nf_@HPM<3%?iyXjmxMBjW#wPxz}r-DARK*K&^|mtm)NQ-3(ol zZn3UZcY}Y}k$<~BV8GGE=9InJVS40pVU&&O_F?E?U#B^98_Rmc zS@Rmp48H5OZ~!Pf#5w7ZzY0B7Ba5$j6WOW`sRoa3tw7Ono_PYCXE3aDK`A-#Cmdp? zcI~)vH$W&q>0%>VZpwR6i4+cj7Cf%s*c zt~U{R&d#e|SLO{akv`@ZP7KV=U;k*H0x?x+E3|JfXDpA*&42yqt`?!Z(zd<4sd!d& z=h|mDX#rTuE$ZLZVal;8jc)m7whDNth8-}tT+(r<9{2CI1$7Kqet#AvsDqNDig;ZK z7rpIPZSQ$qd37J<(mj>O#PoSU;!9E6s7LCCtJmx1sV`Rn26q0cF$?C@X~0|`_)!hk z22eB&Sbxpmi?L=JS7Xh21e}tV-@AMrEXjGOd8g^pT+UtZdq4NJtru6D?40Km@zT+G z)p}oeMI-z33zrLhWOMp=YLUD-+%)d<2hIC(^N)J|!li&CTw~Cv;7rrS>lWzpF|ZLk ztaBuH5U+LZIyz}bS`X^JO+#+ck%_M1ZPame5eXvHmBE4%QZhwd2~^}I@&Wml>?G%6 zKI-X2o`eu$&jrQSUj!ziatjQoumg#Ug&ORzs12iWNa=c}d?Y7OzI~kH(dxPNiz@7v za@KK-p_CynmcpBna2eha_j8XWykEQ_P#QLaKPe&0*3LO^;|j35fO=}hUTEXX*DHQi z5b_Q#@Dn)@Uc?w;f@qFNMyw(RSSc1O&->rrxE0;Kb4Pe^UaUpchW9S&jee~bTO%uw zEi?Y$P3g#7Me%F3G|f~LC^oM$S1KwM&&rN%13QH3ja9@AV%P!OP1ftY1W3eUVUjXZ zux8g{;S#}G0j?BO3a$tSh(^rH8!vh!cRhKs+^5`46d0{>PQKIbq;?%sk%A;_#AaVVP+LN z_mOqNBfKvAPv7elxs4n|Xokxt$yaNn@_hM5`93)~EzeRFsy@j{`An^wB2WR~z_1c* zO)0prPv!rt;Oryt`1r;WqgK08^j`Z_+foW{R#26;$^ps|%E`*q_P4(QsWM;r>`;aB zgtAuoSouK-rmEfxm|8b&KhZ>zFG?qYL^S8!e$}jZmsAdzalsew$BHlGg0D13R+btR zs*SzATK&jA`qevom&f)jrmnj6L-}=d=dg)I8IC(vX^J z@(vlO9j^uD+!XCHtwK9%W!U?a0vgQTq|%XMmQx5abXy@p05)-@h)eK^meSS8WL>ll zWaw7tHtB-K?)U8?uIL=6fc?H7blo~Dl0*8ETgXTfz_6RUhTI@fkyU~RWEBEFkZYrS zgl1T*$QvUtAyyNIxfe%a?zA{?Jj`0y5&_>;)FSmcuQfmDZP zFfIqSiLDm^IfX6vSRR{5UCVlWoWh+3vx7KHZlDJk%pJ`YaLq;8+?8Bg#Q`ojH^=~P zb6>cnS1KQ`ANHlV=Cbc5Vn1<)VDQ-r_yaFdehXvA`@dZEqG<9AIA#Bui0~0QDJ=xV zE+3(<0E7r41&M-O!An8q7JaZm0Jh~f%X_l_6i{o~NgCzLHq-aY51Bziwy)^KZxIzj zQP3(?j;KfkSG(9jH z;3_RXMN~v?URowrZr$0S0>+iiM>P8dsP@)`H|u-KczbGB=q^xq=#J=~c3VfPKzAqJ zlB1eNZdV;rT~KLM45Kc7E9!gN=EwS0U|is8ZI8FO+egqV)XxkSdDho1+MG$;D#U7! z($QoMas+eIi0I4gNfRp>(`@+--1Z7a;c(Vz$~6GNu4*1>nlx=X8tJTEtIf0GMraeX zi?pk?_tuR5f?OWef%IXG_g~;yr-eUGgtwgJc55Gd<1H>ae_f~!MCp=scXexZwVcPC zE4rx!c(2PMEXcS*cQV}?PSlXVSs)?df`1YUSkfq9Er7+>NZZdOz&xcv(!7b%xyi0b zYBD|}4ePVt9Ic#cSvmgCstHV;WbuqZ4ua&0)`WL}NU&n7B<&<5V-;imyC(|mlNkNkD zmUKxPGO3e7ZTMa@$5(pW@NM{ur<}CnZ2oUHe>~ zf`MUT*2?*t4b{yn8h34l!TpOe{h%wMZ=Y^%xDr|~pWhSXZkIVyGTlSYS`obQ_%P(o z?ChZZ6#GMuChtd_EDt@3*^lgvEgpspSimaCyHzIfJr>h0ev<>_tPCFuV3?m9G&7_) z|A}g2?(`=3qZ`HfeS(twW`-D^mKX@}$t*)y|JM<{=#GJ9E8b(p%&H6=yV^>5pWcIso zmBm`&eCsMDnDh9mWJQP=*zm3R^E2m+^&P)=j}`yTGV>OX?e&Y|=W6OVxt1z^JHEfd zA$CQO3ZbOkN9frwE*VtES{cP>Y9?zz^z%V=BPBzhwV%1B6>DQu{s>a^z#BUIgX$zJ z^YmJaPb}U1N0U{=+r6+5Y4=@Q-%dPeVhY>@9~aiV$r&&BA>g8vU}ItW>M~l)qRmw? z7hYT*cL%%_=ml_9tc9*+rkN#u`0Rn^6h>wdyK<^c?$&*D#uwplkqPuyB1D4Gr6%+| zm*mqXwGs9Egv=-OB^ZVA7%Rv8_xr|D`p1^u_hwUvNwe48nIlb;%B5w}oeFSDdR_X4 z(=7c>g~?syiC$psqpZiJ+C=%-7F|mzccUDrymc*Sa~8F@ZM>Z|M7cx_F63-i(-n4# zXkwIN1+j?$5u8xs04I6$o1A>2eA6!kI81CR65M<^@^IHDVw+;>c!pJ_WTm|u=d|?2 z>pPjFTfob|>|OF|pD8{mnsQ^lu($J|k*j?x_i2q*X0LRZNQ<-Jebg)6o&`K1q9V-O zx7=9cXkqoMXP^()!++bT?2E4~T@cF!E@!4YQl~7qF$2gd#@pnnHXMPSz><4jb$4%x z=Dq65lslPLXL~#x&Q0%45H*abjD=HKIT^SKl+10< z$*Mm!=Qim7q2j#X`vx@*x&N$NT5TMf(imNxGw*%Q(K+Jn^;@Gl72F>nzvruvH^`Se z+k?9=?)86)zHK^rpJa|4akt=C-wIf{b0}E0S78@xN(o{+dYjwx4n89y-^i2Xlfjwd*wD{AdB(r)^s$Oyu`04e=2z{87wEiV2;}=~;J2Z@1%9><^r}2pkz)*(;$7vzKx$^E>6S07RV19IV;1b+ksHiRU<%I@=#u zFm#+CwPe+%%rzXaGh|cd0Zw1^7UwbNp6Hnfb!v67_GItS23q4+IH)WM3xWpfHgGCL*Ba-FO^?7Hmb@&n8S+$lM3 zurNZn;E)MBNsyBuo-f=yb(666u%pt;UF|MDZN>^za+G}Ko=2v`e6y2NCIS;YeiHtmD$G|VVjVDT?JLeXw z21r0?r_KWbi_=Svf-?(e*+ft`ig zXTM0x_qw9KXuQ?I)Z~@Pu|y=U@(tgFuuFE2LruPsukU3V7%g^+QAdkO zYOZ6>QMV9N!dM5K5*bVGt$btRnpofrtZZILpS;V9z;W7C=ASel6`MJl*(jNN`&54cG9qOgL%7Z_ z0rpMunbF<&`=q7JlApTq-`oPD*k!4f5BSMe8%G7_34=J|Xikd6g?C;O#M{q#_iYL3 z0xwy1dn}bt-WpF$`Z_1>;r2uPlANyv_Hq<;8xFP$ymMy@zUHsbSsHI)8g{hAv6JW1 zL;O_pP_en#_M1R^r#0zXX1Lp(gPr^;4i{b6`$K0Cnj^b4G*aron16$s+28yea<7=M zfzjg}zK%NYEIpaKPIg0V<2^C=o`RaA&i0ftS7L97>o*P{Os>jZt5j@U_=M?rqAIsB z((j__)KGM`U^1NKNl7K^p3twad*`A|k~POh=Bx22h>TYZ+--dy9M?=b_2X{-y+cQ4 z-%@8URe__2=iYGa#8(yn5nX><)n{j15cS)l2>B$rn+j~~m7f_e7!lrU#EQnzKjl(9z*vWhAMY%}aByL*bTsO9q{9K!xKgyh%t|PEL?Qf z_6NOtZcQVtI_r@c((5r95BnQl@e+Wq>gV{qWV2+SSFGwAZn_b&OIAzi7`b1)%?}(Fx(k{M*rq2BbrFlnOBUYG3 zL{@iMojT0sas0P&-PWW(c`bM(KXS9vo!5ffo#%&-CC)mJ8k!5t;;N-cfL-`|^6PYuaAd87tE~>9yJay7<%9Fs|M%Ldd9(Riy!GU=x(>UX03-cQ|%Vbxiij;>^P%rJiWc%G7 zd(5ZymuWfccd;(roe7gft&!RO=pX5NBpUd~7G+u-M`-<<1=cM>RZ6Ed$|ELptHR?)d`o6nZaKH2$_<6=6i9atH z{wyMLY$PsU8d;<`x$(Vf&pPYfhwcIOqf58?WdETmczNYUaMd9du&rLcwvT4dy3N!z zMRVjo$i*2dyBB-cQePf;U#}U4;#r*YoC_&+4Vq+F}~G~kNnPfcZ37aaD3wM%+l+rjNYOiH; zdirk_0dCbFj%P)`i=K+^?=_3el>xIzH_3I$P)U(ui)6n{|gna#Y8qks458QzjcK%k__!ajTpX{CPkv zlLov&F0-AidmQL~IPn&^7;F*AkcY|_Y{s#t7dcsrGc-%9mv7v%HXkXJpDOB{wM*c1 z^XRO+M@Nh8vj^f?v03?@;AqT67dG2(^jDmqd|Xgf)=gyIX|oLcc_hTH&N%}y$+fGa zXCQC9L3OAJ=aRDQ%w_fh(Q9SxI4#tC*Ch9=JEP%a9QN_C_wE@m|3rF@fNPp?9_l?o^MIu5#ONBBD4AwiR)XE^6k=u5t4}#e88-L*%o!ArxMq?^XR&1 zPtHhgOK#wR<$Q~}I4KrKQ-#hTj!s~GPuxu0N0bvwi4QH^iE=ipk3FSw{4wsAUZpvAY0fk;KW5%Nh2Jm7+RbTCtjdfcM==DKcW|^y zsv4;Qr&X7f*l2KPO%FJ&f~^5VRRYaH*%{etW#8{Ntx;&eA?f(nZm&0O9*owjOdmPH zcM_?u=COK#+^l|s#@5&h_ z|9bdA4HY@?xC$2&Jd+c>f*QsI8##%AE2wf#Dd!;v`(Oc*#*;h`P`R`zv~cbe9?=V5 zB7e>7%-J;NcX1qdC73*m>fC}o^tY4$5jB!<@QXo^qH3THhZw>X9*~jIEea+7E#JzL6OK_ z3b3@0TSaT1x)0c^b|3Jg6!0~vnlsWM^pGS0osBL-!4~v*tup;MO5E@}`V5t!cnG-oUz2|cNE<$i-;CttIAbYH+K+^5HAq_FelNytIdb)L@ll* zTKutga76b$mEE1}#FqUXezm@kIrOxB{B*Z$lTPByVm9}ER`AI+j_j}JVe=@`qBbUg~T7H zU7`KimsPg#p4|M!JznBWIy1Vq7?`TYF+Iv_i$#9-hvfKN6tZyRp9&Z`*ia~bPN9a0 ziw-a0b0|Z@ix|Usg-28%PyUChH@m>^l}ft?%U)P9b4V)xYSF~pg;U|60O+GtAIompcV*I3_)8Z-9DkH&K1U4&Og}(6t)&gRr@X6Bv z>sP6Xw+<|vsv9oSOoexLZUP)B0y%;OK9bVa#R-`b-@+BEi&w5bTQwbU7pfwC!N$9G zKs$HwGWA`S)53-^_E(Fhkio?0akk8Q7I|xT0=I~~_%<-74y>o3J}932a$3S7(TdCq z>5^{Cl0?&8CeR!uc=~cCl%h@HLjYtNxFCAZ_?V? zEc<&>s{HxSUR?O>D3HT6IQt{UCXd?vL(JrY>ZoI4CoWjL6-`U7->`4Zn#wW9WS6%q zp7P#~TRVn!tpAkj4{$Rn*Y8V8Z{?0jc*DcT2&c{fq4F_Dytq^4bLGqBQ#5nb$R>sS zx|}6yI3`iT8F?4QzrvYDH{Koczsg*$s8vRTFn*1wyUJ=s7@wtzQpKxaF0iGlO{%@O zytqWoHC2TQER-Cdx>aH(VrXtdXp)BBNxE2*_EK6iN;oly8Vn|IoWo{wE=jix_eej; zIm6isBXc=#IF{pQHdG`xl-!p1vTRc76~a6mi!h8AJC-?>H+LeHEg5%ZXVMPd=>1~z zixU9(-WbyLs-*&-ZAn7JT}~GMzSHdM#92op;$6Sm(Urg9$Uu26e!V7B3-1cy_~>#ft7+oqnp=Cu$R?J9o}yJ5-=1Bp94ne8nkV{EMA$la3=@g*zq}15 z6iuVDK|fWKh*M5wyJh#!RT1qAz=g9zUJuXSQ9MO5M>6uMI1jv#nEOtY<`-XE`0d&2 zs-yAmYE!VMAyYKAnt7gT`WHuisKAJKzI!k z;TjdXP#jM?2B7jNcwL+e*GCtmVxxM8=z~6Lr#-7RHwR25A>y zv{-D3E+PoVyNr1F3aQc76CS^W@f((7Y$)g(7~xSv2jKAy7(Y^L3#ul<;_f~Wj2(1eS$_`Un{6K_CSX z`+#WTINR=;m)~~VO^nbd6?*ytMi7Q}#UYW;iCQv_X4elpr$f>c;{`BxB+TSARS+Va ztOFxpULa3zP;UzZpK7#21gU8#_BIs;XR(^{({v>I1Udn99ik6^fYA>|Rdjuoo{sKq zT;pSmFpLmyV;*l~9&ckFZ(|-GV;&!49v@>KA7dUrV;( zpDxg?AfrpK2E%tiNII4wPdGzYs?Q}e8UCxnZbX4}qdM#3%_W)N>GT!{lVAVi}LN8e~4)%U`~;31g$5*;zxhH@+p zM%KZol2B`0tOGdh1h}2aCP@z9ny1A)2eA9D6P#;5#2UB80n`>afi7f|y$+zs30QqY zHaX(}Ecx-~We(t0wC|&J0R?Imu(TsV{?)Qckkm=)j2L5DjTR7KQY^Rz1^k7N0vP1mhw6gRk%`oZ1Y|ZspkA|v zPZ^k*ZMW@r5P**(cv>9R)M#JScB|2LuhITOb%v2XFRWpl8@WacAFgYu`Y@mKP=z}v z({d+OHMHp9>UCi2T)@XL3~_8;=K>-yjEGc&1rkDKTzFr@$Dm#t*8wgQQlrJxVNYso zYmFv^71NPQ7;mNzCwz))4xLn|yUQu_xA=#%oMrrM@@Xjyz3lwc!(D3v0L2%{37b z(fW0muo?{U20VrSF59Bf=52ZS$^*N{Xs~T#R#9O99^V=_&%x@}4hO3%4puK6tejUD zICcq1wn|F2T9a(`+c(KpmC06?YaF}ymRl9YmRl_Ac4oi1ay6vAXQq3kEY5=)=r( znQU=;YqYJGJgjNG9E0GpD|g`~dx;8Hd4N}7%e4qEMQ+Qr2roqs!1QSd;t|+`DI!ZPyi@_ORs6LwbxYd;c9Dg{c>xSuaMuI2-Po0@I*KfnoMC%gva&% zAcTme*aL+7)Y?vJ ztto?G=AqV_tF;ztZD$67N&{FwXACWo_8n~nO-egJ1E*=XXpd>HX`PupnAij-Fq$b~ z&SHMg+|1kuQxlgm_g4&r>qXVk)1GTX2Z9-mbhu(t8QPVT^{AmMLaFe>QQ4fT#t1Z- zt6S#@-=Nltt)AA!z|d$adjto|R$u+XtOuy@o9%@ZbF|u9k(=`-v!sRNrFlCivmU;V zM!{5=(>N7`G}Y0Y7lYEi_klq!yqenX0Ee)etP|K3-W1+wSa3Ii{YI_jC5Q0fQe06q zzyZVF(t~SR-}4lkd0x?Mi>)w!ISgp-4os*{1TQ3k-DGcrm{6@e^DNccE^6(!Y$AhT zU7*(5sI|6gt({tHzn>Nalj^9oj%sbU{j?~!aG6@`tk(9Jrq;TswPbZ2psKZ8SGBgM zTI;6Pxim*FBJ zgT9S+K_UX?m9UVxeEX$p?GZLWTyZD4zwubu(kvBY64*HR>I}q+da5FMcIWtQlFC;D z@FPR}4E)|do3>CTUu4N9zLSWpq!g)-6bs4m2S4(0jbQW$=0XIFCT&VvXUELO4Pq|z z%tnTTQTyV)+ZUIg<8vU6%ig!jbJrUB(M`d>{ygoEjlO5&<_DS}$Tj|OocQ)+QjIui z6*7QGs;QmC&*FcRGxXQRRYQ(UV0|Nvk{zEA50kYAey`dual9t0kUgzyy5xeakfg0a z3kv}|Ee#HUO-fG#0!mC!BX1NR7eNW6xW0{^+Q5RZcInem!3~J=S8%n49_Me~GWga>tNjQn0gp{D9(KGpzkyT+R zKZ%eku#68zQw01pGd|2OX-|$w5yY<)pp%pMz$82#pa;yNQ_{Nxg*MKfDO^x!=Nv6S zr_W3RFwIX0jEPIkz~gLIp+UOrIEf~bxr7k>5q_9#hwMtcN8us1c@yc)fl5NvkaDCm ze4f5p8y5=#hU9Ii&Itu!N2M2~(f6d!R`sk|>9sGeXK7qs&+Le=9Tf9M51Ajqt^o@U z#KmSuaKOlv90ezL<`b|%#0Y@F9?)(EAdXELjS%}WP- zkn~&|RIcEr*0Ux**M`;6Q=V(bu))mNilnEf_>J`J#5($nM%J?e`)h?c0hFt8UP_iS zN*RBCz?`@l#U2@FQ|jnb5EdVacwXEoQKb+xvI>hE*k+}L#p&U@6(e#LL4Z*dx84iH zs}xB$&Y6``qI;go&!N<^=Db!2o@==y>RFS1xSn#NBoSeW8&&2SC(Zug!@N+<{kNW3 zYV8nL!aN?fB2C#i+*Vqa4Ki4x)YR1as@2c=Q?h+j68J}Q1t>J28ifAb5$URkq} z5m*+aidId$c)T=vM)BO=$K)zT<*tnW3alNCXQejM1xUm%rLo(jxcEByhSKAuX)48} zf;n*x+-@D~Yodt`b>*_>p% zC$N6VrVtik>pcKN7|bYI94&>mhz9gwFmTL>riD@cc1+NVIe>Y*p^R*J62HP8#aF+c zdf5DIHTuAJ__k{ms}g(n2_d_XH<)|9w44pestif@yfuVORw0PNnb? zlF;TLaKE>|lRCwvro{`BM1s|EBw$JKDO}LMC~eTsBw&uxv4lD(FEoSyHYxpJq2pZ= zFdIpj8#?XA!3xjJLFK>25Nxe*zO~j35rje6J72?0v1eH^g9!GMkP5#^uQ^wlJ$Txg z!3V@Jy>Ao(=pHy6y3!oXv@;osM?n@2#8(msF`;qJU{olG2^CKaMmqtYd;k{|L@i8k z7J)d67}ONE46!pau~C`hY?Lf}8%rEIY>+vwQ&)hz517U_OA-vmb$hoJIbhPK3ta8b zT^S3PTk8i#9HjdS?=a||n^=Tk6v(U)#3ue=&*LR@RZn`);IDrK;iJ$|(XpfFh+(Hv zFrDEOi=PZcK3-`_lX`M4fJO>Cy||EHn3nifIAeDlLd=@I6h(k-7Cs`N+wWOnAR|<~ zfIS2>I*M&~bdIV#G?ylh{ttDe{}HKp>qmDKKNhZ)nMFWQ zi+)+b^P)>!(JazeSvXP_4&{x;5-6wccz-m3t)D8W+U`jLU6zCf@q`)t6yD;=Bl0&6 zRb+(kB4^u~^2#QiVTXsHfv(>%Li~JuQGbTNXHYOb2=(+02=Mk~2cf|XPha2A0YNCk zFW5W8*LQvzt8i{;U`9Bt*U*uL8U86$5g+m2NGlPXZm<(-p+6z9N zRoECKNU>$j2o}Prim=-^DM`RUeF9w>0Sq6X*FGZ)S%twPhXlge8FXKt06%ZWE0dX9 zXFDfH1O>VdK>Y^z`_a7vLZo!Run_O!R94{-G&s;Tm>oR8TND;Dpub;8z#qwP1EAtA z7UPEs(bP0b=f|hq*8$B-A_PeaPiBAAcXeFdsC`Kg@?75Ekl0 zXUApIy(>ixA~T78?UI>qICmspy~I|`0TmK#czd{Xf)ty$zFG?Mq}an9KHH_J)LPb4 z2K;10WaDJt%I3=?vRv6A8EA=al9T1$@?bgO%BRS&Z+<_?W%6SA4LPWiH_FYGPD)QD zQyHn8tOV)GCCZJ;J<1bGrSiVAP6;}x98`T(163ncJXNx4p$e>3H3vbfG%7@6s{!sB ze>m!MtdE=S9xA^Ih6wQw!+uz`9bEm*poyGyG~o<+GVgc9OM%}k;rkAtzdfe zIxGb^9MD>NHxpMaBf>RhIX3V$-Et=i55ZdpUzi6dmrCjMG_Deu+Q5ObqyU>e6#ILm9f3CJTVznV%~O*&0Ehi< zGDS9&l1TvUtJ6Mhh?1|ovJaL39k;fSFvJetEJ%%iB21rMKu zEnx>4lIrSB;1L`3O$FGf4Q2%g$?E zD6z$GTgDv$cGF>_j)p-;{g~r#uoSZa+XlcLvtT)fKtHU3KUn*=z#X$LAMThXFm;;_ z$I2Yx&Wni%58<&#M2AL=Vn>ILVvh_R4U2WO(B$U&h^Ww*@X#@%^~)#g$}zSP;iHBJ zu}6nOy7s&DUa4x*KDWM~w zw-C?|@*1v8>|RJ}CVUCoKOa`Gpg^sG*>HS70OH+vxIT6`T%kG~j%{G;lc&Ib-Yhsk zG6PI$rW*l|%R>xIAKD^@RoG4eSKzN<6Ju^`-dbVUJY88l{Otp6TMl=?(yzlVh9I`X zo)G+n8%y{5ksq<1P%PHbW4{p8Eds45QvmIyoiOP&3U+MW3d>;y?5SXX(7E~p{Kd>L z*aB-hwhj+;c;Nql2W&gG4i9vApu+-dz;^v+IDTBoXG#tJhWfA;8Eq|0?PY&V zX?vO$=Dz}r6n?4x7Bh`x|84y`8SS_~k768{sYcq{V{NLw0BI|$J;TRpTh2i<@yBS| z%lRn&xBUO1q`$AfRTh+CB&HQ?g<5HiDY4Rz(io9{5^Qci_Dq2?Ffmw38;R{?xAj=F z;C3{hRQExJ;r?sZZzQ~hw4H1tv=wZHTG+k}Fk*yYTdY}vQ6W}>kzp=sL*9<&%XI6d zwKf@(-RuuzQ`*TkLR-OB=*v~>C|k8-XT2@fEUKOCFQNHYjc7~%fx@#(rtukVSU|Y;su2BspPj6PM`MMed#jAjG|ds8z;bG zLwPI37iw)KYi?|tliOOWgW9TrSgV6t3}^w`@qQWld2XZHR^_cW=xzKmMW3KD((nfUfVxn4F-YnNxydE|# z`OusenSTj<&@f$FbtdSHfb~Y^VB-F>`gI1jYYe8aWz%VIJxhku)Q+Vcs+0QVKOf=N z7a1yAtigbfnQS2Za-GeT#**7GV-i0jwOv&^w2h?CB1VixAjV>7>BrgI6MvlQuS+pG z%}#A6@`Kj5xauRewdeh7#my8gLJb#ID`$I|EqKe_`DxnLn!kWrgc_giR-=qn8IgV< z^mBC|5E~b?sxtDou`~>BB{H_BjTmF(Ux7a=+Mp8?q=Q=}8k^QyYGk`n;TMDLg&N~J z16w5-+iMKBQv40bSRcl&*V+7Qz?-%G4e@`;@=^VIeR}^l>&6a$DeP|$v=?fm?!TkZ z$i`M(Muq_i~(-#{C7bA+dL4XOShW{gfPd< z444a12y@I#hgoLQV7U;M{MF_PGy7n9aSYpE(PQ;k1{vosA^bubgKq5jg)IM3vj5Ba SKb8OKKkA?kVgGAA@c#f^Nk1(B diff --git a/documentation/bootcd-tech-doc.pdf b/documentation/bootcd-tech-doc.pdf deleted file mode 100644 index 8565b6330b8c0ca8854fccad56d4a3d4b1d64319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134945 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 - -
- - BootCD v3.x Technical Documentation - - - Aaron - - Klingaman - - alk@absarokasoft.com - - - - Princeton University - - - - - 1.0 - - November 17, 2005 - - AK - - - Initial draft. - - - - - -
- Overview - - This document describes in detail how the PlanetLab boot CD is built - and operates when running on a node. Older boot CDs, including 2.x cds, - are not the focus of this document, and are no longer being deployed on - production systems. -
- -
- Background - - Since the early days of PlanetLab, all production nodes are - configured during setup to only start up off of the cdrom, with a - PlanetLab boot cd always left in the drive. The intention is to allow a - machine to be able to restart into a known environment, for debugging - system problems, or as a way to still access the machine but not have any - potentially compromised code to run if the system is believed to be - compromised. -
- -
- Soure Code - - All 3.x boot cd source code is located in the repository 'bootcd_v3' - on the PlanetLab CVS system. For information on how to access CVS, consult - the PlanetLab website. Unless otherwise noted, all file references refer - to this repository. -
- -
- Basic Operation - - The operation of the boot cd, when a machine is started off of one, - is fairly straightforward. Essentially, it loads a Linux kernel, - configures the hardware and network, and fetches a signed script to - execute. This generic operation allows for the boot cds to be used for any - number of operations, whether they are installing machines or debug - problems. - - The full operation of a boot cd, from the moment it is booted, is - described in the following diagram. - -
- BootCD Operation Flowchart - - - - - - -
-
- -
- Security - - Ensuring that the boot cd provided a secure node boot mechanism was - a primary concern during its development. The following requirements we - used: - - - - The boot cd should be immutable. At any point, a PlanetLab - administrator should be able to reboot a machine into a known safe - environment to inspect or debug the node. - - - - The cd should verify that the servers it contacts for executable - scripts should be PlanetLab Central servers, and not someone posing as - one. - - - - The scripts executed are to be signed by PlanetLab - Central. - - - - Accomplishing 1. is fairly easy: simply require the cds to be burned - onto a write once media. Once that is accomplished, it is up to local site - administrators to ensure physical security of the node so the cd is not - switched out. Further work may be done by executed scripts to validate a - boot cd, if necessary (though not currently implemented). - - Number two is accomplished through the use of SSL certificates. The - PlanetLab Central boot server, running Apache at the time of this writing, - uses a self signed SSL certificate. The boot cd, for each server it is to - contact (a primary server, and a backup server), contains the CA - certificates for those servers. Using the URL downloading tool curl, the - scripts on the cd can ensure they are contacting a PlanetLab boot server, - and not someone attempting to spoof one. - - Number is accomplished through the use of GPG public and private - keys. There exists at PlanetLab Central a GPG private key that is used to - sign the scripts downloaded and executed by the cd. The public key is - located on the cd, and used to validate the signatures of the packages - before execution. -
- -
- Hardware Detection - - After the Linux kernel is loaded, the first operation is to load the - applicable hardware modules for devices on the system, including network - drivers, disk drivers, and any others. This process is nearly identical to - the process the BootManager uses. During the initial boot cd build - process, the script sources/merge_hw_table.py from the bootmanager - repository is invoked to create a lookup table to map PCI ids onto kernel - modules. For more information about how this script operates, consult the - BootManager technical documentation. -
- -
- Building A BootCD - - Previous PlanetLab boot cds were essentially boot cds from other - projects, modified for use with PlanetLab. With the introduction of - version 3.0 of the boot cd, they are now built from scratch. By doing - this, we can ensure that the packages contain on the cd are fully up to - date, only the packages we need for booting operations are installed (thus - reducing the cd size), and the hardware detection mechanisms match that of - the node installer (BootManager). - - Though the cds are built from scratch, the process to build a cd is - relatively simple, and are as follows: - - - - The build process is currently only tested with and known to - work with Fedora Core 2. You'll need root access on a FC2 - machine. - - - - Check out the boot cd repository from PlanetLab CVS: - - cvs -d :pserver:anon@cvs.planet-lab.org:/cvs co bootcd_v3 - - - - Initiate the build by running, from the bootcd_v3 - directory: - - ./build.sh build default - - - - When complete, the resultant iso image will be located in - configurations/default/ - - - - The default configuration built above produces a boot cd that is - configured to contact the primary PlanetLab boot servers. To build a - custom boot cd that contacts a different server, with a different SSL - certificate and GPG key, you will need to create a custom - configuration: - - - - Change into the bootcd_v3/configurations directory: - - cd bootcd_v3/configurations - - - - Copy the entire default directory, creating a new one with a - short name for the custom configuration. The name is only used during - the build process, and is not part of the actual cd. - - cp -r default mycustomcd - - - - Edit the configuration file in the new directory. That file - contains various fields that allow for the cd operation to be - customized, see the section, Build Configuration Options for more - information. - - - - Once complete, the custom cd can be built with: - - ./build.sh build mycustomcd - - - -
- Build Configuration Options - - The configuration file for builds (the default being located at - configurations/default/configuration, contains the following values that - can be modified to result in a custom build boot cd: - - - - EXTRA_VERSION - - Set this to add extra version information to this cd. This - will be added to the result ISO name, and on the cd. By doing so, - you will be able to differentiate the cds from PlanetLab Boot cds - (which have no extra version. - - - - DESCRIPTION - - A simple text description, one line, of the boot cd. - - - - ROOT_PASSWORD - - The encrypted password to use for the root account on the - boot cd. Only applies to the boot cd, not the root account on an - installed and fully running node. - - - - PRIMARY_SERVER / BACKUP_SERVER - - The hostname of the server to attempt to contact first, and - a backup server if that one fails. - - - - PRIMARY_SERVER_PORT / BACKUP_SERVER_PORT - - Which SSL port on the server we should contact (default SSL - port is 443). This rarely will need to be changed. - - - - PRIMARY_SERVER_PATH / BACKUP_SERVER_PATH - - The path containing the script this cd should download and - execute. Can either be a path to an exact file, like - /boot/bootscript, or, can be a directory or dynamically executed - file, like /boot/index.php or just /boot. In this case, the - resultant output of that file/directory should be a signed and - executable script. - - - - PRIMARY_SERVER_CERT / BACKUP_SERVER_CERT - - The SSL CA certificate(s) for the above server(s). This is - used to validate that the server we are contacting has not been - spoofed. - - - - PRIMARY_SERVER_GPG / BACKUP_SERVER_GPG - - The GPG public key(s) of the private key(s) that was used to - sign the script that will be returned by PRIMARY_SERVER_PATH or - BACKUP_SERVER_PATH - - - - NODE_CONFIGURATION_FILE - - If this cd is to be used exclusively by a single node, that - node's network configuration file can be placed on the cd. This is - the path on the local system to that configuration file, which - will be copied to a known location on the cd and used during boot - up. - - - - With regard to file paths: for the locations of the keys, - certificates, and optionally node configuration files, it is easiest to - place these files inside the directory with the bootcd configuration - file, and simply use the name of the file for the value. See the default - configuration file for an example. -
- -
- Build Package Sources - - The packages installed during the build process are - downloaded from the boot server specified by the - PRIMARY_SERVER variable, described - above. The build script installs the packages defined by the - BootCD yum group. This group should be - defined in a yumgroups.xml file located at - install-rpms/planetlab/yumgroups.xml in the - document root of the boot server. -
-
-
diff --git a/yum.conf b/yum.conf new file mode 100644 index 0000000..8c71cc5 --- /dev/null +++ b/yum.conf @@ -0,0 +1,17 @@ +[main] +cachedir=/var/cache/yum +debuglevel=2 +logfile=/var/log/yum.log +pkgpolicy=newest + +[FedoraCore2Base] +name=Fedora Core 2 Base -- PlanetLab Central +baseurl=http://boot.planet-lab.org/install-rpms/stock-fc2/ + +[FedoraCore2Updates] +name=Fedora Core 2 Updates -- PlanetLab Central +baseurl=http://boot.planet-lab.org/install-rpms/updates-fc2/ + +[BootCDRepo] +name=PlanetLab Boot CD +baseurl=http://boot.planet-lab.org/install-rpms/bootcd/ diff --git a/yumgroups.xml b/yumgroups.xml new file mode 100644 index 0000000..1007527 --- /dev/null +++ b/yumgroups.xml @@ -0,0 +1,58 @@ + + + + + + bootcd + BootCD + true + BootCD Image + + dhclient + bash + coreutils + iputils + kernel + bzip2 + crontabs + diffutils + logrotate + openssh-clients + passwd + rsh + rsync + sudo + tcpdump + telnet + traceroute + time + vixie-cron + wget + yum + curl + gzip + perl + python + tar + pciutils + kbd + authconfig + hdparm + lvm + lvm2 + kexec-tools + gnupg + nano + parted + pyparted + openssh-server + openssh-clients + ncftp + dosfstools + dos2unix + bind-utils + sharutils + + + + -- 2.43.0