From 34f6bb215a021b229b0cc5a12e9672eee046589c Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:08:07 +0900 Subject: [PATCH] [Update] Config Page: supporters: Update-able supporters title calc period. --- .../SupportersContainer.jsx | 6 +++++- .../SupportersContainer.module.scss | 13 ++++++++++++- .../supporters_wrapper/SupportersWrapper.jsx | 6 ++---- .../assets/supporters/vrct_supporters_title.png | Bin 0 -> 11807 bytes 4 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 src-ui/assets/supporters/vrct_supporters_title.png diff --git a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.jsx b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.jsx index 6eff53f0..085a2813 100644 --- a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.jsx +++ b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.jsx @@ -2,6 +2,7 @@ import styles from "./SupportersContainer.module.scss"; import { SupportersWrapper } from "./supporters_wrapper/SupportersWrapper"; import { useSupporters } from "@logics_configs"; import { supporters_images_url } from "@ui_configs"; +import vrct_supporters_title from "@images/supporters/vrct_supporters_title.png"; export const SupportersContainer = () => { const { currentSupportersData } = useSupporters(); @@ -14,7 +15,10 @@ export const SupportersContainer = () => { return (
- +
+ + +

{`みなさんのおかげで、みしゃ社長は布団で寝ることを許され(in開発室) しいなは喜び庭駆け回っています!!!ふわもちもぐもぐです!ありがとうございます。これからもまだまだ進化するVRCTをどうかよろしくお願いします!\nThanks to everyone, Misha has been granted the privilege of sleeping in a proper bed (in the development room), and Shiina is so happy, running around the yard! Fuwa-mochi-mogu-mogu! Thank you so much! We hope you'll continue to support the ever-evolving VRCT!`}

diff --git a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.module.scss b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.module.scss index 7174d6f4..f873b328 100644 --- a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.module.scss +++ b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/SupportersContainer.module.scss @@ -5,8 +5,19 @@ flex-direction: column; gap: 1rem; } + +.vrct_supporters_title_wrapper { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 0.2rem; +} .vrct_supporters_title { - height: 6rem; + height: 4.2rem; +} +.calc_period { + height: 1.6rem; } .vrct_supporters_desc_end { diff --git a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/supporters_wrapper/SupportersWrapper.jsx b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/supporters_wrapper/SupportersWrapper.jsx index 85e708a6..21317d81 100644 --- a/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/supporters_wrapper/SupportersWrapper.jsx +++ b/src-ui/app/config_page/setting_section/setting_box/supporters/supporters_container/supporters_wrapper/SupportersWrapper.jsx @@ -57,8 +57,8 @@ export const SupportersWrapper = () => { const supporters_settings = currentSupportersData.data.supporters_settings; - const target_supporting_month = supporters_settings.target_supporting_month; const calc_support_period = supporters_settings.calc_support_period; + const target_supporting_month = calc_support_period.at(-1); const chato_ex_count = supporters_settings.chato_ex_count; const last_updated_local_date = new Date(supporters_settings.last_updated_utc_date)?.toString(); @@ -78,9 +78,7 @@ export const SupportersWrapper = () => { const filtered_data = json_data.supporters_data.filter((supporter) => { if (!supporter.supporter_id) return false; - const months = Object.keys(supporter).filter((key) => - key.match(/^\d{4}-\d{2}$/) - ); + const months = Object.keys(supporter).filter((key) => calc_support_period.includes(key)); const has_valid_month = months.some((month) => supporter[month]); if (!has_valid_month) return false; diff --git a/src-ui/assets/supporters/vrct_supporters_title.png b/src-ui/assets/supporters/vrct_supporters_title.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0b1ba7422de5b37f7bf2880c485ddeea2f0509 GIT binary patch literal 11807 zcmdsdg;QL;_ct!Zr9fe!xECqz?!~RR7N@usS)>$QoZ`N?6?ZGHi!bi(?((D0eE*5} z&CE@5Gn3qt3Pu zynhcYOlmsO+aRoqnv6J1#Ta1!?FGS7Oi>I5rYaik$pjGw=2NYlq?m>$>~Y4j8VR)i zwBHUjK)aXQD{w&B_zB@V%gyI8#k1vkc0(M^!wqWQ{yS83Wf(*DvC#_gD5skyjwV#< zN4Ra&$Sm>;JZ8H>yGRv?P@e`GJb_y2?hzK(tI_*l4Do~L`Q=R!;jp*Q|NmG-Ln&dL zM><}gPY0{2s%)?kG+$1^Y6lU9l~cMM8>?Ky+s>DNgV7Y>c9DR-zRqPA6}q`M_^SJ8 zlNvMO(D2!KI-}y$)agvMAJNb$g=i~>*Rz`CzNaTL*tgTlW+Mu?ygAm(Vs7$0Hx2qM z9cjYtSU3>a-QB&jn+04sx=rnPd9alSnhNH_lbn0!t64h$fxzg78pmHcjRch!Ns#`p zW8V^gg@C@+4FfxdSAkA#+y?rrUcV|~b@W;i%q(VsWompy=cGsct33sr5k}#tub(RM z7QRhf4tK3vVxW+{kzriR4!1j+#v|}FN{7}nJeGN>oj_sdxnh>*p2%#~u&9lM3V2B; zeF0=u)2T`bf0AT76ZYwSEsG7#SwLq0%5zU7MNjx_K6gqlz60t} zqb(fYaFR@848g3txE+9bdjk;_E-$u+wR2nD@e#(@4}1)NBj+#Yi_wd33u-cmaCW;b zMm`{8^A2)cu8L?ClMd*fGqCO%dp(ZbD!d)Xu78>`FnK1kL7aWQy$yS?0FE5B^+aTD z;4zqaoqk+s2s4X0CKUO7JaJYMX;k`M0uFASiRzhPHG;mF8!NCXGV3 zPA))0zbABc@NZ~R5eD!E?PZsFn~0zh3;Zhr>X0aEF(UXJkmpm|O)@&CmjYJiKUCp{umi-UYFTX9DHZON)Sl(?XY&> zRQU_vqvDXs5uY)CKcEC#xu*Oako!>FG-$7@>tNow2g>>g$_+(+oBs~v@qo;dijgq9 zeVBl2C##p=^S-f3)M(Bhm?_z&LDV!zsW`zkIkv!kjU#Eiv%fG|6qd%qs1l*ZBl$KR zW&k4#1wc58#LF1x`7VKc-@5)d6>UX7`=cg7u2RcN@P;q)$mu~Drd7@?2e`StUOl3pzee?f0VIo?xZ!F0mw*|C_-FZVzY_zW zb$@fR=O@+goZPfz8pTTLhl2YYy)1n5}t6a}AEBi8nJdQ~UDKHtj14)b21FX?(4c z-@$D2O+{Bew5c>_o;$@N5poH0OL&N)QSpq5Rc_wi3{v1doB0E~T&nK7k5%1wv88{9f4}`DfNB(J&eQ%(#5Y`y7mp4n zK!RYACeqmjR+z`_MGN@+P#2m`Q~eXeJIfR$osDbMi_w&*SZDkA2k#g2Fe4_iANN1# zP3gXLluA8a>fYVLzZrpzk6YO7V*^M8ZY^29Hz`y0^6>fA^6@m7HpcZYP9BL={Arw8 zI)#3>@1?Gf7d>`Sx8hzs>$!WeY7d)hDtL3f)&5*SZuzYvS1M+YMKCc%Y&my!(I_-5 z|Ji~3ZCiu(Awn%p-DKbeWt7TrJ5%&&to(D;bJi-iHNqJbN=L`&U@0=svrKhSGPh3g zSUjECKgLdqz}j%?vziS@xvQ@kSP3UAxswbKAbWZhdht?^3UTrSjo-T~LLS9C>NoC0scukA4atPnbo3Kou>e#U&Wf)h}*iWY;n)r?Kxsj7#tpm(Ot_ z3^c#R#c|45$1Y#1kow7do*e|qNz8yeYMTXcIM<|GaL?LZEBbnW?tNgHd#SO=d@hx4u2o`Rf7Ub)JLZ;EoT_wr_2C*>P1af%ir^#Cgw{i3MUI4Ph5Qs- zDXIWM*R2n4hKA8X z4Ac%t0nvk8)-FqdfVse3ys6X851!NIrr$kPd+O63)O8PwOCEH@yK^hZ>0PRK#{y_$ zc9dN&?V{@i`7WRlK|Q@)tWs6<2O+%XTNDC<+h2T`_EON7-5YW0kW*`Y(#MLuxJQ?z zO{0@r1#9k3!!w%dIoTI)IiO99o?T1fOfmT%wkC*pcXWK5TjZe0VLtVbO|>Q2>0hf3 z6W8OKVeaSk+&UWNe!7qEQ(++83}SNYnlAf4R{1_Iek0&>72o2;<>@5t2MI30qLT;Od8 zKibzqycR$TH#H)8sN<3;kn7IZuyW6l?v!J7@bR1QrBD!32K>@8AwR%?>Pd-N{J=|} zM_5F`JO9h&&1`~S1LbX~NfdmCJ8M*SIqoO7N z{f7dnQME7Nn588(eGthExckD%kaWVLQk~$b8B?TlS&=)g;Du0Lv4MXqMJYGX2 z!H(eG*g>d1wM+hU{%WZuVY}_ZH&nOz)S4-MqbaxzFj$A^4^1_l{O3kEuQ2RXsUnvr zX&9^Nh_rs^%!1e9NuYY+c0a#3e^r?7TcYAB?{AhVT8G2MwO8C-*gpI%(!G>NwNltB z#u{S*Zyo|LKE!rOigOjNChy*XlcTg*WX!jXr_aN9a?Oq@9^fbp!MXf41ZKKBI1Ze@^<2PmarXI=+ z^6l}%JJUyfOQU5xwLgso6|v&4k7gxa)Rlf|t^r?T@FT+`Dt#51B1hBz@u-vibvaVH zsi{*(77U73h*uNmFPwfblvyju-4n*jDjG@l3Qev_BLw((!2&+^3 zK%(8(Dgbt8HH)2^g=7GtQLcGdpao1l6dbA_fKIwwlDNE4sTf~FF6QVfRKJAJ>96tD zONeaWNqS}2V`vbjtOns%xhMw#a(Feq3;q!ic|pPQl%xZgN9RgxkXQ90zoJl(eu& zRoGf5e@t>QH08&a?8egofe)VC(2W9x!uAa>i(S18z+bCdt=^IjCxT+fNJ(891O7a& z&3G!L*;Uttgk8*(%jr@I6~2wtGz)l#l~(JR-mcn|ux@GgRJ3$hG#U1dGM2I;gORWF z4?Zjdzj7lKu`!OlI?ga$5^=KyZgVAZ)rm;&tQ)`F6%^FFA;)1E^1)V}}j?}Z}h&HMb9K5zj@^vVHziW79; zAP8X`=!CvjsKJT^?JxKpu3a8CA=0dFzv9>KCg!eR2N&%4mAW048OcPgp}hHGpnaNf zU|wpO24ma?r$#f0OcdC!Q2xAFT?`dDYjz;82q%$E&3xF9n8TqnG#may$-er6>m~ycMrcRL*LD{e4(s!L76E=iion#{01qJzp@cBA11VkY~P7LwJoC?p)Av+U> zl0-EN7lcWc1DWKXLDS2PJ742TJ`|P8HQ}t~c}H7az1CfTzJvvUW1hKhm+4f0pEWOF zbR2LTGHJ%~J81qOFHVJDsg(;so_ekr&7tIdbNc_>3P;IM*E^#h3fYAu?%?9^F!PqP zJ{83_IX4|`AdQp5h}Zw~djMsqa@HK5MEI&*%r?*85xggQ-r+ z2?F~OVz^O2IEiic`0=%}-Pdycoq%xCw9ayxgcC3~EgdD928$1Os(OcIqVAJ?_}IlfjLpzMQWY zEh8h%ta@rJVBmkc_6AK;TH8;+dUQUb>0%IzQR3i49DL&br71U4-)^{PyZf|IEV3_& zoB4d_pQWIHpM(>!@g^(ttVw2;r&g?n9685}t1OpohlBgxNlTB3(B^B~pL<*5aQ#v> z0gkjv;54wk-iG5Z?N!oA1>(<5l2C}Z9+9#Gt^!3Q8os9`~F2%||+rE>5Wjor|l=e~^f3QhKk z4xjp)2=qLVM;pBne+lS|O`g0`Bm*h%*Uq_j(hdJ{@uDu|RoFu$&We~(syxEJCctE8 zK9pVge9+7#z@~KOfn$s?B8~9r_OPNyk=Kr6=Blme(!KLuoQ%Ge{{qUtBN}8Hlq!`mrVm#@S|Q zwde9QQ|nnsy<_B2KJqpz=hu||wE7AL#0l8U*p~K{q)i?v_~Pxa80vHat_U)Y<96AM z98T24)2C8#nHJU~P}HkD!>to%Qc6VMu25QZ2bQqt9ZXf(pE?J~_ z8|VHpM~-4F5?f&%a|)~cp3;m8a?5V>#~Tl=EC$=8ww&9Rm2uuZr6JFsH-o>6rKoR? z#lRW~ey(G;c}%TB=b-KATy7G&NED&`q?HEUjw_D27O902jfX&KK=I=olzobkW@tE; zq*@Z)wq1L`>(*K}ft$-Q#Wj+PbdWmO!{5w5PeVPRz#D#dHDOpWs!y%Vo*f$HJA6%# z(?8V{zSd~PjXl=$;VO0RI67iUzZ22fhsCJf?!7QlCr#SZ+DfWkV*yx&H(Ivj=Y_ik zH<{&Wia^%%=8p@J95*(g1*|Q;>(C|noNN5Jy#m@o?n|U zkUnUKxyQ@Yt$km1x*!^?LrSK(lW-V)Ev?anDp(NOL@;pVV;t?!*Dl!_4D+qs2@` zqn5-*m_iW6WVfbKYM!SKt{8p-!0k`+J6hC+o#!PI>d8jLzHavc^LJ@1gFyPYQ&s{G zE|8XmTg3W(YfQup@-aNp+GD{7{%4AidTT8z5TijMk!;tKuuSs+4y|eBFCf97(1r-F zxHyC9fjTac+n;$IAV#$qfGnWGLm;uh$<7olovp1*>^y}zY1p!aZy#5hfb{RhoIW|L zuYw_&cdkMHBdXPEAwG7HV(aZz zOrx|OVg6%btTX;>h4f%ucHWp!FKu{ybJq~%>2p_rrY?j&k6}l}NeYC3U=n1iGWo!m zk0>LEm$6yUiqzCOU3btMS3tNNuqanI6Qvn6C6$UXH$AW?%oqM7kfuUlqcG+leK@&2 zoU|!CSMEUkbe}?K6F8B*DAxNeO;0K%PK-nsmkT^Ses_fJZ?W2rs- z0J+~1tx?YKAmzoYTCHJ4#tph6ejQg$Gz={|YZrKvSPvE|o{#4YNMte#b5<|$fWLu$ zpS8GjbZ=3@JjZC#e$!*-JXa0jHcmT5ZcPtHt~Vaz)PRjv!(;-1R6kX5)6m9G z;|mA`5Pt@1XLQp2+@QUY>IA-~GOynb7{Kxk@X%KJd^gF|Mb`e(pS=XGU=TS@-*8b7 zN2;7*lOz@CHkKt$KWpa|^*KpUEH~2E-oR_F@V0E% z%Z=U$R4<@3o-nQVvHRn1dv#bpEL+HX1kBI~9R3Ev-`|F+Qq)*)Gs}9T$OH#4=SLl=V5oXbIc%K@E;dznIl0xZ!$X2sQemA{V38{au}WfFe#5m0U>G%C2);6 zLY0t#Y!)pI0@3)ng9~#d#or^VA=49e)z9Pm;#Hn?aGWIwFzq;h{rHU&Z@V>S?Wm0W zH7G<=#aa!{Rj~T}bl;Lo=Pa=E;H5&t8T#i~*j8%ab4yd++L2ERr%ReBP|RRl-z3$o zF*%=$T7If*-Z$V1_FA)a?1} z!?2w!89n9Xf%D>P;}F8PVthMmDix8kN#Y6gvfTKBK2OMi9k{JNhzPzU<^{rsTHL&!XuOl+I)F+BK;`E&z6) zc`MMWQTv-Dwd9SWa1qXtB=Gl%pJEA<&H65V%ckpq;`Lj5Q?^Tj=Y^@i;M0|@!*#ON zoEKHVKfm|>W=N~U`@wy?nKG;21Itz{KQVA30b7p1eHi}ptWN~Kbum`fCC{!KZ_Oc7 z{3F5bd5=Xc^<43YdzM!(Cn|L`=c@`nnl)$l?WSwmXnH^{IpJa~by~(_=f%jwP(1U_ z%ypXF?w7UDoQIv!G^AeA)LCn0mHcG<;wFC-T;boPPs)oM+j0c*N+CG%wNVX<=*n5l zvG!)M9H3?f@)1D;y$y%e0he;g13vF>1qSGk2mLoo%L}8Rx>9Zz0R-1)IZVEK++JDm zoMB=`n)LMfOQRga8qPU)^Jz()5sThP37-IsL4{6x!Hp>dGiOU0b?&GpXN~NBiCneQ zUDRpKt)a!&yDMcBKG(^Vtzml7o5l(7knnCOiF$?Y zj(N`90)%#*CD}I2*pzeNwc;`aBNyWH2G5rJBSf)nNKf?FN|l#3lM3F>Z_1g{G)zAvBIqV@%# z8=C?}{FqLup;$zrDcVr$3l4j=E&)Yf8zDc&WYYKZ4c&$yVohq>4*G&ib?N zET#oqXsF|daz}=CaT{i5_rD)x!~SM*3~%fp2JgpI^nN6YV$CX7WQZOUM79nCEP9di z(*)p;w=4giE7<%NbdfhAL=;Z`$Hw)IytJQP76pOBU&4~ni6yOVJFOHWDk|?&ERSTX z<}KU%rihDB&@sZp%0BMiq8WoY@9*tTS|0UW(4cXlCtuR##oQPj5ws2Jb3ebyt0@jb zmmr^i^b~xOeIB3gZOjs}Tf3xYTzJtyd(8lzDlLPPOutyq>Knv7G4Tn03${mk<5H~Y zfzp|lag!C-*I0*;yKqWXA%0ghea@?@MjSbS!}6z&!a^>QmO6)`8MLkoQlU|5_5u6a zjnM{DQw=XU4T_HDYhm>`Assq-)_7;ly+(9?SfY3t;~pdTAQ0L|S8N9WRE>dE4kY{K zcH!ub!e_D*=+#^T40#1J<5~1L=&*Znz8oZj%bLP>e*U$PYo0v6xw#7bwY*b;pw>+U z2v`X_Qa%2{wj!4sTzh_`i#wB63AcD6+$>En_oJ#t(mM6|4a7?amoVs6B~(`(POc^W z;3=gyL~tVHMz)SY^eJa<=3kx0oVACxP5y`%wfO?5Estv8?R$g5apizXyHF5FW~|zD zOhEc*C6t4qMtJ$m9SDBE!q@dpk!z%hX6Vr)_!H*~|bIE;LKU}($; z_X9!0JXbT=QXXqv4Z&SBV#y9TLAqrapSiZI6_#^ElMuGlwXgwg9K z5FWcdul()3=PqCS)WTO)^v^H-DQffcIE2Jp=D4pfb!zW*HA^`24U!F}tTR;;g77(` zf0gBzqaw`7OWYlC$_(w4E1eg`NkhA$jNF(WgtZ$GP`Het$Bd}#;a3?PhmxZlIh&3(6c9Q|w&_!udNw7y1YgxgjtA7aXjAgBDFoMiaRZylP4(*3mX)yP zVW%bmA`u)P^l8NE0DyQc6OKO~L)Q@F>JKuh$_k%Bu zQoE6cd8G8@IB^P#M!+Q1+Dr3Kc9d{3Z+N<03>~dw_=^4-r>U#UPt!zlXd|i2}Vs&d)BY(qaDv<0S1craHRwa#&(3=GLDHrIb z5uPt>LBH6%qb0RUjjz>};M1M^y7-O3kcMQ-WO5c*ouel*JpP_tW;=UldVClsuDbW6 zU5eX>M^V?cyax)r(onvgH`n0W%za0z6Cl}7VCo|X?+5kjEpl0?9? zmP6(`##349^sMcySaikhn)HA7?r({Ga#LYW-pLn(0ST)WUPY9m5Z(>kt(ydaGL|(K@Gs%zQ-DP$ zuY+|Js9`2g$qyJjs%7Kj&v$V_VRQ8&uo^= zFjaGRRGbh2DA!~*PL5Os!VaAaT@4Q|9&g||v-NSj_rHkzlx$Bh==720-A4DAiLySa3=YD2J?KgQ0~Cj4 zybD}bR=Jex{H>pVn;cozRklG_f<$B!8Cm(JpHZpJmyT?99ZM80eOH6#J*&6z;YSbc zdC})^TqQFlgcVCkhw6THSCR3nK<98dlJ5<@ENKOSllwjoewK|_2TH_z5tP<96Khs; z6>1@@3@W4byT^%`twLe7NrI;ld9~+_S4Hs(J-stD#TM|p`TyNYu=5^rt04e%45AMd_TDC$HN zT61#_Nm=_X7bS?_+j%5y9eUM>gJSROd$ z{wK^^F_*LY*@P@1#m!M0C{oyb)z7=^7@t2$>uwEjH|SoPi_LWviWzhM;XIQemWgFL z|9k1JW583~32m?;O>e3An%5~=T1P)hLl40(cdIRY*5@f^hitACcZZ4>pGy9x*cB%TYFkR|tV9AV!d-xw68DCkg8(j`Hx+C^^Dh7-d(oo4L(so-`m#axgk zxl@+}scGXGO9(0YCSsVplyu^YKz1J^NcPjY`6qtDRnh#?7$0+@sQym9KEHfG6oVm; zq51eP)9XhMC2wkLZ!Pp!*wR+^i8Ok|w9qW`ch6P4h+4ZrVmng(;o)mCZv5o$uEhTS z=~R@Khc|yesjc8{BNQ*Hm2eqogoJu&ZSQ-^G>Q~b{`=E6hIb|G+m+jDY_{QzaaHwA zu67Rw@MJiO8vJ}CX+hjFVnl$g4wJ7r%w5RY^oe?VKEsN1Nq)hf%i22gqG9(h>XgkJ zQDpgAH8Vn5UhEpRlitPBeEB=HVop<16@_mxcV}It&VCyAqj$ ztHW3nz)6)8Mh>g2wV(x|m6QS$_sV&c+g%NWDC0#t(PA7~lR^JKTrTl|HPdz_5$aTz z{mK0MvS6jJmNkrv6pKN%{ZGb`nI{rV-t79&^4U5t#`2ari>t&m8lbTJqVdT?`E*_j0gh<=c$r+FgGae34&ph=RC?he*LGPB#wG?&|s+Tz=h zN2LcJazgevpM3%)O*wBe_ayGN;+&vGCMt-KR9U1zov2 zsI%jHIK*jg_i-j>uoK!(XBUIp8m@BCNot<)hes@A)*2tGjWIr={@Y`b+D7n`SxGSb(ALF;@kt&R7Wn}_`4T$in(ZXcgR!RCly;!K&e zuM%|Z#oIou_o?M2^7l;TZ92~9J||#RXpoxq$-w73oOwvqr!Fq32EN&Q7uG6dEmY$JjGR!(opgxR;>^%euy4y>2|e#UUeo zFFR-8v3rDM@Pox&#)UgQ?M533zCjFf8By;7lhO9(B%e}0M%vjD)BB@1#^d(aGYT$t zftsoU29}J}y)F&rI)`qRIDI&~c};H~{vWQkG!*A+GK z@BEi9_*U?d{vR3q_4yygsMWr^k9|obubTPEt&e9nTp%_wkTwJDDWi@R%-@g7= a<-Q{JDQHAP|L|J<8