diff --git a/Logs/resetWorkspace-LineageOS-17.1.txt b/Logs/resetWorkspace-LineageOS-17.1.txt index ece8cfa3..41e405c6 100644 --- a/Logs/resetWorkspace-LineageOS-17.1.txt +++ b/Logs/resetWorkspace-LineageOS-17.1.txt @@ -150,7 +150,7 @@ external/grpc-grpc-java 9b4f1a6db99b7cb7d46320e25e32317853b500dc external/guava 6501bf9c8011e09d21905a4cf263d6f5625d1465 external/guice 0cb6b120e56be5ac654ef6bc0a9bf1d71905193f external/hamcrest 3d96516e09640e606da166e1dff54fb65c9a3a35 -external/hardened_malloc 526ccd915180ae9d0464f4e92c1c485c2ec91dec +external/hardened_malloc 749640c274d54e084505a24fa758bcb5f96a25ef external/harfbuzz_ng 5c6da22b1751b83076979c8d16f48054a7c58b19 external/honggfuzz b7bc4c1a1a355ba5f92bd70520eb2af461324a14 external/hyphenation-patterns e5b0bea19621cc2467eca1d7ccbaf2b69f667862 diff --git a/Manifests/Manifest_LAOS-17.1.xml b/Manifests/Manifest_LAOS-17.1.xml index d8308734..3effe052 100644 --- a/Manifests/Manifest_LAOS-17.1.xml +++ b/Manifests/Manifest_LAOS-17.1.xml @@ -75,7 +75,7 @@ - + diff --git a/Patches/Common/android_external_hardened_malloc/0001-Broken_Audio.patch b/Patches/Common/android_external_hardened_malloc-legacy/0001-Broken_Audio.patch similarity index 100% rename from Patches/Common/android_external_hardened_malloc/0001-Broken_Audio.patch rename to Patches/Common/android_external_hardened_malloc-legacy/0001-Broken_Audio.patch diff --git a/Patches/Common/android_external_hardened_malloc/0002-Broken_Cameras.patch b/Patches/Common/android_external_hardened_malloc-legacy/0002-Broken_Cameras.patch similarity index 100% rename from Patches/Common/android_external_hardened_malloc/0002-Broken_Cameras.patch rename to Patches/Common/android_external_hardened_malloc-legacy/0002-Broken_Cameras.patch diff --git a/Patches/LineageOS-18.1/android_external_hardened_malloc/0001-Broken_Cameras-1.patch b/Patches/Common/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch similarity index 100% rename from Patches/LineageOS-18.1/android_external_hardened_malloc/0001-Broken_Cameras-1.patch rename to Patches/Common/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch diff --git a/Patches/LineageOS-18.1/android_external_hardened_malloc/0001-Broken_Cameras-2.patch b/Patches/Common/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch similarity index 100% rename from Patches/LineageOS-18.1/android_external_hardened_malloc/0001-Broken_Cameras-2.patch rename to Patches/Common/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch diff --git a/Patches/LineageOS-18.1/android_external_hardened_malloc/0002-Broken_Displays.patch b/Patches/Common/android_external_hardened_malloc-modern/0002-Broken_Displays.patch similarity index 100% rename from Patches/LineageOS-18.1/android_external_hardened_malloc/0002-Broken_Displays.patch rename to Patches/Common/android_external_hardened_malloc-modern/0002-Broken_Displays.patch diff --git a/Patches/LineageOS-16.0/android_external_hardened_malloc/0001-Broken_Audio.patch b/Patches/Common/android_external_hardened_malloc-modern/0003-Broken_Audio.patch similarity index 52% rename from Patches/LineageOS-16.0/android_external_hardened_malloc/0001-Broken_Audio.patch rename to Patches/Common/android_external_hardened_malloc-modern/0003-Broken_Audio.patch index 04d13455..e6de63c2 100644 --- a/Patches/LineageOS-16.0/android_external_hardened_malloc/0001-Broken_Audio.patch +++ b/Patches/Common/android_external_hardened_malloc-modern/0003-Broken_Audio.patch @@ -4,14 +4,14 @@ Date: Thu, 28 May 2020 20:19:14 -0400 Subject: [PATCH] workaround for audio service sorting bug --- - h_malloc.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) + h_malloc.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/h_malloc.c b/h_malloc.c -index 8d15ab2..dbedbd4 100644 +index 6c3b148..4090b0c 100644 --- a/h_malloc.c +++ b/h_malloc.c -@@ -85,6 +85,7 @@ static union { +@@ -83,6 +83,7 @@ static union { bool zero_on_free; bool purge_slabs; bool region_quarantine_protect; @@ -19,29 +19,16 @@ index 8d15ab2..dbedbd4 100644 }; char padding[PAGE_SIZE]; } ro __attribute__((aligned(PAGE_SIZE))); -@@ -355,7 +356,7 @@ static u64 get_mask(size_t slots) { +@@ -386,7 +387,7 @@ static u64 get_mask(size_t slots) { } - static size_t get_free_slot(struct random_state *rng, size_t slots, struct slab_metadata *metadata) { + static size_t get_free_slot(struct random_state *rng, size_t slots, const struct slab_metadata *metadata) { - if (SLOT_RANDOMIZE) { + if (ro.slot_randomize) { // randomize start location for linear search (uniform random choice is too slow) - unsigned random_index = get_random_u16_uniform(rng, slots); - unsigned first_bitmap = random_index / 64; -@@ -1061,17 +1062,24 @@ static inline void enforce_init(void) { - } - } - --COLD static void handle_hal_bugs(void) { -+COLD static void handle_bugs(void) { - char path[256]; - if (readlink("/proc/self/exe", path, sizeof(path)) == -1) { - return; - } -+ - const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; - if (strcmp(camera_provider, path) == 0) { - ro.zero_on_free = false; + size_t random_index = get_random_u16_uniform(rng, slots); + size_t first_bitmap = random_index / U64_WIDTH; +@@ -1218,6 +1219,12 @@ COLD static void handle_bugs(void) { ro.purge_slabs = false; ro.region_quarantine_protect = false; } @@ -53,14 +40,12 @@ index 8d15ab2..dbedbd4 100644 + } } - COLD static void init_slow_path(void) { -@@ -1100,7 +1108,8 @@ COLD static void init_slow_path(void) { + static struct mutex init_lock = MUTEX_INITIALIZER; +@@ -1238,6 +1245,7 @@ COLD static void init_slow_path(void) { ro.purge_slabs = true; ro.zero_on_free = ZERO_ON_FREE; ro.region_quarantine_protect = true; -- handle_hal_bugs(); + ro.slot_randomize = SLOT_RANDOMIZE; -+ handle_bugs(); + handle_bugs(); - if (sysconf(_SC_PAGESIZE) != PAGE_SIZE) { - fatal_error("page size mismatch"); + if (unlikely(sysconf(_SC_PAGESIZE) != PAGE_SIZE)) { diff --git a/Patches/LineageOS-16.0/android_external_hardened_malloc/0002-Broken_Cameras.patch b/Patches/LineageOS-16.0/android_external_hardened_malloc/0002-Broken_Cameras.patch deleted file mode 100644 index 0771cc4e..00000000 --- a/Patches/LineageOS-16.0/android_external_hardened_malloc/0002-Broken_Cameras.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 15 Mar 2022 22:18:26 -0400 -Subject: [PATCH] Expand workaround to all camera executables - -Signed-off-by: Tad -Change-Id: I23513ec0379bbb10829f989690334e9704fd20e2 ---- - h_malloc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/h_malloc.c b/h_malloc.c -index dbedbd4..d0cf881 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1069,7 +1069,8 @@ COLD static void handle_bugs(void) { - } - - const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -- if (strcmp(camera_provider, path) == 0) { -+ // Any camera executable on system partition -+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0))) { - ro.zero_on_free = false; - ro.purge_slabs = false; - ro.region_quarantine_protect = false; diff --git a/Patches/LineageOS-17.1/android_external_hardened_malloc/0001-Broken_Cameras.patch b/Patches/LineageOS-17.1/android_external_hardened_malloc/0001-Broken_Cameras.patch deleted file mode 100644 index db6c60a2..00000000 --- a/Patches/LineageOS-17.1/android_external_hardened_malloc/0001-Broken_Cameras.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 15 Mar 2022 22:18:26 -0400 -Subject: [PATCH] Expand workaround to all camera executables - -Signed-off-by: Tad -Change-Id: I23513ec0379bbb10829f989690334e9704fd20e2 ---- - h_malloc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/h_malloc.c b/h_malloc.c -index de693c9..f680fa6 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1058,7 +1058,8 @@ COLD static void handle_bugs(void) { - } - - const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -- if (strcmp(camera_provider, path) == 0) { -+ // Any camera executable on system partition -+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0))) { - ro.zero_on_free = false; - ro.purge_slabs = false; - ro.region_quarantine_protect = false; diff --git a/Patches/LineageOS-17.1/android_tools_apksig/360973-backport.patch b/Patches/LineageOS-17.1/android_tools_apksig/360973-backport.patch index 2b3d5ac6..1a0de012 100644 --- a/Patches/LineageOS-17.1/android_tools_apksig/360973-backport.patch +++ b/Patches/LineageOS-17.1/android_tools_apksig/360973-backport.patch @@ -344,260 +344,260 @@ new file mode 100644 index 0000000000000000000000000000000000000000..198beeb651079d24338984de7f32e8e0c7b4ff78 GIT binary patch literal 18389 -zcmeIabyQr-5-&VB!9s#da0$WP-9mssa0%}2?(P=c-Q9x+_rcwQ1ef3rZ*nxrJ?DJq -ze($fh*6mrnT4wfd*RI{w)m>FR(&7-1Z~y=-0F($h2tN);c|rgH-!c*a5@4-oV_|2l -zqh~{-Wo@JLFaQ960}y`s77X-zFaR!~0#t&2{A&VrzWluoDp5dL5R{RT<&4ao2>2~6 -z3G^+j2?XV20R+^l-C3Pwot2#}1f71Jt(~m|Js&#jx?>4C1G=-iGYBlq^$2VoEC_53 -zt@ZTO00ew%o)K%FW#53-JWD_gf?qp8pg*)hH~66qy4kPoZ*+kZfOUZb03M*K7Qh^! -z3$O-Q0E|E-4XAAi`q%*U06G9WP`?qt7T^Tx*8!C_pwbr9V-D*1^>^RE{@+dnpmzmg -z1wal|etVbS(zo}?1S-Gv|B^soko;Z;l`x2ftpt|MCpo>A}FT?bo@b%1<`2XAce2@R_8U6`h%UVg`{|5gXPozQeiVA>*{dQkMj_=XF -zNgKbpuC;}cuB4W^k-nadEsdj@X_#D-ISM~2cT+N(KS>Xtw@xotFe)sC3HVC_Ar$cE -zuf4#9;5c+rG__Jgc~9 -zjNnItmF|v*EztbP!{M@O@oXf}P3Km^l{7qXMTj1NhYZt2zQ%bReI<yZX7jzat(dIt3q2LBw{RHDL6tCdzd{E$f8q6F0uQl- -zaX|r-Xy%Ll`fY~-?!0-IqAg3qJ5N{>-Etd@HE8o)iZaUTffbX*^7T4_SKGzb5p`*4 -z9~=$dnC-IE5W8qQrAFT^vz2Oj%2Pgc){G=Xpz4wRfXw$Y`PWF>e{xHxbDn -z3>eCk7#2(VDcpr+d*h--rhDO84x#WYj&?Pq#bICpC+b@EpfMW={ZGRd9yDxq -zOtoxmKuShe&oL}U(hxLUdsoc$S&fowqt)cdp8*DS|(Uq1_f%?i|%Ka=kAA%OLMBemAf${9_D7@M?FZ*kG` -z*qrK?=)`WoGtX;@px}YVW6(nG6XIY_>*naNzVJrds)R|7{RtT#7GN_!oQ&V?2GLWE -z;GSL=ZLC`f;uHSa=Uk`*!Wu|wQJl_p?D_bY@A;RBSE9HHJ*xvF76tGKEF#li!vJ@L -z8Tw!ufZ52@huHWnx50Jh{TASV5#$x9rwQ4_>#?TUApG9$%13z2#$sI0qA$?FdE -zX&qM)?{2qae8!4mrpjf04G{O0 -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 -zEdXJvXh3)%(%Z_KU-#u>y8la`VV% -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 -z_DLu*e2MNaKG( -z^lyY{*tuAK7bHYnAR+p}to{cZf03dp%^#&`0whJT|0G43ASt3jhNt~aind{wC|!&u -z$mIWx6rn?J`uF&6lKJO-GscJzl!3*V5NN;DB>;?dKAA$X&_y;P80tY{i4S^a48};z -zS&ae_QZhmjmsLBlGS}=h(lpLuB>t%~Sbu%kDYxA~!~JsJIbG|rY(ExkMCEz8&C$E~ -zx6fnMif;`)o}ViFRY4~fHPF0y`kOdW$NVBrg(;4*$wBK8;+Kkblt)qzk6Bh6G|PN= -zB&9<{S_IPs*21$)ItDdfhV@YbtHpR*k7FeUZ!y2OTq1$%KZS-+B!fC1n!>3c;ys(n -zIq7Q@8~mWB_=q^3XqV&?Uw67U!x(`D%Rs^K{>>FNC2iWN&22d(@UZQb|0%aJ2Jd}S -zq}CiSMQPY6?+~NuKE2^SWKWnESDmGBICyA*j~^~2LT8eVKx2C+nc2@=N{ePks^k8zoO$2(E&OCuKf3xB#8!{ -zCSl?zVI~PSD4oY(!B$lINa|_p>P(sIYDsIq)z)lqCu*?GZ!ukkj6R$u4jG|)yKFw_ -zG`6;s#dtEJ3*<1qdt*HE=p?DEr2B;yQC@Xo?i^@lXFnluo@RzD@z7RmCn(h0HnS{c -zK5~8hFt{teYb}cwZq|0<5HDPQU)4XvsNH&8@*Y?7vjG9TZ3q>92xds%Wi=1H2JS)h -z6i|(AsYBmK@3Q?i5&DF{NDuu9L?!e-oFgBcud)(i0v6UIaR8DHnGZj9G-2oC^?c=? -zszIL}US$3KM1~?0yWM!0xIIprS>*z-XszC&NPj5RZ4jSU-X*{Dd|0K-AFAMs_BM2W -zZYYuJtng+`5tcZK`}IBjvZ1lZ(Pm#qZT-q(>;A&xR;Q~==Sm?DG+GBy{c}VdMI5Fw -zKufYr+Va3Y5w8C`^e@#UqX+epoP6{b%1P7WP+VOmeJ+~X|_X16UG;=XV#OP -zR`le@p^cCGL87gkSa|AY=N#)(g-sp*pbr0IF~rP3|37W`Z?qwv#7Dn8ketGRyrX}~ -z#b0DqU;hVXxC4^a2^f%XK+qjRodxL2^0Y@zADv7@0UE;GSD*(DW#6V9cMgT8;U$tR`S%VgDej*jU2f%PJF)1zA%E24@gtN-kRJ>&O^d -zobCD45vion@NT`CV8$B-ro(Ak|&mWB8`C;aK=Z@^)$Ohg^;4!{sIi -z4koKRZ2eV>rqLaGKKW54<5U_Qcm?#kkhC9JjfPq -zlRX_f{oVb-{2AFm{k;vw;A#N5A_+}dTwhUz+tD!#^_w>~sd0mk)mZr^dFqz~;>N*E -zcIq6pySxxZ50V1+eaDjC1*B4Hygw;4B=CNj_WZGOb>tg#QaRPk#^Ct@=ohs{&_eI=SPP^lEXPR!Cu$$!P1eD -zkFr9$+2>OukEav|>bLZ}=Jf;eE_Iv(r*RsL>MY%wH`t09=~QZEM;5&5`Hm-R7yG@5 -z`?+E1Zo(w2<;(wmYe;Yf&^`zmR1mw941mz!W%YU#DQ~_-{jed-s$OXktrNBg2 -zQ(KFG9B5*wuW4#(XsB&$u8l+^8s#5fqC@UCVc2Y6O|<11+s=-44KogAR_t{H3S#9+tgwTzq2t -zqvMgiq-p035fPSh`pg>k4YzxIk6lhqMODvku^$Ru%u+Nt0*s=cOKBbTJGAXx2ixDY -zP^sH{TsIQ$I6QK+m_N4(VMRw%&Ck!z@#rnG%i`=s)#z!#lSN+~d(Twcq1mk{h7^Xd -zHTTNN4+Y6lx!m2-!>HN0*2!@yLMj3dh2gm}IfMGwfxtQSv4hwy0$SaQgOJD-=*|z6?Iz -zNyjb&BW99PUGXkb8j9&NR}(vz`&;|uWSn#wQrE35GDIK7q?W@HvuAJ1ZmR9{xjbwg -zHN!*j`uBxa7g<{NfGt63ULm?L!E* -z!4k!WC6cAO2W2f&R!w`Yd(`Jbfld6L2I^!7eZ^&`LdX65i!3yc7I>DTjRE=Na~t48 -z<>NLPG%$>I3XbgXOc_T#C#TxHnld8E>i$w??{lZeIwg7Ez2m`@jrn>_&CVuc-BEQ> -zigArOFdNuPEh&zejM?I~1ALJni-1~@r%;3Il@cvIK_`wv?DNF}`tqUhfq!en$~4_- -zRZHi-`_oP?x)E7^8(WKQI#$sau8Fq`yc?U~QELt81J8`$eWTSEB(z+5HWM(8Gk4oX -zJAEWfkX$z-rdVt53(plxU1YDYm%)e2lRaWscx1&K`v=!`Uev4+J-or|pIzd@ML~M?3UiBWzH+2S -zOx#ogWqETr!Af}MDB$8`nWCIkt!(Jdalm}3ClAe-^u>sK8rL@cdi&Ak%{!Xu=sXis -z*$Zx>N2@V4?#tX%cv2kwT}X?MH%!N!-O_nIb9)g=D&4)tGa`jhs)NlSkF+Dfe=|EX -z(Xs!}9Qd#HSy}oaY#gAF{XkIukJ?B8`pPsInNCC3=3^sT#2nF -z42?{1>@G4$3$le_jTMW-U&BtJ7mnKXa_knp$}%je@n<%bi^&2`56@@Fuifno0rwy5 -zZ?9=^n -z77i75#;?czq=qN3J!8zd(O>D_#QM1sf?*)bRnuK-5V-99c_eT?Bb#S+oi -zW;Erlep78mTpK1Qt`^2frV*LTAqi}R!5Vt#K;ckhs8FGGFv)-uJNzOXZ?;UZ#qxv? -zocHX#>*%bOa&A+~4v#l&=2}?J>HbhMwxFf)8o{RV(&|gGCxVIk-X}w!p=acaRrfLz -zje4-k6(WV{gU9A)gI|cEHkYTl9x)$973xRWNwkzDG0dBNnS8}a5i}R7zl&g*(mmIRYXKG9O+$j6IYun=ZS -zWj7)`^rHuUk$z`o7#OL>Ht~x@gYjybtyO*-pJh!t-P(KiCg3YiWYRI}i?r)sEiMNp -zlB#ei+P$6vpgFknI3R$zsXi2ioko^kTL%?$T8z9^F$u=rGCex+e>3A$aZ#C~qdFj^ -z7-Ld6zb^VR_kog)O}t8@t9pr2B-_mt_%%XFt9b3)LZ$9w*BtLrMHAq35b?D!h*%;V3xg -zD74&sNcaa50{GYPbr|mR(#6;OjlQh+qas$Pp@mJX1t(@D(0x8t8%OY6ZBL{&7{#_lM -zxGd4z%<-*ie3y=M;nooRGc3vpDbQ?SyQ-olN-+y!R@$j>)6`$=BK4l=(zL@h3mSTf+>+W -zn6@z&+?SYVeyno!g^!3KRznxn+wed52!@72ZgOoIuA|9_jJ+y`%4OzZd-^~+_MVHk -zw&aVcN!hW|GxN^;phUMFl^iCwUF@;8N|Oc`M)$di}UD=w*VO<|H>bC?Vvc?-j-Fa@4b=HbnYTtK#6V|cp -z8|6Hd4er{_zaVu;KTWS%R6^6c37JcRjL)`GM6P4G3BG$zm!;*LYH5*FgO;u(7bj25 -z!?P9ZMSUJAtH$v_tT0$h;$`xsk#LWT+C0;TlDGmJ)tihO{rFGu3G7TStKNz9ol3B2>j -zYU>V#fh%c!ebAU-o6MI%)zXYbI)pY?IJ*&$9b-6i_XD5@JsB$XR;Y!RDM_GL9|D79~WK(%)rw*xD2u9){B5YYmr*erTT)yIjG>lddNfB -zJbhV76KGCj+oLQZ=C?Q)OcV(5DQjHuyjOmL7msnFw~lkksn`FVEEco1F>shS?LOY& -z(xlajIVIX|;Bt#j=lRham=n8fGY68L -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 +zRMuUmIeg5q6((SN; +zD%}f0)r7IaO-=5kbOJ4ok^^g&H!Zunh|}a<&zltM`mPejA(}W>2`-tO)^x9yWW%aZ +z_O#%m1rnasAxTOvpAQ?3UJ8ZsIaC&@$uw*%BYZA8dN)G2Lt;j?6r=e)nX&VA>$lm$ +zNtcA)@a~Zkx5e7<869z-e44PyEtYX^;yx;uHtWw08ebAp5q+j4!n4MQ?t8K +zHMA8o2Xdlu&7;CY=2^edlrySa`>YJ#n<*~tx8CXFsC1ks`95ncE1>o;CR6kba%aAh +zQ5h%a487E)J`FB6Fs?Jq4$2`SPowEg+>^0G7?+h#O^PJ5iE3owZIH`!;Sb18WtxJt +z1(yOXnfU(L&O~0$8cZ3>IFbdIz0v}pXD%Az;%YEtbQ9yWptiV3Cn2fviIaw`bpIG0 +zwsNCH*%TvU>hmme&l4DdSkbfNwr?DooeD^V{}#CZ%^~1-*KfhTK#B$i0G?pL_aG`M +zEXPkR_Ev;eNS2?Po{oWuMpncOByQo&2S9%2eDdg}gX2Ral0(A%Rk{X>5)L&Yc}d=3 +zP|!Xe_RcxX2xa1eC9#vWnz;9QpuZM#cW87`P0X=$G-^RVPz9Tjtuoh#Q)tWMt;?oe)(_D(nYq$5YJlm;h;A;Ag?&2v)XR|S8bEc=& +z)ySBGn@Ig=GAsPOwDf9k3>)^GLss6_ZWfvyohS2fq}K8j +z06+tPUzkxymY>m3`>odcr17cYEoiV0RFe_JKA9239vKuh7P;aXAI6wD>_Z=$=ob_f +z+wO^z8EM6jGNIr@mKVnN{-bANP*hM*^s2@n6|Kl|Ha2vM={}#|7L`&0qAwy8;?-P& +zpmKr}n@li@9U@|=1j0s_6XGyJXc!`*WY`cQVpf-vWGEsP!f@vM{iGz!daz2CAwv-Y +z(eT2`C@qGSecmwVXS`f87{U+1HN4RT*E^&3r=?FWxBTYZ*wF@DGWX*-*B43x;Oot& +zJXrU-26Ch87PSK%b-%8%GAx*s)SJ86zI=53oU2$>J5h&|pq?IAn>HL#o1(!Z +zww`oSUV4;&^g3-g`D-i4%3m@(a>ErXe_Rp~@6;J@8%KmICv8&FWQ?7n3R`*A9Ja7iJ#qpR3>Krgvr)G>0tMG==4{bGf?m<%cv>`hjhS +zt`UpJNnY*mxGtKE@7ASO9%9E&^{ +zxWAH3o2%PcTo%)cc1TaBJ05*hrGy+WtGXCDY0yVz$PY0nJ70cM%kIM9vd^2kF_hT$ +z=vH)`Gjn<I!T+MurE`H=08?2+$l7L?>P- +z!TM%*cf6;Rw}NlA?zIbvakmnLc1a;v4qAw)NN4a4tmW$8XV?oY7BI^&y$X6|ihGeG5LYjEA|G7&GY#O^ge)O#LO@pb~X^^U%bCXbGU +zxLwuXB03K8_r>SGsPmT|h=GoY?H>>HcRY}hP_W1bBmhuD{lWu%H{)*}XiE1_9!P#5 +zBS=2?WWhbM +zaBVMj7tf-53>vO(AdnLGG(MGTtzlD-q*8vT$ZVyhYhCL(hr3j7pC!!gKpA(kBv)Fb +z(e!n-7A88qgj22Q4rIWcKYUDx*4Pb`wNvE!AP!I(hWsXrYSukIVvN0`iyT%j4N5!(mI8&#Jb3_@JQ)8bF6+rJhx5AskLr=Odt +z*57E3n7iU}9+*Q$BW+Wouw)MK&=?udKw_@K`X +zR7PJ1bt&REHQ!4Uve3%BFHaUAlM*?$Vrm_0VrlD-c +zkQ?Qt$u}O{)3+y#Bvr-v@)WBxAhXaR3tHN%d}GqXwQ0`E^?kqdsfYd!KTuE{mN@4w +zZwPk@{Yae*T=?1z&b!5gsLv!HrDqx^$@45sO7k3p+KT#jFN@XOH&YuoJiG_{^7kIv +zYokNSq1&_VFDft(6&a~+PVmy>Q&pz53)ve|UMk7KdqFT@7r9QGb6m?DqqrEuT +zSCpgOTeQ(+DP~8-%_?+jV6(5((rM$@d0IijApJ>&h#;QLkQB{(aHwnG(;AX(ly~dN +z^RhIf@aXuU#rdQAC_j+nZR}i3{)LZlBgdm)=?LwJ+{5 +zPL=oWQN%AVF~qL-hQ(*m|1Z&nk&cz&pXl;;qRSCvnVdB=0F*-iBD#DxqmV4WS*(#< +zGz_}`sUGvQ3N3OHWGEt&D*=KGPv2ngQ32ptWpFnU1S%1#a&Q(hxHl@Ca1o-R;CLWm +z37ia?zp!N16dy{YymAf!LO2x|NgxF%k^LZXJ>qtq`?BG3g!{;aA6+I;NOkLGqs$om +z<;!@#4Nt0#2x%b06oNTwo7Tq7Gn$SKm5=XJsfQO3?}rJY92hmMZKWj*zzGZb3QWL3 +zuqI&&5x+~$7=l8AuzRUwiSryCJiy2_NFul*+Z%+G5#&YY2Q5>G8VoLgU%~+ifFJ#l~4O +zIFX10XK)odFb3^9?2a_1CA*@M!`eoe;cie;bY9GCq~@58Ez)zjSl~=fflC{hvwlk! +z-jHEQY%uxsd8}NItEk&*YuQXKU1R;*r9Ee=l_08kJwK>t8o6bt!YU~rQGIX2d@#9= +zBBw3TG?_0W$5f|#pu)eU8FC2mKdq4U>b|!GQy~5xFH4gU0mYc)3Rge)J-;Ny^>mVX>UpJ +z(5F?qm2^mp-47{VxYW&0NhN=Z%IokFEaVe#UPRdOsS$*6sxz?St=NpL##$OK*=p6;UoD~Z|dbT)4P +zg1nTXf$OM=mE*G(i6%+5zWm;4d^IyrU`0x<)B^3BndcN=T +zK(M)<3vJ53Qf8_fnCG-!URk!;klYn397l_}U(A1ILLl+Je}{A^wlQ5m9CL&VDwbcw +zLP3H)c{VdoFdUZcjW7kN1L+iKCp&vSjQ4-C;=dtJ(%+)&Z7@}-9j89xG>LjQpuPcq +zy>Di^*_H>jntNipc(TQdbf}Ik<~4kmDF>~%_Th~7awgUA)q;gsJ(GkxilU8+k<}<9 +z7vh|saH)v{mqFOY$Jdji%qe=~b?ik)Iqup4<73cxMke!c?^ma)lCRz +zw>wU#H(=M6p`UxH#m#}Kq?~N$ +zcsHdYzd{x>>~Ap36380GwZ_LA_hPB;E>^+I;-;N8pQrw1{s$88vBS68Ii1D!Zxo&- +z$X8s$@vVsxUmrz1dX%rxKJg(U_$mVZM1-wE~L!MHrbU;w}g{@c;(e^^mikkL?^!QfBZNU_e0AThtc*hcDj +z@uTP{cRt)U)bLWC6cHA!#0vE +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 +z<}W>^_pt1ho-F#} +z*n6hh4$W>wF{Chrt+`iDeke$e%H{5s9!Aa1wN8#x5mFIwC=Ab)$r;qY4g}7rj~&Ez +z5zy*Z9E3!!KyOB{@_sF&p;YE%7dd~Nv*~%ZMZ^8lLXo$@G)hL}Ou4WqAKryU*;cZ# +zqSCGPHTfeFqDZ%ew+9;jo{)v3TS`!3l$X`-g$dib-wPAE5^Y1EcB%DM;aWg4i$k;M +zg~Z7g|HVbA_%ir-Cmp*CjF?GEb;Y|#X(*=8Tutm;?r-grlX22%NL{zK$Pj%PlUfc- +z%$~h1yQ#L*=kl<1l%Ex^#k1wr3Q0UFyeLy+eu_l^fs +zHsd{4(LUKECOmpo1f4hvvCkI^ +z=*x$~2mY-QE7NqVRV|(S?oT_p=tgAuZEP*J=~zWyxF+5%@NR5^N3AuW4?Hu1_l;Ix +zkkE4J*-XGV&fIMm?evi_L2})Um}0HHFFaQ)b&>q3sRJsij +z_Q`*|eM(MqW-^yA$~`$ZZEwDITeb(ag}-BH9eAX~#wxlS+v*~)cu})P^za6+e|Cur +z7X|6nE6gpj`O1+RF>zA~l;zFg1S{d0qkxN(Wr}iEwX&f*#{u)Do;);T(ibD{X+MIEH}7bsqw`EmWiPmi9<9dIxG!^4;Yo4ycOfl4-Y^|^c1!2=%L|1mX19xW2Q? +zd1kO@SZL$oN^CV@Xk>z8cacF_kSz>rtXLfW8g>f3aMZ4sW4Gv4mSIVaKeMS^OcrQ* +zcs@gZ?QUlXwEtj#vvu1#ath)+;yMMRAgb)h;$WhjPlA+#?8yndgOm~S){=gS4fX~$ +zq;aAoW7!gbM)UU6euT}GfU7{10l;2+x#@OjNn=W&en7sHh#}inyxP1~g+*I9%^ZD= +zOo-5i@TvRKZ}EaH94hRLUyuDs4NqWu#+Y-XztX*l^>ZZz!$6j+rn}Z4aM}CIla}ny +zsF>hYGb>NCKV?KZC8Dp*Xv$svrrM0SHcU=jEsT*&BQlpm64VHTHT2Md!lA}cp+f6mk^v`n +z_(eG0Y?)w-CkkVm^v0)Q_-}Xemo#m^b?}`HGPu +zXf9NL8A(WmC6B~PwzOMDoxuH(5oP50J#)|FYoo9ZD+dhi!QATjb8b=m#}C7HoWUux +zQS9BUX8Yz%N|Oe6p37U0^DJhV<8{$oYng!c7M`LqH&C{%X +zqNT=>j~BOKAI2!j|k;mRk^HB2qKeWlWi~AK!|F>X1o~lVy{kB>t7q +zbJaE#-bavd6r6JuT5dih`~wLA{A>6+4EK5I;%oj!U)K9k5v$YC!Y0;&6SETNKA)WkQLl83oBcHVY3Wl6*?$=$`P_ +zd;wnk>e?3nt`1IImgsHf_*ON(OUJozYY6@sn!d?{oy?+z>^OF#-|C>?FAei3$L0_7O%UkDcrlsjpvErcHFmhZ0&mU(^4pO +zTzZDWb=^(Dlt>&*+n5XPOUyGrR=N7ZN5l}Tp^NHm_#b=(Lqj1qxwZ_~(PTu%UKK;- +zGV`!KeIOls&&69?^2OAo>{#iUd1ro5qT7y24wKt1_E=k`NrMZcd*W+YdnDFmIEXph +zT-eoU5%*m@p1Txr)U(v~M+p`#Tfgt8;Xw%1`nIb}F%j2sDm98*GzCKsr~ +zp7C~({%|cPs(LCmZsa=UavsVCckSk1kUFHFrdKU0q3PX(%q2m_XIm*E*Rk9L-@T{H(sE9< +zv`DH!OV^T%lPBik*^2d|K97`D<9Hxe7_24nGWpU-xW`3pp6NqLT!D@1O-7A=d?j#|JjKcO?A0^l!-ZLy1KQ>eD5)j6Vt +zw&G9{bEZlH?>w^Fy2GPr?_9~9@(8@L`0&8n3BVy(^KOpsw-`uRoUcZXp;S6liVV^CGAO0ieUg(tAF-c4S?23Y=h3}_Y{n^{)LkQuC9mi(891O(0>rI-=Fm1e +zxSiz4?&KY%KDr(P&mvi&n09t8E}dB=TaBvt&>8CA-4XL8v(c~S6Kz$3Zfj3D840VY +z?wcE{`~rg7Zt^%7QG>hQ`h1O7NOJyVU-qh_CQ!0wqQ=NJ2~GDbyFW+qG$<2{IDBRj +z!fV;VFUXM{^WHy+CsEtp4AXhe7!WsRdoC +zFF2fo3LdP7Je1ATmz6Yu<}|iF$|7QZi-W;Lfe@dv#ud+dEI$kx>MM(&JtT^F +zwFZMs4!6*ZZy$(G_7Qz1&T_4JA6q33u9(YOnd%*PN6LCHT$8T93sX@t?i{b2S`K$6 +z&tmAjtM4jkb+gfuhVJ=S3Ysq+D)bQ0yNm@i@cbp`RHej*4y +zjvvy{O?p3&iX>Gc^spe1It%I*#spO{1!Iw?<=b#)NNwGNT0Lga&fX32*DEp`V32}kjnLkLWf5N@#^*%!j{ +z3Vjwn7kCJFk2%6vRwN*(?2m3Y^BH|T3I+BiIGugZ#4|wRg74Ld44V#YMDMDE6=Ze` +z-iZt(R}F^23G*F&5ICyGf~(ETNO0W_mQyA+sE?3M!igS?86cbVo_gApykOEyqZcY= +zm*)7yUK9r8LbsgGw6?k{qP;FuI}`g#V-w(m%$&9qxvq7Rdnj`phwd$L7x%Bi&(yu8BHx)pl{Ruj(28HfTMzkxb~v}snYQ9!NsLDpAoRK#=n|0a +z=%wxR`b5A_E^?TW&^YTK>D~&#@Re$rgfvB6{GKO~bmK&FmyOj0uId+9lsVr2bO+k|vvYuLHQqPj#H7>{>CuY=#AxmB5V1}Q%+bf+*OKqYAK#fKni19XwK +zkzoOx6>ik4FO$3CG-d5i5bq=6wd^-k9yb?MOdX6TmnP)#!FY)fzlmP&HBKB6l+g56L#k*R8{bG-{oJ!n%WEkOeXsOKEhee%%#!&Vp* +z9B5Y3qKxrDh+KD{Uv*6ki|W5VEZ8xE#WBAxHS%UC30a%50lDQ!N`|E&jU)7B%g%g! +zOHW@|+gV!qjx@1=d0ZDoy7(lKKTNEiFdC^5UWb^zJ$t_W%gnSH@hcR`IbmEV3FA*s +zCOl1NS+v-sQaAV2M)0)vcuf>5E2fnvqw2GmKM5o_8-+j%l=q0s3)Cfdnh5JL)%Mes +zc2HM6pMGakyfBb^@kU?g3Eze$@w%M7sbs%vy>~WnpWL`^$^n&gAz16a1-ru0|HvGg +z0X$JntRLA!43}3Q0RvU6<#RtK@e_dg9Ir?oT_A=Ei94*`RjA7!<anL$jMc$G_QM$Kv{$?yE`M +z-SO%(xTP-mxr +z`ySU3sZ(f3HbOGWCf&EqSj*LW7)e64F%*J)i}%!xKk%I^D;;?=QF6GAl+3+I^(v|K8#~W1(*s{& +zU}%47O`9}&|5|8!!|J>zc!+_D=mF}_Aya6~Z1f%gfOkJPuu1a26%!Gbm7|dq(HoK! +z_vHgTSDQY2d{v@yFKuiTfZ=5^R%S+|ZtD6h!BW7;z?ipCK0@?zb`Sn28t`60#xVB7 +z?2Wk!F2t%rrH6#{Hg2pQ$1dr@)LXhlFGZ +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 -z6G!97 -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 -z+bS*?E$ow+nNbavl}Pi5M8K1cC5&#J;?k -zF?e0C_lp%r>PGzzA0q3Xr@ksPusTeJi92GoSyU{I7H!s96&Vhvxewt`E4t=)U5}`h -z27njr=yB=NgoI9I4~pg%h~sCXkU+4zN1$W5ih*-M@i(fxDdCe|8;8!Pj3 -zv#H14cXq=$lrnVty+`WX6n*xM6YmDLJ&mCxqZ>Mm?$!Ep=8y`aEhPo*PVZORGergQ -zLAh*&Y7VqfCkeFc3ze%Dg`}1(oAo)%UeLBx4?rBjfALDmNJslWb@+GGq4Sq_p9=wU -z3ISLj{kIwK2N!>lRYToBXv2dlzyhc%V0D1s15}e~)Q{kmxo_?8juZS?#SpTFzPDa(b -z_UZm{9;wv1@!|IQ`SJ1T`SE^IvDCTl`S#9n?7^O*e4AQtAT0KI6=ESKr4u1k2!q{T -zCcwf)_rqWq<{o$hYU=#=or#@D`J<4R%Oi!;EAce>fE6#X|=V)UO4YM|N -z80kLI_#ML(WGXCJV5YP8R7^Q=NZVV_|2y{Y1VQKY`*zvW(cOYovY;87=S+?~gqe%sxo1+2W -z#->I<$^XPPqRvECF8QeX(@Vw(iw6C5qq3%){PH!r(b(DWbKyC0aNQ^;r_-20HrT5& -zF^P~ye&>#s(e@38zNp$W*>d@O!4|iZbej51`m;J1yg%Km2FY}*sg?ob(s}GCeHDeD -z208`m8Ei!5J)xsv$K*+Zkv|M3lO~NZ2aE(B#KpWWG%KDqA+8EoC0#j#BL+h)=(9cb -z$n>jA()5QE%A>)E9cI=hi}mXfN%ECEP1}p?;Zv8e4U?obCHk~B*W@kW*GeQT;wASj -zrib3<;#`x-Z7-t3(JJsH>@>!jBGj>s23kG2G0GrrlJM>A!x1*Eb(e|Wr5(L`KDUN4 -zuft5p8GldgsoWLm>8Al_Ep*g#S691L&|JuPa(2VA#W(+9e)z+So*W>6;(yDRe>Z@F -z<4waeAz=CP3n2f&!Tc{a0xAHj)8vl<6uE!^iroJgK%oT)pvVBI^tWjLoFlH1Ft?Wt -zke}fvAr<@k;igH -zj%QzyLl%1E==KfwvMXt)uDs=t2VAuO@kBXDjN}0RC -zJW5XMO0}>kAI6nQ)n2l(yu!Uzgya<-PN>Jq#}ftTNWjY3JvAsP%G>6j(FyzdzeFc= -zC)tO9A5t2sL${2|Ef3G5780ab;l7PlGK``@Fl#UMg3RGb^q=uciaO_3^P}_iNj`TS -z9J7#=?oM!()>6)xyPG<=J>EMeA!eu1lD=~On#wz*wSL$QqenAIjrN^pJCdTjPo?5MA7TJqv@eIo|3f^;D9_!5F?wDNJ= -z8s1vdle~r@tGc7cBWk^nZx^SxfilI(P8r^d)k(TF1v`0iLi+`bgP@a~P-m}l5*=;%H7 -zv>)W6nh@u=v9#D{U=;0eOi3+qZ|{OcZ8o3|zB7UGi_u(?&~feEO+-7-JnRte@|7@y -zciWAaVXk>DyjK3^Du0K$3Nlib;u*`tB`@kcFx1Ac@)#oMoB#UwmW1lcY$0Emb9!Oc -z(Q@;#^ay+p=fK$Z%b5xbv+!YDt1I8~P4y=Ji`a*O`4tXqBzQ71^gZImim_@@adQcz -z)!mUq8^O7=z?+NJk7djnrNd9ogO)43c_^kt@5emSIreF{I?iq%WT|Fj^32TTZ#eN^ -zZ6-80Z*$XNh_DO~!K~^Z7|y$TWb%3!jv`dldiqS~gbKmchnfM)($2X5&FsuT!}>pu -z;NLQ}vJ695*Z^_+UjX^vX6Ikn2$-EMVqIvKg0On+++-bc-WeSk7uvbH5!g%_o0wra -z+(}u=m(H -zb~(y^#&HS!5x=4{i;aPNF&Rt&tT*S&6PTQUkB$r}Ca@S(NaIw=*HvpE2oxVL-B+kg -z3FvY-IUryWZ+HDp9T{{9OmBEVxUW9B -zjnC_-<~F4saQRSYZieMt9uKEr@>`p3;_jNRY>BT5h -ziWH;`o>-g@elLvNT$b*3#&{N0Xc*xj(NdaBw`j35O-BDQXd%>a6<$D%DUZ-b{#%cn -zCa%XTJ<=HBGh^?oh)GzdjT4&gP;OPiHK#DnYxIZ%dvNM}6l)K&#j$0R%Cymw*XrKu -zB9jIBWNi!w%agwyHzH1}j4lUV^~obgGk@Fecw7#VWxB0zjPxYJ`SKnVsD(=DgAf<( -z_=$g{|5Yg(TAHa{!ZQ9)f`)c$rT_N2yjhofN8iyDOvQy<23lQ_ZXMb3>X#%UH4bG5 -zkr^NqCl4+sSYUVcm!h!C$Zz+yLB;G=V^V5n!I*pIXBPotb1vmK6{&jagVM^eW`&De -z!lbz`GobEA;@RK!!0fjulFkJLi+ -zZxd%b3fMZA$eJ&f@4Ib3di0Q(F5*KUc-mA#^ftV=QZD?cd7{Xi{;!Tk_(qOHQL!Ij=4Nd(Ffo;d{?biqCsY9mI-xN3=k&~% -zkX$>WmN&qmEDCGXl$IH^?Ji2@a6~&@C7025NRb|&rgE6KCQJsbf$?oWOdua1+GSm}B7bx2zkdkpT=k3kJe&>U -z*2B9beM&n^t6o$>)wc_lONfBOvQ|W*XT1w@_)L?f^Eu7hD!CdZLq{QAk${V9FV36t -zI#OPP?S(*TsD{wnY^M?Lh=bBH)0do}9241xm=g8;R08F&^;_Z*W{B#LLblgl*CCNv -zg^)E`qrPFyz5b&tC7(lnVpm`}5N}aji$iRiQk5gM-WfH74V#MSXNqKyt}~mxrw<=H -zy4G@MJipvoMZa)&0YSssa_>$aw-`xSU2jBAAXPY3;XsyQHZM~p9TLL5bOa|IedS&j -z#ad4)(P_JKO^rc%Nky3`eHpyu9S%;=43Ykr0C{CBkvL!$ohMdpLkwqn8v%YBKMv2^Y~FgHvNom+M$Woig!$y95hg)#3-lkl~ddJ(0;NrtBX&R=J-|!43lKJ -za{AT1xJ+iHd=;|tOIK(>PiO2-W}|;~J9TBEersyh1?f&QVp=6jIh))CBP^p81h=&w3PBgDUQr(>jB|hn54Jf*kn?pW}-JLXG|1 -zFg-*r=Pi+%Myy*zqbQRm{V -zH=BLEA5M|Aj35U5irrt#x?=AQ%?v=a8iz7UeH&{PE7B;KDEsgPgwh -z)EnA~C0GlaZlQm~Jc28IJ*bjFs9G7j6UJLxkU-=w1ncV@osMeO7fmFTTmjq51WWXp -z-=HuysFEQVgCsrQj&1Ln?b+q*xz+Ww;no93fEPbf-9E-5+FuR`T2thmdH|^|2n*2q -zcqFoIh;$_!55zlb9#{y`CrB{pkLzp#z{+^g%XJ8Tpw@S&^DwzUFX0}sXK1U+xVRMq -zF&!4Z<09kWz+%A}tVd>Eff6@7WEXNQdQcI48xl5P*)1O~_{U)^gEd@8CbyU!I}h#3AthXhb6L$o`qyUVlxv -z&z0g}>R4rB3S@|p-Tq^)Tdm{~(gNG5M@#(8Gg;N$CR5;`Nq+& -zAj>=XfqhKNp%DZ=tRwgq7pfo)@uPY;ht$qUr&z4(&-jUJay-xM4k7tIcxh!lVcAtmM)wQi27+BkFgDwFsHGfdSR(2@F)ZDnMhl4@ -zb{0x0~Ct0+AB -z3a{z$_kia_rfF;}^ewIQqRd>h1PvA-U$f2jD?$v6*q}|Zq1ea>(Wfgze9kpR1Rmr7f)K`c@%JlvKbtsgER6 -ze38T(CR&FV1K$XvM?l+=z1XocH)}yah9tQlhz%}b+WuzB%Y2?mhebMV_gG`>gYFTx -znQ}$>tm<@BT^3_IU*czz5D31qUU5af+LSIcK?8=G0h(`}l$D6HvUbHwgSj_ihI(&! -zwzUbi6dcVZ2i)p>vVopc8n?{Zz;kZ+YdrR#*4PGK8AHDUy-`o98#{svSJWH>9xdO@ -z=X_1(#Rc{~Uz0q$feRH7ciMO=*Hk>qUp&sz#Lf#e0Mne}RnsvlKQ4jGZr^mzM2S~) -z;HoN_&F4x~Y^`I1bGNH|$@rq_S$w!LGlsTVpCGt#8vhNZKm$|F_l8fD$(Y;98Koezjfg#&~xBRT^zAio@(R&cpE*2FLddKW&1Z&Ua6ag+58;GZxfCwF!Mj -z>|)OoVS8Cm{4@O)B&r9j6sym34T%K?Rj_Rl6{!lMK_j_|SuDjS{NG##M!2Dg;LmAy6udaFW{@U37(G?gs^noQAuEes&3b?sXfJzJvf{!6PPb(wAz+ -zSgkrjOBSe!{m9R=j05$`V?`-xS{dja_FnW<&~{9tTQSzOqDG?Ven_sj)rLr}T34go -zNAyLe$kszLn&(g4ff5rO?}o9o`- -zVLA%@7x4c=WwOw+{x8b+Z<+Zf8nsV6Z~!wOkpIoh|Amb|RA#&j1F|_*;0QVrZAc~I -zkV;iAtnRTYU!{SlBc>{!BN^Rlg&)3almU8{x#&UysUd}b0G-|%37%^2=$z}Q(`a4l -z?bx12>6-g#o5vpCCN8ZuY9UKk{d=f&WP}J`KU|wgAY33XA3Qv5)C3m(b_*c{g!XPP -z{pYt(?OTZvku1BMgzyZ$MqnUbJg5N?JO&)9uy3E)Z>74 -z1x6<;T-S%2$kmyzo1SxQQ9$tLbe!NOwev-lf#9k?ru%9{100RtbzPZMT!rO`Q%+>- -z!@!3~f&<~|4D+^@!@9Ms;@f*{RB6)4w_48%7IB{bwUolEM{CY(I%30@dsXoXb?IA} -z>)*KN2vaD->{4A<)4A*3x9RK~shwTs*5>-OY{lQ>?P@3t!5c+JD|l>!FIKH*C-8@G -zLPYqJ$)j9zo}7!l!u6@QHf^Jaoi3Je -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 +z9#8rmRsh#uzxV&Y;DP)YO8`I-% +zF)p$aVBjbKXy_lm3!nY>Xg}D-XJue#ZE7H;Yh`L=XzxJnVrdbs*ldN&hr-pI${I-2 +z$Lp)#&l!RO{m~qh3{Mal6iL(vR1k(;KTStBExt7(1_lNO9mO4hs@;VyD<^yL{-d}3 +z8L%g|k_zL&zB6Oin12?;TaVz3!-z?R0JU~-#@2}6z+UHbSX%1<<>CB +zn7X8@lX0me$h|t&OLS-NG{&-gXdzhIE&phz>=xLJpx<<5asK90H}+w!s0})k=Vy~B +z)5&(A$MJoC&FO?PVJ5A8cmm0@8DZ17#hZJ`=RiE-~u`kT}b)=Gq +zulj)uBj(TVFF4e-#ZNCpX(k2u&10Ev2J82o3%T+a-HP{YOrE@<%?--!(KjKj4nLMr +zR1dA0FPCrC@ssbD*hSW5WW=}_i(4Kt*ATktxu(ZHt+FT$aD6%VZ<(&3>mzp`g1cxP +z;x;5G0)h>^KQerXk6vBbzw@s*Sn1H0RyZ6ww77UOxQV$R;;DK1f}t_(#@8yv*(Kny +z#trUz2pHByR19V#zy}5A19wGnJ+)i%;rYbYDwW1@@6$b;vgPTMd9bCCNL9IW@Ojb3 +zT~ls60}(asIZm2>YZspM#hAWKm43N&@S~@YLVrT6$gG-z$o}*@cE>n4bk|P?pRa3) +z`rpssTI<3yA?zF%@95EI^ +z=NRHNXwvNQXscYl`CS6}YDl>Jc>mruLHp)&h5Jlu><-Om`}!y1vr~u<)@O&>vJz0x +zfD0{MCr|+33*=utwy*#IK;J^w-rmrj+Q85yJWk34nGdCZ&B}tf%tUF5#63w_W2qN8*r+vA4^ +z?JF*`*~!8YO9CICvR!X|)B4(y?vd=uX3V|FV*{t`h01N*O6nKtY(?YY;=Hvau4h}y +zsL1w)gclRATM$9Q=kWmVt%>(cXMj4D2R!SjOi?J{fe`%wG<`@IK00E^cJ%OoqrscT;AMdi1d+j?LRHc8VP<`X +z(aOPei9qeb<#JJjDb!~;tQ5BPn$ngK=yAc7{iNfu<4&MUuY%$-$;`>HEyvB_@AWF= +zFyzNd4wj+}(@l072tM4gg7@H+&Gp84)wB{WxCG +zmleNQxAmAKlyZyjTW%XY!3On(43Q|EEz!OoTO7TR%gyEM*?=uA%?9r77~qXVG!phX +z&d__&hnmCfs*%081)wXndp_j{MDDEz9Yxd1&2=@{{wxWJfURyn7uEB8sZZIP*+I3Z +zaakf);0KG93~Jc9S7_hd>N8;Sz9e*qJ3=@|=4&^LC%lqZ#XjUPbPu3)fXa`@V +zjd($HEz=R8DZJ%x&B6`D`b^;SS)1|eDz;SNZNDr(@SU5sgoGv(3GLJ*4X`~S%2iNi +za_XWnJ2Nnjo3-3DSs~4okm@>{)cXR8KVIbOy!{7<=4XPEVShNTe{l%#>(p<}wnU5y +z0swe}0Df_zQbLM+RASP?G=d6zRCKiTjMNIkmOu$>UtR$CI>(z=AAM{;0^wXDuJ5un +z5EL*dk*O<6&cgyuiO^4f+JLr=Mz( +z$v6e83XNA&o+Q*2%fQbNii`wc`NrT_b;?I=AlH*Ojk;?``cLJ~uO*=qPLb??*);hU +zE_7Gtcur8SZ77y7`?VwC0{)e@yKcbCS~X;1!o}f68b8JJkiZ9If}r98^t{Re=+I#U +z`&dp3Tse*oWLw9%#P2%MMmi8%4BCvd$Zks;N%LzA?Q8jl!{d0=P@d!3JajkvM0@j= +zsJq1sqb1AR_HJy#*+aN~Je39ZSypzVKaLe^!8tpB?=TzHk=C1OG)i}MhT_?Ix&ikpsJ2^NyI5>7gdzg|&_&f&-GR@+cH(-xa +zH3{Ay9s>SuAxS_j$(2<;1lbWDK1>pByT=uN6fP_r9$qSZ1Rg%S$5ko}o)T^}>(g;c +z3PwFhCG&`hFrG+6QDw9){n{~4_~&;#obu>GFCjHNv3U0f<4%{~-rVj5EO@Y?4!LC= +zCvt2pl?K7qTg`Z}9Q6$4#nvtBeQ`1PzTtVA9;iaUWL{ct<>5f~>b{<*QdK)uhn=LA +znNXWC8d;mB%`LW-a#8;6tl&&EV>I=98_+gTDk5sz9kXCk3jV|8XUrignib}?F`}Vy +z?xpnGyXDQ^@TH)Z4?4f+L!jGg7zi +z=@EIN6YeuxBCw5&s2|cf?^bM$GHV9R-Dw_v(bC^C5BHWLwGOQA +zmD`DhNhP%1BdzfHP9bBVZhLuEOgGj!Gn4jw{8fVje6pp74HE5FN_PueZ=XybN?LZq +zd(|FQ!H2gRwpT9*@ndnwNe{}_&lWe0#l~>ke3L_zNRWE)^QhmwQJ||UuxJ_RUqr-p +zMjqfG*(C`se2_zoET5iuE-4-bq;;S5iU@J`k^~Ql!I)242`Gu@KAhMo)_?ly#J^

usBO(Kpj**^$-lla~_RW=?_EcIk(+d +z%<^H^)v#(sQL4$QFxl!F*wuP3;H=a; +zWeagRQzTrhD1Ix}ZvMVe3l*DL%Awi(1T^L<7(FLRo5Qta-_d!{-EoY}X$EVnr93U$ +zLey>JUR$Qw-CUEJz1TBevpT3tZ8xMa)(H$d9F9~`Q2Oxcv1#*r4atjxRK_ksvgkKu +z();^4rB%BXAcf1j0)=U{Sv$^os*cl=jbr2bNb|+9J5&=*LZ=`l)9SL5VX&J-8r*3u +zCs6^bU@zrKx`nxFqwSW+g*!gBxO$x`4f|btD-xkVHm}-D6Xx^QL5)p?j~?0Fnl$nb +zPR>V{g7*l4r4Y5>VmfT}DyHemBVw*OE5}yG&$2{=hK@6xTf?%g3qHPZR?lqJ^a6up +z!Lr{zTgR<Em+KxjmMqFkmJsn2byzTfIweC^l9IaU}~)XQu&+r6*CqzXIT +z`&974-J(O>Z#ha+!o0i2;`x0^;tu$_M7?XQY#?Rqa&s`asntw4W_TQ%Kf8UtGCzpE +z=WaKc9TJ}(Uv#ZB?6PIS%)Ry+8)yOBxv@U-90%^ajR*IY8Tc4IrY>P^5c*{#$P)yV&>H+X17 +zHKCyF34fG`3tVrcH2r?jOQjv@5d=3|)9RGex!g0*2au+1?v2Y%)-Oi(Wp-WJ- +zzx=aQgi>+Pao4mLeQ8SLV1VNxXTP@qCl{`VbWquKxSg7Vy_NJOCFwOTR3mr0q7%Fe +zo)sbEMEz~^NDf2jgWAfpxEI&#;{^jzRY`%;$Bj9lW!Q){4b5GF8S&}nEJx+malrM= +z%V1XkFgO8Ig5!`Ul&h3(tWF*#V)Fr8ZaFD>ov1-}u4$Sy-`f0JzDsa>@!;WYiKgdn +zdegR-@9;pu(MxA-Y#1qoXMBWV`lvSf8KWsMB91tn!h(8_EV$*?m9W=kePa^<#sj9N +z^AfY8|4#qi!lQvtj}m5v*tLkZc6+^Pz+gEoCO(*JR1JNozmF=I69gw7L>FZ#oAwFq2Oc}c{H**RqE=u^Xb2>AflJ;P$$4kWHlj1^&KAR +z8S2HQ_O6ht=JQRKN@OKLM2j-((K}u4r{KYW9LW(t9eUar;$>Zx3=TBV4-n47N1OO26Ef-hV7i`N +z79uUUFX)?q1}wt2#o)a7Q5;{F;UOWe1~7P`K)4|N%uYkZLP_KSDx@7YD`4LIbV`1E4@RDS0Md`rd0|akg34xd=n;;41 +z=ln|+PY2#RY1sB&0b@BXjVV*dRy!M+ZbChWi;0fg!B}^PYzuc?#!bBL`aW7}5IX(V +z$fZ_O#0F0R)WcIx>)WNzei^avmJYWp$H8BOgFPMIwQj~73{Y@Ib95IUIK9kN=fV74wFKLaCa9P-$-8nhk_oN#WLV7QbB#LmuX$;(T +z?GSHE9Y>vT&5NV4xEwpw;_BhhEW4TCqi^Uv?gHig@+?7iC=`_Rb#jFEE*?jqV-`9_ +zo17R36i}y?tV56 +zyFMt%n#X1PUWrps`ff>QsW(V5xQDO_;9ija<%s#EhgIBxN~MTNmw2a$_*C#7JIaVQ +zP5q`tCtpi^qn6BoSrq+gy#sHKq?6+r@8Sh^?34MdiS-J3ZtYfJqR#T9vChnMu{q{v +zm1?M_o2%!&x7X`hHU&P4G0pu3b27^?13sL +z&q^J!&r4EV4`*vUV$?-KgMF>hrS)*s)mr;&&3@VJ@hd)WP^|h6(R<-*jBo04Tofv4 +z$TW+29F@o5N-{`SAFygQTXa2L*WTABm~K}=TRwi`(k1_v1n-JJu=>p~S>e%lIDeLc +z3#PpaIoaS2FF|bYOvld4gZN9aY(<5+NE;?c1$#0``m0b8TuE;}rWUp-`--w_5-%Y} +zLA#V$Lv<6q5l9-uNk3k_L+@CU0+^LNlL4}X=#*M6_y|^hNIdYS0t4!k2D-{_+-Q<) +zp)d3|6wSn868*sj`~a-RJQQ$QLaxC51z1RPg`OE`twKDM{fbt$&QOjl-bg}fNJu~H +zatxpHxg@+}Hh-TOXMwfblh5)68>t&ivchBAo`VHoeBSrcZOP`{aJmmef+6vNdoI}a +zPWPCx=vJSX9m{Y#o+s-3F~I^GaUmIB0arRU02s)U*O-R!NZyW(_Yw&MSczT;m`|T< +zvRAv%rHbW(4ti(I=RA_-8xb8lvxKVrP&P$GXpis8YTM1xp$u@JEl$5UGW80RCmo)3 +z_OrI0lI+EUy7qFE13J8DV_vcDUvJ4@;$)$5z&YUV_`gTLcq){xc(@0SMmIrazD0j} +zus^Gu2nf1ha4}DVq_h3tJ6CkgR{UOy4E=HWh=No0`aCN>@k`qL(BVCW$S0b}F_|ZX +zKc-=RA4~q&$oN+_OGto9mY#|Ef6o5zIQwd1r1}vM0Dv9zADgfLWVK2ny-`k4W;k +zXs`)FIN#`Zfh0*j8l=(h0!d}AXvi*$V;zNLjI2HehAIXQx(dor^cp4hlaHKP$sXYw +z948Po0nHSfbGa#+R~imhU3pZGxY7$l_60H)o&$Cz$#%G&@tC8sEB&kXEk*w6_X)!Z +zN9E{H7F|U^yl1 +zqTQ^=_!9wjHgdHl>-OCf4|+Kp(anq6g>A3}_K;EScu%qk3FxXoQ(c)TMJ0DuGZr@Z>V%=ixy8UK+)-Cu*n0{)6b +zS$xR))QGS&zmjMldWFKxbc#gj?~n)$ayPIqaF--7|3@}P7_ST@&KysV%m5EC(fwuy +z+1dcn6mO&tfjKewof!xNAxAYbSZL|k$As+KskMa`*RkeFW>bld$`GTiQP;dqV{Omd +z#m||#w`IriAYU|2w-P`j6;i^HoP^?1yy_mQ@t~L@a<9L* +z?6F5$Df|@D8rxTAE-tWr(slr=1@adh`!_em!1}*Em%l}^V8n(kCQtw%>CfEM4=et{ +zu#~R8qM6-^oAku!bW=WLg%Unw1wv%P9Q<|=8f;_!R49FN23TZ53O^7Qe*7(8lD=9< +zsW1v3RcjCiWI|+Q((Y*5GpH4D<0`m@c~)w_gbU{_LmlXvhM`#!t +zNf-mcmsly77}(fYDOlJ^DI&p_DHzzQ7%2jcs@HLt&=r+_Qigg4`ZHDry0UuGdOD4s +z1dR>_tri>Lv8S_yp<}ett5(CV6Pqj93>RYtKz6eyakH^kS1C1BgB==pC5@?tYoMj0 +z(-i-8h9#opOM8i`;Y~BVFViULc4Lrm=Z*u_s?{zCT3n|y8~Ud^=r#*$4kq5 +z-R^GPYen3Us9gm0NbuNm7>s4$eI-7eb>D>|xWi0>0yrqZB%1ih$1j{iZ>l8EUh%86aH0d9CDE@hRIgeUlUuiJ*XOMIz}iG`1Jhv0GW8&T+e(**Er5lZ*hTboeuz; +zV_ua+m|6Km7!A^Jw~rYTEwJZdC>(1Kq7f}^{`=0vPL#q?=*#7i;^~#fgZV5jFr4Oa +zUeKB=f$}-V#8cC}T?1C8Uo2tAC>4bon={-X-sm3bhBsV})TOhw=um~4$PE06wz)-# +z;ju4an88K6;s)lb+HGd0;R8^E22U@aN2-lwrs(QAGypf0>kzEYBk>eX{Zp;Zxm~_> +zC>Y!moPiH@!Y>Z>{;cU{@V*uX*i1;0=poMaF{kl2=&1#xNc`8+k4| +zCkd$sa&bA28Rme$s*sQhYZi3vXd7?ea2klIKa($4%olF)ILoAK%w#-kfFlIZziN_B +zx0z`hGA*6Q0U4?({WUQt(azu^tL}-Mj5;Sz5{(03v6!`JO*mmC@gXnf^&i7@aT~>%g8JXhx@BU6ZFjq*5IXMeeY$HCwJ9|Ef(l5x_RYKzgvHX7;l<;SRkc}OF+w+~0z +zwbxxI`j&R|8~EKD%e@b?pk@NRaHjHBWTu}6U9>UK&fVPXSHbe25-2!~$`{}Kg)je6 +zh4`;vNnU~Pf7_RTyMTi8P2)2WH~{bk{HFx-zsxBAO96%H9}6h*roRT~{bd1#wjW7; +zCZtr@Tl8P&h^u6*?PWuhXM{;8rGWwXX;KR^la8@IoT09fZaKxYLURKhJzYFfpt*^W +zj)jGZiJqC29wsr+T+c#B*92ilZ*ID$(BFb}Ty8`v>NcN#DXs8+m1qHcY{l$*i9Q`QTeXSo9(3U4YG1hkJ^s0yM^YoD*ZMy6WkGA=B)$ia#-QRPG-?fUHfiPUuN?2!%MLGSYx)1OJpw*VSZ)=q&h?$UC4NuOQ +ze=K{bb~NJja&S?am#F>Vz@r*pkh|~;(C1} +z4!MGSAo=(bie>HOLr_)_`0PXY-HrMTwyLIxOtF2wRX1J6u>$4*+o+@@;8QVLeGY){lN8`kD)NEtRZh- +zieC8k#%wJzZ8voFpL;tF^3Y643ffs)9WpVCcQ~h{mw2{!L8CVt(T3ic!urQ*ElKLS +z_3b91pJyF*igf!)nj^UHM$WL*J{Mi9d~;K{!&(I$El>4|W9C*6a~T|N7f^i+74j>1 +zeSAwwePzB-Ai_1hFzaNs`B-)Yv4?wLV)x}tm6b*0Fuu)=fBB|nli)@C!{Gc1Ck`?K +zIXT82$ztVLjhKXmB=YL+Xp*ha+*#1g#p=g$7R|DeCzm0smA-sbGvfDSo*A6`bX%Qg +zw-0jEv$6T+779091h2Lenq0Se>9EAuMu*_m4G)ax-MzB;eG5mCs_MP{W^=+t5E{cR +zE;k1*c>m4p%t*`jzl`ADTE1l)g|f0k0RUg1{$zIk#f+bM14FAx^!hRBvE1zpCsc*_Eqk7A2py+moBr$MG^7g +z+Tl8SZv&QZSR)|9ulNkv-qdh^>HIqJxhYWf+1w6E70%=f^Ih{(TQI1?^X)}z&N>PP +zXw}@>+nkQCQO*TXByR_Dbxk*JQ@oP6TuEs*M(U`zPX=omW;x+>0{JCjO^FAo`9Tak +zBibrfHZX;a^cXC-s>Q1<32Va@B{ahsNVKE!*rk9?P?#exUC8X3^cCtf&gNfX#7=jF +z5-nHp_L$%Bg7RE_avz`9Rm*EmJK*-E$=VFhy*wUC#S*YF+r-;7TiGBJdn1r+{fy}>y2vQfQL?oxg?`a;XPTVhWAH+l +z(JF$VI&(get-`lnc`ZE8R|e!Uq-UnSS5edOE?Z}Gz2Us-#A_}Q+}D^bbp`WokIw$1DcH&j`Aqcs +zV!e9u<<&3A#Oj?tg)hiUjIUW}1r%gD6v>#lTY&|K?j!tA0#WOC_ +z!g~&p0V>9+KIhfPgE@y0t*og5WqF0c=E5~IJ!TZS$BAv2D9%}Q*xB}9RVBXTdv7?T +z!} +z{N4fgsSZX$fj~NIa<3ZKt?OE-Efn_()yVwCQGVH4;Q|NhvkZf$lS_kGh?N{s-W(9h +zfSP1#GN_l8^pQrG;ce1vXCZsn5_!wT@_mopN6%hTvqb`!1J8YZ2gm+`jI@vXZha#W +z2A&omszlBf?M#KwrB+!DRqp<U{EHk5Bp +z1NRT%U90}lpGR^)-Fx|#WKQX3=`@NpmnluN1aHZ!$2dy*GH2qvCfgNa_x%0Pq#Zw>rkPD_1+w=%3L*+On&P +zeWpwS?LM>Jd;0LPvwJOX#_P+Sb<7J-Hvk6Cj%RoBxYbzF`g$X30=d$;8W*Y@t7Vxw +z`H%?yr86Y?=qt~%81{N{sc!p~TUspgOB(7#*~`!+-$+QJR;bL!M5rqh$)rK^n0)aX +zTM~G)+u*cX&uI?20{B6?RQc~@pU001a~Nj)(hp6wSA1f_*4b@@Ew5e}^j)jWk^$uoHpj5C +z7t1L(Ma%4MCG{68YKJ~GVX=Va;Sho^U>(_$D%br=Q#>CSmip^BR$Ti7f4&bQ`mwoGZUjzhP5wE9SA;!qckIhO3Omqbk=ggV{jr=cSQWsx+e1d-&MP>7^3 +zOD(ugU(iSz(B=|sHd~Id)DvJzIPKIZ<+!@iw)$b34FcU5i&JqHcoa2rxw5!#L;MHT +zW^ael=dV_c*r$y@m}q*YMu&vI;{NAN%zuk0|5vi~cT4hB-r7_&LI42JKbI{1h$w$C +zp(VIpyWFr1%DOa_{H +ze+;p3N+nz$GaT_}0mGuW;3~!tOwx=3d-lC+_Gj0#=Qg*~##>KZK|X>g4To6Em;iYI +zjF#v-jX*LzP*%YDcod3Vs7w_+FXTHLUN}gxCn#{3kL&D$AS(DU%k_x_L+V4G->%E#95~A)yra(t$7Fjy1mccVO*I#!*S0v%@JaQK+#UMF>gyug0y*_v?kOdfHyNpWapF}8Pl +zxX|{&DfK2yp$YgEba|&BsGoT`ERxWdZIr-wB<_B^ct*UJolqRTfT0wYdKyPW +zK>Kzi1^ewF1h7@9JB>19>iUOM5== +zizwPj0>#^=>Oyy|8%zqnFFfu>M=h%Rh8cOKN5=@Gi`bV-2Vn`#uv1MFix@3oEW@}J +z6PedXUfG@QEXWY$09ek))q&D)g@es?WVD})xSOxG1Ml%O3KE4->uf`85WPW&MY0GH +zjV>LMG7;^d7n+LelBuD*a$$F`3UtdY=j4>Jd%)_<>b`Vi(XvZo)!FbmP-aY52ZxC;f&ZubtYjPndz +zRHHYRwFk_2A*qvsdL}}wTY?SUzj*m5CcGeoCZ)>WQd$0kG3SBfF)LT}Jl>V~2Y6&6 +zqE!LP^lTed#YaDpHGP3zh}@`j&5ecrrIkL^nTyuop+b~v_Spd?$iY!t^eJ{!TUil? +z#9(;Nr*-n4sZkLl(bK{MQ)q0f=WnLI^rfMjbM`=wTq&vW41`IzfgFXo25CCFqT23n +zm2$+%g-nwM$g(9D$$a5r_4u&}O|bfebe%biojY^0mW1TUQVT*j5RzscZ>GF0=9zU_ +zWzu(#HOD^a9r2i}R94KYO-I*fGj;GMeKrk+IubXKr5+w+pybG1T{>I9out%O&kpZlU;mQ%Ma!$?aARf+eX}7^XyY{D8*HH_mb%{! +zzmN}`#DNha(DLcq)`ieou!lj7eci@*&cIbVT^*|9>^1Jg@fIfM_e_5s!rrcTPfkU? +z$rUq}G{bd?{l*;P&lBN$*-rv91D2#}2W*t9&vT7Qg@)B|?U9vfiekZ|c}dx^Lqty_T*E%Q20iz=kI7s@ +zg0te2P&6Azw_vVTAEBoR*2aAl;9bUre&w~Mk}|6b@(F)0b}D2yrrDzuXI5D&S$sb% +z-`8eKEMKFiS>Y@8B3o?dDHX$et)_bB%SgfQF;=?pKHaCZGGOBRtED068a;g{nH^2a +z__L_s{Dc~P<@>k7d{fQ3Cti2};0yepg!#Xi@rTPyaAicX +zzz!P4K&A_=A{th$?t{}iR^zWS6m!B-<98ybU#;{faEms?$hHt$NF+0&3<#vxUn9j= +z>jTcY0iA*MX}4p0o@Hwur|q75{F``mI%q|#-3{-d*HI87{rvH4qX2jSZ(n?T9kfJN +zfeuSyM8u9BZ-eKz&>dSzkx{I>TtovNUh(ZuV>L0Gp_IQG9@HSqxUiQd@ +zaiIIY8+&4X0RzDxFIqQ%pUBglub-ZCYE?uG;BuPaA+z^GlZE7NIHvzCyz<+795flSsJGhBik9(S0d-U&t4C`t?7HG3 +zmwVL-iS-#_M!tK-CRx^0&-?!`T8>^pP=GEo-wr(Zd~dXR(Nu+>D&nS^Q-Weg^(FXPcBOiHeOtdeIgBM +zx3=xT!!B1V_{ANa-R;oQlP!dlQC17pZ(7D!Z3Y#o+boiAU88b@he`MZtXc;s+n#vC +z7VmO3Gm1n?vYjPA;SOCW&M9{^#Z6#_(B$kEra!GVTuL9bBah-W +zV9oP-g`g?2(O(~`5l^^wNR3)x(wTYzD$ljj^j8DfFC0~kZB}8Hqs&y^&NdLBp^bO7 +zl$vi}Kb7~s#Ra)j0199xfWXDII**#;;9Qz6&?)q+1mKGxqx2xd&o(S;U>8!*k?eiP +zv$VN*lvv@ac^fZ_iJIT$u!q$+QW`EWDM_315NaW|Q-#-O(Ng)rB_^)s%ur#y*;$Of +zek;$~us>E9OfpjDYD3@!Os7JA1ojTX7FRQ3K# +zmi1v{A>*i}1;Oj3$`AucUh!oLB@&HD0yq{|_=57S2*=LI8nlD><0paDg4vy&BpZgX +z-ou&o(LOZ1Kq{t>68EDa4K)$mjzGPm_fDBeAoF)z`>ej3qvzah&0bpYNwc=(2^id$ +zHJ|IHE)y0UP(~-^?{vF;ozF;igxb#RRee-lGOjq!tV>iLVpj3dX-IWF8gh`qcjT +zK&0b+x@!g?+mOIRFLax5!iaxIj)*iGlZ+piTAaF%4_6#YMYBJ-dhbg^_b#=s2h0Gp +z4ghf^I$!jKXQuNlgsl%N&X(J?A7#W_!Tas@ax|dgAP8Y?)R*>lA>O^HPjatt70>W# +z5OnyMAl|XB6pVfCC4I40qtjcI1lfd`fa6bo?Z_5yz82AW=1OGeTVabL6P3s)Qc7-= +z#I?c_M>oWWMW)lHy328+Z%$ipd1{32$~)|74m5Owu2G~av@zNRo`NB(RL9jky)XY{ +zwzzWBkLG7V@t`VE>_%{`WI}NGy*HsSpP%~CiIoCdBP3ryY`dpH)0)-4LVf|;3dPl# +z+@)5?hCMq|h2HowRN{kx4Ixt`z9=6Oj4+q4%K3YKPjC^(C6D1HX9Z%coeBDqt!(Z2 +zr#n+NjAvwWx+EfUyUtH|^BcQ27881@Po!MpCMBKybLWq=E+sIPg|ygH) +z+z3O4hWu&)>k5NiO+GGaMQ$Q46x_~kxy--lq3U?y^l&qiLx|R{T2I@l9LaFRdUbY| +zf31Y(iW##Lsl38^6i@D(jH>5}k{Y2YUWUK)H;3>xRod|D4Ea4!6!I>B@2K=SW(~J< +zXPr`2hnY*h4n(oGXOO~Uh*TzMb*H^tKatf1xkVGkj0kY55}lY)awH^Pg$mx^`i8c< +zhbG)3I<(thk98T^IhxC5-34A)K(A=~M2?t?zWZO?-Q{xW%Mr-IFu4@#y9Yk5|6zxT&Q`M#P^yc!F>TFSp3(c8_N#FT=$8Pjs_Q7~gyImoSD-3A2DOyoBXq4tn}zxCrA@mv}B*~J114#^M^ +z5t+M`q@ZtvD5VWez0U&D_*1hD0gvonc-9DPx!93^Dhj{ +zW&U;pM1ybTRj7>$0s_li*F52gS}zHN3hJHU2k7;>9xxb7lgGS1s8pkVBA%AfWb$^5 +zPxD)@fa+b_}J)uFnK_zRy@ZpPxZH8@;tZP?5 +z#^8Ob`G?RYXX*m&vh6t@(j;wOv9-o7UW(-HFp^K(7RS6aDX;%%0)_{?;Y=cn~9}hz`mV|~t#G!+R +z`%i!1dDhZE)gADt?yQ>>HB+D-({JmTi^5%3|BedsY?GtDEtN3v$&6~X-%6tVVwN7} +z{W9ZtJTxg1G1AvkgHh0{k?z2_d5CY-Xhw(XnB-r{PVn3~jm(95539+$T=tC_gcG7; +z+z=(=9k9STUakk}7r+ipaM?B846v)@p140TRxj+ +z$pdguLm~U@&OXZC+PLpV+0Se_O*L+)A`G$MBj3^31wP;7Hw=z=U#Nr4L +z?CC%k|9Kb91*dJ<8x`Um?LS7Yf)keG&j0{G?&tn1Qhd^4!a@p))KbERBT^Fnya4Zw +z=5?>{s+6AJnwt2bc$m%9nBb|Jd)6hH3mNDc@|ViT2*~D-V9#O!zH5l+W&s%ead#m_ +zm{llr;NZSyE-wffMlFjGA;G+1-dc@A7$%={1>?fwKq@`ws)!^$VnmgLgVTrTUQn11 +zj}K37X@0dzPsiGFvTXC^`G((pBD?vRy{qg#eOY#-+TzlGObj!!nme#yI1>Y8@p6~~ +z1HPNXQ>PxBLYaF6g0S(7X;C2%)qT^`_jhgORQw#%;U0>Rp&=FZN{G4Xpf?%<+LtQf +z$n);@e#?U>KgoCGI0TK<=hRC2fNUt|{RGmo@M>D1%u3_~gscPzC=B2~_ZIx4{ClUt +zANQjGe%I^lckQHp)N}qO6<~kb`Rr$a-}ln_(RJ!KF^2p@52}CO_-B=*Kl1v&Ny(ev +z)s6kG@y^c(KX;k=O)g;m3_(zV?`MeLpOE^a5>yC3LHyc#CBCjkGA1|uXt +z0sN!f`ezM(t}XsekjVZ7;IB3KBPWi@e+TfdO2mI3ho7q#e-j4EKSPlJZ-^N}`xC^k +zbxS|n;pZZq-(-UB&k+7ACAissg7^=_{CU^yHwj?>Glc(230vNuAbw5l{%nb#^O(O$ +r1K*z^{D~4j`{mz+Lgsf6zw^?v5)hC-zJ&$A0u(_40O~(_jspGSQxq#^Uh*a4$J?+osI*7*$H{h+hHD-qrq+LhCl1-G{| -zgS)ud!(A+#%*^yaaPbAdm<7Lzi-8vW%76m=TLm!aPi5c+Kb3)-eJfu)7X%J|4grCD -zflDKh9mo{q1hNNN0y#TSb^!jIL1rKmkSkDc3335>0QDw7?hNEEK#d(x^R3;*VE?xh -z9GEMB6(DsWznII5bTOaYKz>pGH347He!m8C6o6nbBNrDZ5Hhl}i<70@ov(dZf%@-b -zTwK6`^7n*_YUJQxU}t1&28;{A24MqVd~bVE#s|t5_q(WrUE~l2kRgzNuTuf8`2qT` -zrmw&TIs^GvnEuuHW_Fqq|LT2y9RK1s{MGnIPMVVc&iEHRQ32!?AB2i}abGIIA4j{8 -zHVHdZCwog%MI$>)b2Dcbc6VEwDD@^gJPCY}rZoN#+HUaxlOEx4d{icD2qRn?4}vS} -z50OR}G)Xr!N>6Nwet?dSPK56bA~5J6Qc+deBWLn+-X3}$U(H6m;oh_I)@#eeoSZ5~ -z0t;28D;c%O@QJ9P*E@Th;jnuqpB236qQmB-IY1QHD9;%dgm&YPu94vcV?U9bq0z@h -zdG2>~{S@#d~~~I#BeUY2Cdr$wO4fG-K=|TfMS-HFe(p2jgUK!S*|( -zwkOTh)611iPPe>5ny^fs?%V95>2_XO&y#f^;_>mch_xJT9lH17xTkjO^_gmY99 -z{h1Zb(-9lAW8|}S?W98_GGV) -zN=aJB^L%>IuW6A=TIo!*fNZzURKfDNZ_awAa!>Nt*|YXSz5hpwsTK^<)m`2^YCib8bT3l5%f8uDii -zb!>u;D?Q`OJ%g)aGD*rOx(J@KRU!UyZEo$mZv^|Jhl4p>!|%SZXu9{=@mA%+jy&Fe -z-}TB5tH+K>2A@2uyeHD)-(U4~ZaAge-a?|V-(ELRkw-xV?dcoc1uz?i{8zBO1i;qB -z#>m+jFfyiQ?okPf764p(=IqS*EK|F=U!}gfobyRVx~Z#Vq<~SoEUy-oU|qE!jc1no -zQPAuSi`}f8&`&m(1Lkk+I4x)FSjMd`fJQG)0$MJNrkA*Pg6XFR -zKjSbZc-f^1ZKK?u&qvy%s)e!1T!Jd%nCJA5gwzt`0it?~Yh6a{t6eccF6q5||+{{4iNP$OE1QvjiB}RfQOov26EYdC8L!xmSYsX=SE&-;94=j(jx|fi=UewkTXf^d -z=s2>c9^>wzG-~cC5<90^7mYhPDlM73Og*O@nTdN`<^%~?Uu`FvCyC=>&F7H?$p@)# -zT7A?n8;*d*rJf&%o!Y0JTGw@mOSO}VRu_1&9T^N7B{!bJEVNe13RzbYXVS0rn{6Zv -z&X)8OagI!`9+EdLWKY*L+B+t*p>D!lwe;qi@_lMTowm&8=Y1LPZ8frH`a^ZBxvK8z -zsqdAK5hSq)lDrnn$n7c-vR3VuOLuB`UdA=Rp5(0{d^7J^rhiMCMNOnYM)>wLt?0V} -zMHc_S2TSh$w~96LSnVIBvGel|i+h=vok)`n+_0=;8Y%3~PMoS={G59&^^hu{(lPF( -z07@7mHti#UWapkMazsTUUhY}jy^e^h?;dmLy%j==gBgRIr4z(u5dPpmej_oz(WQHV&@>g0uR7_;2IDk=VDP8veGH -zAPq%xtOTwPfW_DW;JjU|?HB<914alAYnd@mOi6{_L7ZvSvA2Ct6|yh9r9(4SaQma~Zcp_xm(3NA8};fH$q)W!KeR-Ae5( -z&VNul1=3tV?9AED_^p#Qcnj6lEp*rqtB$Ud-%Dyh@JuFIRU#`Pxm~6-W_(3+Qn#J_ -z#3T*VaN9>BMc4+HB$G_iwZ>02BMRguFgnfG3LyZ6rpaLTJPLeh7hNjqXYPPk?U>LH -z@%MA0ti4=gZC4yOiFI>U#a78ViXE=`sO;c6+prI-0KQWuT~C)IIum^1Mf;(|!{{sc -z)rrenoq7w3h5Av?^f4-4Bt~B=+wazZWT=)34(_LDL0g-g*<;s0X*=n}%cKI?ktx -zu+1lsVp0`eA=J~uF&+uE#NM-Mwu}_pdx2(?*}84U^yveuB;Cd7e8H7nOR -zu&6eE@*`e%t_ng4K@MPm91BJW!;k3{M2-5aL1{^Wow&(fnTGO+ZU8}f@ih&M7(wXw -z>joGX4e(${2q+kQ{sX|ES3w9?2tK81tW#?B$8*aAly_)&SDi_pqYgpveMwYmTE_86 -zDMEFmyV%^Y@5P4n1Ni=$E@XihpbOBm1Np@$)^3EZzMR75Qqm72<-Hrj#;zb~L+~xV -z_#H_Z!qFnS2%1%@v&!k^w^5%0aR2~-zY+O=5|Oe%WF-?&e*dcCGXeS-0E7sD=>P=z -zuJ|h0jmO)p-irQ!%RlKbP6Rjq4~mbU3xVMHyW;y+{B@@Qs0^TG1%6O`5LQS47z}E) -z-@7S8y?gwoAi20-i%fu%#b!@UC;H(OXS6m)hvKYuF^*lP$b6Ev7aZ8|7IG_$r2P1S;o -zZf$qMjCTIjK~ZN?z~wtk7=dAATFk+cl$n#Xo9NSa4y*dCPWSHy^{8D}5k25YTb}M= -z5=%Kz74jyWL85-lCbHHhHa6DIQqaLjk*92B+)cibnqsr9TfIZ0f$0!`JFSZO0Vx7b}fRmh~O0?$}o^s*1cd7fKMO+Rz5Fn@*BO+WH^-G;fK+t -z9nZ>f>P(wc9S_vW_VYK!#jEIaocohE3_m|9aVOGubf|m&(y;{(E6?kG;BNK3^PbiA -zXgCu!N?OUo;kzk8V40z7iJv>OiczPT_Dibm=eXuS%i+zOPfPO+6j>#MmiLx&qeP#t -zkck;5dfQ>WZp6};dXbmoUd-cR=IdF2sV`i;(t3=6>P{T7#l7f1Z@1%OSWH{}T>f!MzDRD{tnG2S_4X+InHm1sVP82tAou6$2FR3D)U6b -zxN(Y6hhz%_IWb7r>0M72+4qmtwZbEVsSQsW>%q{?v8*q2f<)5SqvFB_M=HIPP4FD0 -zj07z5!+bvyzVqg@7Nl0wMnBVZ_O~#U#K~q8a#hfcuDi!Xb^dUvR)GqH?0>*ap6Pr%1bfRq5bFj3cm -z93c&XEBj1ih`F*EeN0=osA11SxN|J~c8_$?DJdd6j -zN6G5-7%gZoP=$*OQuboMkIYlXt{ASi6ITm)eo1A#_i1d9S37Acd1`J?<=7Rsr?(qt -zctdlW8%xA%%!3;~k(blY&edHFs&RT@OPM{sh=kzQrm-2J9;0owShS65xQ&kqtD{eY -z2VpF8n5RCg_#z%;RN#zqHG1t8;$h1GhFu_?Lpm0^aE%!ol8<@dNgVY`&hF=lPCHdx -zu2!=0Rdo)QqEQ%FfjzqmGc_S338YE?}AIuV8>TKAhoen -zHb)ceoaJ*xUO6e3FQ;hU{o-@RnK9|Z)TV>R> -zj?HqYxC~y!W+hH85Bunlzt&Cos@tb%Q##{>o231zNN;>O-6xrpnLc#!c6SRKg@Ehp -z*eF|xb%^y#ll}HFr)hg~&bx)!hBiSM%1FGiZ$lPJdbo0`MtkW|c;I6rV_Ec;60V{s -zP47hf=mKAN6n=zMHx!8FPtiz?d=yIHi$zDR6h_ZBZhD&)e&0(<9Cv#-jA=;c5tWp` -z=UoG{AzvF3m*J%{J(>8LD+@U%uJL@mZoMB`Oe?xWd+|N9`6RRvi<|Pnopt+HlaIy( -zK6a!r_q8zL9aBbpn(GzJ(yQ`sj46*;k3c7VRn*gR?Xx*IJJreH;hHSku?<O~h -z%b4ycU6q*Gb~EeU7eWkWPGDFO6+3%620xoA>O6-nt*%tty<)SIg~Vx3SYm71vmh=&5QxPhB5p^?sBSQ3TMv*T07B4T3(UFJ#H%>W>?NY=KPcaOS~?kTAu>)aE5yR -zs(F;%Qgo)b=hIhu;+It4<$Gdd()eb-%L?Kx*%uCrWG*GSD}}tv?p=@Lx3QA1A3qvM -zdZ3u}M)2dzUFh2T{e87;QfI>C$qM7z#OsXWjKr?nHf8l6_ufz-TtEUiD4%iLW&`F% -z_e!up%@PV}boTUfH9YeYtU?cm#C839tX17WlQ8(}Nt_^ymID*42sux6!(~Of -zG%os{{JG(FxGCpqE8w?%O}}#Hocz&o-N+*2mp{F1x!ag^H++h5+-Q=^h__&bDW7>T -z83MQSIlU}S!U&=H)IG&Ce>6J#yxziKiz2mx7FxxrT$x~|5ob1mHPj6 -zrEUf6DpUcX)&F#+fifIWpZ{z}!UgE#@GT^31B7L9zB|)>m+KWjo3A(_(2-Fub|ge# -zPzVB-0~>+$ZA${h%!JJW@RomYrn!0e5kEN7--^HNqlLix7LyZ!fd4i;6pR9u1i=an -za73v4Z{WoSqLguLv1F~`MYtQ3neo0<${C6st!;gmP=_%SO_-@(DEN?K=j1MD3f(i5 -z$esWf6zG(6?c~NEY}+^(XSFZ -za?7fzHYz8Y*wg^S$D=lvy>qEm_h+3~%_iudPffC!7>s1B+;qlC$bXxgr*kpX{~VjG -zfv2thFQCm8=;QbeZMFc~@V=uhOrwQ-w5Epc{|RmU2tE!j4nA%Uo{KOr=S30mw;}?c -z0~dk)4WVd%L#P4gUoe7Pp%3O%p1dXeVH>kp#JEF-5jXtsdcf+ -za*)yFrDldJ#suW$YzwW%&_VcJKQhlp($s&9i+RMoVS%8YN=F!-*kU -z#2GC|<_)CW_h;Flf-j`Z)tNgP035!iU%-tD)YmxI>-}m*ElWPRQ?c8$^ZI1f+$Y09$ysE)>(=Nzk8H+e6V9}E)qZB#yV|R)-d+>TxwE9!6Xaf?h(z8S+ -z-I-^Fi~00htmvPFD7;}nmzNqv(O-{h49Y7agFb8skDFnfG5*OISQWMF2>CHoR6pJq}wqa6> -zMeSwJ(`upJt~;$5{J1fC?v&LRu -z&dClVEFw`uk|9goez2t!kq@7qf+oF*p!>z0{y$A&3Lplz{|Ch2Gav$o-^Ab}AO`B+ -z#o)tj7oDqVcd3661K6J+&BMv@gAc&N#lgw>qZnKif7!=B?N4$*1N9F9UUN6{^{8eX -z#zD{Ot=eB0Q}3&EI={^7(WsPvl6s0(z3PKZFtteHx^Kic$=rH92qWwTtdO?`K8AR& -zg>(hBe`}r|%&M04Dv@D)#E4Plh#PdJ;H&k{D!gA+c*HCzoum1GajG| -zfr=STSWb;fYt998g%!{5%$`YZ1Q1>~ -z;36QbU}vYkIwKeyCxe=x2yT&0$eLlwNpwdP9gv_hT1chQ+BwFy$qALt&*d91c=6r# -zJlb1uG_){6iUW_xS?D&nN5~n2C~*<>`?yL~(A_sXn5B1J%HwtE&IgCMG>1m#-9i~& -z6y#7x>kN{5zR!-V;SYZ>QXQI!fB*6mMljVUoHMFLR-LMi9tbdn;6Eq=A_$u^wl9C0 -z0Pcnr)njmo7Av{^Pm17|4SrSxKTjyYbKo|IrpNUGOGJh8$rZkK{>PG^(^gP=6XZcx%-s<|^W?~1pXPtj2MIUK9VS7ZEfEzG8$S--km -z^2FMMvGjOix){XPdk6CDoPf(}#t~IYMXGYj%vICX@0xE8PM;(6h|4zUaig`z%o@#;skPbaU`oV^a_6WN*sRNExTQxJD2=Y -zCjxFpO^+H9ByivNEh{7Bbh=^PI}`wQ1^cxQULMw1W_cuam^!yC?)PzN2X}Z+`4VC7 -zNes!(3TvwFiTxA44}9^S-p@bFZN|JC0|f^Wj<#hqdEpK2Lg@h>0P^@-PXDQ#rlEmA -zdVmW4zCwTjoD&B?^zW_^0Idi*`xYq%)HCEi)pM9*Ia}T+iUoi}bB##keYBehtNSI_v -zX}8Y6xTc+i^FoSZbdhZRwjc2#tH4(hQo~yzN2yf|-6!$g_O*cr!GeBrgn^n%tA-AI -zt0^y$B#K@iJR!1pU4`Q}{?fPPv$0=B%P~TK+vR$w!yKHD+@o!ILf=xqtOHAHb*1Am -zKjQr&Dc9|KxDOU4KS8TL#mbwLK|RJ1#z+z2hmxjUh`Im)f5wy3p!v(WuWFWFnXVh9 -z(x`H)#p_VVz8#U(>>^mg;`;2H?TsQXLIo0>YMTO2(mACud`kT50^G|w?#HH -zH0%s=uB$djAGY|+x1F88oGw0k3F)1C#Cl3mxJOYN$TUwCP;9*?2Cc)IL^0_#^{4Nh -zJBRA+-b)ai9qyAk&HUuN5Ezh2v8IH1kPH*6SANK4B|VxM$T?SiEsdi#fChuXyZdnv -z6G<#O{vC&4xu@wMX6ypS<0;z&O`XACnWy8k4c8Nz$1M0oFP9^g$UaL78=C!Oo_^Wj -zugwzxHJcR|n}R8K6Ps|yn@&m$;Z&U=GJzi~Y#uG?LtFYW5*;9Y$Ffz#N#^orlywZ4 -z!6X&tAFY}f^{TUVt-wuOr|a#}!Oz|kx7~~zZIxf0nQ6g|lgh{C>D`7AD8_^&&0K1` -zI;rTJg)LkU31mh-qkLJKu^wKEyIr;rn7E0DV|eAAZ%yCA=%e?7stGG!u(E@45&1-{ -z=n4p?^7@T}iqhFZ=shBP4Gg@88E#(;U}cL}Yqz0oYIdzK7jF}r$a^KyVIwSM# -zM_poGc(=V3i`RtwjTfVbjE7d3xi;#l!^PU0--qzMOd}1!bGh}b -zBC$2L{tdrdkhqXA4?2Y0*XaOp2QPcVyoG1Qs9!ok7v}vaDugT!a}6zSB9^fiB=h7X -zZ#-=F30G9Ed>N_of}y{H|0#9dkXmaPc{D=aZoP|#fKO5m@72uZ#^ob@uVwqw(1!vg -zX^%1H*GwOB7aI{#@37tAX4ESR8MA=FyNkYW}q(XVSHaafYtlsC+x3`9Nk*P-7` -z+YJ=3t(>7NIt&tk>c(NE)`&0l(lYAT^k2F;@*ZxxM|CT4Tfrj#-EEyUfmeNUyC>2nhoov26m*0vOsu{p)WUq^%?AcRK*v@*yYv89m!)ki2 -zZ#7P08Mf#OER;UfMA*JJB4R1Dv9z9jjYYY}fzTDEeS9dvu%oAM+!>n2K6G2V`0)bH -z)yS#s!8Sa;PS>kOTf=l3Ihff_RCDxQVY0P&kHjx=1<*g;bIFFi>EIH`O_knQyGF_1AlKv<&Ik` -zg%vE#OtwXyw_xPuP)p#qwlNZ -zInq1J1pO#R|IGdR!|PrG9Kfd3-&e=qihpvyzP;`R&iQfhZ>!^&3vWF9>q{)@0h>z$ -z)Dv3ox!ShuLy>|nhj-B3s(f_Q1RCZ%dnD4)>)r97_Oh?`9&5OKi~IZCYp3#;3j&JP -zTIu%9WPEBL)6v(K^ -zgy9=(wJU0w7%qUh{iNRUNz-03G__LZZZJXUzRE*+!pu--)4!~YY~jqs_t37U#W8Wd -zXw0nJYKoEpdEh8>p|7Bj&G)&kV$l*+<{h$^hj*oInUmFziZ=1zv_wg9DLA2TBH0E_ -zT*JS$MnGGYx`|uU&|I?hp4pwAoD0vO#T+clx@OuxM)PES)eTY%&D43Zgm?N0PIRl8 -zxS==HkcowGblFD7{@|$ih7ZZF+@I>Q*45|A=0}b;VLW9uZwt@Wo;?1^{rP2szjl9s -z_m!ykG;Ue@)%A}YfaJ}p%$t&8rkWD9KC-^he!FdQwjYt9)^`@lE=k#05-}Ki)KwPY -z&>3uSl?0o&N6E1bgWQm}!ZoLPnL%E=!EeaZYc%R?m-z(|U(zc{(OpJDN9kJ=2C2w5 -zNc1>h_3HQ@!_gY$s==ds3Eqd4eaRS&mO1wX+LL5Ig^fgw^{RH*&j!{V>W56)?fL~) -z!uBi!dRjsi#Z@*KY*BYjY_2?acyPN-bA|+-VIW0@5=LF!@+!W;L{pXNiOhYNI3sP+ -z69x-~`gp_ya|Uu020=x4o!#g&xu>%Mqs%DFk9%A{hA%8k+FQ}yc~}#A+Nb8>aldNx -znU`B`49cm=+o#|viq8$99+9$UCgNI$UU$i@C+V$=63=cpmIey6XZH}3-@l_PaOVLC -z=g?t-I$Yi0ar?`5);Dbw(lU(Oj6~PN>p(V7SR%IB4)q)T%MRN$l^03KE{8s4k0{o> -zTMFu^NbkC?Q57B2mv;OJ3`w@CUmuvs37IN~sgM>jk -zpO@+>CAWrJ$!UA#jX1NA*;`(AIgUMxPI+idVRZaa#;WC9WRPjer74Gz`i6g} -zUDc5CVSfr+>&WV5F_7=0?#(iB9ff9MO|MsP6e8#H4#{JkDhgJI-|`6GLqB_2%0mAj -z#k#5-F|$+ehZK<|~eTZR)Wf -zMqCxrYiC7u=o2J;Q2@*VpbvlR$^Z3wk_3oiTqHL$C&_PDzdwI-;5P?;bKo}zzH;FE -z|M^R($ivkv@4zK(>`koU+?*=%UP>i?gBrp6&quN%O-=Q7ZCCK*hzeZcxzEi;Ih+;z0iaoSo#C +zcmeIa1yq$=*DtJJ0p?1cm1z}eiz!Ohv!+=bKF*~RorF91-0_4Qi_0006gKqUYGcGme!AOJA`@%Bsz +z001%o09;%RD|=5GDMv>d3kPQ!84Yzn!=c-m-BI3A)zM7T5!~^#<0(zoy^gxhM4FD! +z&g{-i8V7rG8drA*8dpnab8~$_BRTIMGw)x1W@z5OblyLP=GzBSj*dU+77oro=`tGX +z-}JK!g3>^qK>_ds02l*%U0axG&IDsi}1ulRS +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 +z(Hh^1`7;E*YA^T*t*XzL$eX+BkLC6cv0 +z_G)3#4r;_=OLtqb3RLa{d593X%Qe|MWF6tWmPa7e=F4G7NXS_(6#$Z7u8K)@y|lzD +zV3jl5Qn@5Gz3Fb=vnzra%oxYACMk0I6g)<`RWeS=6gWh~p)pmNg6D)GK#JiQjOU}? +zp@&n%agDXq63@`4hKSPYzMFg(!m4SY$3Z;EvZ;Tj}^|RINj&&9>-`S`AE+%mbk-f?aS)M9mtw@zu$_WlcdHspE8`O +zPOx$gZMy`M<<05Th3@#pYj5+saIr7?WxdS|;xFD64U1$gA-gSuy3OfRhv&b(oM#X} +z5=g$Mob+1wbu=t^(=B1;^c{PlbXaU%#zHcZkx8Hbsu+LQz2Y|5FXlR{MH%d +z?66?>DfEz>+2#Cu9)(3>r`BCwHn! +zc?$eGqGM`aYeajq93Qo_ujgGy)Uy;$Wm{;CU{0d?Dyl*r?T|py)5uWSQkaLMj>mGJ +zq4yV@lf5l59INJ@>G_vjZr7TJ{+!rk4RUdN2AO^H!VQ6?p`UWOUpDxcx!hHNxB{gG +zQ9WhbFRqQ=%F`;QlEvgqJ5?vJD8?!9bWB_`xWiuA1*HXHG_NM`f-IZ&OmQLKDVcK)z{Gc_h>TzQ^rHE8L+0)9N#-%*2_9qq{9%?n)`4Uw +zjlJ*jc}X&6=*3T6lPq%wBQwwHEZtb*o*8*@7iJ1FjP!k*js7O}-=zMV)PIxue|J*1 +zh5}Ft`5~Ex{?DyQxIzGM{8o~+MIa$~-;?Ry^L5IfEtZ`Tn5gJyD-vRG7!-leg^R%X +zwj_aOZpz`v&By;kGR?~;i1;Cy{-*x2k2ZqfTTM<33i-o441xxe2Jn1CJTbbys|2xu +zXr){q*fLiMB0LOB&G}!bWDmxU)U>=!sKuI&CeF|(5Pm?lb#$BiKEqSA$Zn)78f;Rw +zW@7y>v2Bci&$2-mK@`DFfPL;-7E#|^N|NpPKqPa;h6`Ro-kY3U-7{1F`);!h6o9J#A82!f +z0O0fuZFUGGgy1{c!Ze#HN2;qCe!SVgM9$gzmmorbi-${qmy7SL49tC|BK}Yjgk1Ot +z+;0fQ_yeJa-2ZSRD3yBQ&Sl9TMBi^>7m1nFsC9V+@;tJ4Qy*B}SE!u@jZbWf)Ruyb +zC(bo7T`(b{EaRAOF@X)x-1evNdMHcx*SeTz+-o){`mt=p9_rZU^V41CJ_E!51aDsp +zV>C=wB~>*U?R&hQ&&u!Rn^KmXTxU<|JNJZ5W_|rZ7XlAT3r37SQ&N-I9@ZZjVMLtJ +zb7fpb$$58@1@ga;vsPtnrT+umXhCnoY>&^&Y4uFS=v`?yw~-nJf=flgDx@Fd-#5q*QP!P=hMEkdI9d*>#5V;vS%xLn>C`55J(8;cQ`(~p*R;o*Khp;9ASThBah%u +z%dtENK7l_g3E$LT_PLF~{geDq*aF~y4rT)26FsJG4HA@2vAhw%&vN=9@%3UDF9bhi +z_fs!X3`j8_nS?qVzPw04Saih9AjX&KCllf;o}|gSREcML`XsngE9}d<;^I`=!RBts +z2oqHzO;`Qc$rHgSiTrrjeZ5auMSo$&{Q;${mCk5NHoL53LD5Q~h_+d)pOE^?2LFl~ +zVK6Izuz+%b(+oEKis1WHcU!5&j{P~EiyKHa$vL)Y^w4kQ3>He +zKsagq9m>uC0Q*0{U~xuwW>5sjQCwgnTXiJwxz`Ug&@8_^--OF76tTS9o +z+yMSJNb_-X{g4Cj@o;f-|L6v1>M#2Qr2fqhF2Vvr02~RPN4?YV=k( +zpPpy;Y*5KNN;$@;TJc3Cnp_}r+cg%LU~Rb)gcbH2Ucg^XGm3bpjdB6Ldt;6f!mghA +zGLdO)*qB-EfPb`>#pYGb=zZ)JlqlR7GzDLu%N_O=xP<(dlBlE1rQOz7vbJ61{nYCA +zFGS$ycxC1kKtKJ(SxzsPEe@5@$TVuj-`+8QPQj7CvHg>?{IbEnauzr&AQB(~!l2UN +zrCy?ejw89B)!<53x=84GSG|mU33v(*esqpTr3TdlRI=gr3aReOQdS +zAusLZ;Jd*$vQ?z#_n^`c4r!-?z58~NZ{a2-Yd5)ExWi7*MfzUxYHF#$ZP$dIl;ejM +zKlSuR?KZpHpCU*g3j}i-Zt95c5cg;1)sLp!#QW}0$pC=(KO8FJ4CY@iai7R?;Bjt$ +z+k0!XtBJWL$4t5($wwKKJC@+S8(E_mXd>%EjvVWs$X_Uv1x8e?WqCf!QC3uV_<%Pk +z)5Ps&gZ6W%G+0<{6|YewbE}z1e|zse$xzR+H0gystX6y(`OO>XBcWKLm=l+z)!VlXBXqYE{^l^3GfR2>3`qU +zUw1-6=zcT~K>;u%psNYv3M!OU9|21x!1d_$ZEmxd&5hH0ss +zAM2PMn;y-LbuMBNRWIWz +ztf!sOWz=LUCe7Wn-25;5W#jca!47!rf*v*4cuud17oI3OR?*v0dEvxhq#m?% +zRs)QxRYu3S2Bor_&UEbMk1k^|^7!rF5mE0rG4zb3I#^eT9IQ&RNEWzX|5VsBk-I!? +z{%&*)GVePBVL<>uhk&onbN0;BaAKg|Cs7N~HY(zE9-_IUV&+a5gk6R1n38K>5&GH*W +zv`r;1SD(B>3MyB(&BYVe1x2%z>KnPL*j2ARpKC!y-M_HBy>kgwwNOP&cZSqeF$mi5 +zPDK8RI$wT!(WxlkpsBJH~|!T3&?Ek0la5Zb9B3N+jRZUw1-6|32){GkS(%LXl7i7!}78 +ziST!rCPaP7)GwAiN{X%Bq?#{fnkl2xG7aaMau&@EDU8uWvGd=2$d9TZHA{E9!D_@_4?A`CWN +zuY@|z(hyU6wl0kuSQ(VI<7lrew?7g@yjvjWxmic!i-Rpl)M7xj{Q77>pLv)$QcU!L +zv{@&j7AX|Kd~_T%cRuH3_2NsjHRF_v*LcU{V66vbMM>;N0uqDN#LMtZg#8kaTsP2b$RpEh7fkGJrJNPJWD$#9o)-nei? +z+_+7fYT`8L`V#YcdbjoN9YwG8LgAUI6RQfZUj9cHZbWYlWKcC|Swv6SUis)FzyeKY +zILflMH>^UDAv`r3;EGrA^zR_vBwo*KR0R(e<7>RE5cdw2)`Lj#KW-dX1|63gwx1IV +zm#Lt;9?yuN_;ULS`+3MvNn=-QWD`^U)&Td~wWjF(X5YEilhYSdMF%gSJ+lwlkEsfF +zsA>XP=4g>cHailqTAT?q(;l+`#-7MO*oNqOi0r7xzWKcHCKtrLiC`? +z;4&-EdL3Q3L|fCl5P=t|1qenTf!)#5sLO} +zoqR+B(h3AGr_VPm9T<2oIUI*R5Gqc6gf+Kn_JFs@n1pVN<0>z+eqq>vy#5if_7av1 +zt3P}jIB`M$BRoR^K!<{_Cx +zrBvp=3j#xXd-AP~J|^?VUub2$Q&XSvS+!lHMSK`r3D!yDY+Dw>aXEpXSjpusQ8x1w +z5ui?U$Tuzc(5ra2IL|mTKu#;i82f1^lPFgdE|xsK@^1U7kWOp~yxpzDj4H}3+)Mpk +z;w!w2Jk0SH{5#_zUC1ZYB*Er|^L?v?6&Z}T9QUU0C3UBa3&VOYzHQ1YOGwEr)=f;j +z93lI((dI5IyY+QK0}Sjh>NKqq!F?~&n0q1i7wd|mo%0D>#A9ViIox%qA}2QoS_uR?+%6e^7-G=O#?Er4on`C{ldmCo +zD0z+t$@pZ)H4FZ_oku7qMRtAlCbe+>)^+aru#?XWntEzA +zl~Q^=g}J9X1qs^C*>h-;qhkG#;-SUhw^;g^0gncJY-VHpHgEYIr+&w&e-o#?(Et$p +zVcYos^z0Z8z{$5=muKmh@%P#BEcvY^qCPa^f0us!WxJQq*`m~+v*T~--_oyd+r1#! +zKN|lwJB~S<9fyD2#FB>GSnQ`8*M7&-`oSR-CHQ=JJHw5Nhu2MEVJoTl0v4v8J>eck^xNC8n;=on@=fyV_b9SJWe! +zhe)BCI0M&DwfJwsZMqu|7|mUH%`2j@`x3CFQJMV(9gT +zp$uhg5WazUGE2!%Utv&Jc``f2zP?HxIDDhefLN2}?!}k}_iV0r9au7O$~uw81}S38 +z_scYt`q>-l?K0~_%5FO_^MLnZgoYp5l(kKb<{`ZPGH(TB>CYLNS*!BanZXn_s};_e@W@aFI6S7R8JG+p>17 +z$r=ZR8-%Z$qhxrLoG~|0?1IKG6W&-QqOVNZz^|@vD*o_})q|0ehrqDe0wT}8YSuS; +z@$uSf_jxqp9@~6LFhRYtyy+0cw{HRXP>$^8LPo6`;JgslKiKz +z;i%D`YwZp*fwlVvArto7{(%+n9V=vabEvYU+B%aR`nIX3jMS2>~GN +zkLrLw1OUJOz`o1xU5dFLqKZXS+w%FLiPa@|(~6i}a`3@}Pz`>_SQh1u +zkK5&AGld+7mo?C%SM6j>vgyyqRk(#>d8VmtM1+O(TOLa%f}{8el-=+!2+fxb_Yf29 +zgNKYAou$=s8@v>mu#f~?9 +zCX_!hFvxIlYmOXHAgV?TUy~={75TojmDE*gBGvMK`C2J*Hg}&g +z*10@?W#|o`=pD?H7bR?r_wL(NmLaCM>ip4z%MM3JMup}%53Xa>yS#i6`s`JOZFzFk +zEKN7_8bkHnD3-bM13%k3+y@btMD*L((H(n*$)D$ct4{pp$^Ywlk__dW54oE=|Cf*0 +z`7OWYxBQm>r{()|{!(g+H0oBjXryf&Ol@d*xz!XQP)zWzPXPQ`{(c_dS${(C!--@+ +z9Qt&2BH5o(3H#;wWPdgAF!P`K~j+p=|)1jB%~WDK^l~91o=05z1R1B -zz4!iK{P8`H!?X76HD_k+!5V`2G|FdQPvRgvS{v`lH{=ESp`Uf0%z#nknVc+rF?*%4@dJ6`D{D50SkS)jr -z~jvzQVCuc_s+sEI=FazyBXx!eA1Ne`E -zfM95EuWxH;V+zm(ql3_a4}SE$#jyeW_IbB$Ft;^W9%KO2KiZUmdp-dEv*nv$1A~G3 -zo0$G9`lhxTV*keuL;r6){0zXr`)iyC(6GuA> -z69q$C3o}zEXI6I`>nOEGTP!hb;l>ocC)C}dfyO;T5!eU}R$zK^Nh~m?OaNFCNx(SO -zz%VtjIXVsr2?-C|8-%0Zfv5aH`H+Oc-)V2?ZG0sQ{wMdIjSpVC#%3fG&%{s>l)GLa -z6d1e_5%BtGhcO)HWBf(ln^zkoCj49f^Ltn1 -zW`*;Tc*4~cp{P6;*U19~YYf}&`OiH>v`x~-k63Dz+$$+x9e*}@;Vsbqn9%03iE?he -zoWb#-*ONw6qtNZzxQtCSdKP29~H4&yPdrIX*jF@C~1V0BG$D5#|`yL%|ZHYOo%70-S8 -zu5QzE`ZeECYPIOArqp&vNqd1 -z)l^ -zRNd~|wm!TvIgPvMyIXw~hOa&0CDyDU)FI)sC<5cL4eB>UR}1H-qyWQ+!FXVM>^jZ` -z+|}W4R!9}R2+U5gZo!vdj}9(V{1bvC&0;= -zn7T(LD3}A{+OueD#%qz>%{7%gg_eD)EZNvqG?GWJRr0DD0cZO`UJCaDS6cAGee;9N -z?9fwdw7{kN``PXf_Lrpgv%?J3kCopBks}1kDlND33dYl-Bqp!c*_}4uG^P2x^x%Ii -zGJDq^`Jo?<$m3?Zph!1cHXnDll{r}>hY~I|eneVP0?>MXG_9D=C5pc;`8B%<&S;kg -zbQ{_6QZDQcMKuhIG*M?e;p_`~9kCBoi?PBK{;$KH&5M(g+r?zazz=Onar7c^L_DRy -zLyuUE?eBFlL97p-mmsBl7OoSiftQCg70{1c4sA#cc8q%P3MZUNYf{iwb!DR=bqh$Ah}?*9m^xVlHo|0 -z*yNj&yH|E8S5`G0q7vu19pjdI)ukilhCT0$ -za)EVwmZ#q+`y6p}7v5{Jt??1{`G~C~ZqpuWeC%LVjP0uj -z#?$}+2?SRH;E)Loh5~~TL0^NDWufr8=pl%3@QhDnhWKEhAz17f5HvVwbr@)51QRDi -z7Ip{+7lafKg`Ee&$;r;n&B4nK(ZWOF;)L+A^ZpI}^`JngT1X%i(+|>6074252mr;S -zrd$QEYMjfMW@}z*-W@O?IP9q7tua_ke<*U?r;ak>dMORHWBD3E=oH0Du8~%9a*t)$mzf{iF@vV3%K?djeED7bnb^x{BJ9e<_1#Y0 -zWrcjbs1`lsvUiEmQYFXT>frPT#R7xJN$QcoS-I1>y&4M|Ydyksf?TsPxqJ&TrFG?B -z#IbT$TST+9Y)9*CA~~Lmeq3o|j(`pb1_58g>Fuk$n4|j=J+g7dPwI80={-`OVv^|* -zV139-Wd3kEVJ;&e^rTJr>p^5-kQd(0iXqd=p)F6Xu}xIm!}!MGnAnb+*#dO4N!Vw} -z@>3AC)ClA>!R8nr>n4k*cMsnoT4%KGnR3Q`N}ty@X_~G!z_)&4PxT-($0(?vI)3^H -zt2;*-q6i@YWPk(}1{VhVS*HL()E9L!3sUsN9oF&`_%xaU2-)q&R517uT>oEpK)&sO -z1p^C#hJw2JNx-1lKoDjyHraz1$K=YR8;cY8kBC@oPK0j}hQQc<1j<#-6Ig_#q1uvN -zEN&UvvYS_S;0Du7gmdO8+5-9^@Rx$wN_a8NU#=sbT03d-d+5mum7``%A -zqlq@l4yw -zd2lh4_oA?0lbD}_$@)-LJNo4;N3<4uhr)tZA%<;+@X~WFhim_(s0I{@C;GD-S@GtS -z98kXdtH;4&BLvO`zMipJn#Nw}JgF=@A~=pu7u<7EXJ|bAO0zyrEyb^v_50+{AF+zR -z*5^W;UasmB<=!uxmg#C#J`K)^^hLmip3dM^)ET|55+oZ=nG22-$*8VDd|*yYvvn|O -zO1(67QqcK45bZGoa!?qtCS!;=S;jQ=4$_>h{iYtXW4LQ@kLo>TkrVcm^|>B~yGfT1 -z1if+RVJTm;2yeCB9UpIJ%IlyfeWhe+)J^g!ImvoYr*fZ49mPKWUXaDc9WVtb^_ppw -zArSSm?JIc?qF%qpteQ9}ks%v~WMLr7OrH<}fKMQPW?nBXlKZ_a((H;KvBRiSE*4}t -zwCBtyE(U63`uXZ(gSnA7 -z;vhzxJ^@Al^88M7|&zfQnvLNx~+kiz#;?KRuA|S1(o2lFXh-vkpoYr#o*)I@+R=QeMIn!i-gj -zIwM{l$bJTUkJjaKh4uJCO*7(Y2&KVgeJvF9&Uofm8UZ}Xdr`4rgCpf$O2$|Y5{CTd -zxnX`sxF5ZFtpq4lwUDkgoC3@Z#4)m11YP8HqHBB@@SK%sxQh3RB`<9I#*})IIOHQ1 -z+e_m(;~tz4>B6R -z1zeX8i824+iGJDPpL!x05JU^sPiTN*}_Y+FIJi~lhw>BOUtUL8S$j!B4uj+`0 -zV1UVOO3j83(h@~$+zY}&;U{RunLmg^^LTftsxdH)JL%?p^H0D<1pq|=Ze7$ppoU0- -z$$gmUkcQFJVQFi2s7tW&NVa*oh~6SfZu7bfef)axrU6Wj8)up$AE@$x#1`LcIu{X9 -z>%!nGBT@05M$Ie;4Ew@vwNQ-0f&{|=jSA4qPK1DU)3Xe_Y`3j!?x011Sh -z2O#iAEKyiUmWn6D)BUev2~G$v#~)$|4sM>GV~JbzFR{e8L4hzmfbRbsOF-Yo5&@vf -z0s0z_>u4bYq}bR(7rj9xrE#9SZ4MgjAm`(xrA*2PDWcansq2c~aWrMjjfnPHbFTw$ -z3S+{l(|sV9n3t^GYf|j2xWX5EVp;iTxpl&>6Fl%|dYHsLO(Ss{uecR0 -z-;Yy+4uh0AiNPiBj{Ar`rELqzRrh17!Ef&uR>(xS2+p&X}fHD9rbs(XZu0#ieqLLQ8~ -z&Tf|6Qub9e*f7rto-KN73i7gf0NFN(#y%AlNvO({1=iOr=rWdaBm3aXWT))|OwLx~ -z($>3)jl0>z#chE);fRrA*!1*a+<@cA4L+&F%7JNf#||cx8%ksta}OPlowjE(m#niX -zfB5JTFi-weW1nNw_Z{xfZo4`Xh>$H*o-oh_Etc{aE(&lJ2OK~ZU&CCmeTHpgDsPI$ -z*}u-^d`fg#DpyL{bnw+pla+X+Apfc->SLsdDDmX7E+0JMyw}ZJhht9V{kHNbsg9je -zXi;gbvYm2_9B$UJp#V)4@=dqXXcHQv1Qo*mWY`%$4)@sF6!aTt{Cg3h36(89~sZ2wGeX=fp7dM -z>`xQ)z9at#Tv?ZQH+PmwV&q6Lfj0&Tp5!i_f%EWciLP{f7146`rAs_-uUqfuW|Ok+&|YlMEM74!$jXjfNN3G4+l%vY{-cf* -z#=d3-tP8Tp)5TtaOx=or`e&t)+mT3wQw2TEQeVutSScUM>AQ0u{G9Z?EavMtpfL=^(35#`4nPcQLN}KE} -zvWd;_xtaDJ3qpo6CXp@i3LQ>ECP?;+CrRjnhRIpf<|>jg91wZ&5$!`Tyj44OPzzZe -zFqW8O=v!6ekXR(S$aF(2nhxy*Ke(T}R^%_`s^;{uTHC58i>fb+^;9%nao^qO@cYX2 -znJM_|*p=b3M^fsQj`%W(M;V9Sem$Wh^Fem4G{7^{&P6|Fn^-7e5w6c%txp -zM&M}P6?$v!_*gZI&yp}|!x>VDGl(Ap{tIT?Lg3;EU(XHr -zf{@+`?K7wBDy~D@F&7hz2{T!Bb7n7xr|sO>r6PSLCnk3U!Hf;r#Mlk|m*ZSn9xb5> -zWzTJ#lSP&z&1{ui6-XUJ!CbbP#u(BpoUfb`)aye$sPt3#B#sv@K0m8`yj|YKqaGkOAkgL -zj6crRC?b_aVokkK#WE{G&G)cR+}879uIL83gpt3W#t1fVJ~2j(l=W0ISXZD);iT=! -zT^w#FH{sZ91>&}EdaH+Q#i*IBM!Q?`e -z=hd=rMyXXu>^ND($5kDd@ekzb!oJ{kA+7Z~79jV3Uyc4Y>c5TpZ=?R(sQ*tl>XyK+ -zLIsdo{d+JC;N*b${C7JN&cGP^?4MV9sT7PO$gTaoSZNi>Tl$sq2Qs#K`?px7{ZkO -z_pxGv;7izdnKHMqBHi^%OnF8Xvxj2Fs#`xM)F97C<7TMk3%n%VzjWnDqG^GD+7svu -z4?QbcJ^krVzHI`F+q_;If)mL>?y&t-;zk>Gp!W~H?Ux9}+5Q-E_j-+dMM;$@q4DMI)7*w|;-rAK0F8`9fo -zb8ldnYt@SuzPmOMNENub-DH9S=1Ur=fkX(o*ol1Pv>D#8v45jVNOI5H+TeWqCbvK* -zOe=wjdNW%zfP6l+AM#x#%pGMK!iS+mQs@b2U1~{wHge;1s`l>*B!jhYN&TN=vlZ}d -zEB_PH<^qgy_%3ZWfV5%#khU=OW|Fb0Dw_W-Y2$r+d>!LcibtYT02x@GwDpXz% -zHk`iGL`P(VLsH7J+-d|pNbc%S?3pG>`RBZtN9+s}7~x7X@&s;T@7>KYeZQXme?{KD -zCC13YYsw~alX2{pNA9cJ-G_~b*a6+#m7x^5op -z4DaJzrDTA7OtKc~gOII*ry=MldnFaIW)}zMB99daVj2dwo;oKv{u^=ouW}g%NW7r{ -zA}0_04l)3MfqPM)b|axWRE3*?l3tKTiYAo8e|C=Ey>URHlpjAqd -zl*y=OBM7yr&Z}Y@=AQK_xel3Z9Ko-dp1b%M<_uqJ%aA!A$oWyVTz$afsoH40)R~ -z02N;+j5x}-n>|3bPCO_^e`yqIcQHkUgv{!-@l8WWg+|!d -zPjahssposg#bb1&iR9gN6W0xVQFrs=p_6n@kqiH18P5jgvo^b;NtkT1UhoN3@JF^U -zTKqv$f7#)mSw?7R3lPK%%nrKAVA3rQNg@qzBNM*zXLXD>je9>PQh8b}QU^<|*pkSg -zGvAWGl1sbGjC3kU>J0-78C9b0gr>D=eJafP60 -zdFZ){>qL2oI~Mk=Au#XXiW6|P1K?H|9s@PR6bvBsuX*dQ~$io+p3Q8 -zBTd+vd^j%mwQObdo{Yo-~Fml*Cn0%fp@^Q$T -zCM*%m@xvurC}!2nsYJSo5kq?AbDr@U2CMhg<4Gu+uuPd~yK6>mRccj5@Ux%1Tb -zo@Y~QHF}3S^mQ3#Xi`+XW^Ubh@*@mDqQ8~rz%>ql -zTaAhUYDhpRKz?7|Eb#m*!_|oml$)Wcq%KozmCDAL6Ej+Zl&zEG{xj>jt&EtM3hL`& -zCEd+e1#xGDOs+(2we?puXxNjp>UCAa%Y_41Vv -z-oEjnq;PxO>l2EFj)-~Wp`39#c5rfeLcCe5vbm0uL;GUOVC1d;g8Y9iFkV1HS{P8z -zAMrOdpibn#xBhqW_w5eVHNbCRpZWq&y^lXsFPa--y#R%C20?*C1mf=}XDComcVIz( -z$W1!}Zw38nbDWEtmy7=&>h~S}^`Jl~%Abit!GeGk9UAaOppd?8d5$c_aigczo#;WT -z2B~s2H90m6=Pp2!G`gAi%u;vColF!`cj~a1^PexO@h;7C<0(_(cI2w9IN$fPS$T`# -zVHq?oxp3L`EH>SihD4*q|0|trWej&JxQY_lA?n@k7e7?Tdc`fLyv6*ow~rUD#Xkk& -z-qYvA!7XEDrDU5I2#J+ONKk-kmPyE*XUI-;hZLL;Akdpjq)^*B#I(r@7B4O4>eG4g -zKJq+2Ty`)pH-wFa8j&^EsdJB%H3E@gLTZmO6)T_*X7*8vU7btgb!ct|hd4Ec#+KYd -z>E7jKQ$}kK5_+y>J+0!4h#RR4&A<*vdqWRJaf)$GvBIof@u>$4Od-^t>;N8^#R=Vy -zFNGiTlO@G#s3)4tBzAwW1HbI>M?3Jx2?cl#Jm$>gqBd|9FJJCOnV)UIh4`104fx)8 -zQRr!tvpNraO(;dOd(a3@atn0pWjx4N%qZ0GE{sc&t8h9Q_i4ZSVB&ar?0>ln!6O=7 -zuJH+d?Jk|gAYZ!bZ-By)F1nGs#VAx_6?3m*@!Hh8>_bKaA_5<~Lj}p^vj9wU)43L_ -zDYT+DRvz@l7n5^^AeP?8;FcR4PRn@*1PNt{@>x?C4HthYzif;?2k3K7o8Z^=Rvz

T-B=bzm-_C*KM(pfm^o+$s+UfRV&DMU+4y$=qeR -z@g!Bt5@*Sa>!SWgtNWP4he~&F -zb1t6|>~An9>s;Es;r+}T@9F*ai|o#`kK>?_VBE2`^hPhN!2@VofCqp+{?^lftEVZ5 -zAdoI#f`6&);xm&^9+Upjf-FiM*7>$W5Z3+4G6y&$4Aj@QpyuE -z&Xmwa5PAJvlkqN4EOwCa&=%v=uY(vQ$T6&89aZqfy*3FHr;zq|@wLd%(|TAec4 -zHcX~^z@-|mO&RlHL`I_vXBCz6i(jUbErw)6O!Q#9{GFIew4Tq&ay5wA0ag@+uL)QT -zbgVnoq||wgKg1=a4(d~5tbD~0*%N9Q=~l>{6o`zSv}#vMoCkG(eKs?H+!pR5=lQ8X -zU}5gsqTI8O=QYv8=>5SA(s~WE=sD|qN8Y>);B=bHENff+N>~Z(8rXD1RIiz^3r5$UDiVJY7cwyYgM0dA -zhkxy!08z8vaJJ5ybvL$-a8Pknq>G^Fd?Fq6+1xs9RS&wkA34z;+;<^Uf&bi0?wYKI -z4kd)3%2h21nu9ljrky -z+SsNQ{4&vnYQaH_aMxs`#p&A-#h7~~%Rz}dSQrLGAN{KOmdDc81Rf-8d_~O)&Vl6O -zF(b)C7)onD<&_mL3_|#YQX9LqErgnzUEm%}gh#Lt^;^%k*d5o1cY1YiWVc0L3pabKb7WITU7G(=Db~1*(7bN}W -z^3_Dx!W+)09JvxgrDcNv`G70RnjzKJFp_A9ob7fOHx943EY{RKTK)RDp4YnFRp?9p -zqLkOjOIs!{xe5*ODEC?JbJ6P-gbm8*UgB!5BTF#eEz+y0C$L|Y*pV~HBnv{g3ecwA -zNjV7Ow<({eDL4z}ht`QjO|BAM?WLyItLnd_GV5k@5ij#V-q(u0m0=BG -zq_l8bv{O+)b|*GNv{G5yH~3MVu3@e%q+hL*G;-(7jY2n{rDNl3x{RCnicoO13mwg)=f+s$lCOqI^{)Z@U}P -zKb1<~2W3lDTNv$_huta?BZ<%ArbQ-gRU?3IBnhmxbhHhjZPpHl@d` -z&9YC!;8}7@BXb#LjCab{`(}$J`L!CE!|NYJ@>TU=s$}lng+H{ToU~c+h*!r>YC&y$ -zt7kbuU=gOIZ`arc7@4QW2K4S;S8j0ICRc}nd#u<&q#^l3(a0}A>-Y(tSSZ6!yBPd=(5A8)f{tto-%#)B#^saZH8mXP+WkwgHp%C -zjr=mECI*`V&xbH1b|r2yk}u@gUh$QM$CeJP@|1|l&&(m6D9u3yALpFdHA#~)?k2ly -z(D<#EyrID$2OTvt(E>66_@m!`>bIZzH-5?sI2=J32&4YPt7BlyHLyYk-n_aEzYKq@ -zju#0ZujBN?8~(fS>rbzH@v{S)QvX;Te@Fiketm!43o83(;@?-t&u*jfh;J{kqz3M+ -z4p2^Nu5q^Q+J(Y~pha}hJSn -zYNa_gmG-TEO+#B<(u2PDF_ew2`%72p*1PWZR@zO~r}V@4V0F|%l^YG7M=(}Bjpwwc -zPF$uHRg>*v{TZwFhOPtpi&pDR8KD#5h}!t9RqHf;UeK_^89Ue?pgicsWajVDs46xr -z&M|-5A`BXN*sq7HP99G6tllk~eXSE&0*0hku(4hY*ZlJaIf-uePI`yLr(p$`Luk{0 -z&tcg5yX^{^#scUtc_pdu7?@Zpan%_^bf#XxzhR`SvF=}2f-`sG7nAR7j;&j3+nt;j-uET=Rrpg`(z^Lp$?V+0I*hxd>O=mG>YLYp2!DRr;a`V8 -z!23#+hw2Zl{A>D0PC#;|6=sdkpUpNVY92Aa)B3Pye0?05uG)7U$|_FQSrj=KbKX@F -zY2O*5&qjdG)1&CnhD>6>Q|6N0v`#0dRp&qC=`|L0eZcq*kN5eMxX1xLu7l*mN&RHF -z`vkh|Ftuvf9>dY#ngKYmseO2pnUCUw_@>aul(=JZ)!5{rF{7=vAMphevqD -zSc{ii&NKKc;|~o`6{KJ4LOq_!m>P>}o_V>FSWVMf6(nBYcPI|xZ_nz%CkcP7!~ZxA -zgmGp+Ng1K0|GIs&oq48>R8pFLj~?${L=DLL4O8SE%b8w%K*?FVhSCZFFhk$>HBdt#({o<`f*WsEx~=e>I+-dkc~ -z`Z@_qBIblCIxN(Lf=ufq@ssItt8aFa)un4aIDRvT@K?d(Md0jNDVKJq%E6oga;W`og1_1Denh# -z+ExrHo%JWNw2o||-39rjb?=mjYRfm_Yj{n~$Uj|tbw(27SeCar{DE7@2kCmWn29zn -z$*Q6hGQVHzj}TINF+MiVzs!2Bf>`G?H5&T%eYthni>O8N9{O#Xs_-a=rLuEB>ss`e -zk!*sx?aT=FeFB8<@_;!2?BQ=a`TxD0OaW5-x_JBQQXA -z1X!Px&ca0tQ*TV5O~n>z_07V}V1%sOJ0%`&IuyWt5j7Z=lwN>g97mUYiBSIX&ABIX -z1P+X_OT-5s=f_r*BTb(A9>OPL&Te5j85~|aZ_Cxvr8ZC4#xDjApDif%q}dazb8x7y -z;0_bj;Wx0pWD3+>Noq}BISD(Iu~V$G9(vtWg3)fId}Uni-*krK#KV~GOS}2P`8scO -z{hf3qMQJRTWTwaSue(f3XXAr~{r$Ym8h(B?izNnbtdmiA3MQjHmc=TT5?^XA98ZQ% -z8(|QYcwA==h2wjP3153xd1o5lsYo?YPh&lWt*+G!7n?MfkVK=Q$!>9S5Yg2ccuu6p -zkYem=xQ_nXjmlE&Gfq!IRK4@fdK5to@e(%ow}aq8lkEV%iy7uCfmCGnN0C(UgA(^d}H -zhC^}IrCrR-+}L}@A+s5!jwG|lCBmG;ibroLuy~G8dkdiPqQTi;YDwl~PF;O`_`An> -znp7Gmq2yPzTCkVDj+X|vp4@+@NFI;bu;Su-hlu`|R`TJfe$31yxpCMm8FjiuHtWMH}YXR -zPvU~ldN!xj-%V)4Qf|CJsRf%si9Bd_Z(Ma2SEVQTutI(KX;jpu#iIWPi2F0v;GzRgteV)bV?|d -zJx=7rFM=egkoTiQzQC#oB7NTE25G&yJn|0U%-EDGNIRIUnZmedIY;X> -zxbCBVGVkcUS7gNXh>78j*P(hUmCu~b5qX-yj_+n-;LPX+`1rNIwm-5Z!&v-Pc&HoJ -zch5=X>lbQbj_IAOk7aCN-@AVZ4}aO=pN5BkL4&?EHRh-4uBSD`~ftSUpsc4l+opm%$mb2GeINnOmxHe07 -z7KL4+p*QpQWM{oJ9#G|R8}3AB@iUaX0+|trFCfU&TZ-9|E>p7W<0vq}?$N}9-Mr6r -z{VuW^25ED1@=Es=(fqVzkigjfwX$cI)p*tqnm)2cZ$gSnXr2bN7Fzi=Rvkq&A|6FhZQkQOZh@I7zu*;JUwLv#21obG -zzg^2Hg^x9qq%|C0P=I3n$=Pi`4b=}^3%kI97I4``kl|WCppT-0=&weLg&KPMg={n>c-a5AL -zI6=>s_1<&gZQbJB0V;p{KDbvyQ$fsaP99k&nTWUw_m9^(Up?eqb~&}@BpxS{nH{#6 -zyTO|dD_-x9ke1y}vDfqh&5Ehol*Z(J?V*^6BIXS!NWRkiVlA=a_1Vl09i1fOo#5;c -z>ML#IW+G{N6)VoR=sLf;$)3-grl~4(K`y&0sEY;0aHXy?nMcPg^W^Im!l63m^Adf` -zj2DDdwy<>B9mbKLHR~wrVXsZN$Z~jsR9CmB5ba|>nRy_hWkAh1EsZaP*V1+Lz{=c3 -zg*FmY4nBXM$%>4D%%J|^BZFZ<(~xWK{^K`(kBJi!pS{ip51pR%KTLiZUc6>U7Ash9 -z(u&oMInI~Ny|Xs%F#86X?c$M)VqIZTNp9e~BSrstL#{LZyLRgmzE|DEwI2#XY{2UK -ze1>wabp0*8uBEYfsMZqGFfV4}gKE9mO*QmF64ZS)*iw_xNB^$#O@>^Du$PCte9x` -zKGx1b!*#S5vFFL%>CG=pvz#Y-_Tr8UiFwn;qjk@z?ZfzC6QYDGe8J?DoIqmIZuB;q -znB5_6p85svSMR8q?WTG!GyDh0Xq=TlY_12hk+(E=7q??H;l1H&pSwI?Uwa`Mp-JtF -z;Cre45)O)i^rqrt5oTk!{MZy$S`amordNMj$JJcLfVBc-&0N4?DhNDta6}IWa?JSn`Y#G!Xcm`J -zd(NjgZuuRJPYvaInm@|+v*I8rPhM&49{Em>_0Fe>w9VKtlFJ1^QW0h=_kM&Ssm?N -zyG?8F@8I2KcWk_V!LOKUbbXW`(jjctrCU<;ZU_bDm|mFKI#$C*>@~Q?<$2Dm -zrF#OIBy(RztGT5qR&2n=?{_^Gcr>OT(1A6wEeoBs)K?R{{dx!7) -zB*o{+qwF#Y_HOF-L#xP0lse7HD;}gyiIVQXn(G1ghM_tnS3;BYNt1rN^E3#nB$ZX;>=VY%F?iqK00K`!_p; -zKPZrNS!)n4X&8exnU-r!edJF5=7ik0VeI~)O@rbDEnowH^~mpa%I|f`?{&)Wb;`e3 -zr+5N89Jj^I)KUEV-S6vf4*cf8|2+=;IOk7HS&m%Q;xW0nwVkmQITwer926J{^w0kT -zz#qTiU;iJ#?Rae96!*WMNdD8I&scvLTmjgCUz|_=X97Q;czb&`^gqgD;3SQoPKs8R -Tg9RFHk9CIzHQe49++O|{heuzh +zcmeHw1yq&Wy7sq%ly0QEVbP7GAT6PEgLF4YH-e-h9ny`2bV*1zQi3!nDJ{r9*lzD} +z@9o*=-v8V?{{N2QI|hUGt~KXeYkl*1pEu_G=2Dh}K#>6e5dZ*yLV)6RpOPO00B-)! +z04U&S>SX8QXl&}lYUt=>{Iw4NzyQi`uYv#o00G261pok$o6a`^0s#8oAKnNy000sI +z0AOIKS=f4zi`m@!K-=^(1xtUL{o6Ge5>wy4(`uk%501yBGfIp0OUXPK}0mPx7W8dv@rz$Fc<^C_@V8Mj`REb-QWp&^BPzl +zF!6uuDZZqWea9-#;v +zLUZEP-&Z~)VeoU>8+sF8$wKha +zy=UXS*RHV{3B^+}G(_dD=ZFOcuSEpBKGlvip~s)j +zd#ZOwA5dk$oT8r5URhE#j94R`!(VM{u~kUkwUn!r7-mh}%^42kF|MVP-@Y~u;T*8K +zA~_V)(wE&mlwli_5VwlwK6zWW=~f_|H|tfjVQ+rvhiGL|?u5S#Z@bM<#`LOh(Q3YY +zrBFC&k%_{;aa>b=5Y2SH5}73|%N-hC*C&3z)Kl!Zf( +zUXqWd7m2a&7dFp=>P!~ej1^V4`?jqQFHKJ3&in3EUxpEAPk4znD+qN+JYE!mdTayz +zh8Sw${FD@6s2J1($79!V&i{@Mf3rfW;JJTifAWftf5z5|_H&lXwJpzCdvD$QBk35p +zPp%RaIabzD>ApVVDAVAWFL}%0Bcx0R`Vf$HeovhPsDjlK5~# +zKDzBKJNE>V0M=X*SF@4 +zkH0uPC|}-}!#?V}TmEVD+~Jx2iD!lPWJ>%Ro2OIVCC%P09I4&jw!X3)0wQpzXXpwB +zfH3&KgY7K<0F12-ot#XaSWQgbqY@O%vBhwD7H!RVEt0#rrjn=7vrm*I8@q}|^60fn +zURERGZr{&K;a=cM3tG5mevp|RdSZ(#@9bvAf&KoUD;U36~l_60Im9 +zu$~`HEB5#T)lZlFiroZvv`YihMs~E63%5g24P}ug>TJI~`^;?DtT2V&tFWi@ +z;-utuF&Q!lLt9cDy@(tUPbly)B35JjdtFSB>ci(HNGYF&>qKhc=OIt|_v4jA45`76 +zQTJcshBIkR3fii!Y&4|Kp>dEw9|S5U5+&>)mK=p9WYAmD6WNSdp`II6+$T^OF5a4p +zF-^tc-S$XXabr*KIJ2W1=jtIdZ0aevb4|4^5_@r0Tr`bNxv2Cc1M9rR5gf3+*^a+N +z7|YF^%Pj-Q1*z>=e%31)j)cZ0UmxGOv`e|Ps_77wXumB|ndilFrax%-y#5kuuDMB^ +z&%BX1pDNXF`Y~Z}p{O69V`O^sl%#PvYp$x^&fz%=;tteBQ+Kg3*QYAfao2Qd$(R1| +zZas5`KSbM#v*NL?+F|K9?lUFWv?pf3@jO2G`CC=8a +ze94hYKBWjKcZeP3M+l?Gpibj|?$kphi(eq@<(|3M>i}c>K(;;%AUVfk5gicsk;q(B +zZ?9GjY$VJKd9ZrtF_U75tXvqVSyV1BY2NC|l9LNw=?rw&ILK4b$zIM5t=Ub;l0JfN +z%~o=161_aaEA^^NN6rm<)*0mj=k_#DzftxX(&#RN*J4}aL+W=gbZMhoq3>bQUokw& +z3?$eJPQ{zE$U<&=Qu=%9b7j6KQYbj>Q5GM<^wO7;(?y_#jgPSnwLXjSkW?BQKdjHr +z2uTp(E4O%|nrcDCa-2=)cZeXKD1CI$dSgTHCPQD`x^Z0aKT`cK`6a*Pm;91n@^8wS +z(zgK~$bb8PI~2)5Q62z}p#X3U27b%!ZgP4M6UN8R`@8z{P641= +zSOAFW`_Ld*0EiUq?+?VIrCj>6YMjZKW@}z(-Wf0;JnX3Btua_ke;{(yr;a+}dLa$k +zvHXx#Q^U5K+*_C%S3L`8EW`E}ZRY*9iR-)tYigD|?1t};ZIe8HRtMvrer8z?uL$Rc +zPG&?uMRifL_x!bS3aY`Lk64nBH5Oq8vA9c>pGIUqBT +zFTZU+6?+j)gj1QgzT2t0tdOr4)uM+|_BJtEs^q9!9h`o@SYYrdNj)+sD|b4#S7SkA +ztw*>{kZU$3mv14aw66S%ICk!8i)gl%?P#4%B*!z+4=ZiV5fJ|%0POGQ^yXz=%;$R& +zJ+g7dA@#b_^d2csu*mcXvESzNK*DBoy8Q-m +z2#n)Ps9e=Nfqk1aR9mu(#SP(3N%uqDa!SgK(?#kw +z)m@5gH82jfDwv%!toe11Da*R}V(SQ}+Xrj&Xy~q!^{0oP1z_|E+AU-}$7>xZN#P?18d8Yt~G%Ntj{{!)X +znZW@d5YTFOs3J{ya6Xgwys%%Bn4g2m`cPFn`o%0qv=)1Z!h%*Irfr7s(lafGE5D_v +z22_d={aKEzcyme)kk9_=QIOaOp>u(cXKa?Hu@?qUD$9-tuH%yh_gu6Y8c*NStPfL5 +z@vCM1kMrk0vx>jc=R%rZuIdxz-Y=Y%>1tFy3CfA|LBxSfXYeZOj9yg32^{%qW +zF?-7TTo1#Yq>KB4-gxtHl&@HXx7zNEkGC`Bb2jm;y+>Vp?SgK>K9-Qr?58*Y^>tCT>b(@P;8-7+{(CIG7L|00Q`#dA+nq?)A1v +zvnzhU38PLqUy$X{o-?C3AE=S(=c|v6SJv*h_9v+uesfXej<4rnU-M?vp&1+PrB`_1 +zLFMD?p3U}Xat2C-l%f~Iu1P^4=^?4aFP)i%h;s}_MU{4ooJ(J1vFESnBzXr4ET04G +zhpRbJB5yW`?-(U|+oHXzN7Ivd`!d_TklVx5*E0`QPpERE^&AD!ogi|TYsG)bZi6p! +zACCtVo*@W|=rC%=B)<1Dg5963-do#m)(>N!8A(|P)|!|y{7OCU+?cpjDm0~bD|W%X +z`m87&Zp18)ruSuWAR}&{fTCY{ey2IgI3a9nb5=p7r2|$H@=-Ji5&(h+egjM+UY8w7 +z=&}!}@MQJYoN>ly@y;{V#5YU +z%Dt3~u^l7~`OR~~d_UuT@aDA=pj6dDzS3~=H#ZQ+%wiFAk=Kc?dCY+CtVF|AyjLuF +zZreAe)Qij^AF_r^s@g2^8<(IF3`tHaUO>`<3r=aFplauK~jlHBHX8T#<`;B^C-952o^M?OI1 +zK8Y=X*K{rtlGeGwS4N`Z#YcqUG^WVCDRPh-0{g`&zc}R=r~Ef?%Dr0vKo0+3k0n;& +z0ALC3#uVY^VF7Rf-(!iwLb6nRA)fBPizPT=yc~asB{;ZwevBn<)W5_MzjX?L_P_!l +zKgJS}n^?jhs2rfL;kb$xB1DdjEp*WvR8kt}xzpyL!45bdB`sxA-cJ#|!cARQ^p2w` +zV{SyU&zgG`a9tP^PM!W3c7b)l+Px;l&Wb1Ol5^V63@^D47^@D1N +zMb2pyj$ycRd??ZM26nNaEp^$e-~?yZ$5Fu6!8`G6#Lc_6or-1UpXSyHyH4;Roa$i_ +z_cV>fX}siCw0t*C4IBn4a}t9~-X8T4drI3DlB@2=R)gQ%Ql98-hzas)znx5yoYPZ2 +zPUP0`uzsE=G^eS)NVLiQ!1V4uGNr#}o5DWVxt^GrMA}mllDWe0*d) +zlh#7aMFgSogRmb>;Jc3e&)~|sygRwGR1zbf1rvB$-)BaIdr635?G1-9 +z3~8rPNcelY>YEPvS`#`Cua@Xa$5#<8XJ5F)^Y*&+erh%;>kjS3@yy~C(}Jz+$OU)S +z9I-t=8|VMrk;2&5%z%AP7J0JRE0C#M;a~r>G;%u<`Sw&nPqWk)GcHz&i^0<^8KiS- +z;$qR7UR&j`Xgg&*;q~w~lzhdD`wVw}XNMX(ZKPJK# +zthR-K#Sy-qYw-DPdMETxoU*HU4sAzVOi&YMvg+o{UJg&&xv>jH`bthL?g+ve8?uS9 +zYlJUHxw1T3LKDiK+qlPzET1*ARdQ8ebqob_*=8DJ$g}W1a!R0AhxnlMR6=;BWcrb) +z%ZZn75C`&aNxI${iBWdT^!QUOcVx*)eM@+@I$-r+At3u9(F5M~;XlN3KW*?&W4U_( +z>@JuBi0Ump7`;FKC|9G1R1%pr^;#9%tOzaN!#;6a?=f>lH<$tlBY!uI8D!pkY>XBu +z>#1h2u0WH*N!ydVINVNd!m-)5HJjj +z9Rr5;ZAk*b)R@JdgPZ4vV491Y5B5Va{Z0L8A59qcx0;+V81(z_5D)@H9DwHOV+vFD +z-@}dxL?~h3Wy;*bj&#>AG36Om%pQsvt8V>}P=hibjhCU8FYtnN|H73ciKYeNNl$b7`!eA9i#F?0#P0F2u}^SI55?3rq_@%M +zUPGB{)r%IsJ2zDT0B#nUZstq+rcxmVCKo%FkDNBcA2#-DR0&S*c~cvdZ{Oq=;Dlu* +zFi~%2iw>p$@~M4M?kHjHDAU}25K1J4k$~Q%mgH+AH%_N&|Bg^HNc(1}|GCR-1qOi1 +z{|mIafB?YZ8`^AO0U+$}XbV$sCK;=$qWSS+{}eel>tB2@UUp7)UM_a-n=&xRjSBl+ +zh2gMc!7#od6zO+_>T~?fg&>jdgF2Qz-xd0_hgv9XRIS|Y9?1F1)r}R85om0% +zDpXz%GMv8EL`P(VOH#_R+-d|FBzN^A_Dqwc{BvE*BX))fjCd&-c?>_X_xAdTzF$xO +z-@)5&g)wqEi{i@ajE-Y2k2hs;dB!BgS1QcO{kIyJBtCw8(G9}{QvhQIUr5OCt|5EY-5jRLQU>khgp0PK7Lr&WYj%EMF7il$Fs5N}>xpxcy?arsDuyG16=xKzxQ+y>td_PVH*wX#7j-8u9+ISUf>QV=W;`8~&)V#YCSkJ4dd??Q!5`VaXz>T6 +z{yeLxOZbBl_%9Ab#T;*Er|>|^DX%+ +zxwN~?$R~oN-cT?*Fsfc5o(saMM!-pRq2(knJo<8=&yn~v>XoKL>D;HeafQHWdB|MF +zRiZr19UEuX@H>>9006N29So0d=*|=jBMhQyktAoJ+kAmDqZ`aUz8tYO;Z})mk|f{A +zQkq>}wP}gHS=lDQ&FVrb4K?v11+xQ3(Uyr@h20I7YqgHI2g +zwb@c!DSxm7=wC3+&B6Xd5WvmJ&cX4c9o(ot?c<;F7ek04r!yq$wTSj$fv{4;BTLj0cq +zF#j;HIB<0p9Pmj?A@p+uwDZH;0>d0H0!w${J((Rdt=kM`jFQ)b=KbD@)3UZk0eaIq +z68BCaPfhi?C}xM&hTcn75}+T0#X&6M4*ADPHcvi4jf%G)vO95vUEg}*bJw$}wHl*C +z9dcEM6g7 +z4%(MD3po4AaCvM4ax*lQ)MbjTQrQ@DVn$DpvUQT&e`-Cql@SwDL47r>q`UdDAnx=w +zlPghMZT)2pI?m)QyFw^fjFyw8R%?qIa@vMDnr*(MZYs&P+c!Rx6mE}q +zbxg6)5iyT4lrv7p4o)slh&PK>HrG*dXkTm@jJ)w*|9=C<3l0E;A^(WKZ*F(Exzpoc +z?FhQrIdt`HN6c$zUOPR@&?hvGH_gS;iBznY`QHC +ziAIaxS323s817VX6(x#8)Z5)JzG#m1id#;3i}_`59xYsne+H(wj@9P}@4hw8;tTk(|Pee^gKIUb}%qEgo_1@ +z$eQcaxkt(x0c2RP+9NE*3dq6CK5DV6b7{N|&Gq0Ar^e9Ol3OU<+q`VbXzjtGHr5N=Ru$eQY5rL!31OIQ62 +zP&v{?H*&Wag-Wbq?p7>bnR=JK&uBnG3sxlxyI$RoOeK!P?jj4HFeQ&@ssk+#_V%|oN?L&y{fnJnBSu4K4;1%a=ZMq+~98C51xE>3jNEP_^?)-y??f?4#_Hp~`1w&v}#T +zS_C{2Im%L(!=tMMa=#N03J3rYLBMaub92wrNMf5JY5g8TsOeW^&+ +zQaemk?)EL&%gHRX2icOCqHf6>fl6OTgjSrbamZl&r1)LZRzm8gpB69377w3CPg?Tl +z^1)NvEb{0@w$DA^sJeO=z^72vz7&sB8x+k@qHEx+Xj8TQcBvH}{*-9r;E)YosX$R! +zdx5}NE(lz|CMeUO%AMCycrC;|WUL?tYUmSiC&T2!+O<9Kd34J!c``sHYHrK`H-RhM +zx1i2ndA8Ytf=@wqj#Z$ul4d!H>3%l36 +zpLpXvz2AJ1-Ff<990(4=8*58%^uiuIfY5&P$-nIMU)pI35&-DJ{Ubwwg8q9l1P~km +zTz#t)pTh#c|3S}T4y8yT=hK9LvgW@qEfpYZm&Qa)PNWoJbI2*scG#+?m +z@{NS#h*t1fas^%YMSQnib>MNZfS)X0pvLN^fj#eL(kPr*!Mo$v_~!2_F#RS*eT%*r +z`K33X!}Ru??}pkhlH-whw5?C-S?HB?plNPybiCq&t*zYVd{|5FgNDk7+p0&pF>^7f +zOFu&YL|EvBxJehRCV=0c{^Bxd2|Z`3YIVwF+c25xK9_2|Hf7BF5gCmx+*LHrFTR;h +zwwRI)G0}tZ^0#6t(R)56%he!d`&&^Iz9M8X(6R1RlTzm~ejk^VI;c;Lx$+fPWKXDJ +zq+20(QXn#R(yCo4aUSUY`gCUgs4e`loae^^frYs%i*nCCo>xQEC$18gHb>i*eeaviB0@CE-t354XacAovg9xxb?_5>{ +zU6$x~+!BtED5q43r-c!Jb-l}s4jL|Q>~4F~L|3;z$gzFDDf+b8XQ}P#dUUSvY!uwP +zn8tibntw=I9mudm5m0D#cn4C0HjQB1YvNDayLb)JJ$RfTurS;weVK9Mv>X_aLAs@g +zdi)%Er&j3&r={drMj*#xrBn)gbpRC#op<-EAO^x1WSmF#!Lkjh03${o{rRj-f`<0s +z&)n1b)kl{Ls#i=n1*7Xv6p6ox3mKUH!9D%7!QZG^F +z43Q4}WNw|dst0NAM@h5?_npgB5Ii%JyCSQhLk%V@Gy81Ww4z&?rDF+dN0oW31VjI~#? +z9GJL+jcGvi!MCb!c`R*B;C{l!SG26499S+sGqOC4p|tj6URm+NAmlN=ojMBki*&cI +z`p}XUw(31do2qRq)Y;qE`aHik>QT5FQo7t;d{L)VSGvGr?wt#>=FC(zt;aaAYg*P; +z4MPVbUqTP8^&B)kh1c9*O|c~2@NE2+G=^q-XEU?F^q=kf@*#H!_&S*YOzk2s>-i +zteJbmuwODk2kM;`6+#?~x`h-w8AIO-NWZ>#IT5z-nlma#uH?4TvVp(6|0QM3kZNlf +zNiDAN|+OJCN$Qfjk1tMPhYt!ze90c;)l+V)?oCfhjbYjtxt3+3Osp<8q +z`fsVsy4jq^%iNduv7&Efm`KpFw&D$DNw1WY7H*4nDhk-{#AdKoDr@@&Kbq4O^vXi| +z9EDWcb0R1> +zEYeO)l!}yWX|xJwWVTen(L+N0s!HB=C%AtqmA(&TOI2GK?U;wtDiR|}z~ZJwCT--K +zk9A*Oh<_N)u|ZWzOJ58XJ`uR&_k`lSId}ePiFT9+pu{%UDynFhiTNaQL`K=7HPY} +zWU8^#L~n5h&^8=8XF+E=IQesuB|mOGBooNnSK(L=yZS=2S6s+=XDzEr0qyWwXcSU* +z7`2*XPQX*9ubu?B>(ypBmJG%Ddpjs~JlM!DV`^fsDe!y%C9x}UlaYKb$M%x1EIhV! +zV3nstOnzn#`B-TV6m*nxY}X`B%D9{Cu0i9wTJo9(lN|Wm%tZSwZ~5h?e)*|?;itS1 +z06_SMZR7vx>=+6FSKoGB-h^L<-?QVz+mF_9`wNQ)!>-S2VQMB|R8>A41vay1#UlZoTbpZ>8N- +zeL_D>09HpERJqpRc?h-YX*{Dfb>cFusG4jS>(5xVH*_7)U$k0p$_SkZN75!>ty-t) +z^Mb$)XYAm-2YJwo$;{uSQB`bMoMZmDbvtn6LBAfJI(azN(|WgT_O(tF2`EXeU}L=) +zp82N@auVI_o%9ZgkHZQshY(Z$PhmLvyX^{^#s9OWW;2is^Oi~f +zIMwUzO*e2MBt!e{D)!|GIsSttg1X*N0|q9%v2|;0yW_LMdp?9e3x6t0S~uS)nVmUU +zhjEuwz0bc^ef{bW;m=PS{C)TX@&_mn)gM^-)%1@X19GMnW{uCD&Ne1$erA5F^?uLz +z>L@Z@weKpFRh+D|C~`37tg9r_zB5>#jSz#UN711Tg~WiT%q6>NolZ`x&Tq)mYb@&O +zfblIp@3Sd!kpp@>2gwJM`pNM32zA+^wQ4vX!_n%c_k+g{6TDB!`ktfITVy}xZ+|9p +z5;hVw-h02pZXvMdR4-)O_P{T&9C~OG(9;~MAgcV4&Ia+o*qZ2#ecZz~jd?=ybbSe8 +zgfPm==BfBPV~zU^ucgDGqV&|yUelS&*T%yp8PnmTP;kq-Yi!3_WE&O&#uyRSU-h_r +zj#yrvwzH&u^r9;CvQO2+BfMg)#mg<{DZ-`k`vy=2>6f}tk0&yw#-f_1Uallo)3jCv +ziC6a=iUaxEvw8?f!XN4IKZ*k|PwgiuBh>U?wU4$l&$N+BO4IMrec&~oVIHytq>BUhc>WA7HYT_107|lU3b+hqMz31fFye8TzyD!k;9&DpL`ELo`3)# +z?Dy(`9|!<^2Lk)0J~su@tON!4bz5JHCjuAo({M)-VIcCaJ8mIH +znrCUWon6Lwb8_Chm*Tx8CZ?~Fuq9%SnW7^DbkRccIWMZNp_s*8rnNn)MVMKTo+A5) +z-qQ*vG&B+{9O`3d#IVXS{h8a(FbjP~)sl)H47HL__sSV^WWuvHk9IkXw?rqsFd{WP +z|153Ud@Vf4uW7bIK{(sMtDVPADi}XKG9YF$s +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 +zgi8X!aQx +z=4+q3I9p$PE*hap?StrZq5T3L#6Wso@u3K-FinP)4x?C^*^{()uDf3KE=1XPkEUff9LITO|jE +zVHyeF|ESJA`c5I8tTC@^$sj!ASOH+fuuj*^J1b~sF&eDoC48PPa+RT#tz`DaSV{ki +z?us|0)drp&u&1HF!PKbjL=F1D@Cpjc`x$j9Cc$ +zFursLbMlU(_9|lwEkA}jjGnS%d|gQAfJTSKP~l4JWVEs1yEb&3eZ51cGc%~))YYu? +zTF)&qGa9b^6(SsSwKij6KesZ`ohKn;d`*DH=g33iA^g#@Al4~1*)83YqPIh+&?94kv3f8C}-`_7>TY%HTjDd;~%5mfd=&K +zGkujDF9Hif)AkPE^+}4)lSkQQ6zpBs?T1#8ktlVVlULkNof0M8(T_xu)nAk@VQkpY +z>?F)jZHzx(NX3i>o^*eGD0*Ih{j95zA?l@>pah!SgRJhvXCr#*_@zgk_r%d3z-w44 +zU2iOUZlZ;rkNY({gx@cabXjWf>x +WSq|>ELvbMh1ZcQvb#rVy@P7b@M_;D^ literal 0 HcmV?d00001 diff --git a/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-1.patch b/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-1.patch deleted file mode 100644 index 480bbf54..00000000 --- a/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-1.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Daniel Micay -Date: Tue, 1 Jan 2019 14:45:27 -0500 -Subject: [PATCH] workarounds for Pixel 3 SoC era camera driver bugs - ---- - h_malloc.c | 33 ++++++++++++++++++++++++++++----- - 1 file changed, 28 insertions(+), 5 deletions(-) - -diff --git a/h_malloc.c b/h_malloc.c -index 15be0a2..3fa9ed7 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -80,6 +80,9 @@ static union { - #ifdef MEMTAG - bool is_memtag_disabled; - #endif -+ bool zero_on_free; -+ bool purge_slabs; -+ bool region_quarantine_protect; - }; - char padding[PAGE_SIZE]; - } ro __attribute__((aligned(PAGE_SIZE))); -@@ -465,7 +468,7 @@ static void *slot_pointer(size_t size, void *slab, size_t slot) { - } - - static void write_after_free_check(const char *p, size_t size) { -- if (!WRITE_AFTER_FREE_CHECK) { -+ if (!WRITE_AFTER_FREE_CHECK || !ro.zero_on_free) { - return; - } - -@@ -812,7 +815,7 @@ static inline void deallocate_small(void *p, const size_t *expected_size) { - } - #endif - -- if (ZERO_ON_FREE && !skip_zero) { -+ if (ro.zero_on_free && !skip_zero) { - memset(p, 0, size - canary_size); - } - } -@@ -890,7 +893,7 @@ static inline void deallocate_small(void *p, const size_t *expected_size) { - - if (c->empty_slabs_total + slab_size > max_empty_slabs_total) { - int saved_errno = errno; -- if (!memory_map_fixed(slab, slab_size)) { -+ if (ro.purge_slabs && !memory_map_fixed(slab, slab_size)) { - label_slab(slab, slab_size, class); - stats_slab_deallocate(c, slab_size); - enqueue_free_slab(c, metadata); -@@ -976,7 +979,7 @@ static void regions_quarantine_deallocate_pages(void *p, size_t size, size_t gua - return; - } - -- if (unlikely(memory_map_fixed(p, size))) { -+ if (!ro.region_quarantine_protect || unlikely(memory_map_fixed(p, size))) { - memory_purge(p, size); - } else { - memory_set_name(p, size, "malloc large quarantine"); -@@ -1192,6 +1195,21 @@ static inline void enforce_init(void) { - } - } - -+COLD static void handle_bugs(void) { -+ char path[256]; -+ if (readlink("/proc/self/exe", path, sizeof(path)) == -1) { -+ return; -+ } -+ -+ // Pixel 3, Pixel 3 XL, Pixel 3a and Pixel 3a XL camera provider -+ const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -+ if (strcmp(camera_provider, path) == 0) { -+ ro.zero_on_free = false; -+ ro.purge_slabs = false; -+ ro.region_quarantine_protect = false; -+ } -+} -+ - static struct mutex init_lock = MUTEX_INITIALIZER; - - COLD static void init_slow_path(void) { -@@ -1207,6 +1225,11 @@ COLD static void init_slow_path(void) { - ro.metadata_pkey = pkey_alloc(0, 0); - #endif - -+ ro.purge_slabs = true; -+ ro.zero_on_free = ZERO_ON_FREE; -+ ro.region_quarantine_protect = true; -+ handle_bugs(); -+ - if (unlikely(sysconf(_SC_PAGESIZE) != PAGE_SIZE)) { - fatal_error("runtime page size does not match compile-time page size which is not supported"); - } -@@ -1491,7 +1514,7 @@ EXPORT void *h_calloc(size_t nmemb, size_t size) { - } - total_size = adjust_size_for_canary(total_size); - void *p = alloc(total_size); -- if (!ZERO_ON_FREE && likely(p != NULL) && total_size && total_size <= max_slab_size_class) { -+ if (!ro.zero_on_free && likely(p != NULL) && total_size && total_size <= max_slab_size_class) { - memset(p, 0, total_size - canary_size); - } - #ifdef HAS_ARM_MTE diff --git a/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-2.patch b/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-2.patch deleted file mode 100644 index 191d455e..00000000 --- a/Patches/LineageOS-19.1/android_external_hardened_malloc/0001-Broken_Cameras-2.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 15 Mar 2022 22:18:26 -0400 -Subject: [PATCH] Expand workaround to all camera executables - -Signed-off-by: Tad -Change-Id: I23513ec0379bbb10829f989690334e9704fd20e2 ---- - h_malloc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/h_malloc.c b/h_malloc.c -index 3fa9ed7..0308d73 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1203,7 +1203,8 @@ COLD static void handle_bugs(void) { - - // Pixel 3, Pixel 3 XL, Pixel 3a and Pixel 3a XL camera provider - const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -- if (strcmp(camera_provider, path) == 0) { -+ // Any camera executable on system partition -+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0 || strncmp("/apex", path, 5) == 0))) { - ro.zero_on_free = false; - ro.purge_slabs = false; - ro.region_quarantine_protect = false; diff --git a/Patches/LineageOS-19.1/android_external_hardened_malloc/0002-Broken_Displays.patch b/Patches/LineageOS-19.1/android_external_hardened_malloc/0002-Broken_Displays.patch deleted file mode 100644 index f645f1a9..00000000 --- a/Patches/LineageOS-19.1/android_external_hardened_malloc/0002-Broken_Displays.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 22 Nov 2022 07:23:10 -0500 -Subject: [PATCH] Add workaround for OnePlus 8 & 9 display driver crash - -Change-Id: Ie7a0ca79bb629814e57958d57546f85030b67048 -Signed-off-by: Tad ---- - h_malloc.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/h_malloc.c b/h_malloc.c -index 0308d73..6c3b148 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1209,6 +1209,15 @@ COLD static void handle_bugs(void) { - ro.purge_slabs = false; - ro.region_quarantine_protect = false; - } -+ -+ // OnePlus 8 & 9 display composer -+ // https://gitlab.com/divested-mobile/divestos-build/-/issues/19 -+ const char hwc[] = "/vendor/bin/hw/vendor.qti.hardware.display.composer-service"; -+ if (strcmp(hwc, path) == 0) { -+ ro.zero_on_free = false; -+ ro.purge_slabs = false; -+ ro.region_quarantine_protect = false; -+ } - } - - static struct mutex init_lock = MUTEX_INITIALIZER; diff --git a/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-1.patch b/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-1.patch deleted file mode 100644 index 480bbf54..00000000 --- a/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-1.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Daniel Micay -Date: Tue, 1 Jan 2019 14:45:27 -0500 -Subject: [PATCH] workarounds for Pixel 3 SoC era camera driver bugs - ---- - h_malloc.c | 33 ++++++++++++++++++++++++++++----- - 1 file changed, 28 insertions(+), 5 deletions(-) - -diff --git a/h_malloc.c b/h_malloc.c -index 15be0a2..3fa9ed7 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -80,6 +80,9 @@ static union { - #ifdef MEMTAG - bool is_memtag_disabled; - #endif -+ bool zero_on_free; -+ bool purge_slabs; -+ bool region_quarantine_protect; - }; - char padding[PAGE_SIZE]; - } ro __attribute__((aligned(PAGE_SIZE))); -@@ -465,7 +468,7 @@ static void *slot_pointer(size_t size, void *slab, size_t slot) { - } - - static void write_after_free_check(const char *p, size_t size) { -- if (!WRITE_AFTER_FREE_CHECK) { -+ if (!WRITE_AFTER_FREE_CHECK || !ro.zero_on_free) { - return; - } - -@@ -812,7 +815,7 @@ static inline void deallocate_small(void *p, const size_t *expected_size) { - } - #endif - -- if (ZERO_ON_FREE && !skip_zero) { -+ if (ro.zero_on_free && !skip_zero) { - memset(p, 0, size - canary_size); - } - } -@@ -890,7 +893,7 @@ static inline void deallocate_small(void *p, const size_t *expected_size) { - - if (c->empty_slabs_total + slab_size > max_empty_slabs_total) { - int saved_errno = errno; -- if (!memory_map_fixed(slab, slab_size)) { -+ if (ro.purge_slabs && !memory_map_fixed(slab, slab_size)) { - label_slab(slab, slab_size, class); - stats_slab_deallocate(c, slab_size); - enqueue_free_slab(c, metadata); -@@ -976,7 +979,7 @@ static void regions_quarantine_deallocate_pages(void *p, size_t size, size_t gua - return; - } - -- if (unlikely(memory_map_fixed(p, size))) { -+ if (!ro.region_quarantine_protect || unlikely(memory_map_fixed(p, size))) { - memory_purge(p, size); - } else { - memory_set_name(p, size, "malloc large quarantine"); -@@ -1192,6 +1195,21 @@ static inline void enforce_init(void) { - } - } - -+COLD static void handle_bugs(void) { -+ char path[256]; -+ if (readlink("/proc/self/exe", path, sizeof(path)) == -1) { -+ return; -+ } -+ -+ // Pixel 3, Pixel 3 XL, Pixel 3a and Pixel 3a XL camera provider -+ const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -+ if (strcmp(camera_provider, path) == 0) { -+ ro.zero_on_free = false; -+ ro.purge_slabs = false; -+ ro.region_quarantine_protect = false; -+ } -+} -+ - static struct mutex init_lock = MUTEX_INITIALIZER; - - COLD static void init_slow_path(void) { -@@ -1207,6 +1225,11 @@ COLD static void init_slow_path(void) { - ro.metadata_pkey = pkey_alloc(0, 0); - #endif - -+ ro.purge_slabs = true; -+ ro.zero_on_free = ZERO_ON_FREE; -+ ro.region_quarantine_protect = true; -+ handle_bugs(); -+ - if (unlikely(sysconf(_SC_PAGESIZE) != PAGE_SIZE)) { - fatal_error("runtime page size does not match compile-time page size which is not supported"); - } -@@ -1491,7 +1514,7 @@ EXPORT void *h_calloc(size_t nmemb, size_t size) { - } - total_size = adjust_size_for_canary(total_size); - void *p = alloc(total_size); -- if (!ZERO_ON_FREE && likely(p != NULL) && total_size && total_size <= max_slab_size_class) { -+ if (!ro.zero_on_free && likely(p != NULL) && total_size && total_size <= max_slab_size_class) { - memset(p, 0, total_size - canary_size); - } - #ifdef HAS_ARM_MTE diff --git a/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-2.patch b/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-2.patch deleted file mode 100644 index 191d455e..00000000 --- a/Patches/LineageOS-20.0/android_external_hardened_malloc/0001-Broken_Cameras-2.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 15 Mar 2022 22:18:26 -0400 -Subject: [PATCH] Expand workaround to all camera executables - -Signed-off-by: Tad -Change-Id: I23513ec0379bbb10829f989690334e9704fd20e2 ---- - h_malloc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/h_malloc.c b/h_malloc.c -index 3fa9ed7..0308d73 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1203,7 +1203,8 @@ COLD static void handle_bugs(void) { - - // Pixel 3, Pixel 3 XL, Pixel 3a and Pixel 3a XL camera provider - const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64"; -- if (strcmp(camera_provider, path) == 0) { -+ // Any camera executable on system partition -+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0 || strncmp("/apex", path, 5) == 0))) { - ro.zero_on_free = false; - ro.purge_slabs = false; - ro.region_quarantine_protect = false; diff --git a/Patches/LineageOS-20.0/android_external_hardened_malloc/0002-Broken_Displays.patch b/Patches/LineageOS-20.0/android_external_hardened_malloc/0002-Broken_Displays.patch deleted file mode 100644 index f645f1a9..00000000 --- a/Patches/LineageOS-20.0/android_external_hardened_malloc/0002-Broken_Displays.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Tad -Date: Tue, 22 Nov 2022 07:23:10 -0500 -Subject: [PATCH] Add workaround for OnePlus 8 & 9 display driver crash - -Change-Id: Ie7a0ca79bb629814e57958d57546f85030b67048 -Signed-off-by: Tad ---- - h_malloc.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/h_malloc.c b/h_malloc.c -index 0308d73..6c3b148 100644 ---- a/h_malloc.c -+++ b/h_malloc.c -@@ -1209,6 +1209,15 @@ COLD static void handle_bugs(void) { - ro.purge_slabs = false; - ro.region_quarantine_protect = false; - } -+ -+ // OnePlus 8 & 9 display composer -+ // https://gitlab.com/divested-mobile/divestos-build/-/issues/19 -+ const char hwc[] = "/vendor/bin/hw/vendor.qti.hardware.display.composer-service"; -+ if (strcmp(hwc, path) == 0) { -+ ro.zero_on_free = false; -+ ro.purge_slabs = false; -+ ro.region_quarantine_protect = false; -+ } - } - - static struct mutex init_lock = MUTEX_INITIALIZER; diff --git a/Scripts/LineageOS-15.1/Patch.sh b/Scripts/LineageOS-15.1/Patch.sh index dfc6bee1..0379f210 100644 --- a/Scripts/LineageOS-15.1/Patch.sh +++ b/Scripts/LineageOS-15.1/Patch.sh @@ -120,8 +120,8 @@ fi; #if [ "$DOS_GRAPHENE_MALLOC_BROKEN" = true ]; then #if enterAndClear "external/hardened_malloc"; then #git revert --no-edit 3d18fb80742fd80a75481b580d102deb18c74af9; #compile fix -#applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc/0001-Broken_Audio.patch"; #DeviceDescriptor sorting wrongly relies on malloc addresses (GrapheneOS) -#applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc/0002-Broken_Cameras.patch"; #Expand workaround to all camera executables (DivestOS) +#applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-legacy/0001-Broken_Audio.patch"; #DeviceDescriptor sorting wrongly relies on malloc addresses (GrapheneOS) +#applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-legacy/0002-Broken_Cameras.patch"; #Expand workaround to all camera executables (DivestOS) #sed -i 's/struct mallinfo info = {0};/struct mallinfo info = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};/' h_malloc.c; #compile fix #fi; #fi; diff --git a/Scripts/LineageOS-16.0/Patch.sh b/Scripts/LineageOS-16.0/Patch.sh index f71bce10..3a07630a 100644 --- a/Scripts/LineageOS-16.0/Patch.sh +++ b/Scripts/LineageOS-16.0/Patch.sh @@ -140,8 +140,8 @@ fi; if [ "$DOS_GRAPHENE_MALLOC" = true ]; then if enterAndClear "external/hardened_malloc"; then -applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc/0001-Broken_Audio.patch"; #DeviceDescriptor sorting wrongly relies on malloc addresses (GrapheneOS) -applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc/0002-Broken_Cameras.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-legacy/0001-Broken_Audio.patch"; #DeviceDescriptor sorting wrongly relies on malloc addresses (GrapheneOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-legacy/0002-Broken_Cameras.patch"; #Expand workaround to all camera executables (DivestOS) fi; fi; diff --git a/Scripts/LineageOS-17.1/Patch.sh b/Scripts/LineageOS-17.1/Patch.sh index 24c8edd5..cac60593 100644 --- a/Scripts/LineageOS-17.1/Patch.sh +++ b/Scripts/LineageOS-17.1/Patch.sh @@ -122,7 +122,19 @@ fi; if [ "$DOS_GRAPHENE_MALLOC" = true ]; then if enterAndClear "external/hardened_malloc"; then -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0003-Broken_Audio.patch"; #Workaround for audio service sorting bug (GrapheneOS) +sed -i 's/34359738368/2147483648/' Android.bp; #revert 48-bit address space requirement +sed -i -e '76,78d;' Android.bp; #fix compile under A13 +sed -i -e '22,24d;' androidtest/Android.bp; #fix compile under A12 +awk -i inplace '!/vendor_ramdisk_available/' Android.bp; #fix compile under A11 +rm -rfv androidtest; +sed -i -e '76,78d;' Android.bp; #fix compile under A10 +awk -i inplace '!/ramdisk_available/' Android.bp; +git revert --no-edit 8974af86d12f7e29b54b5090133ab3d7eea0e519; +mv include/h_malloc.h . fi; fi; @@ -593,6 +605,7 @@ enableLowRam "device/wileyfox/crackling" "crackling"; sed -i 's/^YYLTYPE yylloc;/extern YYLTYPE yylloc;/' kernel/*/*/scripts/dtc/dtc-lexer.l* || true; #Fix builds with GCC 10 rm -v kernel/*/*/drivers/staging/greybus/tools/Android.mk || true; +sed -i '117ioutputEntry.setCompressedSize(-1);' external/jarjar/src/main/com/tonicsystems/jarjar/util/IoUtil.java; #Fix compile error # #END OF DEVICE CHANGES # diff --git a/Scripts/LineageOS-18.1/Patch.sh b/Scripts/LineageOS-18.1/Patch.sh index 7bf3e9e9..2037a0eb 100644 --- a/Scripts/LineageOS-18.1/Patch.sh +++ b/Scripts/LineageOS-18.1/Patch.sh @@ -120,9 +120,9 @@ fi; if [ "$DOS_GRAPHENE_MALLOC" = true ]; then if enterAndClear "external/hardened_malloc"; then -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) sed -i 's/34359738368/2147483648/' Android.bp; #revert 48-bit address space requirement sed -i -e '76,78d;' Android.bp; #fix compile under A13 sed -i -e '22,24d;' androidtest/Android.bp; #fix compile under A12 diff --git a/Scripts/LineageOS-19.1/Patch.sh b/Scripts/LineageOS-19.1/Patch.sh index 95f1e2cb..ea3876c3 100644 --- a/Scripts/LineageOS-19.1/Patch.sh +++ b/Scripts/LineageOS-19.1/Patch.sh @@ -117,9 +117,9 @@ fi; if [ "$DOS_GRAPHENE_MALLOC" = true ]; then if enterAndClear "external/hardened_malloc"; then -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) sed -i 's/34359738368/2147483648/' Android.bp; #revert 48-bit address space requirement sed -i -e '76,78d;' Android.bp; #fix compile under A13 sed -i -e '22,24d;' androidtest/Android.bp; #fix compile under A12 diff --git a/Scripts/LineageOS-20.0/Patch.sh b/Scripts/LineageOS-20.0/Patch.sh index fe447249..090eaca5 100644 --- a/Scripts/LineageOS-20.0/Patch.sh +++ b/Scripts/LineageOS-20.0/Patch.sh @@ -116,9 +116,9 @@ fi; if [ "$DOS_GRAPHENE_MALLOC" = true ]; then if enterAndClear "external/hardened_malloc"; then -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) -applyPatch "$DOS_PATCHES/android_external_hardened_malloc/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-1.patch"; #Workarounds for Pixel 3 SoC era camera driver bugs (GrapheneOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0001-Broken_Cameras-2.patch"; #Expand workaround to all camera executables (DivestOS) +applyPatch "$DOS_PATCHES_COMMON/android_external_hardened_malloc-modern/0002-Broken_Displays.patch"; #Add workaround for OnePlus 8 & 9 display driver crash (DivestOS) sed -i 's/34359738368/2147483648/' Android.bp; #revert 48-bit address space requirement sed -i -e '76,78d;' Android.bp; #fix compile under A13 fi;