From 1c3505d9bf5fd5050c3df1d7b2ae27344037772c Mon Sep 17 00:00:00 2001 From: yangxiaolong Date: Wed, 16 May 2018 16:38:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7=E4=B8=BAV2?= =?UTF-8?q?.0.1=EF=BC=8C=E6=9B=B4=E6=96=B0outputrelease=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E5=BA=93=E6=96=87=E4=BB=B6=EF=BC=8C=E8=A1=A5=E4=BA=A4README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 8 + .../src/main/assets/sdkconfig.xml | 2 +- .../com/mma/mobile/tracking/api/Constant.java | 2 +- .../lib_abi/arm64-v8a/libMMASignature.so | Bin .../lib_abi/armeabi-v7a/libMMASignature.so | Bin .../lib_abi/armeabi/libMMASignature.so | Bin .../lib_abi/mips/libMMASignature.so | Bin .../lib_abi/mips64/libMMASignature.so | Bin .../lib_abi/x86/libMMASignature.so | Bin .../lib_abi/x86_64/libMMASignature.so | Bin {jars => OutputRelease}/mmachina_sdk.jar | Bin 142054 -> 145180 bytes {jars => OutputRelease}/sdkconfig.xml | 2 +- README.md | 413 +++++++++++------- 13 files changed, 267 insertions(+), 160 deletions(-) rename {jars => OutputRelease}/lib_abi/arm64-v8a/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/armeabi-v7a/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/armeabi/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/mips/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/mips64/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/x86/libMMASignature.so (100%) rename {jars => OutputRelease}/lib_abi/x86_64/libMMASignature.so (100%) rename {jars => OutputRelease}/mmachina_sdk.jar (56%) rename {jars => OutputRelease}/sdkconfig.xml (99%) diff --git a/.gitignore b/.gitignore index e69de29..c6cbe56 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,8 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/MobileTracking/MobileTrackingDemo/src/main/assets/sdkconfig.xml b/MobileTracking/MobileTrackingDemo/src/main/assets/sdkconfig.xml index 8d7ea4a..80e36a3 100644 --- a/MobileTracking/MobileTrackingDemo/src/main/assets/sdkconfig.xml +++ b/MobileTracking/MobileTrackingDemo/src/main/assets/sdkconfig.xml @@ -56,7 +56,7 @@ - false + true 259200 diff --git a/MobileTracking/libmobiletracking/src/main/java/cn/com/mma/mobile/tracking/api/Constant.java b/MobileTracking/libmobiletracking/src/main/java/cn/com/mma/mobile/tracking/api/Constant.java index b1874d9..4e1a07c 100755 --- a/MobileTracking/libmobiletracking/src/main/java/cn/com/mma/mobile/tracking/api/Constant.java +++ b/MobileTracking/libmobiletracking/src/main/java/cn/com/mma/mobile/tracking/api/Constant.java @@ -48,7 +48,7 @@ public class Constant { public static final String REDIRECTURL = "REDIRECTURL"; public static final String TRACKING_SDKVS = "SDKVS"; - public static final String TRACKING_SDKVS_VALUE = "V2.0.0"; + public static final String TRACKING_SDKVS_VALUE = "V2.0.1"; /** * 新版常量 Begin diff --git a/jars/lib_abi/arm64-v8a/libMMASignature.so b/OutputRelease/lib_abi/arm64-v8a/libMMASignature.so similarity index 100% rename from jars/lib_abi/arm64-v8a/libMMASignature.so rename to OutputRelease/lib_abi/arm64-v8a/libMMASignature.so diff --git a/jars/lib_abi/armeabi-v7a/libMMASignature.so b/OutputRelease/lib_abi/armeabi-v7a/libMMASignature.so similarity index 100% rename from jars/lib_abi/armeabi-v7a/libMMASignature.so rename to OutputRelease/lib_abi/armeabi-v7a/libMMASignature.so diff --git a/jars/lib_abi/armeabi/libMMASignature.so b/OutputRelease/lib_abi/armeabi/libMMASignature.so similarity index 100% rename from jars/lib_abi/armeabi/libMMASignature.so rename to OutputRelease/lib_abi/armeabi/libMMASignature.so diff --git a/jars/lib_abi/mips/libMMASignature.so b/OutputRelease/lib_abi/mips/libMMASignature.so similarity index 100% rename from jars/lib_abi/mips/libMMASignature.so rename to OutputRelease/lib_abi/mips/libMMASignature.so diff --git a/jars/lib_abi/mips64/libMMASignature.so b/OutputRelease/lib_abi/mips64/libMMASignature.so similarity index 100% rename from jars/lib_abi/mips64/libMMASignature.so rename to OutputRelease/lib_abi/mips64/libMMASignature.so diff --git a/jars/lib_abi/x86/libMMASignature.so b/OutputRelease/lib_abi/x86/libMMASignature.so similarity index 100% rename from jars/lib_abi/x86/libMMASignature.so rename to OutputRelease/lib_abi/x86/libMMASignature.so diff --git a/jars/lib_abi/x86_64/libMMASignature.so b/OutputRelease/lib_abi/x86_64/libMMASignature.so similarity index 100% rename from jars/lib_abi/x86_64/libMMASignature.so rename to OutputRelease/lib_abi/x86_64/libMMASignature.so diff --git a/jars/mmachina_sdk.jar b/OutputRelease/mmachina_sdk.jar similarity index 56% rename from jars/mmachina_sdk.jar rename to OutputRelease/mmachina_sdk.jar index f4a8895d7a8ce525ce71890e9f65f94d7545ad24..edbccbdbd4430382352964459dd1d8339727e07a 100644 GIT binary patch delta 52687 zcmZ^~V{o8d)U}z8o$lD_*tR>iZQFM4j&0kvZQDl2ww-z2w`QtlzN$IDPMyD3?Nxj4 zwa(EJbmkQ_g1i(MI4TG>S{WUF@(fqnJK!ebrD_`zl|+`-HTrymryxFK_(q!Gr5K zW__oYE~Ouqs@SlB%dEc76;LQeV0&TpxTxD)Y@sK@@@%a(WwitO=m}r#>W)?}EvxIUg^8R>wM0Ly4k3v28 zOn)fqBo0`S-_|Um*+Xs~Td^LbquYK)VUJ^Y?6s5#ky$=vd7kH+Sv~NM17{KocZI(O z{Zs@B{%fbc<=N`f{)yVoxUI!5 z^e?&oCwo9{qb|kjvP4KQPWL%<`Y@fJvp>TsPjdJGxo9!V(sH+uPGW?Fr^ef5duh5>tD>cemIX5MBg0W zW(X)v?*Rn7V4kYGa61vOdZ06u-dG=*{WAf2@-HGco&9RPfEt=Eh@R35>CFUe52&s( z2biwn3zxgbF3ye`nlFO4((X#19fddCM{$2kA2n#*Rvm%T0Peq($nP|N-*!6WEQJy+cQpq_zj{kAY*gPn?Ly&(T)n9+F4 zX{p52wOPFDaBG$!N~UPT#mu-~%(yK-h(k9IeZla!V7^&a;NUjBH&}7f#`+NF$Hy2) zep{?D`SzR7`hi_u3JRLK4I|kE90Vj08U*Bjr3m`}(V_%-Wtw;hOyCb{@b@XLP2^K? zRn>|}+`4}mv~8koxWD|CdV5ZB0A7YP2}a)tGU`we(vDD=*}VS-G85qPjG&H(KGYNhdrko=QD_la zjXW;3>=BRBbr1Oz_P{^3XuJHkFCAt|^CY>Eg(|E*T*lM%#IC}C*kMjJ!S)60f4BhN zGS4nQKtNJ{g8tuN{=Zz{6Sg7Y|Cdc&N+aWX#vMj4z%=A8x^m8Q@Zo2>nKfBqU(rH5NRjl+KJc7(ShB zYrFmKuoG%kwze$j@-dpjDdSv(yMhGcK%HO4&sb}h7aSi%0}scEhxc3VpZVGmJX%!q zzIgkSyyu(B0M@{+BM1=ejd}Y!Jwy76g9tu@e2WgdaR{C^5iR0BII1Vpgh=xWiv`+h zldi{jm7jh|E5Z$uX2~r2tm>$0$5fShAS7|cjP2nRwCcwavJX!n=Faw zJmI%9E%#QCVZ5NbuRFskZjqsW)KGN^Y>kHwVFDcy1IzHAaZU#bd|s zt|o6Y(;8B4V{-I*ewgonA;Y$s4)nX=s5uP4qv5D*Hrh}0+rY635^^d!REd;&`JTLa z9z=`wGn1BE{jE-p*g5_D=)yqTGI=Mq{={)Ba6t=QOAGZbSnI9wbKD(C04K z>e7KY(9u_9zY-KpA`EZtW|;-Q-lWy9$TE9~Wtj|I)nbVCt|<2b4vj9T;8Cj$gwH=C z(ifu#;z%@`4z=JL0>3g4ukx?-;Sk_tpq^`oJNT|0p%2rV1HS4WJb1mn_2m-1sWBDD z$|{IimGd@?PEJuJpNEtjh&ed_Jx zJ-D!lr!4J$7*f0fC-~WE!W5#+v0g>JmqHv+R4G#ejz+XMT7d&6Oj;WkID@t<{QlTE zbvJxbl(*_Tn6rGUtKA$?f>;%QEYqw9XCNv~+KiJc)?Yy0{5QF+rK>*N5}7JqVIqnJ z>8j-Sunulz&T<8z0Oj(pYULp=qd+Oj2r3@yLS*`V*clJXFKUouC5g>-N{F8Sq!kLf zEZ7R_f2vvdKe_$?bbSea>NE*I;gA7M81IB*kMEx33%PjyTH0RR;l9k(L~!q^HrYR_O6xInN0uuf5Q|L;Tz4URUQnx&umfzLyyw=}Y+JlDD*2+0KB&OEdgG zhh5jqgob-2Z?)j-v71Ere<{0AkiIAWVFY7G7Fb_>y)h7J?)-iHTsLxb)BG;GSRW1E zUl?HgP6kxdZ8tR8PP=-yPGB<~@_u^I%ROy3QXi7RdJ`=GyM13T9NlCeCzNjDD=CKQ zetsn#O#g)J2b3=5aD{snW)IK@jNj-%er<#Wy%3Q5Mi6k^`~~@%_M73p=|SY7==gTp zdG3F3!TQnz_Y?}A=zo>jy-618%S)6(qsV}F1uYlE3O8mjw#OVl^-mc`sZM>`<3cOo&)QRk1BCyK_i~U%<13q%EMrJpmFtiiK3hy#s`% z;@igM8_=ZncJ{;w3$yspM>LKO}@ATpaPbhewLdGUK@8j{8}k3u0NNMdE?_#eH=>8k zpuH{=FR$JThN*Se*G~49>gQJf&gP~W$=B_5gSYC77jOGdNPnTKTu4oq zja+U)6ETCZ&#DC?Y0#ZP4rmsB4ExU;TY3AZm&RT~SS=q`ZVzOiTjvYt$IRq?3mbNT zMT9=Ii9JS41eozD2?jd*@=P*O|dTWpj!(~nH3eik30g& zHdD4Toh9s;{P_&kw5-u1phe=cRL67mn3g}nNcOVTS%iH`lw)k7`t{YNF2x7CLcCDQ zLeU*j0rTZyWF4+-7FPuZ8Y|NYOb}-qqHQz;G30@{Rd=(ULw*R*&=GCGU1MhDEv1Bh1x?DBPG*8Xw>dHuQK_Po5j;_)*`RZ}Wy6$;EAVx1;- zMYQV(g$$(K1{$v7aupY{{MH0c#{2>X<*qXHa!4W8^l}MWMRn(?DKIpph#~A87Uc$c zEyMC6mQ2lHq+0Yy1==;xDCrREYX;5&z&MG5voxnHxgtZlNzh@b|Hp_uyH#14YS~h- zrcrs5C7x7fndXwGk_YPb8qPgULh)UBRPeg-9`y^A64@`iC6&o?EXTLf{^aN@aTPg| ztt@CYiK4p5oHN;np?;OyKsHW#;qdXLZsGa$IF%)el(ZLa@8v-u%Z4&}PYWG_g>=v7*GgzP#vO--S zqRbX0SY~BCMGEzwZFx%=((rye5cBB}IBQXc>LYI4(HpFwlN%Or*X6zXY)x&x7wb)n zHy-%Z*F$G)%hZ(P|M3}&F|!ikJ=aFeSo@$wpuktG{yS}_{oXzm}8@M z1yge^XwhxSfYhv$)n&kjqe_v18XjHCM^V`!Tjtn4_daal`YkT!|AD<&eY=$y7Anxv z@Hfc0P^ZRdxL7P8wT$?7cJ_XbPRl~d%PZ{?7H;IsQw-0(4O|2?9f}WYsim1z%S^oZK0<;DtNJ8kUG4Bhj&txsOj8& zsF2hB26vG^wmm=8K=ts_V@Srn)gL>de!{#?ZlNPSZvlgCSl{>ny4h+?aV3?kN&Qp{Qjq0%8h)Lpvhg}c~GNUNMN^CFXCKb`LFessxZ>LoE4py!hl$V zzx}UmPqCXN{wJRe=^?9VLJ9&L8DG)iCF{i>xRc9MnFcr;+?fhulZ9^D#TwX2QA%4V z1{jEWA}5vKI`!FW0L3|HX4)E^lP>*b({=;K60?^r@AJt$Rw(h0AYGs3!Osn+r-(MW zql=6-xxJbwd2 z2tRxMtrtd~bOgbdvee;V&h8eL#uZT$=rrqyf+N1uW>H78uM|CbrpRga0tL5U{5tvj z?#&9H#xq9`kK~OZQz?-m+R@n>vN>cpO9BxM=^#_00q2m0->Z3_*Gmz2GrPRO&Nc$% z_IrDC-}}uM5Q$sC8G##wM!tiuIA4Us{&Tegjk4u0Q~2l^AD2J9(+4M?ew?D4lE0wu zyYrR@$5z6${$1UA0tE-`dz~h?jVAkFN}DD)xxCEaEJ?hQu&o9uGn*|eX?}LL3Mq`5OHkEWd^7BV@V_^M}dQOtNQ9ft6^75#+?-m~t*y@mrgDyL~M$oWbtLgS(4%^f2~NS?9cy>`kEx?>4jk`AoV+m71b7)L*8#~#gq zDn@ipjZfBYadXm{7WiGd;zaj(m2+K1H9Ze(DKSMp*-n&n$0~@lqKk1w*SK#C*2V}$ z?=WNvk3v&-+|k8+NopOPOzrso2`0)5!y`J3=H!hDm*gCi-FL36H-zN=5v*FdgVk~- zYC#iGa0dnizPi}+kb2dP7DNQ`f#<1L#mylLdRj*R<9e`;vKUP zfPXD%^p@b~agQn`aHPMPiEZ4+wfa@^qq4R*iQUOnvqbiMF^!X!FC1nqeu?R08LK@k z5!!qD&3H>BTup%g>R|z{q8iO=tl4Uy6!=J8wqcc8v*zU=Wt{eZ(qH~2FcAPieTSJI zXpD9^-#(5X?(ca%Atny!!<_uezCqb`MP6=^U3Z8EUQC+dYijko$L+nMPyrFR?{sJS zn{i*iW}i5S15)&;2%04NhS;wD3$LUr@2E_A224H21z4Eu_JtJJeEwElXZ3 zBIPy_+%r!+ex~N7z(MVtjtE=v26?m?lseLw3V~~zE_Q}tcMeUIg6OHadTXKW@z~Xs zB!TfO(D9Un-*%?|jR4A}H$20tIa2DIyAzupiz=(=O{{6DDIHudpB+D6|+`QWcj;vXpt4t2)&RPYuaf`m!mf90Z<)X9Du9^09`gYP$KWb{`#AqqjvC!-11 zhKx-*drcdTEoPmF+0NJ47O%^(TUGE(%RO1jAseasONUm=(|6P&M(a7X#LeoVGxhVS z$i8EPxgA+Dg8{*oD{(nSNUB1g*T5?S;X^-06*iirDD5Qf5tTM2eQQmVf&Na@q!gt? zG-VG`6x8f#8gRBxK_Sy?_6RgOZSilKfCm zAWO?Q=v~_k(vH_7m*I zpx$k8$)3I#v6JopMFH}U2smy_EWemV4nu4|IKKpUKZ>xwBuDf*7{QcjH9Kv`P# zhCMUi{@`1@l_LG>;kd1l{TL4eoc90S5?H>-vHM1SD-PIYzEq)nSCxLm!1WAVZ@oYh zRP3Szy_a#lOa?K7mO#4+D+LThNyLlpOSIEr$w3}3;YLut>@z4+H)hev z#7mh_@6>{cs#Iqyr3XK3w5sgIiuf&6s+l*4>i%51#+$S3I{+aPuvk)+wMpt!shW-g zd<`oA+TYWWH*tEU#owtb7x#@B%JPev)961D~8ELH8;rNrOgqQK&| zsq`t6KE1_+Z+v%dhd=oEMoe%(2yWlX$U3 zf^C%)1|fgOw&wINhQo%wG3qL2WH}0)OffYe7N41WGKKUR4!$c#=pHzqUOpatyU0o!2s+rmVg4)J3$tpn%mg+#R(IvfZE*CpNEN~n*ahJ;p z!(mTVEcK4Lde3x`;GUew(#H1u4ytMct!mPhS{%|e*F*21DTq~w3;abF&6>H?RMebsIBjru%m+7c6F-_|YzO>_b6b;k43*uTW zB2uQBM3@!)Okt@gFg>tbMWE;h`XCt zzE;|hY}tf~nM&l4w((lzl9NkYh3N`ToGQpx#jH5^)!ctGjY+s{)+e zXPLIa4xjacNim_CB%_bXC_qD*_YI#$TNIoq(Wbx5@o6-wqL?RDM5tCU5o=`}t=~_P z5~JJtr}I9&@Bnyt^y`{=hc&}uQahS+ZGcVi%=UdfIW>yu>iNzt3?|@nYWxUDiGk;F zJMLAQxeuR5yHph$nwFo9ePtSoouRx$$E=q}$7+o*+?6`PMxBVh2FleZd!)9033=D6 zr;tKkDFoAET}LqQtY>3G_J5G zFZ}q$Mna@u(qt1nXq-;y;4&40b@8@LOM?YJ2ImYxEZEw{jJ_5(S*sRVfLyDHG=x>* zQ{Hb9C0;#gPVB^bscYEs$C>m!;3IymAnARV?;lzVcUWh0HRffqyhqaf&#%j9tE0|I>*0Gf9EO zW1FA&s2$^yPG|elYHY+v^C*Kj>?~SAxhykos9h~`7JzZWLTMDtk4>7WV?1IImRCKH z7E02x3U&EYS$h(K)$Bd15U2hmIFI+uzH*hbg>l?mN@UZW3k-r2e*;0ZZX>+LC}d1D z&eT9Qz^LL(1P*dYiAjacNj{uG+J#ydC!7qL$)pvbBCR}KT&#$4V-XSfZ68gn*q1At zC292*4S;VkGGjlqq^St3TkKN!Vwp{vuKF;+cq%Wf7p5;Kx2_G6336(;bbOs}B#A#3 z>~WvuJ5`V7_7*@i5~HT_tGCVoKMFNXI)<=`mqmTJCcA2NM%*Pc$tCu8z(}gL6w$@6 zLq*#2CBNGh9#{5n@z529QA}mn4&3`IDMgq^fN=H-u%%pbuk5<@9_4N+e^oJmfpu-t z0x6%$XjwalJ6ax+cmZlLP+@Zm-8T7Jt44j?=MIBSosZIO`?8i?{y8)wkR+W=f`Hz^ zOkP`kU7^Qu__Y|hj#h*$8f=m0H-~Lu6(>c!4o^Ba(nV@vc^8A@sN?yS3jEwVL)q$Z zKvZRB78ybG!xe1n<{Ku>skBTFcdw)0#=j^98QTm`Rs@#l@=}1>TD4+C>#}x5<7spR zhuDuVJY(#!)FtY3GBA#l_VLUKg0n>Ti&FuV{Ni80A}@;qI9>*b`AsQ1mYVG&&3@)E zZ+F9Q=o>2>+z&{y6nwwLEWu?5a~$4ifLPqCpz%VbkU)|Ds_#G@2P`BN}|ceo+T{O6zK6qLfc&rzV}%ZK{W$dNT29@M5gM;a=39 zk6C;Fr97di7rk<0N+6OJjIfRSo=Z8jaGuYzjmz4a5dZ4fmA1Xfm*`et2>hf_lkiOf zRouxAM>WPLyyr>sX?^BZap;SDf>YY?LU!zJX;nc~Q7@O&s=>LtXm-O;VDWTuG^M0xyW$a}AF{6Jz^tykS z7b)v{jpnPoF?rk}jW6p)wTSy|8Wq(hj#bc%L4BGJhawTYQqET?yElVFz;73wV(!8= zZN?g|^tqvKGt`j)62MBakJ;+d*KZI8j+h18BfI?rG1Qn=ah8 zNp_uzh}F9KX@y;C9J`>kzRx8t=Cw^`Y=nRnBjHcA=%3+VF|6*#cAjx z(!Xh&7I{qm%-K)U>n&`KeKq=3S1kgOY)G5T=s{JJ)6iqlx2c@oHFSUG0|i5@xfC7l`s|wAZ=+QS;*^PadR$#(1fi$7xEJ>q~&Uw%Q&tiiQBf5$jzaSlt9ci5h*^et_D zOcjHk7K5jK2+Ye?osp9s9lPB^tp;tx$?z6$*yCF=W91xwfuAKtaNj^2Oc39pc9+^0 zX=T@z9gN|7^bJqtO*S}?Ki50_@e=!_5rsjt*8y|$Z3^^NNz(ii8 z8%b$P5y{GIMS4aFDAKR(b!f^cxoF2Dzd@^JX~q3q1p=VdBj86WDy#%rolDk+hu`YC_(ROFtSdcH}|z!K`Q5ld#CN@jtQ(q^{v zoaW44n==0`qFwWJ+ji6Ms!3Vb^UHQt;>SM4?HGj5Rt1$CK5Jvqde~36dCwi$t4-zD zBTsAo&DU0qON>IFm_)o%C z1By0;R2&LGLZ9pfzD7ODC-4O481maL$)N-k!UMu>*A~l8NuCm&eHS0%{`LvB6YRRO zx8vptb~EBxd55o4t?$!4C$&p&7z)++M?#!oZ+BnRo?6_P~GH9Fb?snY1n_7`CMevg!s9_%5uC94`+HoD2KjyW=Nt&hpQ9o`s^cqj2^Z1 z=TqiYYd1uK_b<5#?5WeJbHQRB+lSQjjE2+8O~bImA&|{8Ip8kFUw z;aJ7nNfQ_Imx0aHmjdRbO%JA1Y=iB+@aWxR6 z0rnLv%v`YHJ{@+fO~3fiSoIN>uQizKbmC7(cj1mBOJ!?!EfQ(k`T0`>9vo0R%>1Z=%#ti{(T3ZDr65OQOxx^_A)b_0j3m$v0tWQzukU#^Ro~F z0hm_RCQ_+9dq!q{Qeoq*Qnkw#8c3?DIgukKxMmt-tx25pMt^^t6tP?QG>OhA;kb~e z6i2Y`>$fZilx`&4`@lS$zNdOySX^i{Lu+qL!#NJT5|N zT`${gNuN>j<4SIhuSw_(h8&?mbZbxmN_EKW6(@t5XgJ^&LsV!s=4x|(OH`V*(nF4& z0z=u8SkhRJ;lJmE%z8lQL7Zo<2L1&eA;ZLZEr>&LC0!64*LY(fX& z%iYuBB|{L>4-~k_CFVe|#BgG;;lDtKAGAaM^7ZXoQ|VnIJ)>yz6jy^xv>7Hox2(+B z!oMnJ@1PA{?lf}7)QbuF{*X1P3x0mP1hz`+OytBM?9>W>9?HgO@bc!fN)2OXif-Db zC=y}IWh60gu{a5YRoPiZT}nF-q6F4A(ayDXTbc39rH5We+F1ft=bmK~tBuMIF zdt3G6MIQ!_0v8Sms%7H{Eep9h ziDjy*)=>mBmAFE!@VznJ;?z`eaC;jAwx{zBA80cnhO9*+w5j={V0PE_WlmwVrSg=TW^j9H@~%Cjml`A>8O(k@8hmG>qs2uw}&x+MU7%N7}4&H$-7` zzi4?QATm4>7?vV3D~n-{F2L_FOYa@04x6PB(i@==1ZG&QxN0_|9oHfp*XdC8AzFai z-U|XfaoL$Bbhi20q1Y&^{#q6?@jd%3irtCmJj0(8snGuw4zsI0TR_d!Ms0!x3l9CA zN>$iid^s#ku;OQENMU18ad_$wj0-|^p_%AZf{QO!M&doje%iq}4=q3>&Uh_&B5J8P=PO@nU+ z5of0fb_!i)8Fs(8$DNsMYP>kU|2HUXR_A`k2?GLRfc$@SUnw40KmH4FgD0f0Ag4UT zgCaMyFjj$r{rAfx;S`hMzgJv9d1;CNc$%c)z=YiI$C@#mMyNjxq80QH&_G%PCQimpK0Vy4naB%JrHO{wGy0kS`g>HTi%aV3kK5tIKcV`JJ zkMk8tx>*k&^BcdrJfYZIEq+27AH(T56WcjE#p2-MIxa9|?;q6iWMqDjdWde~9-8JA z4T&J#k!iTZJ+MhNh@?jV5UyeR?TbSxw}<^hXrLX6`g*Q+DtDdhV=Jw%n%%PLHLb6n z-2&-2Th7$~NT#Ohw^S``9d6jzlkRb$?A(+fX5x-iExM^vyN~v2?rrWoI}&;bXY9sp zxs5LnG5(FY!Ccr{bdyf;&TmprwG_QZv;0d!`u$v`jDW16G?yc zjv2ADv9sTm2{|aVFKGceZgZp`PUPQ$J3Z3-dbe;EA68#cEcD~6 zc3Ix)PoG&o@4d)@Z-H$3Ft(4mDf)YA#IFSSp0lHsmzn<6^Sd_;f$tTTFPxs89b#Eq zw>t$a?}0J9@mVcf-;8g%Den1?fvN8UV66W?N5d`agMggC>CQ{`tLEaln}r}0(uZP7 zjOpHp93a}+2Yprkox}MOC=@5esHCaFfohH@X4%a0nidI+%a0OJBE97+0EuG?IEbw8 z?Ci`QN3Vh|arU{@$^n8?MTbYT!o`upqIxb{!;X3kt=noHaTZUV>pzcJlMQnl89VuY zKBTaTF`z;(rP#v0(BJ()HQ!dmjs`yi%bPC(NlMENm+9rD|2c&I1#Mpfft^A0WzO;w z(Jy<`1LF-~dzI8m2kV<(>oylks)2FRUh;d3t!X0#g`B?TGm3|SeXI3waRO(NzCcVP za?jT%!d?GaYKHAfg}(gmlQ(~crD}vTSVAKTa<=ajL9(brUrjbY#?@PV zGCq7L%D9wZ>(5grh;|ZWW5-}2Mm{*t;Szm794UmQ%#0#mvg@5p!vdB_=NSXiM@#y6 zB5AhM+^H2N@bzq*$XD+W{y%TnNr?gXR*cFlbmNFvS_7fDo|b|0R~$P@!ER)eo4FtZ z2PNFopN5`a$5=M~k`Ch)@px|2B7R4~_EPtTfX?r|8k=S1Vp0k=CD;B9L!gl~l*0(H zzVVxG59$uB`PI6>2JS!g75ZSYvKFxQkD!iNY+>oQ`5j5>H{2{6 z_HzE2(Wn0BovLqp$w%c3sul+wt(M?dU*pVfA_N$NsT+8EJ!X?Alr#%r!@f%y{VHgb zgq1Y>wi5rbpHT0w^G0;h4;;`~5lwgi+S68Zd(rn2;3-?SIL#ep!rP z$x}*q<-s=Lpn&;^7b=W29wd^lqMS=2L;p0=M(8$|o>9uEl$Fgl7~v7p?I#O!bPx(X ztoy^tsnK~_chy(L7Fe)KT_qF&7~H{mR(FlL%H_`>7r2~6oRWXQHdkI8SlDs~*zlXh zo?gnX#761`T8Pr|6kMW>HyQk9ci%P~>yc?6tClyHyD!zGO@slzJE`@aoN2 zIb4aL==GNozqY?iSI02NZNtE)j7>!0z#-T3KAZ4f4ado-GY2oUCsxpaM|MK^{ldX- z-?AYLcx@WZoZaj2aa8~4(W^6islsJ`=HJnkZqEY*qz70JiIS`*A&Zu?#El!dVyBGq zYg6Y~jVVu94>Y`Hv%a3V4o~;XeDw_jxnRz*Wfx8u-2PJ*vnUTF3zhT~S#A_5d7D&I zdGJC-N*#Gj%Efv0g(uda+b%-y#P1sf z-)}f>+V{&%TL0Ylc3Zl;dS0f)p71}flEkjp!l*`Rm_==D;qgC#BjU@AYb)R+g5egPZE?*qR0x4}k->9Geqae&2(6asQ+*JO^WP3E*Q7AyOl%3ZN@!=F{BijlB=-`g@y}o`xhU2}4%TgX zl*QNJyYjH$^g=QK$1*%U95aij$2k4&m1aeLA+U~#{;zJX-RoU;2@b+oUVWs%AgjlBL0l*I}bp-HpKp%f0jDOuNlG2wVC zSTkgysN_T?;b1ErV}TaON(>MnH?Fv|vpBlbF|EJ|?fHDAZo=m*$2= zl^={rMTIG#7?D23k{@C)C7*$M$5lFM+BCGogP9Mst5-2DlAbAsw8L{6t5x*-HU8(& zelFw0@YJCRp7D=9pgLT~szV8w?t6eLjpY)*H)k8_I=n9vG+%dLMb-RsdU(6!SejTu zLv$(1>#nS3T3njfE~s`awL);odJE61R%6FJ6E$e4P+1Hn4t?<97I69e_v;6gD}gp9 z%nBSp3peni3~&03Wx)B76(M!@C!!#w9de9Q1MZ6I=@!w{qa_cnQ@l&QL-2ZWGtSxn z^ji2Io6OS#Tv-GDj~IewaYMe<&UEPF?J52eqUDB32BODzKP23ta_iUZihehPwt2gs zd_T+HM$#PxZa2uv*1#j3_I(z)*eIgkuag2LGW00o0#9nrkPAZ*e(li6{n!UR9N`p} z0rHI!RDxC@We$Gb(Bsmv!JOO#4O7BSl=VaHh+t!qsa(u^32kc%l-ZTIjo3-Gn;qzr zsDo=!-BW*17}V6>t>RS7^gWa8oCKG{But`q(d(*lo$Mu)7~n&!e|WjDN+b;Xre*;4 zJ}W`9lVmRirarWqV1zI-gfg}~WMgYd%efk$pOI$~6XC;TzjS&AVQV}4Fv>)iFOZhr zT-wsktSs+Bb|fU@(Zk7m-tE~!jCAYO1m-_{Unpf)St{&(y411t3gLRV3~Y!O_Of-f zpIS2+>HQ{-Rg#4)l&F*GwdHmE7FYo82`Veo6q%Y#HH`+)d2LP30z-j#zr}X@0{XuJ z96rBTg=TmV-eH(`1vLxrrc$Vv!LwREQd~|e;Zl@v73Q_78Oixyl{P)s*ujMfc2;xo zDIeqPr4qEY)W~W!9$l#Y?V0A|xBrXNO?8VqIb+==Cu{~ss6u|`d8UC-Q5gWAE?>Dl zYxFdU5{r_e(jlhU3`J+rL<+jpTxWyXiG9mZkqg=S7abD$GUVElkIQUX)+9Z@$H;{g zl(f1C;1RFmXvZOhS;E0lt1r1D-bsFZbKSp*-(`RiASJPG=r2U6&7xTHE^Nz zzi~GMjfqav(sLw@NI$7lX0ZeB+Ky={=rdZHi}Tw>nU3z#$06<&D3gFC<(jD1&uwxE z?*lJV(A@`ULzgPKyDs0Y1d?;9h*0N))BKHL{nl=0IzwDg?c9h8=6lVk5)!Nr)NPv= zizBVy!i#@+B&O)aonPt>R6fK4=(+Tm?T}8zj^*)3Ocqiy%ih{)J&|>Hnxo#Pvs=0o zj$P999c z_M?uHEF!e4-5Of>|BJ0}49;wcqKz@JC$??dwrwX9J6~+uwrz7_+jcUslQ;L?_g>XQ zoj<2`_t$mmt6hD1pSAW{(o^OTL_mZXf~;vb0mWHiO6(2(ccE zXF&{u^r->K`EZ7b-w&Q+Qq~ja=R=xS;5_X>3Bx!(^z^B-L}N@&<(mL5^5q%rf;Vd$ zS6gWkkf?+MHShqz*H;jsHynex)J_<-Fs3QaF(0=r4WH~Bnye!2og-t1LjBM3`IC>g zL{y;m$FTxriY(~$i%xYAxp>5c77Dl$$Wus>Ljuy&;Zw?X`sEpXC2Gd2xlgu_t74yy z-dwzu8Bk{h{#=6BVtoMHF`p>E&^ycalLFP+Z57R?w9aoY2{iO8LT$rayao)syd*R) zN>x8nuiuJcoYTCAAe-FoII$o5v2$(=cwG`{pm|hh3irq`GbLa`!SMGWAL>RJp zuw1#0W741&L~!|%esW^m!Db68Z{az$(D}LZ%px7+Q4QD7l~RCbcz;gpx0!h-GMKDD zH|&ub4gpO9b}u|AC!7L59xcif#A@1xj_RZhv2L#IyLAfwule_mEWZ2*BIDB#wmav^ zvkkFNuI*{7!Y^EV&~=MlI!86M*126G!X-)CrgR8@9Hc%DDRFL?S*g2O9V|grmK5|^ zSgo+u;idqqvK&B)(Ueq`mYgU~dcP3$`bt?-1onu7wt1%&AT7mNCBwCY~2H+?u$s+iV{w3#<`# z4s${DkBC31%*e9XXxD`W;{8@;iuI%0z0nazCbA=MLY9Cqth^}Tb6Jdei**TOiXbPO z`Jr6%YYhG|%Li?)DtSk&&lum@wKOq6UaH>=aP z@Sv8T15SX5M8eIG6W8cpah%QALTBlBhHo&ROG4eSWmk-gC+N@e0dI0VH&P4*hh^Vp z;e63C3fvL~Tv#Y!Y($(*tXh&45xKn0dVf9!jAU?l0T}I~g$6*&5Bq9Z3sNVBR^gmm z)}hFlOs1EGt5tqd`Sgq^n6eP-*|VkZeFJn@V$XnuUmP7Eo>2F$#vg_jf7yreqh(kz zcC0$tb)4YTA`?RtL3^wYAuAfNr9yTE>Oa~>=CS?O{QCb=Zp_cu1sK!!W}8vs!nOqM zIZti7@<~IGijB^8&Ty6a==c$z2pd9WiKT9fvc!azHS)<#>7zkc6X&H4Xv2$+W&Utg zL4yGJ^+%M!{Z}&f9yp%oL~17vK(;0IT1U6U65SLsMs2MNDQ}1M3V&<+_0U=EO{& zI@mILWIBSkn{<=t!iIZ27T^^)*|PU!`2hlGr;|xnG&qfuct5jjpQyAg<*=u~-*Z?_ z!`T-S5r)6G z$D&8upKqm{-odMz>Y~y2NUNjKGh?lI10md*@*-Ig;qas<^NWv-)8jG;!RVilJpuE) zVd&H;d+Ee8KcBmKxUa>62rmZwHZ^l-vC*&H~ zda*A!t+{3&Av(4LY7P-)sXQ|1Rt1ew7RMWe5ucclj7oH8HszatxN4q^%>kU3otM_Dz?P=V8}&>`M(wXME+p>{k7Xhg=WKPd?F>kQT)^gu*xrMFkf$pIIDmgR=ZNuoD@c2M_ zR*slavcoHL^oTnj4O~*-(@wraWX%b!pyZL6Is|F<6R$AUDO+}kUkCgirWz+bcf>2M zIZ$d&o>6SQ{pms^18PT!#Z=}%s<;-0`Yp19t`CD_ZFbf&?#isUm3jH_X`v zzeCM81Pxq*+j(0`O-bG}ox!UWwdc2BZ7Ww8&YSF(7hL!l*#(S#6MgBv2ZBAi2c%1LQrE+@+4I!Cr4erbYX^g`ZZCatz%Q`?BW ziEYzrYXX{8Dh;qPFM1s<7Z`nFO)?vHm2>+Akx97yHkuAUO~k+!*C5Y6(Z2>i-OmqU zKUz*NCPzU2`*e+KjU;#8i$T*IpS?p35@V1`=sdZP7@X%% zj%_}<`#Cu-|A2ddcsXDGQ4C6f6tAct%a%<0AvY(B*d1Vd%Uw!}i^yC^HGZ0cZALur zKIzcLvM>@LlA2Z=B`uXMT^UhK*5Z~#-W6=)%~*U(s&F7(POmRE_!8mnF^@sq-5x84 zCq9%oiljxV7{8$KB+!qla!K>*0P^c`u+5(lZm*HyM4c=3Sl%-2xR4)VmV}{7dkn$8 z>f=*5FCO4&=`n4Jj-LvH?Ad@RYB#-P z>pTTN|Jqlq+8H;K{bC7n(6Jvf+I%}@U{C$C7kp`+En{-S5`IStW-q+*l}&4WCk&<_ zD8yPYtSEI9yqQHRG*zGSo!yK~M zIgYSp3}P$&$RHPA#c7uW5P!hbUY3THAv^KAdesME@lfWuq>p3PAlr2M$)uBaD1?X7 zeO4hU=Ti|uHSWo@(@h@gd*BL3{K(hZlR=jp>(MQ*u!QcCYzxR-| zraJ+aq}waEc(k#@f7q88`ay<-*r)tsQR%OQF!jcX=TI=KV<#+lF@%OS2lW=19P|A! z?Ck>0^@l`nrHpyjK=_T){h!D_iefYW#SNF#TCM6&cfh z>@)NjT2^I&zolT>ZFQBQZ*;aChb-M}_plC#95$Lf{6n?~hWCE0ORl#qiW!_>c~zMC zECAMdAcO!xypXRA~cemNS4Xe-TYEA)0Wt$&o6xM4JVKv#T;JKj$$M(XD)evoJM0sNsq z(Kf%Lmx0tK#1E_*5&gx5Dl^6Mf3Yq>1dX;oX+s3#NQDF zD@3GBD=20P{%vP<%&sS3ITMyTDC^oAd6!jteyGp%T`M_*Hxt^N>FJK) zA=)kVG`Esi-Cli<)h!wUWTy}D8HFF+qjd26d-`Sp=nIPO)0kqPyzcnmFpwP36Tx3- zoo~-hh|(duRwmoeOclykvi6&r$`Uzt2@^sDg+I%DKlEOP##nHM2ZwveLkNEwXnpvg z3F9TX2UY4dYGg>xWR<)L3Qs;-nghP|Lui6&4FFVn$q6&*Q}|l)fl#8n14; zz>+L%Dgi~UqNk&;Y(bP;`#1|n{b;4uc#4x#rgh>~Z?Wb2EI!90L16Z8GpU3n;|yWA*N4{~uKoL?OP9mRB{$wB;V zXSk*`%p#vr9aS}4(@ZB6xXZQ12b{WKqu>SaXV z`Ny%=cMT}r*GorCZ=@AUw&iMSw+(i2*w5D-vUq~k4ci9;Eo1F{yX~bY%}X+NDb)k> z-J;aRphlOXY%0SJgLV{P_Ix&V40=`5w9zA~IX`yhv?tr3nG*i)d;gi_o{igFFp8U* zZl#)k%hVd(6B|VITBliBN``)hiPuU#NHf3H$=Av0x&r(IWM?kU3_{qYYo@#hj z1Q90EGs3=_4izOAf2t}n3%p#69XQV2_rz!;O0x!DM-Xs}aLcR2}Ln~Wc zdr4!xW@HZ63S_Htx-@%Sx^s!dQ%|-8V@c($HA8N6k>#zHsxWr$TP3*>)WtLR3jbTE`ebl?2B3uf z5>|2Irs5Y{j@TQ!{veEYD6dMa6X_vL*SygUMYf;-W145wcurB2!KSk0N7(w);IU%A z(2W>NDsIfLHj|X!J(xXf5aSo8CqzS5t73Mmkt-Q~{EjDJ(Bl4u_4Se6I~LOa(!8VK zJl4~z1YRNVrIklI0KIiy#kJ5=>cE&my&U%HBVRSNB|AsuZwf-CG>!(TlRsv7mK=_MWW9feXH;khn``=BC zf!crb{#oJ%@$V8MM)vDj#+wG{kT$Pd1=RWzp==fko8X zw@u^i>${%hVwM)F&Cs*4UCPjst$tKv)jKD}g0gL{#;UANeG~tFUEt@7{krwIdl?*k z%fXZYv4P_GT6OBVzk2pL=>(W>zuZL9gRTbi1Iihw+s%)N4w>juq1$Cf>abHH%73zG zFjAz&5QcW?*ucrbf_u}1*#08*FYRAZSY$vMRK!_esNAQ6bF*#}AM95BOL?t)afi+A zbAUsza90=<#==`>AZX_=-$SB2S47K=*xPcK89unnkstko>D_`Xzw4CD;ZJ^ad#{vS z3Q+MD9KoY#0n>`mvu*X*?ov1nWh_dfJ)7 zTdyvdOv04y-Ct*p#$qPJJ*-TX%dX^MJ~5%1CI8G)=Gl*1E5-`qEO+tMh-tt8MV%MY>Rfw(T(yio_fRU zrIebDx}2r1=uk9~jw~A5iZP9rQ|jZW5Abj z3B^l_v2w)mkJ{Z;Jdg1hXQe^Pnfz62rWo${gkKfrb-lF!8>uwDG1b2hs)z!voucgA zRzp}=Yd#!h8UZ}WdYAJcohNP}QmaTHc;(nTiJs!!XwGTr6|PY|a9P-QE|^wjV zdryg`uXwAv3_U?5@l`t~9w;}*3K+Ic>9U#l5ldEVQ6Y_SgcDof70iET;^K|FqY$@l z;O*Rn@b0`B^?cd}ezParNHwd5kT+cNld3Ixian*-AkVCDhk<-vrHEa16PtclKV{*E*N5OJ{w-N``)M8wRztUKTTN;^mkex6LS&h+=!V`UedR=K zb6r(XN;xab8JD>5a^<9?p6#5$hafWi=2&`$lLyHfZ>gdNRRV#S!RVo^XzGfCB@dTPm6 z)k$R6!_M&8vh|T;LvbU5(|CE7qv#y}G(^U!B@L_k1dQl22VbXo@MW=wrWD$gn@}1- z^Lf_ekwg{kFx|;Q$**}hU4!)uj`?&tN=`e*!Oy}N?kz@Rjdq6TT3zC&!XGXAYf3S8 z3kb5+1p{Y!{ux4K#~Cw4$(LR$*VC!!tDblUk&pFwSdF3j(`+kY=E#YyFtM?1taRmIN)JjuhHg*llx#H5Xzy zlh|2j2(*eSw%DT?*b0v)m@{n2CI)#T|JLkGO)}WS;rz5rkKx5peUO0XIe?l7M zRDNTl9+6tO<%pV^0oQ}8JVIn{xAN+B`^mzTrH>xRU)@&j-y*hUe9st5ySI_`u!3zb zy73+=BH z`OAfu&h_|>lrU4&M*fP<0#--9w5Tkrbcb8HRT;r=&%7ZJ=NT4e5ot=I&vQ9M%?*ka zaM5P*J1?ls5(A6fC&}rTbza)}gK!D^bgwgWu+xtRtz&b)0QKw09NlVnVT!rUKUb6c zS5$sB=@ek=XFo6OK=(&qN32q;^0jc%2T;y%ptmb;)X6Q>^lk3S?a!~MQI8qu4_x`X zW%57r1K&j6c;r7PN&^(|_HD`2VJ*p|gOmzR`>$ZPICWxSJ)tdMsNZI1>Xvuuy)(T1 z`fGi%dEvoz_=3_#kA3zZ5r7#f3hzK zzqxOs0+Yi5c=-xSY5m`a@|aEQr5fU;EpLm?s#It?VyeIM(?|p1F+CstiVa^89i%=G zG8{P*$3NOcWp>EgBU5hWI1tk>8V`ahvj0q_Fx16YACq3SkVzkLCRwn~V4N{c z2^W;tNUT|o^PozeOrz5|_pr*8OXCP8J+^YndDkrkz%n0cNM_y$X{u*ZYa~fNo)=&S zqFCO8HQJgiSeh+e%p&t9M=%@X)+}W@^lqV8B;HbE*0wvnrbVrgmUS4WrB7a$l#oHU zt}NCtQ*bUHmwX~?S=qH$Z8hUm1t`nzTj(ja>X*SRM=eFf^O_8OUc)VhDU}C~*{n0% zw2B}A)N~5#75^4F!~7R$d-G2!4=$qBt9@qVm@g($)@vtsE9MxD+7v2ObP z5*-4Qw)6`rmBgmKBV9Dzh;(DQbme01axxE0j2Z{dh{)EP z(r0|EtG3rKB)(W?WA;g$&ML~x)~9h4~`5EXln`_ z;?D^M1h`w{ZHs*<;Q1ol4tl(F58X@*Zv55R9OMpjJKobBx|tc|m+XZZN+2uFO!5T_ z1I0c^N37}%63_+zu_Mr5HSq~F;|S)ld{O-|a-90R>9 z@=9OCJ9dnsWJ_B@l|I@1nbU7x-rqM7rZ_{wn(mH(;*LLh3%s8I2*4;Z>N-TfhEDmz zxsGYvE|gT(UwX?>O+&k|J(#`tjyb;9w%7H%zyWUtb)^R01_# z_j{yW>E~?IPVGPkVQvS4j}err}6<~anR5+^p2x_!*8L*X!QUVHn(R^g}< ztVxGn&*f3;`HlGv`A>HsI2JnH+TX)L_Fqk$|9Loo_|NPhv9F&obsYI`f&c7^`CplS zddiqeg#v=usNw+)_wVNegAn?Ehf>3Xf&VGkAyf5HL7*F_!}|U$;~V26h~WR3_>Wro zzx8|GD21o%RG(()E5psAKdgvqxrli??IyCUba>V*n z%d%A@Hl6CCQL%+Fh09rpZgq9_((-lX)=F(lf%o_Qb|yPY8d&em3B8-gUtaso+Skb@ z_uXSF-!lsmtup?dGCBKuTQL1>o9YQ0e(QZOmi^M&4LQA=g?D_eH=t{32IJl}n||&^ zi68Bb`=cw6{@y9g?X5kLm`l9)I-x*20*}&2Nrz6^?QFBsA$P=qU-sx2Bx3-Y|M{Mq zRqoA_EXHq!(z4hEFV3^o8#8GcFZ~$KT(j2D5_kE^ z8X5ig@bH!5YJYT1@1R@JOPp{kd8;pXmEAuFJv@JYAb^IZiBIip0QsXe*SFp||LKQ#`FGKMuFF^CG+^n~ z-uH|9TlfSp-q&07f}j0eeSb0k5j*{z{07H=wSU6Gw^#c93$^T3HhSkyu!Edc6tUTe zp$s)7Inq*Rqhy_w+X|bVtrcQ}Jva>{IyKZSw9;!3aC?2;;>?78qc^Ccks4Myzvu30 z-R4FxUbJFcVY@ZAJUgv|6Mh}zA{KaCBO=X#c`eO|rbz-ZU%!2>(1w5EV_Sdi&cPcu zw2nqBzLL|kbEd!SAL3?9gC|{U?3hfyI(}FqEmF{+PJ?HQb-IBm+Y;*bBo^#1V&3Lv z&4HN+==q$>z7F3riNxkUSjrCXIq&KD<)Uw7Ud67JEf>P=W{7ej@(9n4Q4nbxeQnXv zZfnhw9znV!n!kaz!#iADWXMKJZxGKXOI7|SK!0Kv9#m`l|ih6k& zy~9E*!l`QLrvcH=>C=Msj*gI)7F^tZxPDyQtL7`X zls9f8Y@-X>N7RB1ELl=d$oUdZ8Kw#pj!ze25P)&`X8b$`*{o5;VJ3EN}t_( z-GtUZnLi11FyzRL=Za_=DRz^l8=RZi0qZ-7VK>!wGfj?9{pSYyED)QmQ4=egS%o*YqT;^4Oz)0TDuXqpu3Wf)+0;DOw_m+L8pMJ01sEc<0SrGs%vx zxb;9N9xug&as8W9#p}q{gFbbphD&*V+q7>x0b9pi%(Cj+fnQ0LY%y=&7;r#1H z^%13gy|jp}`CV{fphcGR+k#hr6XX~_<)%zyEh~f4rF{Z#9y8C>4K0kY;>(5QYxq%5 z+H@IgP&PUUv`Ze-_n+IA&c|)7fDyh40_*qp%mE*QoAaHeDVB>S-naJ(Z9m((fvD6_ zW@)J+E2$!O5{P{yNcehXL~POv&%yGfw83*mi}fd7a(Yr5HhA%-QZ26tw~&GC7|FNy zf$TjQ^9a^eBT+Afc?+|uLU_= zq$`3E>K?<&j8XYRM!Z9QH+lL`)a1SQ0p*gMF&r1!SC*Ur?^!0S%yb0^>LG>9i$Gav zAmA2-KqTqr&cZQgFC%4Vgv|=?_qVQiksIh|SLhp!m@PL63?nD;fingggA<^%tSoVO zU0p;_WD1#Nod8R{*R#WWz;)Rh5lGar1l2lcT+o$jXdcZUW&DenjQIs+-aS&@J(XAv zKTQ4~*}Ima*%8bklUXuDOXL}kLGQ9~tzB2e_S~}Zeu|mNJ=^N3;a)A`k3vg8_4TfD zB%PJ?@`M4lcGh+kvSfo^;I_u)E#2kLO$aOoOM!V&=C8u~vJIGES?Sl4DG(9;#4Sv3_D=BjIWlz{yV@!Jy`Gg-X@v{>Oq2 zr>|TC`!ZH5T9AhPX;p^u21WmQg_H8;5H9_tfr|Sh&=9R!D>zm1uB8Q(5UV`lkadD# zF-kT`q$Hz8oV3b6t&0XF^jKDrRw4*cqq__wCK*Eki%LUc%`y>3TOn3zv>_b=&6X8g z3K$jDA?FGh08FdQ4h`iEI2Y)o{^He~lR1ohBxvkNR+sYp?R;0DLpYc8AE0M&&C0H) zDi^S5@e5+ZH65rex0AYE&hl_ZvTC$b-1MR8))k`)j4ti@uH}DKf6Ao-$;a2*q%3}v zF;Wu)NN75Z>r&6ziijC<7qi%a4aR;l!}apIiPIF61KhBvisvEH^dk@x_@Tm@;TUM& zdUfmj;0HzqNHf-L%LJRn=Z95{_9|4V)#!tQuT<54p6i}V3F{Vj!0Gj&$s8dcnX!^2 zh96d4TWn4q?{BrsCK^rAaLz4dbd2Q9R9eG%M!^$1nlaj<6#U53H35_T6`j9by=`1} zF%)$Y3+NYZ<5$aWM;zQ0Zg$C7H!r(bf`iI#mVKVGrn?zaxE!cHA!3*;jg*}8(O zCJfAB)va$SXInI=GnA{?ny-_^5nH!)!OevA6kV@qmpxSOHKn$?SuT!5r`IBCv<`gC z=$KQuVZ{Iwh7%0*g+M7zJqnbkV|WS{O>JR;1H1)rYQ8~qlV0_mmD!g)mp>nnak9-~ zpMzeG3&v+@n)zL@ELb~{t%TF7mLWuV+l>R?C_5@}JeFb1Bc<4B;xtrrQSv4X#52O^ znDG;67-@khaC0_l5~on%$RRonI-lLZaiR5s_==eNMM_U$W|3RCAFzd`H@G8S~8 z0a7;#BrjZlm4N+rR0CTLPe77zj);jHTD$`{)-CE}ZUs|+4aoBW)D32lI+OgBO6GX< zrDvgern_Zc zoe+fDF-8tF`M9T*IDT5olg1AhJwnWe39z?k*`|%2zuToq><_g)J(#MhqmH7s@j2FG z;}nNA>uVMld3f#7=G3BaGS5w(n!D3oKSHZ8U_h6AZW?+L5jE2@QBiDvlARdUc^a?# zV{7_*?Nv;kW%;lAu}xtq3MM_pu!rrv#dT}c#`If*q$9}zKW8c+QdwJ%vsR0E2LKra zB{Itk)Z3a%fta!|)}7KOE@oHK&bg1r+820v$t;KE(Ap^DDT(_$PB55GGBzrie5Gy&$Hgc*gk65E#1iF zx@2ItM1<j@MF83ef!sryc0xhffMovjn-Jg=O8EzcjzD12EL(7O?Pf zvbFABtPbPW0G@%343GLF@IL8?szcrK{ME4U8QoKl{op=^4;5o)X`8~`}HTCqWc~^^Wbs5)2@s;8!&AQYqswEfg zAq{0pO8lo2**Ns{AW`PzL@BqO8psE_0IGHg@@34R(Zv9zhbD3&EID!Dp2;GkG`oy} z4_Q?PYz_Mk6w5tsb306HAm9!O;Rh4V%%g6&iT+RRn(2eKje8AqK5urSw&bEhqWSeE zmp(3O-eclRJHd#?`@Ct&#N|U1j8fAcWAkA%lhmqJyBC?n);_lb3b&W6=$&Kf--~x0 z-Y@oi)dtQ{7|1Y1fo4opPc0@7vrKO&ks^u~w4^CX=Iy6D+_U(M*#KqgogTb7_sXu2 zb#jd~1e*~k^ZRLMVG9}OOhE#BJpb%w6I6eV)oOfJc1%|DG4k&K=Y64|>!KsbU}8Pr z!$&6|otp8%qg8M2`htBK*jBMl8-coqwE&jFWpDnBv^hFN;`#lqEty})QJbk^^6K^) zupQ^N#~3X>$tO$tIRJ9P3|Y!^lE1v{eEB&-BTrObQOgJZ?1dd!-*(&lZ_GwOP)Wfj z2e1EKfY-1)Mbq+=AjFU%S9sWaj1Y88#iKdbM7mxxo9HcN4Gi9Dol&e;TrToq2ww8fMd< zZ32saq^1nYLb!-ux@TmZ@Gi6>M%jD`5v}be{|XIw5QoY}i$mnVYSZ-kpecWnS44DB z#hbgDF;keOXGHlJ8Z5+Oz?X{Re)nK#GBx27mEyi_oJUyYJO*}-1e3!%ZZjIwEkRJ%Pi3w zGU`o#1=$;u54bb6B?@loNndrY(Szz6mMd)mluvdKu%sX0jm&2vMVZt?E}%=j@PzfP zMU39!0XMp*axPLNQQqjU3ywwi?}VOEaBzYrpO5aO0sy{12fcYwWX=F(SU{}G0$!1OcUdV>YN2H1Z5n!1m@(djjIqaFr5 z6{Ix#oNgVKmfbo~NMENH#B=c}S?TICHckGbcL2&8W!UTC)galrElM^+fQ4wvgad(s zr4uF)23XK7sBwfJ!!U=JSs{%FBKDYMqZt2aN$)R(LQz<>N6kT%=HV3AVZ{F5$6)CB z0-adN67Q(TJpm{SqHH2DEV6^r@b^oHcukBF+=6cgDXo)5^zIB|HQJ4k&-Gp)xjwIi zCsar~JUNDKHAGT}f!;|*^Twe8C72LmBOpMa3sI60j0uLkdLTUIK!EkZYw{aK?E{$a zP5fmmSN57MK7{k&lr_q$Z`?cTdk$>diQzpqPhAFv@tJ7r=JWh-v;n}h8RE5*_%PyDot79f85 zF+!|@%_Ve^8Ka;Z{SLLX;*RKK)unl#j$$F8m~N?JiUq?ACrI6SG{Q7O43ShTYCX<^pC1B$~}@#~f~kU4KJ7L-{p<-iyLR5Pb7ngdcL%Jt2~)2O!=; zXxS-1`Nx3yrRV)2)6%Q^Ofl}#2Q&a%Ng4Q=pssdX+Cn9VGswk2AbxC#zI(Pd| zMRS%Ait*x0B=#4H`Ux6k>s*p&!<2==QSAw3^dDHjV=Q>*NTA{5N#zJE>Fn<&#S~_< zV3tiPz95eRqcd{CGsN@QD}|TOV2pmQ%oTQhZ{Yn(#x;ir-;9!dlbBDL%4Ff?N6+gEONtTf^!BDawmQ0U93t4PFm)2D1h)2>Wbfl zCEp{6KA4JIMbG$6NOeFaQIme`2vg(=Oe^fgsxM;Q9yonu8-q4oL|N7NyEn?LKGTQe zgX8zQJsC)XqM7le3E(a#FC4Ky^KhljkGxAR=MmYtuV=4qnf$U%AqN{3i#j)t?Ug~~ zO8iWyL}AG=+)tbN)}GA3S=27+1d4{>2cz4b&K66iSKkEP$!0K%Kg^zC)M`=N?}x&* zeepjm`RaU3Y0^_(hta2d>Q)3v~#J| zB8YI8&ita;8#<&th7nD0%BW#G_41*-y)+Ja7j{&1%*J-9hu>Sc^I4%qYC8e8ULwHb zO|6}VJ0}ZQW>?dK!P*2NvHrc<{uQmjlKgVgudaFhxPZD7?lW&b0l}V7u2;PdkjG|k z{_a$M$=16-XGne_w|ik{KYR!w?{R4AY?g5HTaz$*wB_Vm)Ju#awVd$<0|+OJxYA7E zHPKukGF+y{!pt*y9+W#?gY|Wqg{^9uF|176N)wdV?Sk8YpWZ1W=DB&AVT0sl3J09z z`MkNzM1Z~Y6AK;;(myzJ)kgc0DC0+-w@!zRcac>-neKh?+V|Pi!p27qSP0@+vU0}*59SbS5=?iPMEn-gr)bJ(!~-ygXW zgq!zuF*4Z98|hli%+v#d`Ye~@<$JM#8kyE`*X3}60aIr^t9`QhZ@$Wr~MIYLkK zQGnoCP$|Ycu^K*%iD$T1Zsyi=j<;`az$=0v=2%sw_UnN3uSa|Z#$MPWU-12Jq`M$> zOU~~gtG{*^;Q%oVgRVfpp3d61!9_Bel6)bWj;RFW`sQ|7DiF)_$o1wgN3A2>GwoEExm?* z$nF%7H$rXS9vUjwTK}>t)M;qLYRBNfvXguA=Pw6(&8S=sA$5N7SiC~(Up?0NrGQG{ znj82oazB=b4#M@&sHgKjIG`SE-9^HyXQL0Fwd?oLGtjkd$k4MAn;YS@w>_I@;?wP{ zD__(t?S`#ba5i)9RtUQZSH76=+`10r^`iw}?~bjvpk>@roagDRgYDqk&c-d!)9nLi z(YN8adE=OeR-xV^okLYSDmA?fXh37F3fB?^zO9n)dc_Zl3RtO1p$@s|!q_sR4r%|8 zAG5|*Jh*D44^dRbCrc!6`57{``%{$?sqO{sfdIIzQ&@rd z*x6z2TVzaebIq^HmlHm)L5n^|Px*e1eI5s+d5n>Rvm&Ua3)Wla>28oJ==ns+wldVQ)JLjCR(#$6@AR3_P zG%p$j}U7ainBBg#n1e;A!X2;)D&5A?qf-JeC1|1iJ!h<}2O(JLPRE|YkD z&j^sQH#T&(w6_zsx3MubcD8r?Uj*H1l_|Rg0mQGYB4`&lNoh*NFD0nBqGGwSHlTfE zMYO{J5$WBIdi67O^VX^>2_8s^KUfl|h>&=GrMr@djdDWpoC3r)9wUv+_fwP8mtQZB zSKNNGn{>P5JT@w@n$7iom25ORnSekKM|%KPxzz!e9qO+}KP_Mvm}$S@CE;oaqTTg@ z1h+njNx1aO_Rf0r2Dcd@zHJP}W=q3``{Ikro{byk*4hrDL%XW8F%G_b0 zv6dgg*P~L{&+kGJFaE(->#$!7&`aFtj<#sOU_|95zDUm8+P96j;xa*?2mzN2v{5`- zlj$I3%i>CoTkx8w4#+n+{Fzpf=VRw0$kpjQm%7Oox%SW~W~Sr5gCz2nd`Z4#L<3uU zw>>{_SQJ`jxm>*=MU!x{hA1H;DY!KTI|8*=Df(PyMIt>}gcZ@H5_NsodGk!y$HwLx zMaK8!xaP3WVv)+ckKcJBDgf1FvZIlj>)Ow0uuaJR*fGw4DAzO-UOO@ioD$1{u8$c* z9;9KN5(g^4M6hSo>qU_Gt;X#KgF$_INoVt!q)*o)g5d?Oia`wZ6&+J?!Wo@FmX<8! zU*mG36bY}4uXPgha13l~@!u@Vv2nKEg4f1YZ89wKA${CggdGW77)If_(l>raKP>0G z@Q#pnpMDo^z64FGPa;jw5%)5n%6pG|fNjX#ZYMs6qV8aN#{6k)i__8@B6Zq{yJng$ z(Oc|e;q(1h9gVOq$cW;v=W5meykubq%gw6u_4QT2ii5S=bSE?O z(f6zO)LNi(johH%33R!=h+yfq3fZ{6W1o-PK;;ppT20iv!WppSYnlh^;emE*xyUo@ZsV2N4 znsm{IE5j6gq!Soy$w>SCRVY|KZ|YvElNOs{T;Q04o+CUQ|YO*$=Swro&TN( zPqet03U2U8qjb%r0fnmfAfmrhKaUnbwnn!CdaqnkVXF6Ko?e1KtV6~%+`D9CKy~QP zwM)P4tWi~JG5rd8Y@!0;Ri=6-vpljkDCc1=(O9Le_$%aHDgHgo`&N7K9IKgAZ&1uU zDD1w_k!9yIhb0Zs)~L8fh8rM7->MMQV|S_@6hCoh??+bv{bn9tc#3()W>F0wRx{m0 zi5fST!68fIS%Wq7Yvqt`nHAr|@sQw|GMlx>Vg{{I51PZ2J0gz4Q~DHtgCcKAJtu73 z3S5iL;Tbqopp0c%a~rzDYvdT>;UlSV&9%?V7zidYM#nfyFR4W4$Xyf?k5dW8|7UZ( zmPzK9`J0Ni;QwoLg@pQ_yX*fy7n%Rd#q1<)c@#m^(QjcGYSUm4^c#2Tb#zmIEr$L- z1V&0qT}5C%|AVZz0IH)|-iMJuaCZ&v?(XjH4#C~^V8PuE?h@QJK!UqF!JPoXg9Z3b z$i3hHeeZ9pPSw^k-959rb7pF0x}RSEsd)75r+mW~ic7N$FOtErWTwYGY}Q;{8|!zr zR-9}Z8P|E6Jg&dS{a$Y`;R9KT5X@j&+3K9ALLj1W$McK7=)eO!8P*z^hnQ2?C9?A@ zsh9YVy=dKfr`<&tP{2KthHrm`t~u*Q!enP&t%*~&mj(y=Mn-8`J&BP>G>q1%ADIE1 zvq-v1{U(_;(UXMiKOqv?x5ox*QZ@-Ldyo|zo((i10efm>M~a%i#hNM3jUM|Sj$u5v zB@v3vrSh#=rZWQO^^c`w?-i$8+&!`ar+({vY+DnPl~QfUZIhw-2#%>z+_R{4Wz?bop#w)dNx9^ZmQ}gvuW4}I?RFH6j?KqA5pbj4*yjiU(eTH z9L~l5^gAuwYFgF9yGo(ISlsD@Tr-2vNWdvvsRdpH{cnwr+js@?-4o+R=_07iAfPJh|K1d2rCi>-Wf|~N@7OKWZO0x zey~t)pVg~_EJjKQC<$+TkK^YZN=Siw5gB|hulLns+m+BSuA3%AC?4M4FI6`a?}@M1 z5n6?p-2(*y+j(U9Sadha`I{5w++OZB-u?lK9!nFtV4YA0DPLTP=(Es{rII)tSL_Sc z)qxe;e0s7}{KDQ|9|G#bxBq`1{%;rlPdLs0ow@%rplZW=CGTSfymIa< z&3$bOZCPUy9bmVYDfj>vqqFMPR1BV_YR5%y{ip`fo>5$~VEz# z6*@&B!>+FV>44MyXTaA@t~>!jhx3PIb{Ylnr>d#sbDwV4$-CUUC&1+0-HKM8ADpm& zA)`3d&!n9YRX^#dFC}eKQC+Hj%fSn6S_4w_)cyXnzjTyCpUe*eFp<;i=Yq@cKSw>& z5;bj^aT^C=zPEVUrA5-w79t<$`^azFW8zl`c2&mjDLFvJkRI;KaF0Qhx@h*1pYgWL zVvkLgAn~UP=1{R?3n*PVY7kE!51T&Cfv4a91rSKPnt6QPs9f|s9Q#(;cfW$ggyC7s0eqDkR1RrqT5H0C$ZPxojseHc*+|&VAGCs z^QhC4#i}AR@z(&cq^owUg%PuRRb}C_*=IS3jD^cT?Y_?+kK@r$e7n5q=KC$OqrQV5 zA=&=r<}*$UAB&Vt3YsoGQC!<^7Sptp)qTPnUI@dT4M7w*Z(qnq zJZFj$HnMgv(>`kw#_Wbg;;W%0nsnPNW>JkCIQiIZ!IeC~81d{nWRIc1DoH7(wuE*5 z9R97G5QkON`AxD{1ry;*VSqrcN%9kE3#CMpsZutn{YHdIo~7_WqfAkTaLP(WL)~?M z(fn|UM0o_ot|d~;=oA4}SAg*lQt;sJ6x-w+T@Q&P8|9TfL@Ey&BJ$%CIrO4F7W~|` z_-A&Sgf$#MQ4-vnG{AmIvsyucFdZgIOR-X zeNW@@`5u?e$cJey2M|sattEM5HBB5%ah`TMsX;SSlF?Iw7#ph?Usl#WkmC*a`My2O zXbT8eL1_r0x+qvr)+yT7y5~4Qc#)22%?aBCY_;MAgm1D5e7d>Mb#iNs60*7{dtonM zW060$>sf3LDa~Ki`|`1 zX&xV3N#%aWtd+_t;S=VK`d+}tZJKGsJJQ~-aJaiPiEn#5Cv8AOi<{ z=`%L8VK8DcqT52y7bd3Dg80>nicYNc0TSF>hk3506ph~#lQ^Ljb|~{c|5B3FCqik2 zr=|1~Rw%U>b6(#Rh#g@&s75-U$4U`~?{_nHg3pP-72S0ZP0c*icPyM{=*5V!%!JwH z;U6wO0pk(rSoZUK7thH(ea^i=su^${Fmh%$*(qB3y`yqaNPN67x;{n*X9!*RCIuHf zVt^~G*H;vmm)9lOw_aR1F&CqZkdVG*8r@s;(QML~T#)|$BaQvqajefx7PMP86`~TS zJgsBwooa4JVqL#^7=xArmYxLZbn*MnzN-;dwle)n7%Ztp3%%XQvN=znh(ybkPz2+ACVCD({ zk~8L)-ts2QlGWE(f6v9=1i!c}Zndt4#O<0gQW3w5k5pABrNufQm@N+2u{=2Ko5>iYr%cRC7#;oICy9yH6A&KXQo zW^%^+>6l8zgWy35(ah1*x(q!qgwpPJ1ps4T8YQ2XzK2!)`g=RlZKxHL?(qw!tR}fZ zPb{?Y><8}T-CAkm8NlNF^viRhT=wO`)bGauOe#PDreekd`L7~1Hc4Jo zzoB=Y%iCa(8jUj_;YQ_O_x-w~3@9#qfqctpDR=19#&-Qk-QZ)z0Y=(c$g$NK zPs+0Gr_^_P+qHe8841SJvW2z2P$65{X%(Dm_n zzrUcqkFY}ih2K0P+=2~Y(}C6w8_9#2>4eoHm4rr4=nD}yNw@3D(B2gF+mt1AEDH1N z3;!Ou`PBYHQFdLSyo~5kS3LGCW>`cNzs!I8Xj|P5TCGZon@c=iG7-%)*ACpv zAs0ra4KW*+_8A{Qnf`+M4db9&CwA%B^^Sm-qs^th88nIy5z9+oYI9mr>$ZQ<3l>he zQZv)Cq^VHA%8LW@@2;G+FHXA)Yi&v2clD!Ic^n7dOX{#P?fVAxM*lj3ngpu#5QhEW zvqsexkHa8&&`PfWmf7GdG82zKzAbI;uSbiAKpfRk+-YA1gofR>bi5E&;Zd;p z!H_?tuNMdIjgCrujH6=P%r@`fBs(Mhbb03S5t!e9w>iFEHZE)}UMaaap<#BxmwZL#=|&>`zx=%^RlFLGfA zepDZ|e_LKTx&2sXN%dlm6J>e%&V854KLqJ>3GI)DJ8GVh!nm%=7&wxw+$pJqWg+QZ zaE*9ciT7D`yu2{(1Y^P)(jgyEYU55n5oV<38Rl|Kkij&~w|+joAsbQp!D2LDfyaik zoYds@7|el|Np+ocpsuPkz5Jez?FHT@?F(I$5x-Q6>p~cw{pV!E$0-L1XXgu6l|p_+lG{?n;gyWO*# z3acG5nWfg5+*5+gwRVByJPn=3Xh~x|1I2y ztnpiVAlY<#h&Q))jy9mM2wrI6f(?k~U(bJtl^tVLe`@PsO`>+YE_x8mX5?hI$p9Suyk_WjYI~R? zJ9Ep=NF$AGUai`#>T#{Ec9oNqmw|DP3842~&~0Ibiq3Qi_yjiuO{|f>+S3xe7e|G8 zBDf*GQ0ik(FR+-jsAvxEC?JpgZVUaBrf9O;9w6^_z9)7Xt^{dGszLn zFUH=66Iw*EzN8R9$=N5Mk;$|~dI3B4kqrL^k?UA>mZDgdhB^&C zPK)8by+UDa?F7#XLXCU19q=3xL(z^LpX;6@YB(=TcIP6uSA!j~*jUKy*U?)4A#2KU z*(H6!!Mfc~LA4EcbqE@dE#G-xRxH5Kn!JQYiGg*>vWm3eSi+h;z5gt76k?qN-@Q>v z$ECI?67vACHKZPCm}Xa2PE~O6I)^@ih{!4q9-O&9D;zRwAcLq80Pvue6gFq@jEx%4 zTUDP*t;GD!a}xD&re$SdPBb|vfPlkENDGn2#`6(MmBjrf`q2wzqX{N0WNZ{qg>cn|A0i z!`b+^N-z89!dTk93P5Lpi=s*QOPbC1!TMl6kI$}g3$c)qh%GBU!}o*g8#6>opJ1pN}lg;6Z{ zKn3BwUZ6yC^vcb#as}~Vao#c6vRq6O8BgHetq;pPv_3(e$)4!H_d_K7xol_8wuE8Ho0`+3vQc|$%E$eqS#rtFBV**7Z>?(_if8770^0cWYz2nAN9gw&BY3#{T8 z>7>vsA2*T#0|v0xhZ+#sBK*6l!D>ZP{MaRJJIg)B>j$y&%cRJ=5I@Sj!Z3_H$q#`f z2-oYusKtGKMn!I+=Re)W4Mn7EtO#fHl+9WTBpk`G4E7D16gLCPYw5Vf=JJ4n9hXpR zea~j9j5d-(kpxBerdIo#5trC)T+MOI~}Rq zXZk<<`^^BAp+0e;G_0cb^LWYH$O&kuCGV<#kdJ;~v2U7J^s(uYxwwF*&oPdEZZB~uW9ed;?jd4eF;-gSrU0kJ*Tl*Vut z3iKWBZUV}F=j>$I`s0a+8%ng&h#gol4YBxoXPc>`1L4HyhtdXX)E3r zFS!eL5nafh4(8&4&j{BhQQl5*d^!i;ZX}^^lwa9Ddi{h^iD;8*Bkm#NW^%s`*FoKB zlvr~II4`M6Ze{IxlK|O$$HgWty1J^bT-;NE2&sqn*vYVE(O;+~hgg{va0=rz#mBn3Ueu0YuQykn6F)cN6^!ne8gxGVp_qdTcK zT9ES)%Z!JxX%Utv5PthxV+AsazDOrGR@EgLkb+T@&=8nH)Q?8IT^Chb=_QY=^)kjG zQ9>i3?5?I?N1}1vL=rqR`NM$^S8gyYWjoRR#-6o!%*{JaI&V{0!dqJ&Z+IqKo|vWK zSVTOIz$Wf0hB290bLc?fa%RrhAJJ3xq`Y*|sJIl^qV2hYCz$2F@x9=dil*plJp&KV zLZ{DwYIo$`iFL4nFGHG=ljJnD{e?E<7q5ILjR`*i0m4%t&VsR*M zQ1*Nf{v!1}ox8yW$zg+G=c@SA_k41F<9x$&^J(|o2mo0}C^WwtKn`^btcQYRB^t_) zdFK8gE!&%b0NckZ=>$-ggiwNU`AlRT!)c7Li-t62g#jVuq~2SP5*L0^9JB958(Jpj zB{|rrJiv<{Oeyvr8>=CBk6d1w+1&1%Fbq{cH_fhLx@j7AL)tq%QITGmurQhhyE(hD z-7@~LW}1ar!tc|&f@4=Zky~?yVHVd(I%Hf2=?L5Nu^W=6pZ0scn(a6}>xIbemaFgMMT1qo_E6gHp`5OnbnDwD8rW@Ll znKhR7o7OUB>0N;Fhu1dzj+O|?LjqC@lp`{oN4OvPtCc8&88F-ycFp>2zsovn@kvBm ziHoDTwCU9`0M`KX7Evqoo;Ve8cPz|1O(~$b=aS1{%jGm-smz(U^`TM2mteWoFn; z3C10#^+K9rtGa_^JN4R(8S*8R%E4`dlZgLtU}H$#{b3s*0mZa!0ad%z6wKzO(Q6B5 zIE0V3p?-n2@zJWAhX-v#<$`g;Y`LDg4ZWi8HUx=kxUIz5;54>Cq0zJ$#L%dnkF7Ty z-Tr81WJy=ISRuwQ(mTu`HG^+rNL;y7&0Og*BJB_XY@rjz(+3k&b|@*KG56W~I2 zXdU5pIqA_vIC-#5gifnXsB&T6eCW_55Zi0 zbv68Yus;N>0~)9wCPmWWbQ;2 zo}HF`rpZiUFg<<-)SqJ4w9;#a(eMG$ONQJ!0QIz(xA(Vej+pK7^z}8PH!YDqRgnbf z#!Ka&AXkjnFsD*jE#mp5ZR1UNx9WW^}5-gd>lN5@wh&1$s7osW-K032N zu+OebBiGVCdKN}^4_dWkEiSNgx{EV~xVwR($A>W0jc%ZJ#ZRPBtjLlBcc!xHQVkvR z0S_U|sOct+pCu448Qt_DK#?5;YiKssDjeY*>Nj{dl?ic@wI9?){b8@R(eP?aLXRk@ zm!^s31A15`xxUp@T46LOh~-eQ=M7PsuoEEF=I_e_HqZ<;dVioThAyQ!A=3csYC1x1 z!vUgNKWI4#x`Lm2t6i6Ia{4Io4(i%N0WIEtb}UhQhHb0@CYfNfbYq-8&d**j(A!qCR%Xau5=-IlA8+Oxx;gNm}2*MhjpG(@MPNFmH5aAtkQ-E&d6_D1o1jwtg+ zUNzYU4Hb^OMMg;>nbO*)cw(;1KlcUKKX>uh_2g-9VIcd1$>z0hSKj$$cVq2_*Chp* z=WdQEXId{MiKGlvmb0!1oOS)j=w?7n3>zzvrgDr3lpsRn0VJGY1oFsz9WwFdHY$|G z{bwsd%H3T!!62p4dvy|ye5Yq;?vSe+(c$~1V7|-G$a$CBjlnOjtb(;$@b`tm8uv-T zOuKZf-9P%4F#HHDF{=i+FhE&3X$M=KYj6%P(}RaDb4=-bJqK=lO>g{J9)kcl&&tyR zB=P`NcBPT~#29$Ad8{#3)d?1c9L`y^sJX7POmxk>6($n{@m5hEQlhA#W@Y{vv%#2z zoY@<-(gorlEbMgi?Y^%bS4T)jadCn62SM7;t1O))L3zt4d$lnWJJw#dk?&gr;NqAAryaJO#!)v zTIxxZ1}RO7mjLSTLTf=ub=jnj<;_()>W45Ao6WOG_?D{+~k#|Ti?@XhkB-f~R zbug#4y)hY<%Xa*iWfRIs$$5nVH>_VbBzzX^Fz`I04;rFO3Qhn~QK&JKQfq-}tUk!a zF@hm1wQMqNv<14Y!F%vYOh;Exu6{kC0>;HK5+7Mf)PKJ-qa9=+G0|Z3VCaj~8=JPj zj}V-;vNS2|uV)kjo6_vA4xidyT_ol^IZS&I`@tL2xJi9^2KhRv4WV zmA6fS6|66Niq`;$EmfDr9|f(gLZX0|uHYw3>D9CWkwz2t%^^pLUgHCGZmIw$W}@Uv zTTseZ4$P%XICO;p$4^C!6<(ONBlkH`OZ6Iq__Q1S=Ng@#gg)PswN%_E<2>ucY+x0A z-KwSSaFUi_^N?$MGUy*``eu91BZDlX%`Z2RA$f{*kSzu%T|$GkJxp|*%O1&B;y=|q zuE_Q&V8gH=qqkU3nsDRJZ3-u+zdqEM|2Sx0=FCfGx>&v%eeKD|nntn5JMcL{C8gt- zK+O7k{s8=ytbZkLbfoCWSR#ed$FnH%ew{<=p;kj3Hhoi391)jK99>){PyOByt*+j# zq(n;EH6W(xaW_s_L`@)OW2GbNhcv44K@Y}hYKd8xQkFTg0jUSlr`f{Q zMWXK#o)7V7XhRs8S@--6?HYZi0gX0>MI@F&dfL=gj~?vmNz!;}p}MbCzt(-keo-P> zl{alU+)PQcZDy4!$5YJiJR}^QL@O9n^?Yw=J)BVkC_cZ6O<_xo*FBzrhds?_=)ojF zMljJ#E|QL(7G?-rn+&#`ub^97!*g+QoFfY1z_tpYtdDWUEt^1mjJYtLmA5XW_Qd1u z(h!J!G1h9MBM@}SFDar~o!wZ(b@*v6xjfz`9wv*eNEX-96!!f~;bb&p?mWHPJIPPB zY3Sck0c`e;LpI$dT-S(3U=sRu1T;I6?mmWHr*a=6^?+wclcJ{-m-omqeSG6V@9!EJ zT(HLKlB<89<->kiUW)pWX%Ud(M)V86R+v}nR|hOc?oh|KcTtlj7V9wP=P<>U7w$$9 z&Yt-W1f$%tgZW5&Sa1?_4<+FAmS3WXp(^V!Yyou;9LwK^gds`ez%^>nLhGgca-D9# zl*mn(h77&Tg{B6}LTpo-@=71uTvxwy2hElWTX@94>S4VJ`dRUu$mRX$3enC_RMN#*ID#S5Y+(*!QQQ1E!sj)C$Z#h(=$-7G1Nt7F zr0TQ4Iv@(BNMAtkPC;m&)&8*D25-|$y+leK*crjd-t`U`5^r73WbZ*iG1AYDy6SKj zNL%vSR-3XLNBTr@JyP%2G5dIgFcOcE2p<3}J<~jW9j}s__(qWM{?#ZZx;Ad2ZVBho zVX9Vr#TN&JgH7>x%wnW&=IWd>SA z70p?6bnmai#!zK-DGf@=>q9rOGHyuqh8oxuGTopLaxI?N2-4Jo^K0D?KX=_1{?5sZ+Y3fdF5de`-fwf`0iQWdv`5mNkU%Q=uB&l)|Xvo3?8Fn$V>zHB{#Ek*>m(QB*(|lxv`A*pl8JH_9ViFZD@8mS zgO1q5!tp0MzUvBhE4NUA*nCC2=OZ5i9K2=ZIhEGYBJ;-mDU4{^Q(Qi=9xKQx>w?YutkKx}(`4I&kgZ74j zvf1YSZ2*2LxISRre%TP=E;?qk8v7UvMIy>rS{H_#fxQHiX^WGm={w~Yk}uXh@WI&X zotqaKxH$V0WAevGF-(HoyJS<`k6W)>S-W?3Ne#xjmf4fJ*H6C#z6u=vX7rskdVSfZ z0{e1d@y>vIBSsRTa#$Rt*BO%xPtgh|l^v^xjk|nX2XP7@alvnx&_{z9PRbpN&5=GU zSVKa0m<>&G$c9I`$6wx)be$4r&2z|sv1e!Nq>jOnt)UXNWzvSnZ%u8Ro_JkFFga2^ zY3n63Fb1dVVmde))#PO0DoU-L;UbGZm~yf_m^ePYHGQ8l?BfroE>i~L-z_YsaUEp8 zDits>?@R(%C{3@SdD<<32KM=Jpu~hfC=n(mR3`GVw!TOs6Xo2q3{-VD0lqu}G6njG z_yl(vf%M|u^2|#z9I3{TcE{I`!~H`@u1lY=S#jHiPaue^sA(t3p8Jk7`BQKw=;@QV zc`Nd*^DOi>0-y@w6ivB*?%@dQjW!Gzw=*-!k{tlN42RotsxpW<o%~C3|pNuX-aM61$~G)mv%2TDT%VW1EB}2RDsD(DrnSoi)zqHxt#;u{SUIO%d_+SbCKbAcLN7d{ZtdGlGzOK zd~}akb4#$PU-@ExUqY^;Byxe5xG%>MQ8QC><-^*};BOH&og+BWd20oJABl(JmfaxS zQrH`U>H_u z{t6q+@$YS~29Ly4f5Yik_#(wiF90aJTiZWwiZ1I49JY+|@Yx)mp4N2YrQO6Dt=YCs zrnN`%-RHOtPc6_?9kgZed>4&Jsf2V|(25^bDJ0NIs_4C37B?{A0{rQ1Hi)|f@BTYuDcyqW0#4Na><}BEHOOec6Pd{;)r~?Sf?rmJ zw~7X5$C*caSI~S$(f&=eL5>Sw_^HLQndvEWM(KIJwwcU$O#Y;at$9wUe78x!(+q=x z6oHcM&O7(3>rVmC*Oxn>5%}p)t02Z!3Na>5N)gFQcG^T;Fscwg&dshw=iU%*Cw-O{ z0Hd=a@TtI*oj7CDNU$G;Dezl*u(OaXGYP&yPcgPy0C~bqPaw^J0-e`HyoXa?31fMr`+%WbH6ObLVBl_YVma4+0#iaJqqyG1lN zB)$oC#>@ac@dA2>zsGP>X{bbL8Y8-YN*U$jJ$wCA;bU9RS(C(QnWn0nc^cXp&Qf7Z z3I6U`V!B8vMYDO5txR$X%tVWqUDU583!i2k7T%0mXzLQT#@VbNxgc8Aw7OMfK;l86 zIdlhekLkq4y9^>qPngn_2}Iuns@Yx&$f2#{>Bt+DzRAq+UR}Q7Eu;+Rt0L+`{2eb| z9$IR~B3NCT$aI!moV_&0Lr<*rU!jU^p`2UOUCh+=c6(j?M8pZd5uQ1Cw#IlrNbt>S zO1P;zh4{%Uy6)ONMYuIMX>I}Wc2%S015+zxveW0( zJUCeq4C2YU5gzyhDuhTAje@{Pgm!Vn(|H0|=4)^vc4pN=eDu>1EbgRkPu(~h7%D|( z6Ct59;y<~CnyRH-$Dtf{D$NRP=~Fbq9bhCB1Q10>s#jFBmq%{9O_)jNfM{2TSRLc` zo{B!MMnw`CJYozFtW$ey%;#%Lpih>6?oFnxs8<>=;`0gb& z@P&J5y4^$y=aG}X$Y#Z!mXNo0O8^tJM-4?>aSubxcB)O$khG7EiS3lgZ-i>j3-&AY z^LTcctbm4fF?ysV6j0qS3NS_ejaE>q%=|TY`(h9|sOdls6L^^#ReOmjb}2BY6r&i0 zvyNF1E4JvDw>6Gxw%j^+EuOyy3NEc1Um1sWSs1P?CADN3UHs6&H-^CC+scXhW$QAz zR7T5NPNB_Xz2tPOWBO=^6WKXwaR^b6v9>1I*(5yY2g#hXd8%%GH^B8NpOV$xm7b){ zLb=LauAc(DZ(zuo&`w`mqfrgsb6*@FtQ4i@Hh4rbhaD&0JM(ioa@Rm5Y`wiGwS)?Y zzlf<*z+%fI6E7f~+vF7YplnL#$AlwT|VE!tRsuC&o%AC-}hgL#S2@?)M#8O}C z{Md(mx^pJO)@h~@aG~-A-@&d-1uRQBQnjHrxT>-gfWGpJedQKICDnp`wsYY@ z*J^-GTxMnvoIk5R+8=o!(W|-GxQ*e}bM~Y=xNE*WEg$Lq3MrhwUfnSj#%s(3Tv)IJ zYk0HwkJtVd3P1|N5>sK50xUKBvJ1N2cYg3G1~0i$2V?vZW5lI;fAF9zY9M=SoiFTu z-)w7`#Hp2919_7Fp|Wr}yjM#Hb{$>9>ku-v)wL?|#fwMm+J!Ri7x|BdgPw}#9^bfQ zOl|P3TX8?_O$zE(Q&DlaI0?0Tq1bZ=BXtIfZHWtnp#bdMw)x|B(0rVsh6wT>w<&am zR9evq@cixEr`N>z-TNO1s!@eKO**3vXJjr$W=smlTqQ}8PFy6{&BO5p*fk?*$?jlA zxMk@WF4iQwf-me-=#FkdX$XVOUJGD|pirUwn?7%Glffyw?hsQC7-o|rvsxGPY!@}9 zOh0>Z(FyTSnwIazWRiR+)6IGQ3`#JV8z_i)P3?IkC8{xcAwd1`=BB0%@hb%f8VoGq ze|gG*$iKmj04wXho~~Rg^Om^h*|4rKPdyX zZ5L*3F!gM0z3;z~YL_sO_ET%tH=8!MEb7`Xtm-}md|%}feQoz_w3A+(I;SHZ7hrQe z7|&pPeVC%3BJ@3l1v`YRg_o-{=t081s$2iW=M1#_3D9(khezVs`KE|@H+l{@BPs-?Zpgio%YiVUwa(hbn&d|&)21TM@# zzrlbret3Y4kw0pv*loDp9CKXA<;eN_tYt|Pz7eo8Px+!as*jQXlVcmm4}-z~H7&|g zoj~QX3PAAK5_PzD=Z(3kav2_?;aFWpO zL9_LA_}@?VW|Jkq>t^Zl4#h4)t!mE4;-6{HtOC|al{r0{x|=Hty1Hr_P1a)O^SqXX z=dLhwcBfh@sznCkhgPiZ?2R@ye4NKv!G}c2Y>Khq_kdb%u**Npy7;YCzD4|C2!Ryv zDP&tlpRouuEif*oOJ_D060nl{6k9B8@B!mC+!XR9C@3HBVbM(74M2;EP;G|uEEd)+ zI1C^mYo7UPcz&$(_=Q{5GM4>h#Jo<)vWn{VxV$Pdj6@)_@c8jcn0YlT0=H}JL*`EY zSHl3VVjDJem-lm4_7We`j;`;h%v4@S;}+8va{~lY3Z3ORiEbM-O7=kv`o{cMJl=orI0>@MC_>D%EGc;-ETW#o=*=-gu2h zNR+&%@&BNRDY=%4K;b5^>d>K%fD}=Cfm7fT#JB2!Y0yx6o&xBq&a@+2XCrv&2|c%)0?vjcTRO^Cno~{ z<8(zjY;%T)V*2|;9yg?UaO0}ubEoUl_{3Pj&U!E`7U1M<=Mluo1Z0MfSdsZu->JDW zJM=2{fX-y8T0vPm^u=g*9wKwYg1l^Y-=SnC>{c1N|W$j#@CQoEXqQE9AVP}cAFKSZW;W=M*mA=`^s`^XDsU(mm= zqI2n8&+%}d|B-Sj31s`_3>)88o;+yj!dycosbyUdfm(}zH( z&om@5VZ&;8IyKfZb%hm^qbWaiId7{lk`z&>CkrniipzR?53bHFL23>iFCeTnVjEEv z6q3+-2@g(vUlL}tz4UIZpTA(6Yno$?E^Bl2z_XzpW6AoS-Jw(p9pzKlW|2k@F~@HS z+OHvBZSL_m7A`!0hm7!SyW89Ys9s98H;qkyOZ5Sq)%$#1ZdnMHj*i?jQM|OadS8=^ zprTHE8Zr31Gops)#JlTQ&^b)7krb#!Q#GjdX7)ys-_N-5|zfhW!NG02S#w=MJKnt`gREJ)1 z-BFdIxh?)|A0t3VeF8?3FqLaY2U6?YuD9Aio2LTa zg8XNl{as>#^Rn7f)1oIOTH;#iSSVr?vw2)&+R@$WX|iIBQn8K~E{QL(R*v)&H5%w> z&WeVO653yJlhoxGS7Y~10Nes{8T&=aaVT}k!yZLrW-?#BI~wmdepuP;%gK*O>#DI= zQ2ik5F;}G$p&=Y&?C1q$pqyUPv4}0OG*OE&57$^-wv2UBDAJcMmJK+kw0l=bWcaI1X6u$3%J8KiL;WH7V z`LH1v+Nlu_BJOd)X&JCPU1$+=a+1yvL}>2kK>#jETH`=*{2C>z(>kM@u^~t$b6TPf zSC*bA#9JtPOo6;05U;05B@nk>jZqQ^+)+_$P|Iwgw3n~&@X7hkTs~VC^G$E}sy%lb zPAj(IJ)^Zdjs*Y;e*QUqhh`a;YWU5r9HJc`}^g)KQ zr8a+uyq&o)XB+o|DSxoCk-<5>;JM1^Vy`ee+3{|wv(i>-SAC^bktMfUhE7C9dyyWZ z>>}^z&fJTS)kbj+aW>Dkj_vtgvX|uJ+FZen4)hPo>J@-?8}@cb+$j%_L77;_yyWBd zN?BS-;cy<^1p^J%G0WD_6~S}b{@%p`X!$X(@ovU_1AVs#8W`YX$W~Bv2Mc20EG%{ZJ}VXrToCmjwt82Zl$+X5F4&E8`fQ`ywR!`A~Vf3f8up?4{< z#m7ze!jH#mrK3Bd-kooeb`L<9;u#fN7AmOc8_-LJTMbg&)X6m!>A9ITPdjHw@5nkc z1n)@RM0`g<^DNNf2Q%Q0Y2J~!i9AHbsx>84GLHaoO*3tXs`nakr;F&pJUQt1o;vL5 zXw3jpyOj=hT@fukn0XlcK>2$-QER@XQkMePqUqQlJBS2Q)^50iQM52-&pD1h#gQHh zEUI2jYmG$>t}~P?mtsAlq`iI>8xa;lSHi3{BV^d`VKD3gTRJFG@050QFWseQiNU#E zk9z=^GVP=gXp?*FlHCaRFglZKO7hlY4-9!*AVF!-EEjLtkYM;>_z{KQYdB4)LJ_+Xe4?6a7AGkCGGNBRP{L1h zpt5Du1GB}wUAVvaPQH=dJB3K5&jjN@vrGa&a_ik<>n(>h70b-|@Ox58O(U?J4Zxm- zrSXwU&0^$XjukeaQ)@(gjS5ofVshl0KlBr`7!M3nA7==7mW1+@N&dkOEySZuvVf(F z8B=Ncc8Z$=TP>$jM^d+L>c|Hs^>h-(;4^Aj?;467)!g1e-)$v=6O4W>K}S?=;K65r za3)`trRMAeR5aa)Y-&=i?Ecdc) z$}Vqwlq}4lQ>UD|4JDPMwqF;1=C3gVL@F_pTv}ca*@#ipn(E+HfWy(w75+y~trljV zW+jttO$6ym_x+13nT){wv8P(A;ok!^!fx3|Wjh&M7Pn`13cm@ZUn){@7Qie_^8kTt7-W%F_8 z&|!N+g67w608f25mn2N=2kn(Gp{!cQpzw?LzhNg|!T$tR50@*WTOfd;fi+(DSjTzCkCH%sMVw(n6uR>VOS{M(Wx%wO?Z7#KQb zIdBLJFbuH&IA_XpKuen!f&zYW$iP6XGylBifcfwcd~c@j!1Wj!LF+9mA}}znf69PO z;r%g90wh3yAb%6JtoQoC1KO}O0iAzw{!8?b=1nxYi3%H-j_{vGJ4?BkB!e2A1ls2W z<)Qq?70UKk9LSCayhDH>db9q|oR$A>NCfA9#c_ZRh!AhbT0nn92z-cRb)X6o1nHlQ zmbk=!-lMyCrr{;%mCHf??~D2fR7Qdz17agV;JsD%Qf5^h36gvOwUFT-Z36>q)c#|X z?`@+q9tl(nQ1=f&4xC1Uz$|<9a%T9~2q=vv(Hr{v56WutS6;ygmi~V~sw>-V({GS z9`2th#QyztsBJ)!JV0Eu|9tj;<`V(Y6#e6>cTOg88 zgCKYVPyT@Nes3T>It1PuD1#0HGa^ACV{%T|d*IrCO;r3T7>foKNCS~E{$rO20|bu7 zfS2LE*pW97#IuC;_983k zD&%EBeQp@^uVDMf%K-!1S$dNMkuUvyXk2WNdhF^OXn_5nPWDf}9G-uv3vK;*0F?h_ zW&)ys61u(B{7-(9f2&UJ{82^yUsV?%Dm(t`DgUmzXvzq)&E!4wS`0(MB(|TP^vZavg+Qiy1H(7 zi^LXfE6lPCx22Loi(V@9rOQK6L=pASLvC4~2nu^CD^Zk+$`ncHhL-sf2Bnq|LAXds zP-dMOXaC(6KUo zf8nO0IGTb}dLDzE9^Doo`=)RKoW{2{{C=h7rw(#6#2)$e-237K=JGolLSzkhH0l)S zR}=#n^&%K^^%xG{lOiy-7wEVF<>%kG7hyP6EheN)vNy%T=s7T;rw&d%77DDqkCZR? z*(6cBoSfQhP|{$FL4;tv0d}}A%kWs8{)QHlCiz2YsL@j({)tV5=E9MAPdlY9R(Y&UU4efX<;RcqYt&*bk zUX^cx60^wot>60Ncc8;tt+9q3S*P-i@W?DO#-JHhudNOnl?Zl=C{@cpJy@{}E6h>U zUL|QB-x;9?t#l!@1h7@ZSdEMAu!zO>;!n8IhPwGgEqJWq%wt7P@ga$0m2&t5G(-RVX5nwaN5-{4r@nd5mFN8VxKTT&8^SmAMIp0_Q7R7q7yljxf?`o8$ z@@|ks(Ab4|gB``U1YkErZZKbUG_YT(;kd(B*ChZH6aKn#xDtvC;J2xzSab)WtQ{Iwtmo z@Tpd^d(x7|-F=K&$61%IOeov&Ae59!$Qp??@RG4g;a?BFu~iG5KMQqT9A;1+_}(Z9 za5qbogCD>5&X!^(Fyr2pAE#kN<(t6c3I~P@MGbvap)|PeqAA>}w$uYBJ5kJP9U(Q6 zRc9xn_U12ZmO#x6y7QD< cET_?pHV>vio11!;`iY<1vJtXJi|L5`2b6D{VgLXD delta 49829 zcmZs?Q*1k;R!-YFS_lLv9H(MEnPQL!nY)Gy+AF zIq{0Dga~c5Sk4zZR#~bena2lz1aa!_ALQQP-4M$l0DY6sFf`zPsutk=vh{MM-}n1` zX)oduco`b&0@sXp;<5MiGU$k9fY+Z}ib(!9A=!om)p^GK%cNMv zE~QwtP!5|}|5_xjScs1gAcyhw=tQ z;{x_F&3WpsxebZ!F9P8HK#~ut`B3Qa!L9H`jDH|>dKd#m7Bmb}A4uPqUk({N`WW00 z9GG{09z9*pIRNmVY`4k+XI#a7R@agR+qK5bN-#fGbR$mB5o#d?dvOnYTv?uMsUIC# zprkI}yKV8^E!y|HV)HGpP$Vd!f^v9gXxoBj{_RPX=vi)KB)2yzpe@<6-lT!YtfzRb zb5&laW(hWH|7kMG&$VK*QcLIQ|5*uwacM9}yU0)~N(EFb7s}K$Xji1N)R?JwK^dAB z21%9Dl9$V9Q>*guAbiFYnN?)h+$r&O{ApxWZkFYt&deW2lWpLdHp`>{SB#vQlZoVw zeX{{!2PcpghlE_7XqaI642$uKjASLHTBi}Pa|O}HOaIM-97&w*MZ3B2>j+jL`QazK zQtejHg9R+!eu%nNBM5?WOJkP{_c>H+l0l3~yoihsdR=MwP)VyhNL)m~717b{02u`u z0}sy(89|?cbPfB)xzo`z(Ep*IC-<=!owsmKK6=>KPo%~AT*MdHzAq>J()==;OFq5p zi^~P&tGn~O0}o*cG)M0R^Ap_1>`z1YgXS%};|07$4#4hJ!SuoTiSDcSN5Po?lZNSo z&{KQEdFvdg3$myBf_Re+*#+5EdBgA!-EZq}L-&L95jVu|uB-=UM^D|OyVyQvyXzdl z@HiywmUN4AHc;Q^-I>1Z&fC2g9L41B#p<(8)aJ`2)sU@s7sU4HCoHV$i+|%H@I!QC zL;xTx@EHXRLqGBR0@W$5Wqpwm5O-!+DC>Jw%R;k%A3mP5!^^<6T2lEI$ZovRwNPj1 z*)86+zctB{qE@iyWMbJaV%<_5;A2{Xxut(tvf3>xHlL!=k01B=C+dk&V=7F*NqOLt zqdgh=Y@FFENJB!Yys`3GfB^xeKmh?MNW=bLa+EX=CIV1E3jJNw-oUz+z5H&ZQqpEb z?~hrKRYa=9m3}Qd?C# zJK{=`5(D6eu56VC0SlL2#(@bpP^PrU_7p&U_?#(~EIi`hAb1eD^3$3<8NjWSD3P3X z^1^|aOmpF`#97R^AklK;c6N9kjs}p@7n^CbEbrq3_E_gToOA@phEl>ue#ZW#hS(vAFi>eFA?#I9y@v(Cy z=ztMQE1+TW`y-NdBA*rmw~-&2n7#elQ)Kx3^a6l52i%ac>2Sx4hX0|cJ!(uE=MZDY zn$DduvVOKU+RV1-q-oc3B*xYY9#J ziZLdCC`D9_;X?!di6f|1`p%xr#D6NCN-`Be8Z$B^qxjA43ldS;POsHFN;sE(OU$n? zO~+U>JlHzYvu(<#e7b)HEQ**{_gxz_G=& z7AkPB{O$Zu1q4A4-q-+z8X-9eWM{(JZIVFYK;|I0Swv}SQPHM7JD`=E(dR=gC@z)g zs7I@Pf>%FBE-6=M6tRfo?7>pxJXgRxQUN;_TSnJ1(?DNx&P42ZL3j&)~0asu{g z4L7cXV+9l&h9Sb^POK7;Fe+cXI**zXT!t9&C_$5P#l(t9as7h*fX{~pXWgrEaBjkj zG!M%U1+Dq&`frdwuK1pX(LR`oQ$86*k@CoqZp;;vPQyBBCQ7hv&E{>? zXQC%w*@Yn@JefxOWH2qP7x`h;Jak!4=)LQU4At!Qi40~afHfA7wA^JL-rVYo9?VT) zq)sO8Wnnnl4`TxRg-%~IY8->TgUkXt=T=2rhj5f z-!7)3#DGTvZ;s%sW11^c8RJX*Ns5_w2FBH-PdKjZB>dM)^opR(Li>wfGG*mA&{z>K zO`B{1v00F%A|Ar_Q?Bx@TM;QcfJI+Ir&eG{o8p13ZZSi>s1MAUCsnv2NBsu=KOv)k zfi#ZvUp9;UC$|4@M(@G!1Jq%CluuoM0jbrry84VzHjD-&xlD}>a0q0enL}8}a071f z*TE+E9TJ$@f~jbd6!A5ijm2>;*R8GE+6!)%#(%Uo*oe`Dh0<8#|E1d5uG-qR)#`Tf zuhgr*TBWf|z6$K7n7#wEzc2rs`_wtlxbN(CF!a7Wu>fr>KLalv0OY}ZHpo15{-IKM zIV!#6qB%(YGY8AYV6@tcj=;%I8CC|#Wp|J}lX%elsvw+A$ID~8=i;RtJ%!g{RE$fa z$Q^~Hpg&0T7ht(NrAR#xCI0RX=({^)`1XjZ?%f+D_4ApJbDy}7_WMd9^3(jM4_nrU zeAh;idPob=YgGtN3HW}?j0T*J?oPhBqW=2ZL%o$Md>8rKL%+591DNmdQ8^-Dc86bs z*I(hknj&m(W)NjW?h^wh{l20iwD0TK-Z;Lz;eS8{Snu+j-t<9!HsgMgzkgQa1hD}} zqj9ER0s?xe_mmKRl?JY+%yPXfwwN$-f`*Fy<78b;?}j`*fK_U=E5R~*s@pZmkeCJ$ zio`Jl@zAjAF^3lenro3rPaa3k6zu4=4iz%F320Vr=_|L5Az3*i^`!Z2=$(5}MG}02%g&FLd*|LT4Yf`YLM1#Dfv6G~E zQWNDy|8flcaJN_dvuIb>n*yua2g@w7d!yWBC*)f?v}+m1e{yl0Pf5}!Jxy(t1gaWW z^pKr}?k+aBk*?3z41{cQd^l$t$k*6B9L9V(_zj@GfO(I+fxy_A-rC$7(EHxl-Z#!y z=q~hZv6>Y1r)idRZ3D5*D6B>e4vH*nC6Z(x7Fo# zsEq4G(Z=^B0~+P?E9h*GD0}Tlgg(vw#b&#|{hJxGN>dveG>0y6aD*-ozAydFq_txd zS5N*q0QvFG=JP)YB`_%L!frc~vDVmjS{&Ydr$bR&yVj?y%B8sh>R3?VWmuC457ktd zY}@1u85KedMfqzi0|rl#doVS!>TnYk^F8I9I!v#6@`ul}Smo!5qX zfTrhX=E6z{J#v;%``$HkOay6($*n)HpJL1~s^B!8R#N4|u1BvYIl^)~hF6%aI36)| z7g&&O1J($oIeVUluG-pJLXXw30p*&m&9>Qo!rH?|hiuGU*4fRv61$w<3#+QL-j^#s>luj?hAC^UkwJ7{CgGoekvkT1HuE053ncWe*^d+H(*t^ zi&sN>+w{@=X2dauu&;r&x;#8mpaM;34ji;o>D7f2%GTDGo$;SQ_S7i}3Ij7+%5eBD zLKz7z8v{WeRRzfLEYYW%|3sSk&;sW4Q^hJ$PZ8%uJ_0F5`G z#;IRR7*u!Zg)oti#666is8=SDrVIpKo-LV_?L(NZ&(Q3-dS$!`3gN`v+L4fgD+zAw z36qvwADFSwCgJt&uEOvFYPZHayYA%y?_|>oE|;>*Dyu(i^1-^STr86@!U{L$4`|8} zOiXla`rznx*+dg;;RP7wAu^8AfaUS;XRCyews3>E_PuM2orv8`Um07*B_nCJJ>68T z!qk~uyP}d*XvHF}+WK=E5pD&Fv{VxTcXTx}=9*$_a@{KFRc^7>3%A(RPPq_`P`VbO z8rCHm>6%p7&Ds{}lr=5mik5@gs%@|E?ZTlY;_+R>Is?$g!xaw%ISMFG;pV4357K2v%)M6# zMNr*GzVg-B@!Qa5qT}&*iA`Yb7X57Ug>n_OH^~m`j)|*&$GxX-OQ-KhxD3IKi*}Yy zVqFJr94y)N1m$P;fJEj5;FHQqN2^L(zbqMDca>EA{LW9#_pX{OAE{phhGYE7cnwMk^gCvU>x4 zAK0n#p#4U2swX(5f8*PG=JGt-xqKS{@hE3#_cj3iX1otOJ^OG3UAP+W8ZJVtMW%vb z2JI7!3&nv_g#YLWI=mLm)($Q1p#(cit6{bGgAWn=BU0rT{o3W!9Z)o;*z<&T5=U!s zF^xcCzZ$s&=#n58HF=qA77%E>qxDFdlnS91WSb4mVjxC>%N-6(+Mmt8;OwRx)XQx2 zM1$=byp%7B6{{(WjT+iIwj|o}!HALdJzKopIeKk%-QLX=$qNZVhNo&cpXiKsL3YGdVdF!S0Q zTHF{o+?Yua82Cfi3B&aXhU#Q0EcInn{u#7=Q$6quU-#D^ta}UK93-VU!vdK2& z72z#0M`XdPYR0wNV~ZgqwcDFs<~0GRI|XQHR^viJ3Qu3asmZtr$IiRyhv0%7XMuQR z$-$BXat>77Xv<99qpt|k6Sg;{uZH3Y(zYv4QZ3i`MBEUq-H0(AVR$mWDRu;H$bD@h z?tyGi(dqa1E>2QMSTtBN9_^EE+*wcSqcl%!Qn|8*yuwDvnzKe z(XkBxvLLot!wmj_y91ogLKm<*N4`6y%JjWdrATj7yZGt?YCDUVHpi_0mY$H^4i6}x zke^vQm#^a3cAvIcCk_$ig{gs%?vr&;3o3fxANI#H-S-=-uY0Whn0dr6-sOqs$^`6M z&6CNiD9&j;SccW|v|ln#MWBp&%sU4t>c+1Ulmw-9e= zKs4rL!-71Aq$QHJfLh}(vhPV%9j*xgS)vK2Z-Qic-&8mFeO%kg5kSqRfug-GMjM-^^UZh;m#a%K3+D>Gnj;Kbb^l>-Nk#IcPPQh- z7zv-qFs)r##r}y?Dc*3O^ifL;{XL2(@PRUVavhUKc+lRmsP)Db>rPnpJ#Y#r@nKbg z6fUw5h@H-z?nSjY^eWM-d!FDPdZy{AtxJ98tyRBlnQdEFKlP60bsPMCJZlEce6v2i z#fS(=Rorp_v6fntrK}f`UyU<*gyt{s(i?h*Bbzs+Fs(ic(&`bJ|8#MFr?Y~c9>XaNb)_TX4_5ce$cRE zd#Eh0tY}TjHl3JWPa-B~CAvSxAR}avZO`meoOAmT-;uR;d!lKRug@4}UG)TbbIiVe z8A!a82*!7FR}5PiRx!Q6b?WvbY7Y7heXDyuC^zq;)7)!uiEYvtxhMlfqjAb7n1zn< z-wiZ-Z&QxCavI<0trkDT9Habp-i07}W{kY6-$_n51VZFO%Ibv$33G*A0QJHSZ~nK* zCM(HpF_ZKsnX_qTT!iOpd}8&|akcc;*aHfxP&5pw6;>k20SL#V^r}I8H2&$#^HtSO z!`fmo0>Qgwdkrw~_H}?c2d2uPPU;WPuW0bVFMhheRbL5~s_Z%`F;Xe+x~j*zfrs-n zxb(+tRlIRDkQEOgl{(@nmlaN+s(K3tQSe85Yjfaa_ z{gI`uH~^|@$*+6M2)-uLA22x?Vl&Z?rRwnCaCCQ?1}`HsqZOms(Fwa=)x0^O9py8a z8~zZ!{x#|=c(**EI3q&(%<@QxeJ?E!{BKk{NH8X7LEiUM+4SJWjW&);GVdZF+Ob#6@WYh<_U&^dQ8kn zgn|+u43;4IS7j+HBkO3OJ3Zs?fmPLVYiD(BT`Pnx`XAZt4Hy(*AboB3l1*RNwoeDb zZ8h~Gx4i4lt{R390e6b{zy5Sz16-%Mk3BQ5{EvgPalJ4G1uk9<=%21WlQDh(23DU< zQ2g17{a06?(aCpDhSdEoJs(5{4@V$KJ`d!uEv&l(ayTzXEa7*~z@m4~(6r^d$XIp0 z^x#!q4}3s=d|%xmJU-xTSmnz7FmCCq6nAv_3zXppOF(50P#7w(d~dF&V$k>T=8X6Q zBCv3uMldy^U$H-`_r>-jR`UZ;yZ_=5{rbc4vl9bwI3!$N6*zy3!2PXG6;NgMONBkn zy98}{ZpFPlI@G_bjeSi%8no-a9f7p-IUAn6ud{mNVEDoREeQQ}IqXB5V?fK%_qyAC z8;ki>4=jPwveO;ZOrk*ULbTFph! z*@?Gqad8Mz!aXVQrnY)5fB>4XVJQ#Y+E>;iORO(h#3v=0Hn5~irZvV;=xh*%p-^gK z#HKeay0>FBTF#5HHw;I)t*3)^yT)OLllIxVBnpS6N~YwZ&>qy*n0R`W7<(S7eNJpK zj+RCTO_Y{wMyuhs=iLCb>sGDe?T6N}VN+vfES6QbS7vgZlXB27ftC;UOsF&Ld=i*- zM16}=c_`k4TyJ`FF**ezQf>0Fd?Dib)87;_3Z~ZQbCfQxbN#X<1&+Mf& z<$KvWn}1lu-tinBCe9y9kU5jqTD~4)aOwPsmg=XAKrsShRR^xccGysv%XEg>#B{%cv zhs8Q2wE>yT^L8z5p04R|->kxvT|@D)e=u#fRwv_7?6SJNke%_EVJA}=j2^c~`KU%g>) z+!b2Iffafl6SfiV16VWeCDbwq1H!@x+)1s>mZs+2mW-pZcyOeoTjyHNjkOp zh(nAJheHz@tXVcmO92ncI#yc-P9o)Y=)4z&pC`L(YS`3T&G~~{6|dM5jFQOGKlt|f zf3j;7?FWG099^^sZ8&P=Jo+R!>Xh-$WNc>9Ql;_GH%Clawy%TUeaahLzn7W)w3lx8 z+kjU>KzI~lpU>}Soll+DTf}Kt-tOzoJl`z=F5b_`;$T>BDp&2?F^O;~apk0oFnua^ zb0Tq?1lJ#PiI6GQBc%-TbRNM;EN1PKGv?KJsVe}hN$wP;3=ZX0`EQd4Hz*nHJ82z) zK)ry1oR+GRY|Zqa*{!=C%-C-Cr}@{{ourPuuQ!3#Vl;LRV8MB@WXO zb4fjpu+^~>sJjA*4=|57nNxNreFm$yssWZ$2;H1%K>$w*J1r#+MJQe3aHvj1PA46c zNdh(^=X&XoqyfLO^i5?jj}9>=MLq(!QsB57IX z$JI3k9*#!%q9ni$&`ANWNy-AXvao_=amBpQBIA(T_ z-LC!qn&c5F=Mfvl^?~4)F*Spmqz2i9g2tYHLy5ak0OFbKR%^REQ}}n4M;fqA zcvxAZJN|YfgV5sw(vjQpmaN>6Yi_O4pZ+wS&Bl(~l&!)oi*P-Hkl*aI;{op59N?`i zSEqn-A*TeeOySbLk`Q6zBO9)6zw5?;x-EAXD*l7azNjYl>nSrKsJf=6YoN|rdE&|3 zvd~JknEfcZh_%ca?Vkz7oUq4JI% zSK+#0R>sA1&lj`LcQl$A)i^Zqk$i60_gHGqn48h>!ND6lK3$ohl7N}ZIa1wLqs!hf zD(jkAkW?DsWl11PRu-Ymk5JYP;lZD^fwr0{`w30zkr@F4XYH@x+ql)~bq07XCZ&xp zqRwlN=u#H8ebC9)0OuxLL`vCQytu&wo^z zH^L;wN~y$V>Y8!-WFj}l=F4qgtTf|7dnKun7=>1MLOnOT;AP3o=|5%@q=WfZ62n)9 zHvcgNUnin6zLXOO*oL80SORo>FlAk|Jffj^b6L6y_lHSK-luN(Hz9bg7rDM{w#@qn znl7L5W`kMCEU`Uxj$GEHKs$2AJ=}%1`y97EaZQjBowrvy-750kd8K9AiE|yixofEi zp2wILwj8v)a;g%|j1IcnD} z`8QX<0?2XpN+oqKKAL6p2?`~Re~=@x8f=*yw+lTRxqQzo@eGy{>dqtaoY52WHLBe^o?=k z^1;q8{W{4+4jb>-C4dwV&2s8SBR?J)s-HXBI4(SW|^QURlbYVFzP~^HgJ)_hue*1o&V)1gjDcm;oJ3 zK{+IiMZ@#6y->)Uvx&yOydmA})4uTT!}g^zd)uGhCOTdSUjVJC6QPjaGVZrSn@W%3 zH%=Tvyej{?I#Lx#Q#Kdrp6J*iXVjsM(3BwbiPDy*jw+WB&XJ^CJ-(}nh_i3xId?0^ z+1fpmJv%J22utC4mdEaRv9J0v5$_-2yV}&hH($U<2*d*Mr?cLu??2tZSfl&*=x_yh z2G2;5Ae~L_U;rCaP`kcQC@C=C^fER6{>yZ(pJ;g&}N(;PX2MD%Jt%*<0zXPQJ004q8@BAw$U_{pR5m>Ct z%H#n^$kS83-ShE_Q_>#H(m0(0)p(?+eW-DDIRm)!*m=Oqx|*IYP-IhoKg|8hDt2U9)pH9~w-fGHh#*wHY za0FBzAO7Ne(XZ?aR-5ZI?_moGgk3rS3F47_r!`>P8^iJsJimcylVfs70NW)>*(8Ct zXE1M(Y$6>LvD4}LT#3z*dmBs+uF?Ch5zms4>h@m^K-lh)GSmscUgb>Q5Cv9+(Z z0LOK)A4;yW^B!OP<5!2-b=i)vuaKc`NVit)T4wsCCokEtp}t!0p8rl5`!R}VOVqBVU*7Cq3N~X^CBW##F+dY`3?G=oZVK8 zcX)p@pHg)D2ebUTPp93edi%nj<1=8dsy)qh(82YPe*_E4gpCmCZaj4zF4C8nJ@N~c*OVx3He=KKJ5ut$gTC)LCs3W$%H(Sf8e5^>(%nThuP%2cOYl}4B-dXhB?(V5*I-5l`aFS z5@hAxI|CnTR{jnF(|^L~$0OEU^O>@IHT4@NO*vD3&L>dHF-~5F>GDxQQ~sdB=KL2s zNaJ+tNHbBH&Hoajew><#rHQb*Qy2=NKoxycu$k$7?f4`y+s}iACu`D)H|{2+4NZH= zPjkjyay>+gB8YlD)gaah91n1`O5C{%RMTG=R1}OgK!VrLjA#7TchC$;Yx$8u^>1-) zbeW_x*ok~ui8bfSIup+v*}Mc#g7nxro%!ZicR(&G;gQA{&3A2$ZObk> zYcrqtZ;EkCA4d~3bk@K9bmxbitk0XC+nwE>+up9a|IDK_(8+;-rbcjZ;IIXnFd*s8 z24hf;iI*r;*XXSoi=Xtc2?mXo+5-u3e65B^+=p)96m9C?;QAZyi^(DET2_qjT3(F! zU3nm=1#%U`gojMOATPZ}p28hDFSQFk%3xZ^Kpm8*KDw|q2Ew5=b1(e~DNN}eHMsm? zc|0%0Audemein0V*L^hZF3J)+2cS0x_>@6+#2w9J{%EAh=%*Gd7j^IvMsCmh;9rtm z^CTzv;U^07VT0A5YU#0O+eI8Udx@we@9$Jgk&85mc+mOq5)N&Y2VX5R3$d8|RSHo$ z`;I12`sHwS@#%Vu2W-bisTLG5?0Xu!EHe_bW!CggjO2LP@o<9r6>Twz0f3D@k&v#T zJ!iG&;Czjk#H&^*#@b9$4|HQV=*OC;gqh1FyB|EeON{KHU2Day#F^t{gF*A4k+o*U zFz#39-uMIVGxD@l`jeX%jkqKYP>ImQ*`u(~M|1`*S^GqhU?tW$3yGI2Nw+G8b#o0d z?tsN#Slc-nVIRr}`l|kLX+XL&pLV+#LL$=0YgaZwVmMLq|yZ;04z(B+c{i3sLn=s&v@f2u_p zCo0!g|3j4zH($!f3Po6Qmr>1=q@vY4C@`!7{^7+i7%3RhY*zN2{0uLLnu^u)QUd5R zK}z~aflNlwPN@H8qkwULk^-4wW;#{H5LKF$$O5=Y)#M@}QF66%su2`)@^)=e>ePpW zlB1Srdh~5h(*0CxhS*4)f_w1n6i2z?C=baIPjrEQh!M4s^82Pj)dwJcWQXYJbq8$d z0weMemQGvA_nnb>2j(<>vHD|gC6W63t2BN=94cRGaD9VWG=Nsau1GAmvA3Q`0VwCk zP&ol~0GeIRur~9K+CAl$=CJ;qx|mV;mC`*2BkJjHdG1>se4ui8DHw@pGHszw0;&2E zr8-)}0Vw3O*k%6`YkP5 z4?XQZH4<#E3(_<=F&ot)TUk-~^%TsyDy1$wyV0 z9L3I+vgnM82xf27W2Y*5kUBCJ8OZfWv75$}+{Z4g0jOG;!D^jBa9maPP-cB7rsgm) zvMppYCGKR4jMWK=ezqScl9420kxqrbF)%A@K7lWUFE4ir!l-NAb>p}8X^gT9Ru9>+ z0DG#G&|MPbO`GktV-uaeHjR;?r?fx~8>1E;;rOZkyG_ZzU(F=XJ&_cuzjIub*otonPWVlnBanO+C7Bs0&AS+Uhbg$rJ zJu&H{ZAJ6VrlPKPa*W2B_0JyEIZXYQIMqF$+WHgG6Ff;7HUJeA7 zZB{{5x|eZ-5t;>4Mij?=MmJ;S6=4P}X&`kaFwy_%f-EOSkYVLYl?d&;Dynez0{(+h zG-x9oCPWjGOt&sA(z~i>ziBIqztF<9yKAJ+u<+9ID0+E0d`Sd;ohrIFwF?&Y<_#X7 z@LvrGRJ$O8XfSI7dgZCFmN^Wi6!H zEo*kv5p01=P87mU90R64Q@?UB#;SUM$|@p`k}Ze0Ey|fZr5Ljm)>a8p$7l>m*sP!o z)M>vOp&gdem8j~DE?HK041;G|0sK-Ea1_rR2%;X7K1kY6_?KQL9~sqhi7a}=7Ax*t zXFA`LrGthnFAQk9aI(o(7#80+F*I_Sdw^n{7FZ{<2W74#>EagBgxGk4?A% z{HAb$3)EpuqB4(WgGO9%L+XL5xJTOq2RqA$!P)6i|7PTmIinPbTnCEUEO*d60HxAA zuOAD#hEo{foY4u)nPY@Ntn^ffhvSj##q2Or_r2CGS|FOwcVfu>XCS&e+HULPNO?_2 z%dEEw6;;c2ymvMNx5Fu7x!8zH-w&P?=26!ZTen@7kt?$Eu0c6{EArl)$#jug=6c|I z_yEqmw+j{A7K`m}iif?`S3}nZV4c15Vie(0UP3W*&i96gBagm3DSYZ{ts5}RxMrr+=-Vq)88m~$` z*goK$NwHy0Syg<_D_xokzz`#;LSGbBa5DE25xFugFn8kMeQ`<^-*1G^O427$*72kl zMLootGV7g^o_LCat>wWm$qh-vyqnqT;$||pF{3^;Y0PasmMoge;W ziY3;SI>l77Pxp_~-dX@eX(LJQ9AH@0k&9?wPiEYB625lU5@n(NY)R}K8;>WdkW{}; zNqJ?tVu8o<1S)NuJ_>#CR_vPYA6EDC??_eo_wd>Zi0vz`6k>!v6J2{2_8rKG4`yNm&sdczGIiGd7LGpH`zu$1pddqUFHZUdqV>O6`}ku`_`1e0t^cJ-(^73 z77k<5FgqR~dAUX4bcU?S7g|%o;V+n`Fh(HJW_>6U(O)4VLrg=7P!kj8q!}{08{1(k zWJOxFB{l6Tjmtm`5GbqVNVk?*Eoo8QnS%n4BIVS&a=*3`Z&Sdc%I$wW)eNPdLSx_43}i5~0>6Yg9cH=invo z2~R6h3`cur966JQTwDi*(_058b&gB@OdRn0G?Z-kBxt~;@I>(0=yB~J@)DvzF`~Az3^@~#6 zcL+ff31U-COlzAtaT@j<{|TFHCSRL{YYz<39s z4uF5t21af{=5%b{+F~zIPkqbEbdMkf&b!&Bj+ns=BF-cH?^X# z>z(i`mi0IJM3@Te+$B|DMdjGOA4lD`p6SZoHYzaSURPa)RghQ!q0TlYFceysI0;-HPDW(FIxt2i zNPc+W!e2l~i^mt?#YCfe=v6hB__D#lVLJ0Kt0ou)&EAaWDsVNt$SU|{|6cR2PAdk2 z!A(Z6ryE^BS9e$YDx{h|nzR@o=P$_7Icm^c`MAs~Mz)G&FAezl${%>`Arpo;R{uc) z=b-(+uG)_mf179exWOc5wj_E4n#Ty?C)PkVw6g*g+7!!#ZtbBd7TI8{Lz^cy^2HRQ zH`M5YKP;0s_7?DHwhQoNd`13BdYgxmRDBn;!%S0Sy`a-5id9oL_VP9Y=#g~y?7^*h zL4WV2r5ghx;hzIi)zZ_q^m=w8{)V0n9>oTmud3NtL=4rNYY4(9N9s4sl~AYG%Yfyc z*lV;K)Q+`HV&EOv$EO(0>9!4CgBeE!!UsT6>6YdwI7bO|BcJBIbWTo}pzfJBFrm;R zf)5iPmk{ZMyJUdqV8Js1xJdUo^T4+cl^IP$1~Qje&=gDfeRHl@!4nET*@%C|7LlFF zn;BPdEP)MwLK`jq>2u+?A+OD$M2djUPn?Hi$Y{!zu1vG6BYAR^knBY-dnhQWa8iH2 z7+3?*BobKn%iYgRDsQ{ad>B|O7uUE7<`ZMVFSS|G@JVV-CFigLw2;DELXaGy+5G0# z6%OM*vH~`nD6p*HMLZOaIKl8*?5ZdLI2x$Ibi9s0#jt!f_iYF4173Ue5Q$_iVETUs7jT@VY&zF>wRX|M zOSM!@#=`uK@x^I6|>gput2!3aNg zrA@hHrH|i5Jv#okS`jz+NL1Z!NwJuYDhuo~Z0aAQDLEv`3sHqC4} z5A$rDMCzweJpZrxE}3Hu|56GW9LYdO_D4f!c2T=pPOi~#luuZ1fq2}>Q8@hgo{EiH zwf?;IroVHV&S!?NaJHLA@}0gKuX2vMQZ!jR1Dci;A6{{0o)_r_qX?$DIs< z(fC}2yaOm-tH7GDiwd2RG4;X)gV-qee#Rd++~B4KWDi~IOs=BCHWR@emJa>;)l3t@ z=+SBAVRIsDd1_=)usvPjIo?anqoaEZ95KZQPyZBdJNvjJ4{@KhQJ%=vM&{sr=i|kk6 zqFF5fc;V2*?J%qKUYM3Q6`!W)*`Gfvn&Vd1JRxk!RSi@qsKJNB$Z}`6U zYQk>YXGL7!W_S>H>&XNDHNv6Jc7)QXh$5)kl%seJDh#St6o@%w3f|5Mz`GK7SrxMu z&D}{5n3g{-TZG{lmp42`7K|98A{x~7H=UtVFng5xEZ+$oA%^1A`9OH13B^w;pe~aE zgk{x~;n-ADu&pv_IF?*g4a>2uD2!Y$c#|w2(wYo}r%^^|=I5fUT7{>XmUPlXDwUQW z=#q}s;n?Jtv3NsAajbf^_7qw|E0eVKs9t*{=IBz*BDAc^O+mEj2Vq4ZOnGJPY(iKu z59lXxxXBMXaz^gUM@bEmbgh7dYgDQL|J)n7@wgpU_hn!AUM5_8-7Rj7#Q|R$_XXdt zc%FARgWj(M9pBzz9J<~|slH)|Hf(M19Lf6h?Ar=e(BxTK2$f5bLc+^c5MeO?sYVY( zMcGUr{Brna3FSFF+G?nklEdO~i20pBSm&66wW`F$mIw54kcJC8J}YUGnqxA63mcZE zRGq$@s!m%|yA3GHscVIee>}cA{(6y^#L<$u>Vt5j>lp1a64Czsd_PB>u;+b-bal&r^Q-eC zRM>Y>LA^pYv{Nh7zCsqkHKw3eb(ej~%r&Q=70R1ZOW2nzQew9YRRt69i;rBdzdD|2 zQLJcD5dl`>#@V$9vpBrUW+04+S+9~Nfs=y)L zB+L8iX`UVC+8O3q#Sq9$8uhJoj(5flYKe6JU0=o`#gl+;@qAs7qwK}YufYru{H~j+!=L(^8t>sCX?e#$S{3IIm4)MMB zd&_f)%_k8#H1WgY#nW@@mAGTS2O`(S5P>35eFm2rMF{DrSUlod4wetgq$0Vm5w$e3 z0u~tz@=dlvDv5P+;Zx17d?PxRh0CoYs}#X?h4~dG`B8(`6J!GUxc@ z0Fs^C(#0(o_f3d6R{epOeCNPOVH4jNnmtNSg4Gs64km+LdlWe}Sy+R#PSRtNCu$al z<#n#|o2d8y=m!;i3EFul_uAGB zHgH!#PAz?s)CU6K(k8w4m~SF7EnzuwQRCuRSfeVPxpalzBC77k!*sd*Zru#YdB@P> zZ)?P>rRp(~obKL$*(zPv)Y0Uqve7!;n&>QvKPj9zM}Jh3DdrH#{1zMslJmZB>3Lwi zqO1ub$!SZ82$w0`N}Fh0q3G$B&=Y?G`Eah z`kG!~!hPRGvy!1(QtuXSH>d%c*;=tOHYNSgkZRz-2Vxq5R8$5&a6tDh<)%5g;f2!Z+suA}I26Dn-*j1c)M2n)tT20kRr-pgv9c1D8R*|` z6!naZ7>);kta7-9)oArJ^4KhEaXu#TRaBQp1P4AlQ18q{yJlWSa2+*L@;e@7?rqHU z1)I9PcpX@^w3rR=qGbW6^8q?U~b#7A|V&sP&ti@E9AP3IUX6Ktu`6!p|* z@mJ#tL;=>_sT0iY%a`H4jpY_vh5@VN(ZQ~zilBh~^EOv^)_mH$Mx?KWc9m=wc^>%^ zi^RTEX%RR<^DXDol(cDGO?5?WN@{?o?s2zOvWKZ_3+>?zH)t`NOcY7{$|pJQ)goI! zgC7!#Usw+PQ#HIOj`S%J5b+0?{GG7bN6me5abVuSGaT2n7i_Qtrc81DJNWnxXYNL% zBM0E!c$r(bE$q3>Ia_wG@w{!#<(meJ2b$roLd@8_ZEbD*Pv?}rN6-T$Wk^{P0SWDd zGfPye`>SR``g>L(YMM!h+n`b*c7OSnI(K+A`floWgs%S)i$*wK!?{;X}+)A|U-Jnx9B+pyWsR{q$SrF!@3aHd)Qu)=BL zYb42JxFe=Qhm9&5cmubqbW|<@i8%u+NBVV9K7342YA11C`60WyPoPA1s9F1U^B!Q2 zc)k4X`;`83QwI9+$vLhMW@dby^u*FEZ|IWz-$}+Tc!+m6tS3jsK;gCtE!~dn%fNSX zs|#WYY`qBw7mRztA=d*M#x;2vT*Gin)|SSJrj|;y<|_fSn=%AYhIEw4Gr>heRwDth zA1+^v8>i=7>~MtWQK4h9*kv z1)qfA`&HpqP;=wh#Z6)Eb@D3HgngM_M8Br`smCC?=tw@>^-`CyY@Qo;moZ?eEobH& z>)E>Ohi6PvbxRI3G8mS!WgcRymO76qIlzq~KjkO{EmR3Trqq))$BI$wuXIH$jwSL7 z-C!+wGjjYSQAK-p>7wV8wiob}-O!o)lfD+Wx<;e(f|nOEcfXb#wh51zEyBk)D`bxe zDYFj*y`A}ZQHhO+d2Kc@BQu==lt7yR;{XEHLBK_ zbIo;w_)u4f)=mxoO_`>p(GUUwc)QSj7an_9bDhoUWOL(vT$dLiYRcsXzhtX``gVYs zZ9sjRYxNI2%;z-t-L?3ynj&AXxxop3wtm}5I@+a_FJKY2C1N}Gi^%U3un#gT zMwZ<4gH}@Y*0FdAwu*rcFx02G$U8!h0}fh~gn6BJ?>cKnN6(!6exZ;Dr^#}JjHf14 zIFsBG7D)zr$v;!<+1rPJBlA3q)G`F(fpqR-_(g0s-#_z5ycDDA7KBUOz>&ozG$~9G zs-G4GuDS+GE@VTr8qF@Ms2R8(I3WEiI;+(3bKrNd&~mg0Nm0Nn08-2>%s}*XF`S@!z5P4VdZ=)Uv%nz@u={WMkGll-Hx8>?69)&%9yLrv7^*!bA_tq9KU zG+cg>{Hz(AfYQ@>IrAdDx(fd@BCy?-S{?opAksEVV=!Xgg22f$>z^=eE>MQYmy;t zTMm}#ra`&#wRE2L1kaYj$(~p=V4B3yqV`pj`vfJ`yU(nRBsErKMa$GPB8q?R%;oZ0d8RXLv&?J0|sa=0_Un&L1d+Dnf^ z0SkqiaR}S!qWUY*%1J4u%M4%k*whU6rP5a27*0-8FJAT^PH!&=saL*YrlAMyBgEU{ zrRKceHQD~sgoP1LGg^8KX0@ZLfevZUN?bOM$m2&1fL8JxdS4>$M^7^)Z`I8vX}g`wRHf&3HyH;K<4c5aD^}nK7L0Kv?)G=!2*;ps@0Ox95oCdmS=y*wVW^$QaJ+kF!JzufEpTlpe?f;&41cHg z44j}^_jmRisk{PUH|z{bUWw2l^)02id|%rDca+sS-Yu!ppVnHHZ(Xh5(Mq~ys44s$ zU}fp{hkh)=I{8LvJ+WiL1(vayzXx+AYZtvq{q@JXXUE*tf$9_RMRUyl;?t|Pt=@p_ zQ(?zYR|f87IoEGQM-39p>K_&zu-HBAv9268`3Q49gs1DgEz5{N_c_jIElIf)`On1q zuNJT#gt^Po_(I{IuAA?$DDePEM2Gts!0^c-4Y+ppO!0#9AxQ%OLL)0J9aMB?QmF%Zhut9}+ zO(0+92{*NssaY6q>MqZE@eDdB^M~WFa`N)ZrsZ7T)ZaCmO-Y`<_i$mC8*=jLdqZ3HBpTpb;Q{+6+zlq+R%JDYld);3UQT(txjgGh+{3ot1<3;YM^Km1b zpX~AAvTbUw9?%Aw6>OT9c(}HE0i8TWv1bZH1B@k-^2ho7VvA;!1R>e4(~4!&=3)C> z3ujJsk~u_aCPmtJ{k&{qcUze+Qc^r@re3Olrl>g7NN3!o9T;qirG3Pb(+VS{rBcVs z!VANjToWie{#bc2yT726+!ijRGv@bt{mkP#jY{3x5T}e0K^@&!sEjMw1(+jc!-Fd; z)YczXujK?1?j)rHNUj{cuCQz zi>dmJLh&@aoZ2+cb?O};sUhO;9t$DK^jU<^p}RTRT9(OSO__t zPUNPIs|WeiKw8rVDsAnWooxsOr-mDe6$H$w(+5{IJTBb=q#03&z+zCk| zsoqiIWP%aL5+@NU2zd!>A-a_Wz*2Yx^M{An=eno!N$nG9=|q-zv!g7XS=>IA*KKKF5xU~T>EkLNqqH7*WzHXl;!B7h^ zueKvj$2zlBaBW`-n3Yd~xcVJLbBLVugWm{Stnqb*dE6_e<%vjEOyKsC#(j~+xJ5lNv@^(g|%BldEeP2paR=|#B`fJ@pa7it4H(3^+rmvOtO zq-PBr^;1m~RD|pHtJrCyTPK+vJX57Of6Boq=$F#;xngl!gU3h3?_=n*TNahKm;)0q zkuOyEV|8=9Z}g%&9+iD~Enp3PLa7pQc#z0I1x|QzKZ`O*DES+_8aPOP0X^vfh@aS% zwFEZ$bm2ULPua(l1Csq-lRe6WB}vSo8x3ivbHC-VR8vKzReEML zXX@U0g*Uivb-}Pwm$kMS8{d6D75c-Hq^zZATyKN~A%sg~v2lx2J(3%)yNqcQedn z<)T>=;C*M$W?j1ZeU2_HVPH_fDv?=>=gqn&y({@@rF0u@)eAfGhcYT6g^1{OLi$`n z$i`R>U81mQsmxs|0h_9^V(M5C3>m=QTQ(n>Pw_k#mxD*LKJ6!|Tb;=x9nB7Pnkr%8 zy-H?aB6%nKRD*8u?7Sh1^{QmcpVH9fnE{q8fJvRrH#pOCPocNXPz!e#8?%94+e-d4 z@T1dSb~%_>YLbF*%(77#QM1IflJG(g3bGqDTR)Qse_v*Yh}jJrTJQEe4ve=aOu+Rp zWIIy}tH6q1uZ~9zMBPVk%0$P+HENpGdU`H%YKbTC=dR0GZ1R;$8!mdv>icZUKwir) zz-Z`ljC-o*DZzQ3Hm_NuYW-ynIoE}*w+8#n)s5A=fUzXyu;;7^H{JMvcQ&^Gxvr@= z{fYCideJXcle|dlVnR{_34ZIP-P6&ZZbi$NlWY-o&(Vxk5#7c@Uw3tZXX}MVH4A5_ z9v8Q556i3IS8UxS3f?a61XA(ucnT!;053|F9g2fzTM?a@dliP^?h?7Tc=b$a??s@qYKVC@_CS;J+y)i&SUvPvEmau<)gQPEc5R}Ga}@0U zRf@;6vKDBYWmCo1rL#`iII!!4;@v6&9?G(L&5K}fA!!oV`QOMECHrNOnHD(5fYQ?v zV$&NH)zL!>3iT3AK3w(#E!F<@1+Ok?`h#{wd4Zgy8-~UV#1hz-V+-(aoX11yvFYm4 zMK1~Vn{}Fz>k{^lDvN^{6;wdpl7(Zu$AubLw8H{t>J6BhHJN-lpN>8sP}jtTDw#<$ z@tvg5Xh9*L@)r(9mMxCn23+hjD@5YnN(0w<%eBuNv?hO0|*(<38Iq#>v zrKX>R|6!YpmV??L34nk?ME(!k9N(kCoQ#7F0$FLv6F;K`ULUTF^bb&`KN|&^RsK7=fkT(vgAan1Y>N*91t?U1b;VUj{~FTD zqKipak;IdMZCPlj!~5kjpRg0?YgJqt*|9^Oi-0ziZ|aF>Zjyq{ZQmw@31dyoOK+^F z1!624hR+T@Mty9@b#O!a!HzffEH-BN%Q>ST(PMnE^Lg`q^Zm;EKIU8Zjn((_CBBC; zy%sTBsb9q6r2$7E9{@obMlb=LB1y)S92jhff^u)6A)(I<4J$2q(Mvt3AeBR>Pr1|3 zGiVClLFNSpt%9NZ@}=YBy~C~+LOfsZ4a{BSH3|Ge!_vIZAtKS(FiOI`&TQymAE}`b4wHmW-5$mt7`qTyuiv>;<~L5ZgKW za?*lGxB&R`GdtR6Bfs9n&Y2P6gex>7SO>mm@s{4}*A6&7;~p=MZl9}a+szo1m;CVa zEhxU=K#bD|mY~7HcyQ_N75xN@c0{S=yPpB8#-G^@B;eUw* zUHtC8YIY|ZN>t|$h;H>9k2@ z)vN&Ry0jd6?l5&h5Q>SSsl}CAO@`sgw+30OC z>~Bp@>bp`-vcm`(qpBw0cabzuot*y0TosV+o?E3qNn42mHWEqVWV`dvs)im56Ze)? zEJmyf4U8^Z1#Z8!+Bn3s9F) ze%mKgi~cydf^^HLVkqenPS0X?tdYjURl@kxn21(?sqgAs-msq1N=<_KC~mWh9jP1- zwO^!_WqunCM&ok^FIL%zB^S7_$yb?Q%c=9@$0Cv^v0u2iBBcP6$l zr{2#!U3%B@{*K~Bp6Ifv-sPdcJ=BmV8^qO-#~TLKkf*f+ zxd^2Q_OOb{m_qvT)_+*zzc2}a1kyS~81#$(DbJiCLxPomdB&CCb3>jCqKQ*&hzyPw zSjx1h+)JWysW3PWyIQE^FV(3waz*{}=T~i54E6L>x?U5tx|ZzpM7?eD-t7PcuPa|` z_InzsI>Cuf=Nc0gnSsvU%sh7ocF|l-XbTnak1=}yXJX#?v2U;=S;lrd4}hOUU?y88WA>cD zc&J=ozCB?kFg_$Qd63Mw{&~A((RPJhiBCbN0pGy?xpr;VyI#^EfPgOk)`tIY`>!s0 z3BbEL+A+2dgo~?52r#rTU3e+9X!3cLKBYJCFn_rs4~IteIKRF~dG>;8lqR`V6be!!?$ zy(WK}b5TVkw)1_P{ajsf{?Fwx(RYW|0#!T2W0vSFj(bn?1r6|TQEceB0x)vkos}x? zb15^qGZ&s~4RbB>ahLo;aTS%|A%ti=+$-GJnOMGD!BTNnp3TTscdfm9t#BCqtH3Pk zG#FhnHFO?a6#Pbu{DBqJZa~zDJ;(EW_8?~S%7;Rf`$1I zMDosYHyP-2L+xC~T?V5eHaQ9y(xTKSVpi&o2Ybu4dK?Z@N4egI6CT1+>o&!#QaWZe zT-qJPDIAljM!fXtzMs=+#aJ{4Vh?md=Ndy*-})OUaORC2oCibVX!_&T)MF?{R#>vn5xYEYTk^DrgIB}=+T z@v}$M^TJ(yCM23K(EtRD5r^Tyg1y=Xk2?#{^E){uQ)gCdK%n}yL(+-A3kM}`&(s(e zFJW>55BLt{v+!LthG;Y1p*ukj{qCTsT=lXvEoqk9sqRj=F#pIhe^vD9a~w~FRh69V z0aE}b_*ButwrP2UbY^RzpB&dl&oKH4UPr1TJ>#q@FI_1{p#YfRCrJBdYmt`EIQO;Q z=;bOGd;Etyhj#2@YOqQ_jwS+tw|gW<%AD` z2vY6Rzq8q89?#s}(LOhfZ{C%EsV3+N{1eI2jCUB^cA6VI3TxKjYK_u2 z>uQ+P0jOq$8jex1ZH&(Fm8H=pmF3(sXu6{7Bv*PpPwv6{?j2FxOo%>_h`E0(3D3K- ziNlRx@9WcB>Pm@ zWFUS(?^}ttLAYjz?qP}eB?-W1=y?08pJsd3w|KyL91IT09d^NdS7K6UaG{LYq)5H+ z)^fEhTiRDAaaKQ%1F_B+Y(EMNk{X(mKETMIPCw|Q1%#D{`2*%7Yf_X@!~>sS8UJ(H zN-<^W3PJ(_iTy2#`(KxB{hPb?zxk-9mlXUzIqvl`b8=@DBGovX4^~!MS2|nMGN`uANR>tjZ&=rsH#Rn|txZ-nxzvsqH&JbW zcRU|Wf>HEdzrT*_Y;`_wcs6}=KSz7LZ;BI8=8>P}`0k2v+VOqThtPlHzPrWyVMy z8{q&p@4a~dY6s5UULHNe?=OxHk<;(ygn(S%?veJ71{oKN-OnFq(n?;M$B>_1zTHYa zkgw$c@DC(_Y&bFZd4JtOg^8pM0WMedw#??iY1b_UtRJ zk3iov%&V=%2fZM9i)Og3bglIM^~r~hARs1t{`LLGrTgiJP&naO8m80NpV+V3Y`uf* zmzzWKD7~lo#2@5?f{U-Fb!X_*K2^7jPG80V;O}ri<$XEJ7j7ni_VL>3t8)P`^BSYn zU38ya@KrxmE&Yj^`CWFu?ex_?W&841oGqXEO%D2WorZ9WDCU%j>8Cj4W|xx z4&L8fv_Ab!x78V5TEl=WU)X>9aAbEalptBXuCU%#S(%$z%7wCteI5z1uM?JJ$Fh-Z zNK+>PS76k+m}@7v^uA`ed28oE6xKK{7F{J^-;LT`0SteArooq_+kZfl-JCkAlN>5) zT&=;k#x~Q;pJs(8a8EjePjnJx)n9L_p3B3g6C?|7l)Ht&cuNDuH2JOu)q|qmC)+;4(WG;=?}=ka8JP zVuq^WAdoNUC;9bP=boF0b8-!kC!1e1Fl}jL_c#@z!EjI3}zYKzX z%bW#obasZfwqED)Klfi>TeDoprF(Q8SQ=c?I-?eCW>1rPKq!!POgXyfX2rk{gxdcz zps&WKrH2-NHXvNgi%QQLQTXQB-!8JmWb!85!jK^|lqacaqS!;7X?zMWvu)_6MBdif z%rZZ`2w3dxGJ|We#ZEp2-I-grg zm^Vihz9s?2dN=_-`y!ORX`Gf&F9HgYH(GNE^o6yMegWeu#yp80;TrbJ&4$lfdmQ>Y z_-4G0?93c+Kro^=^!$3o(a5-zf7S{+$9(8+|}Uf2s83{+yiu>bQObd(GaxY&$yxM88k zrF>BM#ckq&p}CO(NqV)oauYlHQHv#&1Hvi;k!HnxY>ByJ{$v7RZyV*EB)s(W%o+49 zw6)lspKg8x?fLMm+6=U=AB4?_XquEDv6vuHEe$t7ihyTWOvE9z^cbv6%^Z?wG}CbD z>7pyOVucrNCg1pkb`AH}%q0HdIf%DEbqdY0hBWC4_!_@;E!e6b%RghuKj^Z3Ua`Ko zDX&~<9lS0&WUCPXTDui`>Nz8agK5!&9DxnTn?W`E^*9Kb89| z?arJJ{58jzje|88PAxQ-V;M3X0~o|A7lJg&!c{E(^l2dYgrPJnwE z7O&klo?+l9I&j`Vqvr{jiJLnHudR&;f=nTWrWI^H;|>)tdc3Ll_!A6k@{dY`BN6m^ zIfAg}PO-oeK6_ztu}5EoM_(y{JrJu88c*+hI1f4{d@6TpXt_MwIrMWnj*a`Y^tNLf z32;6Kt#@ZN1M0I?%vn$wu%XdqhJ=f{Ufd6`^_8U!m2{b4SJ<^7CF^$OQ!_%d9;NB# z4Ej(+tn+DrbAW#)M$vlbS4GGkp9`ZgeKP_p^LKQFJkw14i(o}U49WTcM>((OrPJhg z5|)IE*zzD)F-7D=HO2@8gm)srT*9^j#N}`TpC%frdD)D@{_nm5MKIG664eQ|eKO66 z+@W$H2RIQ~1=K-XS?w$iwX@$PD5~Ls0}AmcHANHv+%g$iVHd-aQYWl7u0@6U1t*cr zJQFO7q6U-Fu(`n=bC!NyGYSZx+}U|>ut8=eFp){MVoQtY+@msw5q&g1mIXc+?6M!K zdm8NpipC|ccjkT>{iN=o3wCFt^)Mo;^9CaH3C5^*Kq*BS*cP=~h9!kXa81}2schO2 z7<6oa1qbKgUQ|&HTDV4~MJ#Q`GT!}f=%-+^=e}S3{J%>e)@)0hl`4`A1JH!2ImY~2VE_^ECLU`F=_;fiLR=6b#KiMt z7zG%l9A)H6be9||^%l$v+-0)Lm%%*h)*LE;5T0p;Ukk5kYZfK2IdBYvPkbR+!D3`q zbPEeX!EF-Opd+|vhUgG;xEAdfGo?#dG$h4Q;X2OLR{PxEyL&q9q3oKCY_{ECCRL>b zB7+O$!E3o5@QcMX@L5!r`!u=KIYSeXAAf2tB71eq)?=f4yp-zK!F2OI&@e8$i3EAAVreYXn>4yh4CQazRAtzy~^QQe_4r?0O{w z>%#lOJG^u28HXEzI#Z%_Li%c~3`HDkd%itudW7pShio`I>!GN+*_l)TfvP(80};N^ z!Gz%&gebaD`v_Fp4vvVokoSy&dIUCL8b2Vy4p714NF3Z7VsXyaIIOT-Vu{RSnSS;w zJ>ap|BS0NilanFF8iJohbn_Cvk~koXO{cc0lw(1^#z3xYbD`!Zp4ghTGd?byhvr&Y ztL%Ytw>hiD_0b?K27?Awy=A~-THBPuayqPkZg7rpw}052^j$9{Cf0jjp7bw38U(+w zTvC_twG^)%$rxj=_u|UZ*2sa zVuHsXJbiQY5h7}doQ2{_Tr4Jj;}?)%(lXLO7L=wO(gkI*CmEfsxsCKI8-X<`){Pu& z91Bgm7#dz5PG;l_+S@>URAMTC<~@gBZ04H?a!Ej%Q{h0oiYy>uaox$O*uRV#YA;mO zBEU0dd8vW-?np&<39=8WoZc9xI1cTFYk3L{71(yA6^Avxx?rv6*6NaO@A!cZH$-xp zm9$b-GBObnNkg;TW&WBnu8V!tT@1&~yL}Qi)aE&tYW?6uvJYO!Rc%c$`I%(DuBpc% z8U6c%^7ziy-eR2gSk)46@a~J`2h|3-^ZbMg-siy6x{mTZGBWAp5#1sVe?!E3UJx&~ zaY+}inusp^qc_7evzVFBj0=0?d=6qaM*S5+VKu1S2NI3 zit10~nzV9JNS5u^3a-&Devw9Idnr>3@gFH(!tl3V?R70iXWBgkwI0@fLlRQH8G(8{@Z``8btp5u%g6i-19}Djp|8{!JC!GirHGrCT{TYq8M&qCdK8Ag$0G>Eud(Vj07!3 zx8Eb9-fX!1Or!Y#CtDIcb2!`N=Tuhtj_6FY*89KR7LchGub`ZQb~@=-76eH27s)+5 z>06Ruo17tkDF}q~AFY*Q=Uw>WpZKW@|wR2?}jE5x_{yUCDY#7adT|TRg`dH_gBs`;3Cm^HxW&iuy4mu zm^8o+gf?*5a-wE{kvJikH+|gu-mN&M$@g z8X%x^OcLhVvtO}1BWtN25#;3=&~(MCrA`v#=!Euh4A{j#g&MfjsEP~UtPMjOwM`$ zpH2iS0Ae+pLgBWN0}uEX^BnL8IJE2DGKx1IZ%`*%b5Q(T)85K#!w1W%5DDU(x zP)T3F8-w?Bk}|n_v|opM{xREIm)NxB189^_$tQDkr-melcOIh$1THpV{Ec0!e$vN2cN+qT0bj* ze@UF?*kj;KzQ|P}$4vh?&oyF7CFDBGwiYqlZh-onQlXk+MF(anIJgFsI6r-Yo?)DL z32wC}o<#i8Z=59fvBCZBF@ZT0K?CAAS)Uv+bcAoW(_@QpE&fUFIIm>cCc6YcJpJ^YZ;ovCn}9=P?igjGMESwNt$CxuT`2y&l0~5dHEuJ(DQxlOd%a)NhimA z>*oCPZXd7cEJKlU_2SR9O?W^Dn8*k!SBNmKI36<4A}He#HD%gy4B}dl@+%in>34#h zOi1Exkh(DqRf}-V6}a!|GOE5H4p|y zfux4TtL=(P+vniCp&osM(|*AbdgJ>%tH-y)7Z^-&dBE=z)UaUgSEu)QLYQtkQ-6Dnz3Es;7W|z)^^>6xJINQzk#wnFIzePe` zbsl{1HC+2=xkd&RlwSg1YRw~I%1KbLHY2RH?i71wu>o1yH58Ddyg!*XeIW!IJ|>e- zGoO-e4yCn9A2WYPU~5(!7kww2@lD^b6|DUYiv5u+bwaiAf&aH!k0;KNw5=QZ3K_^8 z_b37nPUvghEbM@%#zl}!-5=>zuVEtx2?QS+h*fA8zoA3_U1u2JmR$>Mp{TE8G{{tm zs0wU;O+?uCUQ!?hKGQF%oFW0@jHh_d^Z9QQlsa9t4H*%Lxj9YKo9GgP(0@D%ht2! z&?RG)(2kQQS1cNEVVedB{7{&pNa2Bao?X1JY}tp!I)RtCmJ83f(7s}@xAZJ68Mxe% z?m}r6rwC#yEgZN6pG#_qcj$kv-&Z~0!2U91yFub6dsmCK^X%5sTxs!PP{e6U*uvYF@9NW2yW@Jr66I9qT^2Oc z7fBcTlab?`9H?+nE~5lE2dSEpvtN=+V&9FFtSOAbA#|(-I?l3az7<@FHzX;iGj2M6 zaYNYj4r3U`bOvon^FU9Gb#+nz&j;`KB_}HIC{;ax*@VSCW==G82mj9UZ$FA(EXVnU8c}ES)6WLv9e*&>s^zTHyA0(}uBop3R$-MAHla=m* z`rUI9(;>_+iT&2Y481{|4MIVD&awZ4O8wVf3IlUna?5*I_a`Hr{ky$j9k7$0Li&ye6P#srA z`&4YlcCzp5tJotvvc@+Gt94Qsg`&<)@OOdqD>h441ey&vW-pYFO%Rn%bO{e!`XgRH z07SMwKOk-Ds1xm=y)^zhcU(bl@Ok#}L$fW2Fh~9t^Mv6G@A7aOl(_38Fi|dTAl{8- zpc&+R%njxVR*6>r(3~k?m2G5x()S{7-B0p;^5TTz4R+es>p887W8TS?R=RG;WR+%B zsLR#7g9swK?ABb|oMP`rk!Hc|iP>x#a2zS&cC?C<9gX4^eWJ#En*x34(D}lCr}_GG zsY`alHl(t3DlxbA4k{{yGzwK=*6*1axwJ)1eyFIpuaza18FB(e5H7FZH$ucNPn;;Q zpDil80Q-YW`w}|znRoDC zmmpPulP3+**}t%?!7XzON_;-TfD<#xVq-=T^`T?-%}vzz>}NNTIiQ$5QT-VoiKlgivoH{gFU7)RKh#3@1{1^p*n|$Gi z&EP^YefwH}qBcD;YE6B+SdGIjB@?-^0&Vw?+qr=U$+^@xgM++%(KXrB*F3`M8VG7{ zh+yoCBhH~u&m|+wCvt5ARP_pJfvO0hyqJ919?po@0wSNndm4ed&b1eaFVC5MM4H}n z4c_dUp8puMF|WT<75UJue{!{P8nc>Gbn$Fm^5=`hioVyFmLu)rLk5pqmCgAt~*wWgV^! z89E6)Dthhe2`_FjZNuz=g5OL4CB@ckWYp_U5PtVU# zf8m*8Y?|#{izrUu@#wyi$j6?$d^Uu_hUne53sm1}nI@AuXH$@)`#z&P3f4EYpeD(Z znQ%0TqR}?f(~T28WO>fZC?E|W9A?`o0p$C2F7**Mu~!NL+q?`&1#fx=KY_Jgc~WB9 zeGHor$T2}C9=*maogwiT^TdL>?|+)&v4HyMfa3xIt+M|gqAvc;ojIOp1w46^=&vAk zrJeI%AEf`H{KS7z)$Vfee`vS=qM83e#Rez;ojYqtm#jbnf>5t8nt||-c=dX@Nah^o`0hg}fU1+Z6&W*wk(Gg?W1_0HGO9WjKjse(x^<9JoJx%HLLC1ZqOMyd z6_kcrMJvS$LeBI|J7>q`)lIHX;ZM*^^FQXMZ=i4aJp8Wp6lPEy{TGhgS)Nnwx(=_$ z+k)Q^HU7!_DMRq6?i*}&;{#MSM|QtrTpKjmYl9#0I2>N400R_P7LM}S8`B2kWI~$h z;eOVjh;V#pBSY^jX*wtx6|G|~0ZE${+%B{w(%bd>GxmDYiw*0w50_dyJhgBOjtoog zjv_SJwlH*CHV~SE-naReI5n*{+&uIx80_>KYzX-m_O2Jx9=-QsGKQ! z-ecQupSVfIP;#f_gUB0GAUF!~z7HH#05F zMh^;?U#&h!il0V|TZlLiUCnkd#ebPrROJ`0p~|KQ?6jT*adgf48z@1IlHFQAN(>jf z$AI4jVZV%`-&q?>c1nW?Z{ve>tO<6pMP3K{94|E8{IXY%`XAxIp9-!Q^xSRe?9BBs zELp<&0fqZ*9B?r`W{Sx)=N<0*)ELgYEmbG$Qt=~mhkH5oe}TNf_lL57E9wMF}Fx&z{-VbgNXE5rK$U_HzdL})%FS0>V~ zBg+iPU&w|QQq8=Cr_4U43OiStQyk2Ff<1JTfNx+$kB~pxEjYd0YjobewztL(q_=(U zUf^V`Q9~B`5SYqz$pYBXLETJmcla!?wV=O`U-5gmM5`dJDD;2&C!yRZ9cy8B2<;}L z+<`Fcrw_FIYD!@rUZHEtLc1#6>h#^BLSssp5r!3ID<~`o+1-oYoP+7Sg1z98UiyBI z0YdBXXu&c{<}}Jv6OOHpfU*w-DHZ?3BWRwwE(LEBQwZ`23@k)s#bIMLG;8dwr}W^P zSfJy6#CRqfVV{dT=$w|7>k}-OSVZc=YLLx=by`ocOgt(1cTSx2Ji=TCkr@iqjaq;F z(;(&5g0xu`6bR_;FF*fZZXW!f{^$Rk`Tw5A|92MEez~HmqJ0%LL!Uk*&A~1w{gO=o zp{1fS_ESqZf*MV!N6lt_R0AR|l_@o054^V>v8r(T?I42jtd6Fa95z|LEvZ}NU^08> zZav-{$4twL;EB8b`kmJ^J45jM^H3c~em9=otS^kof{9=VAw$JpN}z=T&|lIY7%E@R zh1$2uw6vp&9^aRSa+enFXi#;mstuJ7P8p<)<{%l$@LMYsIXE~0rXJ&N{e7C=prgu= zB5)jK3dMmuvRoph78)CQotTTJ4yHkIon!M)L)LgIH@K|%@C^TW?Xc6YY-SzsU#M-F z4*0a_dPsw)F=ueIT#-!ZK2$i-E4QQ!Fkm~0Y#?trIIG2^LD7$RA!Yk zAs510dVG6r(d(IW{GGha84Gr>%|RXId;IX%`=IcId%nRjH_Y$^8((+Vw%u>%U&V;m zfajZtX+p23DF36M+muDsDZxOe+=KT@Of742dvF~03=&&AX20W#cr8bRW>9r_j1Fbh zBk7(crXCP*0b*ImHaBJA(c%4S21Wei9N!FOAg^a|>bAi`6D5KkMyCgH576ghU6%&6;ywjk0Uz~im zJQY^(@Tap|n{=H+&+rRW$DBa6R26LBAKYi&e#@a#0Or-Gu}#(!4wvq2&!BPc2XI4c zSuK-#PD+8Sg8FKM5JT|2;1+VEisIXA;HZ{qT6J4!91!i`?J{J8SpHUM) z%DSHEpJJC@Khy*)dX59C1ByXo@b-JY(g=}HF54r{x;#r#J0jM26cjlmTM(i zeBZWn0Gq=7UerAv!9Z)LIjizMpgc1{aunTDh-F!3lyFt3U8)*atzXg5YPv8HZ!#V8yeskyE znR#YrpSg2~&VewOJpiF4OVpTP?TDNPktgv4h>F!E+3Ai?@f5WA+U#$pas`pxGJcTWt(1?G9crj`F9ys2p;cIQKOHMgIO5CnGrHRb> zEHo=+wjA_)l zADefuQH(06Tk##wmXL5LDJTWI#pwDL?ZIa%y$?Os00s)`8xq?856r*DWyld6h@TS{ zXjutM6}`K~LcXS9v0BGQH4q5QuIvsuQ8V^VduBsX?vKE?^{#;d?kY^T`i5E5*FOEE z9qu?i_^lFCLNs^NOuRq^SIf28)sLIIb-E8duCLlU0|SV)SQdH`0;e=9(-lPg6rZ3x z(Sv^b?Yg4o_8a8(8E8R@tT1PO#+ue$s41d0Y0$#~(-gzhO0iVC6& z5s7>j$#1Xl&l|r#KlfDTktsP2lVYB9OB$rkJxv;U(~!O{{Sgbg9U&v-T!b#*^X*3& z{*GriNNs^SB_A>JVgfw3cNr%LALR~o(<4Oa;&sWz(Z zKg4YOnz)7)`Dxm{i2Lp}R|gH(Xh=^=d9N|EX1=@#RiKG(0;tKCC2vP{q|6NSw0vyd z^Chyb5VXh`oFc_pp|#!BhnaLZBPszYm9y!SU%;4ET#)R#AVyAwQ+n7N#VYe=ViyTo zwt7!xWX%6SKiXma!UJ*`1a);;I?JA&;q`KtCaSC=Xolk5N9m2}|JcNh*GtUtu=TF* zogkc0PF8iXsXyvN7!Wr4ygs>G56*d8fwkbYWoxgW+C8*-G)a@UkJ&0`NU6!r%Nn8j zeC)YATZ)WysfY4%_~v8$Qte9ZKn%#u*2e#Hv$d`#2N;0{hz=^&xz;9{CTRK;i(wor z{=vqmjG`(8UBc2*$i}*dN6XqzdS&8E0GM`{9L3n0n=B*J*@XN;ma?MM{DS!?5rqEyr`HBNL#o3XpM?X??4$=dNG z_=(!_B)_Y{8=__sF;RF*RkHb=Xf|R>vo+J=7W+?6cXjf0?k5^~A}!;ZEMo*WGj%uP zbzhwn1Wsc^E61CTix#)y5v8iHC~KekdM^@GSPxFgo%w>CbW_(YipI`ar+YDU~7vF`ch~`8-t(D$H_v91xYtxP|LyTg% z14uDJXMFh}U36Y^$< zF~{562tmc&O?p^y^DI`?G<+g5Wq@@L;+NAC&yrLN>UhQdgGkhc&YU@*ma`7@lr3&U zgHPKBC16m2$HSOjFbzUi1E1xR{cpog$ACbuR%zSjX7(`R>ea zZzZc7&;T^^How<~XhNce74KAKxkH)=_?=LkVp)$!tF85zlSu`u@`ZtdUxCe}qjQ&< z{Yb~*ZVuGulRAdNR(xq*$uHJBjwQoSl9&ch9XDeY?78?%W`c0KuNlxxmXy!hX%IGi zN|%kwj^vb4kNU5oK5ey@bj0w%dFheWy5FODf_mWg5kz({O#BkVt2U$!z$oTSJWS?E zd{RRTi_Dj@=@K3MYlNijGCab8ZwFDP$W*UAcq2ztT8-yxO>(?Py_r8#Wh8}ZBpdS^ zYstu&X-1cgj;i8_jUAi(cm{~mC7pcH#zCqoE2BDA?ARxfpRi#cpwFj0&m>&`W*F9w z5j4{v6*3VH=its4BY+ZS^rB0dr!h3u;=6!X`bzk#%x$}=0_QIYEiw9xQ;22)v&^%o zHywK6Q)iP|@pQFyuL!liRHbZ>OGRNRY@mD=Ws__2-njId(Fx(v@5aIHJ&1XCqt9Eo z3jU5$nB!}>j)G#h#z$DP=Igt>=0bS1dIe&k0gWDOPvCUA zck+g07~&Eh@iKPszu|#~_8tQ1QUosH=ugDb@(|ReJ8E%Qh7pgtSK9uvGt1 zAEBISEBPoXJerR&#g+oLZIjn6^`_+n8YwV@5-6~u>fW8ZDPY9c#y_ITYs(k*;T{xs zr7B*vJLTxbU0rACdSc0T(lL*C48)qZ*u-FUtkE(Y+|N72b|I)?O_?37+mdQgZMwAK zkpT-y#od1G*c7UO%WSlQBfmd1W-&fl_wY7ksAg7%?_Bmh#T6oXeoPYmDLHOK?=5tA zRvG>+Iq5sRpHIB*0azzI?~>+z5@vu7zMElUw5)l+edK{&{wyd|M~G0I&V~7M=$Hb^ z9?E2=U7R?gSXqKJ-Lj3fbs3mEGvtEii;=D&hHCU7Qgx1tX z@wId3)InBMDHUaOgez{Xo+A=3T8MvXG%e{(`k+o6>Ocj`aLe=9_K3`gkG-UJv6g1W zJefsuP95jp1*`m#bpx?O9nbOaKpy&IgsVT$V{)#C<~5MwN1Zv9kvNSUtktB$Ws%Ik zgh*dXU%Ex;E{1E<>76p}F^UcM3`Zbo41LOvFd~Vx6~0%7_PnATnVZHZ_tO)+vC2edm0}2as2qj9* z2d6)S+pK4BiXb#$2@P0B*mEN0f(9Ln5UZRx;DDpK2HE{L`b*65hnc2xq^c>MS8KU* zFtW%OXGpV{UUT(~()B@py*>w&q(uFYV9{@n7Fl;7VhCMP8A3{5fB@Y|CC77l-QRp zgf?r?Wcm&rFPLYi#@p+x^4-zdF(VXC>3in=GZHd>41ZWHa|2wDvYIwyl@j`(p9twr z!<^l?=7lqGdSBdv7l0d#;qRk&GL%y&&b+)3d;xNT$nVt>*U3h2sX^}oc>Ucr=-0n^ zjTsGj#5EY<=1ETYk+!`!PFBH;vf`fzmeIL6bt~~oj{ry8y}D58aR`{CQWbiwoOV;& zeUi{(s$A@^cR+hCh$??xOLrqb@va8NK<8&m`q|WG#&ULWzcaZghi(rBM)tD_!=9Od zSKPH66xwmfY+Tr-+(4<0&$e>@OM)Q)J_;#i^wYi+@{L?ygWAs-$oXhA{V;lYCww8D zML+N!7NV%Eyw>>eP*BuZ|6PZQ-YI~R)%EN!#j)>U(Gd-x^YIvqo6;A@`dMkZ;|L8^ zu&5@Xncp8<%#iF>4_H@#yIV}hq}M)$iGI%vHpiu;eW_O8=f$;snf!KZ(DUcXCesJn z1l>U+sWwYg-J;F1U?&(N!~(=4^JDT)L&)!Zuepx2Sd@L&OnS>^w#F_+dU%aNF~}iP zGnGBzsjgo3uyD--DwbqtT(-6PsKK^7LXJ4UfjP4=-KD;iLIZM~X?VQ~Z>wT|QbCX^|7 zWP1vMh9hIdA*AH}7-5aQ<(UdGD7<7Ytv zeL_=G;|9s1?&Z_EODWflSpsW|y!1RH(ga`O5-a+&A|oOpLeh+qwh#H~9}RqEvo9;Ru3{5MD`}o14*F^L^nF|Q z==*zjyM#9G-8XYL*%@ZrIeUB;x*g7%abA6q?(Dl1X5y>Qv4i#~p(@7=(s~loT0T(f z+Kn6`^vP!D+ZcYBbY>0DdoO*eexO6C5Jgqy10%t*glCUcV_{nR>C|US#I47x>aDSW zjIqxI{4}b}bC6`Ly-)C(Lih6|nk;y2e+!(NGG9bquXV$OW47-5A_;pw)?5i%l^xC_ zRs1|5>GuV8M|2OJiK<$Vg$}Yd4fyZc6fE`xpa61vg*{2|v*~q3MLaSEH1OHeOnnL; zW&nmFIs(PhS6Ji-G6lsXyix3BU=Q+{DN8HJ(G3~-;g7cY=+zdNQO(5vwoLuQNh#?OO&(!&l`6QCHG@;okFabQqDCoR|{S^AL}Yeky(A zN*`t!&bJTbk17v97#S%vK_s0zfhV0j(G;fbSSM`G$wXG(i3_7UJ8?S4S)p%EUriJ= zTSFjAIbGGGyqg#Gl<66Fm44aGlsMdfoD>S$J`q7#zFLJL5o<-`Y0NXB@S^UJC-f>> zXa4cbH?{wm3q@@D7>T6ndv++{54ny3!Pqq=vX>E8+MAm^kdT^ouP^mbTE<5|`0@OB z*~2KzjN6<9?M?8rBG>o53e-hD zAPL(H6TkMsr|fHJ(jE8qGv|JpdWYeg%H2aNs6u0#%a-vNp#8wAD#Rrk=T0S78olcz zMZ}bwH-6ddysu=6wlrJ|aqPHid~4N+{b7ejXt`_$Jlsd47R=PwGa}w)M>_W|&y{D2 z67E(u@OBFhW>rO4O^CeIxU#F#3DBU=2dQY1vQv?q)XyYi_Mqy8>-)VNLxb<7nD_&zO4P=!-8_?Fe%=IlQnspw0Sxe~Wi!MRj ziNvtxGO1>#i!}4$arl9r-Lv9W^Tskb9TDLpp;aCw&sUW$OW}$lF;izyg>m=#)=^P3 zox7!Xy4=JwTy053wJ07<%RKdoXmPLpiBJM6^0qG|3V3zxgBkl=l8Tz+*f~-A?bD=n z_f<=YhE2Q2g?z+2+j(<1s7>yZPNkkdv=oyq^Tsve)0MQ%@h$5Uj2~ijBNe2Z<c9>7uN`5^iMVd&g2G2k;eCXW^XCwd7zbPydP=vYjV|m>a6!$mzgQ`;MSMdeYJo zA>!GH%636^0>l}8KqEOlw$NR&ID8W}zBqc8QM0t{n1p&g?Ts#|#!1L1vqMJJ1e+G+ zZIfv#{Vio&^n0YLEJ_Rul%$)49^`;1J7eh#|C1UAbS$@h3+D_9V)-MjxJZ_)6pLj` zgXqX;7s1a5z01kZUrY$H7P`IpB1uvAY!>xPz=+P|6V<*@jFP>YrASHrY|3Cbr_Ymj zp!O+vavZv|*YCNBL7~$6aJVx8?^^YWddGdWm+8?%LR1yUEQaUkBWs>c_C*($InRj~ za*Po;;o#0ARO8}RROQWE%u&=Bqnz?Omv*Gc-CmFpk6Q*#h&+_brwVV)PwJ{In_s@YFmQ>Lxjy;AM^`T_$vaCa|6q521S!$POm6zM2wVXK#5yQHfV`l|A_}b{8 zpWM+i&ysv&*aW?W<>~r#v*>`3yB`aa&p8^+-`vP?c8%*`X_=07@~MB-evS?eD>ItU z>lM@DQ=t=}!=E zbMx{|Oiz~D*0PU`G#1$KU`aZ=re_uT8gK~N2Kwn0lTU(CGM3BAjZ7pvVlP5ioNPk& z6ZDAo^mY$kci&>cV$|^P@)XU__>PZyYe6v^j%mKt>J`wl3O)2ZJImi_Ne!erCf=Zi z`?j{@gi8ln@eK8q|A2ICD|&W9svl?eQn{WueP8OO2V3JI&fBo3LO?^lQ@GbSl;Cv@ zY$MoilN_qI83TS-?a^XM{PTfnCe*h-E6;_VQzcE}h>Tnr?=6sGA4tl=q)MxAswTBx za46oY9thWkr!EOT&C!>+AUJj?%0f8H%Rr2BTjFE}rC}g(z?q-gl$$8Q2ruxB$oh1a z?Rj++jQb89EFU^P?PU=1l|Y$)!y!hkA2j(QgBp?TlzCU&$Uw?L^`w>*o9!}M@%*5U z;PY1rU9|4)CGFK+@xGVXZ+j9x$U@%mZOx)7AL%XyE*vC}eIzOFY(Q(qv|;m1p}CC! z5425dfM!GT)sHd_1kNv<6;|ULl5&Gu)qxhhtD`zsq_qTaMfY$y#0&cN$#nxa1->2BUh98uJpZ(1{?4^ToI@sv?l9}~d~L%gaT3ZL zBai|eA&>AjqA|wGF65WV4`&V|wN4{G0nz8OWaQ1@$WuqS`Rr$QFd_~dnS+wD#aYXW z2J_?ma=^};Ope&lZeWjg{2OK;x}W&0uei;^*TL3=0)5bE7KF*;muZ}730s%x(IZ0* zFkL|6T+PnVc5u#;08AxKxV*{_0Tmy@KLDy4$r4}` zFjh=7Ks*d3MxllSm31kVsjEx5@s1v4@OIIkr7?C1kNGYx zC)_zAI2eA-neEJl9)?~_3OA4BzpZ2WoxOw{I%*_1Y(?$`XX3{zRpUhY{4;x;rmge? z0_5f}EJ_Bn)HJllXr^96#icT?+pP6ZK3KjbXay15B1#qs>%Lap`ts&)YLz-b7y1CX z&~a!Qb=1@s`5fr)u5;-QBLb8*fh9#d9XL3CqceWd!l)*SWJ*jgV^dsA4n?uE4c*cC zeQ2+;1%e6$5({S2Uu-uQ4QISaRjgV{pKJAT$+#siK4srw6{1)s+up-M?xoueFU86c z)oRWZzTt~&Sf(CQpZQ={&gzv2Qu>Zsac;47#ua@gOd~Sz-6OQDWdw9$kn+{$<7xkS zF|*2EZ()i6S5ybzYsWaix1~{2G|Cz@SedD+Okv=+CduAS4>ataj~=Bneb;!qH{iUJ zo<>hlf>R9GG&>wlz$Ao{O#QUGviiDGC9e_Z&`&?UqYC;ZExQffRr9?(sDbuSxpbjR zK=N$^xW&Ffb0{d0dX-_@%#)SHyg*XevEk!x%?0Ctb=J~hi+fESNGL12ggCGa-}AZkqllV|UN5Atx6dF5!4D-Tl7gqB#8-7t>&nY2r%&l-z!}bSGw6ND0h)3lrD=zBh*9z9;R^I*-awV(OOZYSjr9u<7IzJ`^?(D)00|Ew&T2#0Yt6=@rx)Z{%Jgq8J2i5| zvePD`)<5;FrfYDRvH^4LOHQNLh2YKcdvI$vvcO%DIUHv^mDc}mc)!Bfvwt+IEs4wH z5UX8r$-r+Zw9;sEpgMlLK9-4DTe;Wm>*2nB#1F!5aIi_W`bVUMFy6SZZxq>e^g4!pJQ_ihQ zK3i__G_v6snY>7vKK>X@gfc*nh(hKLOUEaaze=U-ELE4cYNDTE4HDuC^&Ln#*vK`< zKG2~h&3wIg@6skpv^Y6FKR(bo!4T@JY#$!_vBWK=E614zVs2)(UJ!P5MixAGaoo%eUQ;D3cWm);QD56a7(NzRuAF9N=Ga5HY6= zgLOG!guqs7f;G=?n?Qoj`nu7G(n_63`k-&8s}tN#;Fqg&bn-N+O8BTm7Md~!xg|dl z`Hk>`sx?t~H3q+_mNk8i*efA1vQ@K|h9S&$S5J*omh4mq%Gw{v1Fcc;F?p7S>xCg=IoQ3BN??DT&{^P0&x_BczW}M!4A&R5aeg; zh;!mA7?07Lchv=!IcC@~yiZoSZW!++6H7x;b;DAb`;ffz5t!`wB%zEHG86k;8USo* zzM1XW5UhOuI^@g8tQeFfwC8x<(Me4jSjP6W)~L#sUNElFHe@C5U@qph?UYylgS;aTb@*uDE7s3`MvoXjOuBn+D!L$)So`d zi<86U-yb|d*}9}_b_l9#3ZYssf&!5rnzkSriEi7^Fs<>7VPw%S z8h4Ohyc-nb2^}TsJ+_eg&ZZyoid}!TmC~rUaPI^JnPcGK*F`ub2p&8bAa`m0HRt>q zP1%9;HN-Ul@5gzf1~Te@_%%CFHv^;|{{utj34ZVj2aus=s1<T4rE;CuX!~KaQ`*sJbVR1z7p4PECF8rqCn=SUuj@@ZXiz0?FL}raqa*^#{Wlv z2t2|Kgsq`G2IwL^4)2hO<`KY(X$8W8M{WVDkCQ{?4?y$dTodC2d;ywOSJ%e>NrLGp zTkG$wmxaj42+jSWicwq-C9Q2m0^Mh-+HV62Ono)xVW(3+JJ;k~)u2FjGci4fQD&Os zG#5X&n>yhz=e6xi9}CYP=U1`#&2!+}ywd&6_O>C^K~FRurdyg;o7X2NHRHbRXf zAyvNytFmuN!gOz%NtDpyH0G_)!1845wt+@h0GvKIyKr{k^(>8#t6EvXW%N7vEWGU2rt((=In!P6zynMfKC~o&a}aEHyKI$zIzb?H$Y#Vp-3hEQnfs0RF`gogjgAwwbYwLB=@xeI-SWoT~{v;EbKYl|J7%-egL7l@Iu!tA{xEa}!k zbPOWIv`Qizd7!WS*?XoirSz^ba!xAk=jf~I#>?Aos_T0z0FTVuhoTgRkX zD=0SF(dP-0bCp7}B=^4uFc8BD@PFo)tEksc6rlR5>y@BIOM^u_mmueBCq~TjRFrjvF%?QjgyVkQp52m9 zt9Cn5{0-DAnLgTYL%P*j9JTNHe5!Pf!bm2`ma3!tXIqnLUqVGAwVIQGFimZKR4I=- zH8r3kMn)A&YdE8R)FMdlEMvJiyUPs{6qChCI%D*C5sT;6JFDPy&XyX-^Vg?KevWiq z(np#Tg|i)pbI@(nYDttwYwc4rF{4fdj_IMHrraPM)|5G}(@DudTb*99L<>|(Rzx)4 z3!bVVF|LD`Ko^nP*H9t1H>j;Z2|zK;6V> zkdTtwU5zZ%o4s;8>|bI#XKr(LKhz%U`1%Pr>;6WQydjKBUER@aPyVaIAtJWiS9h{% za(`IR9G~DVZS9*TvaoU24@%A1O`hz&zzTZ!GK*SZiAC)br*V4Z3FQu~xKCqzK^Ych zA8u(IBiCRN?b`W18T(zg|aSWP}>RcYNZ-&p&56rnecL+M#; zt!Cxj4W!v(#*51I>LWzObLlhteBMy>RyvaauS(q12R>&#qrBNUP4~B+e)Z z&nyug55F2<(RiLPpO+*lm0J1k8#AeumLv7)&D6^lwe2fw`{7rKEyq{iR2TH0RkZ9( z?}M_w_$AD1s+}=9(Fin|qPk~ihN0UN z_c6-E0XsyxJHnN$MnBQT3-q6o(NM-D7T51o=a<$O_~?;zM30%)@IeW~j~8x)p%TmB zV}+o&u)$YG3D&n*E-LTJ-I{a#Wulc5R_Z{X++mVk%B0#XzL9X#^PjQFt*Y8Z z$1yV&K7RT6ICnZ7Ko(Ju@T55Zb^iP7_ZmP7Ou+$Qe35IBQ<;M!T6yLjwYu-f~9u#VDP`C~meCi`Fyve4U`F zz^cjS;`h_dsnyk0RV)%e>#mNzPz0ndPkS1g4G$&>y!|TnQ-G_1Ey;C_0ctx)_9b(- zGtQN3gx}%IgI1+kPc={%E8Bu&XNU*S0-cx`O`@{Z%wgA^>(ee$Hd>Mt=Bkci8CNp5$$KYYv#%?23~JBV;_6Ns1-sjM|0cxQIROQ4SSgqRug5WZvH4q22lepM^Hg7uuwObhq9_Y9~5n*%eL2P3E64WXEeG zH|RJ9Sa;=pvF^;MaSqCG0(}Rg`@$uhDRskj!p6pZd zVqJvySQsEwkRBnQOz^Y0;GWvf#6W5kswtyuRdh1W$Wi1YK4&K01$gp5{v z)2>&7HSWk^1Z~H`zOwva$VX`NScE(bBE*laKJ+I(9Zi_Tm?p%XJMlgP(sK1;q8~~W ztHqAIdXNYYxoZfkT`&dUs(`sxep`q#Sa(K(4M~m#AhBi!XSt4-M*+{71=}t96GBvl zVmy;A#&UU*%KUTI8W@{Nan$n1()4DU0O42spkAO(BF3c`1Nf)j9#@~bZBn8WMwo7qdjr-C+4EczD|P3*E$5T zIWnfL44`3Ja>r{Q=qrH|vmzxTt9MeIqH*Cq&vgV*1=K$wP{r$J%Vd~kq%Q|wI^zq| z*a=%)#uKP*Lv`IS+DrGmVzxoWAL7{V+&AIqX2bHHNse+NPa;8eMy17+jr9pnHZP%Q zsIQ-Q?L>$oa_)wU!Z4|0NM|C^liBLs7)(DYBr~M<>Cfs3A7fGp1SnP%Ec}!1tv4A+}9bs}lBse!Sl zl9b=h734&K&`i>KV>4RVqzAfwym1~+6 z@f}SJ_dCcR`ozcwoGQ^$@76Y6RF_fG?dZ>zcU<<5Xq{f!VUZZaFun zPk@TD_b&l_T|DXXL#u8{Q zYW%zzrD|F_qYrBKkMEa*Jk*NyCl{JNL*G7k5e43TUZ z*}djkr8!{J6D_g%>6%m;RmXn9P*k28&6IIM>bAKhEVtG2cHs~%wNg_-uUML&Cyv{l zOF%c8Ym2%>VRq2eOwKvYUE0&|j4L?97yuD$u zSKY!Htd5})_d31wvAQ(!?_rMNt+ur)!#}ik(gQF#JD~m788F=l-wIMdP9?9b>JP2L+iT-O`WO839kA;a`RnNEC00ta@6ZHKHyVhG`ZC9(wrenFn z4tkcnQPfv2RNHJ_cV4DRn+Uy!(=cU={$Yuhe1bcHJxJO{P<4YbxDv}{^&VgddWy2s z!C&F7*6M<8-j|c-0&T91CwD?T8?AFk*`o+D;$5KZ5idPrJIA}Q8|NE5XS$m=zVW?q z(bo|!c11L^A#SUy0XGV1sgsjTZfa#CZ#Nbhx|_<*!uQLtd*I^~GRiYPVb#k+thF&x z%IEb?V;R2ikY*o_-G*zdw)e6CiE9~sG<3n<@Inr|)jX0B#WfOgHf9VBpveHJcWoNC zxF+3s1|bcHziXWxVMh{e45IU5wQwiR*Y^EPzr81?_9gH~+$SFD2_EWIl%z%J)5QR! zH@6Zm4E+uA+H5C`&{*3=O9Y?Fk$M8Bx)|Xa>{ucRCrR*TOuBUeKW~kqmC`Eu|bsm+?*^HP!#NiHPRli6y(|7O+Kh zF7^?)HW9>a?u6{PUwoXr(N?R8oWC;tVaOY;gr!x_|5&|iDx0yyfea+0n&J|`ACQvfxIy=gKe zwBTXC*t^i?;-DsLQXnDtS$*j!i5F5i&~|=$)$rx|+hv1GdrV7Mgr82CT+DkdhL!rCq0ExHtgcn zidsL`JA6$MkRi)z4U84kIrYG+iPjPAMQPIaIy;yO&rb90%8j20ZhxMguBTR@C1qkUpaY+YWWh5*! zgIBz!D&TYwuFwbJ;_=b2^4?RgQ&F#a0nhOdNwYSe41VrG0DUvsXOGLDIMa=h&2(UclANVF4onD3I+M1�AB5xqh zcrjo%9H1KfLz3lEt}B=g7l;e&fsQJNWdLL20+A`bv!Lt#U~ z!~fb$GTcM&Lx;HcJ%dPOh5GYj1^*~&5F(2Fp^#knPOC!5h7>6o6cqEHM5t**2$LR6 zhX=%bWKPVWzvhJmj^-zUg5vv&xquI0QbZvW;s1{!`^l2g9+3BrnV3*eynkhKp?k;# zUd97bJ&JdbaWsm8s2mA-Qwh0(>5q>V$D{ZzUQDniK9Ka0{pW2>e=GBX`!^dOJcti` z+@b={;{%C+-D(hkqE( zc@5E#ka}2w)EdWMb&+rK z4?7Cc30nM$AoioJ>cf(R3JxUyU73GIhv5FJfTg5I5zgd5@<$Qz z-S}){5{kt|&CmxwED1n5J%&$!hd+HF@7UF-qiQM!9GiqcG`B8&M_MZpf z|F-JK0=SI|$OvX7{oVim|4b$n6z5+RP_goh`honnwtpVN`@7@WZ#__{!R6Gysed}y zv;QS^eg~p1<-?IZ;zw2g^qv;_i>Z3@$h3a~zyiC|{O%BcZu$%SMPEI8q>s=5X&wb% zbqn>(LB{NSWGJY=1%C#BF_?jnQ3eu!pN|$u_tN6dmwEq`K{AAA;WNS)HN{kDSs*t#CBaYi zAX5Gv{l!`4#*`rEH!vBYpp^fT@?8CaZ}2FJ=Cj0{sDS^{spD50;wMx zx%M3@Rf}1OKHWgGt$bKS31w^pYHqBP!nL|DD6FlOOmDu{8i#FvN8O z7i`J&yCMJFoqYON8K^n`pXYr!0PBAi7cx73ZVziF0Hj?c|H>Lu_)k`1@HJ$7f3zm! z+4A!zkbb5Q$)ffb-L~wJ{;~ef?$4L(GJjQ(#Km8EQ2wV2{JFH2`YS8&$G=%0-^rt}{AWd_K!oj^F9|UP7Sbmu j|H^9z4+QUF0jY3R diff --git a/jars/sdkconfig.xml b/OutputRelease/sdkconfig.xml similarity index 99% rename from jars/sdkconfig.xml rename to OutputRelease/sdkconfig.xml index 8d7ea4a..80e36a3 100644 --- a/jars/sdkconfig.xml +++ b/OutputRelease/sdkconfig.xml @@ -56,7 +56,7 @@ - false + true 259200 diff --git a/README.md b/README.md index d0cbe8e..44b458d 100644 --- a/README.md +++ b/README.md @@ -1,233 +1,332 @@ +#Android SDK 部署指南 -###Android SDK 部署指南 -####步骤1:添加 Android SDK 到工程中 -* 将 SDK 的 `mma_android_sdk.jar` 拷贝到 libs 目录下并添加为 JAR 包; -* 将libMMASignature.so 拷贝到 libs\armeabi 目录下; -* 把sdkconfig.xml配置文件拷贝到工程里的assets目录下,同时将 sdkconfig.xml 上传到 web 服务器,使其可以通过 web 方式访问,假设其地址为 CONFIG_URL(其后会用到)。 +##适用范围 -对于Eclipse工程,请参照下面的步骤添加 JAR 包: +MMA Android SDK适用于 **Android 2.3.3(API Level 10)**及以上的设备。 -1. 在 “Package Explorer” 窗口中右击你的工程并选择 “Properties” -2. 在左侧面板中选择 “Java Build Path” -3. 在主窗口中选择 “Libraries” -4. 点击“Add JARs…”按钮 -5. 选择拷贝到libs目录下的`mma_android_sdk.jar` -6. 点击 “OK” 完成添加。 -####步骤2:修改 AndroidManifest.xml 文件 -修改 AndroidManifest.xml 文件,新增网络连接请求和读取手机状态的权限: -``` - - - - +## 集成SDK + +### 导入SDK + +请根据所用IDE选择导入方式: + +#### Eclipse ADT + +将 SDK 中的 `jar` 文件拷贝到工程的 `libs` 文件夹中:右键选择jar包 **-->** **Build Path --> Add to Build Path**。 + +#### Android Studio + +1. 在 Android Studio 项目的 `app` 文件夹中,新建 `libs` 文件夹。 +2. 将 SDK `jar` 文件拷贝到新建的 `libs` 文件夹中。 +3. 修改 `app` 文件夹中的 `build.gradle` 文件,添加 `dependencies` 依赖项: ``` +dependencies { + … + compile files('libs/mmachina_sdk.jar') + … + } +``` + +###导入签名库 + +将SDK中的 `libMMASignature.so` 文件拷贝到工程 `libs/armeabi` 目录下, SDK `lib_abi` 目录下对应不同CPU架构下的库文件,建议拷贝该目录下所有到工程 **app/libs **文件夹下,如果考虑APK大小,至少要包含主流架构:`armeabi`、`armeabi-v7a`、`arm64-v8a`。 + +### 导入离线配置 + +将 `sdkconfig.xml` 配置文件拷贝到工程的 `assets` 目录下,在网络不好或者离线状态下读取缺省配置可以正常监测。同时 **配置文件** 上传到 web 服务器,使其可以通过 web 方式访问,便于后期灵活远程变更配置。 + -####步骤3:为广告添加监测代码 -在有广告监测需求的 Activity 中的 onStart() 方法中调用,进行初始化,其中 CONFIG_URL 为远程配置文件的地址 + +### 配置权限 + +#### 常规权限 + +满足基本监测需要如下权限: + +| 权限 | 用途 | +| -------------------- | ---------------------------------- | +| INTERNET | 允许程序联网和上报监测数据。 | +| ACCESS_NETWORK_STATE | 允许检测网络连接状态,在网络异常状态下避免数据发送,节省流量和电量。 | +| READ_PHONE_STATE | 允许访问手机设备的信息,通过获取的信息来唯一标识用户。 | +| ACCESS_WIFI_STATE | 允许读取WiFi相关信息,在合适的网络环境下更新配置。 | + +#### 扩展权限 + +在基本监测的基础上,如果想要回传**位置相关信息**,除了监测代码对应**sdkconfig**内**Company**标签的项设置为**true**,还额外需要如下权限: + +| 权限 | 用途 | +| ---------------------- | --------------------- | +| ACCESS_FINE_LOCATION | 通过GPS方式获取位置信息。 | +| ACCESS_COARSE_LOCATION | 通过WiFi或移动基站的方式获取位置信息。 | + +示例代码 ``` -Countly.sharedInstance().init(this, CONFIG_URL); + + + + + + + + + + + + + ...... + + + ``` -**普通广告曝光监测**:当广告产生曝光时,控制触发以下代码进行曝光监测。 +### 引入类 + +在您需要使用 MMASDK 监测功能的类中,**import** 相关类: ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onExpose(TEST_TRACKING_URL); +import cn.com.mma.mobile.tracking.api.Countly; +``` + +### SDK初始化 +接口定义: + +``` +public void init(Context context, String configURL) ``` -**可见性广告曝光监测**:当广告产生曝光时,控制触发以下代码进行曝光监测。第一个参数为曝光监测代码,第二个参数为当前广告展示视图对象。 -**注意:对于需要监测广告可视化的广告监测,第二个参数(广告视图对象)为必选项,且媒体需要传入当前广告展示的视图对象,否则可能造成SDK无法监测当前广告可视化的情况出现** +参数说明: + +| 参数 | 类型 | 说明 | +| --------- | ------- | ------------------- | +| context | Context | APP or Activity 上下文 | +| configURL | String | 更新sdkconfig配置的远程地址 | +代码示例:在您的工程中的 Application 或者 Activity 中的 **onCreate** 中添加如下代码: + +``` +Countly.sharedInstance().init(this, "sdkconfig远程地址"); ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onExpose(TEST_TRACKING_URL,adView); + + + +###曝光监测 + +接口定义: ``` +public void onExpose(String adURL) +``` + +参数说明: + +| 参数 | 类型 | 说明 | +| ----- | ------ | --------- | +| adURL | String | 广告位曝光监测代码 | -**可见性视频广告曝光监测**:当视频广告产生曝光时,控制触发以下代码进行曝光监测。第一个参数为曝光监测代码,第二个参数为当前广告展示视频视图对象。 -**注意:对于需要监测广告可视化的视频广告监测,第二个参数(视频视图对象)为必选项,且媒体需要传入当前广告展示的视图对象,否则可能造成SDK无法监测当前视频广告可视化的情况出现** +示例代码: ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onVideoExpose(TEST_TRACKING_URL,videoView); +Countly.sharedInstance().onExpose("http://example.com/axxx,bxxxx,c2,i0,h"); +``` + + +### 点击监测 + +接口定义: + +``` +public void onClick(String adURL) ``` -**可见性广告监测停止**:当广告播放结束时,控制触发以下代码停止监测。参数为曝光监测代码。 +参数说明: +| 参数 | 类型 | 说明 | +| ----- | ------ | --------- | +| adURL | String | 广告位点击监测代码 | + +示例代码: + +``` +Countly.sharedInstance().onExpose("http://example.com/axxx,bxxxx,c3,i0,h"); ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().stop(TEST_TRACKING_URL); + + +### 可见性曝光监测 + +接口定义: + +``` +public void onExpose(String adURL, View adView) ``` -**可见性广告曝光JS监测**:当广告产生曝光时,控制触发以下代码使用JS方案进行曝光监测。第一个参数为曝光监测代码,第二个参数为当前广告展示视图对象。 +参数说明: + +| 参数 | 类型 | 说明 | +| ------ | ------ | --------- | +| adURL | String | 广告位曝光监测代码 | +| adView | View | 广告展示视图对象 | +注意:对于需要可见性曝光的广告监测,第二个参数(**View**)为必选项,且需要传入当前广告展示的视图对象,否则可能造成SDK无法成功可见性曝光监测。 + +示例代码: + +``` +Countly.sharedInstance().onExpose("http://vxyz.admaster.com.cn/w/a86218,b1778712,c2343,i0,m202,8a2,8b2,2j,h",adview); ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onJsExpose(TEST_TRACKING_URL,adView); + + +### 可见性视频曝光监测 + +接口定义: + +``` +public void onVideoExpose(String adURL, View videoView, int videoPlayType) ``` +参数说明: + +| 参数 | 类型 | 说明 | +| ------------- | ------ | ------------------------------ | +| adURL | String | 广告位曝光监测代码 | +| videoView | View | 视频广告展示视图对象 | +| videoPlayType | int | 视频播放类型
1-自动播放,2-手动播放,0-无法识别 | +注意:对于需要可见性视频曝光的广告监测,第二个参数(**View**)为必选项,需要传入当前广告展示的视图对象且监测代码需要配置**视频时长及进度监测点**,否则可能造成SDK无法成功可见性视频曝光监测。 -**可见性视频广告曝光JS监测**:当视频广告产生曝光时,控制触发以下代码使用JS方案进行曝光监测,第一个参数为曝光监测代码,第二个参数为当前广告展示视频视图对象。 +示例代码: ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onVideoJsExpose(TEST_TRACKING_URL,videoView); + String adURL = "http://v.admaster.com.cn/i/a90981,b1899468,c2,i0,m202,8a2,8b2,2p,2u2,2g,2f=3,2v50,2w15,2x0010,va1,2a2p,2j,2d1234,h"; + Countly.sharedInstance().onVideoExpose(adURL, adView, 2); +``` + + +### 停止可见性监测 + +接口定义: + +``` +public void stop(String adURL) ``` +参数说明: +| 参数 | 类型 | 说明 | +| ----- | ------ | --------- | +| adURL | String | 广告位曝光监测代码 | -**广告点击监测**:当广告被点击时,控制触发以下代码 +SDK提供主动关闭可见性监测的功能,需要传入**已经开启可见性监测的广告位曝光监测代码**,如果传入错位的监测代码可能导致停止不生效。 +示例代码: + +``` + String adURL = "http://vxyz.admaster.com.cn/w/a86218,b1778712,c2343,i0,m202,8a2,8b2,2j,h"; + Countly.sharedInstance().onExpose(adURL, adView); + new Handler().postDelayed(new Runnable(){ + public void run() { + //5s后停止监测 + Countly.sharedInstance().stop(adURL); + } + }, 5000); ``` -String TEST_TRACKING_URL = "http://example.com/xxxxxx";//TEST_TRACKING_URL 为对应的曝光代码 -Countly.sharedInstance().onClick(TEST_TRACKING_URL); + + + +### 可见性曝光JS监测 + +接口定义: ``` +public void onJSExpose(String adURL, View adView) +public void onJSVideoExpose(String adURL, View adView) +``` + +参数说明: + +| 参数 | 类型 | 说明 | +| ------ | ------ | --------- | +| adURL | String | 广告位曝光监测代码 | +| adView | View | 广告展示视图对象 | -代码示例(具体请见 demo 项目源码) +SDK提供通过 `JS方式` 对广告进行可见性监测,需要在 `sdkconfig` 添加JS监测配置,且需要传入当前广告展示的视图对象,否则可能造成SDK无法进行可见性曝光JS监测。 +示例代码: + +``` +String adURL = "http://vxyz.admaster.com.cn/w/a86218,b1778712,c2343,i0,m202,8a2,8b2,2j,h"; +Countly.sharedInstance().onJSExpose(adURL, adView); +Countly.sharedInstance().onJSVideoExpose(adURL, adView); ``` -package com.mmandroid_demo; -import android.app.Activity; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.widget.TextView; -import cn.com.mma.mobile.tracking.api.Countly; -/** - * 此工程是为使用SDK的用户提供的demo - * - */ -public class MainActivity extends Activity { - - /** - * sdkconfig.xml配置文件服务器存放地址 - */ - public static final String CONFIG_URL = ""; - private static final String TAG = MainActivity.class.getSimpleName(); - /** - * 点击监测地址 - */ - public static final String TEST_TRACKING_URL = "http://example.com/xxxxxx"; - - private TextView adView; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - adView = (TextView) findViewById(R.id.adview); - - // MMA SDK 初始化 - Countly.sharedInstance().setLogState(true); - Countly.sharedInstance().init(this, CONFIG_URL); - - } - - /** - * 点击监测 - * - * @param view - */ - public void doClick(View view) { - Countly.sharedInstance().onClick(TEST_TRACKING_URL); - Log.d(TAG, "[click] 目标链接:" + TEST_TRACKING_URL); - } - - /** - * 曝光监测 - * - * @param view - */ - public void doExpose(View view) { - Countly.sharedInstance().onExpose(TEST_TRACKING_URL); - Log.d(TAG, "[expose] 目标链接:" + TEST_TRACKING_URL); - } - - /** - * 可视化曝光监测 - * - * @param view - */ - public void doViewAbilityExpose(View view) { - Countly.sharedInstance().onExpose(TEST_TRACKING_URL, adView); - Log.d(TAG, "[ViewAbilityExpose] 目标链接:" + TEST_TRACKING_URL); - } - - /** - * 停止可视化曝光监测,广告播放结束时调用 - * - * @param tracking_url - */ - public void stopViewAbilityExpose() { - Countly.sharedInstance().stop(TEST_TRACKING_URL); - Log.d(TAG, "[Stop ViewAbilityExpose] 目标链接:" + TEST_TRACKING_URL); - } - - /** - * 可视化曝光JS监测 - * - * @param view - */ - public void doViewAbilityJSExpose(View view) { - Countly.sharedInstance().onJSExpose(TEST_TRACKING_URL, adView); - Log.d(TAG, "[ViewAbilityJSExpose] 目标链接:" + TEST_TRACKING_URL); - } - -} -``` -####步骤4:验证和调试 -SDK 的测试有两个方面: - 1. 参数是否齐全,URL 拼接方式是否正确 - 2. 请求次数和第三方监测平台是否能对应上 +### 调试模式 + +调试模式下,SDK会有LOG输出,APP发布时建议不要开启。(请在**初始化之前设置Log开关**,默认为false)。 + +接口定义: -请联系第三方监测平台完成测试。 +``` +public void setLogState(boolean debugmode) +``` -### 位置信息获取配置 +参数说明: -想要获取位置信息,需要如下两步: +| 参数 | 类型 | 说明 | +| --------- | ------- | ------------------------------- | +| debugmode | boolean | true为打开SDK Log, false为关闭SDK Log | -* 在AndroidManifest.xml 文件添加相关权限: +示例代码: ``` - - - +Countly.sharedInstance().setLogState(true); ``` -* 监测代码对应的sdkconfig内Company标签的项设置为**true**。 +### 释放内存 + +SDK提供释放内存的接口,一般在应用即将退出时调用,或者等待系统内存管理自动释放。 - ​ +接口定义: -如果不想开启定位服务,需要**sdkconfig内将所有Company标签内的设置为false**。 +``` +public void terminateSDK() +``` + +示例代码: + +``` +Countly.sharedInstance().terminateSDK(); +``` ### 混淆配置 -如果APP使用了混淆技术,以防SDK被混淆报错,需要在混淆配置里添加如下代码: +如果开发者的应用需要混淆,请在 `Proguard` 混淆配置文件中增加以下规则,以避免 SDK 不可用。 ``` -# SDK开源,集成的Library(Jar)本身无混淆,二次混淆与否不影响 -#-keep class cn.com.mma.** { *; } -#-keep class cn.mmachina.**{*;} -#-dontwarn cn.com.mma.** -#-dontwarn cn.mmachina.** # SDK用到了v4包里的API,请确保v4相关support包不被混淆 -#-keep class android.support.v4.** { *; } -#-dontwarn android.support.v4.** +-keep class android.support.v4.** { *; } +-dontwarn android.support.v4.** ``` + + +## 验证和调试 + +SDK 的测试有两个方面: + +1. 参数是否齐全,URL 拼接方式是否正确。 +2. 请求次数和第三方监测平台是否能对应上。 + +请联系第三方监测平台完成测试。 \ No newline at end of file -- Gitee