From ca56e748bafd9d9e9dacc9279b6a068ed2906e87 Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Thu, 18 Dec 2025 10:52:12 +0100 Subject: [PATCH] Screenshots in Diving Minigame --- Assets/Art/UI/photography_icon.png | Bin 35800 -> 35124 bytes Assets/Art/UI/photography_icon_straight.png | Bin 0 -> 36895 bytes .../Art/UI/photography_icon_straight.png.meta | 195 ++++++++++++ .../UI/photography_icon_straight_empty.png | Bin 0 -> 36031 bytes .../photography_icon_straight_empty.png.meta | 195 ++++++++++++ Assets/Prefabs/UI/CameraCrosshair.prefab | 120 ++++++++ Assets/Prefabs/UI/ImageFlyAway.prefab | 279 +++++++++++++++++ Assets/Prefabs/UI/ImageFlyAway.prefab.meta | 7 + .../Scenes/MiniGames/DivingForPictures.unity | 53 ++-- .../DivingForPictures/DivingGameManager.cs | 139 +++------ .../DivingForPictures/DivingScoreUI.cs | 69 +++-- .../PictureCamera/CameraViewfinderManager.cs | 6 + .../PictureCamera/Viewfinder.cs | 45 +++ .../DivingForPictures/Screenshot.meta | 3 + .../Screenshot/DivingScreenshotManager.cs | 286 ++++++++++++++++++ .../DivingScreenshotManager.cs.meta | 3 + Assets/Scripts/UI/DivingGameOverScreen.cs | 13 +- Assets/Scripts/Utils/PhotoManager.cs | 21 +- Assets/Scripts/Utils/UI.meta | 3 + .../Utils/UI/ScreenshotFlyawayAnimation.cs | 217 +++++++++++++ .../UI/ScreenshotFlyawayAnimation.cs.meta | 3 + Assets/Settings/DivingMinigameSettings.asset | 2 +- 22 files changed, 1516 insertions(+), 143 deletions(-) create mode 100644 Assets/Art/UI/photography_icon_straight.png create mode 100644 Assets/Art/UI/photography_icon_straight.png.meta create mode 100644 Assets/Art/UI/photography_icon_straight_empty.png create mode 100644 Assets/Art/UI/photography_icon_straight_empty.png.meta create mode 100644 Assets/Prefabs/UI/ImageFlyAway.prefab create mode 100644 Assets/Prefabs/UI/ImageFlyAway.prefab.meta create mode 100644 Assets/Scripts/Minigames/DivingForPictures/Screenshot.meta create mode 100644 Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs create mode 100644 Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs.meta create mode 100644 Assets/Scripts/Utils/UI.meta create mode 100644 Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs create mode 100644 Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs.meta diff --git a/Assets/Art/UI/photography_icon.png b/Assets/Art/UI/photography_icon.png index 0a57e80106ad638aee9298717527d085854cec0a..31c5bc84ed98c36f6f950c8d6918e85044b2f7f6 100644 GIT binary patch literal 35124 zcmX_nby!sG7wwP&f-s~Yhzup&T`B`eOE*JEcQ;4~Lra4oNOyNPNK1p#-5o>U`px1mO-;>~py`O0Je8F%IS7f3<6)_MWA~rV z*DsgiJ{Mc(zpXsA>V$QuYcWaWd>%=hV;9*b<%#?L)vI~i`{;VfscBo+UP4*>Ps!d_ z=RVG^%%7Y>eC1Ouzu!G~aX&5iUZ|)LE%{bR^r*o8K5}fJ_eru_d3fq)mb&}LNgP>s zId`M!35q3R+v(W7*ptGF*>BIVmIXa)I>uhmW8H67fH84pZAQ9evVyW{OK2l&DpVEB z1Z%S%+WHG~I1*D*h?l8~DdO0v0^UY&b+IGez9f9r5t8wGUWu;ln%+08q{q_8Wrkgo z?mfP&XK@8&-gs?2tN(MJrqk_HeYt7NGVIsV%b-2_zrOnc-&uZbTi>1kt~;0dbb~>X zV&r`VLSK>?BdQ(svA64(H&F^d>bRk+5!orqeEgVDrF+WXlKyUz+`TN*H}iM(vQyMC zRTV4D1+CfZH_P>6__7C;*%4HWg#`!(ru|1PClKgG&%X~+0@I6EAW(>bH1xfyyZ+%K zntQy|HQx#W6;;s6(a{m>*R><{u;ylB^V2o9-dsYrx2(O3z#lEu)o2O@K5ujCn}O=F zqsOCTK@y=5->0juBcr3jT-$h{4!2wB9#?R*1Tz6x3Kh66v?3m&9*Thtc7g)m-l5v# z$0+vbf|np46uQXEB~HYi{mYad6{swj9-5r$EiU;C4E%Bu$Qho@9H7y-MW-u!3f$&@ zKSsLi+?auNB$87}##Oy(4Ug{%% z5lDt3kxS8mMWEdHoqxwOW#S;LE|$t^WV6Gv$J6R0lm``rM!@mKXN8EpoZpWiCYT^I6g(36=RrAM z@LoFtzb`zmYIS|;>z!)FE&tiosTwJY2FZ2@e`Qvp`^Ck`>jY#F5^%iDI%Y!@{5@pC z3Bo-<(4SQ{BKzsQ35}sBzj-jY-GeFmQ{2(>skfSGn(0dxvHkK+I~%2UjA$z-ZI3kQ zpdHMogELfb^&SW~Q=v)m%56n^p&IMT&eKe|RDs&f2uV4+(s z@4f27)IHGeSsLb~5{S9XyQ9t-2}*nu7BaRT=hyu_^nxCIu5AOFy=p{eh=16?oo_y$}1_HG-e=H2aKEvUiC!t~@3a!6C7~_XO$HlR)KT)Uz&!}e`wD~?xWnIU9 zn6(p2{rT^jOh%wXBEn9c-}lV?s`H#Qu{ysOFbCA>VNTkYdLOt*C_iNzcprN#9;mB9 z^7rc$azO{LfyX?wXL^_ZWoSU@EoZ*$NAae_{5_NEA%gy^;QGAqsqgRl$ClJm3<8_t zpZFVOZ!Q!V1XCXAzEE^QvGGnDI7AgY46jf|lj%eip{mUv6q?h%v^(!FJ)bY!?JdS- zH12q6o*lOKD03`i7EtndPL7lgMuDbnKoa5nbiniR>kYcs*c%xOHs`WUm&Okr(Hka0 zq?xtZGb_o^){7NvZdpbgH@D)%)UZ0rGJigMhd9UYT>RERDqgVpwsEev=RJ?bUPV*9 zh>B52@|X5_UJ2c^)6;C9e%peG&cD~9&X-$p$lG;SBHY$zGy9A<21yk>IC#E@@WXOQ zaOlSlOj%{RNcnabR;kFMOQ(xqjYFU_LhnWSu!T#!#3nuG~5mJ|HM1&cK0hfuOQ?T zINa|>L&_FCwGjt1ZC*gx^pwp-IzX?>Lu!jGh9^QAXiUfzG?j}#yday-XUvr$)-id* ztZP{8{zKaNBuS2e%<^+H4&IJ@m5o9`}FXbBQJ(^%*jSgmw#2oI&dNNfx zDG`60fq(D1)QwV=bWf5y-|Dg!3$Di7l*Vt#5h$u;9b1MO*l(;!C9Lr(wSs!3`3+ml zFRte#oiCPOCkOextAcV^q$8ZL2ToetEgqTpGES!1LCyYVJ)p$X^fPmyW#()L3B)Yw z724f#)@=C6zlB|GxT+ES(VoZ;lR93yOSV>O_t=)_I}&Dc^>oU3`uDI>xk%Pzq8uQ( z#!z$m01bWbw?kRM(`UcoO9`8WFbvpzOM`hSrZZy7CIRzG>N>0(-I+P{4}(NL2_u?8 zHP8@H*E2$7AP50_ZD5tyHDqqclV4qk_pEwO0Ua+(!%nm)0*U0kmQeNP5*95N2}zv8 zPZ^Xs8ewX5_Fr^Hsc=6D&9tDKo6WT+p3DcPW&`{g&}{bB_7Rl>Pg&hV5>cz;x-={S zxkAfb5<7~u4WkUsqZiampq~EPmb<~qL!19pV}9ZFn15{?m5aA0i+WFp0vU|T_hCk- zBsn8VxW0CIOYE_JvkkZ?x%c-k*{wwUoSD;s*^IC$ zGDRuH)bug3nd*sf-@~CCM<9)BfixzR>sc{Jh`?k~GlCU5F=fNH6{#~&&aqyW9B(ad zSG~U6ukRZRZ`9rSqs8JD&lXe2olX+S(#2(DPvZeS09VQZ0ZrB+DEqz?;L5rSm)4YO zFrHrEz?pvgGNa7)uiw0)hOO{!o-&9RZ4BNCwwLW1fIQ;IL=bGbdo(?Jv9C36vD6?L zPwVqR_}NTmgvHuWm=0Ar_bKDeXkb$AnDuV8>CRJ~u(|~(^@}1|g;~pbw@ao}D0~#t zDXll?ZJcd`BneYf4oUGf4=K)3d@6bu}x2>O2{wo!9BWA*Xm8x;@fh zV)|8XhBbs;^50*Z5Y$EnO%tlWSSA*J-8VRNa1A>1m>a!!2oO`!WN;*I4m0;e}h!DvADd*#6iol?x^~3N|;b**x;Ncj;B067uXf z!XJ}sQdsr9Xy{BXQ>ji8PoyZt7&X$`akXGu&X~KaakF$9-vI!mXt(4!%ir2KRzpR= zOPaKS{2Q|b-kEq$WAq&(d@-hn5pg+(G`;L>sV!Vs&9$@y3&$09A+K4mK8DF6NKd1B zDGH$epM)eWw}46;U%sa)=(m|Uh?>e?&=)f*FH86iQ|>plx3WJAoZ2V?4%_?{z&)^j z@TWOTb`;eiTZ?%KsSiPF-#)%?K3XNtcy5DF4_7ebz0TF-$SR0%`O$p;?M$7NTH^o~ z24JAl|C3nRC!L!A4-s4bapnba zr%%8lzhS4pbfDGaVx_c0Syr#kEFQWo^_?ak%9{BkV#B+^$yC?F<8$#3ejPw>jqVU`tC+*yZhURVLYgzSY@ zIA?9k2Tz@bi17reG!>H|?9J-hSsdza}$+Z7WkSw%VYf#Iy0g+S`6(6PiVb>ij| z5G5p?NxT?D`0H|CwlEAE{I<#Z#j&`S@(89kqBVa*Ip|i|g?&yHY{j=r*kzIcC>~n= ze%s@0CHeIUNg!=p>NhjO$@*E!INoio=0j#NPNd)Db$L`-_9?l&5X6nGszNgO8-q=N ziG~|)g!XCvu&zPpgxE7IO8)QsZhX@gd`U0J+bt@EV)cbR9;5WzFY^G1Q5fOU8@0<& z{H1i>Qg^Cnb~b}4C}FO;<-9#^`;dcm01dAbNZ!@RWt9jN2Rojbvpd;V(@k@{-d=)8HRE z+a7ycD>08+Y22l@>zKc{z(fKxpE$qr+O}>xCdOi_cR}62DgBqFbiV~^bP|hMOwvR< zdEa%tkdCDf&5aJ|5$qfDX=LRt4?2_>ITL6g$|TcTuH?^my zu%`#*Y`Q&P&aef+r!D8(w-JeNeVyk^AfIU~a4CIuuUbina7*@XuYpdrT)_PTr>@h(hWr8lB1y6@DpH>4t1ZUL%7azHKC4ll*Dk#{hb$UXmi zHvqeQ^XAPrM&2Kiscz?;zQz=(gw4Vh_N5UG6R2PuCL_da-CTc-&L0xVdT3q}E`H4i z<)+*vX1NWoW2g(6gL*W)ffi9(S8Xx2y6RM&1;K@Fx+4CDEwK{Kxx*ka!VeqrqfJN+~pe+E9s-3*G#DPb;eD^Ej9dq4w0! zZ*$m2n^e&Qt)dcec$X4F)Wde(c3F2u@^grYv1I&N$OS6XVg**+0Wj!IIsC@j6aGw_ zq@k+S-v#^deTMZ-#`xa*qR$Q+Ntyo}$5P#v6ewGLtRA(Qo)C*6WrpEo5L7xNjOQA# zyA~{kF-)iLGoy;Hw(1Q|KZJ`g1HD;TtsoAf%Z1NFWCmkML)Rppr|~rT ztK8t<7Nq59)E~G1bVW%V@B2Zbik_T~fQAfg=a$MQ_H5p;6Q z%l!YN8(^L-aRZ*4K-l+ch9iR>$gmmipm-TnvFEmIT?Z&FG?>P}s~F@9b;4tfa=(~$ zCZ;vnXB5??NjoJ`#MVZ15^6Mfo*huAvBasFltdp3Ec;!ADWq{7OWseAY+gu!&kZV(atxTWuV%?t!C-J*XF9uwGHFk0mH^g*sRTC}K6S&Hgcc&vzaGIq25fzOlQy zwNHZgZM47tI1xA>UJ0DyRe69Ae5KSpym&<&2WvphKCcE-75&3n0)b+ONJx2ZQn^?W zvp0(<`Q_TQmndE?=S)8iqfsy1$gyK|c5Ine|DYgYsr5RAG5AUc9fvzGbj~3cT&ayp zImmhUlTRxvxyD$hzo79zq76B%olyTaZF96m24!-}j1@Xe9N!GHrM%=S&j4 z4yPcsdS6nRm^vv62WGzvxtQlv{jpD75n+d0_e{}v`VgHZ#Tr&FUHQ=2{v z3^N-0=+d&8xIC$?ndskZP5IcB9}-_~%gLK_+vr=$9H$ zg18DZ07}LBUR-VV3xk%?bSAIZe!vAFSVJ+S_x^ld&M3Eqcu&~|qs`Z%7k?WfxgCyJ zn~%TcJo8T2JxCO7YRVrKqCzW6RX3-* z#I>C;S8Y<~lV?c)%b%KkWHoC+y{nQ3M=N~D3$Y{@7ne+YH0IY^vuWYgTtp*D!KQ2? zP~XSCW~#O4;*vw$~aTU!Ps@De@qBm@+ z3}4EFL+9E~md*IULs0u}^y+_XuDXJa!mdiM3Mm2~CVlJGYgjblo##!5J+n%Q_ZGLC zrzl;D_hdG_Wj<~^Gp>I3)@Gf!*9c$X@Zi8%s>MeE$RdqSE~C57zhh7E3IucVvDxTN zH5Jj=mz-EoWW`y?D+gaHb(b{kM{#| z15t{DvGJEr29P?Rd$(UYzt<%+7rOVSYWQ)EwNiw$ce26FODFHs0Eqben1C;?9@jQ& zN4m>>d}ksGsfp2V02u5fYX6=Jd^C<(q^2M^&O~0L74!k_Zl=a&{d-)vgfoeuYq0ze z;V5Rs`8-2I$MB$bTc@bBHu;29`Fshh=v4A9r2Tb*{UrePmbptNj6Y+&8GHy=gte4& zqOXa>|C%2dp#NrGE`t<=#boqXO}qyiY`Twh#>JzLhP$tXS#0nefs)=#BmccwN0bEp z!O_(fI$G8?F~!k4IOTfk=$qiu5HcVc zbt$X>;=rAl9E){hxeh2j=N%2!R68W~G7Ifh#cA=EpT}bMRkMz0;@F&GAdR}`mzQI7 z`fI;Lg0Q?2>T+}7ERe8)7*csFlApEJ+H24nwCIf1T;f(@m3FZknb`Wl0G5X99U@w3 zyug2A2j^`E%v;R;ZsO6nZ@aoDmOn8rj=)aJhU+tExI1i)*WM}E5Yq52M9aI~VXNR) z^>Vv}5e2q3J-DzLQrKU?b8*IF$vRh*Jf8h~^9Rbtot|QYnZsj|v3xp7IIgBX{Wb|( zG#Mu-uL3gDt_$G}FMvpyo@_MlX4J(Cg}13=c{*HfsT57SMtKuQ5RBJFK0P*EJ56)m z-gfQot;tE8<>k%G;tt-8!R#H~oLG*IDLb|W?8C^0yPzd7-J_xmI2vSlCS!y6>tyh3 zZcJVE*8ZRg4VSZ#hHbT?;C-u^&Xcc<-tP9x_Unhqou|4tGqDTaUgi;sYlfV(C|@u(epq6^#9k-4-ABwi6cdCybxA>wsq1&Hw2@ zBhr=m2rfMr0aV_C$rYk1*%x$%cfEe~1ltGd)DJ6c=(??=y}gKRHMuTU2%lmL)X`QYZeAa*k5@ zGz7RAEt#X@>Jw);1+~ZKmhnRhO!+(-z^$qL#|(zgzAldNM`&H)U|?@F_aA4s)NG@Aeb2AH$L@7fTc-nsutS_S&)bsbKpkoPzMp)@ExmrrED4ygP}JETVP>h76Lzo_TNu0&;!aB* zNkHWx>EKoG>G`}K(7ZlOKH?$Blqb`l@77no+PNvdW_%uX05qbix?9Ds6NM4Jgh1C! zEE6+ShW3RPG$6jds{7f;Xkevntc&W~2ETCpESYXSP-cDGY}3SF$?VGQ{P7=PTlKTa z<=}ek#(F7tV)>7iZel)cx;x>~3jY)F10oa3zSN8!5=d0Ziy*wPgCJ}xa(%Y=#GBOT z+6}tcJbtq0W6Kuv=Iuff)?|2>mjnLkLg%6y_+ zwOz)RX9BlvIel|`m2R=E=h?}t)9Kjf2w{%T9biL96u)M_FET_HF zo9pduEE*JOAt@LA-BJ0<{7;vUV=l@`Eq+g=WRmN}?Bb$PoynL4<7~1W!}paBl=9eY zonS*NL8FtxUqldhNS*VaJ?OHlnA@Mq24g-mv-~W^?cetgDCT`@52~fpa`WpvJ*Bu` z*jw*b#E->%v(9KQ+g~$Q1CN_2p5Uk)p0#j6e z0f9(&7uTt3b0z9%LSttuyeo><_Y}`q_zK6LpOiN2EsXnlePX3>rS`gAqsV1C4H4db zprxl5WNLGFWU&+zM<>U$lnQTiG&b89(rQ#|wG=ezxYnKfQZu@td;E?Dl$X3|Lw^F7w zisV)|yYj8ZQqfzdaWVqjtVjSJQy{x-XF0RPf9IYmSn{IQ;ul)U#n<*X8|A!-Q5mhp zKzHdz=)D2Mf+g$mp9O{@`cJ4zz>p?jIAtAGP&ADy@@um=M5a|6Ty<~?W^FJ35N!be z#F6FkJC_3GtuHxS!gw@wzMYD{<+|J;467x3=GO^6Iob;=A2Cs!DnOf<97S`=ZSeH= zDG&O3o+DGL{NfOhU#1%Vdf)o2na0V8gH}iW_D81+`_VTi?8>j9a_n>h#A30L|C4cJ zd$zQmTm?)M>?icdWkn5ewbiq+kmhF3F>|JAl~DqkJps#07wR4ZPuC<6UprgCg}k{aCG;5%?JtGVURNY z{E-5dI5U)zvhU7cXU4Xq^2D)kzO@#(^&$(TiB>MkW_{dWPogR*h7fRAVl=QqK3xUzT^!r%TDWzWj*xU7BPPj zJ(&;sH?N6M%w#GMiZuzVn&vS;O~H2(3*V?K0Af0|-;Z?!YJbdmL}?9Ck9f;%rHZ1L z{%h(_nYc#bb5x$uBSK^=^xa%*+QiXz^>d-vuz_q=k?2M7cvL1pC{q%QRB8!0NdT|ReapVu~JiAue@?8i~TvR6w z1n?X7T2eQpYyfqRNJ<}k{&WR{+7ERVq+x`nhL62eir!P5SjH_;FI)1K5eY8O^s6To zYeuec@holV{k!dLzwZEdA}K2yt$(;jcK>k2`?*7(e=m%`37AUI!&bby=n!X5faXzX z|N4Ol={Iu5+QHMdr{#nX62MS@G(kG(A2`3>=w$IVEun958D(0Z))_7MFA((_n}-D= zKp?uo^lM!Z#Jj}#M{`~D<7-_4FDkyyIRitq<=M)`B;~j~q%WJ$k2Z39#cy*i; zGmzNQ=900tWC}T>OeV{oPXUZ~C9-b`Ct!JbbqSm2`IJ=uW>nAjqX1(>YzR&J#s+jB z1*NcxEP%p3p2z_UybnF$GOUJ)0<}bT-?Tmp5EhCe*7^N5sd$c>-qq1>;3t5h)&N;z zV}D=KB-})m^Z`!NFRM=^?B125OtIW5NVOJ5?myxbMC9NDo`gcY?psbRRdHfMDDgIaUFgL7lDDyslR z>t&OLwtT~^(7LMQ8G$i3NM7Jw{((*eacugRWZg7Gg{Ao%O&jrl#EK-n$;|ZC+#EflO<=|!dSxmyx$*yggdHqwev{X+GFh3gIe$Vykm<@F z?;ZI&u1&sr6d2X?e7X31obZEp&JP@H8rCPXDqZxy2K!7#j}|EqqagUNGz zzFv%K{H@(`UEY)pGT|vT-rdq3>`dJEE#%F=LFnGLYllLVMXF&sp#AXFR3_R8l1O!1 z!BWom?%~nL{G=H>$f<@yTq?HUaA@+OSzny(F>kKL$9k-$eGxJx+eNSUdVVkot2(lz zKCY1VI0IyK_FkBRqV0h^U_4PKeOMt_LMw{S&CWkAi0}`uo}_;I@=g?S1`O{yM&Vq9 zVo!%u0rZB|Bv1c@Fe}r#9O6r?!PtbWsQOGPg+&Dyp?mr5GGSG%p|oD+2mouKjL9B+q5yOf4!rbI zNp`|Yq$rh)tZ#i=%tDjiMw=O1TUa#}0c7GZFWMEHJQVOY#c9v5?cj|C+yrI~eM>mg zX9oqf6G|J6_deYY*#crioc&ftNNTaTh@M=Z%@m$>5K9TX5p9A7Y&>N}AiznR$nt!M zc+C7dj@?c?I=L!x&jq0~1Ah@-tcmvQME@1YI}UIg#F`PhF@D$Z<9XJAHy*cbC!bCf zuGp@-mb3{;2VNS~)-mmQ31(u$N{H8WqS$yvdctQ0ey@7Nevdt7_0CzlkO!`!!kBtZqJ^Q2>InX1#@(An!n$T^Yh?Aef4veh$Ew7kJ%^% zqZ-#@t^YLZA7ArVQevZMEZu=BicW-h5FKZsLX6pakH9Ag$(P*CbnOGB_Z8GmSY%;C z|HAJsGL`-2?wRB1y$Hm10Cgw*wMLIO{gEAbbK_S;n3zePfFJKq_sYidz=t)Po$<-X zIGyo(L1tiD|AqSkgaHegaZai&xZKLFXUk=}36YM$js6wG3SS;#)Hl)@M&GfK(0$*d z4sM~f38>GYe^Dg8{!Bf;Kxvp)wdz$1j$Y%9Gax9+&E;qQz{$_7#6pL^G-DI_Y3g#} zh8MqY4D zcW^zUB3)n&n{_g z4+<_$PG1T7UX=~L^uFE5(32aH?HT(0DmHN1yb-cxJlZYc97oM%BpH2X-@g`x*{Gb@ z>Uo0T0TlZHbsJs_6Vrf;7#0+$ufQw2XhF%g?8J}6Sc0v~T4f~>qR8k*!tK5iu1Lqb|Ru$VG zs}$`YqWmT!g$%{gS6?XeN1z$J+HlDW{_3K!o!&m&9|rEt;YvjahcT(2B%z?}?uQY6 zF@;z{wz^8Z-xSx7r<{eafh|@-WQ~_iq%+J*UjAK_N%s55#FHv1JM#nM{2P&*`|3pe z+hHUFp(Ve28m2!9tX+yr7qmLT(6e_t>t=RpeQ&C~av*C?TYhV_FVc5Dy4$Iopb*&p z8RHw`vhRwp>h@CGdwg7*ODrp6)$7rO;cEHfE%R&)Y6A3ewo{V0oyyzC>!G{xW3iW% zB_PmWcHbEVEgVHVMB91BLvf)}1)#d0>glBk6;ka$-4z1vKLylh?E|wQuujFc2d@qY z>GSe?#dYee|EUvM*G5g}E4hQ3bdSt(f0B^C92TlkJpLnrxnil4 z;r$R7n$$3wL$F#48Kqte!jO$S=~useKH}$M>&)Pl7PRb#fF7bVXLGj8VLIV&J?3G@ zu>&UHFn6zLT@7lVn`)R^T->4&e$?95R+pLEJ9^&>QjRB_^D9mmadda+H(`iWldplv zY)I)VVutmNjn8h+s;(%T-ZfoAVPOAU@P~%?43Pw5YfeVX^;81IzZ2(vl2G-^ zyQ%RhW53WOqxWJ>ZO25{7<&HAM_efxr9)K2`z#ocKg2zmCF248<9i)oOxcc34*Ege zEG4tGOFn7%UO!O6(U*Uz%9Q{Z5SyFp`<7XU_)-|XzMuyy z+Xa?Wp9(z&CI=yPv{8t<$R;hOG^n1?!^HmhB>yFN22cT%1$y+53zb~F)ixK%mUL}2 z+z;Bb0{vJR+w1FL?&4OiEHU9#6u-E#FVX$Z>M<5m^?I$7R0N9 z@?~))!>tWd2@o)Vk-o)9Z5Zt%LU<@COVUC1X<*hboh%^1dk9Jn>yZJMLX-72>nv1z z%oY!3l-7Gsl}Ya$c5jV~7QE3}G<~?Is^Wx^yzUT=(gF!cASs89DH}^&F3SH@J)add z!3?GOhVuXbqe}CCMWE%fl^$5puPFmuuav6*)_d>bGab&xLZ@hTu~4?4t6GAQxTBoL z=0exzM(4Y>O(z^cZm;s9Nef1|H&{@-AELVF=az*y3rdYdSkLDH4+W z?PiZbQ(BXNL+oJ1_^2AV>#eP^7-9SESOr!z$1@V9yRILxMfK?tfZ+VR*3fVGrP4+s z?h9k24nXKE&^?War^%epcT?|{5H*sBhA`RsNXvC$_OgXYycC0?j|92Sq(?uUo?aON z^jtXr;mo7M9C^&`+@EjH9-Z&bhXV$XFkItMK8{;dlrP}QcbS33&AUf}1b*r!EJ6W* zvkK5d^_8e$UU#FZRxWGZ!&uBCKZ&3x>duk^SX2tkihzcNR%@dgq?>kV#q^ziW{LVK z_eDEPJ}%`*hU*q(8Nfmf0m}4uG!SCqL8_cVugE=~C$P=d*3lt4=rn7x>XKfqZ)K9c zU32Z4H7vUNoDq!->&7K=NEC-)Ts&%c#dI#5?!mHdB(b#F_l|UWAHhcHAn4SlJN?BgHZ6n&tV0vI`7NL)H= zXx()zqnojce&qQxoXBG|vPwyo){XpyvR4g}qG|lAa?%B-y5CA&<3%k!|6lWJuwEK#eKil z{>=B4u|aM#WAZ5*Qro8km|#J8F%2Jo56b6He-uM^V^AzB>$`l@L%woE#B=tBCkUf& z44x6bBHM{3a5~=_QvP{YQio0NX5&T&Ai|=URY5S`GQBtUgSOB+sQ>ax3=oOqLcDTNjdEK)8-SixNeNGd=gz*R46F5S)o-gQ{7R8V=0Cack7%yY|)T~qFn7dH! zLb-~?`B69{3h1ZZUDWbVbhWcj!#lSEfpJV$%HJC|zDRF3{yHjS=qXCBFQ7sWN`sRg z@0t=AP9euAPO058gqJn3dfXwDpEzC>{A-8zxtndBAdqLbnLR7a?*mTp=J*IHd0Fw; z!=`xR15q41AK4rv;Q71v{M8pTFbLDLP;-){bE>0H%;J?IFa6a<85E8wTQg2YdAp<>2mOQ^d)Yw?v^eIKoiTHG0NCk%~Er=I<{`$fLEWhz_b-QXzza_uOq^c-_7ckL( z_&0njrnjpAxq8=OX79@yn;uI$(Z6VPBuWCPgQausGA7tPG{X<}jaxyROO+=hZCgPd z-eAf6g84Qgy#o8!Hc?B@P*FeSaO(l!9@Lz`V1o?Un)$@S)kyc(#{MoONT#aNIXgJC zZ2*ep(Dlmm{uA-GEnW{ra5+#4YAGt@(r+h`ud(}Rut8S`UDHzBrhR^vpM6>wU(Zzk zCob5dpUV1lV{~=T%JoD;FZf!p`+S(6`0VP*BuaWPjdu3RC_wL^2!OtCa@{W^(}LaL zla3sDH#P9%5Vh~rcg02C{JFK9gr>2#U|#`-2Ir@k0V9DA_d>81D?`+FCIpg?6Zm~K)hx~C2eRow$A@Tm0<#12&GBEa zi>5&kXfETGTl#)co1f$9yw?drzR7nxW$-1xkiaIGpqub?V(gp$@g)mUKW=!kp*!h8 zhMLqaAQ@W{R-(Hy%91MgYfuA=KXnK3c&`GqHjGFHZ43JM{g}O0(d+J}03BAcm zz`zwyJ`(YixGdgK&xUuCj5wJ{%Qz*Sy8$}`?|N#}GeScf_Qw9`6VwLDzB+IG`A?*j z!+TuWmP*>;yF&q>*yG!P=#r!u>dnDOdetU-Pnksiwc`$2dBQmTmdAG?iVm}q|4xM# zAw&34oFTSHopgUNmX%6guL2esaKfN%>y|$BdI^r(L94+fSPMsL|$yas8P9a2`AawtITHoNTZZojIw?;PHJQ)Wn^2 zaz`L=D1^MEOaeCWIW$lOPrXBq=f9iYr!|zXny{B)pN|z$TN0l3y(mz?T-SOU!35zc zHC$Ss>xXj}e}0*WL@}iN*)2}{wfC3VoD%}?AIEy&>SBmYIQw4cFQ0(M3|hXVDD!*M zm4wp?7rI(tAr8=!ZZ>CvzB=ZslJ2iQMFBR+3IBDvMLZ|C=9>UYy)Hh)`21NFM)n@# zzY_1vhC4#`;e=}!2;2A#lWr&hs6+Hn$n(dZ+NgY`k!JgXUD>d-#h(D5s$UZ%?xLYo zMv>&58h7KN$%=~S)kxWKsQsf$xq!jSVrHkw{gM03wo+e#1Q`^>xAa}q4WN(9VrKU? zeY4#gVgT^(M%k3d`MzOz%@N#Z((p!gwbF0+S^Xb4hNqeRn9*wsmx(d1ux4xQN=q({ zRa8)gBHyuS(x$JIsX`X#Om}aBDf1snN2H!}5bVe5z{@sece$PgMw+kiG{+qK?0rB* z__d9x{p-6Z6@`dXNZDS26DH`L`(Gyn8BbwCMwX{<8_#EoBiphKfUW{ueab0sQlKRy znevCmLMN^HdE#U=T?IX)b_3MAZQN2lqmy}?$ocQKYXl~ zyIWZG(m~~fubGUlB%#jWuRvA+bT6>IEPSmetcVjFjvLw=wky5=Bvj4`VaYzeQYVXRZvbOio?|bUa%_-yk;vL9u}e%# zq4`W~U=!dv0O0{%n(Iu!?WUajuUrf2>ZY0Wmh$L~70BV0aX5So8W^`^Cr$?n{~(#X zg!@2@T3Xr3>s1D$m0S#eCKdP33Y&>sF<&FAXb!$W!XJ8y_J186NsNF znSKE6stEX8z_pA=TPrI5FJLHbBWHLEa7>H@r~h^}rn)E!8MN zk)?tG0_LjR<23P(V=@Eg#9#@GI zIdECvrB+XY1MMZrJMf6J^br|k!1p4(K|*avvtFD)%u_C%h8P&zT~%vpJ&*Hww{El6GVSHu0*dJ0_LH zhB(^M=v2?i#Fywl{ZYHpXpW9ltTrd1Z7uV$lLscx81PvLK`md)^ zE@jyQKsYZNBtFR4hApR8!L~6^zQpxJW0XYhpVJGymqDe3jj>4$0@~Y764}jLN$$gR zlM{9Ms9|Zq*nq;{fCh36AM0uH-Ipiw8!X}c6Ao;JTx`1g!25*huhCl#_5Mcv`!mF} zg>pdw`uo%cPz^jUZ&B2khTK|fyRQ#`T_!BD-N38IB>Hk_HZ+zltdR51Pz(d6{EeC7 zuPhm1+>`0~Qb$y){@8L1 zF#f4ddB@<$1K?e?B~x%7o= zipz3M3M((qFpVDLJB|NfL66DTzZbBg8?%EX&stWSBZoKTVT~8L-II$d^XKG1Wvmgf+HlL&tvZmSUtkO9kLa2fAx1B^@W zdr}U6rCeSA|7q#G1F3x9KYm0;g-)_X9U*&UWRtxkGc&SR86h*2V-{HvviC@4*?S~= zWX}-UGwXMq&-eGQI?p-Jy6>Vq`OvLdsXcQat|5tMQI(c{#7z!ehj1INNtSJ> zf4J=ZxCMol5^)2gqwTMinuZIk=_%FUtE2Kmui8(UImz>44uG%HfOh9_Krv3~DqVoXi#Sc*fE5bF#D>kyigpC`?k|vPiP8 zk*CQQjr*SN*59{@?kGDK-@tnoxT*7(?1fSUO;|aj>C5I{zjB|M+-A@*TWvY^9NLIO zl}dex1&N?y_ee^#F)qCD!(a)2Mu=xy81mIzSvqvYiAm%`e)=gL@95UR7hPx6Zvkv^ zHmj!;lr`X5h2>kL(STV?mYU<|&mGOVwDNXMT-e`liFkaliSFU(?XU_Lw>?(f&Fjh5 zV#IfRvqP`+A$|DZCslS>Ul2*1fs#``1o?iPTU>gFMJJH2BILM-+pr*{nwJLQS35r?S5#>%qa5;N!C#U2LtEBy{?V6`$T8HB zc8`Lf6XIJu`i;)7`wTx1S5~RhYgb5?H#8O!V67?p{8lAlYwtO|E5x{FfGl9l~o zc~kwDDdj!uhksAVcBN}hwp{goKM4GU$_gnlB9vw_!8DyKjcmmsLCRwV zvg3b1Sj+I$RLUNKC@iBcQKp?8pn`wfFUXLUb?;4>_$`D}TYx@}-kX55o2>5DZm#;m zkNa^OkN;i~WQP6)OFChlJ1u8LTs8dx0`YRGf3WhVfVO5=N^?#@0Ap0h<=*YDZmV4? zAL@uA` zf6w}B(_We1O-75ojXO{gU^T5c?AR9ww_RlQKAkj7Pj`V9W@=OQW1DHlNT$iX+=amz zR-*iCu=LG0=T6>CldWE7NlyZ2Vt=OXyH)Ulu#ntMK_8=(Lmp3%Oc{Q1Fe)}lyh~u3 zqh3a<-nowPkI^X_xJ`zwv1vr*`qqg`wUy;o0U#7zXw0?9saWX zz2e>r1HynUfy~v=gZ#(}+5JLA4vudp>6Z}rZcxryeyC)Vk)+va+MV2LF+`%?w>2QP zidpdpou3#_RUGaVAJW!pPzFdbIjVQRdecGgbT_77_EUWF9+YN;UQvmLLY-OE`#d5| zX8-fU>hi+F-W_u_*{^Z5X~c9YKP}D4xZAe|&R3j1F8}#cYAe0jr8C5ZZ!AJ5^7=&1 z*6~r?&f-$%_q%W|;o_FnI9VfUo*sRhQ>;0Wk(W?^sEo$x3{_hIb8tEK-ussi$anFr zyH34b=Kj$04G_`&-5hOvdZLZ(hYc(c5?AVPPr}QF(;V(}efnu9g;qzE6>el8Ma7Q{ zc*^8jv!S^^)Ykx>{%_}XUEui_5@3HC^XEPS@kGCF?ymh*calx{(w{%d3%J@k^z>ed zS^0CB-u-{2*|b~5Oa~GtE0b1PqGxERUs}z43P@2Q-ZZbc0(Wt0b!);Ye`t~u0-PAm zNQLmQJ<`To3F{%#?=GpWjn@RKh1~rz#6{tl_?$qw5b9<@PUih}_7n)e5sci%%wqi! zy?ywtM^lsbq#R#5rarER6fv1X5A#NAv;9cQSzfL(mrsCla;02&S+h59`<}qrCam3Z zpkd=4jlR?LLTQ|z@M?Z!2Cy^tHWXei0 zN|x%FT(-6FhA^>SuIxC~WTwA}!mUfA6tvks>ktqMfZA9O;zSm zQ7SN{h0kT$fBjgi#Z5VLFG^rvqxYUevnC5ZIdi4#j7d=$-&`ftf8Q>vGQ~*TWmEX- zmt85=JIVl=c%%F;-2D6RKWviKyYE9$#(?jc|2{><+Zyk(8GcNADuz8)Jsfrva%0NB z53Jt&7Jfe&6&vamzk0csG}h;SO_||0yMNbl>qNYiq`d_-jB1bN)kP+Aay||YBZFrs zFuoqjP@;}Jh=UK-|NXTDpFOH8T6^Lf6~Tf`+-S~^PXt}`rn%^4r)L3nFCf}NaolaP z8WDAwX9Pb(9Qcwe`Q6w zz5EcWi<0B-&}K4y`B2&xDLJuL=Y!?4Kk_)wn4z+oJq*7!e?D_ft&2z<^K(FTvO^O3 zE+y3B5v9GmOn3pAD5DzFVCWd@d=||w3jJjCaSI~F8iL3xbay+V`BO7DZXw%-hu`pI zM5uu!T?-SxxGwJ5=jm|>w}$@BZ^cCLs#PQc-HJH8V`&;0Vr=aXo>Q=z)4y_)$e^#ylVq{4(F8i5#T(2>h8i%*puXNCf7!Gejb zKGI@>e>Fx_xn;cweGbVJ$Bg^D$Z2t5g3j@CSJ$lE=CJ=#!I9SsBZ37#L_>RfSJD=Xdf;a?1yFR}N zi|==3?m0wuy!rG)BQ(Kx1@dKN`rC9nhHpuaVKixJetDNUl8Z5k0 zC)Vn=KH?ynkICoh!2rhVILSG55Qkz(7qzrx(tBYGDfb;)likx;l@@W7i+APNG^1&o zTPQVp)^t{~V)Og@3<&F&bJQpKrY?8H-r>d+#5Y9TbK!s$J?v3e2{)d+jy)fa=CL(! z9{&V8=XSZ)xbOPgE}Xf6xI^jZ46;)Lr^$t~UFb1WDCjMxt!~;U&4>k4+5CpWUUYiX zJ>EA6L}Gimt3_B26Dz@=PCRa;CA8QaCb?J7wiIzHI|l7D89WV;U)N9rA+z?ux92(U zJxMN5n8{Wm?Oo^oj>cFsYP~n@%Rj)8#95vUb@0A;uJUhY_Q_2Fe&f+$@}jC%x6tLp zSjq@CR4$s-DMRYu8_Hr^dP`j>J*&UJ7FA#6x$-U^5{`s(N8iKgAf6anRW~}*P%4C- zQaR5rtDVhq<`WvEx!9O?v2>GtIUt-(Al=@T1)cV$BWA^F8cGy zhr2D_rD-J0zI@6Y)s~gH=6aTM32_@=+%rj_2uZm5M6w8NFA3!iYd{`A{VyX>S{-R{ z9#zb@8X~IJvR;OsM`?6KI{ljuxCi>{Eu{}4MOk>2@Se-b^-e|>LMXXc0JVs+mljH0 zAN6+4_{3WVo5KOGuE82-zA|Ger-D&~ zJA_QD$4Wk7ga{MENju->N&cbFHV)i(Cfducv&!BKxqDt|H{)2!@;kJ5@~%}q&8i>0 zor-VU2d=m(9w9e6;kVf{pl>%Q=aA`So!1~_#ALPyRjRuf5!gq0a&pf+ce~lOWi=p) zrGf`MU-|tzRB6a;ev$U_Jyz4UxNpbNnxujnVy{kwW@=7EKC8BVO7LM;0ELiY{aKjK z5~kmh1X`ehED!r!Xf&59XNZEgFKbfoLw`Xg9%Ll~YQIr*R~I|FXsl5dOfp-$SR4n) zMJU&+QVzCcv#s8Mt>TEQWrj7PW55n#9`voj$Fyw#9tsipYPxx}vD+;`x4PA-55Z?S zz7aB!rg$WQ-d@EwR=!0LDO;XnCcBF-QeRvD7;J2svec{sNoh~)mvfK^i56>3QO2UYNLvtxjwc2l}NC#o|e|rxIdH{Z64m zw*LZMPA5gbu=u9Isx`v_0t5^trvRD68`-Z;5k#)VR(4b}{_Vp3@sRvAF0qww;m=%BiIYgmH0KubwrK!!$Epv^`w$ zl(*B{!NJ}C_k>fEQJxlgB5gHYJQ7)%CBEP&X|O{7g@zeS)T@ha(+L9g$+dg8%U5c3 zA*5+)b0uITEK-P3-0mmGzdHK7L)+o5H&?BYO$@t@oH6pgBl5JM3VMJBDSKPF6GLS$ zeN^i8b}Gxy+8w)oUq>KP=LQ?jgrieIqW8!meC_ra4~K83{VjpN-#+t57L>|_2aox2 zy0()<>O@2XP3Obc_&}wbTzMDBRQJ$tx?%1+eZERJbPvv|A` zp#ZpQ5lW>$*jP2jt251$;97nD=e3q0v+>Kn$>d+_&wnZ1^3gAXGCros; z;q#5?Xdw@pm|%CWnI1@^fGFaqhvk>95XFVtbNuzSomPhq%bnB9N!@y{9#yDZdwnw2 zONLBM^58-y&Mz^kwXsWAIn95)g;)G&aQyP(Vh(9tca6uP%(si9@-9f#7n*fypTuQ> zz%hOO;|()vA%8v3P%4ry9+QGBUy09M zm;7o$p`0}Nwn#@X&Wq#Pc*$=vzVldiVN_ZUIvTnL$KA@-H>_S+assr(Bi!aclPuzZ z5yJ9P{=E({Et(>gR9anU%om#1oK7;NRf7`U>tN=bbx$e0W|5Syv`f0izgna3+u!At z{>S-4ck%r2=ONpgdJ>(n^f>Wx5t~8@p}ow=I9z-hAs?<2329eBjT&z+bJjwjhFKj* zH4oQbSyX0LGQl+orE1`K{^c`RMsB1qc$mkqm5ABeshgpQCP3==ML3;?*$XKmSz{F~ zcbaLMq&A}&nbEvCd7Ou9Zcv> z6CHay!Ze+BuoK4SSP*y}4&hGjC0eInGYxIH*PocJHg`C71m9^_QOcxJEtJR*nn;EG zR#NdjGfFJAkk8=xYriaR)J^gC?PXIhMu}$Nui}ou-^<)?;ct?}S*xL%xC-&+KN!x!z z&|~yXE4>_;6&hGTA?rnk!-chSMUTG-kqqM__U5x6u3F81PKag@eT6e2G@Ztw?ih7i z!$)sWk@E$0{?bj_9X(4Rh)vA9i%dYs;8tqYt?}Ks&D9R;jj_v!kytQ`C+u2E zQBCLHXl=K)`raT+S%cjjE~Lf-{H|3J?G0jP_G5*=`^LM`l{XBH0- zGQsX_l`AnEi;SlbAG0c86SG&- znfk~9$ck~TR!f!ET$wNIb9DF+M7sUXlfl0-_jpVDx|pOlD2N~(jI+QK7|0BhgF1Bj zee!Cx%ZR`@XpRj$`St0}yDXiXlD<`PUO=c_B6BtQtnMncF&?Sc;wAVGHy+*G&Wx;< z&WM9nbq`bY-KWaOYznNcyV;o@tVDw+#K-}Dl7`d_1!UasaC>R6k4n5V!EX{ya-8u@ z%y;Mz&KQ;6;#k#b9&tIE!)vmXX^Ej{$jcT^njVs)%^A2N@FwTi+u{nWhQryEiPzBC zUAAE8OTPYNzEw4Apn2sd_J^0jz0%LFZyQ9^UD9ruTdu_~lIvmM3h>(5kIVk(3(6b^ zYpXkE2{@QK5#^mZA9{(EgrP1qTg&q3Ru2QiGTYymDq10r$W%e827;9Fm@Y7Uo^HkqXmirZ{J zL`vV)p-s@=+e%m5P}$NlC;lRG#n($YA%&Qt=NraQ0yXpKhs|q5p(C{EZ<8*d0>c%Q za`-|rLUwr9ro#5}L4fUpXGhleYP}tuT%*Y?YVKX#Rb_?~dw0>N7J8%=ansn?_qZ@u zeP1NOp4hqZm}GggKZe>XhZ<4Wq8}>yBrZxuaK~KE?e38nr~@DKauSbYb#dWJvey?W+b%2nr>ykuF%GUv~m*uKv z8h~0^oXssZqqL*l`->1!Y6&_MWdxMXqbn3I+(Z9C&Z#E=bf0e}wc-q6*@mg_KqjpY z?f4=5h8O1Yw^A6d7RAtfyfOHiq;fHYrUChap&-&buMc2`=5y43TV!2R^O~rKwfbSC zFIx0(r=`xBmw@bAy=O-@D4%`^0-$?JACY@M_aw0Vrsmu4v;QH@cq+=8dK*u=>d^+7 zIBBC>Xpe)snGDVLk)-#1q*of0xHxUMhF` zJMy>-0wi!IgccJ9#A}%o-u(#ULkQeHKqSoN@E+syqcDBe96YYZ* zJ{LOSoZKpb^)v+W=yF#LX>Q~s3oE`rJcr=}Q3fTN$L1)qxNTNFu3J42!|-P!O8CB* zN~dz4<@f(U?lZeOahTwI<~$YbHasLN5(I_AQ9v@Q?-qY~V6d*|iFDb`r!EGsF1}EM zuU^v0b@+F2pbl{`Ny}$G{rX&cMnA3XApP&gAp?2V>^UHz$RQ;B7AxzeAmTnxW++fN z_ecWgFmI{3CLUercNlO?Twg%L+-qFR zK#@A=P3E4?)`TVVQesjVRL;p&zV z3){HzS~cN&R|^?HPwHw=M4kwX-Z-uXKF9fv8}+ef!b0JmvYQwvbOO zD@{-rwWrv~p+sOD`XR)YhY{e_>Lm5oh7g6L66<23cZwPdm7Je{9|J818l@yS!JAy~ zmRNh$SvLML8~QvblECA;IZErl-}>E%F71I}|HlRio>yEy@NzjeDQ^1?U!kL5Rd>7r z3LPnP1PWJRneIZL5cpc(<+u>Yx%5M(gxbC9XM$(q&g|Eld5B29_(YR^>Dl6;IMhfI zEUlxmUI6rJbnT?P^W|ERHd`1^ za;EBiAn`+QDJnPA{7VvXB(C*nAAQ~266C}be58XDSIO%itZRHDr2c*P>$jF|lAs`z zZXZ32>K!a=%09EHOk@p>#XikxLJ*MLt8FIZ^UB81bGod1au6&qb|0T)4|SR=QT1qWaJJWx>M){&-UeRbtP$i&tgE#g%>|Rubt=Gzi_VgVxxHb2K6rl|ErCh z6&G?%=NdTe^RZsPmNo3H?%%5}JnNt@RTo~s56aUwA*e`gG+GyRN)jU0`=13ZGy=WC z=AVx`2VmD)oZIbwscl=r=DyjbwRcY6Hz96@3W|Yi_i(EotuDf3>@BY63k;?^531vQ zdn?vC!zEQWOg)hz1Q&fQM@mPX{Q~E96G#eqh9TW~o@mR;gUr3$`P?vm_wFqBDTT5N ziaZBFAv>u6(OK#{AZ|$q@X&iO=Em@aa$bFh-(hSt~6)7OVxQG6Q=i z*4G>wW|2EtB&_oVlsDi zH$=T;YUR$Apn+fB`DlBeUW`CgEl`{ZMWx+R(J1hKCGV*G^;4^@^Jb=M8H3bk7BT&} z#cvf!Rn>NNZe_aBmB`o^yHo!IOK<<;jP2ujoO>z+6~V>E5g3o>%XsP$YpXiqANe!m zs3YF8)~M(?AOlX6DoVRHD`6+!d{^*S)uWV>J(ll__2}iizGn$kuWM%yH51>y0qch1 zO(+b;TrOd+ajtYZQ~1N@#XjXtVPV_EhkAvs;*g_imbTN65)u|PB*MSOJ0AL*y}8-; z+lSE5mnwI}Y{j2f+xZb5U}4TOBB@%+(8qY6PeA0TM2Q?Jyx5^w!e_5PjYIWMH{~d00#$mzFNBp=GX3=tn0@j#=`m&KkyLIznjNa=N6cl0FAP2< z6&>T@P>J>_#qrQ4{Tc|GoC>@0!rI@q%z{%OBw2*`s~LeV7QBzN&lf(zrqoIH#*2^n z=IML)5`2doS_>v$+oqASzyGdN$g8y$Yh9BHfbveaLY3}0FH8EZ>ExfEIOawT;_0;_ZnUSg|216K_9YAZjohS1w6!VbrW$KIHKJI-CB zhA*50sdFsIT1d)z+jf>D>~dasI;Kc`&595n56-G+hjz*C)${a6-J;IjW2(S@>?=TN zy8|rjFSKAb*+`@4mv+LLc8p#CeI6bVF!MRtdTs1T?RXGbUBx_MRa7IzQ)Czx+2Dj5 zS@GTNj1v#)e|MSekidkylLww~tqZ>f92>SwRobAR_J3I`^9r9rG&GboqrvBoers=4 zf;V~isq!;k*wporB$ExH=F5Ur9AzrN-4gS4lSe zQ3D^9h*t(&jmo5?=j^S@?%{a;hwdGBVuXb1L78wPoy;D2yuuSd^2PfRmHpXLa-Db%?j~;U{n?1;^0!_ zX7o8kCA&Y%kerQn?4~%8fk29Q@vBhxMnO4vRXnQ6T!}6izyL^Y$`uHu^RimC8bMHyEEP*npuMC^8Eo{PH zhIG3?Tbnf27mBKWvKesR*Qu|WF%no(k-L7S*k9^6ak*M|j9rJbU z;sdFPm&=}0gK|UZAPma6=4U@%bAl?TE@2zGPd6X1?D08OZR-*;b)8s{(N0AeS1j$5 zytIR$MwRhaugrjcArap~%;z}EXUENU#0IT6G}kGtwq5SgHBj~C(qK$WX$t1bxI&cO5DV56S{^SuHMhhHBORU&+KK z)uE<2?%YyQOtkZLw(rV_GdY{lWlLzhnIr6oeLFvWUB3=;3&tUWu}%fAX`HTR-S5{Z zOK@0C+qWfgDkbvn%5|k@J2LwiaCRk%R(Dyw%YS#XHzgKWl=n7;CaBy5bgBvMS0%K6 ztf;RPi`xta&e&*7j;U*rH5^QOY(@R4NMXI|?0%vv64u)L@%(!KBb+Ngd@sXQeZ#r8 zE&b_HL^O80BL=$MIoPaXUe^ABwEgWZ1EUfCt$j`-te^w7s;A{5We%#WP!T9UZNf4M zbte@u+s4Wpabh&AA+zz_oGd;V97&ZOlaJHi-azD*8h*Bd-+Q%6@f0xR(6}0C+AnYG%Nz`ZWhTI9CuB$?+`fZ z=ve;wm3NbHU6Ux2xiM?op*Q;2Gq*R#*Sv7$(U!uB1FA}y!3z)0pSez`%G@RR0q{v& ztXu{1X(vr#D$QqY@3@>uu`Nlq^U@pR{4OAiwEnmCEt(IT?h#&zp#gE7N3l#Q?dO{* zcZgdp@kfJ<96K5gVM{f8#pzG%7y~82#)Z++`Iz#Psoz~ufka6)Dx;2TWLF}u}YgL-_4ySi|y z%d)$yz1K}DF|ZoH%by@T*EgtiaVfZ2*W`QE-KBWSi%wgG%8fVU2CSDl)sXBjg{7{a zcBCY2jC5SWN8xCDsc38aD+`ZSCm7*f&nk8i|$Au7&^WLEH}D0`*Ul0-1)8&p|Y z+`1F3E;?l%l!0l|n{LlsGU=|;db(tB-)b(wY|*j$E-PJJ(H$V(KicGIeAgU8L1FAJ z%8r7@%eJX!r*<#^-(Zx&mh}=j z67I7xo9OzAfs#&rsfpt`y0^h7T=eV&>1V70^y}^BR3#L^Mt9B^m^|F`p-%`m%*(eD z>NlXjnR{*>*Ku)}7NYQ=40Rc!kM&saNo_Rj0>jRl4-)H0o$2RPCT3q6*k_WmRd$lW zp=(QEZmRni^@oPh^eAkTZA;xcePIAZ4ynMZe0=)A2y=Wii$|1hndt&^%(0kAu9G>N zQg5q!)W()A_Y=O_H|xr+W(fTy7jd%X}aKrJ=sI~avcSf@f?Db7L`Ex8XwYM4-*MhCuI{rnA2f228 zT?z~WO3x$UJ}z~xJbF(5yspVzH==>11of74TgPI$l7&I8E9rz2W8Bu}oI3Id{kORk z1OtbP#l@TUQ$5U0R`s}MC}~I1Z}i+6d^AmrTVh_baNlGd*M^aCj;WW8_T_K(RCREQ z&aNq#$mk-asleb z8X9{{s3>H(U>WtzMRZ8}&9d|s%TYYd>*1#|*Y0c!Eaju9IwPB=-k+YH<|_AJV=)u` zIKcRsRUo;qx;xdOT3zB^c4~FjL0IIzm3whlDKU>9`@${MM$}Mg?~PXn^GRI^vl=g? zWVU(_3|0NaOk}Rb7LYYE-3xf$A3B)$uOql`Jh|SB^QyNt*!P_{uFN3P56h-)zPCO>@qr%wE#d@DrmEOa#!f z?G#|IBbp(g75FR!VXqu)NTWbSA9CCig5r{~mD}7g)c_qzHgEK^)K~(pl2P#Np&ZoU zFbc$vgACD6?ZFzDoiC8m_lv6{XAn9mR~h-UpkMK%HvguCyKdzfjg}Qp%=tvGjxW0q zN18u+3H4B%4NLnCDRMNe!mnYF^Y}Y{j2IH zZLN#3ynclXa@>f z*Yp5XW5HxzY?n2*OQPy2nw4GTt0C+JGc*i4T8T9uK(fR z!$V@rJWsL;eUl-X0?_+Wd3OKGobZFR&}B6#;W!s*N_jv02GK9=J>!xAZH`egLJz-a zL0DsuMP_%sB5TgJ=H?trS|ANGCgUq(Ug#WnkGSqrr69HR`@YrrpY&AHOpiNhyRho3T7wtV|s!Asu*3ayW{Vb)}} ztTo0h>Lr7z9fK4p=NclO#NeSbHrNE;^&hPWtU zTMa?V^tSsCN-^^#A%cf=s-4BGUlArzPDar`e=wHtmacL1-ch2L9u%{oszER>lV0%&@g|gy?UZ zQnSZmt&f1u!wRNT^I|Uqj6q?l7<@QkkoAD-W03RQjdsc>Ydj3u|ivl!wB#BND4^u zvsD9h`jSp!g^5E*iRese?)VoUJ|(@D3Rj_t#P^FZ8>*6q8FYg#*6j#IAZ~Uc#$qw{ z)ehzf>(lk5#ob_P=+x# zT}9bk_U0tVV(nL%>t^O7PaHWX*I)1~>PppoVw?|GzT^eb^7ZMBP~hgu=FdCp&}#J8 z`}4{84O%DW+Q851Bmu170W)l=-;f9mH5=`|W(WMZe0 z9dZMyKSwUFoaumPzUlkf7;s(bw9O-Z5!gDKZ6e%QzFUXH>kF{2>NHdlUz;IJL0?CT zg}8I1g+M3AsE!F_-I~$`VOV=_6S-Ze${y0Tee;N$srxPC%4fO zsdgya{&VtIkp^N87c;hoHW*U2dKzYo;S}VBkH>GmfYyq>{((UTmA%E_dM4iL6dqj+ zUksc254EKbOByh7l-m%~*4L#DAm)JBj<)jhh$nVvjiYC9-Fe{RU~3GszZ9UAF%93o zB*~VHmLj>IfH!b!W&rE``y=$D_>AA zU3n0lbpcZqf4+e(xDKa9nWu9Nm-zHVGNP|%~z+|5e zx$fgWEbP0l{^w#@$b+4k7o&ntE>yBFQ0MS8%f6Y!Hlu$Defww+n?0PYG07^dAi4jN zcj%o-SejzK0kPt$b08xOa@f;fb|Uu8O|E%yozBP)_6B(yE0>Msnu4qVnjPsdDeSgNPUx*l0KoG&Xm;dc#PK%7e>&H*aYi3 zxKkFWO{7?Z8^s1^YaiqLO}&_SxM2DBuCcgp3}370mkD0Bhu#xsUbjKv)YF3VBl{Su zfQST!G0iw9%0xpST`fQP*MQteI_?owN(%NN<*{S@Wx>4jPcd%~^G=08Gh^6_BchXu zq5Hc`n$Q*(85LpZT-vm~l5YrAYm(Y3F~CJC=iIRN2;i5Kr2PDcAqkBBX0V=Y_+x_;5k|dNe6cA4 zZkvRnsVm+()!<*^&GO~L;OyMaY}grRufCnZ>Jxy_%U%RYeJk!IOyK+g82XWG!J4=< zNCCW6o@ZL|uBl%$)Z`&^TfC3U*;*2Z{$+Zj!l3OaAmtzDXL$(2Vb$qN1TZ!}42ns{R%-J>hxwy+z!>m#TQ0Yg;z_qV6_G#GB>>r0{aXF_LEYI1$3rc2|8ySFZk14#uzKy0)h!tOA zRhZvrjr>Dzic4hnS`_o6n|f|@1aC#tW9V-#cHU}wxFmMe#&S=-?iZ{_xa>Nt+`?Pa z?vhDA(Td4``ZO2KVS34@1smb%58s>h9pC4`@|k7|%TT_GHQyzDj3O5^LFlaVBBU!m z4rUW2@Me&KeLEqjQhMttTag-(NgSN(bXCX$7E}-obB&CLkG?p^$Y&lCRwJl;K)ja$ zT!_vO{jn`z?S@g1X=JWfcMP4x!uX6@u5%OkzP~{DCBfXHDzj{P&jkF06*i{_gcB(rqRzQ?`cxE9aEL$QwI0A|JF8Qb8l? z8Zm+f319!650ys+?cvHam_qPDF}&f)kNdRTgK*zM!vtpCiwhx^H z-ukxO4HIsh?ZaGh2GU0TA@wEs&S-wDq{*?wNz|Ofm-0{5dlF)J)80o3aK9i9OW>^{ zBkk%r6YVf=(L`dm;G8CqAR=G|8}t8(V#I6@o~$CE{%nrwo|yHc(yY&8!kq#e$6t zu1t-yf1m&qt&H~G>AV7FOeJcv3B?zEq8eW2MU|%7wmISlCQxQkeQ}nI?QwsRhu7^Q`*awn zt&`ac8MgWb0{Qq0A>r29BSI`Ye<4sY3s;;)) z-{xER z)>{IMVysO$q#pngfEfv;2;+3R9#p^}j@+3QS6=gTv15a=C|s@GzN4AEZlV55GrxY@ zuS|&mX6$t^#X1(Jw;Q~ptjXepe|0Cfotr^F@p3}XM*KPDl<%|ZU+Q4%v;uB7X8sOs z9SOH|3l2AdJ`B+Cdye^d>rJFR@RLAaU~hA%q|WEWRy^&MfeGzTwPN#?cj9h342V}L zUH(;Otjm~|81J{ai$I`Y1~{~t;=1&QI^l+OE`fH?sdZVt;%}{V&nxycPvYaeVvp+5 zyBPCKr}3L^ln|Q0U6>dlAsmlxOg?2Z&4(rn`1wAwUzE9`iBt@dOF>e=>-u_WLI!M! zRzMsa+8&*sEZqu_Kf7c4DL#0N>zNjau%W^H({W7>rky;ZJeh-i z3zPM`1+XWf4|ZI#2?A_12FG_42lyiY++&>Wc{_6%Vf!#xsYE~w#Sv_EPwonMro0xo z!67?QRFPAy_4L>{yFY>5V5_SJ!}^as{(Cg~Zr=A~6E!Ta+;pl;fp9^vnwIG7O7rs9 zT;q4NqX%eY3e_(ThcR)}F71Eb0~W{QpJ4H|!fb4Fqo!U$3Bua@H%PYFAx!Wyf>_eC zl~~dvROt18S!Lgwzh}%(Mbg_;_?IAWg)={P*(+O;`+n?v7gJZ9i_n}@&CQSZQ>Uhq z$bJ+?zD_DI#8<8J!_9W$z?jO$mAUo`K7Iyx$u){X(%Ds;A`J|!bbA%c++^ZTOmCcP zW$XY*uTKDG-A=QUsrSOJg_%tKD#kfC@_ef1mdZ?#Fq*0lg55yC(Ad8TEvwerh z3IE*geI2_WA}o$qm+f;EVTWKeeU4Ku^L$m7zMS=U1{ehZoa_Ol-tzUY@%$T$o5plCtfFYy_7d{-x6oJjNpew>p{p7%H7&p((SF9}mtOP><_pVl~JJ#=D)_jVkV~ywAzF)4opI! zo^)8Ua>8<9LXvT=-W|_O802lJ#f&Ib%NBUJ1hvy32WW?+VM&; z$_9*yu5$AS=W}4M9%<%1|F;3zm|Yprx$6Lj`4Wm=&v^|(6Arx}clDEx^f<`GD4MI& z+i#Kkk=2rSS~kUIC{vv@fJ!w#Brf*5Ai}Q)f|m%iEvBVcM&6^7plZKfsAq=15v5tX z&nD!#`nrq4IdpMHk}X#M+3H5^_rAss;Xt9GvX!EFt5V*DFPu3YZ}e)9b^rUDyv+VJvX;dutJqI zR=P{o+;Ss`ezJepl64=vAydA-9g5a*!a=+wgsfBL1=y^(*_t|N# zN_{4;C8aMOSE$Y^yUdn0FX91YjA2 z>^UnH`PZ`0RH&m+EX0HBb}9ks3k2_di9(=052i1}s()y(b*ZSTiXV9IZ#2hgew#CP z*}}QV|1r*zR)8OR0T2jIRxq0))?B|fTA$*>2qu4+1&72Y`m9j)bWD$m%d(ndNZpX7Ayn* zRpQ=JWDgJWH{)YL%Ea!V89k-Bi-HI(%s$C-TiIOIq&uT;0MDs zGkfpnj&-lKHlgye;wVT2NKjBvC=y>p6rrG?*TK&PB0P9y&4h^({PNBG^JjTSMR8#= z3DM6SEZiI%jI2y7P*5~6&M}QrutMm;0+`+6Sl#OC>O>i;bOhvPhB2$ilN6z=g%ZPj zf!Yp>IzRO3XOWOHB1?szVXWaSh2*h>imFwr6u7q|evp~O&D~zr@^&6E)KQqLu+iTO z4ycQnG5i@E9-^NbaWl(_vuRS8n#}FUeA_>N&xkGCbYySwTj09XJ#IY*3HxJ5XMv4+ z$3{miecaJWoLzWQ7}IMAqAQ_;&>Eq5H1iYA8^(9#i`!6>S!cY<9ogYai>tVWMF-2=0Q!|Hyct)>;V{Sj(A z(ZI)r6n;fyg~o!|bF>aV7gvwa?_(m#U>%}P+r@8(Qt%rFz(!cYgerOE{_@QE_><$h7v%oE=ha}!IWJit`t?8ZRkT%t52PWZ z98u`Ph%ubM;Bla@-aJ42F{U98MDIwZ6@=A?{}HxNW`(f+G$V%yUYvW6xPx%;_i;7( z6rxrYN*jnS>=s|pR?B5l@5&1Gd@si{svgiJj7Tn0k_#0LWm(tQ&bc9g>n}`aiVI$K zU?g3|*GF^Zn*AOGKfB^x{<~SORxItV2v(Zzc^fQ(+~GI+s`DzJD;LyEsmAzIXZ)uF z3Gu(Pho;oCO3~4koOv4kO3%!bPiXH&Y~Iro1@(G{!36mG3$_&TAi&>@XFBS@^G`%H zOi9&gx7uytR4+vS`&azlRbUxT-2vhrbYj7ZjvV8v488oyW8IA?HQzx24u7!_Zse0L z#ETp{@k;0ZT4A1#^KIkO(PW9>H{v}Q>Z4CJ=*u$j2INi2Fnmx=a8<3bq-M&zVYTpl z(%a$%hU^4KH)8KvbvjR226W~l#X7$hPEAAE@fzb$l*an2BOV*QYFNkf+h6HJbMnaI zvAy(7$hnlvq;Y*7)32O!FM3vvd$b?jN-B-Ew`rK0hwW)JB=52|BE#uuOt9ngAVK{# zR8UzO9kWeh+eY|ElA$=)aqWFRdxN#-f;Y5#&Z$!Z2Y1&J_bcV;(tAY&k@+2LIr?%t z;sq2xRKM{QHv_w0e46zz{fK~|QTnJAO2zdFC4noxxJA-j{*n>jzUyyU>MqLZN%0yr6D^7~t3DRl?5)0=K#APhoYv(~YB0JD^4cmi?eV zB{fv7gh-spacW%+;+;qMM!};~;KtyWqt}N+_be|)`&no>`((LOF5}OJ1tmsr z(uF-=iznC7eRJD#eJ0d9Z(_N6wkI0-IbXZc;&jE&Wj+g2Sine(A+Uv(>*_fQYR_ou zw*BuG{;3CV5@)YNdzHoXgZD4-C9Hcylq=Jt+Gc*M8O!k=0#Qt1+z3qsbm6*eC~N;Y zu7aQ)jD+H3lqEzlJX4#nYlZ@-ey0*D?np95YA7iN&@oqX4d*(LmvbA{S zB>8reE5a*nO58mTU{lyC_yybXeRI*VNfGMQ%*JEMA}&r=8^46|YSgmtn>;+BG-ay8 zxxaBx-!8Ph@~!)c@sUe5z)aYT&h-Hfd2LB^H33@Shf0sfN6DA7sO-FSh&UUT&AV`zd7OUJl}9&Z$*&;caRYtF&$7l`X_T&iJTVs8L$OqU%CNHoU)MGVvND< z75jjOW7V>o-sq>{~Uw#lMrM8r2A zY*d*V?o(i|4>_0Y=er<=euX$j?DiQ_{^72er96#n^)x&`TQ&XyGIMhrjzhk~$+RE8 z{)V!RMWUAAH&}1hTFRPZ$sww27PoqkJH)+pBf)!()mLP=ivf4DIwih)tL`nG)AXp{ zZ%{sVw)@&@_yZp7%Z9Vi^enY>LkYY@!4u9C25DR&E~U>WPhTnflEhD|9DLVquwK$< zf_r+nC5ss@yfdBT5n`}XxmOEIPw53HM!w}Is_yrNb?DcnL}hsDa#R6!?I-#z&lj{& zwr&vqC4vF66rs@GhX?i}jd+*BslR?-9ruX@Fh3~5GFTkCscSy@lKt>5a{~eHpYO{JWW6+nJOps#J7t zaS|D1dsk^e0U}D;cdYw2B8{369<^-7k~s2|37j9aimKc!V6& zfS}d{Ti(RO4+*MswDv1EVugjzQ!0M7A+XaA%fo}o#mVh^i&H%xwXT|S{$!9j)@D0# zXKj0}KSc$CBw6e8~9=|VCq;!5yO(ev|-*)*oZ zsO#=?0ulkt$8`Aez+RTKD0RdUB&bY(Qopb?p4~{YPD(xdH`j)r8Ht2NTGHXzNy6$qaE;<7l zc)pS{B&3tA%$WsNkQDhk)pbn>stVZ^L80MtUl-CUWe@FN=chEgowo;AelNb;OrDCb zlA!K-jFrQTQM-jLg*jg1%4%nX+j&%e$M0PU8xtfv)lbFxg;UG?s>{vgz)=VC@vIn? zrBl~NM=X?pC|8J`{3!WN7e%RpAGKZ4_o)6N!|?B0c+Wy=7HW(oVoWhXY`8XxjZ0?h z7%3~b_X!aUsnfPP3vnu%efI`2gnhgQG4YeIPcZ*t`^dCwlwXBYT^m0x3b7*Ye*u}5 z!1512-lej;Km2&ecjsnzhn%1bW4-0&UAS1#EpRQck{)|l7@MY~x2ob>J@%jSRaq35 zVfW>?9D?ex;}0sbX_?4_&f{&X=UeZVC?P(TcS#_w>Zs2o-Zdpci|gzt2=Yg#Vg*5u zup4*%aKU;wigCz1>K#IYPZv%ECubbvX|NN!NGvbFGd_BfYGE59`dGmm9_<@WNH(d@~P zyrozSk#L$D$0CGuY+2e9Uln<6=fAmzR5aca(lqw8c_L&@N3RgT zNFai_9@Up=9+Qmk$KR&FiXSM2GXSZv87A`~crJR=;kr8?`N~J9ekA{JWT+>x+AUWs zH0AdG_QP}Ia^S05kVzNGQ(JK*pFRkIkY2<-Y#m3kx24-qkC<9iLI}uE4{jb$y4E$f zzPLVDVAfzVtzDRFxM$eNDKBW@UbXu4o;X(13YVKzJBN}y-uAkKjsVI*IvCk z(38Uw{koK*W;RDNf%#4)Hsz;mz_1~=(?i%mbt(VB-AG}x7ROJF1mWn-SjkQJw{3W< zw}U*t>9Nb#j`j2kb+YvHde(_M=Bf!_zaeanApK|Cm4E1oXssCX=#wQj7I^X{ZSM6aB|lxRVMLpQ^4N~u(07o#ja>VY z8Z^|ib2WNx8m4d zJNcH3wangzyEo?h*{^a&u|cZns=UI1DuqtV(TWp>6K-j2Ff?kRavrEsVAedUxjN2t zI^z7T5$^gk&gYreGb*J?teoQOWU(#<;rLQ37#QqMZdAaldy_u5nkhfiY}_9p*|t8s z>xC=EQn8~bhpin*YlCQR2tC~GEr}NktZSJ)rl@;U>uf~PC89XP+I4+|5GIq;y~nwy zW7Ib%#xrNNdCE0*HP4O5-NkiA7S+Vvw*$2)^Vp(a=W*qpr?*qNQ$L1L1tNo`r}6n2 zN-1Vb-*p8A!}-`*Z<}sOQ+3k!9^1u%Hei@jWZ0$FYC7;{HWonYO6ODb2Pb)FWc~Bu ziK-nA=)$Rgle$^@G{{sfqlLGadXISu?BprEnda#TYi*ouuUH{V!;hZrg%d6JoB3<- z0cRgr5lzjn+mW5TzOq)vA2{Lvs92cVKh4TYGJg~_S;?GKsxb3;10Qs$CC61wO_giE zc2<1F8{d36ktgB%<+XG=cYYCNRTk7Id*#1-u@bG7#Yrj$rUJa_f|Ym1)X)x+pK%lw zhnmj2ZP|DD;y|UycUdV{nkoNxoLR8MO#fNWqwDahK!Ahz9G}g2iRXUqH7ovGfQ5rb zCAsw}M(JYtRR#1WX5wpnf9jI?j-s>rnle0@Zd}D)c)Fre4{OhCJ_WrKo^8F;LBd8H z+kC>;X&?|Es?oDMSN*Bf7~R(^w*g6A^d24b2h|Yf2Y$IcggGim9ih()efen$K?fn1 zg!Ee7|3T=OBET+g9YYb1%Zh}tQD)Q%9lmFI6LD^l!k&oOI%8d zR!6~bg?X?au?`=`gz7adm~ZpKYJL0x(i-{9Omp)+T+hKZVj^0{c5ur@Z{Xy{27yYc z@&%<4`tbN=f(SfnviPA(rV}?}fZ^)?>0UI5hsvWO7y&&@$JRqp`9J%mGt`)>Q(6sI zZJwY%3X{l$6Dh$Yz&0Vj^4u{jRBY*ez$9Ejvw4=E8cw{xe0Drn#n2m>?NwqP(jO>c zBassy58p`+?V`*YKWeAb6o>vJ_(T?l{o1gPU^|1#r1JMW>eA{5%l5)n@B0lswNDRq z=-e+~a*zYX47K4WFPHk@C37GD{9#qI&;;8!eUNz8brWM{@F9Fo%B6wG><1wj8z87? zY7;#0t8TeZ2m1nSo_(_Mmfj5?TUe}>uQ34LbJt@~1`~3xETwUN1gu}H=hZ7r1TamkHcNeF&55^LL;?})?S?)eiSHOnDG4hQfX2H%Sx?9` z)AD!|x>f3RVkwSd5XuKISqw225ghklXc7VQf!|@Xmpun+Vexb%CDGryc&@hpZ8V+k z8e9=8l;VlYdNx@z`lQ}`n`U{cbbNMCaw3kNGjO(uMnp5Xni;vaIX}2&tCpZTBLJ}L zNKNAD`PX{^S7I;ezk~u_w}aignV!mM$S6Oq+Y-54c#?3JlZF8QQ19|iXrF6tueYyI znNcsW0Q*7#uh?wO>lOS>gEEYiEQ{ljf%H9NxGsd-X8z7Cay^t!#H4FomsU_f|4riH zH&S!e(~G8KkN7@_94SK2{?w3`M8wUVE7kCPVE50;kLlIQANUeJ`@YH4uj6ltp0je9 zzfS8ah!oc@LD{=(D}PP;NkOBAJv4=i&A^^naxDR_H7r=e?n{|o$HTF%{-zc&68z15 z9sv`lgjDT^uYbkT-0XRLtp$RH{w+an`)GGlTAjkF=cmSbkXE^H$}eGmCseyphxVDv z&Vcz2{VjlC+K)41mjJ}N2fpcAx1nhh)PJ2wq;lhw%Ol}C=s{Vh`g{G33r#MU!-`kv zUN<)Je1S=E;%u1vGB`>v-DJx^nJG6q8%D_AXR<&sLL)p?O=02C1(mpU{@~n|he^Hu zscgT1iM%2de7dYCG_t>t8%^EY7y%mZ_AdUv>CB(j=_~a|3=CrNFV;$%cnrun4Pz^w zpqZ<_F1+>-m~d)TNAa*gp`vjVc9a1PLEbh+WIi z*G!6Uy>I4mrTrfNeZ+L@u2WNd4Eq!I9Tb=28Wos}DEPdV+oGb@t*P>&X-wRgj*GEoSY$TID8{8ypy{F8zBo=oK!x`>L zukJ)do*FqGec1Bcx$1ute+4FqP}=-|6f-vOH;1lYQ}lqI6r+Gobo@>4Z)fA`dd%0s z=N8V-cl;r(kS63SqvJKHmnMyWUi+0ptMbX8kA|E!a)&U~$wo(KpXNDVll-TYn&F)H z=977U;AeQE^Xk|2Wd89)qy}p>#3qb&M*+;7ojoOg zu9GY4f310E+Erhlh!RXiWoRo46=y!=s!W72=r%_avJA(r42+#Be5A*1bT}02V2aFm z&HO$(2To7}tXRu!Po9ERU_#6_*V!?;G453vfD~`MY)NuQRwj8QOBDH7BR*ROza=Pw zoNXXP>E`(4vSelR+A<;|oqW`?szEY0kE@)2kGU*n(&e5E?FQGAX%=0%`t&KO%*aBZ z;1_d-X4&FD0PDGJ~{0&qG8*cGA!{tx=B*LVD%; zMOrc$(ajd0J)HnQQxVhay>?EL>-4k&_Q;N=W-BYz$UcqC@#mT-fHpB;otpTf*VPHPQP9@6d*Ba2kbR(xn9wp|H)!ALM;tjXo;6blrDw$vFtAK@4x2*)a*^1PLCa5Gw zoDmkx=Iw+=VxcJ1tXwZ`ph!R(q189T#^Lt(TEat~selYYwY9L&d(R~N_g|gA<@;@L z@s?r% z$Fh34S<3qoq{TEj&gv5MoW%nC|Dp7=crSA>sBY(yKl$(zGvF*Zk!d75QEV(8Uf3tMn{X8hZDGOeGJHO@2mX-DeuFt?vn zHB@u}%hMqYd*dB&9!C}4{SO!8K#lFw5|37<83iu*;6^-u@-{Cb1dh7P{&Tc4I|EX> zINB@_tz96h&Swst_Sk->-j7%kQ;$^49}w{p%ZxBx%40n?i5BWrzF)XX*_hbhrR56W7)LkVZX2E>a|;S z(+XYBgZDL@a?W|h&TpvWOS=`Chqk-AcmzVPSn$UOakQ{ktL`CK9lzgn)kD5*yuEN^ z<)$^aJI3+4QWgIOb7_y>xcm}S(i%NIdZiQ}Wn40LB#hGKqe=)%3eV!9T1yrOVwoRT z$B&M;E7?8{Eh7Gi@7HH!iG$0XAoR0W2HB#SkbrnZ~b1kIi~UaqQe=E-tg#eT$L`;_D#SARRoM1 z6-NwC=?aH59L!$C0YZADTE35tVR1`TbzX_*rz~mg$;BU`G#r>&DM#oW;}QI)+F;Xo zE_^E9O66Y0Vvmt%H^vCA)NX$`7%&E?&4O5bF(_QkkXHBoi^5_CwhDOe_qj=PO%v|k zaYH6(YFOR4>V-0_Fus6J53 zUeS@fwjaX$!*D-X=>wlS*zNc@Bl`j0^pG9GluyNT?titN&WfTL&AjyXNy}dX1o6#H-{|q_>iiY%w0gP zUgEBzm(ZrJCz@UsXcNB};`G1@kwgRaKj3L!{n09}f$>9`{Ugeh?h61mq<@2Ec&t|` z7=hpyAc;oy_5uk$&9z(;d9U0Cf$7+cSaj3R0{h)u^SZT{^j(q^h)V(|g3jemrs%w4 zm!65@N6;WVOh$S9>@uL3VLVSiAl~2M-8#$~7A3QNf&a>h@pBySVXPD&d|CLf%q}Oh z*ey?AGpAX!ZxSLNPPW+aB8N$fT|N**ekVPZzt`EczPsZ|ti|qDcz37Lb~tAXTASfi zH1l}249b%A+GxO*FG-enXAhp-q|wLj_}#TL&+?cIaPxvvXN<( z#jn|87ZYcb?$W40#O*$mzx0R3BzZ{}ma9O9HC>z)-I8A5gmJV}DVUWK>15)@)Le69 zBc{V$wPCJ*M!;%y<8>kEaT7dIqrGAHu%HKE7aP{i)@(EUN1wPzr?IMBF#leZf%E(> zI;VO9N&PcbF6HI^av-JBodQ$AACG*8P!+=H(fkpte@qK94I2C-XBEYbBcrY2N=uB3 zbR_s1ifB;blO>&$dp8P4O5U1%vX1(AsmYQ99OkVogJ zsFL2`=k4TwZYH3Ne&#>#MtZwOBF8=$`}60-?Lp(mh{UtpLBAkm(%2YS%kO&?Rr`Mr zsmOpk~ciky+7nC|SUY+v$obifiUS zU1W>HmnO5Bg|z=+S7T1{(J1D~8Jrt5e9S$Y5y&kYz+*U4G;ko0pxv#q&Tl=G-jc-L zJP1l=qGpG#_7i}PH=Uud{ef?PrRaCm<|>#F%+DdJz#skT!=9K~*)y(R$~2VKynT`o zDU)6P7=70gD;}21!xfdYlN-Stn2G7C9s&UX$#oH3^IMW7Zp#2+OPT*M)w{#LzRijc zt%G`*bn>6`LSpGc5d3|#IQ&;8oyd(uHQ$WeSiL?nhKise6Vp}C^D<3qO>uh#FguMb zAMK3W)G878V6w*`^hI!aRzaIU#r&s$x9G1NA7l065}f?-D8KM@nx6STFTjg>c(c2I z3)sv5B5t>IK%g0{vJF*5t#w#bkDZj4AMn_<=j-^3@G3)XR{i7?gI~YjK=VRv`j;Ot z_D4jHc*10vUh=cB zQ7ssI#yBx|$8)}ePs5_e_`9{k6|cb}4?ByPqVnn2XvAR1aT?5*i&*^ArO-A7QWr#$8p>)jbtdo5#de>ez4)PX(TqbEUchi=Ij+zGR3&ot z3R&i5hmQ@M?PilR^OJ2*dL5nL)USGka$Ooz5y?nqGbBEw^WcXZFSh1VPC2@c0foHP z>zKuOz1QZiSNa`2)t{Or1m=@XDS?;ql{-V;Y|lfQqTL@TlclYhB9?M-WQXu#6qYCRKB(RPCpVE4fc98%J6?` z%)e1J7&uyerCY6^-|ASMts5|KIGHG`e=!f}ShtL{IO7r-R@Pk{Wl_=#Wc ziF5+<0lMe5ovEV}CXu5cm`Tm3z`C;r^UaePIT&N6dBV^W@2oX_d1?xBoZsNquK&!x zSe61I9{8mNV7rFL|xLzdnDpRNCE-~VJHcsIo zOQb<45uiC}kc*(w{&tcr-uH z%&farcw2)$L8JKLSHi4O&GDygu;m4M=mr1Sq*s{Sbj%|m*sB^u;yCb)`#+f9`_V!K zhLnget`Q33FilI&|CvhNSReWq@gm2B?^Lg=Y6~M_lRo^i#GlqlkpAw76JCt*1N7Dy zrL(;VF47a&6aFag4yL3j=1w53OjM;kg+b-5scN$xd)KGv+77M*qDZsnEycniw^NMI zQnLPs9ZUZ8z5m|%LYe_)KF1l0T=}Jh zZV)cdY%ztr=naKSG)1b(N{tz1i#EBLV&x*Jz4UDBH2U~at{pb5UKa<75aWq^r4nVK zkB++?=^JWpN0%Be#mc7Zz40Tguv_TnFQ-8hdTWxrA`mx06v82L(#HEX@siHieoJlk zmr9{2KX6UDmi#3I^BTi}CMHcZ7imi3=ouHF)(8?ectef#Hhzd{r6H)7UYZIPVdhPy zL836&aLkWiV%eZzIsE-h{-&Qhc}N%k%NSK+uk144J5=Z#7*bfDBOdkw;_i8k(jA8_ zBUwpKty_=3VkD$osWQB>eQR$h~Hk-&0L^l~ee1OyFn` zh@%N06!(ko9#1Jxor&If_Lu|xViy>m4E34NGbKL6ST`MxRlNmvwzqCKKNSG)QQ7Jf z1;)<;0%=PCh7EeD!_`|aMdG}%MPoE7dL8M0GY&pY9j_aXuRLt__E}DPT_6wQSpJow z_rC%?WbTV^tNnG!t1_&e$Y7N*Fw6}BJeQ|lQ&!Mk<#g%6SL)pq;(t8kcq^6~vu>?7 z5Lk!IX+x<%#tcGgQ#AXz zf&08wCO}9iO&EFYN1P2g5UK#@JjD}+tfz+wK(ofpeM>|<60E6TbBO?@L%<>*>lB<% zdwK3~PzFsCTN(Dd?^P2^bD7**2irv{k!jn;iO|Gw>qY6>+(cWFE=RgdvvNSu#uk>mVp=5*gM zTbPxTcx$ju>f~umg%GXRSJ5gIqfv&QHhXAyF!?dfv&sJ`ErT{pxVs`Kv0lGXsc}j6 zL)52kUrP+>#rQ=IbX+(bXxNh<%~Ht(MJcxwD*d<$9}`qnO9Z5Q_?6Ue?)e!su(m!B zpv)e+7`?%vaC~taWIC|W#ZRnke*s)l;LeEo2n zQ`=#B8}t*u*Jb<0#s0Fo>xzM6$6Po|6Ndr0)Rvntxr2!Esa@2=EeRkvKo;2_II*jc z-VW*z@AbLx!hQ^+JW{Ypc#8mo>BsVXzoPR(;#ODc=E#Ki>k1&|f{j1iSMxpgOQSBe z8=A$A`N^bxMz)^;P6$M#i%fU#$0?$aUQ!Xjh{U^gBTYi%Kyk9araB5;7B5a}BWg1g zz2dz4)YV(dv$}1m$oyLjD2`o)?{FOUw5NRy#R8xUW%k68?FGKUcyqTrc>~%r7nF?| zLk!vluUD_}YpCz;2-LE3wH7R}q!wYDheJ@>3fsKe4yBSh-jXvUEym+|a&&HPAy|Sxd){(Ve%8t&0B;i{y9?5TOVW(H!-XC_1 z%yhjNmTs;a(TR4h1Sw0)4VK7X*u(Xy`$}CDYv90$0};i&(Ka^Fbn@#7=i6OE1TZz2 zoLX$pLxUznW{1(+kmom=qU%%m;6K(zCP!SL5@9qPsH15+#2Jj{ND+?n zTKkOJ3}Tp@g*U4pJpxjIKB@+&)}&IYbR+(N+i5KSQ`^e6hh#xLmV-(8(e76B%7|3q~HG`<@Q>)hW%36~6L_F_mB@2f4sE*=4PwBlDX{!4Gg@j_ZTY zxh|Pwqmveuazc`Ndr7L%Imj>qP{e%BX6J&&CQ;tsDd0X&No7~m1!65f8sLN3s3G&o zr-cg8AKWRDh--kj4b9yDj;X?@4FUlbQYU%I0cqr;L`FurA?M)FjutELA|5qJnj`4> zR>X6}M1T_Jym+sJg30gk?T3CX0-bvhrRCK`%e4{cx-rIjK*dunlrd=+HXF34w%@g2 zkgF~&2C)l={K|1lldlm~+s;Bxu6DYrQ=9A@wlBzJGUe?(Gz9uHpK~vS`J}&rJAlGc z#r{5Po?g2Jr{@ovukjdNeCD7wP1v_Svo@<3MhW4azW7t6qt|5FPf zNHijVx$}SMhP%9}|>3LSInz5Odhk)2V$rBb%@H?!+Xvn8z>5HAk_4T>AN%?FGw9#5z5*!}X1FZ7d==P?m zt*hI+-QHOrs@T(y7fMU?TJPUyp8}o+kVsJhJ*)ybqeiUjhO9q-rNo&FkO%TdLTb|3 za4%}{=FHenwmhTjt8%lFkdq_6w}VEW*gGurfiy~dOwN4|9b>b0=OQQiSIC1939j{) ziRClDtgOX)OeuNju7! z8@>zkO^xcPA{DEZ$D$fe}$5wQH=}!vrtXQ53d42Ny{B1@N|?{G66Ob?>%L>5MTza}4Tu~7 zyte2g0p;!2Cyt*#Q}rU@5bji^IkkKzY2t1mjrbwRu*m*TZt9yK%SRHe$z$J&4mWD$4>H(N> zFqvjkBSxOh{LwWR_Oz1=$!XHbm4$0`hV^=3`8(&mfDx!RvJgu=2p!=v&C~0rPxGZGVPaNNcfI(xR*T4y#ir~F^ihwbRR&`V_Y-cf)}-Qh~~C;a@D5lb!Xz~ zC9O$hnNkV%H+XLQFc_KeKH3}R!5df}w^H=U17p8eOO^v?&yuxig{HN#?K!u&tgfR4 z+UqNU#2*QoZ-1b%p|}wUEv&g=>C7#412Ytk?A}25r{u5fZZnxXPL;o1TW%uN_|*j+ z!tSSr!!pnb4&)RoGN+5sg%^*;r?}{T(TZG3-p$vWf1nY;>F)t5ZOZ(_1S2p6Ids`< z{}3BHtBTN@@$!#pOHT9o1EiQ2j-s~5YRe^ecxiQ4h;6QZ<-8&2kDy-s?_h9WM8PQC zi%931B)$Evz|g36!F<%cXkc3#&}zSLx+Z`66|t+#wX&^?ajAaxMR9VOQBc6*_bO(b z5WgN>3Tr#~V0&xxVjh?aKf*P_e}mM*Po-!i2cQZn5JO^qrHBFZCP4lo3Rsf3XxrP} zykNECjN|}2#xvq90C9Fp18I~nL6+(`{2g-8iw)JeUf{@wGB@jmg_cfkoH8U8(2GsM zWC*OY49h6iXpCbyBKmUFpIid}QXp3&i0<>t= z=Ld`_I+22SNlJuho%GAfmC8Hj5$6nS(LSf{Ds*8Zlb$EXi^J)ztrIxL|AA@#5qB8i z9J?GLCHV0x$z(1|p^C2$(JN|Wsq7ps)1P^Hx7QWICu;Wta@XhZW68#JFQwRtm@Acj z?9}ES?~P>67JU%c9JBfm#hoVS`V@;mU!ToMZ6bmoab zGp)}STtHrcW!iZBU+0U<@K|C1baw=tn2=Qu`Wh<1Dg!`Dp+2)j04W}zX@}JvV~ZN% zt&011zAb(uw%yrpCTLXC458votRf=i$Qjt>1Gu;?@0T4XZ8#<2zmf+QC@N04-#*?p zEF7tW3Eso0WPdy@#ehVZs+2+WiWLg8w=9$w+{}Q~`kp2UV}l;fO#LiTN&VMT8=El@ zo!cDP4HzE0A%MXHE_E$ws%;N+;CgNSq5q8bG3?hio`13+|DV%CTqfO6N?&!d`er9% z0M66Ab`e1G{o4JC0wQgKDgqr?UGl`TN*epf7>}TNzqU+WNCP1IHC<^Wb?j=cvxm%>mEGq)qj_#r#(eJE>$N z_s+xWoDpa^fB0HgE>D*4;PO$v!kqcnYMbH(hZK$xpONp@4nIQBg&|LKu4!PNn^q}) zYM7GzU_VVYKJ@GxmO}gsN&rFu*e5lVO!wx9VEzY`3#gRgWf`?xrtF+VciTavyJp_t zBvT3U} zVsFr+4Jj|*)pF{#;E0b=+~%q2G{%Ymx(XtzKIHh>=ij{Z+%mu^OHWTd<+WUGdZdh?27MnP>OM(Uy{WxF#oW}0%T+1DJ&C=iEIz>p%YRRfbr zN80b>)&1DHhcBN%sx}adH7ZlF6QGC}t7?60+k2w!UTTP4+O&nX$0yVy;wKFkO%2jg z%h&+GOW3Wtle&b}q#vT$a}y1irnBNGrbE@jVvJFpN0H@yS@`wBHcxy)G@|A~P63<2 zClMRK{^t}nyMP47$ikYD1cWB z>^(YE1KjK2Mv+tHj4ZegC=75FZt(v0qJgNw&4IORrGY2yD%>TedoHgx{@0$p7A1DnsCSutrl(v?bYJ4+o=V^67SSdjeHs~Z0sr1w@1J&IR5v`H?i0N zl{I$z*10y+L$S(^9~GQXOzaG+ZbA6QRCWrdC+U$3nQVKxQS;?tWRINqM1i@eB+kI? zCp*fpf7Db=iC}i!x@iViE$KZ`b+U{z9YnC10m}_lpb}!VUNnTC4C}8fnEJa>cTX3! z^8u&sNBL-H zYvuXD^=|{J&+|RR*9^Une$n!EJS^9qJZ?j?{qxwso1HPN0P^ix{NLdIQ_w)|tm7Bi zEev6|(qhly@!gm`ELuEJeqZeL{nc(RBwUbFMPhw;GV0UC08e*zl&I^j&uknd{Pw>g zIFF9Lp+_CFYdRqeS&z)QAR({{r^G-;KKr@^JG6V_hPnS&+2bJawTi=+gS3Oko=a4zyyS6%qi3co3Sz? zHXN&&p*>;pz+M}i@W_Ck(i82OyQKJgls6}oLsrHcHL>{2Q&51P()N{f`$;?!jRpl< zUwmO~k%W(>thI}awIdD;>N}>H30_E zX1wz@5x6xR#)0v!jtH_3kmbKPLUlZnmDK&rcqyy zR5(^1x3<15wz1{&*dvIp$&)_qEwgI+Z5oy_TI7SDGqhBYjB*01))Jt0>agR5gM$mr zlRC}Ve+cN2y>PW|`R~h6>@+kPQ;c1wB9{bh$u_V4Vwz^`UW$C4idzg0hFd${?j)EI zeI<;z_7V72+g=7JA4J*euowpQ`d~s9CQ}+U=o|}lTD86-|JjJlX|tXM!V#SY(Ev?_ zU(7lml5Mv&z>QAz>Qlt{l5XQA4RE6QLyfW%rJk75bjoZOUHbAN48Njp2d<5putE*P z_upPBZIN)Ft}OceAw;+L-0(My-(6`Ar9%+*+rZ7VPaOw<_~V8I`OAucpRj!HfNxQG z0W;}^xIc3a2Dt#z4@Dn?jI@hnvrEtlmT3bo;u+KXo&O6+(WqBPT^w%~eoH=U<-$>? z>ibq0v9#RzT7#!{`YMo0RDni?F9qDKFloYqPJz!_|A{bHZ*k`m?th3+xI)_at;$IX zb!oggow+tgv-^w6F}OEwF+T8G23%KN_lGxL(z!!CQQ?$1iiu^$mW67zu?>;>k`Bz_ zz@^#WzQDsqfHGOC5Vm_>YY>kBOpyPXs87lSRRr|d6tRNN6oL}U^|k&=eQi_G55CL4 zV5UY`cNB#E^Kcl+dkrydW0P4*HBB@O!|oF|P)uqxYy`L4ErIMGmZq~83oNabZz#jJ zwjs^iT)Ub!bxa@L_GIYVC#UF|xc+#9APj8qEQt|(lUc&3EAtwa9>xicRzL@>T7hB) z0Jq($#^LM$rNOlzbN98(?*VL+er7FJ4ulPwyG;l3(t%z78v=QpJa^BHk^tPDiDH&^ z|GlZ8t5X)m3NtR?6j41)11+is=;-;X*w9mNiHI}d)!c(5{=`={y1vsYt zDU20%QUEq!#EyfSB$D_V(bFzb1v_*cr=-(0W)9JfTVB15Bpe4X`e!;}d% z2U8;G!}7G>UNpoPs;~qW_kYXTembuL*Vr&b&n@H9flu4(c|s3AobGmgmZwoHS@|wj z={|%l4F0dN)r0#fDk`zs^TCeXvKgq-t$Wwl!iXO)NqOR(Dpe})#j(+HeWP=Zn3`d* z)VQN;@-(wjhfoh3tW((9Vb3be|Z_kY}r5Uq@3Z(AvJV)vE*1aj3zNW3l z(9qvASi*?M)$ZHo4bFL=!Tph>MS=Id(Se)nfL2O9Rb*VnU5x_=B3djy@q9;O=k6%r zG-*4lqWfuU-_Yp5Q%AWO^sYQcz*7UyZ2l9zXJaiwmBTg9Xkg}raa!(Gy#@{$$&Qof z22e!Ui`BkYWK%3YE2HMiH;^T}rmkJwCKoKLA(Brz0YSb0SHvF^>`T<8dL6%3G@S6? zV4gK$o=ca=HJc8`3Byh>V zpNY;E|1lm?`Z{*3H>p({r%x4Lb)Ac!Q*PXX&aBNIDR{zRH_RC6<=TWal{57oz_v6i zXNCqF*{Id%9gUAH_t+%=kEgE=sH%ISr5i*L1VNDQ1_7m{yHmOaDWw~fltx0jyD!~H zcSv`4cf;HF`@Q%6R?a;Rk!BL-1GFu7Pbb9lB<7Bee-AH`R1C95Ebjf z{5B1lLysQa3SqdAL>js3O%SX+5k~({r;j-{whNv+U7n*Vw zKfVHS&jKhLD(1(m)OE7HD|u-(glKKF{s;7 zx+t;h3oD@15Ly`*3;y>y+Skb$Uy~AF{X$WCTmpJsI1tdPEcLr(sO*{`4qBfN534k} zJR7Y)!L}4}y!X0Vd;??*YA?n?Hw@ogCgguM4m2EhFH({!kg6-GSl(`1J#v&J8Ql~f*Ep#CT$ z%X{3)_8XXQq0(w5 zBTKTM8^kW%(aHQi1NIXj#&H1j3YWD3i4#xTHWK0lEEJ}vG?BkB@Lv!!lF_>wvsfd{ zQoRUgH~i-N6+}>+gf+~7P4!}yKtQ}PQhfC^;~_hFk4EMDety10q!n>lqgEkr(!AG|yJid&EuV9wQvWt0TIq=7BFM={OKsEhliayqH+e$t2ix)J?pK>s73rrwV!|xUbDks>O zb;1Auv;SL=v&}-?s&ba_gIfZ%D+m<(PGT9Ey<{MU9DoT;IDS zvaO<5h$M@sOqJ(Eg#|F!&O(jZwMTtrj-~hYczpn0N4`cg$`Iy^60IM0;o}Eqj-vM@ zY}v<#o~b?K6q5_1=mdsBJkq=iLORX2`OU{p1+84B_u#RF+}0&8$=D$J_6rNdM`h9| zWb8U4pDHCKRa>>{!NR*ada;+tSoQL&>h|4`r5UihH&H0Mu#Am-M4!OddR~W6f zX7Xs_kLmtRF%u!9VO!~%H^GQ6Tvs!oag4olEK<^MdHx8m%AoHf#ql2d?QctObqfQ? zna`_ly%wpBjr0AhqypZwruWrEV;F>$Z9$O)3q`1~UU~r+fXJf9B&_t|*tX5~Hbw#+ z9jm{u)8zJ*F;}R%R%zEG;VbZ8S`_GK?UZY1Ysfer-WNPq9G@U=vTY6?DLmIgtQIZF zMDcO(-j2AZ4RK{3GqX%)I#h6?3x^_1m^mwVk|D1(=6YZKwU2-F;Q!4)S{!XCc+d?pOU1baSMR zUmJyfw`<>YkNw)~NA2ter<)s7(7jQ@NBvuBeE_y#9hkTVr^CTo)h~9FhG?m$|CcexFr17U9V|uCBA8*E?L+ocW{{YsG96#VIX8F$_L#Qrkz; z5nw}P&8bwh?m&cymfzcyy*Nay5age*OTKeOMNTGd%yOmll{wt2SvM)iN4es zaO!WKJ~t$J#~msy*@ho@Vf?a+naat7iJvWBXQb#Wmo`0PajSRTR7IYrerQR3dp}J7 zBHtuRr)jaG^vnyKbCf8NEl|x#Z(6SXFjcK)z9Q4cQG!0)O^0N}M1Dqn;uL}9xO95v z5K-A;R-w6bc}gr2&f$6XWWUjem))cfvXH}@-6D)MSCjIj&W<2-?1}qvC zo-QGbbTLtqB9-bB3_<;o47#!s(DxD9@E4d|=xu)N|K5PYTeE+4JwEn&9-_p%r^XUJ zl|v@9XUrwvZGmJoI)bm?_>v!oC;4m+S!DYqQJ&Xq_E06>7uDKq=${K$-}q53k??8X zqGjh=cyQ&Ley(2m=^GJ)^c$5JvLo^#+6T97U@DB;rfX$?y${#opmbO^F;^+e2w^?1 zgn~}WGeI1D#O_WXLkwMNpt9KH)+7o#=2~aMSBpc`LbySgQhH2Uc;0m(jJwb}{79>b z#qvX*x1ZIiwA1GtvS%xAqhd_VHj#|?T!2TB-mf894~zf0zPnpmwQRZBaeG=@O*g=q z=woNl@XvrfvJwozn)k8MWGbVfOav8tb{6iU%Sk1XcPlXNOzQIYaS}xo~XEhxbw^S7PP*IM+GIvFeGSLw3>!&8~**}ncV2Yv6-{CQ@N%(ZYr^L0MFJ2n@)bm@#DVc zkhg>@Uu}>$mAmoZU!JyQB2rQX{Ia<+h&GuYYv-@az}=-5tR=lY^>|HV_cS-pX5ZDc$mW8KWEpy21d@uL}koTJ0d~P>a*0q%Y!`5KOTm&JkF=o zpj$|N4tngjHg~(*YR8MCV+w!>=0xsZ$w2-ciK2eh)62U4P=bq4ZQbLi>lQ!J$|-^G z{c;q)ghOx233(w!k8ohNS)u1>wXdOPD<}Y{_2WtI{}WO^c>7(ol#>Ff4&^3l?Y8Y! zrnbpG5NWAYxzy)h4jQTL3t=04W9y#+_; z<3w{$FYJta8%NmJ8>i_?c(xrrf8WNSq^C};)(+2UdWDtzX{2+fJSMGDZG+I@TYq<6 z8m*UE-$d%IDstuaiYq96u7w5DHTfERpbBHLDpB*z(DqYWvg5EpZqjy;%Qqx7pa;AHv7F!RtzkX8R z*-a9%3B7VN4BDCs1GqxKoMoYI3ZmqyAN$wEtpPVm(2ww$=OPQNd>spb8o3^mz7flw zaYEj5;jfo!=!feafn{2oXC0L=iBjVqm@?@((B{3gf4ziuBYx>vv zbLE{rr=0O^g9v>ia6pXE^yYB7K&Gkz@!(>OL@viLfBh~>2H%=f5J zMTuG8ISA>noBj|Gc*VDOF6>p#DoaP2uerH3`dx};BxN)A&h;Vo&$BV{Mm~@o30=(X zH~O9=gP0e(6GO#B#zwfZJqr3Bex(Px2!(;5(FGI2;CE%q-s%EKW@eXMw{K+Fd-*LUA<8>7P4NAG1fBqSO z*w;Q%$^8;<-L7%hADfw;awYpio5iRaCMmih0g<)97dzgifKrnwYj^ysVtEr^forlV#hcgmldS(hK2xs zopqiu98X6hOV)8&IvBh;;&OBT>XR1n4+G4M92ieA@)u6H+MbGu_ZZ{09a15kd^YU@ zdrJ6?Fg?a`J!2j8*Tn1I!d?Npn(0RXa4%xe`i}3sQ&%qZBmHmgU0>oH^ehit zWjDoOdM-zjiIG9hgfQ%2JhydR_q*5g%AzS|()RG$V-Yhg-dq;GHU!SJvx|m)Ujt?J zLn6O!Tq{lUr^*1+ZyfbY^(&!@z{J(9dD{CbrBB?A1gB&G%71IkH*Xu*L*%D*{JIQ&dVG1WVp08bkf}2-H zK}IH})hdj#{V&^#?kV*GsU%6YtwZcgq)4?|2R2YEGcITM`CMeADb{Mj(VnB?D8jiw zU2pN+$miHgt3#V~NEy0sr~cbR!_y+4$BPXKbBLsMqp}#42B!0$WrWK9O`sOB(Bg;q zPZCA^yUlsy;*x*AU#MII!!Sjl| zspr_~Yuo?Kt=Igr>o8w4ae^iGs)*e;*J7eT`48&&bY5{DonNm}D##VQ6^^>mN7Ph5 zkoBS!#xb<@Uk36fxc$qr3jX{grgHzn1xvE#+;BYn_e7~qWcw;_3?dHBL108JGRQ&{ zr@%*i+dv=a-e8$y1K#92f_cfqXyL+gJcltqYH-2T<^()7Y{KUR38b}&!JVJqUbijY zwVz!Ex;*;7xp8r)MbCBfx5F=)8<`E^j=iMwV~q=JBm(0+Otzd;X!YsK7)8w4v*Pnj z-^tILu3(MMG@M?g@PMB5Py5uH<6dgiAaq-*G52=v?n|+2$6PY_v5Nnk>$-9O&OIlf zkE);*px)g}WqGSnV~u-)pg7v_?fS2M41KirZbI{DB#bOI?!fe0W$+ckC4BWi{_sHF zQrx{C_-=~!);CIKf*pI_3|1X31(szWePD`YEmmC(_2gO|Uv^0P<-_AK3A4_7N}76X z^51ohNiJmrzX$I!IAZ%Zew%)QC#)7_g0Jx8_O%z1+3%jIL%1So5W2@#i)pr4kfpX% zW$eu++-DoWsm5l`@CwU(;5x;etIhuvpXYwZf}JoN1U13&TJ%Q)XQ}<}ESj>&kDQV8 zn-j4F11TJletwkdwjTp8geBuz`5>rl}3+-dLE_ZWPiQ-;Rm_t-0Q28u$`LQG zP+?-_E_wG{*U&T4n-p1j4ForTwMbD=-j56?!IW ze%y-uc@T3CxU`UFp2a-G;gnksF7!{}@$}4PQW_9?_%a1E+UogO7(?su32cSw9!~W`4POJK4Zm%?p+YFt zz=`QdM$sn%A{1A`FWPZs9D7OQchl-LRKyCg@r<<+Wt^zTjcaJ`{Z>0G6<5-csCmj4lP9t8o zqt=>Y2-i9mo4&yjtU2Jz2k#27H|GQXc2uelb(3&bCo_(BYt|P6-OC?Hf z^~kHF)UWV4JVw6u1~f^J!^c9k_b5lo}@uGbufr@8S}z) z&ul7ej185T&nY-QNlm%tTbAZu#qgAd_R`1gmDo+ClXUezlu#LXSQ(;eD zdIvf)@xq7`Z!PYO$K*ddr)2{}(+O)$d;N3Crt@RUo{Xz-RBrx`3qaic1@;B~RC=(| zFdC#6=AeOeT{L4m%jWAML0V*I4S(M5Ov4-M--*ZkR3RH?%d6-IA3ew>xp&$8rlt)~5gBt`ao!Y9jlfr2lYSFR-8P zi&}(6?r{$#vwZDl6v3f6Nm;8OzzponCK>$Bd+L}kJT6fm9-Bh3BzSxQ(3y4L@%a2Z zReGlym4x;%LpFk4@7>+GuSr&ES{aRd+y#yB>bF1(Z<~zAkFB)(3Ml3=AI;xU+`rEf z87S;mFY()lCW2I{ccJr21>xZ<NEM?zyUForEk{GpG(#HnNhEM&P>~zG#Wfp4la= z8CuP|2Z;1A)9r$1t?jOMBQL&T-M^PtWnh_%>dXQz8Pp8|5gD#>nquHR`6REcDlj?| z))BCgR4Z)woc7RO-iqWa(x*kgJDMC%<}`)}8H)7Xt9C+8_Xb99`JMg{Ifgzn#?u-4 z_`VU~=y=^v&H81keF@vR+{@z2d=hA|XV58$94is;%8!>}{rn4MF4$bRkUm@|)ScqZk|TNX)a>DZ_5gl_aEGJ6`kU?hs`+9*eHRi#a6n9K&C zjhZH^q9H=`G5rG#)-*g$d%vJdPWcH|AarLwG_A!-q2fn|cp!yNWJ+b1zvQ-6#b6M} za+%P5OjxD&j_5u$-oHA2`(!@%F!m9QZTUS+MBzF{x$&KUHPj;R+_8SdLO9GGvDZ~s>eEe11M(a`=!YCx#uYl zg`@bBNClQs8MQoxq`ZamM;oLNpAs*Sn22IK#zh3C{3_rcnt@@Mt@f)%z@2BM@eKkuCg>)~JwXUrJ$rMl>qVmqRJo=q1br{W8eB-mw z%T5}~oM$*PV%aOJ77yNZMBIQ@+0_$bu%Dvz)W5|u;K&}{+sgFI{B4s1iVq!P z2gGRWc)i9=0$u%5;P(=}qpf@eHilBdTxCcKt#Yvg*b_LHJT_6EZYt0L#Ex1RZO_0% z9r=3)%qQ_fpa`h$-`%jOIJ-mVI*DDEY)1uIslT!-VCb3RHe9QlU`P$fdP^;`>M~elRAr`i%#6m%V034`+G9Dx)_ z{GwCHq@~%%>qj_oa3=X{F;TD9x0T+;T+(#@Ji9#I7{5+4eultS*(iTPGF+_^a6O)_ zvea>hU;Gr88|FahDYgbM5PH1r`r+nZK#(w?XWO}8l`aMujfW!_8ZwFIy4P!&J|)k@ zZWG1)6&Y(mC1Vc(o>ilC(XitRmySgZp}SW@*4PzJ+XvG3hJRtEKA(jOZCe>1_&K=P zB(LEoiq`;pib~_jY_BJgS?8-%M~-EnoX#-fqknx*YTUg%|A))l{j)>@j90AhjEkBt zrVykD0k9TElcCNrM`(*R+nkfyq2z3AYJ@Cg>}pUddjF9R95UaeBtACW;UTLUR@*-2 z0MA;#l17C*XZPabTY_U^Y?uj%4WHxDhnKeyl?sOzkk+BL3;%4q%-;WhT7VNfXXDv9 zk^Z|^T1o#4g>2hB%oC-`lHnAnd2x|{I?L>9N14B)Ei34rrzaWUZqzQZ-B`Y9WWjO3hj34aP6;CCW6ko(@|H35X(}LFCwx?5kj7WKMiCDh#Kt8W$tEPaF*B$*PQG_IeVLf(43D^Vi7nWk$H%=7lu!hZZjKuIJ zxg0*~$6nFtB!TUMU$zu28@`Oi<9$iau~3KC@p?Uu&8gqgW--_^GTsWd1@=i;!8Rcj zqcfaJ_UBLh$AnYQP3aB8eL+t0H-f4_boAw&zmNY@#UG= z#s)hH_X#*H1vE;<_3_h^J%{;Pt_J+=!YWi3Uy)JH{?V_QCvW&EOOJ!7eWECzo%!uV``t> z-((S|rkB0S4)5#xx0@*u+vT3e2^Tht2u(jz@lGrH{#C92s%~>lk9AzXOk(?z*sW6i ziw={TkrTz48>D1XQ%o5ki&~|ZPpRIE6UCNcrhzB8w>qXxBz(WXK!0QEmTmgJpj^`4Gv&`rDe5nJ?Unh<`jgR7iv zw>_^Jb>7fVZu~>vDlX08D~n!T1%#dYIhq-Y{c*inoZv16eK2wB z)_zyyaQL;nd|ZZq(M8*qhmM_UNXhIpBS@*_(2 zU$lW4sFjlCZHDP7j>f7Ee9oC`E?0g3q<@Z8+TfY*ktWsSGRaJoLOC^CL7R^Mcw8GP zIl5#O2U)(3R{ee%+sBwCn;n;n*<KH=B>Y2FV6S+wrVs9e?Si zJ)FLy;d6p-_SsAzjkShw9_rX=U3`ce(d14AQzS=;VO1GOOZn14$Tb~qf2-5{Bor&@ z_cIz84%)DOgV@H(>;*Ar$oTfb@Q*T>WB5hZFZfn+W}U-59VY*r{tU&LxH7{(HuKgQ zy{orJqJQz_eu-n^3)`<71giTtqDcQe$7mggfZu|uqeVM3v> zYldTOK4PhUGM&GGGIQC_ntiCWQgEw1LS90|H}_JF5MS~iW(Z7@`WS6eL+PHbQEWil zh=1KRFun**;}8(%(k{DD#+T-5SBMe_0dr)Kl;u3XRA9K>DMAEghWWfTbd8NGRE{?6!vd&qI7kr=YsoanoBs@{7Rz z3X@3}4=J0ee=a6_MAr(yFEu_|({18+!8d1_k-PRF2}0OPXQfaVj{@J}{1OGhQj41e zq=ld$N%xsG@62amaq<5qIzmR79c5_s#L$PVT-@$EcpPg8+`7H2J)Yrj+XL91%*B%ml>9SFtw_X@>Z4`>tD(tB4>OO)HE4OrhhpskTw} zofXXPf6N#JWkicn8%F$)@xu%|P3X>c>B~5uPf1jc7ezX}bV2?TjBC>^9la~cEY+2(5HO;#~Jp_7`I^_0)!d7 zbsmu!q+6}Si-Qcu@?6E<=Hn&0)&ZBUdePre^6-JWBa#gr>JFr&ob1sV5#3f`xPGXC zAv^nX0WHP$&jaeh!v7YPgYhuX3w8RMhRXge8|$*W_ZHNivc$Vkj5FZ?&(twA z)CqLP7$KkVeoIw;gxT&r>ZvodzRmQu7yj`GL{p+j^NuUTOv`_I>ny&4Ff4mcg1I)f zkI?!fglfx06@0TNwE@54Py-v-%%2QM(I3sz*_1L!jq|VnaThOsA1o&bo!aesqd-a6OtMn&9_l{&K#i?mht zmYO0cSdNu5JalWz4AOX@*Q7`ba@8C_zM*B|kgqd+u1@1d9T#c~ zVxFZT-RQgIxGp2ZhvWS(V~%k55i=z$Eod%Sf8cqRYb}5F3ME%-`YZ~WLz!~X(&f-x ztqw@HsH4Uv`>j^v<{uTxyOT4A+9ZxfAQa1u@Jv}+e6zB>pTo*d#y$m3gvGcq`|?xM z+}3fE)VPi2#YD_8oJI`N4%`NV+tdZFoABj5fG{0R*ZF2EI9zQYg3_K3+8xc5^&1h` zvb-=_w>my?a^@bp4?_YHBE|wbe-%LbdI&mVdP+QrsX8<@YkMOui72Shk$}09S}LWD zM77ax$$_*0hG?tBe5aeq2eq|qJmIr2tvqR#Y}9my3H({5lr&92-TT6Xq+;rsMz)KKk`ia`Mvs@lsT_t|hs>HQ;(0 z7RDGjsoYtKLDen;?AH@mOx!lp3z z!-p#sGEGl^ZHt%9KJI5DnKO+dYGyODPt$O$6%Sw>AnMiHga*s4T%~BHx))ZlDJ|j= ztjHaW3O(sS<|CgxoA?i~+JUg*eE*LI;fXp0+=B^6oSj~9uvrUnYiPXNQ)e)T6Z*R_ z+}yjpOp7$( z&@b)FKDF7VNx1Z+>3U&r+Q$~AXF+Ut!^GnA1}qj_ zAG_Q{v1;VA*>$@K`<2GVLRV6Zmz$;=-31BArBN}%{6yy^qUqy@Ms8NE3sk#j%y+<= z`gKya5Y&c7^e|SrW4yS*+Cg4W$JLsm1oO^`ni*#~rouqMKi%L78!&g~vZ~IAH}1bd z>0*m{xQQP$FE4d=Q_sjM>;eq9{g}uB5@*2RFpaNa3;XLL51)GEodV(qU8+U}LW1}i zRxsULAV?NG8+HZu073dQcR&Dwon03c{uAI%>Vop0`XV)(tyDKww^vK5Xb19i)5USjFdB@M%@j0;2a1*(MH`T*vbCxJ~pAXaVeOk^y6P(k~sxxHSmnv<}FR zhV09pdqcfz<{4zaqj+*mAzXNj3BM!^>f-P5{pb9=Q0qEP_xU}&LMbsU^wF(luL04| z;r=(g=Z+U}nVsEKGak&j7H@1Fiw8*88x%8C_4-~gC4biOAQus5NngKj1(#1SY1bzB zDz(Y9v6=o2zTZ$0*Bpot;E;C;x(T-Q*W#l1ck-zZr1wT6X(Se`R~L2^bbZ3nvrcBk z->J@6y*dX}%M7d%70B4z0U&j0zP1Geik6nF@5droZB%h%B|`>-{HwKhMuOge%;AGO zv{;X+u;^kNe7CJd6ddk)@<_3yM*_;#a~}8y>xX|wUnHK5#~;!~N~9v9Z{riix3wvq z?@ruvGwW8=&+?)YpjL?prcz>neT#~I?dG4GITdD@;Y+M35DAW`aVCTvkPvehf0B

wF(UA^4WkxZI7$p`ABSGc4c3a1 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

p1X{G*2se6e!q4BMo`TKeJBkw4&`im2(9U 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%0A!rVA=#72=v_9k4EPI&sjC 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 _playerScore; public float CurrentVelocityFactor => _currentVelocityFactor; - public int picturesTaken; + + // Delegate to DivingScreenshotManager for backward compatibility + public int picturesTaken => DivingScreenshotManager.Instance != null ? DivingScreenshotManager.Instance.ScreenshotCount : 0; // Events public event Action OnScoreChanged; @@ -284,23 +287,7 @@ namespace Minigames.DivingForPictures } } - private void DoPictureTaken(Monster.Monster monster) - { - // Calculate points based on depth - int depthBonus = Mathf.FloorToInt(Mathf.Abs(monster.transform.position.y) * _settings.DepthMultiplier); - int pointsAwarded = _settings.BasePoints + depthBonus; - - // Add score - _playerScore += pointsAwarded; - - // Add number of pictures taken - picturesTaken += 1; - - // Fire events - OnScoreChanged?.Invoke(picturesTaken); - OnPictureTaken?.Invoke(monster, picturesTaken); - - } + // Photo logic moved to DivingScreenshotManager ///

/// Called when the player takes damage from any collision @@ -667,8 +654,13 @@ namespace Minigames.DivingForPictures _activeMonsters.Clear(); // Calculate booster pack reward based on pictures taken - int boosterPackCount = CalculateBoosterPackReward(); - Logging.Debug($"[DivingGameManager] Pictures taken: {picturesTaken}, awarding {boosterPackCount} booster pack(s)"); + int boosterPackCount = DivingScreenshotManager.Instance != null + ? DivingScreenshotManager.Instance.CalculateBoosterPackReward() + : 1; + int screenshotCount = DivingScreenshotManager.Instance != null + ? DivingScreenshotManager.Instance.ScreenshotCount + : 0; + Logging.Debug($"[DivingGameManager] Pictures taken: {screenshotCount}, awarding {boosterPackCount} booster pack(s)"); // Show UI and grant booster packs using new async method UIPageController.Instance.ShowAllUI(); @@ -700,29 +692,7 @@ namespace Minigames.DivingForPictures Logging.Debug($"Final Score: {_playerScore}"); } - /// - /// Calculates how many booster packs to award based on the number of pictures taken. - /// - /// Number of booster packs to award - private int CalculateBoosterPackReward() - { - if (picturesTaken <= 3) - { - return 1; - } - else if (picturesTaken <= 5) - { - return 2; - } - else if (picturesTaken <= 10) - { - return 3; - } - else - { - return 4; - } - } + // Booster reward calculation moved to DivingScreenshotManager /// /// Starts a smooth transition to the new velocity factor @@ -949,66 +919,49 @@ namespace Minigames.DivingForPictures { if (!_isPhotoSequenceActive || _currentPhotoTarget == null) return; - - // Stop the viewfinder animation if it's still running - if (viewfinderManager != null) + + // Start coroutine to handle screenshot and cleanup + StartCoroutine(TakePictureCoroutine()); + } + + /// + /// Coroutine that takes screenshot and waits for completion before cleanup + /// + private IEnumerator TakePictureCoroutine() + { + // Take screenshot and WAIT for it to complete + if (DivingScreenshotManager.Instance != null) { - viewfinderManager.StopViewfinderAnimation(); + yield return DivingScreenshotManager.Instance.TakeScreenshotAsync(_currentPhotoTarget, _capturedProximity); + } + else + { + Logging.Warning("[DivingGameManager] DivingScreenshotManager not found!"); + } + + // Play shutter sound + if (cameraViewfinderManager != null) + { + cameraViewfinderManager.PlayShutterSound(); } // Notify the monster that its picture was taken - _currentPhotoTarget.NotifyPictureTaken(); - - // Calculate score based on proximity and depth - CalculateScore(_currentPhotoTarget, _capturedProximity); - - //Trigger the Flash Effect - if (flashRef != null) + if (_currentPhotoTarget != null) { - - var flash = flashRef.GetComponent(); - if (flash != null) - { - - flash.TriggerFlash(); - cameraViewfinderManager.PlayShutterSound(); - } + _currentPhotoTarget.NotifyPictureTaken(); + } + + // NOW destroy the viewfinder (screenshot is complete) + if (viewfinderManager != null) + { + viewfinderManager.StopViewfinderAnimation(); } // Complete the sequence CompletePhotoSequence(); } - /// - /// Calculates the score for a picture based on proximity to target and monster depth - /// - private void CalculateScore(Monster.Monster monster, float proximity) - { - if (monster == null) return; - - // Calculate base points from depth - int depthBonus = Mathf.FloorToInt(Mathf.Abs(monster.transform.position.y) * _settings.DepthMultiplier); - - // Apply proximity multiplier (0-100%) - float proximityMultiplier = Mathf.Clamp01(proximity); // Ensure it's in 0-1 range - int proximityBonus = Mathf.RoundToInt(_settings.BasePoints * proximityMultiplier); - - // Calculate total score - int pointsAwarded = _settings.BasePoints + proximityBonus + depthBonus; - - Logging.Debug($"[DivingGameManager] Picture score calculation: base={proximityBonus} (proximity={proximity:F2}), " + - $"depth bonus={depthBonus}, total={pointsAwarded}"); - - // Add score - _playerScore += pointsAwarded; - - // Add pictures taken - picturesTaken += 1; - - // Fire events - OnScoreChanged?.Invoke(picturesTaken); - OnPictureTaken?.Invoke(monster, picturesTaken); - } + // Score calculation moved to DivingScreenshotManager /// /// Handles completion of the viewfinder animation diff --git a/Assets/Scripts/Minigames/DivingForPictures/DivingScoreUI.cs b/Assets/Scripts/Minigames/DivingForPictures/DivingScoreUI.cs index 232038f1..30d750bf 100644 --- a/Assets/Scripts/Minigames/DivingForPictures/DivingScoreUI.cs +++ b/Assets/Scripts/Minigames/DivingForPictures/DivingScoreUI.cs @@ -1,23 +1,59 @@ using UnityEngine; using TMPro; +using Minigames.DivingForPictures.Screenshot; namespace Minigames.DivingForPictures { public class DivingScoreUI : MonoBehaviour { + private static DivingScoreUI _instance; + + public static DivingScoreUI Instance + { + get + { + if (_instance == null && Application.isPlaying) + { + _instance = FindAnyObjectByType(); + } + return _instance; + } + } + [SerializeField] private TextMeshProUGUI scoreText; [SerializeField] private GameObject scorePopupPrefab; [SerializeField] private Transform popupParent; + + [Header("Animation Target")] + [SerializeField] private Transform photoIconTarget; + + /// + /// The photo icon transform that flyaway animations should target + /// + public Transform PhotoIconTarget => photoIconTarget; + + private void Awake() + { + if (_instance == null) + { + _instance = this; + } + else if (_instance != this) + { + Debug.LogWarning("[DivingScoreUI] Multiple instances detected. Keeping first instance."); + } + } private void Start() { - // Subscribe to events - DivingGameManager.Instance.OnScoreChanged += UpdateScoreDisplay; - DivingGameManager.Instance.OnPictureTaken += ShowScorePopup; + // Subscribe to screenshot manager events + if (DivingScreenshotManager.Instance != null) + { + DivingScreenshotManager.Instance.OnScreenshotCountChanged += UpdateScoreDisplay; + } // Initialize display - UpdateScoreDisplay(DivingGameManager.Instance.picturesTaken); - + UpdateScoreDisplay(0); // Create popup parent if needed if (popupParent == null) @@ -29,10 +65,9 @@ namespace Minigames.DivingForPictures private void OnDestroy() { // Unsubscribe from events - if (DivingGameManager.Instance) + if (DivingScreenshotManager.Instance != null) { - DivingGameManager.Instance.OnScoreChanged -= UpdateScoreDisplay; - DivingGameManager.Instance.OnPictureTaken -= ShowScorePopup; + DivingScreenshotManager.Instance.OnScreenshotCountChanged -= UpdateScoreDisplay; } } @@ -43,23 +78,5 @@ namespace Minigames.DivingForPictures scoreText.text = $"x {score}"; } } - - private void ShowScorePopup(Monster.Monster monster, int points) - { - if (scorePopupPrefab == null) return; - - // Create popup at monster position - GameObject popup = Instantiate(scorePopupPrefab, monster.transform.position, Quaternion.identity, popupParent); - - // Find text component and set value - TextMeshProUGUI popupText = popup.GetComponentInChildren(); - if (popupText != null) - { - popupText.text = $"+{points}"; - } - - // Auto-destroy after delay - Destroy(popup, 2f); - } } } diff --git a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs index f73a529d..cd54d5f9 100644 --- a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs +++ b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/CameraViewfinderManager.cs @@ -42,6 +42,12 @@ namespace Minigames.DivingForPictures.PictureCamera private Viewfinder viewfinderComponent; private UnityEngine.Camera mainCamera; private AudioSource _audioSource; + + /// + /// The currently active Viewfinder component. + /// Exposed for screenshot system to access capture area and flyaway animation. + /// + public Viewfinder CurrentViewfinder => viewfinderComponent; // Animation state private float animationProgress = 0f; diff --git a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs index cf0e9d22..9b8b6873 100644 --- a/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs +++ b/Assets/Scripts/Minigames/DivingForPictures/PictureCamera/Viewfinder.cs @@ -3,17 +3,30 @@ using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using Input; +using UnityEngine.Serialization; +using Utils.UI; namespace Minigames.DivingForPictures.PictureCamera { /// /// Attached to the viewfinder UI prefab. Handles tap detection and other viewfinder-specific operations. + /// Also exposes screenshot-related references for the diving minigame. /// public class Viewfinder : MonoBehaviour, ITouchInputConsumer { [SerializeField] private Image[] viewfinderImages; // Array of Image components to tint based on proximity + [Header("Screenshot Components")] + [FormerlySerializedAs("_captureArea")] + [SerializeField] private RectTransform captureArea; + [FormerlySerializedAs("_flyawayAnimation")] + [SerializeField] private ScreenshotFlyawayAnimation flyawayAnimation; + + [Header("UI Elements to Hide During Screenshot")] + [Tooltip("UI elements (like frame, crosshairs) that should be hidden during screenshot capture")] + [SerializeField] private GameObject[] uiElementsToHideDuringCapture; + // Events public event System.Action OnViewfinderTapped; public event System.Action OnViewfinderHoldStarted; @@ -24,9 +37,41 @@ namespace Minigames.DivingForPictures.PictureCamera private RectTransform _rectTransform; private CameraViewfinderManager _viewfinderManager; + // Public properties for screenshot system + public RectTransform CaptureArea + { + get + { + if (captureArea == null) + { + captureArea = GetComponent(); + } + return captureArea; + } + } + + public ScreenshotFlyawayAnimation FlyawayAnimation => flyawayAnimation; + + /// + /// UI elements to hide during screenshot capture (frame, crosshairs, etc.) + /// + public GameObject[] UIElementsToHideDuringCapture => uiElementsToHideDuringCapture; + private void Awake() { _rectTransform = GetComponent(); + + // Auto-assign capture area to self if not set + if (captureArea == null) + { + captureArea = GetComponent(); + } + + // Auto-find flyaway animation in children + if (flyawayAnimation == null) + { + flyawayAnimation = GetComponentInChildren(includeInactive: true); + } } /// diff --git a/Assets/Scripts/Minigames/DivingForPictures/Screenshot.meta b/Assets/Scripts/Minigames/DivingForPictures/Screenshot.meta new file mode 100644 index 00000000..555e6c02 --- /dev/null +++ b/Assets/Scripts/Minigames/DivingForPictures/Screenshot.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fa94031c3f274ab2afd0d0b2d4cef32f +timeCreated: 1766012726 \ No newline at end of file diff --git a/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs b/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs new file mode 100644 index 00000000..911473a8 --- /dev/null +++ b/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs @@ -0,0 +1,286 @@ +using System; +using System.Collections; +using Core; +using Core.Settings; +using UnityEngine; +using Utils; +using Utils.UI; + +namespace Minigames.DivingForPictures.Screenshot +{ + /// + /// Singleton manager for diving minigame screenshot functionality. + /// Provides easy-to-use TakeScreenshot() and TakeScreenshotAsync() methods. + /// Integrates with PhotoManager for disk storage and ScreenshotFlyawayAnimation for visual feedback. + /// + public class DivingScreenshotManager : MonoBehaviour + { + private static DivingScreenshotManager _instance; + + public static DivingScreenshotManager Instance + { + get + { + if (_instance == null && Application.isPlaying) + { + _instance = FindAnyObjectByType(); + + if (_instance == null) + { + GameObject go = new GameObject("DivingScreenshotManager"); + _instance = go.AddComponent(); + } + } + + return _instance; + } + } + + [Header("Screenshot Settings")] + [SerializeField] private GameObject[] _uiElementsToHide; + + [Header("Flash Effect")] + [SerializeField] private GameObject _flashEffect; + + // State tracking + private int _screenshotCount; + private int _playerScore; + private bool _isCapturing; + + // Settings reference + private IDivingMinigameSettings _settings; + + // Public properties + public int ScreenshotCount => _screenshotCount; + public int PlayerScore => _playerScore; + public bool IsCapturing => _isCapturing; + + // Events + public event Action OnScreenshotCountChanged; + public event Action OnScoreChanged; + public event Action OnScreenshotCaptured; // photoId, texture + + private void Awake() + { + if (_instance == null) + { + _instance = this; + } + else if (_instance != this) + { + Destroy(gameObject); + return; + } + } + + private void Start() + { + _settings = GameManager.GetSettingsObject(); + } + + /// + /// Take a screenshot using coroutine. Simple synchronous call. + /// + /// Optional monster reference for score calculation + /// Optional proximity score (0-1) + public void TakeScreenshot(Monster.Monster monster = null, float proximity = 0f) + { + if (_isCapturing) + { + Logging.Warning("[DivingScreenshotManager] Already capturing a screenshot!"); + return; + } + + StartCoroutine(TakeScreenshotCoroutine(monster, proximity)); + } + + /// + /// Take a screenshot asynchronously. Returns when capture is complete. + /// + /// Optional monster reference for score calculation + /// Optional proximity score (0-1) + public Coroutine TakeScreenshotAsync(Monster.Monster monster = null, float proximity = 0f) + { + if (_isCapturing) + { + Logging.Warning("[DivingScreenshotManager] Already capturing a screenshot!"); + return null; + } + + return StartCoroutine(TakeScreenshotCoroutine(monster, proximity)); + } + + /// + /// Internal coroutine that handles the screenshot capture process + /// + private IEnumerator TakeScreenshotCoroutine(Monster.Monster monster, float proximity) + { + _isCapturing = true; + + // Get viewfinder and validate references + var viewfinderManager = PictureCamera.CameraViewfinderManager.Instance; + if (viewfinderManager == null || viewfinderManager.CurrentViewfinder == null) + { + Logging.Error("[DivingScreenshotManager] No active viewfinder found!"); + _isCapturing = false; + yield break; + } + + var viewfinder = viewfinderManager.CurrentViewfinder; + RectTransform captureArea = viewfinder?.CaptureArea; + + if (captureArea == null) + { + Logging.Error($"[DivingScreenshotManager] Capture area not configured! Viewfinder: {viewfinder?.gameObject.name}"); + _isCapturing = false; + yield break; + } + + // Show flash effect + if (_flashEffect != null) + { + _flashEffect.SetActive(true); + yield return new WaitForSeconds(0.1f); + _flashEffect.SetActive(false); + } + + // Combine global UI elements with viewfinder-specific ones + GameObject[] combinedUIToHide = CombineUIElementsToHide(_uiElementsToHide, viewfinder.UIElementsToHideDuringCapture); + + // Capture and save using PhotoManager + bool captureSuccess = false; + string savedPhotoId = null; + Texture2D capturedTexture = null; + + yield return PhotoManager.CaptureAndSaveCoroutine( + CaptureType.DivingMinigame, + captureArea, + combinedUIToHide, + onSuccess: (photoId) => + { + savedPhotoId = photoId; + captureSuccess = true; + + // Load the texture back for animation + capturedTexture = PhotoManager.LoadPhoto(CaptureType.DivingMinigame, photoId); + + Logging.Debug($"[DivingScreenshotManager] Screenshot saved: {photoId}"); + }, + onFailure: (error) => + { + Logging.Error($"[DivingScreenshotManager] Screenshot failed: {error}"); + captureSuccess = false; + } + ); + + if (!captureSuccess) + { + _isCapturing = false; + yield break; + } + + // Calculate score + int earnedScore = CalculateScore(monster, proximity); + _playerScore += earnedScore; + _screenshotCount++; + + // Fire events + OnScreenshotCountChanged?.Invoke(_screenshotCount); + OnScoreChanged?.Invoke(_screenshotCount); // Pass screenshot count for UI compatibility + OnScreenshotCaptured?.Invoke(savedPhotoId, capturedTexture); + + Logging.Debug($"[DivingScreenshotManager] Score: +{earnedScore} (Total: {_playerScore}, Count: {_screenshotCount})"); + + // Trigger flyaway animation with target from DivingScoreUI + if (capturedTexture != null && viewfinder.FlyawayAnimation != null) + { + Transform photoIconTarget = DivingScoreUI.Instance?.PhotoIconTarget; + viewfinder.FlyawayAnimation.PlayAnimation(capturedTexture, photoIconTarget); + } + + _isCapturing = false; + } + + /// + /// Calculate score based on monster depth and proximity + /// + private int CalculateScore(Monster.Monster monster, float proximity) + { + if (_settings == null) + { + return 100; // Default fallback + } + + int baseScore = _settings.BasePoints; + + // Add depth bonus if monster reference provided + if (monster != null) + { + int depthBonus = Mathf.FloorToInt(Mathf.Abs(monster.transform.position.y) * _settings.DepthMultiplier); + baseScore += depthBonus; + } + + // Add proximity bonus (0-1 scale, multiply by some factor) + int proximityBonus = Mathf.RoundToInt(proximity * 50f); + baseScore += proximityBonus; + + return baseScore; + } + + /// + /// Get booster pack count based on screenshot count (for end game reward) + /// + public int CalculateBoosterPackReward() + { + if (_screenshotCount <= 3) + { + return 1; + } + else if (_screenshotCount <= 5) + { + return 2; + } + else if (_screenshotCount <= 10) + { + return 3; + } + else + { + return 4; + } + } + + /// + /// Reset state for new game + /// + public void ResetState() + { + _screenshotCount = 0; + _playerScore = 0; + _isCapturing = false; + } + + /// + /// Combines global UI elements with viewfinder-specific UI elements + /// + private GameObject[] CombineUIElementsToHide(GameObject[] globalElements, GameObject[] viewfinderElements) + { + if (globalElements == null && viewfinderElements == null) + return null; + + if (globalElements == null) + return viewfinderElements; + + if (viewfinderElements == null) + return globalElements; + + // Combine both arrays + GameObject[] combined = new GameObject[globalElements.Length + viewfinderElements.Length]; + globalElements.CopyTo(combined, 0); + viewfinderElements.CopyTo(combined, globalElements.Length); + + return combined; + } + } +} + diff --git a/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs.meta b/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs.meta new file mode 100644 index 00000000..10fa907f --- /dev/null +++ b/Assets/Scripts/Minigames/DivingForPictures/Screenshot/DivingScreenshotManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 78476907cb4b488da7a1526a8453b577 +timeCreated: 1766012726 \ No newline at end of file diff --git a/Assets/Scripts/UI/DivingGameOverScreen.cs b/Assets/Scripts/UI/DivingGameOverScreen.cs index 283328ad..6c78c9a2 100644 --- a/Assets/Scripts/UI/DivingGameOverScreen.cs +++ b/Assets/Scripts/UI/DivingGameOverScreen.cs @@ -37,11 +37,18 @@ namespace UI protected override void DoTransitionIn(Action onComplete) { // Update score when showing the screen - if (DivingGameManager.Instance != null) + int finalScore = 0; + if (Minigames.DivingForPictures.Screenshot.DivingScreenshotManager.Instance != null) { - int finalScore = DivingGameManager.Instance.picturesTaken; - finalScoreText.text = $"x {finalScore}"; + finalScore = Minigames.DivingForPictures.Screenshot.DivingScreenshotManager.Instance.ScreenshotCount; } + else if (DivingGameManager.Instance != null) + { + // Fallback for backward compatibility + finalScore = DivingGameManager.Instance.picturesTaken; + } + + finalScoreText.text = $"x {finalScore}"; if (canvasGroup != null) { diff --git a/Assets/Scripts/Utils/PhotoManager.cs b/Assets/Scripts/Utils/PhotoManager.cs index 62eac472..5651be81 100644 --- a/Assets/Scripts/Utils/PhotoManager.cs +++ b/Assets/Scripts/Utils/PhotoManager.cs @@ -57,8 +57,11 @@ namespace Utils } } - // Wait for UI to hide + // Wait for UI to hide and render to complete yield return new WaitForEndOfFrame(); + yield return null; // Wait one more frame for good measure + + Logging.Debug($"[PhotoManager] About to capture. CaptureArea: {captureArea.name}"); // Capture photo bool captureComplete = false; @@ -68,6 +71,7 @@ namespace Utils { capturedPhoto = texture; captureComplete = true; + Logging.Debug($"[PhotoManager] Capture callback received. Texture: {(texture != null ? $"{texture.width}x{texture.height}" : "NULL")}"); }, mainCamera, clampToScreenBounds); // Wait for capture to complete @@ -129,6 +133,12 @@ namespace Utils if (mainCamera == null) mainCamera = Camera.main; + // Debug: Log RectTransform details + Logging.Debug($"[PhotoManager] CaptureArea RectTransform: {captureArea.name}"); + Logging.Debug($"[PhotoManager] CaptureArea anchoredPosition: {captureArea.anchoredPosition}"); + Logging.Debug($"[PhotoManager] CaptureArea sizeDelta: {captureArea.sizeDelta}"); + Logging.Debug($"[PhotoManager] CaptureArea rect: {captureArea.rect}"); + // Use ScreenSpaceUtility to convert RectTransform to screen rect Rect screenRect = ScreenSpaceUtility.RectTransformToScreenRect( captureArea, @@ -138,6 +148,15 @@ namespace Utils ); Logging.Debug($"[PhotoManager] Capturing area: pos={screenRect.position}, size={screenRect.size}"); + Logging.Debug($"[PhotoManager] Screen dimensions: {Screen.width}x{Screen.height}"); + + // Validate screenRect + if (screenRect.width <= 0 || screenRect.height <= 0) + { + Logging.Error($"[PhotoManager] Invalid screen rect calculated! width={screenRect.width}, height={screenRect.height}"); + onComplete?.Invoke(null); + return; + } // Use Screenshot Helper's Capture method ScreenshotHelper.Instance.Capture( diff --git a/Assets/Scripts/Utils/UI.meta b/Assets/Scripts/Utils/UI.meta new file mode 100644 index 00000000..9b2622a7 --- /dev/null +++ b/Assets/Scripts/Utils/UI.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6b23cacf87f94639aad3b8e25b596ac3 +timeCreated: 1766012758 \ No newline at end of file diff --git a/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs b/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs new file mode 100644 index 00000000..920acfb0 --- /dev/null +++ b/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs @@ -0,0 +1,217 @@ +using UnityEngine; +using UnityEngine.UI; +using Pixelplacement; + +namespace Utils.UI +{ + /// + /// UI component that animates a screenshot flying away and disappearing. + /// Uses Pixelplacement Tween library for smooth animations with curves. + /// Attach to a UI prefab with frame (Image) and picture (Image) components. + /// + public class ScreenshotFlyawayAnimation : MonoBehaviour + { + [Header("UI Components")] + [SerializeField] private Image _frame; + [SerializeField] private Image _picture; + + [Header("Animation Settings")] + [Tooltip("Target offset from starting position (in UI space)")] + [SerializeField] private Vector2 _targetOffset = new Vector2(0, 300f); + + [Tooltip("Number of full rotations during animation")] + [SerializeField] private float _spinRotations = 2f; + + [Tooltip("Duration of the entire animation in seconds")] + [SerializeField] private float _duration = 1.5f; + + [Tooltip("Movement curve for position animation")] + [SerializeField] private AnimationCurve _moveCurve = AnimationCurve.EaseInOut(0, 0, 1, 1); + + [Tooltip("Scale curve for shrinking animation")] + [SerializeField] private AnimationCurve _scaleCurve = AnimationCurve.EaseInOut(0, 1, 1, 0); + + [Tooltip("Rotation curve for spinning animation")] + [SerializeField] private AnimationCurve _rotationCurve = AnimationCurve.Linear(0, 0, 1, 1); + + private RectTransform _rectTransform; + private bool _isAnimating; + private Transform _targetTransform; // Target to fly toward (optional) + + private void Awake() + { + _rectTransform = GetComponent(); + + // Hide initially - will be shown when animation plays + gameObject.SetActive(false); + + // Validate components + if (_frame == null) + { + Debug.LogWarning("[ScreenshotFlyawayAnimation] Frame image not assigned!"); + } + + if (_picture == null) + { + Debug.LogWarning("[ScreenshotFlyawayAnimation] Picture image not assigned!"); + } + } + + /// + /// Start the flyaway animation with the captured screenshot texture. + /// Unparents to root canvas to survive viewfinder destruction. + /// + /// The screenshot texture to display + /// Optional target transform to fly toward (if null, uses _targetOffset) + public void PlayAnimation(Texture2D photo, Transform target = null) + { + if (_isAnimating) + { + Debug.LogWarning("[ScreenshotFlyawayAnimation] Animation already playing!"); + return; + } + + if (photo == null) + { + Debug.LogError("[ScreenshotFlyawayAnimation] Photo texture is null!"); + Destroy(gameObject); + return; + } + + // Store target for StartAnimation + _targetTransform = target; + + // Show the GameObject before playing animation + gameObject.SetActive(true); + + // Unparent to root canvas to survive viewfinder destruction + Canvas rootCanvas = GetComponentInParent(); + if (rootCanvas != null) + { + rootCanvas = rootCanvas.rootCanvas; + transform.SetParent(rootCanvas.transform, worldPositionStays: true); + } + + // Assign texture to picture image + if (_picture != null) + { + Sprite photoSprite = Sprite.Create( + photo, + new Rect(0, 0, photo.width, photo.height), + new Vector2(0.5f, 0.5f) + ); + _picture.sprite = photoSprite; + } + + _isAnimating = true; + StartAnimation(); + } + + /// + /// Execute the animation using Pixelplacement Tween + /// + private void StartAnimation() + { + if (_rectTransform == null) return; + + // Get starting position + Vector2 startPosition = _rectTransform.anchoredPosition; + Vector2 endPosition; + + // Calculate end position based on target or offset + if (_targetTransform != null) + { + // Convert target world position to local anchored position + RectTransform targetRect = _targetTransform as RectTransform; + if (targetRect != null && _rectTransform.parent is RectTransform parentRect) + { + // Convert target's position to parent's local space + Vector2 targetLocalPos; + RectTransformUtility.ScreenPointToLocalPointInRectangle( + parentRect, + RectTransformUtility.WorldToScreenPoint(null, targetRect.position), + null, + out targetLocalPos + ); + endPosition = targetLocalPos; + } + else + { + // Fallback: use offset if conversion fails + endPosition = startPosition + _targetOffset; + } + } + else + { + // Use offset if no target provided + endPosition = startPosition + _targetOffset; + } + + // Start rotation at 0 + Vector3 startRotation = Vector3.zero; + Vector3 endRotation = new Vector3(0, 0, 360f * _spinRotations); + + // Start scale at 1 + Vector3 startScale = Vector3.one; + Vector3 endScale = Vector3.zero; + + // Animate position using AnchoredPosition for UI + Tween.AnchoredPosition( + _rectTransform, + startPosition, + endPosition, + _duration, + 0f, // no delay + _moveCurve, + Tween.LoopType.None, + null, // no start callback + OnAnimationComplete // complete callback + ); + + // Animate scale + Tween.LocalScale( + transform, + startScale, + endScale, + _duration, + 0f, + _scaleCurve + ); + + // Animate rotation (Z-axis spin) + Tween.Rotation( + transform, + Quaternion.Euler(startRotation), + Quaternion.Euler(endRotation), + _duration, + 0f, + _rotationCurve, + Tween.LoopType.None, + null, + null, + true // obey timescale + ); + } + + /// + /// Called when animation completes - destroy the GameObject + /// + private void OnAnimationComplete() + { + _isAnimating = false; + + // Clean up sprite to avoid memory leak + if (_picture != null && _picture.sprite != null) + { + Sprite sprite = _picture.sprite; + _picture.sprite = null; + Destroy(sprite.texture); + Destroy(sprite); + } + + // Destroy the animation GameObject + Destroy(gameObject); + } + } +} + diff --git a/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs.meta b/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs.meta new file mode 100644 index 00000000..5dae7eca --- /dev/null +++ b/Assets/Scripts/Utils/UI/ScreenshotFlyawayAnimation.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5600bf58913e468e883989b2cca4b0a8 +timeCreated: 1766012758 \ No newline at end of file diff --git a/Assets/Settings/DivingMinigameSettings.asset b/Assets/Settings/DivingMinigameSettings.asset index a393100a..4ddef8ec 100644 --- a/Assets/Settings/DivingMinigameSettings.asset +++ b/Assets/Settings/DivingMinigameSettings.asset @@ -77,7 +77,7 @@ MonoBehaviour: photoInputMode: 0 photoTakingMode: 1 autoPhotoDelay: 0.5 - paddingFactor: 1 + paddingFactor: 1.2 minSizePercent: 0.15 maxSizePercent: 1 viewfinderStartScale: 1