From be73661422dfd4aeca56e8b7da28e9475f44f2ac Mon Sep 17 00:00:00 2001 From: Yukizhu001 Date: Mon, 17 Feb 2025 17:36:02 +0800 Subject: [PATCH] init: markupsafe-3.0.2 project: TC2024080206 --- build.sh | 47 ++++++++++++++++++++++++++++++++++++++++ buildspec.yaml | 7 ++++++ markupsafe-3.0.2.tar.gz | Bin 0 -> 20537 bytes source | 1 + 4 files changed, 55 insertions(+) create mode 100644 build.sh create mode 100644 buildspec.yaml create mode 100644 markupsafe-3.0.2.tar.gz create mode 100644 source diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..31764d5 --- /dev/null +++ b/build.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -euo pipefail + +# 导入通用函数 +git clone https://gitee.com/src-anolis-whl/build-common.git +. build-common/common.sh + +# =======构建前准备,可以安装一些构建依赖等========== +setup_py310 # for Python 3.10, default +#setup_py38 # for Python 3.8 +#setup_py312 # for Python 3.12 +## 其他系统依赖 +#yum install -y +# =================================================== + +prepare_source +apply_patches + +# 对于每个Python版本,构建相应的whl +for pybin in "${PYTHON_BINS[@]}"; do + get_build_env $pybin + + # 构建Python环境准备 + #$PIPBIN install -i https://pypi.openanolis.cn/prod/simple + + # ==========构建环境变量========== + export BUILD_WHEEL_FLAGS= + #export CUDA_C_FLAGS= + # ================================ + build_wheel $pybin + + # 测试Python环境准备 + #$PIPBIN install + + # ==========测试环境变量========== + export PYTEST_FLAGS= + export SETUPPYTEST_FLAGS= + # ================================ + build_test $pybin +done + +# 调用auditwheel将运行依赖捆绑至whl中 +# 使用 --exclude xxx.so 来跳过加入某些动态链接库 +bundle_libs + +# 构建产物收集 +output_whls diff --git a/buildspec.yaml b/buildspec.yaml new file mode 100644 index 0000000..e9c4b84 --- /dev/null +++ b/buildspec.yaml @@ -0,0 +1,7 @@ +wheel: + region: cn-hangzhou # Optional, default [cn-hangzhou]. One of [cn-hangzhou, cn-hongkong]. + device_type: cpu # Optional, default [cpu]. One of [cpu, gpu, cpu-large]. + script: # Required, at least have one of + generic: build.sh # [generic, x86_64, aarch64] key. + #x86_64: build-x86_64.sh + #aarch64: build-aarch64.sh diff --git a/markupsafe-3.0.2.tar.gz b/markupsafe-3.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..21376e1a6a4436df4dccd49b38bd219b19584951 GIT binary patch literal 20537 zcmY(JQ*>t0!ewLIwr$(ClZuUsZQHhOR#34~amBW6d|%hS{df21m-%oW_t@v0HP)KM zu`ndN zQL|wwMAS;`(+z$=x@Ag|u#=OMk&}}wOuE`!wcXyx36@g zJ|R0yY2+19A0J=-DX?B^cjXCaN%#S@bjSY)d}jRw5^Df~6QT1j22$~k8c*XaN?pVC zNyxgrdb?H2HR&7d!&NL}hU?t+dy0PaEuS4`((E4olRrG17cRq9=P!R4GzCd74IpMi z8tvoz!B&0;n}ruo=6K*Jc|V$(^#q9C87etg!AJtQ+QErhP^LbTPkBi`?`TH9?l{5Ri4Sdicnvhv543MPPn5{hoB9hiQRUr}+=V2qGx_%R&)MSZ z9qa33PvaO%XU-u1&c%KF=)V&!Tk2}hAMNttp4|jHon3zIB{8LLJxhUG#hY=7oJkNH zbMzw$dhsBiHYp8ylyk$~lMyoaH>WMygVqUDEb>S35^4(t;duywIO7_$&ze)1^1^cA zx*s5O%63E)(lIke%e|Yx(@Unb?(Mv@5@AlUmD(8z#_HH+3E9Zz9+DcD;(#u_9}Tww zkqMSFJIofb04}w0u$yVI6qu^dXl~w92}G3D+!^$mu9_u4f5G4&Lubs15_J)dkmPER z1~-xV;s)?-+=>AIQ14*Af(x}cJ~8jRQS`~E^kGVb30V$xM8<9WI@Or>tOJF9iV_Oe zl?m~5-ha4^g%2rD;?R9fDczERs}B+Le5QkQA-Pg;7VDP z=L!V^evKPM7FW%z6}7S=@)i|_AA^>iS!E(+gwJDFqjxyXDK^~Po-qx@bzRW(K544) z&~TeQT{=2RAD8=A? zP-105dXeXd3%s6|t7<$Z5*+OUK?x29C|eXZ1%@OpTbv>3=AxAevcH{()l%i%n5{+i zSutSIoD#j!lsy|Da&ZDyot=l1Lg^QNVYz7^VRrG?wrn+FYkuHZe`L^-F8VNsBK4mm zq3j-YOGufS__lCGNg+y~$V4#B*jEPATWsxtNfv6~NK~TJ4!cy;Pf8kl(i)JcQJj6D zHy}Si+$;I4OSS%#I9*O4xolJ|a~(}2v<%eA?h+~Y+C-6!IEJB}a->z>rAn*@W~Ihm z5OS`Vm1HKC>%)CzT)j@VKDV$az_V*hu%KgUieV>l7e14j3?w@jFDELifAy1-{5 zz>1}Zri+}RiIdW3!6!7TeHZI#0>&N%+6#PYXf>#Chs-o-Y zr#+%PwXN)%+)cg}t0;N<-(K4a2 z9-p>SwY^|rCu|H|!;Myt`fxvy!>7s?C}L|ZgB6niN%MF9gQ-m@2Tcdrq98)f%VgQ= zv)MWYx5Od>bo;qM70k~rt{092H7h=JBAb@3##Li$C8^zNK4w1SS8Z^27iDg%iLEPv zNIri^ePjoJFKuWOvczydIQn=G(*CIPZ@Y^k_Or9pq$>wUJXkyW?B62t(ksx`jr-}4 z-I#SYEP;^hZ;B&7N~la?%iPIviA9jXv;3p)cVzLOBT}B&qU2x{L!(5Xn}V2gx#99G z7aV1Su(6xn455vQ%k0 zwA&J!JX{*7`>^_imLEG39&QAM_ODaq$H7r@&a@2 zV<%7|arN+9)%>%*grBfDv+715}luz6%) z5s%1LslFrY9nQTEn0gC5`V@YDoc|P#y#8KMt+bHhPHY3J*E?$CuYVWnIk4{nz2mHQ zAFYA~`{JD5>RZs8G`%nms^Tsm%tsD7J4C zc7Sy>3AR9I=&+9dHEwdEHVzz0N+9nMq-cdzplQpOD#&>rC^NQ>U8lxiGbUQ&h|7uA zN=#6XY9)+DSYJZ7mNVEGYF7`leqJ~sq5+${0+Synx??LFZkq?ShLLETC$ww|rh`s^ z#A5^Dujm7TuTne=9Rh>arLyiQG!S(erbOcnCXAH8H{7ABYzgM-uxIs0+hDAv5iksaKunaj zXGLQ>Q|Vyr`}i7{=5vQY@D@W??1ijy%EhNq=lLM16crW4n_?Bwbct12C*#1J_t|*r zoW5zkZtvK{4&J6N9TIOs*Mq-2P_OtenSPE_3+Hzj^`EzJk4Hk+FClI6^940ZZ!f(} zx8B^_jMH4X7nuj6y(9#f*7q0Wb?^~-_)Tp%DkE)zAQTne5V~*HD`mGQ{>yPl8`6!_ z2p~2s9XHO|botC<2}aGo>eaXGZ*O|-i933PRs9<`w#n-*F*Q1@@~-kd zHb1Q*eJihyuAYuMmrP|=M0;8TJ68iX`B;iQs*>9S>dgP(%*54SAv+FbwIhh`~-9J$H|Xk@VP*8_c^vPqH& zuX?wA5!*0Nb%!YA5zJxRCIRar;_^Lbwb^7{A zlz~MiC3p&jKB0KOhY|`g7@IXkEvchn|!)oTK9)n zkHZ}Q=vkr@)o%xFU4=ob_5TI!UVu8eCKZ(awtj;nXF9!{QuiHmP58AY)n;L7{i&os z1>0;7j5mM9Rtk6d6#fNt{SVAOf!8~#pPIExoDQ$aSAkg|%crw}e}B1t0$GVR33=36 z3fj#ABR;Uaxk(^BzL@5$7H~74Z=E8ntHzb8k8{GrWLfGxt6h=xLhe>n0RY7KshTrx~j}~Clp8NX*&BbOF4(lzJSXqcP-bPyTEA(8< zna_gONIqhjg+`=3pmxkxdD@`25J9Uc;WHG3?h~PP1~iI@tV!9S#*e*sF#3?&2C55~ z_0RH#Z}zc-h`~htK{W)CTTu9LYs#7vwTDFX??Gh74*Lp}$FKQC-Z;$vP;HuHdXQ<5 zI++rpeIO~P+jVJs>~(1%!Tmn;|5m57+l17NA|Kdsvp!_iVIaAL#HUWz-XO?2>|C<+ z?Gs3ZxMk*trsLH-!U>9Ee<9@Sp`8+|7r!y<#kCKrb2e6_(%D1N5grxKQ<2EimbbX} z5wd=&C?av{Dtg-PdFI}}fkkBvb%t)a@|7`d>vYQ8mC(5iiXGlpv^d^p=2%%A9f{th z`aTdp)G(Z{h55>{_pCGl7!%w%1xa5PyVJG2z+qXpz|@eh;`FHl;7?S^rNg!iaqbVs{8swT|g5iqK2j6(?AniF$g3J*)*i`qCmi;9v_|;18)q{ zZ~`2Dcx`)|Qa+e6U#%cAQ-Mjo4>#>Ox?6yf7ST+|+CXwFTD^Bb4m2Dtwq$e&o)okv zV>q;`%AQpPbq6{(v!Gum^E^Doe(PZ4m(r7g-?s;WpphC1dp&j6iX5Dk1l6FV!P>Aq zI1MRew~HjtVLRM1+=VS>dIk>2B5GCC{S7`66;%<<4hM#2#Iy!fcv#stlXY!~`VSD~ zI(?qV80ML&qc=ms`QzjQQFfR8KisMi$ZmXI`_9x<*-2*1Z|1M$dew!7b;HUQ`G z^fD=@?&6B*Flq~LTz+$v^d<*fbcTl3Js|cp34@8?w|W~#sguj2pPi;$$yu9TcUYg= zG)S9ExW063(N<*~W{`RFF9lx4Du+Wj`7QlN_lPMi_dD2;j-y40=i+uA0005s(NNk6 z9XXKL_nUhc_~$k7@$^?Sz;|PV-)obNdRST?SnsIO3J~Vv;&uTNCq5iSc>eS{{T~DX z4lnb8)-#*H_ANjl#%G}K;Cte=)$^Y}erR`*ZNPJo-Qic@=X>CG)v7D7@%=-&0r>b_ z`1KC=0jz%xPPC5{p88O(*V>*b0Pb$g+yaGGJ`%4t&<*^O9h7E;_yFbCJ7vh4xXMn2 zFVv27D>6Lw69Z+JQ*icMDafM-kvWJ5=E%Ljv!zat6hF@z$EmlG3KG_mZ<*&dBB9@A z#cJxvm=N6(=9FIbp|92XBP#bvTuSnt!EK0!8)S{5ZtFw7a z%`AyKWvnu{?%^wf19Qf>1K*h?5v$Q^f0rZFf$U-mm4o%sneQp4iw?=%c^I%EJRbeI zUr<(5)q5tBa3>aA(40p{h}z7OR>bl;`-#@Cu#Mc{c|C=ZgCGw`O{90Oh%*Am26hKN!BftKHI0PNF;X4UPf2B7`Q<2_K7NUtUN^H8uEWhs`4*U&gsT6;`D zjVU3%$8~y|II`n2Sj&2ZzSeKS49DfN;JQi7MXuPGLi>(Hv>#cIrOw9f9P&*NfB~c2 zYC$y_ED_&Xg47i@(SJgMn(;U~fz12Pa|>AzDlG=*mECGQvg0oP_ENxvj0qvHD8mLC zh-}`VQXn4;WJ!_hB#Aa)j(v5j5lA-S+v((P`skP@Pd71f6+7r6RXtODE1L@~;CTXl zd$l^yvL&4j77{3O3oFBjm~>B~fQEY58^pYowKSgn$#NV~0<|Ly7dBz%R6H3I{+EdW zmU;M68PrD03oKABre%*v<*WLz%*2n4!^3nLxf=n!^n8ghO9QcrU-5qXDdgVAjBtR^ zn~B<*MAZ$e;h{XyBuU@hme%}@x#Kfdb6)6WWP{|sO(fXWr&#dFpZ+Wu#4G5Lej4_j zS{1?qT-lK_EqZnZU2P?8NcI;<>dp^_D0Qicrk=U=Dz0pB7dCzyde0RTxRse-(a~rd zK8yUTnPTYNf7gUOSP)mP8T&Ex@FC&Lmc{<`^9j%<$`2l-^AK))mGfvmZ6zsE=quk+ ztktY>)wCUu08uKP|M+rw6%lqF_0ftKD@!52TRs8re2~T=%VGal&RPxx0R(g#C z*d(r!dC_h{zX=Q`QzjB*auYb(^ZVE*V~ERbff^~jSOxeI~E zkNtjt%sJrVqp-W}rwLZjtsZcDZFUyeVGNcv2PBdN=CWBTwpRbpXF-U&3O>2vcS{p9 zqc-f`UlOgD_x^b6=!znuIKeEQ(oZ-%Ow%Q({lgMxW+bt0 zF06-yqcxVt`Mb`giI?CvtRv260el6BRGi8916J%f!wM?s{0&RT>0qsneLuKhb|Uco zt?<7f0**?Sodq)l@s9!H$N&Wagd?HhU|7R zpoXI_W>0d^km-r+d|6Zw@;)#e$HoMBYC9yE*NYPjPAVps4G!a?Jf=FtG2nq-$m)Be zJByIL_7hU5r@BE(2eOMTmnvIC7)L-#wmv~fTSN3jiHOhqseZxkt!#477k#0;I*_g`4gfd zWyn0gS7HLrR>ZhE8awGj%;dCa0z+`%*VKMzB-giI%Q|0eff|J`T2SO@*t2F}fNL+3 z3IbtK@g9<|r=lWQp8y?IbhXkS1D$}Eo*|CfWk+H0<;;6D3oPSvjfBqf|>Ke*i z!22svEK?pw2RcxqPRNWpr52H`#b%Sj65_T{zsD91h!vM6=dvP|7LW+jbuQK(QT;`g zXZj&_X=D)AcWlaJ$KWWBbiYF@skB;BAeT(DcNzk78%Ge|wN6or`3slMANmQ)&9<4& zA&Q4_L`R~EMz1ODtrUW)$#BlY!PuPjXci_1B?q;6*+q3zw8RE^9mzaPnM698Ut@Lx zM42}br@p(+@NGPiDG)Q#dY$nuD5B;VnCWd-2Hb-H{f2~9n8 zt$lMVOWjZ5r^DQSMqhWsyn^wl_R#l_x|T^H(=IBwnMyGQkbq5Hl|s5S)D$TbPfZP# z6yy1$ZY@w>xY9r_P}4^;PC&EMiPQ?BFDajuI)&VAR}VJN!22CPp5~DCiIYEuA)l`Q zq;s)g-0gO0s3y@JCxSQrC$@}6uJ19g_7ri=Tqx*lCgV@|ztWcYR^>2oid z?^Km$Rqg^ZsZsSwwq3eCx{g~p5bLJ0Gg}3hJLnXFKIA){0u!Ii2sn2NeE$*-1kgMN za?lW+-Mwx<24+1tTFnJItUkU29Zdkr&{|5o`8&y*7sbt9@I}{RvYum7pa|QmhCu}x z_IbC_=Mgu`w)+OCC*lz~XY`e4X3mo;N*pEv$ZAzIuWA)1-Ik0TIh`82zfmG6XA+Kv z1Qn~W8r2nk;Cxwg25tSNVCQyeBAV;a&V4$_!-i!ILgD>|%y2GBR4>zvU0mT@&_PUU zpXlOIQQZlar9^#(BJX`R*m*5~QW&P^YZ~wDLK~GgFUq?$1u_jar@_N+%tGWm>>I^2 zBV@FO&f;nP(Y1(?vbW3UnFlpnVngl+Rf-DeeO0h*i;ywRs>&adhJ?3tw)51h(Xp2< zGGM5Sq!A5u7eKQ3xbfOC2*1MpWN+|nXlmkj$Q&XH8hEm5ODopjXLp=3U@FTw0z+7= z4n;+)NX}YLO)ZlnC=+1M}Vc4vW*_L;Ol#ta@e zg6%AAXGizY#h%?f9%0Q+n2P>t6>J7lnwfoxzTY4o{bz{9ua6K;t!K#TjL#6xn?v}F z^FCvnN7uM`#LD0-yNNe*Q#H`QdEm(q7F+zL!TMC_kF3zI>JVB?{?cRg<8aRV zpK{r1vsUjAjFeL{KP^W;^<+J7M3CwpO&OfjV9QMhAzE84;tl`81T z9B%bZZvQNktd3u^Kl0+92>SrPsu95uyBYMLF?!w*e>6{dF%&ny8S5V*mIR46W>P=Y z<&wUZPE*yw|2BQ?eG56^`|{+vdYgJmZuj5Q{)f5#l5b|t5AyfGYEiuv z;Is!3a9_0`Ge1z=x*-_&P2)um%*ew+Zw7Kr*wH$9W#ElR}WRAQ#2MRsaMmTTyOuv+4 z?{4;j;lD&-7T6k^7h;{I{S3y8cbu1R%4kb?<8PyX`F@sBHsQ1elP@`SwIWiW82J0n9;jx#ZfLf9Q&Ba z?G{hasKn?)t)=W$-FIhVc9v$ zQ8JTm$`49DU>I6m@1AwNAT&9s7_-4C9Bn?eh^6H>Cx$ePM(R2!v4kPZu&we-x8n?l z@CG@Vql|n4Ua|tYBY}>;%da@qGf7s16x)VIc??me2{UMl9g)6gp;}RVtDNeG48i*5 zO6OW(3uVpN;kl9aJM~b#oE{QTMcZ3mo+EQ_Oc^Qk!M6h88R?Gyrr&=kw0J2LR%h}i zb371;_+DKD%Vll_s5c%1h>4E9ne{)nl1|&y0MBUB-jFE?A;r9&!;OT^{4pz1EunOd zO-0qgo6(nn{=PJ?sETewR)~_4&SmQ%q^tM~+-Xf*q`LZ=bWO?;M2t?6y}${KzNucL z?EQoaa)K+-715_mNWcWha+j!YqnoUW;X_LkpbGEuNB%v}dn) zMW##s>f#mO#Am{5_KWPX?I98Y(fMXBl0!ly1ZiU(B8$rU(E&ack>`f}+<0k_3fzv7 z2h#FJ-ju(BGmW!nGdp;NvIOf&M2ue@V>M9|^t1!p;O|Hm6C~GIel|Mo)yHel04aO$ zO!$zUUj4wO>jIP^c4Hp%Wc(P{<9R_C7ux~xji)$&|2<}m(9V&W%=5cg=ZV_Irb-!#nCKv zTDswxhn9y(WV@sf0Fr4x2%Q76Dr|WNc1|S(p5-#@Ka1-A&8)}YI?P$bSI>gdhY$?aHo6xZpI^0pQN_**8x}X{yhVU;*ihgMciTSJ(!Wa%QmG`V z*#kX(!bD$`bKp*3+GeW+>l(#@dB>91_;flD(`|hRNiQ%|K(rBhQLzjAT^v3nB{G@k#5Q|0U*&A}`KD7#{>WNOHo_@u{f5?o` z5)7_z10&s#g3Juc`VtmTkYyzts(aHpS1(edog6mq864?mlc*x~m~*#Y5e9no0#cno{ty@~K>LR>FV_X+a4ejy`aiU@(4 z&d#KpwLobk3*-8zh*Pg%&Snpf8Wlf!^*{4SOv5r8@qpMKH z!Xop4*X^(~bCSTXUpNkt$7ifQcuVFIQa2i{$Q1?seIb$1=M#Zp>UcX)3_OC_Vpx1MR_H$xbetM3xJGjw>^!g~Y__->-W8 zP2lHSYc^-_f))Iq^3f^TbG))&szzE1Y(C=Rhegtq{?`q}h$Bzq?Gg z54D$)ZYI0#t#R6*&c6Zmm3Gq2%%8? zW^NSu+lR2sygw4d1bJv{1SVsb%WF+bb8Z?KOB6*-ifrFzSHw-~D+EvW>W?L z9Di0I0+- zC-woz|E@Q71JoUtPgVlCYW3eg=5C$7p^wiKAdC31ybr?j^s#K)G?RKV)l+7su>}s+ zfgzfanp#*I@094@m{gCpLjkXKo|x=_zSepDQzy8S2i>_E_T0}|Ly-DLVej`L*r{(S z($_reEjzY*NOUOcsPq%~LT+l6@(kQPS>&1V$1T9zHSiw_Bb$MT?ej)UfJUy4)_dWO zU#>vne(6u633Nq}49Bu+|A=GgevODxeSGJKgLZ&!7c&F zvsO6<Fi0~`;p4oL+?R%KVySyAVG>;T-Vs{a+|n9SaP68Te0g6tD72ejxbd+KAj*zZiX6o^UbSQVDDGZJ{L1GK;)}?+Pn5xC*^z*f1f8-(W zm#Y-Gc6Ja^=Y$SNlh6up0Wp>H z$RTF5n#yE7h>n6yXr^Fh+&yKANc6Mn5w~xuM_l<;$|ggpeQEnog5m`i)RhkwWqz|e zgK(}7a>g5`p%Gi<00n2;jV*s|e^f)S6&H3fv8`@UVui)0^`ck9u>!A7b6F~7(inmB z@!xC@$+l;@7i8kgLXhS06v8^_pyNw8QX1j6Z_t^#SZqLE-1UY;?EisTKlT5&) z7C>O_`1Cx>V%GSkZQ8EVS)*;bU3-y|m1H(Q`i;CMA5LJ@2~1^O`aH?qgH3%_1;}_D_Uvw~JDcdZ|BN0kcvs{fF0AW1 z1Dg2F#oHP9TJe`pA~4~vSab>5GTicjYbWeb3e_c)I!PQqh>z@!hT}BWGKFDkHbr0! zt{R$#*Dp_>Wg(yKvbT!v3_O)iA9IyL_AUhhhE|=%ia`|?otc>*Ps98i@W*aY60l~R z#+f3@X)2Pqk`pdg7JAz^zS@2b%e2tll1UoprD5i?xiKn8e0>d`_1Mge#w+x00G$s; zXGo3wYppUil&A2eL6D$w_EP&W0eVh6!B`vFvw3S6v%0dX=+3S(`0~qr2$8LDG(1Og zTgni*cZL%q%WvUV;QQYbU>9)i-z$&<9HuzYJ_Ei!0=rbVHzvLV0nSf>eZbGZ|6%SW zunwRsHjw2f(6DE2`wjmI{C)zyXfdt=0|~whZ-M@T-$sS2z;}RA1Mu_-IN9Id(3WUO z7-$LXw*Wf&)^_Kw0G}^BdXsN~f@6;v(kt^Zbun=i%jWK_mIS)!4F{gZI5^I9u+aF%l zYu~h^fT8Dm8yPzQTNp+_axPrw15Uu4SFNt=l^N+>T!I6X{Erdl& zGpAoL;$9ZYVm;#gYIeo2JVczQ_x0JjdEyA549TN3lJ;O%7NF8Es)}t{h_V-JjeRGV zKB!K03@iGCK`{evVOu6p`fplO;q{lgCkimJNBtcRUgi?_M2kuC}PFZwq59a!J|U3|XGK8xH33;__)j2(e~ z4@)+m&$&##u6|zgeAi9ArQmNq%YqL50+&RE9x2D~y+|T7DiOVx8}EPn>)h%Tl^N(R+ZG_`B>sE$Q$|J!@Vz?E5Wd9 zAW(JBW|vjde2y~z+3EM9ID;TM&Y??)yD%~hd!x_AG!iuMldHAwj) zTva`PG<|owx9tuYjKf_2*BRLC09{&z!CUb91azPj;BUw6q7laJX&4QE3XmufcX zYKt++jvzbGr4sp>XvrHXnwFNAXlHXZ-mG(2R8<>hteD;-h-621NjRvZ?yVg=kwfR= zsk5T-vT4>@(XzuWa(OW1DP^OGEgxyisic{u6>OBMnxu6|5)EsR+^*duk}9b}I5{@o z8AsjSY(vqn>z4t>00uVxTSzXm=~t2IbYwHuwm|TC)V-fLa>NhI zNGLdRq`Jim@q>vf5W8iGW(`P~`EtkzxcJ-*aHt$gvD}isP+0M1i1RhirudE#mf(H` z`_9B{Zct~Ns^Y^KnHK{xZR7K;;=>-Oc5I4dO)kPBg=v4SBiM^#I^vPdc!;p!!kxEI zYxu0eAO_}l=KoL>I(1 z?k1F;%EOsfJX5Ud$?nHZP;?seledeB!C~B{IlX|NZ8TtDAlyWkQ$hu~LC~50{)`BX zhNX$&MwCq7XG<3)CAH~?->BKsz%DYQNMH21- z0>)1Th$brvyfc8@*;kQ4bGd>nyb6$@e_o1pe}l!iTvv2V^5t3nm>&K@C-~i6;o`|82nm z!}hj$4EVRj{ko)lt)(i<$=q$0r?+#8X3lc1>B+)Iz(1>jkI%bb@7E1LkAM5ANx>U$ zAIXglu>RlRnEkxFVfn9@yrV&8%KIH*i8wSd&-n1mSNdAJUJ3gfHLv3ZX{Tc*8q01j z?sv3VRgc(NG9lZ>nJ6d3`TM{^ZkSi9x?GKj-`y5!MlrTUCgtSNTa?=FJiYmY<*>j7 zmACsy9oaie@W-D%$|07S$QBMP$xb$`Zb2?AesT7UHyPHO4SrUwGXwd@D%>OE6<7OL zaWA`*iAP@~J#A;EZ&Nws4Z4fxCd?LD&0H`5ZnNdGgHU`m`D5zC;ExzKqnQLDk}>5I`%;PHzQU~3wn&+#P? z_Z{ho``Ossp1v9QZwvn+_}_i?f8a<6RA--p{sA1sESh;UaRq!**NKA zz%Rh+Dn9V>)9BxLMF?y^-i*8ezV-myH5*s|^YDv#6__Xloc+{b?Y&jKgq zP}`gy51hBQKYi>U_c|-GZsg99S_*pgxhSeS?k?c*Cc>LSKN@f)aE{>Qs0V<|^&#y! zUeTod^snY_rdK*OLnMEplWM0lMAvk1X~mX6%o#{x8rw*dGJIAGA4PgTC^_R`Wa|;m zZ}a(d)cXV`C{3hF)MCM$Ie|DZvzgBeMZ z>e_>iy=!QYwm%1dZ>9aEJ1p#l@NiJ#bt!;H`e*;v6VTq>2@EhrvXcQ852a)4d+aeOnPKPss1hu!%uLx_O|NF0kuwv!AUf zqT)<=he2&TeGtSgE+n@7P?F`OHzpeQ!y_Dkb57uZqeKlRJPkWAQoOV*f#w6cOy~F! z^cN!6Y%V@A%XjEI$9HtnA6HBjVMtGM8ew!av7!ops+9^>>`{zkK{BRNrkFw6o=p>c ziiF69iUbzT5#GNHc03UT0pc|DdK?W_;W!le0H^*e0xV}BzrimW{JevwQRsdsYIe$p zDL;`|hm_j_*LDwA&H(nGXH(?S9c3MIMD{~PzYv*$!E(QPEjN2eYsVU%=cOG2wvL6C zo_Wqh6yHlkk+Np2ul545+K6)YS)ykOeWF?jd0jq&4q41h@(j0i1}=s>e36YuCgo}Y zZmb?tQbU*aFSBp)wG($t5A~L9sw-on2xgXTF!+%XK%LDz{2K}MfcW5F8txWFPGCumS#qI(dS@oJ{Q z7I}P6Y>m+i>~#`<05%iIUs|USwW%ZZt*kkwRyt8>}OM?}Gb1GF^mY4VQ_!1&c zSt-`B5ODYF*uK~pit{CB;tpxC)K0tP3(J<=H&A46CrWY|{b?UJVPtE=?Nxk6(8vjRAE`5Oikqpn8u{6`Qg* zCVBgqDR@NZ$`-QikcKrV???GD3TEWm)f%+h5xaWmKyNjyU93!P#a5Jwk}1w+5~FHT zIwE)|f~!don?Cs1*{qbL5$BeRU1!mt{>pzgA*Hohu~v9OCbvV8R`Iz5_NI~{UP$mk zqa!lncZzfNB>$isx@oAMN!@yH7skSX7?P8bq;Y_0w4Dy^JH{){zt+$V1(bqTmo#L^ zoWS7llPAPM)ejUZAO)hjXW$-Ge&xBXhYX@zq1z}vUyevo#QZeB9Hz1XB?<6 zkU~)E_QcN5;VYgdz$PUpz44~tRjz31u|UjT7-_DGRAyD6ylGH1i7ZvP^RWigUiV(H6mY|3gnfGF@5wmwJhJdmC0o0{@bozEJFYBQAHj{9d&s3rfub{LzC~#av~E|u2$jYn`^zDh~1FWAIvIW!1;=ZQcz7M zyA#4ttWe4*nz)*%jq-B%w8Z4qnQ#WxTNmNO?w2Y@cjPguwB%}BFTQ!6f3#7W?p7N1^L~t*P0iETr=M}eez(C zG8oHK2ND{)MBM}dW1eO9)u%9qIMtS-ZLu;1 ztMLeXPU~K@NEO@-bfN56x|Pvrw-R&V-O7Ws1}4WyJ6$%PGXHMg^QuZlp5W+ufT+iC zVAt2U9{MGzkeU<(!Yt_#Fl6Fox{cDrD+t0%*KW=uB`kYODSGOP(L0yqM#(pe$=jQ9 z1e*t%Sf+-ch#ndKu3bjk8A|gZk}Py1xdyEyy)(#n;adQ%qfQbA?T8SZRiiNOdr<@X z+>%hv=v-A@xz>XUk79~PZyD!;DZ92m^;i7h4-9p8k<-=0iAjk)RCg|d5c#X2fCMyR z^ve9T(bLUXA7WjLWd-3EQt$^wMmK?RaKz=RpL*);1IxVi5dcx(A)?QHlzSAY#xJC}|xX?00l~8}%c5!uS zgkVVgUM(D5!n;!|Q;8*vyArrvELn9Id1hKOg~9~Dpc+Gt^2KVIcYPnL)%u8}rY&Oe zlwH}Uki5vkL6I*O7VQ=6_QyoJWFghX)t;{F_Z>%*9Vpx>mftnfA$;_xfg zZ?vY*D*oiXGGvxPkz}1iqu9Pp_Q`fjZ>WZn1CWEU(t>etQ+ga(gZwAjGZ=GZjgbXI zT&&t{yo%WhImfaDEU?%u-gQHYK#^*=r_Smuc<3o6Ggq<0kyk0}2cR;Zf;$h&pqngY zCo4|UrCNf)8w5Ed2rJDP0$n~!CUqlt%HwN~P8SDhN&RL|Zu1YQh&3Mg4|r<*yIvfF zKe^E$Li|}VX>hF12HYrS>IOAi$bMXoSYO;&d`D;x?3F^Ylpu!MZ=GOx$sUH@ru{`= zh%rb67jAtp4Io9KZoln_{9t83MWA8h0BlKMK}c#FC}>ru2$OIO?3qT>M&OPYOsqg5 zba+kb<&2y$jN-+VI+oE%qY4uW*54hGEJbt5ZPFcwMfvE=AcinwfKzAL0jet6fUg*LDESM5Js*`j>v)n{{dUX%$q0shX$+m8 zQ9=VT=jSSD@#?u={g`$Xw+;rCC{csT(L@UUw*|KKnW^i`C6J*OcRZ*PceLo>nl6GMS+bRw52MkUyocu`%nhR?!pZz(Eg5x)FKoc zQ(c0s{{1HDewOEpAr~@EBKg6IVeV%Ic{maSyy-z+-H03oBmIHyOaKw)43zVyWimMY z!63?t^GFwtx`JH6y04le-Vq z{iNp8Gu9+s{Tn`npE@`hF&@E>f zhZ`&ic=%%s@R4&nOx#=-j#Tmr2~VFn4Ld|eGXZpt7L&F^x)aKu=8rnxmA~Rz6j_8r z>^|AD6$St1xcd6?{J>0owePX}%eem8Wp{YTrK&@N-zU#&m6`z%&%LU-otxT6StW$r*d&9k0|=gQ^9r0NDlfL5gDxArZrB!Kjp3c zZ6k#Iqvb_&+B?wxoD^d^u)cClsfYtt z&!oQ=nPx`E1>g*U*a)|bm_si9AnylET`fOl;G$D;>FpAFR$YJUqv)F|%Es-0hds_H zRcjG*48ncJu1Ba12-~%~H2f{jf?{2wQH3J&%MOhyJ~9LGxlcaS)dhKS2!O`yzYvM* z6jVV3L&zk19pPf+l4Tdti=H0DVeVT^tsD|nwWZUyuZa>)*yg5Y<5J;*)}c8f7Q_Yr zi;W&=9+Fr3ddgWp#`zSa^fTKA(KSknKd$M40@yBqLO)|C;GKo&(a;t7GmF!i)MSM5 zcR$zwnX@?Lhg1?%=NQuoEjy*wsF=%fwMsY5I5g4fV)C-M+qRM+i^m0g=)iP_VKbSx zU;0>q;3x(wz*t{U3gYn#U=;vl?+0e@0u6kC>>enD~(N zlhpqYEoXItA~|oHjXcWzPlbK`Hm!3fH&R^q)T1AAMAEV9Mk+O}6z=hAg&YAoS--V( z&?oWfy3#Hi{?Axb7>Nr+|8?8H_+}J3@`o3QoZAK5mG&-JyBWwv;`Jpp?at2Z`RDdC zN%#G9_l2$>zA;?z@Xy2e6ud#2X8GemRyz{F)t6j3NfO?xa!&bzn%W23cx~-88M8b1 zdfTsU14@?TZln+V;S~q#9bvD1v-KA~Fllmh2-B zStJNp-JgW}BtNud84OiLE<9mm{0&7eVj;@_xL|5PLKv9MjV=4FU;itH4|(wQ>vy(( z{YzVarRLwbqxm=Hn}1_*^KX1c^Kbkfn!i@7ZNPu`6o8F81z_V>?*7Gu=VHH7dnXAX zY7%_*(K8h}Y045uhmO|8g*4&6if$q>$8*O#pi=|10Vtzk<8EKw6z~)97@O{=h2Ue; zJIVa-?V|(Ci%m>6Lsn~IhGqh3;mDX3{qIUFL^fss)>i~rUlriSiU2p30{morgLg@S zs8|JSfUSSW!b`lQg?@%E@tU#AzFRlaY}5tfEuFPE;3GEihEs?4AMuBHEwifpPH1-UW}?d-MDNq{7$e~! z2N5H5G{k6XN5=^TW?Gis8;}_2-0dz@sqMxlUI`13Ku8$hRBG@~n%E?9{tqDsbsZld z{NAgxqkVX7(~%7Yy?Eu>L#ZlN$C*$M7AW@i(H9smemh4>i4+1z{{%Pju|A=zQtd?= z>4`nUb$w7`uiJ;cgLY@{kJ{?DIB*Z&U@_U#Mo|EZWKZXR&_5UM0_lW-)&ca2}JqZG?5ys&>#o3bX41I>kPyP(0DSl0) zP83hxrb1m8? z9fq+eiJ~KtgQrl26O*wp#pyK>v;m&MVO+Mlj>UCi{r)dl5v>4trzU>2Vj&_za7sPlfYTh_v_cYWzh|YL4t1Y; zHyn6A-zkJVL?jBrxrH^2ylKdHy1|r-FBBy++(~W$%XUhfVMySVG3^N?Zilo_4RYqa zBa7jSiJ>j+QBeyM8%kf7Kym1~fTl{By4ICtJ4kM!qOx20kq47Qqw1dtlpI z4y!*He!Kf(?dJj?jW01jeL*iK=&J-hl91mK@-9MIG;qa2y6DQql3MSmF^znk^?^ki zoPYk~fBf^m|BrwE6DLnzyUxf3baVyceCt?xN#<~J}CxTLfFx9uN}pqgeiuSidG!Qz+UY5IcB#i zu$<#Itrrx%QtTEuLBn@2qLZeEyfu|MK}?KL1-d|Dy#} zT$3C?FYzYi@cT2SgLkd}SLggc);DthPrteO-)eI`H9qf?$h-lG>4HUZiaw6R=Hf`} z3(T6VJN{a|k+NwPisph5mu{bj?D~?U6L}UF!{MBXqKP|wTZIT0griS+VdsE_X^qK6 zwT!^$%w(v_F1f6~wlL^re>zs{{bEr(1CXJ&dyIYQd$D`)%P8{0=KA{BjxMKtbKp(Z zeamq;bV2P9wjG939Ek>?za7615M;15t>^G zp)jo?u3IFd2R&ikU`Bz`DK0hHEfy;bpuAfU1x)tN3&57ca5^WmlNl}6;Mz&UtToub zwYy?vW;`%4R5TcA$_T;&J+#aM%N_G#y;@4eHPh2-AdZ>HQPMOjj6APUTA1LifaJL9_jCs@(t8&0X6>;VX>!1ypu~jjg;ouVYW{5SoVwreNBJPwa zzWLM_ysaB5sx~!6V3BzoU0N=KW-{4Hz{Bap>O0UVxLSt)$JnK=<=|SL)wdn{?-bN} z597Ljkl;kjcRwk7XtZ*hK;$Q(< z5gm)c2y?d`j}iDi4FzV9@kQSPTM$qaZ}1gQ2dIyDT0jy}UUs;G02UR=B?UT_>0?2q z7n-R$Kb7Z!Ek1T24LSvpOAQJ)<;?*{8@a|L7dp`kyYz^4hcX}F;$*@ zK)xmcHt#wJA!R|qD6yvm0GnHs)rAy=uh-{bAKP9~TnvyR$SMgVDFhiQ^sNAXfI%*M z1{S!{L@}9iNH8~As8%d@qvJsd#01Zuo2Su2{wvQ*W<)Ej-D_Lp)Uehy$6h7c)5t)& zZKGZXB!S5CX@&!WFg>Ecmh<%qAmP-B^xg{fcSb1pf0xcR!JOD(s7q!s8<#w3paskOct}0Fx}RnjF-dlBpc$d3 z1QWx#CzWSvoM$B|mZs7z2vN;#g`NqNDinPnQxtnWWX2BP6dFL+K8u@TzB3K&L3B@) zi%@GxL;52%2C6B-{nJV)uY~4ZI5eLYf$CduDT_YeRP6lpYqOIErUgT2`Z!79=faEK zZ`TT<=h2}uI%0-L&FIV-1#Qy{CPRqCIWr3Uxl%zd)I4AVZ-Q$ZtWw!6%nudNO&L|e zURpsmJS;&GS1lA2tB)?au_OZg8PrJzW}+(6$VdP`yV%iw2AJ0l2H^hLU4R!xdW8ZY zgl@F67FpwLsWq)g$;9Euhg_i+J{$Q+v?X+~M{37C>sg)u| zZZ$C*L~W(z)yW+5EQVRCzZ#qAWMqcPRQjVlV2)(dFQEG_PE$Ue&sn@89K-2UdKNpG z&WAduGzL{ub!)kk?A1a_F~~CzNyUpTxi?n$ru+8r*mY)iS#+YJg|=ACQ+)wDRl%M+ zd_|}{bS)W3vI*4@;t={^VxF%8`_=L3+r4fKKBGrJR<%aacqfg`EQTvWh?$cGqamZU ztcUCTH>d>`KfjNfr2?_!vtDmd1l6<|pvFwqa zmpUJeqaO#R5&Kqm#tift|e|BTIWW=Wm=-b^>=MJkJ$Y9^GhRz+!vKF?Z5FJ_~S^`u% z@2_TK8kxEY4E^g5+Hj+>Ca; zzgbPz+OF4@7g6G0(pJ<~EnC}MR$adToA3YT`@i|~FS-Bg-Iy?CceSResr+uUBW;@|tbG5_z5zF0S|zkDB&? zS@1=Nr=cYJ8-T&}AB-+f3