From 3f4fdd83813ab76d1ec3465dc0c03b09af36c62f Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Wed, 30 May 2018 16:25:39 +0800 Subject: [PATCH] rk3308: bl31: aarch32: add initial version v1.00 build from commit: cd8f09d rk3308: support small memory environment with AArch32 mode update features: cd8f09d rk3308: support small memory environment with AArch32 mode 4654e39 plat: rockchip: support bl32/bl33 fixup by platform bb80fd3 make.sh: remove 'DEBUG=1' compile option 1e2e0a8 px30: enable CONFIG_PLAT_WARMBOOT_ADDR_NOT_ALIGN 3b7e61c rk3308: enable CONFIG_PLAT_WARMBOOT_ADDR_NOT_ALIGN 9f2cf03 rockchip: common: make warmboot address 64 align optional 89ade25 rk3308: platform_def.h: decrease MMU xlat table size Change-Id: I8870bfbc829614e98d07cd2667bb2e1207131596 Signed-off-by: Joseph Chen --- RKTRUST/RK3308AARCH32TRUST.ini | 15 +++++++++++++++ bin/rk33/rk3308_bl31_aarch32_v1.00.elf | Bin 0 -> 148176 bytes 2 files changed, 15 insertions(+) create mode 100644 RKTRUST/RK3308AARCH32TRUST.ini create mode 100644 bin/rk33/rk3308_bl31_aarch32_v1.00.elf diff --git a/RKTRUST/RK3308AARCH32TRUST.ini b/RKTRUST/RK3308AARCH32TRUST.ini new file mode 100644 index 00000000..c48cd12d --- /dev/null +++ b/RKTRUST/RK3308AARCH32TRUST.ini @@ -0,0 +1,15 @@ +[VERSION] +MAJOR=1 +MINOR=0 +[BL30_OPTION] +SEC=0 +[BL31_OPTION] +SEC=1 +PATH=bin/rk33/rk3308_bl31_aarch32_v1.00.elf +ADDR=0x00010000 +[BL32_OPTION] +SEC=0 +[BL33_OPTION] +SEC=0 +[OUTPUT] +PATH=trust.img diff --git a/bin/rk33/rk3308_bl31_aarch32_v1.00.elf b/bin/rk33/rk3308_bl31_aarch32_v1.00.elf new file mode 100644 index 0000000000000000000000000000000000000000..739ddede4466ad5b9d96400faad8e90f7aff9dcf GIT binary patch literal 148176 zcmeFaeOy%6wKu-bnGq4+U_eDAat1Up#H5OEXiPXW_!1kF7$AvF`uvz-z<{VAgGQs3 z0d329n`$snD!cDB9p}MeAhnb z4C71E{(jHzKK*C=`HcJQ_qD%!?X}ikd!IwY;^j+JMIrm2Nbo~lOSeiZ`|+DI8SNlc9JDeI&&PD?yNla)q;>W? z#&v$AP)m+VE&q^AExwPP$&F}-+xQLIhm%Sp6h=f9Ne2tp`w0AYOYu7%}^;jiRa+`Vo%4FEhnD;{ovpP z&i87^GyYfH^JzSDpZ#dZn@Pp!BcI3M1GN2Fp(4`tC^_}0;-oJ3U7;e(PM4j}c?$A0 z(z~dBvWrGd%G0jNS4W{tGV)1}?jTBwr@bD1guG}Ud8uf_zj3mQ+YhRgH=U@3^Wy72 zV5OPmsmmT4)1#mb_uCJ2`O&7P6KJ9fq~Bt^Ig!$MEcQ51w~Iy<_QsEa$4BW%pF*zd z(nslHyxguE<8||RlT8eW?&%_6#&xc2`KQ>Nq&oGkG-s&jgH(!sfVl~}$Q4YWl;G+~ z#jR>;^%T_=7Q_RmpSvIk|)ZzC}s0!ltDX1qKubP>a8-2 z%?GJ^^vaeOpEv1yLD2WXV`|6cfTM$X=dwfXd>{0Eh`ApJzD_62IHrz2A6BX4(vusG zwr->KBk;_$MjWY~WoX-?8~vqr)*;T}FAy>goJZB}e7k%((vKvNaUSCm^gQN8--Y1E zm#(6TX|d^o%*tiD6pV@SNkz!~JxBDNnrq^b#+asXT0;}9_Y4k}pj^*~j&Zs9DE|T0 zKm*3%Q$YKZ!J`FRY5gm}oN|t1U4)8`sD$yPb$U@B^J07e`p!7!h&1ju8R=)x7MJ+| zG&Ais-JCxf<*#fxCh)8gbWv`>rLpS?c^&Ad;FGcIeR%fZN7R^cWy^6f-qonL&Z?W0 zNbB9m=XD%Lok!447G+g)9d}x5Mg%z6^>m_>L}V-P?nzXd-oGY;u#_)WquTa@`l zM;69x%ZS;Sn-LBw!CdF|<3|L2aQ@iEKYfaM!!yea#)Z?aAPq9E=nT>n?Y9|3+eKM7 z+VE6rnA=oQ-(GuM=bcZ@`DHo7ycXZbo5;&XdlB^Of$UMyo{Bo$o>G}DWDQ+0`w(k0 zb5ZZL>xtzA)6VNDw8WGbLWZoH57FF72Y zXP~zW(FWS>JcuzrH-VySCQ?h2n))j6@8mUCh`t_2+Ci*w2g*J-L61fpPUu``XFEAx z^&t;@vx~YX8ZCIf3_6b>H0SNb=b2Z31KCL3Un}aqJzU4*j{jwW{t)Q*aT^hb0X$4O z8d43G`3019o|0Sl*>za{scW7U{LE_^GNn^N+q||!AK6zfflYhOCG1d!k8(xU1&1k#WvW7 zSo@)m8!qtLPEAj34tf=%0k(~u51F3((v`uzr;!$Vbi;t=oz#bU>k)ixjhXRpL>ujw z{(F&zcG@=|smq2AZ9}{b&kFQ*>=`^9dj=nS?%i9|`1@mZilxt3H!GmO8~ntw!|j`D z{14b}5u!P~R=gNPcq~P;Yn86Ez%D$N^^3XYuWb2Vhk9G6$Cf!iK1;?WMm@} zxc zDcbhwU`YV{=1}Nx_`KeA26IQ~BYd8^%Eze9tzV|-_8k;GfIMJbbZ`c25OR!crE%x| z&?oIE$7_(s%KG6?pwqUqOg{XdLI$ovTik9IDb?N(884yTc8swM=?7sGEdpH*jF00F z;hD>EKhJ@F|0jbbZ-UpH=>M$4ncG0>`4gxcxU{Wz2ilxk88|wuGUq7U3q1eK)8K)V zP2dAJk>SOU=fO(~_!hDR?R*)S3qJX{VOOjSc%0>oU9LEt($w;my$*dvZ|NvgereFb z<3Q&D@IX6cS2o(pCYnD6X%6t>BE+Xu=Hx@(8KvZ??u4B6g2o)Aa~mPho%2d|KBs*G zdTAlm`L7I?Fx{-{6to2%ov$R)d`=_mJrv5yQ?TdYHNtD5L38xcR(&_`Pq>U9yy$*G zk9IgAzd)affn^hqq$t}ocR`Q&67>13XFZ_dRmA_pNiBY)VN6Ak;d>$DW_BabpQO*% zk@o&blb?mXVm%9*ZqNtp&G`k~wy9S;Dbef;w3Y0IY*K;GS@bvQ8ag^Sj{cY~wohz& z-ufJRBEZe2?X&3NF+(nku?<*lG4`>sA?*z4iO1xtpyd+ei{18rUg5pKHF!dPr(vwE zNw8P08LJ*gzl~?a>Jw`s_mAk4d0bDT77l-d{!gL5cpAzssQ9=a9#A;^>NX$Hb5^NjWaVXqM?;cz+VoO?!~{0SfY1XR|F9-a=jEG4pub(Q2oe-auU;EB)i(Ff(mC%6iSR zqV7{D6CZD8`$@^oqVd&XjHg`d&LGGHH#u`Z2F-=g1BgHn{A)=9!5}_aJxAo4yce?S(aL69e%l)NIIg!CO>ugF(8V=muD9>Ye)9nUj z-e!~o8$$Y~x|@pA8z|*xXBFd#)lVM1tkCR(^C;Ty>i##sL%BENnAqv2^pPu3{w&fC z&eNmY9gcfh?rqmz%s8v&Bn4J4IC=pz1AC*Ph~8s)#`IlwjL%(wa^pd>NgJJS>;y&36_SxM?j|3JTE68K_1@>FIbdFC`Ob91(&gA+jT8H;6WCvQPg05(V>si;&TS%^ zZSrbb=Wx(y@2~9sZnPg2dr|P$CGf`wu(Ljd4g3h!$Kg)~_ohxEm)}bd4nR*A92&d+ zZLEn%c7owt861Fpb|m6R&;5Ip<2~G2tO2$ct^H?ihzd?+O`{)nV}3qFe#70gekZRf zl(*Y(!Vb7$y+rz<0zC|Q5wo}KJ)nuv(b#@p$O3D9@Op5=4lD-!PoBv%{0oM6DV~LW zp5YXQ9=fnFbdwPpi?yP|$2Q8_3q9~&8`eW;q~7%-(8c{N1)sKK-cNgBCwlOMPwwzIv`F85j!`s^TYv0HknD0ny{`op}zgFlpR3+5&Gx)VasgNh&BON*rYwig14kh1V z>_Oh&+3|yS7~e+RhcR-SkiXb}OziALnj3vb9FsbO$h#LbFfF@4AD24|T73z6SNk?~ zKaI-B^OM?~{|)$Sc0x9@-?28+HFqoGA&R10)K{53pedoyK8I|hv@aNsgO(~_%DNV^IX4WP3n0^(9v`0n7B&&#S%LibB6Nq6j1NX)-vm2n zBJ4VzFD-HtmbSS+WjU)O&7DRr#di~QEpR#f1>-*SBht|Z?;8|K5Vp)&^vUTeEn&Uv zQh{m1Z`JiWp0NQd@gk4=_i71-XJyWS$yYD11YT5t5B5K~?$BuCRp?dT?}WuVXC4FwQ)U?HDEBbvWxap= z%zvAI`s2a99>g{9`@BPrD5s@i|B;HlhLUFTKNi=8wj9N10iT2tuoqw~uutXoBk}D= zW*C>!z-!y|JpaO#&p`Ox(^j_gseNPB;>4p8hB$@WV94b9}nub-oVTW^>z*gEH z!rn-O4TNzPsTe1>$Gqln(rf6Wvmu|}@hIcZ-GZvP4{#i)NgKXMIZMJgAEUQ z8bHh2PAVw`9cZg306IpXkEBr}_9r6zVv62XswmaGPvZ6F-kP}IM@q93{sL~lm4=-^ zi*fiW{R6-OK3~}HpgRkF^g~9!v^=f&Wg0f}&FMa*vj^)AbDbtI?Vf2U@aY{NMN#OLE`mS38+7TP zJkxU=Iv_IopDy~a_Sv5R8G|~Z9*eJgd=h@JofRxAg!|&>1~i}e#o`99E3>-v-BwTy?gu^ z(@UuHCdPXfc%4BV$RpHC%-uD@^y!(t2UB*0v`|kYe)P_3wy4&Y%KI3p=J|SDsua?*?{Et~0<_`SF>&)GqZ@8hy z%Am(QJKfD1^w>+FOGytEIS@8!!hezW64r%6&zNaS$@3_O^(>*|Nc8_GTYe5{cog8$uxvS+bh zU4nkHk>*2~gMI?&hxy182dCI>U$A}NyRw_KgSacM-{9fmJ0^A=IPV(d2Mx?ed`8Kb+IZUj zocYj^JTB%@9#VWos%p3bQlDm}5dZ z_veI-*a|ttb`0CikSm7*7xIn3J>~i3kjLA1<}~{tkG-Hz2VH14SI<|wa0YUSLfC)a z!@R2ID)&$q^No&j^bFgM(Ea?ZdH5VI%6!8zkA3$sdb-CObZMdSP72%lSKD}E?2$I% z^ZMNJ*Js4W8bKecVUu{!FZ-CXX_!%gQ2({bS8TgvB}1-&4+@dj2>uNGTJI_#$LfBp zF-IEg4Cp=Rk&Et4S;cLTy?&lo=-R9__)@Ws#5_zuxu^d->(+}lZDip|A8i-sDUc@@ zu|F{uU*_}PpLDQ|XWNR!u#DbwbLXoguPv0$i;7w$63QAV_v9+y77!1#Y+ZEI#dy}{wdFOq-?{H^tK4Hq%xp zMmo|S!MqFpAk`IFpkQukwxGXOF_Mwbd{}7J)f{GB2Q|W8gbfveESs$wdEhaw<9J-$ z=O}_bT12}PW4fIV`Kziz#upLf?#*_(W|sHAf$}p{Lqj?xgo@Z_@VDwP;~DVw6!gt} z+6G;H`d9EPU@yq)b}P;px_^VU2KqMha}Ra#IDFvEtQ@6_ZL!c>$9hbehkI^FYs>Zs zo_7zY*^RtMcoXXu^3Tt8&@POgG){NNrMuDBXe-@grDs!?i|fGd6*7$L_~YvM85`s= z-RZa&wTTAiaXSjmV?l4vPmta%WP#pApwaF0^d5(Ag!PX*(c60*XQqvqhi=sI^4Kz{ zOVk;oi}_)H=t541f1(X-H36%fH0UneZ}PFceFc6N;MfP7=HPaP?H|YpXJ^xJj7^(w z{0!;m;1gi_c;6MlxnH;$v~0S`6^0K#yq}*_UE%%a7~pRiDpQ*gS7x$V2DpZ}4N-5L zNIQbI+gy5A8_S(eHIcxVk7Gt2;^5?S~(?o%@0B&x?BP=%;;;-sMHT_C0t8ZQe~2UG3-x<1J}Jo*VSE zA+HU2Zs@=^{2kyyau>8k<{(Kw!AUfuU`FjoKg0^EGfHCH74()*r z3V(HIuC=#ApCQnp%s@MKS~7SkJzU4S#7^sf>w7})Ka920jWOtB(&rKOhjUnVqu=>h zp9}C~KmU;v3yk^iJ0SbbwjX^A&$vU-m~D=m*97ybk`osPKP%JX;_&Y^#>dlPy3ar)lb(#vrN=8G^VS}kP6mp9FgJX$+9vcSVS zQOG*J!%CqvL){b{&{%fwP>t8dn&%n~KyIIWF zLBxl}#h(Wq332g%Ks*)rN38O@5Qi*^#h*bu8TKOI+v55EE!vBZzmEKrxcomLKRzBo zzAG;O9P;DiZzCW5$J&1v_bb7tn1i`26B~IhL0cp4Rxw{|@J&32adR2WWs#EO>DmKX z@1R82&*`Zm+)b+fH^hr+PeuctgKATTgT}e|xlGNWxxSSAcNqoF$#re_Qi(#7Tu(S|$_tN}HunifW*#Xs z=8_xogYm&!^I9Qix+{wk*N52Gw-Y=B++uw3EO19!Y+l3QJF86p_OW?FX4rLf;L3a% z%O{b~HtVzSbAyj7N8N zZ-yH>lYJRs*gTP@G(&-oV_)<{l;LxG)^B`YjzAa6%;EW_lhDT_X*Qox$NKrk_5CEq z_X8PsqkaZ)CLG_-9^6gyvE4aJ?+RnRh-cV7`X__4xv#lArneLLzD&nO*ZH626uuTtb=W*9#+~Yfck21JZW3*c1=6hFmTpJiH ziPeWK&Gj`tV~eZ*D(bU8GKR~-;n(4R0%cKFiCLWhqdx>^?=3M>& zI}kRYO9a=} z%dSapjM41j_8tx%#N~N&FyANJpF5<}O%tD#Sc1Nte(19D3o7g!H<#b^1?)!s# zpB;`flAjHh@Z8XJr!gEfao!u(=DqGTUdNpQwzb%Xc#rQz!WXCD$G$iPKl>bjG`)-O z1!1q@(lqMgJ1K-ZeCO)QmS0)t%s=Z0L2uYTJNDD@y$rrj$G*CY=&P7{r*bF+JA6O(1{vR3^j=woHN)n>9;zme0>2O*u369paIhNec$HefG^ zK6kSGQAD3jY*Ty#?SK~d6pIdPzeBsw4${CA7A>#O<#o@t7|VwypVc1n{h(3X!SkWy z>4pd6?;nV2__Y1G*AEo+kJLcpe0eNNYq~VCGDUjWYtSX7xxk*YXdm>-Ladc9fe-J5yi=h!`Mzid%CQdi;2ck#X7=@LR1l<2`w;Rt0zZ&YWA=8ALX^6ETW^0@cr<-zy>(a=V}_}<3G{PH!qsL&Ug7P8tlw>#C;~*{ekbE zLi|2TsA$XwgL^}Xrd>Ue^sb3cn$5JZ-8Tn6VF!iA7%kp$Mls6sz0@PHgHF9X#%SYq zai=tkCa(7JSy~dGZI0{QkMxGgIRA$|zC|YrgVrldFJl3n z`c34ev!4q07MwWCbdvK`?45dc;CvoDc+#mUe13CM#aT`h{4MG;6s50#e@1oh+m2uM zPTF6-i}o}9L}QK3XphGR+3PZOw7E9BlWw3lFN`(*?$QnPX3JP(kDVT`H@n9g-?Y=U zIKBDqSmPBRUwX^SQio!C`oKe9+BH zG0)6rKH4(H84H?w727an~akcYZr*V6-s{^^&;1fgME}d?6l`J5DR+5&WTT zutm+gE}5OTqTDGMfj-RnsVB3F$7`oDd|pr2DZKY++jir5O<=!X4E|&udk}S4Z`pc{ zb=uJV%9kxY_VbQLV4>l>lyzAF`-PyhSeMy%cv&~%UP%}3k#x;Ld$>d2<>Pmp^qUQh z?`c^&6#22|ap~~&;$ExJuM5e=Z7}}=)I%(1PMt|LE`KN4&@!pZuFqw;+&C>R4d;Y^ z4_U@{ga$qy=u@0m{}^^Z^Ag*5K~-JdjXQ1F6&%^0#KSmrAI$y@S4`L4i z`QwML@DZ$A-y6qz`nM3xdvI`oL$0%zMVae4g7Dyr-oZ^h}EJ<0ML(g0qqx zkX!sdcL-%0Kit;K=g()LuL>%)qm*g3lZ|IL#uUL_kH5vap?J@m&m^&?d}n!GW8aRr z{Y>M{XRgC}=KYQiybspYLwZ=8Lp~oM<7?pA?KsnD$9g{te<0c`dIP_k@e9Ao=bu#V zg)D_HrpK$15kVOz#t|mv-flj_$N4AW&c74+=a7dnbm^hefkmN52ME5OkWRV2m$HuH z-H{2X3!4I%qTHFmZ^N$zoDk>}t5&O7r1)8`dJ`y9tuMO&0)#<^_BdOibxo~S#@E{i<-`O{;f9s+w=VfH$u|W zjoZKJ>@%x$8e{I?<9J#R@x6>UU3i0F#x)8KdlXSWBhzy4ey}(aaS$wYJ=p|9^^-SXe z?!Db??(0sb=JQ%h%`FCwxVziA2R;%v+H=2T| z;QHo0loQVzcn`^X7xIFz*@49@v=>yf3_kznGxd{b1AKLXpWWRzL&wsgSCQre4b^B* z^tC+8co}JsF)hBEJyGa|!vw5vMVW5AFC@x1HRGSS9`XtAD;&q%+IK~oum(J6SDT_l zO7hAxi3O)hH*!T?;8cTIrayD9B~ zH*&<`Wqxac$IIgc9X-6qi`bxJ*x9@DW z;T|#WHny}`@7faH0W!yAt`XRBQNC+jiZbme(}s68l$F^7L+|DO{Hpg*2kB!F^!nk%#dMs(FTry(P;$=5graT`iw3?!67Xdih(L(RaTR z#XYp1?)yE_qwIU4^uO1kQ?v07B2{k6hfQ7m3UqJjCwS)up~mk=^8A|5(Gb5!g7;u` zg^pwbqc-SW0{^!`--dbp;?6kh&kwOilabH;WTOoSr8g^R-%A`==Zs;0*=M;C@@Lh|v^KBmumhjoXhOy9cw{aS6kAuBn>tS2(n)n{; zpif%Gp8bE~9uUjfg~Lp_kTq>mUF^O#@MrnxN1t!v-NYPjpYK11%sbgW@Rhg^ZN+ug zjdA%N#C7cV#@TdH&JFKA`$p~-cb~&4?HAbw)PVhIz8eqO&OF9r>c@Rx8kKEyuw1)N z&f0g)@t(fdd{5i9+vZ@u#COdx*G0I)*?B}I*ALN#iuZ9M;YJtk6ehtEhaYcTE+sGO z_0agdESyz^64*!31T$(f=3tyi<9F7xlbbS%H)Xm$1a4)pIk}tzHbf)Zz^goSiT3Bj%eqn)%+;dd}BI zkqhs5t;f2;`!wl!Cz@DqDY;Dv%s=BhPkamSJi%r-{&k8rmhn9)^Lrlr9$G^p_zG*# zUTduLSk8d=_^y*H3u~R<^|s~l55Y@Z7P3j`N-?!!WEK=&1l+H^6*JVWC# z5B#1=RyCFAi93zZB_~ECLR{Mjqp! z;GM1^8DzarDDYKt+h9|i;Bv4Ra=>#cun6FOTrm51Mj_=S1t~Q*HH5hk?_irU)xOVo z81Vm-p|%CTO{#J3D|fJal7MzIc$c+q#;S+-@;a`CRf z{PwqKKF&*u@Q(ld??8w1I|3IGE(BJhp0zNIKAUiY`7XfID5K-OARD(ZXi>4E)4+`9<%w~RP-skZ{_p~U-^ZWSx59zRB#5Y!Q z--6BeQ}`E{&IKp~KFMYNORc5(Y=Z#99vycNSK4!c^&;jSyw796yyu$pp5FNa)+5J* z)_BLGFTuAMFSpO-*j{6L9z$Pq9W>`*V0sxkzB_w}zwNS(Xs1DQ^x1X3fI9q+pcoJ6 z7Io6F29aj--nWr%m&g0hH`M1m7xw%zeJtx)4#B4xo5zRH_rgE%cwnnVChFWqE9a8N4^`pz_c)ievDrMjy!L+{Q8QRzhfOQwjL{joeKTuSj}^J zT<9!1_zWXZgkR-=L;dbNlSe zz}epVM%dL%6U!{dvKM99H(LOkEW&5JOs}|yZ`ujKYnO_BuLtRb_hSDsfo-37Id1X{ z)$=zeXg*`P9BtCpt-Y|rc9mmqxSD?lMC-*~KTpMY(j9fJH6_C4er9cqnz`z~I8ffndZ+Qk^~H%egyMp-6Dp~INx zm1%mkAN#`z*nc>Z^ZN$WO}i(+R(2#W?BnxxTUXHF;B5H*TsI@lN00B`2!2A}=XuVK zk8j-vKhu0)0?nt9I2%uZKMeZ-#5XI*-;jX!T+4t*`ImY(;(IZh$51q)ZruHdvSMyn z)ptL1W%#@-N7i|kfBZeZ>`gdFPgHXKE`n)7Y5d(J&OfDY&p4t^Dt5rr%58!l@!m@~$CwQo zS3@@O8cMA-zgNUMuL19=2VEh2FEBN?ocACH*q%$xeHwb1%W_+smIeN1I~VJ!NfjVUfbz<9q_1)074q5&Y_|sk|K|H777X*KjKE+`E zV7^(&bEqoD1mv~6JjHkyd++i*_#Tj6jy2f|{OGCHjDBy9QHFIA^pY_iWpm(b0S=x1 zp3?l&sKehe@j(AU*Y6s~{XiDs%mLrkzP z)Svb@UVakOGpt+M9E$j!Y&&Ft;K%LY$C1kX9`Fjw4s96jzMxEtcSY|%fnWIBNNkI@ z!)MqQ9U@g9opJho}Dr`nr{d_G^{w0A)R(-r=7a5nSuEa1U>Z{s+0_rk)^+=q7-qa52R zKSFyEoawTC!uav~Tv!90r>u4fbcA0dBaCvqM{UP5%K|QY6W6u+vcH+bvcDAH;;{Lh z`2=#v#qz59kLI_=La@Ogcf|f`$bP%Zrs@nIAR`a+h&h~{1s?XI4KKAm>OwmQcn=SH zPaq98xrZGRD3}eoI3*P5Cgng@a`hc@-TgKZ_w*3)|6z|=6F!t;(ujs`$Rpw-G z%_=^@>k@vsM(`qkXS4zL^CGGCx4VvYuuXRkJ~5UnkT;lX74OkII=?rZ<}N{hJjVg; zml-dk-v&xp9l@S=s^h{uM+o=&$@%pI_% zz1q!kKKJjSHyyC8u|A4a*xx>cY;*gPp=^J~vNC`?`?neZV)}F>EC7t+2py{}pk3e`|dRymvZ*W@7F0Jf=mlFMi+Q z%zY90^}yy>A%F7(?`}hvu`FR3(w?Il{|Xr$#`{TaPw`z8rJCCbJcWPu!)U6b0vaZFmnVyxlx+jr)P)l)Vp2%(d51CN$%@?y>d3q8FBIG1&6+cSjxgDzoSaG+c^-g7GBIvRgp&rwZ~ zBjsqTY<2mj3f0-{T}Z|4gTv=}w<^WiSX1Sin%fFK!<>|q!q;+;^vyfaeknPtSw{uX zZUba&8}0*}ve`a6xSHk_pt<2uZ4;kWx1yb^%MN`*j_rLu(_`C({m?#~S@4?UF=jc{ zqh9{bKr(Dq*zm_W4K_U6H6c8+T;^|R2Vl!9u;U>!x&pB2!?4F;({F~Xh?YS1`(S_j zU~{ugZ`-eI?{gp9RP)?M*pwFD%m>T)ol=BV2z{^*ZThQ)?7Lbob2+vf=A$g@H6QLw zpLi2HY1b=cQ@FZFwDw_+@OF2vs-;_rri1icZ(SyvDG`5tW9S!kPWz@<)_ ztAVzQ=ubo1Gc+()nZbTB?B6k7er8O9C*~U;@Lc2hk5-rjJQdKV!G1l0^VV|sD2_Cd z5z;8CF%L{Zh<$Bn8ba8bA$-F(jD7IlOp4a`5eU=oB#zGj7FqeKzI$1!r&G+u?y#dd?jyA64foh8fcw9E_?hqL;Hm>6Zn-AtgKgIL$ zqc>^;{@|~DP8&G4M;k+Ho^6Cw;0fPy=MuEXzS7yCDRpb=ex|JjI6sYfv}yc_i=u9w zjJ0C?_|7S?)v>Ps5g3G42aoc(o%kCQmB>kJwg4KYP%RZ*~1qvyZGi-|E>`AJ@n}^x^uvK4y@y@R~mQtv;SaAAa<~ z{N%r`{h@sdpEsm|#sSC-#*Nom+SW9I8}ldQ#@~Tbv91_PuSSMad4Cu0P1?~Hho`_> z>?h%KHXh$&HjY?l*W+mGzN_Us>(^rqr2VW%W%|?4h3hE8{nC&^gv22_GOcszHodbNZSMHnz9}Ay* ztb|YK^1gf{gm(3G?B7~wJ?MiE9Nz;$en0l$O~@;76y+@Ann&AoUogj~Zu?*R6A?PCi&+Q%yR zE$TRk{oZrfw|y7;s_!l3Jm?(IYWrlchI$%EJs$!uE7mvad5yEqu=B#mn^MW=6y`VV zS*CD)0>0w~pF!to)W^P~gx~9%!eL)9sY$O2ysg9hC6u*Kqz(j`8hq zw(cthCP>5I@oC-Hj(6YpP--WqIdSLgTvZt|X{#{1NZ7)sUHwv3EAW-=uo*%@xj1*d%-&B0YhA=*Jj#sCw6n*c&%Nj_%l6 z-`k{8SGL31T&{~`UqI{{1|pxKjh4jY}|9F^mmv~a)8Ade6N*xs_N3!K3m>L z+WvjhCNb}0u{-$p<0+|$q?aSYetUw&& zJpV7~mu*VBtPlAb*4qx$=kNJG44RtAY4ACUm(0Hp!{4JnrA}ym0ONTAw2>YKv5A>g) zQP>@zJw$xB$i5e3(sBTG+^9pCJ2%ZV4nk%e2$+7KGstU$%@Rgl!Ke~^M*`={&WA6C zxU6_ydC`aG6==fW*$9Zgvw{1>)u9=oj8fj~L&kW(4_p?w9L~Xh(WgTZB z`1yiI)1#9R*BtPLIB516-2K3}Z;G?=cZfWhxHq{qu^4~*&E>%T-2lD;=fFD~3huV6 z@H45&Ay)wR|2QoG8aMCGz9wv zbhe{THrf^;>Ry|Vd5`6BTLjs}A>-yA_{wf2+5Ed8oTgoz-$w(RcWW0X#=hkoOQ$D) zWT$i5MaSgM{}gFoZ3vq8j6nzmJ5!o78js_V7jgJ*6J}?WBvlK|>?b@wZhbaGg}tNkbj> zzir4UX)fQ8kh~*tTyrDdi74oHtPeBq(!%vVgzVoLL_P3K*VJG_a{HzY13JFJHw=HT zv0c;QYoobtJo9%_b=t+MxqViPm?c?RL_mcsAOgGs4gx8Wo&s1U}r> z$*h4v!oNht#OL+(X2@w-poxZEnD_QA&W?A!Fs$RpmT!Y6m=7=?d$DG57CX6*d7uq_ zYUw2A?|tOsuFc-@$Y*{0DeOou)};+=|}XP!_#DcyM--?>+}Dm$?*=Wu@3C#^d{o>=#$Dc18yW7z>1NGwT{2t{@ zpWn70+49b=!?LmgG{UB78KLL*;UkfKBc@TuSlk7ef!|nN>39&~2wKpWGDYo3!rxaI zS(M+GG~LlLO3UxN9luetogHJ^QT9N7-=^qX+Q)CKKB8kL%8uyHNBc<~w-qkzTaMqz86!JJBV32y==@O~V`nVv zo3Uac%8%|yDPGu@Qj7c8z;DDfy<>!)4!YBk=K*My9fo`;qU&@p(f^L-U zP6w^`g6>Svor&_xL3bwT&P4h9KzAnS&IG-BG^IGRk7Cy)} zQatH>7na`B!Rzil@D{JV_nxBY#qE0Z!qNvjTq%?LlJ&`0$CLY5H{xs?du56aZdYD= zznE|~g}-YV;CJgCc(>jOn`~GI+oa%SBXz}-9phGR>6qZ#+A*>6D;<++w{_gKsR4Z{ zVr`wpdJCoL`QZ7(2jMs2^Ew}up5pXj@FhQ&Os|Ee{Bj?S(sx6@y;q2}LC@k|LN^)D zp!~4G!6RJ$O_cu@;#iA^okwWKJK+6u@NMiseg2zBpW+#3WobEdXJ26XiryxyWv}+) zKCGwaLfCUeIbYYdjqEe`8p?UtHsae#jPK{xdGh~5osEe%?B_+;3cqns@^8jbbHp*C za~foaci0!3l_@9oxfAu>IM;peJoI}Kcv;vrG`|n$KD)i}`A(Tp*!$Jw?nnOy=c&o= zUuG;*M&#bSW^{3i`$Pt>?QSLO)E7tKJz`2azXoRvS!jdPxg8$kKWis4Zc~Qm-V55^ zq7?Br#coxS&tpGcauIV9%inf=KCm9jfAac#*n$&o1+9g^9QSEn!#S*oZ@1zn5LbB~ zh+b{b>Ah;qan{zx=XsBp1$&(3A-><5&%D93wxOOW$J}4H<(L?w$ZLZ8*DS~KjP>xw znRm>ZR#&m6!XK=-b-}zqSw((eCJ}izRIRDk7HBi)E|@uE!Hl`nwfp>=wOKQ?ycsj| zk-zNzB@Zmn@Xu3ppSE;a;l@0zysm0vMV(f)uByJuzozQRigIkyZ$eq@lW1{K(E~+X zp@z%U)M-yv)YWKp6^~cdtedW_tGjDz`E+fqe-lE~B04(C)X#sg!V6Ydf{S4M@0=Ct zaQN}Rx2^D`6~1JJ`Bptq2>%_tCT^$OVN!8r%@f)!Q-ilGNTQ^vGx9fqXyQ<#q@C_-cxF#aY?k`z<{{oG>O(H+RD5|PkA1r;sUtO`G zwzRH-yEG}jbBj6tyR7i#9cH}S3e{X%xa>aq(u#-T=3s-ruD-nN@zRPlrRDy5{~h(K zN(1$qw2C^A6`QD4RqIQ+kd;%zB-@kzP_Sy<<62E^eMLpN7OV(pf!YnFftq#o6`Sha zaplTt01@&qv%zYN2Xh;1-$sJ#ZvaZ@PpkB=D_;ZtSmm!;b4~HbE9y0iZY@~Ju&%9G zTT{0=t}Ho|Qqo4JrHutNXa2e7?Yn2bnex-o-`@GB`Yms~biz zMh;KthIM96xmJ8%p*C&Crm1T--5N*ojmvP67&7G*tNa_Va=5?pRl!nT4bwiWK(L~| zw9a2&@tFncYBsDZ|NJ7r<TFiO7N9ylg(ZDC*;B)tazSZ z+_xb06QZr368+c(yZ$24Whh?Go30ZTTp;4IgGj(5y^pf|Pf<|_|7zE)!E&mqFI|J4 ztvCja)hn_^esDvuwqjkmNGPug`pec-P{leCJmM+3f7$&@!J}ZCsX^v(EMI0@mISrs zrNMg4>s{a=Ea0mO2mI@9sn@t`t5SK*6YJs_=z76&O#^XKM+^AZV4aw~0fb=7{s{Tyb=uVOTQz^6ro18`9&5|jijb=Ef~8Z-r_IDt#pCT3J3}60g)V@C z3u?4gd-#E6g^Q3}^#%wVAijs$s z0cM+VJ16kdOguq<2J5Y)VExRyIAyw4@2`XW0)^F;Pu@CRE3ewf)K1rebxb}dqCw2y zBC-0!AjuC-)u>$jzY+h>(1?SX8kbyvwP*Iry3(cq{3vKyQ)7meRc2VV$_!Zov80OU z3x--G#&cCHF`lhriC6JeER|LI44Z?%RaUc{JoCoMc{fg;b>rmO*C#*hS#)(Gv+auI z%ORpZi?Mk?rg;Gat{yX+#Esxl%oIe>sw%C%rrytLdCi79@C#0>udG75b`(>^P+3Bh z+p``8EY@>OO~fq%lQ5RU*GRemI)SOgmZ6ZZ3$!OzRaBMMKVC1S7}&&qfaOwC7jJm* zfNNozh^1u-NRUubx3Qv}YM+4AE3Y7ouGH#-1tD~GJ=F_|v>{klUa?V_W+D|Ui-Ih| z%>PSajfs*FNP-^)I|??OVKO7t1Ot$hM1jhRKy@jbM^CJ(f^HGIGp6lo*KQCN0@1%& z_S$JHJZFXPSm6aLR2}fZ;NNyD{tYW^vBIzwK5vEJx56V<_zNpMVTG?)VUHCmaI*40 zOX8I>Q1SK>Q(Rl~LxI9J}ygH+19jC{J8mtMF1~+3q*Oo$Y(ESgT zK-R#v_AZ|_b3u`%{=qV0C!$#f3uM~V@;lgUj9Cr$LpEwvYyFQ`1T|q^)~wS!p1MHg ztUQg06;=ZGOwj(~pB0)xqLs)VEAh_`*+{^@SU$`PGsOz6a&h@q_KgEYF>#EI-!z(F z-NYH6sG6Xd4cmT6(-@|8HFazKYlf_<#miY%h^Y;TN zn`$cp+=GABD&7Wc#*kLk2$@tdGzBY)3zumtctvT8#EQa3yB2%T*c@qg`u*T;?8ui_ zY^+$LP2DhEV*>{wY#pbwkiV>Kv6YivJ~I?Zw7#Pl~DHH6b&! zHG+2LGTTn8sja{c2z!&yoF4(uRdYh4@h^Gu=+Rg|G28n78ts7 zc%lj>NL@w!hPriJsPv)x?@c0eHw?qS+95G_BtNazShm{ufsE>}H9Bc8S=baHX2EdWdh- zSXBWo0v1RUVpXduzia9SZQ9f-X!KZjLlyl2tY=urEQ0@B+42hL@3lbBbbv5THLJw) z_0?kxzZ`SLBa1Hr7m6Pn6Ylt`r94EIrQI|ynHRZmyfjjLL?p^n#{?Sok3-wZaodesVR$tLHnzlb1B!^Ye65n%|Q zTjvH76E}$XDU9J-TwPTQdW1-35&f3~wJdI~#Y%!qi=U9sglX}*dU$ARYhYQ$=8xwj z4$0yb#YN`iVDm6z6Rq&vzpRj(Ur`8QhXnJVs+#L1YnvI`>*OCMnsKMo43F+KLw%_k zuC&6u0<*@Mubb(1{b^-pJg>kE|7hh``pvkVub&+2;X0qxn(4{b`QfygIF@6#<5 zom_Nx-@i9J+I#u|{Qaa$pO&01rS~ET|MkC^KD+7xe$wU)cYK|6+Wv9_{rpd;C|;|2b>^5#IM-OrPEVJKWFb%>Va) zKQ#Y8I{)YA|KrR5@8EHg)9MeQ;E$CS#2-yW(N+X$`Y>v`erI=P zH@i(y5y2lbaC7ec?s?tso-+v^&?PhB%!}A)6utx2EB`g zei)Lj6?z1667o%!g+hOW@jRiw&TFM~>}^PGq0nD3@j+9*%s70$1X)HxpHwPbZmb=3 z)H|3@#oKTmT6C=P51eC4DRU8YN-@4<`vpQDV2Sl>kSf-@AUV#{j3fS2rtE_(Xa5fv z9~$uc0mk#@UN7Wsxxzmp)8<$q^`5z$*vvWkfpbjc?|P4Q;r|gxUOxlL@j4+no|pF# z?;%ref&30Rv!DAhzf`5oOncnmv}JU*|ML;XJw#=*{hwshZ7{{{Ft1b+5Ol;nr)YO&8gZiM7`HKtv)DJ#u=zDuKoiixzS6{8e; zXH1TYFwgMwS(2Xu@FOWgr>CVVuIJjxo0E0zgmjX8VlB~6`x1%GT+^YcSe&ZK<5*6; zDpAyjx{2VNJQuQvi>cT-j_t^+3JB9?w*S)<_XVjM_sZIhf~e`|L}Cav66TtlF3@IX z`;U)sjI=&_1NY=w1^>|7WYmzyBT-XmSG8v?>QIfA-6uavc&fF17AwF*3QPsnvt+|dgDxhIw!t2A~=RlmdMz1TZY_*G@( zI2C^io1^j4Dx>gJrIAS7FqhNR8Lo`U^)@%|J7(Mp#LbO8YQ{dr_lfwwAwGI((`mWf z{~Yh-3;iJMbMt!jFY*$DA}%k&T~Ef&$%`Wai)#sYMtEJ3$O}*7o}}dz4MA6e9%?Tt zwQAAfMQc_M%UZKk1Roeq-otRhR$4((XJ2uN8@l{n3@uIVC-)jq8(6EX8>}gjOdWNJ z&{2deb;WQ@`j|*|agTFshsT2lPL}U_Tomm%`5^=Ib%P2Xn8yAl!~Q$M@FI44>sR#%}!0 zM>s2n{n!lH4A>0V4A>0V4E#d|Ji7Z%^>%%|YV0%~@7~d+cJ=J&hL0qEn|{x{c>A66 z^OZdMxF2I2Fnud&^iR;$I9~t& literal 0 HcmV?d00001