From 4811f08cd1e4c9b43489bb5ad8504de25e141ff1 Mon Sep 17 00:00:00 2001 From: Ken Powers Date: Tue, 17 Dec 2024 17:02:31 -0500 Subject: [PATCH] Upgrade valibot and modular forms --- apps/web-next/bun.lockb | Bin 551746 -> 552226 bytes apps/web-next/package.json | 6 +- .../src/components/churches/churches.tsx | 3 +- .../churches/searchbox/location.tsx | 94 ++++++++---------- .../churches/searchbox/result-row.tsx | 2 + .../churches/searchbox/searchbox.tsx | 6 +- apps/web-next/src/components/comment.tsx | 2 +- .../src/components/media/player/player.tsx | 5 + .../src/components/media/player/waveform.tsx | 1 + .../src/components/settings/church-form.tsx | 22 ++-- .../src/components/turnstile/client.tsx | 2 +- apps/web-next/src/routes/(root)/upload.tsx | 1 + 12 files changed, 75 insertions(+), 69 deletions(-) diff --git a/apps/web-next/bun.lockb b/apps/web-next/bun.lockb index eb52e0d0c187733633b93fa16e1f1d2b38808193..8c7e9235cbed9f7496f00e5b5c99d77f7443d1bd 100755 GIT binary patch delta 79182 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 T22GDPqZU)8;xwnb*_!_kGdE0e delta 78149 zcmeFad3038+V575C8b4?cPZHxeKU9{c%Q=?9acG<3brACG}sy(;INy+_6{33{1;|XuB!S2o2Y)p z;d-zY72N4?nZt`6mVzzGKiAQ#~I zAtcfex`Ky;DPU*tlNOOkC-5au`W@hr;6m^Sa3a_d9O&>UQ00734Smtv=D!Y#KLU0D z?*`@ZU!n|y8k#++JRG9(NyW1Yr$i#pl0hBSMa7k~D#&>wn3)uBQAiycpt91^c`ANr zusNxtH#*pv6tB7zJDQSLSW#YCIj1r*AC8}^Z=j}TU_W` zPGxB%^1S1n>7TAEo?Bd4KpUUKRqj1dCch3I0?sIyH6?3W@x13OZ(qHhL}N1Uclh*C zw&7O6#^jFv?Wi)nCfJ$Ww(1y+QG~3;IH`-f+D0c<6ciR$(rTvFhk)wTa!^KL?Bvq& ziIEn^*!)56x(?K*P7XTG`nLHwNvJb(gMx+~tA?IxFH1Dr4=$6h#udV{;)=<|#KhSntvQnl zDre24x{Bi2l_itrMczekMY-jt*)D$qhJo$MckE|f^3PmbE-`Uj&{PpEWfv4zL?Tlu z*p7Fq=6?!S%2IIs=`}A`806&?U~jOpMe^)zk`Z|?PpmmEG?N`LOo}kZ95Wx zVL4EKI`$luV=0~2J)3}uL40&s@IWVWU4F9wLQIy0=i%dTov>iXYn#n4b7@J zk(m>TOdwz7PCd_Fw+d_u9~F%9+YTQ{u2>JS1=xSQttHc4)gF{zn}X_2*#ukuTu=i# z1Z)k)f^~kEKHCZ`+YGAoV-D{CWz!9yYAY(9K67?)Byt&C&Z!JqG-_Mb6Bo(SqS-S_ zS*9x#n-kd(VwBWaRF)Q0PN7HL;3`)#d3t#T=~n#H{G3#oRXlfAMZpu3Z0iq#8q2Ab z<*`+MSG zkl4rF0iil^(6IaekyuK%G{%X8L*fLII6!m`hBqGSjS7}Eo{$kE{59?iK>4sGDBs3r z*%4YCv^bi^uJEv#6<6Ku{A6)(d|TL;$}HNao{K}D4QF(u*x=E4$1?? zp!|3gsD>w=NKo?1a2{&lu%L3@bgi(hiBcKeO6_K<*ee0N-e^x zm)Pl?SPL6o>&l~RzEqZRmf@8NS0Bz^YV%*D9_8N)YQm1W&RTn##j5I)NywMRZ3CCM zhNppYPK)cUL6eF~Fe4I4g{!+`$X7#y!Iof2V0Y% zgH5!`_YD&S#s8gKg!+jdPH-0H>cpCqSaK3e$p7{h;Uan%uCxVnv$SaD1ac7T4l#rh?&8GQ$rf4^{8IHjO;8h)Qn?HZ@4C9_I24vBMbKDq*E z#wr_b{oozp?QRc`msQnABeX-fproj{yxY{u>+i5frv$$cu7NHAHIVjrLi#Q{@I~ci zS#z*qB>6Jn9dr%s$#AU_Go}?*#xN)yt_W@gYIgO%N9B96+{~U!vysR+SHX#(CQ4U_ zHLLA~iECU%KC#F+*n| zUJt_+uQ}w)%)~LeJG>Em&;zzRT`WJPzM;z5g%t&r#gVxW+6rcrR20nO&Z3M}Q?FAV zvK7vnQaoL4#T}nac@50yU~|jky*0tNEjzY&^bu=pi$|@mBSA*1nE&=;R(&}rXw|Vr z-}N?(R)X^HvS3-Oj#Z~VVcoIO;kz5GJ8lIvzjto5Zg~fkbEg$eoUI^y39g`g5>&Tm zl+T(`P&h5}09>`-399=ygL3OK$BPRp3TMxXL@tHn)^n@pl28T3pvEC;Gpfgds-QpE z9_$RJgRMYy{|gKhz6dJ39s@OAmw{T43WLS1yJUX-oUQ$==dBqxff~($pi0L;b!$dY z*E;6y4qCK1y((v`?b->TEc-CYcIhop*FN)#ZTW(dS;doPM zg3Gc`UbA=T^S9X*Y(@b~Z!ex*OrOP^E3PaK5`<@im|fIqom^y4gYhLt}j&d)r=BRxr7wkTX92 zRg_Gh9C?jWa?NJ2F*um3+kqdwW6S3U>kjRb_W8SZw!aCsCHEn)6L?eb?V%k6F^yVq{FtL+&%$R-E+V+a0IBy^w!^P+odJN;anIV6ts$JVm*K&jt?s(WI2 zdFe!^C#%%#StX^FpS%2rKe0C4>5ye49PQCTLA&FFzPma3vN;i}*1AXA?c}q}+@5i&kJ)qio3e=i&Cs?H(o4o8#xWAoU zQIe%|!;IO}=M|P06@Nr^a_(P1IrSw_)ji?xOWzBlB)N@s_Jime+`B+U&&>|cIn)|k zT71EDty&}C=`3>_mYkqLuV75(}#TlpkFl)`*=)`PQ z^$F=-_(b_>up<}jrGSF@VYvK}xQGAhaBBz$_wZ3?BDfRx^vx;XiSm~c6>2yq!}|4U zQ1$2@z8C)K2G?xt6y~#TG$o;F_U}&C^2CFzkKhWIqVhs*QN>%~nx?Zm+j5V=)zETK zM}(_D4P-T_0h)**8Q}d#Tf=V!)o=jHpe0=xIISC(B53-}Dwt6)v9vfc4K5Fiq5>^U zKX$bh9D0oP(9NJK*qdqN{C!XcyaZ}}xER!RkARB%+Z@iHQxZNxugbEzhOFw~F)JZM z3(`5Dde-0Jv&UO~!U=ZbbnWg%x|9DtTn(ne<@(wl)|3B4R|n4OY3msQSA8p~M}}v^ zW!Taaz0sjdremQzaC9$w;V~4DD_3)YD$42Yg`Y0;02Rtl#k|n9T|gPU3e-@w1ZB{b zK}M(JtIA;75Y7fQ&;OcZuUZevUpIrgm#cD^OF0ej6u5Ad!v^Rwds9E#`u5}Ocyz@* zs<*Xs(>`=r@iB;1Rn<$~Koo!)`40W9f0lzX`!Y~|nGY&rW^>{$DK3hhdWE^(V4bNs)0CgG8UClXWOV2{xL|Fuu* zet#QIhqw#x9me?o`Zhf9j%@3-3(}74=v^Q5IWkt2xJA7DUVBXVIL}7S+n^>*HQm(u z_2M||+jHSZ!{0y83$gQfFVYqM7^tvLJox@)f}Jdh2i~8-HAabB^?$+%j>grKN~RZO z@oC}qcEQg_9^F6j94+xY`yN}adIhK`zY$pm-U+k`~1f@?5pBF_U?@zM%6VVkxU8i}GCHWB%upif{O94OYA;0Z-!kJ+RU^Sd;^y|Um{;_yt%@L>OJ}wkK3991j zK^Z*F>7UFCds4kG-^RmB^Q}jVDvOy(k;qewzv_RFe68|lU1Z~BIM_&&Gp+>K8`OXu z3(DmkKm}F{m!AS^sD8T8V&a2^Se50|%d@zXD~=rF_~D>dl~$nYOLh3`#kReo@>y9` zy5f5$eBp2>C`0a|Aziq_VUzJTa(B}c8TJ~e5rlHFn{A9F#$KEU^XkX*g`0whyLPL(5j!;Q3!Ik{_aBRE?Dlphx;Eq;E9{ic z2Nk${=pVk$yV=D9x|)3o)Y@nE_-d(*yV98x?FQDD9fgSM}nh4 z9m%pmEsKd=DX~i>rrf;y?D9Jr)OGzp9VOPUwU)c7^T_ANv}pJ6z~wEI_9h1_>iM z3F^*?dsBk6(Q)sNAdmOmK@IQGppN%=kTxdntqk&b|7%dg`w>AM??pk{*tqvVkjML; zpk{15`ZWP@T2MPSC)$^gJvB@%s!#p3KGli1wYjCFP6^9BPHI?~`n5hagcZ*g>mnOpoaHNK^^a325CicuVawMdr45k`^`Ze@1F)~#c{7J$m4x=P*WWD-y>4B zM|(j*am+g;NShS*1_XJ$&kAaIzc;Ak{j(r#ay;6R=sYRdF-9%cOpbfYgF4>d57MT@ zy~aTv?<0d6-j@Y+Q{w&$#P|u+oE)rL5=;8NV{mRszi8)9kw|t>Tb$#cN9x2x!~S(J zXGTdZ`W$SK8uA;k`1Gb!B-lAA7VQf=DafCa<6l5(NLV>$`%l68!cx?fzt>%p6te!D zTuxIBCZma$oeEQ{$-&NPG5>Ea&kIXtF{w@p^Qgs}9MqM@{h!fvb=V1iSm#J&04%EV z-c>~3rjoFpSydGC8)aILHViE|8#ajAqQTD6n7<09mKuh2zYkMO^q=cG z9AmFb3a=XjQ%U^GC@q7@8|3ZDPB|_T86Bk0%!xim>fA8ZEGrT@FHB7%H9kyjC3Sw7 z%IwBxKVj->QnuXZq-?pt$MeOQAbob<6cV=LZ%CaPUeKR792;hmpw!G9e-9~j$#!sX zcWWAkK9?QT%!&K|KvBLOkfZUx7(>87UI;rSWUIQx^LMKSN3pl-gVVcLc9 z=zele4(CNKE_c2xibXGkWe4eFbNol@bMn|VF9&H0 z;{I>sXsX&+Jf1?T8)wjdSx~ni9=!*xcd+B49B)UEcX8Zn7SvoE_xtyWgm)13x-yt* z;kr37uQtf5iu>CRl)w-BV6uS4W=zcQPG~4P?A6mqTBj1_-m^hXb=>ck6NyZ+H8S6B z2+|hDy*Gorg>klXHRZBTb<-0K{qT^5gC#ndK_F3a)$5!Aqs?k~UZ zxHKnv9L*OgC;A#GLXy-m1H-L}(tL<@c|7W26v4+RjVC2LScNW%c{c?$SH!)#ppN%r zg0w5+{>;JFGtr>n^XycJ%(RQa*D!UwLAW3uF+{UN2HZl5SwypYNu33O@lP6NJB$%Hyfmm=9QXf%ra?#!cZ0)%ysP5T3x}&4EXL8l zk?N~!qb(_Pa_ERNgS@Nb{#9@}FC{2o!FmdY5gJ(LN74w61D3I1od)YCi@j@tnrq_z z+i*KIGMF0CAZ}oR}rU{rDF0dieVc5hQUtuhaX_-4Ce38P919} zsvl%biTSf(%1YH5>pd6bEoZ?)J0-|3&LNiTmdE|eaklFerK;bTizWRwK6tOTpMT+mL}jx385m)#hByo~Ip0RFb#*>Wb`wQJ?;SAp5OWvAqHn{p zgZ!&<{Kf@|8K+}NF041DqCp13vlDiPt({JFpJ+!ljLPUtF)fMyI#SM)l-dtdt2pAK zm_M*E5i)Yi9GIen?rq3Uf%Fe6h!ojEk)U8{%sVm2yFKpnTY&@78@(HbxttR}AjP&< z-PG)?_OerowS4WEmJ_{#RF5G2r@pBqPGg)IHKHs&8aDbXKIf(u~mK-G;y zOJ9PW3=4WcUG!pS|WEADOU?ATP~?IQQr_! zR=bvzZTCG=_KHqrnl`F$Dk)p;VN$l-ul3rH>52NTBE`9UNsj*G2gR}?OXrKx^ zdumRdN$X*ys^(#5Oan@#1pMQUg=YrV{h9~kUWcIW!MJ}$g{^}yWST5Gz_{vJ z$5?~N>tAVSpj}Xxz!ah|O74W&U@o|rIX(;jgl#K)Zh&cavUZJ$d4CDg9*+BsW?So+ zB9!Ro7$=Vf*(nf?Ox(n*BV{MK4jNy=)SzAK2VGzn2fLnM3sX#n$M)#^uoJ`Eon~`v z4c6mLTDmqXrChUf1ao9wq9bzmKv+2E z&Ca83o(6^;Gl%I$-pQtRpw~BbekA-rt5LA?!I*y;?CeBq{&tw_5eKeLLEZYeKkq_2 z9Ng^C#yXfhz)H^&_@!g4#2hdO1a%wY{$&^060H6VL*{~d#wt<>Q{Naq*sYE+V6gXL z@)#>O?POkT`$_P!7L~y?V17`*;(DKBVLb8(B<;z#*Dc6cnuUA0>4{Sf6&3PgKG(_N?PBPqd{CaTZK&4G)&yLqXo=xZmK4MEonprv!Cq>(I1+ z*%19VOjk7sGB#$XTq)1h7UlS}NvR>CdSiAfL~}MgTKYR3V~DnAr!KN59lFct-2zkR z?JdAJFik!#o5vw#al+>^wj3sJ+ma8$w9?oHI$dQCH|%s3*{P1;LIUDWm_mR)E@abp z%ub_DS0{#;UC5salg+k)hhXwzxCTW(Ql3ukUh5$3<+vWW@P12B^K#t(@EYqKLT-7? z%Ma4F#JwkiJl{ zPKO<)2BIfkpO^--NXbI3xe;%|>@<)WAHdWXY8V^yjtv8|V8|~QHi2v3xMv~#`c@w`&;9_DO^QXd8 zm1P@X@`z%^_Kl*oU#lbB40gSUt zVUE{1sCh>Zg6rOi`&(=646+;Wza6vpm|3?Ze8fT5n-kRiE$(kX>wy{e*xKS&8(4O; zJssAUJZ2+daWyOl#!bV8G5;mlNjC3}?9|&V3HRaXNw6M4ZCQ?PKDWocM}xGwxc@1t z{L4IKGsy~S&=#z+Rbn1T*$prr32__RbG;<5r?| zkoSK0X!8BIfAgJ@$iOg1Pu4zwY0eXFtd)n~WpB_z!=n>m;R!TqNZDJ~T|wH8xF5Sa zvD|2@ng^3(?D^zAm}VS3WCM!c<5n26sSp z5f%&5SL8(RBt^sQ-~S+GuhOb{=o&i{@b~;!v`KE5N?paz*Lbve4KEft%!!{$;B``R9dMvz%=t2hb=LG7py;wJ%D~?-f!DsRnRsI z8%$oaAY*xUDnzkh=kpnq`S)E9OJd0{{OYhZGfHRTn@8kmd=IE6f5Yau$H4#@xt zCWQx-6lH~nqBlrcds*qd6N0=?<9ev@Y24rOVB&PiEl#x6Lp-Gl9eNI_ex`OM#~D&O z=HNos$#UPKdBOi@K;*{n_kn_gG zAn%K~cWY4dMcjXf9Cg|cUEl06yX%ItI64%@vHy}Be;FyY#sG1z{xPhltqpe^`ZyEJ zXyyit z3~DFk_+MU3mHTyYRCwZ{>j@h0+1=BhfH3g>=?=bbp9;DBE-g<=-+>-26h)l5q zzY8`jET{$bgcqz~)|7cL=S;fr2rN5sUGz(p4ANQKj(zc9y%1(k;CGPHfZ98VMlad3 zK=UAjKl2XUQdn*5B*r4!A+1q%F zy^mo~Zpu!Ds2bvttfjC4FxK@4V&2Xm?U#7;l&uO)J(akQlpXH^%DxWE2`k-sY0URu zNkmk}=$M{Y?~nWUylP{I5&oW=7MSXWEsOc-uO%Fs@np;^2=ac7N0*~p=D?POayeJkN_qYYN9_HV`hFAB6)>GBi6Az*znhw5HT$-mh}8ReEP56!E7-x84XaIF3fWI1XsD=9 ze)(%+Eh6Th`0yhQ^}iQqvdt~ zTT)uexs;paoVxl0D`C0V3h*pXOk70qYD>{Qf>aSbetKa(-di$z}-4R@*L zA4DQ&gO;)j|o3!S%bQfZOirD4*GgutP z+-E5~>K~Rd_qmBHg2`e(++bEX#+Y+3ft(q(L(S3SKBk=@{n{MAl9X*9)*fcU0YhnGimJz+DE?D@~89Y zK2oZWQgk@>jkOWa+>o6DA(%eT@z;=2?`)xuVb;$&n|3gDEKt$Be^Mk!UziiUo78Dq z;G(JD>O(fQay}_7FV?dAVP}MlO)~lmj1SWm=J-?p#izlEQqh-Sp^eewzSEMade)J$ zhGcO2@TFMT=273XcZGG7k+KuFfZb(1>_GW%Vc{t}di)Psl(jxyNNTWc^V3-LS=eZk zKAU6ZkJhuy32viHVW)-`Y#?QAWCBE6|DNit-(}^z~K|cpA(*B`SQoW z29RZAqXriC%w#lYY4`xj_X}`h`+q0uW5}b^VcZV0y*^IrOYs%=ujspqYuFtM%L7nUlXf^CcrRQxZ{{r`rH>5 zx+$DnpVc#2lKq=Kn1n;&SHs4KwJTshfQ=P11?TgSGvYA_`BgdoEK>5UJ-)mNJE@*E z^1SeL5avZsg4r(;Y$bJmSc?AmrzClyMd9L<^kkBGudCNDnv(3%8-4BI6jJgQ`F!$w zm8r>O=Dvq`A|i_p+g{TYFI+zCQF0vYfDt#sK)3BizMu(k)!(nm|VT6kp zI!3E{gaqqh^H_1dgxT4uyqr|qCwn7N1v}v8^)T6hOZc4N2N<7E@5=FGzU?b5a|Wq2 zdB?L7on>kO|MkXRq=IYgJUjUikIgjwXyzX&1q3(r1Zh$ePamsn=$lGH#;`O_iAA4+ zjZ*A-O-x>QR-w^Ny~ycdZ|@?dg4Xvxz;w1{v8J~}n^}9pp^IJ$W1_KvY$SC;c+F0> z*6(4iH(b-Bx%IX^AT5KPMoA_ITk?l4kAUK4=(rZPB$l(gKr|&ivuXxW4znSkJ?UGR zoYy2+byqB!$xoMUbtx|;(3S+7gy%CN_YY1_)B2AAas?# z8RiD|mF!fA-4V1U$6MR6!_McjQz439ws{`WKJOU2HGVyWpJDO!fU+Ea7%5qd8|m65 zFdL3qubx#Y^1?fdq+i;Y_p&)56!Qx#xf(~|#I-QFlrsUA?ts}VGNxpwv{fTo7|tQ3 zMpyPcunfV$fOYQI< zmu8v0ahM8|hiu8)VY-fBm==qEtdimL&W!d}Curxew8AtcSX$Xu7Q+U?>~6meruuAK z(GCfh>x48Ora%dg$w~KjFf018itIX;ls>|IHk`{_afs> zZJZP44w7ew$)xUwhq?Zo!|gaSbs6IIuwJys2cyKvPcV7GMoq7d)=qj#K$pS7ku^Ij zh)kIJXV=6!*yyks?|73pfQdCP!;1_KYTwUEdL_fWH$W@l5#bWEASc?J6rbd>#LOin zzu+@Q`ze^ar@#}bM=~`-Tlj*7KL!@IXLhEsIW2~c51)5@PRfNZ!_l!bh6MRf^-Uph zTDZIXjg%&~T_BG>$_ww2ZRjk5seO7eIp)6xlP_3W@P&7@7nvI7Wvt*kdoUZxto6x_ zyLiF-V{-kGT@rJGlciq^QzX+Ho)UZt8xCV>XJPKvH8E~Fz7?6gVNB9T5C?`$X!Z9p z6Gb$2dL84rFF+}P?t#hq49sRes)Q9;hM|LxwOyhUIPo5s)L=sxYM+m+Q0aVnEGx*{KjkA1ebpTI+5$GMTT-WB$1?7nv+!t6@50a2X|kfyu|* z6>-Qp^>~;z6aR0dREp*q(F;$o`=#|S>u=<$Fi+n87$&pBylAf;USvu*dJmGaF+n@g zf5X`Jh@8ni6QioD*E<$2(0;=c>u1F|JTQRSrFYdM*{KjMuM7(N;|DMen4P5kdQo|p z$FAew1hb(*1JU=C7j|iUZ!a=EG<4NB*{KjW|G0zL5wj6v`!_T@(RWpFGi-cl`94zh zJ@rTQvFo(G<{nr#D#zp7W6AII@q%$xxjsjZ#9G3QP7J0Mk}mMbcruJn={b$vOiC-h zt?4J&x%KRaoP#anOU7;v$g<6_^Fzxrat|J#g|N}}HN5*fmeuc|JnvGIHkw<$m-?A= zM|=H}e(q;hfPRm7!UUa6u7N2;2pATVzr)6djQucr(#g0=orqpbit{l8yq%OHmrtD; z;H>^$_|)f+a9eo*rm(V~{3Z=JxaKoq+A{2-buBCw)}mR&I+WPL=y>~q3|@F(KAV&_ zL~LUi7db`^g!WS~Ej+X}Haiuf@Zm`#`&sTFI})tLTeDLkx>Lnou6h6_E68Flw-}u8 zg!=v=Y$AE#ob)FQv2z*5;rAn0cz@s@Gt>*8b`YCvi-j;ZxYY0rOy09KHmU4yKcZ9siCa6XUOv3t-Owuyruil5BSB2n4goW>z;Z z%hVOHa2B3smrDEbeho}TtbuhfRc4*jZFD)wQ*H8-1IZIc)vFgBNNyo{iY?pnOx72hJoiBI_5;Z;4kUY= zRbO`gf#h=sl8w%;FK{NwA^-`^z+<=hp9c#GHYRp(NW2-=g^%rj^9b zjDF*=Ib(=9gE7Uw56R^=7K)V-GWy9O|YtY->(5KS=c3arrFXtgh>k4}R7T$oOe zOdmRS9ZaVRd$N2TX3vGnYcTQP<3L}SmLa=DO?S+mPj7>%J^Pv5doaZ^r%SAERA^hb zXOdH3T2v1ScK(!|3ejb(4WILeiRugLSa@WSt%T9LE*8BG*5Bk0<8#KhNNTRx+0~-h z+Q_+=uwjOIH<*hjpaphF46z zKpV7bd4-g%rS}{!a&f3VN@|8uUT2ebF*7JId4h7uiWiG-||PZrO)@?wCD}9=RY9 zWGa~tQ@qpGL)obi&0Jf_$FKvHbiCLt&tU@vzhig6REa&c4XUyw2@4vy0%mW{#Gd+H z-mfqhy5#k%PDCUpgXl$K;b&4$kP3I7u)ZH*nv%BmZVM02o9Y--d0}=cM3X5j82t#w zUEx=KQ!lZtFkQCA{PSQ#!ydDQMDKv{RhbPr(XU9^Z|jY`)K^E)T*VZ1Qsqn!Kz2IQ-7EB^}#H9(&cJKpJ820N=t8&S=Eb&jLomGt=b#XQ(*dp z&HDG#dZtCG$CX~BEbL~uK*H>O$g0Aa*Vfcr#cW=<$gYfhOwAGdIhZ1dLFN{x?P5Dv zd{vtZ@=VRuTyPtrUD~wF{skr<;jt-vqsv|$ezF^#4vPor+*j;VibAZLTvB(9J3fT> zhJKSJ_PoL^-Y40q5F0Ft;Po)>O!#(E!)xs|-0AR;Dj#;>1aS|{hJZTxO?{r&@k?!< zb=5+cuA`P~V@aErniWgg4}bYxne6KlwaI~(!0c_sD!vp0QMB4~>@TqJPSzBh!zQwf z$2;UDnVns^;Vp;u4)Pz%@$VufcUcSGh1sXBsy+RB>tCBU0j9o(dq%Vt#^)X!vbT{6 zAGrJ7gTy_G4vUw=WB`tXZE}ns7;K9988;-_Dd4+*kmF75RF4Jo2JVCx8^-V2PHp% z$%EmJ<{e?`ZX$*z8he3V#FoQsN3;sO36sN!C|J^R`= zRh${O2Wk&eeBIycWolMnMafDp{4N0gFODU>u+p@@8ISg^O+*Yg0^WR6b2CNXLe#?r z9Ls}?p|{wTG`!GX4Ldh9LkoJ+t%>8XjynTjb`1=J5vKbnu4A$P8%z&e8tL%k9c5~2 zX=wUw_QcRQJQ1yfSy$?|=3|(>s@h&PHMM+yGM^4<)%Nc?YJYo*jqrJok3% zQO*f0W;em?gfC#d*Z~_AUPo{JZg=n$3C8^}U8#g=)-x^)3Rz2t3jfYT04RRq zFpa1EJbxw3IfOa#BTS=YubXn0?VmmW-3J>$UW4$~BL$YN2aa;a?Kq?O?u6IzWzqw8 zoA!4wK!@LBJI5givnIhbAvu~opPd594QlIh{N1EN&zXXjUbe}*lj=sSwtcnzc?y;n z+Qr#AnzKen42}f;8d4*yy?F9_nC-Pb^c-=o7nxwMq3L^J@;RXm`x16m$n@-`_P)fa zS1fYBI}w{z$FkJG?1Ha{(+|PU=Q`q@M@`Mw+8Z_M+{|Y`u;FG$J5FPyxbXe=y3HX0D;;4qLc#|2Yn{J#EE>s_;-(QCnBh!6-x1(1jgbzR)vEKJ_|g zqDIo8s-~06{v-6vj!(U|eN@X)u9#5%I2t?*9001C!Jx_wb@{`Sd7aFu zpYd_>fA-d?N)?`_3LL7z(;ff+f--Ov^{D={LDhSXtM?!@JwNxlw@~3cmnrm2`X;Y! z7=-6J`9DF$M4>DHN7$77ndJN6d^H1J2eC!}mee^Qq&Xfokt-$G=I5n4Y`67FBBGM@02uugl!$_`eC;6AnXW6%(mSwCOSc-9Hlph zs;8^tLh)lkU4ER?h2mL`AB@twp)0GW%Rd;Ee`1t{NiPy%MZG{Zlnp9I;_gDBl7o2D zg@c_gRQX{}4rLs2)D)_*0-> zLK*ffDCtGsblpo1Uv{_!REMixal)&hUP3kamec>@_;!&0B0G3f!yh^P*x_f&7 z-rVV}oZi;)_Moci;P~MVGaPny*ag(wJ04Vh-9f#CYVX7boLW>-FP9;d0ewJSkmE4d z<%ekU_jnz(G)4wGS*YTJ9T%$FA&&nM%0nYuxlzEhP5Ff``(TuvmpWajdarQ&|Agw#m9G3%uDnqC)sBNz;ncdp2|_h^ljA~NU>p~U zFLzuhgKh@p;9H%3Fsl4*PXF&{*P^h18ou2X6zak|96uN(t#P_g*WCxI{QXYmC0iRK7|5r*}xWAZ?~`gZy6y{5W4A{^pu|62!S7vx9~}PZ z3hs0KXHXUX>iBPtC$oEyjQ9?lX*b~|Yz(${TqpxNI6SPO3xdNCWclH);K8VhJELo3 z=;bc#?aCdDsyK$O4xQx6<+yUfX6UClE>!suRW5O=%lISI{2xWWhA0n|2lCx@ZOJ^I|C>qBL=#%Ld}rjjvtKb^+;F#G*CvI;mQehS3Jq_{{Zb={SOLK z?faqU!PFh^%fO7Xmpggkx)JrI?|D_6dI_{e@Vy_8=IBKiCrfqSN05^%Cmxzc?PE$^DW2UdFtGEc~0p zcU>`|g8w~-JDh$nD*q#NUBA=eKS07XvfGtE7**~Ir-KSrD|lwxk6uS}!)spi{<<^w z73~gXdt1Nwro|%#xxliwA|6YbwS3Lw(qwB)V-=k`K z#OXqnd(`1$P8X`&ddG$824BrPH1s-mr<9Dd?ot!SDXe1Mqek`c#yXkM#>eUTFmi7SE!=9jCLKW=o^cbiL z`Z#_PsMjB%>dA5Cb6vUrh9=`puY>+TdgL^UsHst)E{%p#t&-w1U zgHie8UA+_ZSG@Hi5gITNR3D4LCg4m^p?Lu)AI%5#5-R^nP=j(UsEU_@x_+7C*Epuk5fsdVjFsg%}y8PXsPC-9|(yM+UAAd}3 z-)Bz#%K4B+Ar&zlX^A3q~#T_-|N4#_12?q__W9T zfBpQ+;_N=J2UjntcxzGnB`<$dxq0Pp_pg8Fsift7Pi}nFuK7z=KKt%n+dtU1LavX{*ev!D7WoK!Bs4L78X;siLa1$o(9G|!n}iIL)&ikj3xowN5RNokC2Wz9)e_+-Gp{AW+?EJCBy=&E ztq{7lLRiuYA=A`J*e)TrHNvrGachJ{tr7M}$TEG}AY`{esBMFAyxA>bmxPgrB6K%3 zhaxOL6k)%Fo@RJkgkfzF*0x3HW%fzfDjbhp@UGLX$LvJ|-^>VQd=0CJ8yl zZ;z1L9-*u~Lax~;VS|M94hV5m(g9&g2ZU`B`kS=F5ZWDvu;4I+fo7|OEfTWQ5eA!i z=?HVv5q3xzYBCQ;=z2K9lEV>(n>q>GCFFKQ7-1H7L|D`jVUL87rcWn?>`n-^oe)kp zyCv+BFfs#Sl&Q%;Se}8fU&2{t_z?)hjzCy@1j0FHpM<><@{dFqW7Zsru=+@ZCY=%T zOkQV%v7He%Nf>ARqYzS$LMS^5A>VA2ut7rl(FhYv$LhHJkb4ZmG_&{^ghj_7?2%Ar z`W%apeJn!lu?Xd6w}f31MjnSS)6^V?u>3fL{Sqq8@GOL3SqN*h5N4Zw681{S?}jkP ztm%fZx*I~1;}PcZ$CMDp9*?j|!iB~^0U`ASgt8M57MP6^Hb_YCj!q>GCFJ%( zxY{i4g|Mg>!X61rOrPEe*}V~Jdm}70yCv+BFfxX)%+$mXmd6nGO9;&HY=mLi2y3$u zZZ!KO?3Iw;2f>&%eGpdnL1=OkLXF8g31RF>2%99_Z2TOA)EtDe9E4i4QNjiZ>3tDy zH6?u!ru0SFCSjFH%SC9Hi?ARU;SRG^!WIcx{SfXl^ZFso?T4^K!aXK4j?guZuq2MK z#?(pJE+O}1g!|0mlMxo3jIc+-TGOXLLUw-%ti?tB&45-@S!O=6Jg4k2-_s=G-+ocv^xu7!C43&o2?SI zNXR-H;Zrm3Y=pUIBkYjyxyd{Sq3byaOU^;qZR#X!mykOe;Y+i4G{U0M2zw;#F@44$ zWRF3p9fRGonv6r(XY$4&j2(xtNy5L4e;z{Wc?f0aA?!CBC2Ww8o}WA->9=GvH9vW@nUasP z4aM_J+IWhz8;`JHJVLVBDq)L+tO*EFGj9UI+zALfBs4Uc=Oc7IA7RP)2)?P4uw6oK z0YYQ5xBy{M0m2>$O-!GO2-y=6Y9}HzGrJ}1k}$Fmp@pd_L|9&kuwOzeGrS04SP{b7 zB7`<(pM<><@{1ALnl;4;tBVnuOhQOAd6N*vPD0oup@Z=!Bcx77D4UFsZZ=BTAR&DU zLPt|F1!2k*gl!TsOj-#-yAp&2B?w2FtrE6K$eN09l$kdbVeV9f9TK{j%xMT+ry(qv zhLCCMBy5+ETZ(Y3SzL;+s1#w3ge=pi3?aJ=p|%X+c(Yr=E(s&2BXl=4(-D?WN7yf+ zrx{+3FsvM5Z8<_Ovroca3HdV+VrI<@gw-<;n#@G#WAbJukMT}2>jXK*uOK_Mg6y&i zvUANw1h1cIQ3=FNiQr_jSo9PnSz04t6-4Hm<IA2l?sI?9A~d-OAH>ta1qk_Oql66- z(l17sU`j4Vm~t_~HVFkLtqP%C6~cllghI1b!WIcx)duQ9{&Ah7- z=3b4kL&B9N^BRP%*B~sp24S(OldxSv?h=Hn&Eh2pi?3eI}8GbXuu$vLq-i+{=*(YJIg#48V>&=># z2&-2jG^s_{X!2?i#?~TilJKPQZ$U`C1)=N~giU6ngbfnXZ$)^+Y!3njcOqopiBNkd!W(9{gk2Iw-i7d%sksYb`CSP6CA@8h-;FTrZiKaW zBfMkwN!TkP{~m;Q&6;}@;cjA+);>VZnU}ADgWbwn)gjAK_Co?|y{2_ap3(@VUuci_mo~ z!jiQJyG@;h?GkbyK={%uegI+70|@j^FM96*+q4q(9Z_I89yCjT!2;o~(^AN)F zhY3or5raq?g#bYSjP;|a{oFeTWM_BMULbBN^VT**U^$1Zj zZ#}}?^$0s8G&GqT5V~$aSh4}ZH+2%WOUT`b(AX^Ah_GlQ!X61tOrIwZvY$YxeFCAG z*)3t0gpp4ov@kVKA}oIrVZVe{X82PG!=6G|`xHVOvroca3Hh54+L|?+5LRzOX!0~d zn#p?_VeHcgn&rT)yzQyDdG;^KsnLo24yf7snVnO9^2|T?Ca0J!e@#9idNV&6Xkz;B zOuj=U(+djAE2dM+(!;~=1cx#H5f zgS@Xz_YacaPP=YE_^X@Wwe{sde&b=ff08`ZG=C?#Z`i|?|42?{#ajDe^3~Dq!?0bx zI?G)5QF2Oj^YBQdjk;)5)Sp^eKApeE8rizOd;64e)FZRgIw`@??*rC>`mbtDEe;n_Gne*3?ZS2m0u{j#g2%KwT; z=64*`Z>{%IQpO}52>-LpLk&`fCB6LD_0v12jCWr2Q&OXaAJDJ$4DuMyj`|TF(}Y58 zf*sVd>HOP1WbH z3+9kk7;#wxk4VOd@51uUTcZtWsRi%F)mpP4WpgfY~bu}4XQszWo z9Op$^DC$S}-;bwhypy#4+b(o3`f{O%`^oAURy3ywO7^Ae7iOkB($IA3l9CeKIqA4R zZ2o`j^??j5>>K*@%H}7ftZ#l&bZl~?kNWECi2RUhgt;R(+RuEF8+|nM7yXKWS2gaH zhxP6K-<)!BNE0=ye(a>p&TycF{zmd}tf9yiP4ryvy z#Hpf{%euxD*RKekcP%b))rP<8LR0HYoyPJNdC3&0iYLiZ>o>ZrHl%OoI|2H3p>dji zQKlcHK_fN1sj9a8n`+jniVT)ty;i!cG}1>pt=4Jn(TW!BWI$rm?tfNSGa@ty_9gX&>oWtt@r*$FynfaC~+I;J>9&%ZkWPNAS`bV$M z?e2a=p+6HM59$YeJ)EXL6(UW`+lgoz!*|g%GClb>!|d#jfgQ=xkSG3vh}QA;t_uA% z5mnKfe;%6TzdJ2PI>mG!Kovi7y?!F59aY8q@b4lQMjtwj4Jo1@!6+g>a+)_aQZxnT$4+B&hzxY)K5<$cZK!#RDl$j7Ed9w7S<#<=N1?HrMm~4i z0McDdlY!ALxj*3##r792YcT2W(G=TXI&BE)*U%K(UpZ|k>DSH7ff)UkT*@o)$5n=t z-b}nGj=yomPa!>sIA`aJ{1Z*yAHlz)%w|=Q>4NkJS9~N{$2v`ao<$uwjeo~G?I)+5 zF5R>kL>2n6Uni*kdW(vW;$L?(y?%DunWTF-O@G}*<<8(!b#R@P|# zWuPfo+c=FaInvOqqebu6^)C*JuJ_uEAs$XZK7%6aS2_PinPo$W*;*X02sztbJ(KkH zJdcic;SYlDq=fgL`2p7E1UG8ux`J~km}$BX#VU=)AZWhJnon9k+ZzIociM%d-!Th^ z;)l<0(W%e^vNU5B@J~OLmP<8}rCrRwp=fgHWLJg0)Vj#LMHQL)J1lZbiOX6@y4v~X z|0(W0psLupuwl-T8ASy|0f9piyP!z7V8gBmg1sYlu`Bih*t=reDk^rpVsF?Ly?X7v zckBff%e{8_pFNr3059J6{nz@w^|5@+OtQ1Hvy<$UNpd1pzp?Nunq*#|72pHmhv0pZ z8ny_}?sTgGa(Rq&4Ux-YNj43orn)l!pbGHcN|kamp8tYhJY4NkmMwTbOL0Nc4&7y{ z(?|-?U8UGYQgO2&M8e?^dLM&0YiYHz%XDqFaj6}j0VO4e7!^rV2LEGfPz3FfbF&|z?U>! z2Ce{CfolNUZ?@OBfjhu`-~sRuNC6(nxXAi39-0BoffhhZpcTNE<#YwO;Mt0EiL&Lc z02BdSfucY$pg4dduA!2P72kgJ9{2!!0yFw!Z9u40*rpA9S^_PA#y}`gl9qZEbxCngshA?Nq1sD#_j&KVDeB6t#VS5O05AY0l0lWlKfw#arAPwMd;3KsT zllDiKMZ+rxu=!_mUmWO*LhlFk2a4d`9$-7}2(aNc1@57;oCo-HU@Gtycn^F8J^_CN zeCCpk_h=v%7!OPU`1o)S04EN+nLL5VPNHu|tdO&@kA;31e z5fBXIhoz|sw;I5wXNv;Gfs#Nez=ggxk&1b2LYkX_Ex>8u9B=_(DQcn<;i?0+4gE>I7s4?IBCdI+QdC4o|u+*ER}>VrpLARf6|3M>Qu05$*% zfkgmcgt8f^3}crLtj6;iU_E&?lL|%iw)nZgSET$6;45e*0DO0c6YvRsp8>wy!wkp^ zJ-;u)iri1}?0XFb#(D`PnNx94-4pNvynzxxNuU(q2ymaxee^>h1>mk=F~DQ81pwb~HV_yDL;-_=A;3NexF0wG zw8eXvDZ1h&cxVdn4R&<_d%yw64demLfV@CHpa>$m0>yw_c>k3Y+gxg?%i9L^Gzw)q z*oat1gDm?NCe_r?PWz(Zgg{P}<@pLXRVxl@5>z;oaQz&Fs$1BT*x z7{CXYTL5iF%Sw==7Y=JLzzKHKDxdg;G^u z14975#N`rj8Mp%cLc)9(6_b+ za|fJ(3D6c#2PXm7p`jaqB|Zg9Tgvb;d_JRJ3CM?Z`O<|q$jn>d9gqfm06x;Kc2d*m z*LZvkJOQ2o&w&@fN#GQ42Dkw5wJvTzS)e@74B2V{*yGs&FaVA~Zr}s_rvh_1&js80UdJV4w56tPBL&5sD?ZT06}!Bz0@|0FT1D*)CVd8Za^yd^K~B;fQmq6 zAONTW@KrNE!FMT;0IUL518abFz(E?^0b`j?VAC0>3Ua=YX(6{i2pqon17-9;nJ*V9_ohyRe|cjAjq;30`q+Z>@HPZzKMa~ z?NQ6-gZDMKP4Ujxws^y}#d{gJh2Zk|9`|!7V|u=p<0`=PL7;5}@I6MifqS`4oK1Li ze-fw%@ZE8I&s+__4+x>;j#9Y!WtJN_2OhYQFG6}8t%<9-EE=oK0VEN4W-%E&kmnma zSUeVKB5)8Q9Lp+3W|2&SAc-w_HHP}eBH3afnAJ(@X~j3-oB;j;&H^RK zth3bEjIV9s%Wp1HL}#hI^Hn^uC@!50vF&buONjT4r97P0M`kPp8c2? zXNYO}U5ms1b^vRs2*7DM04{uCjx*o{aPABM2eLp6j=(NQ;^zVYGh^Xc6U;Pgjs-XpSGvFI=u%PMjN-p4FP!UwhWdUSq(;!q1wZoMRT=L-l9AoRBA=Y03-FoQBFX zT8W?~$et_}yUdIubDgNH`tdvabJ;U<)&$dP{wh^Y}EnQDhtVR*=3$09?G99 znZ_jhGuQCUOtpl#f^voAFn(?VGz97c4S+CU6A}r98w4~48UZ0du=>nyb-o9y86G%N zQ=kRV9B2uI104Wn)(&V3M1pC1xZGqr0TDoFpexV~SPx7A)&gsQ)xb)i2fzc{7`U^5 z1mG5UMRNrVK)^D%1S|wb1H9B>fd2wK&j;8h%!4}v_=>RUaJ#|{fa#is=gGh%U?NZw zv=iVC1)hRtAl%--0H8n659kB*;`Sejhn@fvu#_wnC)O9wgMh(665gZW4goj^isW!v za2A#Yc^rar8sh*Ka4g(dZvW%)Fco06G2(!^z#L#U!0MU_ zus^@E%bHpYECS+zCBRaEQ6%iR`+yBwGr=3 zya8Zo`B|Bez~$UN0o@inKZd&*?p8pfKZfU{Kr(OyI0Wnm4gv>&eE`?|tpKOT8jIcw z&pkjAa2lRv;O+!i!red$)W#Kam-<`~E;qg0fc9*b?U}z;J4-6ES<1uqh01p2G zd-;+^Eb*QmiAvHQ)S+U6U&SlMYgy+mWcV_Kr#lvB? z@Z(C&3y}o@DEZAe>IZAfc-d*rdDn_MZkyY zI1VSG(P)CO03612A|A>=vxFR(bIZ+-$N1a?xhOpFtf^hoQfc_HkR{-1#l>?1O?#~J zQg|;3a2#%B{9F#;`s5DRjYsQcfU^7ouykxBJk{rlaQy%-Ghcwq%tv*ZX$3s{1N_YJ zC;JIf%jnAR;+Cd$4cig)2haoHZe%{(jR5!3>w$hi6U5axg5$J*EUI5ed1r{NVesKE(1AsxmSM+DadP`Q(oG>Toj0A?k zy#NMm*2e(+ei(`H>efhL1TY#X1ix``#{+AC)xats9S*jk*^0O$M%v!iwl03p-MhYqX zwL~;df54CH!+N-L;A&;geq*4sqwr4#xQ=i=;P72=cLF;ZNI3N1Kq#4~f`)HT0N*}^q{j?Z+QMrL~T zJz7a5GXX!d_@@xzBya-w3pfLu2F?QK0F91aZa$ZQ4S?2s_?cCanU0&$UDf{%+$*NA zbDY>Myf723t=+^kx3wF?w zYI0_0!9~i+X=1Y6{CpAB!c{S&xsWPT!j<+oZs9(I19stp~pK5p@VAzXlcMwnWV%2c{E4F%U8I+fFHm&;5+aW zhyWuqL}Z3CTo#ZcvsNU$n*yBc+;H;%d4U9k??>W8fgwQVVkm)dtr(zwljtB2^DKu| z%WBosIUEV{9L^j>Tk*{P=Rw;7&ld2j2ik&gIgT}4zT&S4UgGNBSkRx|M>FEb7E)q;!SnbUKHtEI(Zg;m}zaP0wJcju354gk{|;PS@~ z&I5mZLH+Ct74ql)vI>_AxUPO(?BxG9RYp#58`~ z-?0A@D3tw}ui$|?xe1>9^En!^2cF9V93gXFi` ze6v*eMIs*8RW9vH@T=Ge|5@RMKg>JBaJhf03zz9x z%KCV&$A!yZXlesm#LUK*Egl*tv zVC=8uE@n17@mF$BQinKci$0gHhaVM~C&lPIlj7z{?{nqu;OXJx>ETIne@oW1bfMJT z&;s$Xz#VhlqEg?2HbD*ax(?nR-XJpxC-X&;J$A=O?3ZjLZx1i8k`%~3)u=5TLwh7< zg_x-h&o1w6eSRNe`g(YJcw^W_vldAgbfYMIF~0pxqqqjLt*I9VI<#rA6pX_*-xq_; zCbHZFCyC0(!#P4#&1HL>0O=erb;pT}Gwhj0EAq?s^ebKp(f^Q=LY7GNb!PqXB>@|~ zV#ZOzQqatzy-SfwK8pQ}HyavoR#FnfcI9R8@TUMc2HsIn5RslQi2AUi`ak}Muo!z}+&dw1=GTxKJse0C29G)aw>Wv|BbdVETO|cgxYgyr$ zMDN+_G^Lz}o?Q|o$?-no)~AiwaMfaJph598LA8uT=(9eKI216ospmfLYxsIM_umH z`}{{}Sc_TYC>@^niK2Tdd!f&OB)GFBZOsWcK`5-NuOdJj3IUDC-V*mffERvMl{wv9d#|n zNHB`LRzija6vWPU>bg?eg%eIzcO)C~TqT*JhQC`a*;B|W$=7hx9@Y|U@|GGE`qFOg z2WwpiFOLcyo*0eL(p5<3CkVK{IwsHG+HjurF(&ZwK+EJ^))!GQ9#1YN(hp|x$NHp``$ z5MQQqqpE9AH>%NqHBucME)86dspUMn#hxw5d@Xo%PHMXryR>w+6n_lb*|<*XfuCgE zwo7uP3HfA85h(x%7Dum_UTQjw`9m6O@F*&>9+LkleRdn)70E(4*5NT6>w=1kQ-uvk zXc6_on_*=!k(<)*@4p*VI4ud}6=AL*2-YlEmMRtL7zhHC024eX*F>qi;ZO;oq8c_2 z7FIr-XS9(+AzGCPHPoi}iI7#;M5?w?a=?Mh_s7B8q>PZe>c=D7P8aa&fv6RbO~_rB zW^4q(LJ**l#<-QQ|Km$r>kkTnlDHKmg8-HA&c+Phez)C3g|K_^%Ohyk;1fpj7YN~s z;U4_*(U`4QPnqhxJ&+A_D0*rSQ*Cf|$FKT8X5t>?q2%mJx;z0jzjy+0(<9sm^im8q#eA@9nhWsZ^M}w@UtgpJCGqgL50* z&I1jO%?W@WJw5!n`&)~6*xw%W)v9Z+U%uxSAp}O9(_BjfddRlUcv^s-hYM}z`bQ%y zD{TIx$fXooLeizJl9LXGVa(JssXI`RLRA>C<+pk>PV?k^NPXLk183)z%53Ad5bbMWVJl5Y3VX??C<<(4`Wx zy`fB1VVu95&+E1*WcPI?Pd==NI&=@@hL#}Ue(79zYk%LEB^Ds?6P2+SS?vVBvE&ZN zK%nE^a$1SL@y)h&c?~*$q4o_F4g$a9AmDDLtwYGP-5Z}&RS1;Ucn2YDmMq83zw4D} zyrUw6FUycd+m3>Fu4?MIWBiq``7CPe1_7D_+Jv7qrR>DGLopv0aA+@fH#FiyFL%Ro zs73cGNeb1h2rRJ!_1%M}R)wbQffhpO;2z{bm?B*VdcOxPGm@(Bh4X-B>_wO|BC(+Z zd!^+Vkx++y7+k5W|Jf(`BW}6<;G_(i>~)?raz7#kQc5za&Bpywq~UpWQ8`K+U)!{l zA<`7mS73Wx360F_fHd5!L!huFN+cV}A7#~xQY>W~7k(UuP_EDQ9`&x{mYlR#MCXu+ zq&tYT=95=6#!;&&@CZh29I%rbBf#%CVsel2`o-eKP0Jr^gqUg-x`7bZxJkD|f4-SL z;I0yaFwA0UDf7%nF0mMfT|5X?U7*+SGR&?iOk%%<7c9q2ZbXQK-WuaSlO^PG2+3^* z0r#Y@6T7Zib~%AdNzLb>S|X~?oX#VXmoA4b+y);upQou0q8je2uSs^t?_Rw4>xn9< zS4ET8wBiu7tBmz*Z6RQGF$&;<0o`GAGO8NJ(u2{^hN4;?$__ZJ6^EuNI&@g_6(wYk zBmS&tDsU9twW?1=k@h-8i8j>#2trhDqiEIM8@cllO=B&ECnNja8i?XZ`E_n{XG(qbS#(aMUJMo5KEtCYn(%cJ|W*4paI(TT?Xf z8+7GQr7v_v$ERCJ0o?yR2@zdqfJ^-jBjz*=Qq{qBR*AvMQ^1A#*@8G-FipyU&XlSs4R;SBS-FHG2#C-=hs>iNd0 z0}|q{0(!qoaeqOQXHA3+PVLgB`MoMfYJ-4B5J>+$HC~Krc9YtJ4wqp>FT$IMB~rA9 zlQI;ZO8VAhIZT!Wfzlh?Z6+E(rvb&Q*2rgBQAt{{hVE4EB$767frSyMe#Bwxht^g$ zUsVDmU7R9LLWzo_*1~PH1#xsI=oE)sqMyv+PD^1p>KyCb`CO@w1Hqw^2e(%!!s`_1 zL}lT5p3gRlhL6FbjcBNU4{N{2A*wYGdn#fUh|29i=T3oV84z%VFiVe1=opov0|D1m z@bo6#X^2pZ45z_5j2iP>IK|#mS_)L!gJOrvg=z6=$}}k$kr5pMyh0}5H2{_pNuoRH(_fc1mQM? zbn4POMD=R}0`8C68vfcn%CF+9^HmKVN$CRsbdqYVj4~pv5#_Wf#M`8MBCnNO#YnEql;s5aT$v z`*}E9XvIzBb6+=+(vKSr^>vz^pR7bxs_5@Sw$P^YNL-mOTgyt7P$sVSxJTqWLJT=h zT@|`WDt`e4InIq00x`+VqjU_|qDo^fNOlH)b&}n4Z(jC6rDYgD^}qU3?@O5J=cftmTR3U&B`KHAIPAD_8KW0vQe{gAuSjpu za1yU#>|#svuSvoBF9YexHObo`4-$oZ;MCQwDcwD*E7eIUf97EF)!q`tJ(5`py@wz37l41P3 zOghjkCg=+S9>H$NfBjc_t!uu33%M~UD+IAO3TY{d#@hcH6 zx{PtxTaf`Dc18nrC?&ieEU zrfkC%Gplqg_P7Wr9&~7IyY9h?Ziy92x*pKOH}`;lP+wqlEAfio3CeXJ60M;M>?jq{ z*0d7V%XvZ4))b%dFH*vNaJo->@1t&qlj{S#J){6QhSy_7aU4JMYS)i1Ae&?#M`t#bu@?Zbqe zbKK+Ws2J1gyXt`x_gYBGn`)(iMIa4Lkz)O9CJTd*zr&Iu&&sxNG19prgzHZC%jI`J znP4^87~)0c9zob=AmA>%L83?KknN+37=|2RQHP zCv*A^Ulw-VK3(Uf^2RM{QizsBUXP(aG4yiw!S|`DqCVa_+w9c26M0s3cQi!5K zTFwhnaRr~XF4}jz_sADUspf`>tp4n++uFZqZH%7V(ecMPf;oqDPmo9%GCYyO&8p52 zjdKo-dxE;~yG3qK90|L`(Q?ykIEFgl&UNrf>OO}fMSfmFx;&?c!ZVMY?G4RliM(E2 zUj0>I%8zzRUX>nt3iaW!zA}vF;TW>7436E+EJDSiNamm#^bXX9klCUTYF|IL=*eL_ zRvix@ppTYR?3q-@tRo0mA89n;844gLR_YKq$Ha;#a^#sKQfWRh!Xk3_j&Z6|A)yl2 z$6y5l9;Tdn_0NM3(^p*8>v)ucaFGRVd~N0gI+kWFtq8`Db_#vQs5?Wbp5*>QvUg0K zD@I%eT3s1oV^eUoUZ)y2lk~aN@ddiED)U7xSU2TO*OC#Xxpt#tWo0*@O<-YY0fGWZ z$51p^LfCTOr>ejpC{8ILz}o(IrpvJ}R}87Pwy(V8xVEo^>7qiI^{aB?RoLSFC;&eXZ+}#X))WQ;+=15Xwbb45 z)iP1DCP{Nj-wC*L2Xt7==9=?y8NGcid1Fe%9g+UWGOCh_5ultP+K+Vmd!0U8&uvwU z9uY*J2V0@^KAC4r20Dn|Q0GQBQel>qC1oF~_68&2dDQw1yjswVH<&DRraN!2@~$kX zY9E;l{a1*(_GACvNz?2Hx6$ihT9rRL8ZZ`>*g(mn;ADBDy6>44DjdYzz_a07Z z+VT#X@m(b}^VikSb-RohdPC3OD!A&J)Swh552l|?*A{f#HGf|@Jg>Xm;;uZk@$%zN zs3&=)fo>!Pu`>r(#YjH1Fii^iznh?8BqZX-8(T8cqT`>-??LsLD)H*1B189V$!E@v z6Zxh|wrbYs>IbO4AietlonND>AGJ(7QPfANA*c>#_3{)Eov8LFFbSl#pAa#a-2aw5 zWJrL$^&-Y1`uqu{sf5J-S81sJKhj0-E=GgOM%H$5b63){=^f;v`_%j4F z_VDWGLNAJE|NRu#AEh5a7x+ybh1R79?AeT*zMv#Kfj1i?N1uWfOI$3z6ui+ExX1@m z7zlI|$n~paOYH~9PPhm%;S2KMOjo`jlS+t>Vf#ig=2|mlc`>(;mDSWr4-O}&-&ZVI zqso3oETyZlHHGzWLDj#(qdN`y1~$Ve`5V%yPIurK3QZL?y2+I5o1I%V%&T&P9vhP7 zci7{(TSXNW^wjP6#y-uBA;BizH5p&(6#j5z#{b=a`M(P|T0UE8;25O6q7629m#6vSREKSP-FL*yi{CJr58PW^PZ>LD_qk|ST6_YX47{N82)o5x!5VuDmojSA)aj^6C3_FAADLf6+Pm4-c=VF_tp95O20ta3c zL=9L*KBmy5(xiOEz60h5-idUo~!( z<>O<5DaRF?EnH9vCWbR2<%tcd1+Drt`6r05fX*MK%2AjE39C~tc7kbwB>NPK0=YeS z#>Z5-HQ49fQ)^utI)eb*%9;)`vl$5Is=S(9WyDez#%(B6mQBUtw+%(gaz(?Fv*P<( z?OUs^`}f*5T@l)+63e43o*Ty26`zPY+)DEZS?(}JuS12e=z&2&NqWzm11UK-oIX?{ zH}p3GJ4S7g?60d)hhlzC7qet#P^s{<(5qi({GVx;J%R=GN4nFrImI>X+j;rip+*8_P2yRAmxd?4j zYWla?5&t09Y|c(=iN!A47MM(1Y{ZTiow9?*-f#(9YQJDj5rRg#)7AoV zU9)1>MODnEGp2~8^Hy>Q41iNXsC(-TQ5jzZ-Rght-XpOP%54J^^e_6(C2-|K0NvjkHDP8_*Wyh6?_`K9kS3 z@+5rzh%SsQ6n-Fza^^ns=ZjY@w^E8y=|5Z0j>4$)t3bfUvGGv11iwpLeyL?$k*9k) zJ8&LCesKIcrie;EW61G(bt+9oi^rD({)B82sfK(ADNZ}dk$XS>8jO%AT51Ow#)F^$ zl87qwda(EFR=n`d{TS-+Jh}t|T}OItbjaCWUV>r#etSf1_gJKAd84Fb^lLg~YK0c^k-k|3^TL~A#CNA#Wmm5xzDXu#*ov` zsjQ=H*Ykl&ab;*iP>Z8cAB_~B5W?e}S6y$1_WD@Z+ZdAfg)r$}@4U{IP2N7%7*Y%& zyu-lscJE;)o+R`(hE$_Xj>vLr5IBP1dG}FIzn@=s*GMp!Qa}L1@g0uiPS6zr-Mhvu zdxVaAXJVwg`hq;2WIMmlpeP24(?z34d@MI~oRPxer3g8>sHp3oA5+>IL#onfC)A(0 zv<;47Bck(QCUi{i19!LW*a-DwNrmS?#VOqhvMB3o)>O_}u4M3hC5ZESSVz}y&~y}t zy|4m<8WTXV&aj~CUy-MqY^UG$ik8%Yd-N4ubcTEG6@|FVcDkbE99t2}Rz#>|jE_)R2?Wiq@!m7@rRYjoTW#ocX^t)5(M;Ykg za4H=sh40soi^~oYs7|L+4OjTzNTpD3+0OA9_;E?(yY*>)tKInqC<%IdAj|JlX(m(t zOr`a%Xh7z4#}xt;dn5Wq>#Ngi9a?*a4KQl}5z3NfQ4mxH0grKR6()~@G2Nc11W3C! zS(cXz=khUWLg{XxY!6CvQ2I9-;qH;}jz{a*BF42KlH$Nh7ek56F%EQWl}4^=+%RJE zS>Eo%NuseXrw1VL-vt6Y5cIDxD)C5k0NWHMfY~~S5FX;#m3;1cfA->H#*pW4$fFp_ z>nkW&>i58%UVi2Mfjf7*U^i~LwmcMXhkIUbJRXSv=K5YSk$qCw)3me2b@wG5l8k)RqT&zHN@4Q~E1pGtQMcnb?nZg>biv8-XLQ_#=ckO~ zW-4hXLypC&u**^lRj&9^0_vH=@;7I7x$jdNEh~}Hl(I%6(~`1- zTJNAOrIHJV+MCD%EoZt={C1OQvo$=xFh2#BmTkFas`B$VH0*=K{4}35mc(I_15qaguM1J@K@ru>yM_F zQ0jv>w=&giio|Us*dVPp$38sR)>(qz)CQl*u;uZ-~3dOzJmc5oc?L!F-6erc07 z{h`(`VAiN*SZ(NP(@~72y;e+Av%F9qIyxIuNSB3J(<)ORst3u?13oN|uI~5w{f&Wu zIRE@44^Q;+ziB&A>hJ5lkX^s}EiLfG*b6z!Q~~r_kCHXRnZ0wOR=aIg+gXZ6WYZQs zilPo{D({UwG(!Ip3RUam%wglX)3lp#a?znye>_&r0J4&)yj5bqjV9tc=>}76X67Gz z*aXDtI@UgfFq`j9JJ{d4Kb6fA>JC>k4|?q_*TGVRmyhh~xC|$|xxZ>tD%n4Fb~FB# zr7jR`(otU@SdKEdATB>BM$~YB1zF~3~0`V?URbLDZn$Q3^25gd7ddqhG>!vo`T>Uzjsy*ItI_xWV*Bzo# zesZv(P)X4}=Y84IsrvHiyfVdfXrjs}F30^teqt8jLhj2j0lDiZI~a1<$iyFA!N#4e z{9&Z8;6e=Uy>o|*9NNFk+nRdaQTVWVe{Du}{bg^zzwypPio-7)OPvZH>!nJ9oTVd# z8+5VuM{-TbS8^;uFfd>tu}1GNyX%T3-SU?Q>2#CnLT~6*8CNO`sc{rr5gzzJ%#QeO zsb7?sQR6o}v0kI6M-;$S{E1^N{!{u^ZaPfY@M zZ9@G(;NJ%Xyeo6if#!*u^_K4y0%dJ(ni^8sE2x=6>;oR9s}<#sd~~RCMxyklvTT#* zIW7g|2?+0=bWjKISp0&mT29piAW&6m9UyntzqF*I0rJjFMKO@#svvv}CBiYd;P{w1 z_$0cvTKR24dT}*X)R+7800jEYR`jh3=46?d6qMZi{OhK#EmaZsuYz>CDh9K;=qFzN zUaJ+WSJiow2VA-P7t&H!@P8jtk%FqBG1a8#Y7jbz7V%qiI>&EH7<=lfD{qGCvXB0z z9fekhQGRSkWrxb{G{3s+>UYx~cjF_M<=0g^@@zsU?he%D*c?+<#x}}+L2F8{4kLGm zq#Cl1e-IAd6#^S6_kh{^t8R$kRe5h-iZtoxs8fbM72h8mw$gp{-$+0;9bX)&Zw(ls z919+%4mFKd)PVe+6x$oCtZ!?`Jy2S_1xCN!iQe`>UQ{0XLs;RcnNbng=Bgp|Ay6JG z7Q3u-dt)oJNvbo=2C1V5wzBb{^76iFU$Zea#1s+DKFQzp&nKTo)CMI_ zh9KZnvZ@6E7m_<1$6cUfBM{l6-j|^d1NJF&id{ZcggVxe8|fbwq0O}*_V*%mvKBg~ z&z0#1T(u5XMDw+9)hS;NcEoMdo6kPaR-cCuXkbMU!V7LyO0M@RP;>SQg}XBQ@SxGP zVNZWQ`v{;jwPAxA(C6A%p;pYVz5b9Zh13z9W0qNKrcqNCe{D9a_L|y=Ap0zr#@CfY zIAd4qBEuk7hA7zv1X#j;Uk`?Pay{cvEc>8ArBVCa|Cm*)W3G(JwZc&u!2cHk)dAhV zOdxwvtp?ENI9%t%R)gIvF{BzWpL3@vMf=5hiQHlVOA zd~V#HD-CZMDei!R6DdP|gVCIA-E_(cn>A0Kn|gI_&L4=_S|eBS6xbMas-wu{pvL0u z+$^uUZ^O8KT1c+HS(ehkT#f7axU3if4IMhF_23!*@Yf+#b6?9+wGcK8LK>Yl4G00> z(lm{oKnm&#r#T(Qn_tgzf=l~m&-_>ab%wX{s9Xx61LTpD+43QM)0d1*LkPZZ@bXGD znKy==MIL&}4%C+OlTE}WWEIL2%km4tA;*#ObiXlLxbRiwH@JC))y(z6|VRzAX$~)NIV6*d}<(TA-?D zNea#srg-`oy!}NlP&aXG?@7Z>95+gBR16gAkW=QA3YtwSEw4(|%gAE@B|rlx?95rE z)TXj8PO!Q*Lr_zSXbDSQu!5+}{`Eeuy7ARz3B*zBsH#1z7$mdSs!~K3C_~d_GYab{ z&I|XU_snk+d9^}wTmgPO=IGOF#QPyTTAnfT6WTW%0D&tA{yDL`aWB_jrbdD+GDALA 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 { + invariant(mapNode!, 'Map node should be defined'); const map = new mapboxgl.Map({ - container: mapNode, + container: mapNode!, style: 'mapbox://styles/mapbox/streets-v12', center: murica, zoom: 4, diff --git a/apps/web-next/src/components/churches/searchbox/location.tsx b/apps/web-next/src/components/churches/searchbox/location.tsx index ea074a13..21549b72 100644 --- a/apps/web-next/src/components/churches/searchbox/location.tsx +++ b/apps/web-next/src/components/churches/searchbox/location.tsx @@ -7,7 +7,9 @@ import { parse, string, unknown, - type Input, + type InferInput, + looseObject, + objectWithRest, } from 'valibot'; import { useSearchParams } from '@solidjs/router'; import { type Optional, cn, unwrapFirst } from '../../../util'; @@ -23,41 +25,32 @@ const sessionToken = window.crypto.randomUUID(); export const murica = [-97.9222112121185, 39.3812661305678] as [number, number]; const defaultRange = '100 mi'; -const suggestionSchema = object( - { - name: string(), - feature_type: string(), - address: optional(string()), - full_address: optional(string()), - place_formatted: string(), - mapbox_id: string(), - }, - unknown(), -); - -const locationSuggestSchema = object( - { - suggestions: array(suggestionSchema), - }, - unknown(), -); - -const reverseGeocodeSchema = object( - { - features: array( - object( - { - place_name: string(), - }, - unknown(), - ), +const suggestionSchema = looseObject({ + name: string(), + feature_type: string(), + address: optional(string()), + full_address: optional(string()), + place_formatted: string(), + mapbox_id: string(), +}); + +const locationSuggestSchema = looseObject({ + suggestions: array(suggestionSchema), +}); + +const reverseGeocodeSchema = looseObject({ + features: array( + objectWithRest( + { + place_name: string(), + }, + unknown(), ), - }, - unknown(), -); + ), +}); async function reverseGeocode([long, lat]: [number, number]): Promise< - Input + InferInput > { const res = await fetch( `https://api.mapbox.com/geocoding/v5/mapbox.places/${long},${lat}.json?access_token=${mbAccessToken}`, @@ -66,26 +59,25 @@ async function reverseGeocode([long, lat]: [number, number]): Promise< return parse(reverseGeocodeSchema, await res.json()); } -const retrieveSchema = object( - { - features: array( - object( - { - properties: object( - { - coordinates: object({ longitude: number(), latitude: number() }), - }, - unknown(), - ), - }, - unknown(), - ), +const retrieveSchema = looseObject({ + features: array( + objectWithRest( + { + properties: objectWithRest( + { + coordinates: object({ longitude: number(), latitude: number() }), + }, + unknown(), + ), + }, + unknown(), ), - }, - unknown(), -); + ), +}); -async function retrieve(id: string): Promise> { +async function retrieve( + id: string, +): Promise> { const res = await fetch( `https://api.mapbox.com/search/searchbox/v1/retrieve/${id}?session_token=${sessionToken}&access_token=${mbAccessToken}`, ); diff --git a/apps/web-next/src/components/churches/searchbox/result-row.tsx b/apps/web-next/src/components/churches/searchbox/result-row.tsx index ab0b9121..f54d867d 100644 --- a/apps/web-next/src/components/churches/searchbox/result-row.tsx +++ b/apps/web-next/src/components/churches/searchbox/result-row.tsx @@ -1,4 +1,5 @@ import { createEffect, type ParentProps } from 'solid-js'; +import invariant from 'tiny-invariant'; import { type Optional, cn } from '../../../util'; export default function ResultRow( @@ -11,6 +12,7 @@ export default function ResultRow( let el: HTMLLIElement; createEffect(() => { + invariant(el!, 'ResultRow: el is undefined'); if (props.activeId === props.id) { el.scrollIntoView({ block: 'nearest' }); } diff --git a/apps/web-next/src/components/churches/searchbox/searchbox.tsx b/apps/web-next/src/components/churches/searchbox/searchbox.tsx index 4a2090c7..c4166202 100644 --- a/apps/web-next/src/components/churches/searchbox/searchbox.tsx +++ b/apps/web-next/src/components/churches/searchbox/searchbox.tsx @@ -54,7 +54,7 @@ export default function Searchbox(props: { hidden?: Optional> }) { let inputEl: HTMLInputElement; function clearInput() { - if (inputEl) { + if (inputEl!) { inputEl.value = ''; inputEl.focus(); } @@ -246,7 +246,9 @@ export default function Searchbox(props: { hidden?: Optional> }) { ref={setReference} class="flex cursor-text flex-wrap gap-2 rounded-md px-3 py-1.5 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus-within:ring-2 focus-within:ring-inset focus-within:ring-indigo-600" onClick={() => { - inputEl?.focus(); + if (inputEl!) { + inputEl.focus(); + } setFloatOpen((o) => !o); }} > diff --git a/apps/web-next/src/components/comment.tsx b/apps/web-next/src/components/comment.tsx index 6df4b3f3..4f96b4cf 100644 --- a/apps/web-next/src/components/comment.tsx +++ b/apps/web-next/src/components/comment.tsx @@ -54,7 +54,7 @@ export function CommentForm(props: { let ref: HTMLTextAreaElement; onMount(() => { - if (ref && props.autofocus) { + if (ref! && props.autofocus) { ref.focus(); ref.scrollIntoView(); } diff --git a/apps/web-next/src/components/media/player/player.tsx b/apps/web-next/src/components/media/player/player.tsx index d5d77dd2..151b5e2a 100644 --- a/apps/web-next/src/components/media/player/player.tsx +++ b/apps/web-next/src/components/media/player/player.tsx @@ -12,6 +12,7 @@ import { import type VideoJsPlayer from 'video.js/dist/types/player'; import 'video.js/dist/video-js.css'; import { isServer } from 'solid-js/web'; +import invariant from 'tiny-invariant'; import { MediaRouteRecordViewRangesMutation, MediaRouteRecordViewRangesMutationVariables, @@ -97,6 +98,8 @@ export default function Player(props: Props) { return; } + invariant(videoRef!, 'player reportTimeRanges: videoRef is undefined'); + try { const res = await recordViewRanges( id, @@ -134,6 +137,8 @@ export default function Player(props: Props) { }); } + invariant(videoRef!, 'player onMount: videoRef is undefined'); + player = videojs( videoRef, { diff --git a/apps/web-next/src/components/media/player/waveform.tsx b/apps/web-next/src/components/media/player/waveform.tsx index 01234305..aae56116 100644 --- a/apps/web-next/src/components/media/player/waveform.tsx +++ b/apps/web-next/src/components/media/player/waveform.tsx @@ -33,6 +33,7 @@ export default function Waveform(props: Props) { setBarCount(Math.floor(entry.contentRect.width / TARGET_BAR_WIDTH)); }); + invariant(container!, 'waveform: container is undefined'); rob.observe(container); }); diff --git a/apps/web-next/src/components/settings/church-form.tsx b/apps/web-next/src/components/settings/church-form.tsx index b31a0a68..36a433cb 100644 --- a/apps/web-next/src/components/settings/church-form.tsx +++ b/apps/web-next/src/components/settings/church-form.tsx @@ -12,7 +12,8 @@ import { optional, parse, string, - type Input as VInput, + type InferInput, + pipe, } from 'valibot'; import { For, @@ -54,23 +55,25 @@ import { getAuthenticatedClientOrRedirect } from '~/util/gql/server'; export const formSchema = object({ id: optional(string()), - name: string([minLength(1, 'Please enter a name for your church.')]), - slug: string([minLength(3, 'Please enter a URL name for your church.')]), + name: pipe(string(), minLength(1, 'Please enter a name for your church.')), + slug: pipe( + string(), + minLength(3, 'Please enter a URL name for your church.'), + ), description: optional(nullable(string())), tags: optional(array(string())), websiteUrl: optional(nullable(string())), - primaryEmail: optional(nullable(string([email()]))), + primaryEmail: optional(nullable(pipe(string(), email()))), primaryPhoneNumber: optional(nullable(string())), leaders: optional( array( object({ name: optional(nullable(string())), type: enum_(OrganizationLeaderType), - email: optional(nullable(string([email()]))), + email: optional(nullable(pipe(string(), email()))), phoneNumber: optional(nullable(string())), }), ), - [], ), addresses: optional( array( @@ -83,14 +86,13 @@ export const formSchema = object({ streetAddress: optional(nullable(string()), null), }), ), - [], ), - upstreamAssociations: optional(array(string()), []), + upstreamAssociations: optional(array(string())), }); const phoneNumberMask = createInputMask('(999) 999-9999'); -type FormSchema = VInput; +type FormSchema = InferInput; const upsertChurch = action(async (data: FormSchema) => { 'use server'; @@ -375,7 +377,7 @@ function LeadershipForm(props: { export default function ChurchForm(props: { initialValues?: FormSchema }) { // TODO: Why do the initial values not render properly on refresh even though they do on navigation? - const store = createFormStore({ + const store = createFormStore({ validate: valiForm(formSchema), ...(props.initialValues ? { initialValues: props.initialValues } : {}), }); diff --git a/apps/web-next/src/components/turnstile/client.tsx b/apps/web-next/src/components/turnstile/client.tsx index ade9f4a3..5a988c16 100644 --- a/apps/web-next/src/components/turnstile/client.tsx +++ b/apps/web-next/src/components/turnstile/client.tsx @@ -31,7 +31,7 @@ export default function TurnstileClient( let element: HTMLDivElement; const ready = () => { - invariant(element); + invariant(element!); window.onloadTurnstileCallback = undefined; window.turnstile.render(element, { sitekey: import.meta.env['VITE_TURNSTILE_SITEKEY'], diff --git a/apps/web-next/src/routes/(root)/upload.tsx b/apps/web-next/src/routes/(root)/upload.tsx index 2b7216c4..444495b9 100644 --- a/apps/web-next/src/routes/(root)/upload.tsx +++ b/apps/web-next/src/routes/(root)/upload.tsx @@ -457,6 +457,7 @@ export default function UploadRoute() { let formRef: HTMLFormElement; async function submitUpsert() { + invariant(formRef!, 'formRef should be defined'); const res = await upsertAction(new FormData(formRef)); setUploadRecordId(res.upsertUploadRecord.id); }