From aac6513409ff0c0c95f96bd18328dc203f5eae0a Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Wed, 18 May 2022 15:41:00 -0700 Subject: [PATCH] Compile shaders on Windows Updates DXIL on generated shaders. --- piet-gpu/shader/gen/binning.dxil | Bin 6336 -> 6336 bytes piet-gpu/shader/gen/coarse.dxil | Bin 11632 -> 11632 bytes piet-gpu/shader/gen/draw_leaf.dxil | Bin 6760 -> 6764 bytes piet-gpu/shader/gen/draw_reduce.dxil | Bin 4264 -> 4260 bytes piet-gpu/shader/gen/draw_root.dxil | Bin 4468 -> 4468 bytes piet-gpu/shader/gen/kernel4.dxil | Bin 14000 -> 14000 bytes piet-gpu/shader/gen/kernel4_gray.dxil | Bin 14072 -> 14076 bytes piet-gpu/shader/gen/tile_alloc.dxil | Bin 5136 -> 5132 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/piet-gpu/shader/gen/binning.dxil b/piet-gpu/shader/gen/binning.dxil index 4a4f0734c4735cdf4f37ec0ade7e7e7cacccabbc..3050aa83bdb31b0655c4e6a2c8d80987840b6532 100644 GIT binary patch delta 2232 zcmYjSeNYo;8h6cK2&oPwm@CLW3vkQ1*X;+ahX zX{u1dt!){wy&zcW6njA}jvYFaK(6MhT*cBGu0vb6<8FFa&jP16(>boaU5WJepWWyA z{hsG}pWpku@A`B6InvVF;*z3!w?2Q$@9B+keEFa~aC&WAI*H;&bHVg;<~M#gcw6;w zn5oFVwusjAZ2z+Fyv1i;jZm#6fXzp{ypslK*rY-Xfbg*4_Z)_J`mjN(d-?Da1C*#x zlnx`nRV2m%6t=K-F$s8KgIF``0Twp2w&htGkYS4oeF{PPu;KSaVE+##AwPzB1Z=iw zmZ($pOXEb9o^E04vme1Fyb22T5+7g0BRyU;EfGq?|7--I3lMn%q1|yne2B~4P5|&z z_8rf!^ca~!tjwlFf@CUs$S3M2!JMnpB)1X-ZywK;z`2X5=!FT3`mHV!K^!Dif;W>1 zLXe80hKt!*GtCYU@+TM?O-1SVEq<4UZ>ZfjG33pl?iGyOoLy}{+P2HtF`U^p%#SOH zVh-lM_DAH_UPSj$cl|1_I7KSGu3kw+kJ#vD;)7UhJ7y;6fXjdd0aot*@Wb(DB1B?- zYTAS}07L>Weoo?tOT;}pFYMw@GEa1gDer?bf^)8MnaVQhh=QV+I#Hk^f!@}3Jc0r?;8NDb& zQLI`tR1LMtDz#R2)KG+?qApQ04#qB0*yzYO<;YZHF*v_FYTwJ*=4hzK8@V6K^t&M* zO%gOzFj-8%KJ5Sw%6zO=AoBl`on3wSL zVSnDzrvE!S<`h1{)Qhui--1XVh~U@za z=}r|D1dtwQM=#}}UFP@|QH9b`16P53@%eK_o9$Pwmt?_Y4%@yWx51F@zwA9ji})}w zXn}Kp6xO2^)?78%+Q>vmqHQ9vDc{=4NnBm)hCl5g5?HnDN%DWwCz6l|w)MsC-#vqW z;SNBov;{xkE$-BY>2>|E`iZ#fox9eHpPme|DkSilgqMMAvU4vk(OU0vnXP)c))Hf= z!t-`Z^2TFsfO>wV-)-Qt8EtNRT?pO*=c^ZjRSTt0U*I*#GNB|SnypMCjRwg-@a0aA zq_9u&ZEKY8mv`W9B9~hrG1^t-EAdIDs_zG@gU+1~$lr+ge6~e;c`Dfv1#}szq_h>%8)u!TjTi>t0GK-W8oCvP#yUKo2;FwBF@47pqm*XYhUEXDdk=f%-7s(VAgk@%(n9Ohg>>fz9a zfaPOL^4KF`&Rl$phzN6TBIcriTlrY!^4~%VNVm``rLiHEEvA7M+xQQE50^oBnG}`kFGO8+|e%%jK`!H+nVhv!m{_^sNoCvaD-c zzBe4GgJMg+)7^H5mz*b*_hnF+2tFaSJaXvjZfz^{pJ@QlC6{A*j4Z)5hqB?`crNNd5}T9X#F0mPIP%0}az001c}!m6$fSxRr~ZLs dmz;qce3!I+Ud+91Ubk4zWz-3S?4Kh1{0|^9yNdt- delta 2206 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 delta 2961 zcmbtWdsGu=7N5!FF?qox;V}W!37{KAA#Xqt5`v0RXj%nBQ9D3EYyl%~Ij)C2c@QB; zQc?nl*1GXnyH=?i)OMxY^#lP)DXpm}B1^lVtn0RP7ipJ*b@%K963^M5vw!XUG5PK{ z_wl>GdvCsPTJ~7R&(dY8fuB7fA(waYe+Q?&lao3e(K^n)%zm)l_~U`svvgaxTR8xL z0~DZ`3;=!^Ak-1ULQm{xsy$x|SO8FP1*FqRj1m!G zUR9-;0k3GO6hF2Ngd^?lT|1YFTjdMdc{C5)q=A;ZjcjZfNVfQU=tstwz4Fz+B`a%~)hY>KfpM?7HHg3Cd6b`xpm;0F_8Ne%N6&pK>cmqTe~noID#wG7&@A9A3?DPP{4c!Sg`Nix z61(2S00ch#zXh=fK*-S4%8AKk^=$Y})K~-+NBaT$EPlY3alodbqpW1|0zh@H<}wXj z-YgQ@%XYiCxac!ujH*9#>u$;v5J!dmRqyG`7|jH@XX&8UlIpR7BqN6Eqyla?V(Tl< z1n!tZM8!sbH?`-ql9R}*#3vEp+&pAks#_aR_=Ks_`0KV7lxRVib_yj5UhQoZYr$;V zJA_~`){Hia#}Qf@NWH?+a9d++q;C@ViIpe2frU7KIc-2qe)@(cS6Iw)7K#cX}dHmHk%W_%8#@IoijDC`+T+#L-K2gTa;q885 z_mU9NeiDDU=CO-({~99~+RTaq$UVTY{SMNE%N=)h_Pfd^19yAy!=Ko9(I%rD8Nt~j z*-cT;_aEBtVoff&W2D?ZqHT)R1ogjVj|iJQa^#+#eNWe+zPv?&__HM2H&u9*8oIRq}z%KK+kKrLuEc(6>Iy=$iN+WzvkV+fk zNVn1JE#?n|qXqT9U@!!ss95Rm;HHd`5*caE?}G!8iMeqOJ(7@r$tJt~otp85@99|U8q=lrC%PoxvETyHJ}9qo+ID30?re`x`PN7I9tBPK(~ z;HQ4yxi8KkrMI+maA_0!4!)1?5(?>ALA5A>f%7%2d6m$+K;i_jGPmSTC6mJVMCiEI zjjH^TZCOdJb#1#Sc_VdmS5M`$BlS4b{uFgY9YmiEOZ?74p^}C zrN3VHyIVWRf#vy64K{K_pQ*Nt{+@}k$>9}5m4TYcZ-gnXan}*(TN1u4+&i_#OF%34 z(`d`7v80=q^N+l{~bpHFiF57t# z$O&Y-HkI!D3GVYJdkp3Uk~Lh+^=4(5CC{_fc*%jv-ge3snw2?zwo$1mP`0O*oUHhA zC&6|~=6znP{2XhlWE3)@C~-SW(!9 zrI($ms~y5<3%XR+Y*)2ts>G7&9UzO0%@j&)1q{vWaL+)B#M*rDRb<7*%kv%KzJW{I zh_>@z2z*1fYhhWc4y13uYD|y7X2sxJ&Flt4EsGvGKfVDdJS>pz>iN`TRYAm|fUkE- z9&kH{+>(SVlE>A{-11W_8!97CZ}6rxL7k}j3|==ZS$8(^9#}{j3>u{mOCE7QvCT-5 zzL!iBMsK)+MpQ*oU7~6T7W1Uyhlzg$3mZRMGBTieF;DspcgQA^635W0L95LQ zX>X$Hb6CDZDvwM0Em&y(V=z?N4(Z>y<2JoC`H=L7YM%R_)}T?nA{k0jeF3LBrKu%J zTfo8>pC|R2Q##9?wz;Jnu1M#r!`<>OmLZsxVuLzKbqn4&EZulEX&+da7XXOjRm0Lb z?laqrG~;{eGs!kR`>L=^a-y+xRoe;egJIVHC%qDI6IS7{g(QQ4`W;` HaR2@fw5$C> diff --git a/piet-gpu/shader/gen/draw_reduce.dxil b/piet-gpu/shader/gen/draw_reduce.dxil index c101fc8c7f1997dba7d8584f3ec61030fb5e0059..be69aad2781f64f94fa4a1d109e7b980e3bf0fdb 100644 GIT binary patch delta 860 zcmZ8gU1$_n6h5<=nZ22vB-_N%yIF-9B$|YfY}Sq2+Er(gRHA5DVGSD*ytA6LlpuMq zSZzvX|Kbv}vKlp7O*_GeTj;}T0?lqzCMqH*Ws~}_C^msoA3~v(zWC6G&eV#~`*1kl zch1N8&b{2MG%dM0!|ffbTfW}^Q&UR#}L`s%8> zLvZfg_P8^=d+!AVK!AZd8-RtuY-pGqd6IwHJ>I~b zmiWH?bYBoLU2;LrrlB}V>47p?Wlb%d#HM(Bk=v)b*@xmLH1P?ELBL(z-kVYhGIQB| zUg<@jnt8k!s7d_(jR=eM)c0GPI%l0r#@?Ul0hFzvLzF>JiCweF8~J@s-{&#ts-ekq z&%lFRRP?4_1P@{I#rQgAGeyRCGE&Wf4c@?n*S{?v$o}Z_7xE2?eP-D)W*gR`8wYV) zBm*L1yKx|P^T0;79Aac8Mftw`t}Q~W!XsDxaw~q*Apd`Alh+^BLTSlXZw~1m;aF%E{EdVWQiD zS_{sCbH!ou$Kjs-Ei`80?p7I`biBUmC(-eY_#_x{+X5)=ke}u32NSiQ2`4n+hiK1h zS*QxVmOrQ}ZQ(rl78ul5Toxk}5|32jtBOU;Qqg2YLanB)1pir;;m; zVKOHL8Smvjag-z%)~Z58H3 zkcz~*h4goHsbCMZ9A;?yPV#G&29hzvmwyfDHWr delta 906 zcmZ9LQA}G^7{|YRxxKx;_qG(T0 z|8xF1-*-;VtUYhH_J{g>@V`M|&R?_M*FJuK__^ZMq4$1Ce)Z1K3-#wJ{h_1JW*Gnx zG~gfsY7BV05ho<<_xVcS+j)R}a~;gDgs#)|#NO;a{oRSlHujv|a68cWRDezgBx;sR zZ8ETJg|Cl*Iflb;BLLszI_r;{sOonvLD%7(cakOwHdQ0%<9$9bQNpImbG}}zZIpIe z7_Lx+>R`sdjMxt-Sw*?fD*6H=!hQ}MjK+K6(L<{va_*Rk5~l^&P!cvpPtA;ME98o_ za=E-5`*!Dpf#A-7yM_5oeNe1?cxUy}&7xn|mvIcgOGtmjvnPN49| zL-%Z9>(-Re=2L#!f4uvT;6Zn=+uc(58HcBe>vw+i-n>*?U-j#HVQz~XBjc$=^Bbru zs)E4K6R5ZR>9J;72eMclBRbED;y6OU$cY5aqOo218vP6!T-(kNq$HsJn5*Iau4yA! zQbf?>(Y$oJnPza>c$N5s+B($-yqkL2NbiyIGy3Zp|7B0z73p4B7IUOgTjk{h8<${N zKzT4%Il3LR6>NFP&vWO=b~S11@PLs@K3)Hfz-@?~c2I0`FO%dv8zt?D)ZSB;HzmuJ zMDUu&q96R-)6h`qXIF zV*0_JVQ(n%XF806=-otP#-hBKPs@xe1IgNSk)cOV=NM*G6+g=1KB+RVB-oO0SFAO? z3voN9-D)2;4b50^SxzKH>Y^rEtVnALfx3mmQQ&P_gs<}ppy&8yBkw-@u%@(+47UAM z9!H({nU+$9d6o4#%|(?f7FdgPYhu@*G8A)c!r8Qt;}%M6OQrm;KWkVhuuHAZ1B(T2 eagFVo|8L>CVX?##j~%*E;%-#gIf}ub2;grG!X&-` diff --git a/piet-gpu/shader/gen/draw_root.dxil b/piet-gpu/shader/gen/draw_root.dxil index 873fa29da1ffca54fc149ad5b31f42a47e79f5ba..4ea23f7699a63ef9a4dcac871e1f234a5ea5b0ef 100644 GIT binary patch delta 855 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 delta 4205 zcmZ9Qdt6i3mdDRY4kr&2%!9yz7zjk3f*wKyg-R2^fCw76NK>B)^0ET*q15`4n1NYc!X83~r-La!K z_WlzBuH~;nBsmk|`jO_bKqROPi8_KJZxRSnM6KfGn#A>Yu9I?3yoPOUbz(+y;zIYJ zU}#+6Y;bnTTj~-u!+rdDXgn6L%JW0TSi*1wJ6)wAPI3mxN&$QOkTQp-;ji;s`CpjP zmKgiBTX0>sGOxB$Z{HVsx_f`m^bK`Z=lM!`urCt9W~h7OV!x=gRO24ZXiwxB+xR9a zo554Ydvv=(##_;O3FrStCa3PGtlCz+qqd}~R=%~|Skv;smp7(7qw0pu4TXhjd%eYy zh?S9=W!CLO2E4otmo_MMR+WeBa|NA58&yf4@YAJsO;80f>EwTD<4WJ(^#1CgSG%M) z+vWDOhJO{k5|MQ1zrRZimmhAsllrk|Z~yg!Be|TGysOfPU^2uwwwQw-te#d@3fJJSif|9r%g%VgyF^ZTI?YRvfJ_`Xm{@87~uhNeH8rS?_ zkkDjVLT|OgW52o0Mi2$gK`aJaw({L#+7^DV-=pqLKM0 zx75AV2NvQxS#Rj4N&N9RRWB-#+zIwi?yF0k0xL^BjeCGB{=`Q8Ad*XF!G7s%`pdDk zyR4=eAiM(+J)^?J3Lj^B@U)f67QehgEz+T>(@iMDEGKHoiTNK0o(z?zAq8gNte|eNh}LG1nJPiO3=|Oxvb4o$f_g zRQzE9va%CvA>;_#qPZ-N4xQ)9rc{0kQ%#Y_%)Vko5|d93u6^isphDXaQc zGQ+YOQO~r4Yn%`b;TbkxremT`;%3A)@S6-W+;Ad&QOjOEPbxrDc+OatQWt+D-5M=% zf&j$c0M>ilOR!~g0eD^n;J-Z7*R`f40!vZLR484TPkq+5r%#Dba8TW7j+0J8%_H%& zp#Bm}g5rhdrlw2DSTQA(M9jN)X`LZpJ*(W{^A?pRN$_TJD8StW@= zO^}PMQ1e`fzD!CIRqTz_sAN%ce~@NP3$Xy?!&Mi2M)=UJWwp|3?owR*J8{R z92Z)dh=yF|VJ0$;6Y3b3hKS!NocTZ zLq+Y>zTXT7KqLyra z>Y=y4;UWt07h&jxzp`h&VMz8Ja4tzq?%Uf`KMZQlX6j~<5OTG-AoVe;00~)NXYv*x zx+ugXoVpAO;Aae>iz;ir*I17I9)Fm6J0Q%I_b!N54&AWX$!-R2(8MEB+2b&6K{3ci z3p7xG@|zG~plY5|%lfSIT_O-6YFAjr1+tb46KyP+Bv#Kzq64?K1 zhgY*KB4JRfX@#1a2(RX;eXUQlX2q|>Tdnc1UvD2CtNtB?K&dWjnY&zhRK^-Fmk>BRj{}1gDYr%Mi;{aW!?2=sU3B52>;Gw=I zQqpFM*@zBZ?!pc2zMuAO!fDM79kV%l|H+4i-o>{ z?jM^hD}XC*gc3**YikQZz{a#FpNi-n?N>e$&5k(GN4_qkErrN~$0a44J0?nWFm=szn-^(=xVk z>PN6|0T_##f|?IX7gz5Dn(qO}t7B5q69O)zfb%{FqU6D2tGeb*%0Mio;6U5x)yHE# zKl(}qt^^QFL3o9edM1_nHk9rTcXUnEBX(!WS&WKWVBbW_K(XX!ZCO5lwpl)%;O4Wm zJOP+)wi8Fk^STVRS~0`cG+rlUVj!c_RgJalBgmsr;qDHD8$m&el5Z}Tb#n5{RG~=r zBPsFx7H4)Al$A25I9UMCw(|_*=0wmiYtigcN+(nJ9>2-?vXsv0lSfpYOwLJ2btR?V zO-Q{PZm%xGCqGyBrj3MV3NlN3LR;5(;elv3LaqLD)`Q65zvi%C_UnF zGRkcQO(zQlW_$iB)^SJHIMQGvbJ;Gsk6(7DofBUehZEoWLX!AY@FVyt2qb;>nY@~> zXq9JEP(IYmeZr(QyYu+Jt*K6jn*P3C&F%H+cf`|knjJ4Rr9TLM!&X4eOYeFm12R)< zQ&9p+{#&d!%!xdrcP*&}lGR80KMbVeLge!tnXjP1+xR{8lE;)jq#}um_ED*xyZ!RA zQ~8E;|A%eh1;7KPG6a68<1Qx3-8NW`u$pg9NNY|Zl8qw=H;z!hhcqozA9ETyP~K;@ zsmmRP4y1QBG}4Y7t)lI$vK$U6BW}|4?Cne6{wEuc)8o z8E7@73hhG~)SXbBLc55FC!twSoy*!zf4p=q`!DpzZ_njCpbEmWMEVCYQRmrz|3qZ@ zDD3Q+dcy;XIun*4aKr)6En_CIPj@)yo$jci9)*d0mR!HlYo<7gg(Bzb*Vu+$YfkSg zY8M&P85h@0y{sr>SVWXvQ4qbfVW{3ExW^pA^Q9S8>Q6O<({djHt}rZ*>RIldyiv{a;qn1FUhjd-IkV@0<4Sp@EO1)Qo5YNz~KfUL%`a zHt$$B3?aDH;{C$Fw-Qv?B3soChJPl#%wFZNA>ec%Myi=s_bu2LJQ`JR=$ zj58WCI297yR-M)(;v^EBrE-p)>QnBGBR@d*;BNXg@pe$#HoB++{Q8H=8Owqq0D!Pvk*gA4e!`e!_Y+X=fT zqJ}@E8lF(IH!sz<-`n+{&SP8n269p`N!?Ken64QCAB88}JD>go7ZwUIAch1%x|WA$$SCp-B*))dINT_8c4x;n6vG zH-z;EAUrb%r$X4|$%ORpkamVZI)5RM9@-D-@^>Mu1f)wK?Z|<2#~hsi>7qIM3rO4N z=w)IMM_n0&XCaI`AS_RW@Gyj}*CDKaA4CQYTeS`~Waxu9RG%~O|Ihyw{ujXp&$|Es diff --git a/piet-gpu/shader/gen/kernel4_gray.dxil b/piet-gpu/shader/gen/kernel4_gray.dxil index d48974d6811f75016bae7d23cf71a05a570a3b9d..7b7c19f008c9b84a65d0dd58c2fb1cf7558b0462 100644 GIT binary patch delta 9696 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

GIg3I;Tx)F~ezsM0BKUi)=vl^rp%DU~iqaYw3KG z`TH|b1G3-qeTSL*hOjy;=6b*81L(5>*1n;-h8V%ax^zK6@CY9Rj($v^SwopkVEG_BdM$ug#HXPyQhccz*1( zXZYY3n(NZ^!`n+s=u?b_$A9I*KnMRyho=)=c8?-QrfvhrW9u$??9?6L;@&QK_SE;m zg$;~M9FVy)*jY8sKA*uJ*Ws^!?v9romAw>20ckQl@8t<&z!0LDE@69imQ$}8sNMF_Tq z0ex4zM^T0qglk|;xT8k^rq>?;)+TUcqZ8eOugz?*HX#;sdAfK&#`Ce5iFAr`W?<+27jwCz#`C4OBm1xz!$vNfZIaOdhi#=S^@Tb3FRWd1{4y0Q@fTi|g4HTl9neElqsTsK zaxpY}03>6|@}?iBOvSG9Bt__F2KdTl$O!*SFi3c>o<1Zq3E3jXa9BiHo8UBFQoZ4;F?BzB9aN+>T z96><&NY{4dL1zJ{2AClAe?v@NNKJTQ>Eh-MErgIhF1k;8AfEx=zPY^CFm!UofQ%3X z%oFAh$_PvgW_}*I5)84xkO2(gae-T`KTwEUycM*Dl8NuEp93tu2P`JF;RbI41`}5R zgV%!|d0QhG*@ll)x@i7=QF7R__i+&$5J_um27sOT95(@x?Hu;fwiYmg;UinHw=%ju zXr3`pnCql8_;nK^C>!mhP0+leV5>b?n9FmMOWYd#z9z73gos^R0o&7a9h6N@N~2%5 zh;0(FEux5B8|m}r@DHgbEf zovjW>_o2)99FUZ@SJgJP#Z18*UL^mTey`B+!%U48h)ag~ zn~?uYkl^2!EZfd>lqlkpWbv=i=Q4v9^bp5}tC-JAFnj#0p7__OQ)bmF@lGnla<)Q= zjxIt4I40}ymf<@q;bJC|D%@|(fWw%sSP~r)6~gNAKwAy3Vfu}?CQmUxES1n*yVH>} zU5k-{%tb~~`j4^dnSE)}IKg(ro5gyB&!y(!{HY;2<-7x zL1KoZEwZ&%>Cw~RmZM4q%6$ciOVxLZE6;R?PvbMq8iU zFl!V7G4(mWSf`~GLu}SfkVqN`c%@!sl44_y9Y%8Eg-5^PAH9fJyz24Qb#IR0|5j*Wg=*S4u7I zCFz)|{cmK;6>h^_2sGuN7qN*kJE8^oFD3F$YP-|M0TM+uK!Vn5uHmb+v{JB^Ur_}& z4->p@n2FQ&Ybhz@W7rZ^Gg`(9Zk9SlPis?>-EXl?c6Mk(W$Fo^x`i6vzA`RGjG1FeGB`GGQ|S?@r=%P)|liw2lZ380;%`)0hN9k@^UK zLouynw7D8>sLp`Hi>|9ObfS#bbC6FM6MLx+a;ir?{#INk&PJMduQNc?tpk)+64EGo93J7T>Ou39 z*=t7P_Tv>t1diDydV@E+erFy|Kj@NldiG8PW~#Quyu| zI0y$9h6Av=0>ja*dvWv?9L-I_(M~Zy*Zeq!4#m;8#?U)(aDf&FJI25Q9BiA5ga5+8 z1~v}PjR2~9cH`jkMjSlV2iGjd!F?GxILIAM&aOI930(-gQI!Hh`7Bq@V$}jsN^VMTKgV diff --git a/piet-gpu/shader/gen/tile_alloc.dxil b/piet-gpu/shader/gen/tile_alloc.dxil index 7b130e013427d747d2d4199badc1dcd7fb8e8297..7759910ca527b4ff12fbe9ba3ee03fdb6a428ca7 100644 GIT binary patch delta 1180 zcmYLJe@q)?82;{hcfE2QTuVx?EsQG^>|EWhY$A2h^a@T;HXDOk`C%-DDH=e=HnZs> zZGm#j8ZBP8q0?E0b4^yv_%R%bGi`wdHh&aEDN0DeEkRA@Vy2skAzrhh-(T-P;vA z^KO}~qOzF)zz$IG6AVD|4g@$UFsg*Sr8K;(l>#s~62TYYTLhWpQiF4_Q{p!Inuuo)o}v9vF$;nc*xEvk*2m4HZLCEfB7!C9 zueKgKw*2GLTw;0c`qG;DS}b~#+H?MLWay+zdR0mfhMZOjinickyW5H_cvc9JG0q%m zpfL?rM2n34N9aQ^JiuQ=X+_{y-^#due0Js*d-eSI?ALoFB>;@%V%0Ej&#-iu<^h`z z3d}PUguCh6v&_5<2LNgUARm(ex7~M{eKY{6xd_L?PMT_LwJTn;V-1YM2WT8y)YN&@ zAxPz=D1f^o2gEV;e<7*yQnZkTlwt?d714ML5%Z>x{bZPflAYQP+p(v!c`d2z_{7z| z7-_Nqf01~f1t>zUcODQI#H|2*i}`>ABS_SY(#T&x`WSMI#3nXHHC?R4^-YnqjBz-V zN|y97R)O^=!7uz7IZ2w)Hv)=zC?(-^+M6--Lb9mT)uNj>Bn&3R^<=0cD$K6)H5UYg zopE93@RVEcXYZs9NT4=$`1{F?F8hd2eOSaGED}a%YJSH4P#GCOBBEQ$b@~dR8&=Iv z=3|)9Ai#C%5hZ9Oa;9II3v>lmFVeWzS6T4F6&WtZfs#wP_$P6%7%A@jadw+4JPheegsZ+ZS zI#)c2oUr{Aw8g!G)s%>tzWwEW0q)=xStklurq8;X-LBPH9J<|kl(8gf22n7{D$5-^ zwcue&90a+%ORmILbD}HR&+upEG<>Ot56jhvq*vd=FUz%1^u5fjFD7zZPnp$0&{e)S zkVXd&w@C&|oX0PQ)5kogow80$7bj#QNP%0~=hiq@BshGewKp?gHab-^`c&;` zcSTiw7PCasjm!;eb;Jkw E0q+okRR910 delta 1185 zcmZ8hYfM{Z82(N>)fywCeQ zKR&-Ypw1|_n#|yT4`Fk-knujR?Bc+0q_X1Oo&r1B_DjAp7&TJ| zxS%%;HEd}W{9+^Y4$&wwrdKV8VI&6GIH*@e!f=g^F~*(GYYo=H`EwCd6=5V+OX}!; za?4Pj4r-y_UEXLN{|TKW7Wo`Y9R%kh^TG(`iIzCcUCrcrSCwn(mp^~l8Nr@ZHtbY# zb^Xuff7f0(E4(^O^tSFg+8xQh8nwFJ46!tyj@A=41=cd({4{DK^n}BLwOIOwR_9jp zhGy;#Icwl)WyG~mL`|Ih&@~~3b;JjA;M2Ny+T;Rv2cd{B2vM7m@PER z-K?_#jI}El;{%T^a2!NWE)t^KkYM(USJ0nfv9 zao1%3hN+o;se-K{5^l4WWHSBvs6qJIFr){N_@>To3w9!ll0!*m&~4vj+D%|MhudHR z=^^*kXTTr1?@_0qwAYjAGxFWv>xgo#os84oSKl=zW0Tr(2;TaG`2-r0yMyU5B*8Z- z=!qqN8E;BdjVtm)zS$VJ8P0@Ro~A%YUN5VU$Lgb3OzL6do?wcPbQ%}e>BA)r_!j|; z(XdC;)DBG5A1H1DMax6OYq=Q4!h!>4H7WtExIEgnOalWXhR;j;wmD?&t)#!6S>X1h zOjAXog5GUUcFa>2-!#A=ta9z|op^tlUz!y+Cn@zh zMG~<60Pfb>JL3k_zPj%Tr{rSXxPpzyF*KT(d9sIJc{u_0rhW^hdKGm~q~Z9IC`5d$ zez!9vg89S*sr(ywAN135+BSj|cphM9v|R0&qiQV3bKMkqlYvn?W(jAVSE@{QRb`H} zxD-G%3C{}~B~|tkB`Ad4&~`TUkywI-0Q$e;6+ zZRl*AN y({e>iD`%D}8khR2PrpvZ(xj@}wmU)Gn9-5(u~O|l8mUGd^A372$o?Jwy?+3ac!wAO