From 50d1149ef02edb11ac375b2ecc0a200286b213ec Mon Sep 17 00:00:00 2001 From: Tamilarasan Paranthaman <93904422+Tamilarasan-Paranthaman@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:18:32 +0530 Subject: [PATCH 1/2] BindableLayout ItemsSource fix --- src/Controls/src/Core/Layout/FlexLayout.cs | 10 ++-- .../src/Core/LegacyLayouts/FlexLayout.cs | 8 +-- .../ChildFlexLayoutContentShouldAppear.png | Bin 0 -> 61155 bytes .../TestCases.HostApp/Issues/Issue23491.cs | 49 ++++++++++++++++++ .../Tests/Issues/Issue23491.cs | 21 ++++++++ .../ChildFlexLayoutContentShouldAppear.png | Bin 0 -> 66708 bytes src/Core/src/Layouts/Flex.cs | 20 +++---- 7 files changed, 89 insertions(+), 19 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChildFlexLayoutContentShouldAppear.png create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue23491.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue23491.cs create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/ChildFlexLayoutContentShouldAppear.png diff --git a/src/Controls/src/Core/Layout/FlexLayout.cs b/src/Controls/src/Core/Layout/FlexLayout.cs index 1e43f5c0ee5a..acebf1f4b6bc 100644 --- a/src/Controls/src/Core/Layout/FlexLayout.cs +++ b/src/Controls/src/Core/Layout/FlexLayout.cs @@ -495,16 +495,16 @@ void AddFlexItem(int index, IView child) InitItemProperties(child, item); if (child is not FlexLayout) { - item.SelfSizing = (Flex.Item it, ref float w, ref float h) => + item.SelfSizing = (Flex.Item it, ref float w, ref float h, bool inMeasureMode) => { Size request; - if (InMeasureMode) + if (inMeasureMode) { var sizeConstraints = item.GetConstraints(); - sizeConstraints.Width = (InMeasureMode && sizeConstraints.Width == 0) ? double.PositiveInfinity : sizeConstraints.Width; - sizeConstraints.Height = (InMeasureMode && sizeConstraints.Height == 0) ? double.PositiveInfinity : sizeConstraints.Height; + sizeConstraints.Width = (inMeasureMode && sizeConstraints.Width == 0) ? double.PositiveInfinity : sizeConstraints.Width; + sizeConstraints.Height = (inMeasureMode && sizeConstraints.Height == 0) ? double.PositiveInfinity : sizeConstraints.Height; if (child is Image) { @@ -585,7 +585,7 @@ public void Layout(double width, double height) _root.Width = !double.IsPositiveInfinity((width)) ? (float)width : 0; _root.Height = !double.IsPositiveInfinity((height)) ? (float)height : 0; - _root.Layout(); + _root.Layout(InMeasureMode); if (useMeasureHack) { diff --git a/src/Controls/src/Core/LegacyLayouts/FlexLayout.cs b/src/Controls/src/Core/LegacyLayouts/FlexLayout.cs index 492669acea70..7bd95120333d 100644 --- a/src/Controls/src/Core/LegacyLayouts/FlexLayout.cs +++ b/src/Controls/src/Core/LegacyLayouts/FlexLayout.cs @@ -306,11 +306,11 @@ void AddChild(View view) InitItemProperties(view, item); if (!(view is FlexLayout)) { //inner layouts don't get measured - item.SelfSizing = (Flex.Item it, ref float w, ref float h) => + item.SelfSizing = (Flex.Item it, ref float w, ref float h, bool inMeasureMode) => { var sizeConstrains = item.GetConstraints(); - sizeConstrains.Width = (_measuring && sizeConstrains.Width == 0) ? double.PositiveInfinity : sizeConstrains.Width; - sizeConstrains.Height = (_measuring && sizeConstrains.Height == 0) ? double.PositiveInfinity : sizeConstrains.Height; + sizeConstrains.Width = (inMeasureMode && sizeConstrains.Width == 0) ? double.PositiveInfinity : sizeConstrains.Width; + sizeConstrains.Height = (inMeasureMode && sizeConstrains.Height == 0) ? double.PositiveInfinity : sizeConstrains.Height; var request = view.Measure(sizeConstrains.Width, sizeConstrains.Height, MeasureFlags.None).Request; w = (float)request.Width; h = (float)request.Height; @@ -489,7 +489,7 @@ void Layout(double width, double height) return; _root.Width = !double.IsPositiveInfinity((width)) ? (float)width : 0; _root.Height = !double.IsPositiveInfinity((height)) ? (float)height : 0; - _root.Layout(); + _root.Layout(_measuring); } } } \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChildFlexLayoutContentShouldAppear.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChildFlexLayoutContentShouldAppear.png new file mode 100644 index 0000000000000000000000000000000000000000..7a16ed1d28914eac6da7b7f7486558ff537bd3cc GIT binary patch literal 61155 zcmeFZWmr^S+dixa2#A1)bVx~eH-dn4N;lHo%}6V$NVjx%cSx7C^#{pPir$HTp}$3HnG;tHPNNKn(l z*CRf>EWj6yp+cp9t@%3kWkKd1Gh>r`>sZrn*@}L56RNuMGepO@hz^R^qU$)kwxv6QVbmyQ*HD6(*eov>a5K#gF`|}4xs+SK@ z--`b0tsJZWB@OTXE4_bx@*iKmM^tmreD*(%xc@%U1L5SIe(a~QV1oZWi_d(z@d|`MUnbkVzV3n_i@9V4_^>-=-rs<|F5~Qk^nQ2lj2K$@}G16J<|@k z=Su(Aoy;t$gJUe{@UWX)@aQ|EDl7CqR-QxQSMKw;JA+&LphuV`G?%*um_~D^yX{LU z#0chTFS^{@ROO-AvO$OY_KFJg@`Z@K{vE1{!4BV_k>8wyLLH{x!EkIFj8GEvweR#! z)5q+rv$73Ud)<%5rNn=_gS~{?&uX#M^=jeXINqk~&N!Ec>3`22E0d|*>9`V1eseii zYR?PyA#YiILC)A@fx=L#wq#Gzbitu0Lee!rGrN{M&Q**M8qR`Y)Cv>3`1P13y6X|< z)Q}Twnug_eU&W`7gk0B28fE>czWu3DCz80wzO}ff_r8_qNXqPi)tGc9$HSc&w}s%t zlMHtZ9T$|0rI|NFhLaFI17N0e=DSdHr)$N#DgLqjQ5P%Kn&x=t77pbPl&0&|gwB_D zsu&Dq_+7jD8gQZ3z&|EyD2d8R&+9f%7X-d*6To5dltxLh!R|`;4mtdW`A)!bNzbz2 zHL9+!D+=fc52m@zYTsyjTkoAs?r=6oesc@1hq@du?$sM`EjkTFzDiqmtwL=%6hrae z8`m6D%51&eCugitLYXOE9&*>sSds?Ko=@ais9Tw*KI`&cp4=OLPa@0bb2&urv&r!_ z&QF!$&n`-Qi4chvrH>tz+jqI8aR-MPi1R{nux50t6Y$X&Sp2UKtXq!Ly$M0lJF{eP ztS;E>EVON0lDwtnj$S?5V)#7WyR4{&_qcx)b)%7Q{WF#V?>Bz2L6-pOI7@n{^xzN@ zo*KBha`|Qn9DLZrf?=l2BYhct$!sieFm}+;wi|9}PmGO^>#yb8{xrP&{0p$ZSdej0~24)`7qU>&q@AZ`+hz&&6$O!aEr#>}l#D$eCcZz~a(VP!iOOxfPnr7yZL z1aOEz?UhSj)+i~q>g|NqnHud)aBsr%?U!s4v}yc3y0B;;s-UObC=YiDyI4Ut!yMul z2kym_9f?g{{p+R)!G|F{a<7v9Oq*|OYWIojmaGBViYZGm*{->L%rRIIo~*}#`g`6f zM|&+ZIlyyZA9 z5`X!u4$Ez^a;E{>3N0=3=;WxmJ|NfiG(~yB_yd300NX<1SKY#n`St_MqQ!zfZXNHh zhkFW>&26eF#&uR1jdB0@%uFhT+w%xKEvg{U-8ohrxGlYg?B-?ARz~@qTe%Xd;xXtc+M$WHlWzFQJ2{od5xY>`QI} z#!9h4sqph@%F;XgW?PgLdwr3ynimoXOV|Z!JLH~^8Csto&h4iqY5dEf`=h@6;T0xR z|7k4xhXg=bkaZNAIu2}3CkLX@cca-%kKX_>uys>^3m zDkxSoM23+eqT~7zS;0a5b@W#i;u&_NE%9~DgVl9PwKr3nS3)G0%e~&A?0ew7TMmpJ zYuKP>x2q?qLHEQw5*9mXYi`;Q8FR7X3e7gp6LY1Mh%;?T7_*~db6;Rd(Fenvp^G;t zZ6F1~$|meFdp}j*^O9->6sWgBHd*ebhT`bBADAPQRQpyTMm7Etp3;u$|Dr;Bz_Bmb zVODRtnwI496^Cz)P2<@-mV!v@RqG9`ycnJyugi{@_lEt2)1-V#eZJpWHI`-*_n^V; zyDcal!&5zHc^Fz=&+R^V^xZb*RXXKaI7=CG^{DWp$KKEpeQW8H#acipqUnW918 zeq(yVYu8$PH1Bp!5u&P4sHU#@?I_tJqe0K-NM@s-G6f6`#-opmQ!g?AEjo^L_hhHo zX=7ebm-l9m)PrCeu!@YE_b05SQDeDBHOjyYn*vL1>(p_B32kbHHxR|rgP&Iy zO}ll`0?XzJdW36$)7YIYZS%@Ko>Gk)gkR4__v}vWo29&?#}t~vSFAP&oT)Z*+>B0h zRX5QVnC`iO)h|wX+y>)qimQPzwL?ux=%DQv;q=f)m^O0agUPpME!RxYM2xz?_%YrM z>Jg3NTZ+NY=2Qm4BYvRM>{1oBbB}h@q~r6sQnd;5dJFEQmfdF5=dyQ4eGGBYJ~_U6 z^M2Pd8zDr5-MZek5#Q==-M6VTzO(gvZ`Mo_o`8!YJABL9+feRX;3vyej?=>0o5vwlNFPRR>j{KOkm@CPqN7klP@&16#&_X~F5mGO9!l=SYvuW|#53Ra zfzVev9&ND~gwoqXqd_Iw?n-9LwAn4xm^UJ)->zyt<8v=z6sH?WU?Js|q)vpFw0YG= zsg7NGUoULw>%AdKC$dK2MO?P6$HEY9@T)UehT%6YFf{o{CMDQ8>8caBIYW(tj^=FP zdtGgBxg}z$A)QsMu!nD2B6?ZcJZ>>GHKT?Gbzy3-I-YHBv*!Jx{Q!?yz=w-_tbe&E zZZi#|0FUs#`*Mbq?gM_t>#8{*b5$L`S&Q?S#J%tlc${R>9+ zEY_W>wW!FI5YCu|hQW_@@cXd1=qJ zdj%6@vEB&3n*Nf<={NWb2u=CHoXQxj{TX+KC zMr|JXem}>U8vS?ac@z9PkxOZq4;-WnVu>Gv0*kz@o3v+MZkS7eI z&v5L2atWc5h&LJ(s>QiZ02PXu2!>v6mFN*p^7^_heA$8PD!XzlSEji8@)&)Do@Chj zL?5&`=Q=I9!t4oWNcu<@7Iz$D7WjeyR_`11Xjmv(Dy zHVWHnSexecr%Ng!-X_2nGL(I5Adq0kIXu3E33*l9= zYt7q0sr-}jyC%=Is{tCK{M@}-joR1gi*Fsd2l$eTngXuG8r_%-a}avDl@1CDCN( zT+^XbCfLdP6{ngC62f4n-$vEY&UubPjWz3r0D^Vd9Dii{wO(%3cWhY0-I@JXUPZqb zH_ut4)be?omsfJq?r3Y)HKoL?(Sa_f{pwzBOE_bO@>Xz*dkp&^>oUhXhaUvAVqSDZ zS(kWPJWWQ*o7Fm;DR#@SrJ$ADF}3dnw96*Zn_%k;p+nK!m<((#I<%;)UF=C_3XVGT z*f*~qcHzu=z*+9t)03Lz7u1&&?$U^4b7SbA(~hOsS>YCWMLf(;eEcu z01-v8ZKXAB*$Pu}_|93izi}I{zt#3TyOyK!pHWq7yV<~UP>;LQvCQ4UiD@`~G%1Y1 zmt%F1o}u#LQf9~JNxshAWkzY5>wWpbOBe~Pmt*-g)4BIyruHW?nIbh-^yVB6t zkEioX1Yv3@;7bLQpTT%#{JUXNY?s4BYtgg$J2sUPzE(YS`Rn59p#0HR)?g-ayXI2T zU4i9iU11C}pnPxEuGeNbc_|ox+YvZT%3vF$Z?SV1AVx z9KFyJONIb<;ZcS5A^HsE^;}hbJ_9!bx33{aL39BiE!XUK@F5?!NpIZFSCRIgZ^_`S zhif5;?H%@AdR8riz?r^!z zA2UWlVAAFl${`8vD>l$0d2Hb}2fA~=-EO-M5jC$(%OR~+y(8T(lOD@G32!80sHu5A zaWbGdBTnr0a}h&$xj#GAU4OCIUKvgBTo-n305_eUMQK0ePtT|yN|fFKQR*?*kgomm zc7$OYXDQ=M&N7;*$23CncF2mY&~*+C#)ltEBx9(3h8uuwnz0+VaGNeJ1Nl~y(!FT)2RGgMs@QcN_k2Cza0kI`tepoBMFbOa3muu^V`o`f z_thP&NU6b~loNnwml1XMgPOf-OePPS^hb}{)&)qYNou3}@{DxU^~9twRXdk%Pax(H*VJJO(3PsIQr=ZDT%^vPS1g59`}_v^X32T{fR7Ky;)#HFCMGMzZ%!j$+R;2{_yLC;J>NM-&bq~dKUfGrl-nyU^ z!W5f|QlX9X9CyF#t&X41EJ}ZE$Ep#2Vw@W|jpYq~^jr#ugz+Ry@J!Q{=nizdd++43 z*_UMCeoOR{`tai-Y$Q{(iD4_mo(E_ch$6)H-a4*iU#Be^v0va0_bpjuTk$6Tc{%RjWe<2ptQV?v2mjmt0M{CbFc``u@ntO zKD4$hs*D7RT?b{$J+5@0^blp?*1XF8!^;~5aRS@{nn;E*D}2}N5_6uBS>F9ErsWW} zxGXKWRy-#R{DX1$W#3?#>;;Cl8Tnwg>0w#5c?ZEXGM_65?6YMercb65U_Kcj>*9_bACk$OOoJF6;bxa6$ z`}%yaq&qOL6ub)<%WYom$KAY2^zdI3j8T8g#O#tN)Woy55NU`vr@Vl3{bWwDWq+QC z_v@(pDghOK9kJsZ6rfbmuw&(lr(>rT1b~@h3^1l}LsJi?6pay@ozJV|NwtZy5q)ni zZJ(?3-8VBQe-d#Dgj*el9Mol->Z?9(5@jF<;8a7I)qO6;L$-KYq@W-+SuxJ?Rxrfr z+rkUxEEw{vaa;^u?6ZramkN@O6@xE9ePjkt2hdmx5y;c>#3=odQQCx9DJ7I>-xNpf zd^v`%u^!yrWMH)&24mT^@dXu^q4|GFnkvLswPbE)L{#_al)a`JsMsa2Nvy)z*eNca zVRK}57F@QIU1NP0+X^dv7usMtv*HG!J6WV1%pbmS3G*f#s!&b877__-Ql6<^U|B=;6C`~PPjvjm@~|YQlO~dNY(jpv z7ESSj|Ma4oR(6&4O~l=@xA@z%_};Zkrg-#1Xta-DP~R#-E+Q^{1kQM2?urN4clzgX zUi~n+zIhr}S##O^+YS|qcku6)LYFnMmqc6N4u4@PUhygjY$jqI4lBTulEnk*(j-;Q zyu!k~f5IYM%A4(kU}J*MyW%uLK7ha4ZQ!+|kh=!R`idnblzU6etk_MeyEG`rDvo<@ zQ@2?%cIzL5Wq<+BMH5g9ifGYvpm5^swB=?JBzFT<6*m#Y3 zhcy=4ypci@N5p6}B*Q$uHTTke*)*XkAaL65kge;3-04c^DFs~RNGM^#!QhWS{@C$L zRjnVL?21;Fnc!RuDBg;u#RX&B4%aFv>K9q`aG!<;*-^Rrgf(svfq&l6=dHbYjp{I? zb)@0UvNNuwVS{2s^31e)WL5uYVcY(Zgq%RNo}}H`vH;>Hu9OkKd=2}jzFuE}Jul?w z`j*_vG6~sqJFVQIryR#0yESt5_;p){9PXmCd_q#Xdz5QvFIct@+r^rrK@NUhq% zO#MzaCY#(B9Y&m0?9%VvKaG}_pv~aY{D4C0(!AQ7p&s};jq8a#A@Yd2jr7UraaCpK z1IkoTJhkTIA8$W`G#}P{RdW>YXY`R%oYYB) z&Tyg0jL%iO4lw5KTamD10y_*MD0igk&&2LkzsM}RSlAw}RPN72{1wG^36YD}C~4|8 zN#CPPwOk?hkYrv;k!e8I_DM!LhQ(f+Hw<5uPwB(DuL_P%*mRv7OCYAEspR8tX%k%n zyV+!=p~hA+{6a|9Us_^e>9YB3Cbm=3gPY3`czVL`Lb8$)Sco-igC{Fx%{v4OcFkA9 z-i(w)NE~pe4-MR^^|qHs?BcrJ-ro1ej@3*~bl2M#s;u*#nUfPvukTqnFB}+ zk23Ee9s0Pf^b{hu>;2u8&5U*xzSWO18)G0l^uBWQj8ZiK7WVq7=WdJcyju!$UW7&o z5RUa3WL&%vS`2uiPA>v?6r5~m-OiGs9ytN(Vnq$FX}osLXo0Gxy(-Q(YjBaflf}aX z{dxSnS%W2qi>dsbbL!}=wAmZxXd(4Nn`T>~J)&i$LZ!Cbeio2c^kZ)Gj3xefs9!y) z8*Ex9G~B%Hyw&SsBR*VeS7$<3O{lnU-V++Dx&xsYgL*3FIzd}U%CFbR7~<|OqI(ZP zmkA@?xO$=CoAO28bWn;R^C?eDePicnT)mJZ3?NjMiyK^P3-bT0OQ>Q@27PhO#zQj| zY?i2oZ0dpK@!RTkY?RA+!kN?yb$yO>wH1Zl6%uUr-kRxA-qx0mnF<1Brj zmKP2$kyRAYD{O(tyW%d`aMb%c^pnF*0LCQO=@vHPtb!Bjld`*=z2#Sa2?xwyNUstd zQ=r6iej*#vOs#)DVxLF8d4PADo-Kb|q%l3Ic)dO@wY7X6uTx|@ny64`UCPBnEam0d z&K2F6{U>O?M%15Ii41swRBW>z{KaY*+3{@>+KJDR_~+SJ6H@Ps6>^)3*RE5^Uy$U; zE7uL_-jz_W=C+)SVnqp75%L@v+g%kZ=DKhDWqf&YV`XUM|LARrjAjoaho0o3V^G*T z@#OY6bu@oVukNi3h?|R&MsKKHweh0+_Ujfx0A{4u;N95Tusf3u{D@545QZx$ z(htSeQJZX>RCu?USk{#a;VU%JWOTZ6)kYTgc$2}%%e>$X#nP0)1iu2EyKiiG;lLsm z4V%KxFB5t4$k})Z7)bIcR(@g5#6H@1R_f6Z|D|%fF&$hOs}(wVja~(o^^7j^X&NzL z@q}=XO4D{HCa@oqtsT^myj!B(o!gHEE2nNX_wx7x^qI%;K+*F7_cjj1Hbq{k-iH@U z?x7B+GaG={f&+?Y!`~#3DchgHdQz?L~=zWqVDG zx^1!g3SZRpQ?Znf*W(!Chuuf8at&V#2gNoHxln2*&&v_}W2sHJ8CTqt20pn%*|I{I z-x!+&lI*+%U$^^nvUe8`jjUMIi4LPw{T6bW(up>%nesaSBzx%5qJiwMNKD_>uBM&2 z&ljp(PL~sAC7-O#wwI}K|I93lv&Y*y9@3!K&}E|uli{J{Jt_iN3AN-%NzP`LY|it= z=jAr-J%dymr#zrZVL?jsb(&@O^49rK=%!6Q@j*+qBO-m?w>dX|B>K2+Oz7spemAj? zgHSodmwTb)s3}W|-(*i>sv2K|Wg$DNNDWu7#&cN}!;x&4O0sBP`ipA=^@5 z4Gw0{Po7rwOjYP>z7yx#%DBYemu$7-d)hxXJtKfsF&)n_CCl?buk5R; zOF?iM0OY~mCqq6ANosg2(-m?L-0{9)*0igOVJI&NrS##DjjI{KTH7;CS-uW>PXD59 zcE5~fUvR9@b(6U{r;-!Ab6G2oQXP2{mzW7y9ogV6AE=0m6bjdW63T$zhLn$L~ zzj!^g-tO2M|96bUw?<&Wm^`J8z-Fx1MbTvUIdCSgV7`v_QxlqDre_qyC*a*Fn8C$l zUUaEJ>c>P$#i-EBA|rX)kBfXV@LjS_3h{85@WZ*%3E=4M2=2vWq?1 z`x7HvCb1mEZUL&bbZ3Io&@?od42)0$rHz)3d%c6Lo}p>>=1Kgt`jZvVZTSpU#Vlpu9fSjiT}LRUjVjW${A<$lLYn;1$S)$laLtz3g@?5-cmU|qTfCXYFhmKfc6DPwe3K+vWt#aG$Z2hU<78F~hK@ zwi5G9a$1mc9e!qLy}k$GA85pjf|VahN^yX*;tw-^pO%YSB37hF3imAE!Lb0Asz!&P z^3RugCf-*?4RR&_8jv>e0Yh&KtaSQ? zW@3>GwDq1G@8n_Q|C9TPULw}~qRpsu|F?)^P5gm*5u;HQ#o9+ov7crsSI1QVO-j$x zo1Y{1>G!awZ$+O(k@^$p{?3{2MI~~a{`S5MLG4$?jar&OMZnz38KlwXbifz=4`uo4 z!v|dA=Spv1DgWyj97)5r%T3AJ8Ex`Zr?A1u#`l60zp41=Z+`V~)#Ln`;P1RFiM--! zhuo&g5(QI)xXWoMxMInT+-IFqK|U!7%~0}Qn~elD5g-^cwUkLei3atIq7 z#;GOvO9206XMZ2|f_PG=Zd2}G^ZHA&vT^`Qm0>yM6y^Ut;wd(uRB1J}9{t~n8V+$l z7W3be{cFwsyNv%@ihp+Pe+}ec>Ik{MSJKYasu1#DAmCA0GjrbN>x7f0yDu1^B

15W!zUyr7_FB6otUF|R?t*P6Gj@aQa4tj786?`2Nx$|i_ z>Lu!Soz=s$Yrj3~ut!Adn~-HmyJc!zk1_g09glJX)FuS|Q7?vqK<-GLh`ENn+lML$(g%z8+IWyn5@d9SA z)lW255VCqN0h?E*729gyFduHp@~qu;RYjo}QGA<;a+S}Z&+5knPvjb|51OmnJtFqE zgwGp8?3KLibkBwiMVLJ~NdD%-5g{MYqHq^Mhk;~4eWczcJ#(X>BJiW=(03YoTu&}K z9$^MiM)793jr#!%o4S^1+`PRz)ek0r>2lex>2SND0f)8MhJ-srVP{_zg&SWt`nw_z zR%igK+J{Je_MqzpKmv>z{n$m7{9mGL$+tkJhxKdg1vTiRn=Hg(cG>PVYGg|%q!dvoj^6#+HiEN-5%W0!)toRak-PhtCQ*9T8{79GT&QsBzy*fpAZ z%nj+Q3-pfOo`cEYyY2Ael|&JwzH5~b8|Gp!)IGIxoQ(N z^gTBYn`T>?Z;lh%(HTlA#5`_y4GaW$m<6H*kKgjHe-^hIxLn0+PaN4VBXKZiM3EEI zvwCbbF$re2hwx?O$M$ZY<$r5iNuWYgC%Q=Vgvf6BHKmY*&o-tBA+!aWl@E{nDL~Xv zhi$2)%`hIu5)s+A9Hp);k#?XGtExK)hDukGLYt}08wCGZO&`w-?-o=!ao_B0!eGm2 zdUlGZ^?&cvTSI0*9PXSH>x7uw%V2OhsItmEF-O4)akZS76w#@*J$4p=z@GMa#A>u( zO*_v1fi-@+N73g9{8|q}H@^^g6+Ha-5_StXp->xD=8mLXkfB0QN@~wwNoto=g z_ig9Y;!bBUg)a;@vja_@u(UXMoTPwLo?e(~k9;x~-4<-QxDWNbAh{gOysG=^ z6k7}S?Ly(<)EFyG>oKy(6Ma4)$?&0A{aqDpH{LI;8}T|_<$kc@2o?pj1Z}HApbRQD z2QBf&MWTC^T7Qw|fkYdv#a}s`jPN{G{|=y2G}ZjCFIR@la^uv)I-8bz1#$GEBt#S| zTO8O2u={Ug@stJ!?HPXM#BC+!%6dl8ImZv@4JR7=i)7jDXcL0k8LtZMA-+2MczQG^ z=Z(PGs;8BC;mzRNGPh*+IbiLSu7&KETPk`9t*89Xt0wJR8#a@ztL&ej8#fJm?Uv5g z3EDS7@(!;7X?J{$8Mu9ZfZ6TpR^f2jr0|UPejf>3B?a)Di|Zf9Bm}``4M3v;@W!q5 zp*FS)8PC&kscLtendBDl!rdv)yu7;S>5g!$HqTu^quKmxPC#%oxWOn4=N7{%1w~Qj zPZif23+#Jx9Q0Sc0R3^N+B~TZpqlxeCqKk7r@MZv=$a*&BFIkn_P)Toy8%P+#Z}j_i@{_=5f}_EUpcmaQ~*{rFxVFWNg<=0+;n zYv$&?7}qx^Myt@*JK7Q1DW`oEF2tjPC&Lbq+=O27S|(GpllqnorWHM?m&U$Fej58w zWx*C|4}t5+&B<8C*EIdX@bIBwdtpbH7SLIBMsUW>I?c+QdB#Wv1`t53<7r}51fVU> zn#P}~H-iSq@M9%dU`!yWSvwFsMh+fH#nO6S_OSRpy9f`kFYv+nJ zs4S+*rPzAh(M`FkE;m!gF3+YZb}Bfw-HrW`a0`4*8s8P&*t%LTvmFr))KipqPl(#aU(p!-tWRDHMK_{dnu{rfCIx=B@O#i6&R|Z@=BPZ%SJ_A zvh@*jCvKaJQrUdT`PqW6J%gRPb9IzlAv=s86d`5`&lj|7GA&dY(@ zd{}DlTl`IMJ9WH5?zZR$WHVh+@aRp8%eu})0768F7Y?I8exzJ*O@>1kD${OX#V(<1 z{ONie(KtI@-tCsio#%`{fH&FFd?SX4eub(vjw^b08YNzCw2DbZD`*rgb~K>|OI{I! zoyUac!sJJA>MSo`3{XVYgKyb)-nUy4tT(;hMM6`J-B4B%Gp75Bw}ZHq<@Cs!4Tt#l z?K3dyfudf-gxnFySfwf7dBNf@o=49Mbv-xYRz6ZjSt!{tHf?7m85{wXXvYOsC;n4rtDM1eNH75Eh@6Cv%*580%7{R{qF~M&I!^ z#A;Mt(*<%NQEDnDiLWI-lkFOJq)?2&x(~!Q-tL5PH{+R0PD4x_xtN1b2@^G&I|4@8 zx^PvEWR#aj03rCQl(#4&BV!L4snJ;CXBvrMCjf9|uEl zB6Hn+Bo7QosyR7;ybHTgIE05h?D7TyshoAvtL0$j3T>lbFVVsCa{$fjE#!=;VXR+t0yMpt==T{` z=Fyvc4wBbd{t|20-^MTe0hz|@#!g566~K_K^KO3eH~}F?&0YUSQ5;`G312h852)GUfY9T zU8fsiojBC*yjfh$4lBw$+5M;R^`5G?AF1EP3i41XzCja7 ztOVig%WH|*0R>CxU0GopA9EgW`>pQ0_V5xsT5wVnUT~C;nwm3ucvOu-X6pM!m|spm z^bLR7W70xw$_(zC7ZRSkI$-S+=^l54U~in|;)~wZW^Axx>Y8tld&uiBS~=(MQu10c zGbx-*i{(p=RTCyH|D+wtSW2DaNUo`0*~I2X43tS0&fD*9ZGHLPY#ArxfO5iqcnIC`B3L&;>h0WB` zDkZ*=4e`JN6IPC681UQb&dP0nT*2o?n~e(WK(~%jhdl~@9C=PVygxbwcpzK>&BT|Q z%-`0BcxFrplde9~x33<#2uN>ezVUo2(7wn*PwW}8aQViFO3?RUb=yr_-?1G9m#yq| zJ+Nx8Cnv{X60=WYku0~;=wvi?UTXFm&H4Wrx7VPl619cDxJ>&cbkWPxR_Ru+4(JD1 zyA)Mprv|u**95+tPo6ErOA?`&JMx(xVJd}&-zPg~{44O!Ouk0U?ea3j~ zcy`^q%|B<)kK9-m;pJb227X&|+U3G~;18m}Ay&RhOU5o|xf1a2k#L!sw@OBvEX<0D zJExSnpedN1>FmJyQGSXLqH|j-p=VNPkL5YqWU~S&nVY3jU79Q!q@=eD z`b;iu2k~W5Vp$^&Bb#$bCZ@(@<<41m2^ZIhJr6S6LQK58<`hi$>KMw6wi2#l6s%|iBqzBw0iU)%BEzqx-YR+tXaFdq1=(f!z~9u2 zng(8_px>aMhviJV0~%a3XCHnxdFt|?n|_dHvUU=-Q6JxEcnN>*7t07`rHO1T8NME8 zyT3i5_^Ch&#*ELt6TUWN_g*s+H}4H==_3#(3I_bAc`{;}7=JEMZl)wEQ{;_g7JPFK zcjg|Bv6Pd%!&_%d7OXai&DjW632@0YT!lkg3DWjBZ$I`r(I-+W1_V&bJ6A(wyGyJ~ zu40_>F)%46^`kD23Elj(mMG#*J!PWvuLTWwbr`je8Nv=lM;{r;$M$`=Ae(Wo zlXs#>zMq7qR(4YK$JYmnTS9TXFzTq9+%2!AXh)dW5^o5Zy55kp;!ryo^X0|WCzF^# z$DfxY)t~ZiZXHNxt&im%mwwIeHy6gd%^^3Ku_UIgbGS&M=e^L2#koz>g!F85U*cvt z^ed`Lzu4zBRA_(Z8Pz&TLHbV$Q*uwZAWbA}DX`;etgH}6w zpklFi?7P|HMF@`J{8IV9Y-;eW9Q3jBTbRzMseXbvzeO4&M``Km=+?LXtp`25KxLrU z%%w_MN&4NBW>OSr!Ev7%g;lH0xCdC~D|h;<1X|Mb-bFCD8f|o*PN^Nk((LKM3km@n zMoq^W!s!aL-hcbN{SQ!w!M;l3QBNKcmm1L%-D&5BE7RkU2<%meGxgtNM-yLi=082# z`y5ZpD@9W06zH9w9mQ#pow@f`BgcquNGsN8ma9ZxWy@QW@+n2NdQ|r)G%K7rnGV^6 zVC7}QSEc+!Lae*qC0$^z&wWxP*cvLr(_~F`8l zyi)k3Ls^C;A$$O|-G5e4d<{v*x%@_@Rwj#u|FA(;?l8LNK*%sPawb*KU_&yN%1OjIlfh7a}&S zimboS0!aVzzRZ#)aT4s%{j~OFVL%|V`HmJ@Uull#%=@3NPpLJUtRAWs^E=vWjQ+kv zmW|-&YqXjXuGl4cZO3utQ}EtaaSfNWz3=%EC#KU+)S<@wQ~|~@bRi|HwE$>g-si!s z{GrBMvibuPJnk|rQ#UCOJGd!j25ctV;q(+kCR^7RHcbLn3~D`_w_c;3JBi6Si&fD2 z6!q2`k8_UT+&oV@Mu_SUl7&wQ;4$LjdW(^X^k0&RfsB92mNK6*L&nQiP~j18T$R*2 zOWHh2*#5C7WkQ_s1cb^`J7wR*Dq;+Xv#K+kqc=Xg0MJkzbTua`#MrNf z6bVuIjgmu7j5|hhdib?D(BJrS*(^IWQD`li3XL+#lJe^sLs^4y-LM_HGXQd$J)QO; zMlWIZ2$~+Rh{4Oeey5DW~(XYFv`2XQ^@-SC2;O%N)fn5>zeqqof40`cnu;IG7lR zR2ey`NM+L<0m-gt{Uby^&h1EZv8rqK70_Z23V9ARr5jnv?tc##XsM49I{P_KzN!Z_ zl3KN|VL0ZgQh1i<3JVzX;*bG-73V3!25fSRQO6`WlfV9H>;1GnTQvgKqqrzn3xF`60$mxCYz!1XKgy0>Je^vUp>}(Uj9%@PZt&ZBa=cA$#Ion znTG>oS)zpwz{QylojQI9A)+(~LbA=~-q&7YhE7gZC6{C~@g~PTHvqyjAKGG9A#P;N zas%A{Y*puxd+V-VE!Z*CXRRI4bSw~4IFV~}MT{mASt!zD0@++HZVkH?z*;Igk=c?z zfpPU_`5*cVq*1EheoHNE2LlN$JBXcj8~?~$8#n$zg?SFUTTOD05MYo!Cpagn19Y4gNw~NR@~$F!&!GUu81B2l8wCd)A6wu#1x!!rehEw|R48?_JdY2(hqQV3D!Qxe z5oV1VyDD3z$z;%plTMFw3flhqg>CY`tfqvv5%yBRGAaD|K2D-Eb!UTT9g2@ zs!|P_qRDAD8Qej&7+2IGJ=c{WI2_XTOm8QG87WNa7SnfIJSpatknjLdkJZ{~4yW+2 z>;de-NLL8Vp@IF95$DnOJB0C)r>{Dfoqtyb*KY@3{{Yo?jzl#vO82lJE$P zIYTOFGmWMcW_0XZZKzV|a3k;~=qAY?4}Jwedy!NS{8C<^yrfJ_>dQDw9@Te@19_gM zSUMr?5pX{Fn672ZbcXw~r}L(?Gs#vxz~Y3wdug0L$u#qlu~c>q7RFF!QS_z@4bhJ_ zpy9kmdfc^?NSL-j_;NteER1`zuMY!dc7nW<1z{sp1=UnHf7(ApFDlz3U8Sshlx1xG z;bY>@TBfjk`+(fz^s}bi9W*A$l=TX5_vHLzl zM+~vr`c5Rcf!}*-%Iq`}2w?&RdVWGQe<->Qct*7!g-6giSk za+yGDcdBBLCS_Oa;8`%jBolt)@YvRff$DerSo*{Uj@FRti9%)>tq!%vlHdD@JUhXX z9OlJK>w$$V6=t!?$};@u-)D;R;-}Cbr=ibR0w71uQQm)LQT_vzzi{FP7&ufJ z|G75NXvBM3lTV`}cGs?XA6J`+Pk0Lf^Dk-5Is>T4@OM|)9RIRBIIlmLPR{B&kJy9_ zQiL;N&uE%NR*drR@^a;(H1z(%q2WJAV16#}3dxB5?@a&AnPP8ed{9-pGT(~(JLKP! z-2-E&K+0mGg7r%Lf2p=!`or&2w~RE6fB1p_9GdkNP{~C|zfMH|ACimvb6n8?`2fgG zpYES){)55&K5IuJ0Qs=}zfTk`3O?tV`}fBE$AnG902iHz6EyH27xwpUCJ4CW|GmKf z-ogLFZvJbc|3B|Rmi;@G^4NcE_SR<}K%L)JJtmx@SMw|2NeIAkmDi)7GyTgeXy3!X z2oa$)2_0m27k&5q!3=u^Y(^)v2Un-$tT`nOz)u8I9eW9CGl3Q&TTNg<>-M3ajX*Nh z#Wkz@RiYJOhl7D`hq8!;(-&K`9;b0XP+JN*Gs=O9#$Vs0Ne#~Hqq8SuKWq2Z`ZhS6_p?HBz)a*x3oUwK3_dt zECC8mQ>ywY-f#ubGg$2uy8FkQPc-TH3tkK4kl+mFK#BY-_4R53e;~uV^dog1W=k@r zT&A?Uuh|`dgwz~#gugK6d*J+AZsKLZcD(#qfx(=@!c8ZFvC>2JSwTyyabO8a2bQyS(74Oaz`sY5XLkj=Lq#iGc9lt;0 z!oA+FH_-fD_w@Oi1G0kyA9({xf6D@U7r3JESv9;w9=O zED(4~l;GJ<6D=$EpGKh-fWk)c?Vx<#pZ#mde~+-KmPMqJc<)uNK=L!}o)>xT+>1Q! z38a|@&wFS`|4L=tEy(Oc5+#-Z0^8cXaAfu1jSY>^?UGpDVRlW7Nav#&5z!2So4CSep#vTK*`Z4nFjMh zr}tDhH2(Y#(=%pU4_sFgfPVUp9SE!(_3!Z^8|3j5is+ zxpky{!%7Uf3NeVG)wKQfym0P;Xtl`^e?9Olt`7Hi4D6)$Jz}iQK-}e|^WNml0FWAT zdY*VKv!n_jOXo_{k)_!O$XDxz?W}Ms1v+J?AD?urOKX$AACRLCGe0Co^SfCi8;cE0 z%vYS>K?O84bETeNlTPk$m1uTJ(@v3m9MMtBpC>fjM^;wahpookjOsNQ+5aq!6(CV+l3i$R|5d;*vnp*H8O=8q&}a zzUqS=21z!i%l%vzUH<~X9}s2kEe=&(UH1QJ@4UmQ{@=%62_YI}9J7#PW$z@i_s%GL zOS0FoLS$x-9J?dlC?lin9kPxnGi0Y@W`w@aL-qOmzMtRq`|J0|_j_Hh|8Sk_;6C@h zANT!w+PvY`BY|P!mr8BEJO@g}2kLRHvwu3`*fA^LBT`h{LzWLBUGtw~x-WQVaxuh_6F_d%ya@=RQAj zzm53JV}LN~`k3{V6j0_$tZZSxQXQ7mOCh~3etQ?KCLzAU|Dt2|){fLP;8kk#9a_#> zVTqUc`?5j7y@w!fB+s$8U#Ws?uIWF%Y>|B5{XH4q`aM4-oRuEFzVpdO-nK{DsI`DG z!^w@LwGxjy``$g?3t1L{)Wi!`k9p_QU3%Zs*kMV;={K)@9m-8yq6gkvc*&IX5k-9m z+=5U!%|Bi*L?k47*p_L!F0kiL` zco0;!_@aJp6aCGD%B}3P@2+l^^!siuzx9YlW3nXeRkEx7^F;2h7S&ibtr^EG*UPFUuJf*0=$UC2N_=;K{G`c`czs&rs4co{L_HWK3K zyJAS(MND=9QLEKPh#UnxkIys+ayH&-vOkuzH`mn?sr3R(+8P(-6TpEk7Q;(dk=~?z zZL6TvqKX!t2?ODU5LQGo=!K57p!MAv&|i2#jW!=t%a6m;CY$MIkL<({u%!17Iuhi% zrT4K5%`Eyv{ye5k7@``wCv$?ay(2K=NMKC5!9R|6Zv2C~JV>m^k}mAOv}+{qB(~eL zxiYE#*WsehlF#8b}l87KhDmUkT{%x1TtnD))VuU?#_=ns%&718> zqD?g~#~Vj4;>x9Jw(bPG4&sHy`P~6m1-msTG-{gGYhAX=M)7Q6C!52k3COUt-gW-e z!N531wzID*O|&iJRRou8mOnGS9lc6MywrIq_Y#(kbdb(`LWatT9OV-~OLU=#?{$4A z(eN1xV}#S{8oA+vOM;(Ff-V-zQbt)MtPE+XeGqkvJe!l!*v#ZuqBx7kES>OX#7OJ` zXo!8@iWQD)ktatc3D*TYp$FuJtO<9n+@kbl7Np;IHS^~O1F;qc_)>Qwqu~dekIiQH zS6;oMZU08zQ34N@XG9XrT&*9He6afXvb#y7^HqbHXL3cXl&Rrp2e_6j2SMnyaOW4w z61z2Mn?4_dI3_$75{TSbhIw|IE2btmd=+YFdSVAeWbqjS<-h@bxhMyAx zb9mE>CTPhqfL7b>c!pLt*2^;Ygn>|$ELs# z_Jlv~(ndL8W2|k%x`?B-P+y<7JCP+w!+S&t+@=}n_vCe1a^~>%+NuaGn_Sc3uDz_? z+92}T*0xO2R~+@r=Q9SW|GKpnc!3`-B;4zAPAh?4!@G1meB?Ch4VTzuT873XEk<%Os8LJSJ7Tb8%&F-o975*)cw|S~XQ~`PN4MOD2P= z{(G^;2q%=G=q@}W$5O#N+E+B4zc7b;L6A%Dw#juwVS zd^9IRA@ zZv|mybZ2w9{Bj zp;*sMj*&Q1u-7EnU^s7j=2rccCs&o@!M(A=@&;AKD`eyvJkp~!dX=OJ%&f^)rXrcW z$-RaRWcmwf6aJJP;V&fy_CvM?O=5JlKMclT64d_Ig^-ZR)P?Tqp+<0{VV)|rUX>@=EP#+6Gb%SW~TBs&DU7Q?F&QsC`n3bUuV z`NijP*)7G-4ndyuzv1q{9D>E5TpSHiIb{}8RrV<9Tl>Nh%D8=But32u+^odjj!sdS zjBrU{iDra9!&Tx9USnY(2~RGZUvn_}!6<{mE43XB18|o)vw$|7FcxudVxQV%S(;2V zQrK*Dh$?3Kxr4d4aI#}?(~Vx{c|>8+^bV7PT`4IRo{`XEn>lyyEx$>u+rxhTBwycm z`z>{7Rwcb&6Yt)z2g^f3sMrN@-ybvU4*>u*V$0FtJ}2<)V16nvs8;P=F{5p@JICOo zpl^VD##c~k7)jFMQcvR30jE=Adg9vOT|G>i_OQR#AcCxCK~Sp~&HjAaL@`QSAeDYT zfA#XHFi-D+3r}ICWW#pb%5lrlq!QbQEIY7;o9Hyrqw;!II)eFVsd6`46`6$7#<7Jp z59uvh0joSX=58+e?k~*OV#ySe$B%KiRtoZ>O1C`U_6=R8c|6aYS@KZK9RM`lJ+I6& z!t$THe#K0E^O%GM>+sL`p6jdY(2y6Ji{Zti=j6_gO+ksL-K0o8N)QX@9+dQ2=yrc5 zde_3cJDT0tznWgFK1C{6g8Hm=+&4br$X+7Ci_1EGH$2FzJN&US;p#wO(J`5NHJ>6j zm&XhGJp}y=fjKJ{neQnV%Xn9CRkKUax58rgFRq*=DGKEgctJ(E+?+KPFMPOJ)_tS< zp`;-*IEL6RUu^c}B6FV)%_ts^!=IuE38pHG(l6h8pcQ{rAz z=D(zp?8N-mm7wkVfRH%ZY}gp(xi+PSxT>VvfrC-p%bf|xPo|EQtwuuYuB6v9jbRS6 z*Fnd?c>b&a2FILoNxA#HC1I2vF5^)*ce_+;LI65mkfm@_9vtWb!X`p_~F+Q zl6MtB@oBlQs+#dLYg>SRsv;QxAI}@67%=F1c9r)O^P9qej}WO*$?aRnUR*fUpsL5$ zUmDXa#^~G7K5OY1aggyPl#xw1B|IdiSnp_@#qV9JYGVD)^=t=qcM-~l<92{DcF6%J ziFVV&mWBt`vL;N zv(B7z&Cc&qOws+;sg|xcb^&kK(o5pvIgGe&WGqtDK~zOenA&5{ZK~4p|skNGt_Q$ezZ^VN0U8@P_MnM(RKE&{`XQEgMr?P7kQb-cMGa*!WwZ z)18SdMs2g5c#QY!dYZ7q^s;vKEyW|?H!KLFYg5^Yd;MfX73}IaBcIwf5Jn^JMH=y7 zs^j|=)b5^s-+^A*H|kyZoUQl%l?_@6A@ju2PLpQI%p0fv?x4o&YnYF0C7)OqZfbD@ z%qL@v!L8(D9m}5Zob>&L3lYR!B$=Y1_IK8;@*-CiTdi0di1Dk)e=uKj!N7QPUByR) zM66-YV+3e+23yxfoP|^p1D4Q~tdi#9#OQ_XJuK%x|6#dOBsc8}sW} zE1qWbo*>L+wrydEExhfD;xF#8~xK;Io;@)wGZqQ z@t1kRqiNkgWs?VQ%=z|5kli=7E~W`ZPF zIw_*oGZxBC`_$!QAuyPg=O^k$5AiD@w|MQiWYf-h6oixrBrKBtw)|HYi=27syI7L1?=yqu(y? zoR7FT1$Ic(m81&4z{`3+KI9G*+x=|v^y_YNZ>eJv60EGenda_u<Pva@8-MMgA6eVx5D`;l)MX!^{o*rDfpN>oS#W;0}v@6q= zO~ZySZ}kZl7*e5f2y$H}!nuKDs?-q;*~In{LA#rQIqNawi}jgX*H>&=LNBF1JiKlK z(6(+ZS$)uio_$!^`k;{M~(re$$Z0?+FxkQ ztTH0*Dq;6ZBB!G_`ng>dLllSCsOp-VMrHpgWlp7((IG{f+A?oBQDmOZCr=vE8P&Z; z4J(+nADvsQ+YOZcV5Ksy(uc9JL{hJA_Uu9XcOQHPw%y3)RkBwnm*f%dC%Ax4kn#Ch%&9>lz|<`>_X`s`Tua)5C;ILUwIrBcLMSZ5JoS(MZD7TH(H;B->Uz0h!JuaY2|hj>+;Z14mxSu zf`wC2DhEwEECuul6nkZs##AyUB;RA@=u%lZY=W^oiBaFm3*~lr`3c^7ooA$M+HoeqxAX+uUyCO>*6^J@@PhV1KRRX~yOiQqsPQN(*d|#J_K3rL zRGIShXRu`444|aD_NNAT7G9+mZRPNFPq>e9w!W}`9>Tg$smQz$k@HmcqSP!Ld835~ zmI)ee*1I4K4wVPVmtbVbjS=gw0T~=hf3y}Vz>Gf!>lSR6Nqb4Uw3VUCI5Wg3%fU+8 zTuG>g++Pco7#|$W0+D8u&(;u?s?LJlK{m*LqDtidA(-SsG~Qi9hc{OF??iQ7eQDiA z22)$W;ufcU#U}hk$0P7qYH} z;anuBnR#5gT@nRO^-a@V@nsL4a(=IqqcyThAnl?)(qrvk&o}SdU-wdq@?_N|ca^7F zZ}P{dAJ=U@2Uk+dxe446dzyP0rH&D3g_o(GB|g+`US`Ipd34)K=9z(S>zZqk{zMR- z{#FiM-&|EnRNUQ-FdeD#Ui#t7c@c;~by#Kp^slch5~*$#DRMN_c6mWt+A;*@bPC}PhdGhE}oL$%1z7RG@j6BY5w=1~iRMX>TX`zG$OcC@Ie1;Cm5~!;e zS;#3PDF-}PSZ;-1;`14lm4m$?VszizD_9+j%eW)bXxzgx3`2?zE^S+4_#7!BV1sgW zro%CJISf26oM4dfyEgWNg>0Ki<*Cl`V(jI4F?{?gg6HzxG#fnfD&oW7FwI%EK zu9vS`*yNUJ&|Bf2ug+^;c#>#5sJHdg^%)}B%>lH`izf3oW z)I!V9tIroKggUH+4mj*bJfQAJd4G+SD_csb$o9N|ez;U6E^q@=_)s6FdW>asVaHuG zCGBi~hu`gwPYqwhr*&0NA}{*o4!Yr`^2tws6D?#ajXK)l*X~QF#nv0L zf3rKNM6f7g%c;M~{QC_Xdq_>f^kN>Bz_{G)VYbY-+sW)lB3>cIC&hlHB8}06c-oruq^AfCM z0)H;jWgO?vuek;wCtEg^&6BHB;N*rfsZFJ}cy}!ZqzjzM*E4NRem}qr6%MXfY3Za} zojjTaOj-4>H^zwAkQ3M!mCAy{S8nNPyxob-wb=YPz(#@vj(KvFqUJqqi>( zH@p#lbSa(w?752!w*yX{J|lPLOvk`y)a8@!e*ZYIFrZPxclgGczc0gn@ra4x5e?FT z?ezcg6)`gmV|6WC=tANC^Ka zgf(xKdO@K7vFU1X+17r@6IY8#{Z#6Tt0D>)^A;$;_0dkCxV}u+dv>piUNJ5LE0jHpC zSr82%AwWVn35k#}wq|Km84 z>h$K9Q>SjQDo9IeL&X%7LPIGuls!V(Ba}Vt|B0y8=-=qlS6Cj@e z`2@%({An9NjuCQ<|01%W=F;!H8=-U-;A=?71EKBXX| LDqSLF^7y|1+5g#s literal 0 HcmV?d00001 diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue23491.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue23491.cs new file mode 100644 index 000000000000..7772664c0ad1 --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue23491.cs @@ -0,0 +1,49 @@ +using Microsoft.Maui.Layouts; + +namespace Maui.Controls.Sample.Issues +{ + [Issue(IssueTracker.Github, 23491, "BindableLayout.ItemsSource no longer works in 8.0.61", PlatformAffected.All)] + public class Issue23491 : ContentPage + { + Label headerLabel; + Label label1; + Label label2; + public Issue23491() + { + headerLabel = new Label { Text = "Below is the Content of the Child FlexLayout", + TextColor=Colors.Red }; + + headerLabel.AutomationId = "HeaderLabel"; + + // Child FlexLayout + label1 = new Label + { + Text = "First label inside the child flexlayout", + Padding =new Thickness(5) + }; + + label2 = new Label + { + Text = "Second label inside the child flexLayout", + Padding =new Thickness(5) + }; + + var childFlexLayout = new FlexLayout + { + Margin = new Thickness(10), + Wrap = FlexWrap.Wrap, + Children = { label1, label2 } + }; + + // Main FlexLayout + var mainLayout = new FlexLayout + { + Direction = FlexDirection.Column, + Children = { headerLabel, childFlexLayout } + }; + + // Set the content of the page + Content = mainLayout; + } + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue23491.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue23491.cs new file mode 100644 index 000000000000..4785757952a2 --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue23491.cs @@ -0,0 +1,21 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues +{ + public class Issue23491 : _IssuesUITest + { + public Issue23491(TestDevice device) : base(device) { } + + public override string Issue => "BindableLayout.ItemsSource no longer works in 8.0.61"; + + [Test] + [Category(UITestCategories.Label)] + public void ChildFlexLayoutContentShouldAppear() + { + App.WaitForElement("HeaderLabel"); + VerifyScreenshot(); + } + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/ChildFlexLayoutContentShouldAppear.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/ChildFlexLayoutContentShouldAppear.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7eb12b344a39bab3312e459e54acff54c98ff7 GIT binary patch literal 66708 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 gaX0_Jv!U^yaaWs#IJ`Om^@}J (child_end - child_begin)) throw new ArgumentException($"The {children_count} must not be smaller than the requested range between {child_begin} and {child_end}", nameof(children_count)); @@ -850,7 +850,7 @@ static void layout_items(Item item, int child_begin, int child_end, int children } // Now that the item has a frame, we can layout its children. - layout_item(child, child.Frame[2], child.Frame[3]); + layout_item(child, child.Frame[2], child.Frame[3], inMeasureMode); } if (layout.wrap && !layout.reverse2) From cbe76d87b2f183dc9ace3da887161ce628a61568 Mon Sep 17 00:00:00 2001 From: Tamilarasan Paranthaman <93904422+Tamilarasan-Paranthaman@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:37:53 +0530 Subject: [PATCH 2/2] Added snapshot for Windows --- .../ChildFlexLayoutContentShouldAppear.png | Bin 0 -> 5563 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ChildFlexLayoutContentShouldAppear.png diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ChildFlexLayoutContentShouldAppear.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ChildFlexLayoutContentShouldAppear.png new file mode 100644 index 0000000000000000000000000000000000000000..dfb1d6852e03f130809fb9134da29ae35da0a4aa GIT binary patch literal 5563 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